{
  "extends": "@rushstack/heft-jest-plugin/includes/jest-shared.config.json",

  "roots": ["<rootDir>/lib-commonjs"],

  "testMatch": ["<rootDir>/lib-commonjs/**/*.test.js"],

  "collectCoverageFrom": [
    "lib-commonjs/**/*.js",
    "!lib-commonjs/**/*.d.ts",
    "!lib-commonjs/**/*.test.js",
    "!lib-commonjs/**/test/**",
    "!lib-commonjs/**/__tests__/**",
    "!lib-commonjs/**/__fixtures__/**",
    "!lib-commonjs/**/__mocks__/**"
  ],

  "transformIgnorePatterns": ["[\\/]lib-commonjs[\\/](.*)\\.js$"],

  "testEnvironment": "jest-environment-jsdom",
  "testEnvironmentOptions": {
    "customExportConditions": ["require", "node", "umd"]
  },

  "moduleFileExtensions": ["cjs", "js", "json", "node", "css"],

  // Enable code coverage for Jest
  "collectCoverage": true,
  "coverageDirectory": "<rootDir>/jest-output/coverage",
  "coverageReporters": [
    [
      "cobertura",
      {
        "file": "cobertura/cobertura-coverage.xml"
      }
    ],
    "html",
    "json-summary"
  ],

  // Use v8 coverage provider to avoid Babel
  "coverageProvider": "v8",

  // Enable junit reporting for Jest
  "reporters": [
    "default",
    [
      "jest-junit",
      {
        "outputDirectory": "<rootDir>/jest-output",
        "outputName": "JUnit.xml", // QTest expects this casing.
        "classNameTemplate": "{classname} > ",
        "titleTemplate": "{title} ({filepath})"
      }
    ]
  ]
}
