ts-node icon indicating copy to clipboard operation
ts-node copied to clipboard

ERR_MODULE_NOT_FOUND when excluding .ts from imports

Open pietro99 opened this issue 2 years ago • 1 comments

Search Terms

ERR_MODULE_NOT_FOUND

Expected Behavior

I am expecting ts-node to successfully compile and run. I also compile with tsc and then run the compiled code and it works fine, this is what is confusing me. why is it working with tsc and not ts-node? they use the same tsconfig so it shouldn't have a difference.

Actual Behavior

I get the following error:

C:\Users\Pietro\Documents\projects\bulletproof-backand\src>ts-node server.ts
C:\Users\Pietro\AppData\Roaming\npm\node_modules\ts-node\dist-raw\node-internal-modules-esm-resolve.js:366
    throw new ERR_MODULE_NOT_FOUND(
          ^

CustomError: Cannot find module 'C:\Users\Pietro\Documents\projects\bulletproof-backand\src\sources\api\routes\routes' imported from C:\Users\Pietro\Documents\projects\bulletproof-backand\src\server.ts
    at finalizeResolution (C:\Users\Pietro\AppData\Roaming\npm\node_modules\ts-node\dist-raw\node-internal-modules-esm-resolve.js:366:11)
    at moduleResolve (C:\Users\Pietro\AppData\Roaming\npm\node_modules\ts-node\dist-raw\node-internal-modules-esm-resolve.js:801:10)
    at Object.defaultResolve (C:\Users\Pietro\AppData\Roaming\npm\node_modules\ts-node\dist-raw\node-internal-modules-esm-resolve.js:912:11)
    at C:\Users\Pietro\AppData\Roaming\npm\node_modules\ts-node\src\esm.ts:218:35
    at entrypointFallback (C:\Users\Pietro\AppData\Roaming\npm\node_modules\ts-node\src\esm.ts:168:34)
    at C:\Users\Pietro\AppData\Roaming\npm\node_modules\ts-node\src\esm.ts:217:14
    at addShortCircuitFlag (C:\Users\Pietro\AppData\Roaming\npm\node_modules\ts-node\src\esm.ts:409:21)
    at resolve (C:\Users\Pietro\AppData\Roaming\npm\node_modules\ts-node\src\esm.ts:197:12)
    at resolve (C:\Users\Pietro\AppData\Roaming\npm\node_modules\ts-node\src\child\child-loader.ts:15:39)
    at ESMLoader.resolve (node:internal/modules/esm/loader:530:30)

Steps to reproduce the problem

Minimal reproduction

Specifications

  • ts-node version: v10.9.1
  • node version: v16.14.2
  • TypeScript version: 4.9.3
  • tsconfig.json, if you're using one:
{
  "compilerOptions": {
    "module": "es2022",
    "target": "es2022",
    "noFallthroughCasesInSwitch": true,
    "moduleResolution": "node",
    "noEmit": true,
    "baseUrl": "./",
    "allowSyntheticDefaultImports": true,
    "esModuleInterop": true,

    "resolveJsonModule": true,
    "isolatedModules": true,
    "outDir": "./dist",
    "forceConsistentCasingInFileNames": true,
    "strict": true,
    "paths": {
      "*": ["./node_modules/*"],
      "@base/*": ["./src/*"],
      "@libs/*": ["./src/libs/*"]
    }
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules", "dist", ".vscode"],
  "ts-node": {
    "esm": true,
    "require": ["tsconfig-paths/register"]
  }
}

  • package.json:
{
  "name": "bulletproof-backand",
  "type": "module",
  "version": "1.0.0",
  "license": "MIT",
  "scripts": {
    "build": "tsc",
    "start": "node dist/server.js",
    "dev": "nodemon",
    "databases:up": "docker-compose -f ./docker/test-databases/docker-compose.yml build && docker-compose -f ./docker/test-databases/docker-compose.yml up -d",
    "databases:down": "docker-compose -f ./docker/test-databases/docker-compose.yml down",
    "test": "npx jest",
    "lint": "eslint .",
    "lint:fix": "eslint . --fix",
    "format": "prettier --write ."
  },
  "devDependencies": {
    "@types/babel__generator": "^7.6.4",
    "@types/express": "^4.17.17",
    "@types/jest": "^29.5.3",
    "@types/node": "^20.4.2",
    "eslint": "^8.45.0",
    "eslint-config-prettier": "^8.8.0",
    "eslint-plugin-import": "^2.27.5",
    "eslint-plugin-prettier": "^5.0.0",
    "jest": "^29.6.1",
    "nodemon": "^3.0.1",
    "prettier": "^3.0.0",
    "ts-jest": "^29.1.1",
    "ts-node": "^10.9.1",
    "tsconfig-paths": "^4.2.0",
    "typescript": "^5.1.6"
  },
  "dependencies": {
    "dotenv": "^16.3.1",
    "express": "^4.18.2",
    "express-async-errors": "^3.1.1",
    "express-validator": "^7.0.1",
    "mysql2": "^3.5.2",
    "pg": "^8.11.1",
    "sequelize": "^6.32.1",
    "ts-transformer-keys": "^0.4.4"
  }
}

  • Operating system and version: 10.0.19044 Build 19044
  • If Windows, are you using WSL or WSL2?: NO

pietro99 avatar Jul 25 '23 11:07 pietro99

Hey👋 @pietro99, I would recommend you use this command

npm run ts-node -- filename.ts

VinitGurjar avatar Jul 30 '23 18:07 VinitGurjar