{
  "preset": "ts-jest",
  "transform": {
    "^.+\\.[tj]sx?$": [
      "ts-jest",
      {
        "useESM": true
      }
    ]
  },
  "testRegex": "\\.(test|spec)\\.tsx?$",
  "moduleFileExtensions": ["ts", "tsx", "js", "jsx", "json", "node"],
  "modulePaths": ["<rootDir>"],
  "testEnvironment": "node",
  "moduleNameMapper": {
    "^(\\.\\.?\\/.+)\\.js$": "$1",
    "^@apic/api-model/common/StudioEnums.js$": "<rootDir>/tests/__mocks__/@apic/api-model/common/StudioEnums.ts",
    "^@apic/studio-shared$": "<rootDir>/tests/__mocks__/@apic/studio-shared.ts"
  },
  "setupFiles": ["<rootDir>/tests/setup.ts"],
  "coverageReporters": ["lcov", "html", "text"],
  "transformIgnorePatterns": ["node_modules/(?!(@apic/api-model|@apic/studio-logger))"],
  "extensionsToTreatAsEsm": [".ts", ".tsx"],
  "globals": {
    "ts-jest": {
      "tsconfig": {
        "module": "commonjs",
        "esModuleInterop": true,
        "allowSyntheticDefaultImports": true,
        "isolatedModules": true
      }
    }
  }
}
