Closed
Description
Search Terms
I'm starting a new project with yarn berry (Plug'n'Play enabled) and using ESM to test Node 19 features.
Expected Behavior
No ERR_MODULE_NOT_FOUND error
Actual Behavior
C:\<PROJECT_PATH>\test-pnp-node\.yarn\__virtual__\ts-node-virtual-6c4c0611aa\3\Users\<USER>\AppData\Local\Yarn\Berry\cache\ts-node-npm-10.9.1-6c268be7f4-9.zip\node_modules\ts-node\dist-raw\node-internal-modules-esm-resolve.js:757
throw new ERR_MODULE_NOT_FOUND(packageName, fileURLToPath(base));
^
CustomError: Cannot find package 'undici' imported from C:\<PROJECT_PATH>\test-pnp-node\example.ts
at packageResolve (C:\<PROJECT_PATH>\test-pnp-node\.yarn\__virtual__\ts-node-virtual-6c4c0611aa\3\Users\<USER>\AppData\Local\Yarn\Berry\cache\ts-node-npm-10.9.1-6c268be7f4-9.zip\node_modules\ts-node\dist-raw\node-internal-modules-esm-resolve.js:757:9)
at moduleResolve (C:\<PROJECT_PATH>\test-pnp-node\.yarn\__virtual__\ts-node-virtual-6c4c0611aa\3\Users\<USER>\AppData\Local\Yarn\Berry\cache\ts-node-npm-10.9.1-6c268be7f4-9.zip\node_modules\ts-node\dist-raw\node-internal-modules-esm-resolve.js:798:18)
at Object.defaultResolve (C:\<PROJECT_PATH>\test-pnp-node\.yarn\__virtual__\ts-node-virtual-6c4c0611aa\3\Users\<USER>\AppData\Local\Yarn\Berry\cache\ts-node-npm-10.9.1-6c268be7f4-9.zip\node_modules\ts-node\dist-raw\node-internal-modules-esm-resolve.js:912:11)
at C:\<PROJECT_PATH>\test-pnp-node\.yarn\__virtual__\ts-node-virtual-6c4c0611aa\3\Users\<USER>\AppData\Local\Yarn\Berry\cache\ts-node-npm-10.9.1-6c268be7f4-9.zip\node_modules\ts-node\src\esm.ts:218:35
at entrypointFallback (C:\<PROJECT_PATH>\test-pnp-node\.yarn\__virtual__\ts-node-virtual-6c4c0611aa\3\Users\<USER>\AppData\Local\Yarn\Berry\cache\ts-node-npm-10.9.1-6c268be7f4-9.zip\node_modules\ts-node\src\esm.ts:168:34)
at C:\<PROJECT_PATH>\test-pnp-node\.yarn\__virtual__\ts-node-virtual-6c4c0611aa\3\Users\<USER>\AppData\Local\Yarn\Berry\cache\ts-node-npm-10.9.1-6c268be7f4-9.zip\node_modules\ts-node\src\esm.ts:217:14
at addShortCircuitFlag (C:\<PROJECT_PATH>\test-pnp-node\.yarn\__virtual__\ts-node-virtual-6c4c0611aa\3\Users\<USER>\AppData\Local\Yarn\Berry\cache\ts-node-npm-10.9.1-6c268be7f4-9.zip\node_modules\ts-node\src\esm.ts:409:21)
at resolve (C:\<PROJECT_PATH>\test-pnp-node\.yarn\__virtual__\ts-node-virtual-6c4c0611aa\3\Users\<USER>\AppData\Local\Yarn\Berry\cache\ts-node-npm-10.9.1-6c268be7f4-9.zip\node_modules\ts-node\src\esm.ts:197:12)
at resolve (C:\<PROJECT_PATH>\test-pnp-node\.yarn\__virtual__\ts-node-virtual-6c4c0611aa\3\Users\<USER>\AppData\Local\Yarn\Berry\cache\ts-node-npm-10.9.1-6c268be7f4-9.zip\node_modules\ts-node\src\child\child-loader.ts:15:39)
at nextResolve (node:internal/modules/esm/hooks:654:28)
Steps to reproduce the problem
yarn init -y
yarn set version canary
yarn add undici typescript ts-node @types/node
- in package.json
- add
"type": "module"
- change main to example.ts (optional/useless step)
- add
- in .yarnrc.yml add
nodeLinker: pnp
(optional/useless step, Plug'n'Play is already enabled by default) - create
tsconfig.json
file:
{
"compilerOptions": {
"esModuleInterop": true, // optional/irrelevant
"target": "ESNext",
"module": "ESNext",
"moduleResolution": "nodenext" // irrelevant using node or bundler
},
"ts-node": {
"esm": true
// "experimentalSpecifierResolution": "node" // optional/irrelevant
}
}
- create
example.ts
file
import { request } from 'undici'
request('')
yarn ts-node example.ts
Minimal reproduction
https://github.com/rtritto/ts-node-repros/tree/test-pnp-node
Specifications
-
ts-node version: 10.9.1
-
node version: 19.8.1
-
TypeScript version: 5.0.2
-
package.json:
{
"name": "test-pnp-node",
"version": "1.0.0",
"main": "index.ts",
"type": "module",
"license": "MIT",
"packageManager": "[email protected]",
"dependencies": {
"@types/node": "^18.15.3",
"ts-node": "^10.9.1",
"typescript": "^5.0.2",
"undici": "^5.21.0"
}
}
- Operating system and version:
Windows - If Windows, are you using WSL or WSL2?:
No - Correctly work with
nodeLinker: node-modules
Metadata
Metadata
Assignees
Labels
No labels