node.js - TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Okänd filändelse ".ts" med mocha


Jag har läst alla liknande frågor och ts-node-dokumentationen. Jag har provat allt men inget fungerar

Jag har TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Okänd filändelse ".ts" för /Documents/WebStorm/new-api-test/tests/pet.spec.ts skärmdump

 at new NodeError (node:internal/errors:372:5)
    at Object.getFileProtocolModuleFormat [as file:] (node:internal/modules/esm/get_format:76:11)
    at defaultGetFormat (node:internal/modules/esm/get_format:118:38)
    at defaultLoad (node:internal/modules/esm/load:21:20)
    at ESMLoader.load (node:internal/modules/esm/loader:407:26)
    at ESMLoader.moduleProvider (node:internal/modules/esm/loader:326:22)
    at new ModuleJob (node:internal/modules/esm/module_job:66:26)
    at ESMLoader.#createModuleJob (node:internal/modules/esm/loader:345:17)
    at ESMLoader.getModuleJob (node:internal/modules/esm/loader:304:34)
    at async Promise.all (index 0)
    at async ESMLoader.import (node:internal/modules/esm/loader:385:24)
    at async importModuleDynamicallyWrapper (node:internal/vm/module:437:15)
    at async formattedImport (/Documents/WebStorm/new-api-test/node_modules/mocha/lib/nodejs/esm-utils.js:7:14)
    at async Object.exports.requireOrImport (/Documents/WebStorm/new-api-test/node_modules/mocha/lib/nodejs/esm-utils.js:38:28)
    at async Object.exports.loadFilesAsync (/Documents/WebStorm/new-api-test/node_modules/mocha/lib/nodejs/esm-utils.js:91:20)
    at async singleRun (/Documents/WebStorm/new-api-test/node_modules/mocha/lib/cli/run-helpers.js:125:3)
    at async Object.exports.handler (/Documents/WebStorm/new-api-test/node_modules/mocha/lib/cli/run.js:370:5)

package.json

{
  "name": "new-api-test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "mocha --require ts-node/register ./tests/**/*.spec.ts"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@types/mocha": "^9.1.1",
    "got": "^12.1.0",
    "mocha": "^10.0.0",
    "ts-node": "^10.9.1",
    "typescript": "^4.7.4"
  },
  "devDependencies": {
    "@types/node": "^18.0.6",
    "tslib": "^2.4.0"
  }
}

tsconfig.json

{
  "compilerOptions": {
"target": "ES2020",
"module": "commonJS",
"moduleResolution": "node",
"outFile": "./build",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"skipLibCheck": true
},
}

Snälla hjälp mig!

Svar #1

Måste vara ett problem med ESM-stöd (https://github.com/TypeStrong/ts-node/issues/935). got-paketet är ett native ESM och tillhandahåller inte längre en CommonJS-export