node.js - Utöka sökvägar definierade i tsconfig till kompilerad javascript


Jag skriver ett Node-bibliotek i TypeScript och har aktiverat paths i min tsconfig.json som visas nedan.

När jag kompilerar min kod med tsc (med npm run tscompile) kompileras TypeScript, och jag ser motsvarande JS i min ./dist/-mapp. Men JavaScript har fortfarande sökvägarna i sig, t.ex. const logger_1=__importDefault(require("@logging/logger"));. Om jag försöker köra JavaScript misslyckas det eftersom det inte förstår sökvägarna.

Vad/var saknar jag för att utöka sökvägarna i JavaScript?

För mina Jest-tester använder jag en modulnamnskartläggare för att utöka sökvägarna för testerna, och det fungerar, men hur är det med min huvudkompilerade kod?

tsconfig.json:

{
  "compileOnSave": true,
    "compilerOptions": {
      "module": "commonjs",
      "target": "ES2020",
      "declaration": true,
      "outDir": "./dist",
      "esModuleInterop": true,
      "rootDir": ".",
      "baseUrl": ".",
      "sourceMap": true,
      "paths": {
        "@logging/*": ["src/logging/*"],
        "@validation/*": ["src/validation/*"],
        "@util/*": ["src/util/*"],
        "@test-helpers/*": ["test/helpers/*"]
     }
    },
    "include": [
      "src/**/*", "test/**/*"
    ]
  }

package.json:

  "scripts": {
    "test": "jest --coverage",
    "lint": "eslint ./src/",
    "lint-tests": "eslint ./test/",
    "lint-all": "eslint ./src/ && eslint ./test/",
    "tscompile": "tsc",
    "lic-report-prod": "license-checker --production --json --out ./report/license/license-prod.json"
  },

`jest.config.ts:`

const tsconfig = require("./tsconfig.json");
// use tsconfig-paths-jest tool to automatically map modules based on tsconfig.json paths config
const moduleNameMapper = require("tsconfig-paths-jest")(tsconfig);

module.exports = {
  transform: {
    "^.+\\.ts?$": "ts-jest",
  },
  testEnvironment: "node",
  testRegex: ".*.test.ts$",
  moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"],
  moduleNameMapper,
};