jest.config.cjs 1.8 KB

12345678910111213141516171819202122232425262728
  1. /** @type {import('ts-jest').JestConfigWithTsJest} */
  2. module.exports = {
  3. preset: "ts-jest",
  4. testEnvironment: "jsdom",
  5. injectGlobals: true,
  6. moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"],
  7. transform: { "^.+\\.(ts|tsx)$": ["ts-jest", { tsconfig: { jsx: "react-jsx", module: "ESNext" } }] },
  8. testMatch: ["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}", "<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],
  9. setupFilesAfterEnv: ["<rootDir>/src/setupTests.ts"],
  10. moduleNameMapper: {
  11. "\\.(css|less|scss|sass)$": "identity-obj-proxy",
  12. "^vscrui$": "<rootDir>/src/__mocks__/vscrui.ts",
  13. "^@vscode/webview-ui-toolkit/react$": "<rootDir>/src/__mocks__/@vscode/webview-ui-toolkit/react.ts",
  14. "^@/(.*)$": "<rootDir>/src/$1",
  15. "^src/i18n/setup$": "<rootDir>/src/__mocks__/i18n/setup.ts",
  16. "^\\.\\./setup$": "<rootDir>/src/__mocks__/i18n/setup.ts",
  17. "^\\./setup$": "<rootDir>/src/__mocks__/i18n/setup.ts",
  18. "^src/i18n/TranslationContext$": "<rootDir>/src/__mocks__/i18n/TranslationContext.tsx",
  19. "^\\.\\./TranslationContext$": "<rootDir>/src/__mocks__/i18n/TranslationContext.tsx",
  20. "^\\./TranslationContext$": "<rootDir>/src/__mocks__/i18n/TranslationContext.tsx"
  21. },
  22. reporters: [["jest-simple-dot-reporter", {}]],
  23. transformIgnorePatterns: [
  24. "/node_modules/(?!(rehype-highlight|react-remark|unist-util-visit|unist-util-find-after|vfile|unified|bail|is-plain-obj|trough|vfile-message|unist-util-stringify-position|mdast-util-from-markdown|mdast-util-to-string|micromark|decode-named-character-reference|character-entities|markdown-table|zwitch|longest-streak|escape-string-regexp|unist-util-is|hast-util-to-text|@vscode/webview-ui-toolkit|@microsoft/fast-react-wrapper|@microsoft/fast-element|@microsoft/fast-foundation|@microsoft/fast-web-utilities|exenv-es6|vscrui)/)",
  25. ],
  26. roots: ["<rootDir>/src"],
  27. moduleDirectories: ["node_modules", "src"],
  28. }