moduleNameMapper in jest.config.cjs is not working?

Viewed 244

File Structure:

public
     - assets
src
   other file

Svelte.config.js

       resolve: {
            alias: {
                "@": resolve(__dirname, "src"),
                $assets: resolve(__dirname, "public/assets"),
            },
        },

Jest.config.cjs

const sveltePreprocess = require("svelte-preprocess");
module.exports = {
transform: {
    "^.+\\.svelte$": ["svelte-jester", [sveltePreprocess()]],
    "^.+\\.js$": "babel-jest",
    "^.+\\.(png|svg)$": "<rootDir>/svgTransform.js",
},
moduleFileExtensions: ["js", "svelte"],
bail: false,
verbose: true,
testPathIgnorePatterns: ["node_modules"],
transformIgnorePatterns: ["node_modules"],
moduleDirectories: ["node_modules"],
setupFilesAfterEnv: ["@testing-library/jest-dom/extend-expect"],


moduleNameMapper: {
    "@/(.*)$": "<rootDir>/src/$1",
    "$assets/(.*)$": "<rootDir>/public/assets/$1",
},



setupFiles: ["<rootDir>/setupTests.js"],
testResultsProcessor: "jest-sonar-reporter",
testTimeout: 30000,
testEnvironment: "jsdom",
 };

Usage:

import SvgClose from "$assets/svg/close.svg";

Error:

Cannot find module '$assets/svg/close.svg' from 'src/components/atoms/Modal.svelte'

@ work fine but $assets not working . What changes I should do in jest.config.cjs or I am Missing something?

0 Answers
Related