#2031·ts-node

`ERR_MODULE_NOT_FOUND` `CustomError: Cannot find package` when using paths

Author: JazcashCreated Jun 21, 2023Updated Nov 6, 2025
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:
json
{
  "compilerOptions": {
    "module": "es2022",
    "moduleResolution": "Node",
    "noEmit": true,
    "baseUrl": ".",
    "paths": {
      "@/*": ["./src/*"]
    }
  },
  "include": ["src/**/*"],
  "ts-node": {
    "esm": true,
    "require": ["tsconfig-paths/register"]
  }
}
  • package.json:
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"
  }
}