Skip to content

[BUG] pathsToModuleNameMapper prefix wrong path resolve #1968

@MaxmaxmaximusAWS

Description

@MaxmaxmaximusAWS

jest.config.js:

const { pathsToModuleNameMapper } = require('ts-jest/utils');
const { compilerOptions } = require('./tsconfig');

pathsToModuleNameMapper(compilerOptions.paths, { prefix: compilerOptions.baseUrl } )

tsconfig.json:

{
  "compilerOptions": {
    "baseUrl": "src",
    "paths": {
      "components/*": ["components/*"]
    }
  },
}

pathsToModuleNameMapper compiles to:

{
  '^components/(.*)$': 'srccomponents/$1'
}

but must be:

{
  '^components/(.*)$': '.src/components/$1'
}

Solution:

you need to normalize the path first:

const path = require('path')

function pathsToModuleNameMapper (childPath, {prefix}){
  // const totalPath = prefix + childPath; its WRONG
  const totalPath = path.join(prefix, childPath); // its GOOD
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions