ts-node
ts-node copied to clipboard
`ERR_MODULE_NOT_FOUND` `CustomError: Cannot find package` when using paths
C:\Users\me\Desktop\test\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 '@/stuff' imported from C:\Users\me\Desktop\test\src\index.ts
at packageResolve (C:\Users\me\Desktop\test\node_modules\ts-node\dist-raw\node-internal-modules-esm-resolve.js:757:9)
at moduleResolve (C:\Users\me\Desktop\test\node_modules\ts-node\dist-raw\node-internal-modules-esm-resolve.js:798:18)
at Object.defaultResolve (C:\Users\me\Desktop\test\node_modules\ts-node\dist-raw\node-internal-modules-esm-resolve.js:912:11)
at C:\Users\me\Desktop\test\node_modules\ts-node\src\esm.ts:218:35
at entrypointFallback (C:\Users\me\Desktop\test\node_modules\ts-node\src\esm.ts:168:34)
at C:\Users\me\Desktop\test\node_modules\ts-node\src\esm.ts:217:14
at addShortCircuitFlag (C:\Users\me\Desktop\test\node_modules\ts-node\src\esm.ts:409:21)
at resolve (C:\Users\me\Desktop\test\node_modules\ts-node\src\esm.ts:197:12)
at resolve (C:\Users\me\Desktop\test\node_modules\ts-node\src\child\child-loader.ts:15:39)
at nextResolve (node:internal/modules/esm/loader:163:28)
I'm importing another file with import { test } from "@/stuff". If I don't use the @ path alias and instead do import { test } from "./stuff" then it works fine. Previously the tsconfig-paths module has worked fine for me, but in this ESM project it seems to not work. Any ideas that don't require abandoning ESM and going back to CJS?
Minimal reproduction
https://codesandbox.io/p/sandbox/fast-dew-p8vcjk?file=%2Ftsconfig.json%3A11%2C27
Specifications
- ts-node version:
^10.9.1 - node version:
18.16.0 - TypeScript version:
5.1.3 - tsconfig.json:
{
"compilerOptions": {
"module": "es2022",
"moduleResolution": "Node",
"noEmit": true,
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
}
},
"include": ["src/**/*"],
"ts-node": {
"esm": true,
"require": ["tsconfig-paths/register"]
}
}
- package.json:
{
"name": "test",
"version": "1.0.0",
"description": "",
"type": "module",
"scripts": {
"build": "ts-node src/index.ts",
"start": ""
},
"author": "",
"license": "ISC",
"devDependencies": {
"ts-node": "^10.9.1",
"tsconfig-paths": "^4.2.0",
"typescript": "^5.1.3"
}
}
Seems, this is currently not supported on purpose, see https://github.com/TypeStrong/ts-node/issues/2023#issuecomment-1554205845
I am facing similar issue can any one please help me out: https://github.com/TypeStrong/ts-node/issues/2023#issuecomment-1669505941
This has done the trick for me: https://github.com/TypeStrong/ts-node/discussions/1450#discussioncomment-1806115
Does not work in node 21 :/