stryker-mutator / stryker-js

Mutation testing for JavaScript and friends
https://stryker-mutator.io
Apache License 2.0
2.55k stars 242 forks source link

typescript-checker v6.1.2 incompatability with TypeScript v4.8.2 #3703

Closed ericcornelissen closed 1 year ago

ericcornelissen commented 1 year ago

Summary

The @stryker-mutator/typescript-checker package (at v6.1.2) does not seem to work when combined with TypeScript v4.8.2. After upgrading from TypeScript v4.7.4, Stryker stopped working with the error TypeError: Cannot read properties of undefined (reading 'modifiedTime') originating from the typescript-checker plugin (see also the stryker.log at the end of this issue).

Stryker config

// stryker.config.cjs
// See also https://github.com/ericcornelissen/webmangler/blob/90274ddbcae32fe094a518502baa516b0e362424/stryker.config.cjs

module.exports = {
  coverageAnalysis: "perTest",
  inPlace: false,
  mutate: [
    `packages/benchmarking/src/**/*.ts`,
    `!**/__tests__/**/*.ts`,
  ],
  commandRunner: {
    command: `npm run test -- benchmarking --unit`,
  },

  timeoutMS: 25000,
  timeoutFactor: 2.5,

  disableTypeChecks: `packages/benchmarking/src/**/*.ts`,
  checkers: ["typescript"],
  tsconfigFile: "tsconfig.build.json",

  reporters: [
    "clear-text",
    "dashboard",
    "html",
    "progress",
  ],
  dashboard: {
    module: "benchmarking",
  },
  htmlReporter: {
    fileName: `_reports/mutation/index.html`,
  },
  thresholds: {
    high: 80,
    low: 70,
    break: 50,
  },

  tempDirName: `.temp/stryker`,
  cleanTempDir: false,
};

Test runner config

Stryker environment

$ npm ls | grep stryker
├── @stryker-mutator/core@6.1.2
├── @stryker-mutator/typescript-checker@6.1.2
$ npm ls | grep mocha
├── mocha@10.0.0
$ npm ls | grep typescript
├── typescript@4.8.2

Test runner environment

# Test command
export TEST_PACKAGES=benchmarking
export TEST_TYPE=unit
npx mocha
// .mocharc.cjs
// See also https://github.com/ericcornelissen/webmangler/blob/90274ddbcae32fe094a518502baa516b0e362424/.mocharc.cjs

module.exports = {
  recursive: true,
  reporter: "dot",
  timeout: 5000,
  ui: "tdd",
  spec: [
    "packages",
    "benchmarking",
    "**",
    "__tests__",
    "uni",
    `*.test.ts`,
  ].join("/"),
  require: [
    "ts-node/register",
    "tsconfig-paths/register",
  ],

  "watch-files": [
    ...["benchmarking"].map((packageName) => {
      return `packages/benchmarking/**/*.ts`;
    }),
  ],
  "watch-ignore": [
    `node_modules/`,
  ],
};

Your Environment

software version(s)
node 16.17.0
npm 8.15.0
Operating System Ubuntu 22.04.1 LTS

Add stryker.log

00:14:01 (60495) DEBUG ConfigReader Loading config from stryker.config.cjs
00:14:01 (60495) DEBUG ConfigReader Loaded config: {
  "coverageAnalysis": "perTest",
  "inPlace": false,
  "mutate": [
    "packages/benchmarking/src/**/*.ts",
    "!**/__tests__/**/*.ts"
  ],
  "commandRunner": {
    "command": "npm run test -- benchmarking --unit"
  },
  "timeoutMS": 25000,
  "timeoutFactor": 2.5,
  "disableTypeChecks": "packages/benchmarking/src/**/*.ts",
  "checkers": [
    "typescript"
  ],
  "tsconfigFile": "tsconfig.build.json",
  "reporters": [
    "clear-text",
    "dashboard",
    "html",
    "progress"
  ],
  "dashboard": {
    "module": "benchmarking",
    "baseUrl": "https://dashboard.stryker-mutator.io/api/reports",
    "reportType": "full"
  },
  "htmlReporter": {
    "fileName": "_reports/mutation/index.html"
  },
  "thresholds": {
    "high": 80,
    "low": 70,
    "break": 50
  },
  "tempDirName": ".temp/stryker",
  "cleanTempDir": false,
  "fileLogLevel": "trace",
  "logLevel": "debug",
  "configFile": "stryker.config.cjs",
  "allowConsoleColors": true,
  "checkerNodeArgs": [],
  "maxTestRunnerReuse": 0,
  "clearTextReporter": {
    "allowColor": true,
    "logTests": true,
    "maxTestsToLog": 3
  },
  "eventReporter": {
    "baseDir": "reports/mutation/events"
  },
  "ignorePatterns": [],
  "ignoreStatic": false,
  "maxConcurrentTestRunners": 9007199254740991,
  "mutator": {
    "plugins": null,
    "excludedMutations": []
  },
  "plugins": [
    "@stryker-mutator/*"
  ],
  "appendPlugins": [],
  "jsonReporter": {
    "fileName": "reports/mutation/mutation.json"
  },
  "symlinkNodeModules": true,
  "testRunner": "command",
  "testRunnerNodeArgs": [],
  "dryRunTimeoutMinutes": 5,
  "warnings": true,
  "disableBail": false
}
00:14:01 (60495) DEBUG PluginLoader Loading @stryker-mutator/* from .../node_modules/@stryker-mutator
00:14:01 (60495) DEBUG PluginLoader Loading plugin "@stryker-mutator/typescript-checker" (matched with expression @stryker-mutator/*)
00:14:01 (60495) DEBUG PluginLoader Loading plugin @stryker-mutator/typescript-checker
00:14:01 (60495) DEBUG PluginLoader Loading plugin file://.../node_modules/@stryker-mutator/core/dist/src/reporters/index.js
00:14:01 (60495) DEBUG MetaSchemaBuilder Contributing 0 schemas from plugins to options validation.
00:14:01 (60495) INFO ProjectReader Found 13 of 865 file(s) to be mutated.
00:14:01 (60495) DEBUG ProjectReader All input files: [
  ".../.editorconfig",
  ".../.eslintrc.cjs",
  ".../.gitattributes",
  ".../.github/ISSUE_TEMPLATE/bug.yml",
  ".../.github/ISSUE_TEMPLATE/feature.yml",
  ".../.github/ISSUE_TEMPLATE/question.yml",
  ".../.github/codecov.yml",
  ".../.github/codeql.yml",
  ".../.github/renovate.json",
  ".../.github/workflows/code-analysis.yml",
  ".../.github/workflows/code-checks.yml",
  ".../.github/workflows/config-checks.yml",
  ".../.github/workflows/lint.yml",
  ".../.gitignore",
  ".../.markdownlint.yml",
  ".../.mocharc.cjs",
  ".../.npmrc",
  ".../.nvmrc",
  ".../.values.cjs",
  ".../.vscode/settings.json",
  ".../LICENSE",
  ".../README.md",
  ".../commitlint.config.cjs",
  ".../nyc.config.cjs",
  ".../package-lock.json",
  ".../package.json",
  ".../packages/benchmarking/.gitignore",
  ".../packages/benchmarking/.npmignore",
  ".../packages/benchmarking/CHANGELOG.md",
  ".../packages/benchmarking/LICENSE",
  ".../packages/benchmarking/README.md",
  ".../packages/benchmarking/build/budget/compute.d.ts",
  ".../packages/benchmarking/build/budget/compute.js",
  ".../packages/benchmarking/build/budget/index.d.ts",
  ".../packages/benchmarking/build/budget/index.js",
  ".../packages/benchmarking/build/budget/system.d.ts",
  ".../packages/benchmarking/build/budget/system.js",
  ".../packages/benchmarking/build/index.d.ts",
  ".../packages/benchmarking/build/index.js",
  ".../packages/benchmarking/build/runner/config.d.ts",
  ".../packages/benchmarking/build/runner/config.js",
  ".../packages/benchmarking/build/runner/index.d.ts",
  ".../packages/benchmarking/build/runner/index.js",
  ".../packages/benchmarking/build/runner/run.d.ts",
  ".../packages/benchmarking/build/runner/run.js",
  ".../packages/benchmarking/build/runner/time.d.ts",
  ".../packages/benchmarking/build/runner/time.js",
  ".../packages/benchmarking/build/runner/types.d.ts",
  ".../packages/benchmarking/build/runner/types.js",
  ".../packages/benchmarking/build/stats/compute.d.ts",
  ".../packages/benchmarking/build/stats/compute.js",
  ".../packages/benchmarking/build/stats/index.d.ts",
  ".../packages/benchmarking/build/stats/index.js",
  ".../packages/benchmarking/build/stats/math.d.ts",
  ".../packages/benchmarking/build/stats/math.js",
  ".../packages/benchmarking/build/stats/types.d.ts",
  ".../packages/benchmarking/build/stats/types.js",
  ".../packages/benchmarking/package-lock.json",
  ".../packages/benchmarking/package.json",
  ".../packages/benchmarking/src/__tests__/integration/index.test.ts",
  ".../packages/benchmarking/src/__tests__/unit/index.test.ts",
  ".../packages/benchmarking/src/budget/__tests__/integration/compute.test.ts",
  ".../packages/benchmarking/src/budget/__tests__/unit/compute.test.ts",
  ".../packages/benchmarking/src/budget/__tests__/unit/system.test.ts",
  ".../packages/benchmarking/src/budget/compute.ts",
  ".../packages/benchmarking/src/budget/index.ts",
  ".../packages/benchmarking/src/budget/system.ts",
  ".../packages/benchmarking/src/index.ts",
  ".../packages/benchmarking/src/runner/__tests__/integration/run.test.ts",
  ".../packages/benchmarking/src/runner/__tests__/unit/config.test.ts",
  ".../packages/benchmarking/src/runner/__tests__/unit/run.test.ts",
  ".../packages/benchmarking/src/runner/__tests__/unit/time.test.ts",
  ".../packages/benchmarking/src/runner/config.ts",
  ".../packages/benchmarking/src/runner/index.ts",
  ".../packages/benchmarking/src/runner/run.ts",
  ".../packages/benchmarking/src/runner/time.ts",
  ".../packages/benchmarking/src/runner/types.ts",
  ".../packages/benchmarking/src/stats/__tests__/integration/compute.test.ts",
  ".../packages/benchmarking/src/stats/__tests__/unit/compute.test.ts",
  ".../packages/benchmarking/src/stats/__tests__/unit/math.test.ts",
  ".../packages/benchmarking/src/stats/compute.ts",
  ".../packages/benchmarking/src/stats/index.ts",
  ".../packages/benchmarking/src/stats/math.ts",
  ".../packages/benchmarking/src/stats/types.ts",
  ".../packages/benchmarking/tsconfig.json",
  ".../packages/cli/.gitignore",
  ".../packages/cli/.npmignore",
  ".../packages/cli/.webmanglerrc.js",
  ".../packages/cli/CHANGELOG.md",
  ".../packages/cli/LICENSE",
  ".../packages/cli/README.md",
  ".../packages/cli/lib/config/constants.js",
  ".../packages/cli/lib/config/default.js",
  ".../packages/cli/lib/config/index.js",
  ".../packages/cli/lib/config/loader.js",
  ".../packages/cli/lib/config/types.js",
  ".../packages/cli/lib/fs/file.class.js",
  ".../packages/cli/lib/fs/index.js",
  ".../packages/cli/lib/fs/list.js",
  ".../packages/cli/lib/fs/read.js",
  ".../packages/cli/lib/fs/types.js",
  ".../packages/cli/lib/fs/write.js",
  ".../packages/cli/lib/index.js",
  ".../packages/cli/lib/logger/default-logger.js",
  ".../packages/cli/lib/logger/index.js",
  ".../packages/cli/lib/logger/level.js",
  ".../packages/cli/lib/logger/types.js",
  ".../packages/cli/lib/main.js",
  ".../packages/cli/lib/reporters/default-reporter.js",
  ".../packages/cli/lib/reporters/index.js",
  ".../packages/cli/lib/reporters/json-reporter.js",
  ".../packages/cli/lib/reporters/types.js",
  ".../packages/cli/lib/stats/compute.js",
  ".../packages/cli/lib/stats/helpers.js",
  ".../packages/cli/lib/stats/index.js",
  ".../packages/cli/lib/stats/paths.js",
  ".../packages/cli/lib/stats/types.js",
  ".../packages/cli/lib/timing/index.js",
  ".../packages/cli/lib/timing/timing.js",
  ".../packages/cli/lib/types.js",
  ".../packages/cli/lib/version.js",
  ".../packages/cli/package.json",
  ".../packages/cli/src/__tests__/integration/version.test.ts",
  ".../packages/cli/src/__tests__/unit/version.test.ts",
  ".../packages/cli/src/config/__tests__/integration/loader.test.ts",
  ".../packages/cli/src/config/__tests__/unit/constants.test.ts",
  ".../packages/cli/src/config/__tests__/unit/default.test.ts",
  ".../packages/cli/src/config/__tests__/unit/loader.test.ts",
  ".../packages/cli/src/config/constants.ts",
  ".../packages/cli/src/config/default.ts",
  ".../packages/cli/src/config/index.ts",
  ".../packages/cli/src/config/loader.ts",
  ".../packages/cli/src/config/types.ts",
  ".../packages/cli/src/fs/__tests__/common/file.mock.ts",
  ".../packages/cli/src/fs/__tests__/common/file.test.ts",
  ".../packages/cli/src/fs/__tests__/integration/read.test.ts",
  ".../packages/cli/src/fs/__tests__/integration/write.test.ts",
  ".../packages/cli/src/fs/__tests__/unit/file.test.ts",
  ".../packages/cli/src/fs/__tests__/unit/list.test.ts",
  ".../packages/cli/src/fs/__tests__/unit/read.test.ts",
  ".../packages/cli/src/fs/__tests__/unit/write.test.ts",
  ".../packages/cli/src/fs/file.class.ts",
  ".../packages/cli/src/fs/index.ts",
  ".../packages/cli/src/fs/list.ts",
  ".../packages/cli/src/fs/read.ts",
  ".../packages/cli/src/fs/types.ts",
  ".../packages/cli/src/fs/write.ts",
  ".../packages/cli/src/index.ts",
  ".../packages/cli/src/logger/__tests__/integration/default-logger.test.ts",
  ".../packages/cli/src/logger/__tests__/unit/default-logger.test.ts",
  ".../packages/cli/src/logger/__tests__/unit/level.test.ts",
  ".../packages/cli/src/logger/default-logger.ts",
  ".../packages/cli/src/logger/index.ts",
  ".../packages/cli/src/logger/level.ts",
  ".../packages/cli/src/logger/types.ts",
  ".../packages/cli/src/main.ts",
  ".../packages/cli/src/reporters/__tests__/common/index.ts",
  ".../packages/cli/src/reporters/__tests__/common/writer.mock.ts",
  ".../packages/cli/src/reporters/__tests__/common/writer.test.ts",
  ".../packages/cli/src/reporters/__tests__/unit/default-reporter.test.ts",
  ".../packages/cli/src/reporters/__tests__/unit/json-reporter.test.ts",
  ".../packages/cli/src/reporters/default-reporter.ts",
  ".../packages/cli/src/reporters/index.ts",
  ".../packages/cli/src/reporters/json-reporter.ts",
  ".../packages/cli/src/reporters/types.ts",
  ".../packages/cli/src/stats/__tests__/common/file-stats.mock.ts",
  ".../packages/cli/src/stats/__tests__/common/file-stats.test.ts",
  ".../packages/cli/src/stats/__tests__/common/file.mock.ts",
  ".../packages/cli/src/stats/__tests__/common/file.test.ts",
  ".../packages/cli/src/stats/__tests__/integration/compute.test.ts",
  ".../packages/cli/src/stats/__tests__/unit/compute.test.ts",
  ".../packages/cli/src/stats/__tests__/unit/helpers.test.ts",
  ".../packages/cli/src/stats/__tests__/unit/paths.test.ts",
  ".../packages/cli/src/stats/compute.ts",
  ".../packages/cli/src/stats/helpers.ts",
  ".../packages/cli/src/stats/index.ts",
  ".../packages/cli/src/stats/paths.ts",
  ".../packages/cli/src/stats/types.ts",
  ".../packages/cli/src/timing/__tests__/integration/timing.test.ts",
  ".../packages/cli/src/timing/__tests__/unit/timing.test.ts",
  ".../packages/cli/src/timing/index.ts",
  ".../packages/cli/src/timing/timing.ts",
  ".../packages/cli/src/types.ts",
  ".../packages/cli/src/version.ts",
  ".../packages/cli/tsconfig.json",
  ".../packages/core/.gitignore",
  ".../packages/core/.npmignore",
  ".../packages/core/CHANGELOG.md",
  ".../packages/core/LICENSE",
  ".../packages/core/README.md",
  ".../packages/core/lib/embeds.d.ts",
  ".../packages/core/lib/embeds.js",
  ".../packages/core/lib/engine/find.d.ts",
  ".../packages/core/lib/engine/find.js",
  ".../packages/core/lib/engine/helpers.d.ts",
  ".../packages/core/lib/engine/helpers.js",
  ".../packages/core/lib/engine/index.d.ts",
  ".../packages/core/lib/engine/index.js",
  ".../packages/core/lib/engine/mangle.d.ts",
  ".../packages/core/lib/engine/mangle.js",
  ".../packages/core/lib/engine/options.d.ts",
  ".../packages/core/lib/engine/options.js",
  ".../packages/core/lib/engine/replace.d.ts",
  ".../packages/core/lib/engine/replace.js",
  ".../packages/core/lib/helpers.d.ts",
  ".../packages/core/lib/helpers.js",
  ".../packages/core/lib/index.d.ts",
  ".../packages/core/lib/index.js",
  ".../packages/core/lib/languages/builtin/class.d.ts",
  ".../packages/core/lib/languages/builtin/class.js",
  ".../packages/core/lib/languages/builtin/index.d.ts",
  ".../packages/core/lib/languages/builtin/index.js",
  ".../packages/core/lib/languages/builtin/types.d.ts",
  ".../packages/core/lib/languages/builtin/types.js",
  ".../packages/core/lib/languages/index.d.ts",
  ".../packages/core/lib/languages/index.js",
  ".../packages/core/lib/manglers/builtin/class.d.ts",
  ".../packages/core/lib/manglers/builtin/class.js",
  ".../packages/core/lib/manglers/builtin/index.d.ts",
  ".../packages/core/lib/manglers/builtin/index.js",
  ".../packages/core/lib/manglers/builtin/types.d.ts",
  ".../packages/core/lib/manglers/builtin/types.js",
  ".../packages/core/lib/manglers/index.d.ts",
  ".../packages/core/lib/manglers/index.js",
  ".../packages/core/lib/manglers/recommended/class.d.ts",
  ".../packages/core/lib/manglers/recommended/class.js",
  ".../packages/core/lib/manglers/recommended/index.d.ts",
  ".../packages/core/lib/manglers/recommended/index.js",
  ".../packages/core/lib/manglers/recommended/types.d.ts",
  ".../packages/core/lib/manglers/recommended/types.js",
  ".../packages/core/lib/name-generator.class.d.ts",
  ".../packages/core/lib/name-generator.class.js",
  ".../packages/core/package.json",
  ".../packages/core/src/__tests__/common/index.ts",
  ".../packages/core/src/__tests__/common/values.ts",
  ".../packages/core/src/__tests__/integration/embeds.test.ts",
  ".../packages/core/src/__tests__/integration/index.test.ts",
  ".../packages/core/src/__tests__/performance/embeds.test.ts",
  ".../packages/core/src/__tests__/unit/embeds.test.ts",
  ".../packages/core/src/__tests__/unit/helpers.test.ts",
  ".../packages/core/src/__tests__/unit/index.test.ts",
  ".../packages/core/src/__tests__/unit/name-generator.test.ts",
  ".../packages/core/src/embeds.ts",
  ".../packages/core/src/engine/__tests__/common/characters.test.ts",
  ".../packages/core/src/engine/__tests__/common/characters.ts",
  ".../packages/core/src/engine/__tests__/common/index.ts",
  ".../packages/core/src/engine/__tests__/integration/index.test.ts",
  ".../packages/core/src/engine/__tests__/unit/find.test.ts",
  ".../packages/core/src/engine/__tests__/unit/helpers.test.ts",
  ".../packages/core/src/engine/__tests__/unit/mangle.test.ts",
  ".../packages/core/src/engine/__tests__/unit/options.test.ts",
  ".../packages/core/src/engine/__tests__/unit/replace.test.ts",
  ".../packages/core/src/engine/find.ts",
  ".../packages/core/src/engine/helpers.ts",
  ".../packages/core/src/engine/index.ts",
  ".../packages/core/src/engine/mangle.ts",
  ".../packages/core/src/engine/options.ts",
  ".../packages/core/src/engine/replace.ts",
  ".../packages/core/src/helpers.ts",
  ".../packages/core/src/index.ts",
  ".../packages/core/src/languages/__tests__/unit/index.test.ts",
  ".../packages/core/src/languages/builtin/__tests__/common/index.ts",
  ".../packages/core/src/languages/builtin/__tests__/common/values.ts",
  ".../packages/core/src/languages/builtin/__tests__/integration/class.test.ts",
  ".../packages/core/src/languages/builtin/__tests__/unit/class.test.ts",
  ".../packages/core/src/languages/builtin/class.ts",
  ".../packages/core/src/languages/builtin/index.ts",
  ".../packages/core/src/languages/builtin/types.ts",
  ".../packages/core/src/languages/index.ts",
  ".../packages/core/src/manglers/__tests__/unit/index.test.ts",
  ".../packages/core/src/manglers/builtin/__tests__/common/index.ts",
  ".../packages/core/src/manglers/builtin/__tests__/common/values.ts",
  ".../packages/core/src/manglers/builtin/__tests__/integration/class.test.ts",
  ".../packages/core/src/manglers/builtin/__tests__/unit/class.test.ts",
  ".../packages/core/src/manglers/builtin/class.ts",
  ".../packages/core/src/manglers/builtin/index.ts",
  ".../packages/core/src/manglers/builtin/types.ts",
  ".../packages/core/src/manglers/index.ts",
  ".../packages/core/src/manglers/recommended/__tests__/common/index.ts",
  ".../packages/core/src/manglers/recommended/__tests__/common/values.ts",
  ".../packages/core/src/manglers/recommended/__tests__/integration/class.test.ts",
  ".../packages/core/src/manglers/recommended/__tests__/unit/class.test.ts",
  ".../packages/core/src/manglers/recommended/class.ts",
  ".../packages/core/src/manglers/recommended/index.ts",
  ".../packages/core/src/manglers/recommended/types.ts",
  ".../packages/core/src/name-generator.class.ts",
  ".../packages/core/tsconfig.json",
  ".../packages/language-css/.gitignore",
  ".../packages/language-css/.npmignore",
  ".../packages/language-css/CHANGELOG.md",
  ".../packages/language-css/LICENSE",
  ".../packages/language-css/README.md",
  ".../packages/language-css/lib/class.d.ts",
  ".../packages/language-css/lib/class.js",
  ".../packages/language-css/lib/embeds/css/index.d.ts",
  ".../packages/language-css/lib/embeds/css/index.js",
  ".../packages/language-css/lib/embeds/css/media-queries.d.ts",
  ".../packages/language-css/lib/embeds/css/media-queries.js",
  ".../packages/language-css/lib/embeds/index.d.ts",
  ".../packages/language-css/lib/embeds/index.js",
  ".../packages/language-css/lib/expressions/common.d.ts",
  ".../packages/language-css/lib/expressions/common.js",
  ".../packages/language-css/lib/expressions/css-properties.d.ts",
  ".../packages/language-css/lib/expressions/css-properties.js",
  ".../packages/language-css/lib/expressions/css-values.d.ts",
  ".../packages/language-css/lib/expressions/css-values.js",
  ".../packages/language-css/lib/expressions/index.d.ts",
  ".../packages/language-css/lib/expressions/index.js",
  ".../packages/language-css/lib/expressions/multi-value-attributes.d.ts",
  ".../packages/language-css/lib/expressions/multi-value-attributes.js",
  ".../packages/language-css/lib/expressions/query-selectors.d.ts",
  ".../packages/language-css/lib/expressions/query-selectors.js",
  ".../packages/language-css/lib/expressions/single-value-attributes.d.ts",
  ".../packages/language-css/lib/expressions/single-value-attributes.js",
  ".../packages/language-css/lib/helpers.d.ts",
  ".../packages/language-css/lib/helpers.js",
  ".../packages/language-css/lib/index.d.ts",
  ".../packages/language-css/lib/index.js",
  ".../packages/language-css/package.json",
  ".../packages/language-css/src/__tests__/common/benchmark-helpers.test.ts",
  ".../packages/language-css/src/__tests__/common/benchmark-helpers.ts",
  ".../packages/language-css/src/__tests__/common/index.ts",
  ".../packages/language-css/src/__tests__/e2e/index.test.ts",
  ".../packages/language-css/src/__tests__/integration/class.test.ts",
  ".../packages/language-css/src/__tests__/unit/class.test.ts",
  ".../packages/language-css/src/__tests__/unit/helpers.test.ts",
  ".../packages/language-css/src/__tests__/unit/index.test.ts",
  ".../packages/language-css/src/class.ts",
  ".../packages/language-css/src/embeds/__tests__/unit/index.test.ts",
  ".../packages/language-css/src/embeds/css/__tests__/common/index.ts",
  ".../packages/language-css/src/embeds/css/__tests__/common/types.d.ts",
  ".../packages/language-css/src/embeds/css/__tests__/performance/media-queries.test.ts",
  ".../packages/language-css/src/embeds/css/__tests__/unit/index.test.ts",
  ".../packages/language-css/src/embeds/css/__tests__/unit/media-queries.test.ts",
  ".../packages/language-css/src/embeds/css/index.ts",
  ".../packages/language-css/src/embeds/css/media-queries.ts",
  ".../packages/language-css/src/embeds/index.ts",
  ".../packages/language-css/src/expressions/__tests__/common/builders.test.ts",
  ".../packages/language-css/src/expressions/__tests__/common/builders.ts",
  ".../packages/language-css/src/expressions/__tests__/common/index.ts",
  ".../packages/language-css/src/expressions/__tests__/common/test-helpers.test.ts",
  ".../packages/language-css/src/expressions/__tests__/common/test-helpers.ts",
  ".../packages/language-css/src/expressions/__tests__/common/types.d.ts",
  ".../packages/language-css/src/expressions/__tests__/common/values.ts",
  ".../packages/language-css/src/expressions/__tests__/integration/css-properties.test.ts",
  ".../packages/language-css/src/expressions/__tests__/integration/css-values.test.ts",
  ".../packages/language-css/src/expressions/__tests__/integration/multi-value-attribute.test.ts",
  ".../packages/language-css/src/expressions/__tests__/integration/query-selectors.test.ts",
  ".../packages/language-css/src/expressions/__tests__/integration/single-value-attribute.test.ts",
  ".../packages/language-css/src/expressions/__tests__/performance/css-properties.test.ts",
  ".../packages/language-css/src/expressions/__tests__/performance/css-values.test.ts",
  ".../packages/language-css/src/expressions/__tests__/performance/multi-value.attribute.test.ts",
  ".../packages/language-css/src/expressions/__tests__/performance/query-selectors.test.ts",
  ".../packages/language-css/src/expressions/__tests__/performance/single-value-attribute.test.ts",
  ".../packages/language-css/src/expressions/__tests__/unit/common.test.ts",
  ".../packages/language-css/src/expressions/__tests__/unit/css-properties.test.ts",
  ".../packages/language-css/src/expressions/__tests__/unit/css-values.test.ts",
  ".../packages/language-css/src/expressions/__tests__/unit/multi-value-attribute.test.ts",
  ".../packages/language-css/src/expressions/__tests__/unit/query-selectors.test.ts",
  ".../packages/language-css/src/expressions/__tests__/unit/single-value-attribute.test.ts",
  ".../packages/language-css/src/expressions/common.ts",
  ".../packages/language-css/src/expressions/css-properties.ts",
  ".../packages/language-css/src/expressions/css-values.ts",
  ".../packages/language-css/src/expressions/index.ts",
  ".../packages/language-css/src/expressions/multi-value-attributes.ts",
  ".../packages/language-css/src/expressions/query-selectors.ts",
  ".../packages/language-css/src/expressions/single-value-attributes.ts",
  ".../packages/language-css/src/helpers.ts",
  ".../packages/language-css/src/index.ts",
  ".../packages/language-css/tsconfig.json",
  ".../packages/language-html/.gitignore",
  ".../packages/language-html/.npmignore",
  ".../packages/language-html/CHANGELOG.md",
  ".../packages/language-html/LICENSE",
  ".../packages/language-html/README.md",
  ".../packages/language-html/lib/class.d.ts",
  ".../packages/language-html/lib/class.js",
  ".../packages/language-html/lib/embeds/css/common.d.ts",
  ".../packages/language-html/lib/embeds/css/common.js",
  ".../packages/language-html/lib/embeds/css/index.d.ts",
  ".../packages/language-html/lib/embeds/css/index.js",
  ".../packages/language-html/lib/embeds/css/style-attribute.d.ts",
  ".../packages/language-html/lib/embeds/css/style-attribute.js",
  ".../packages/language-html/lib/embeds/css/style-tag.d.ts",
  ".../packages/language-html/lib/embeds/css/style-tag.js",
  ".../packages/language-html/lib/embeds/index.d.ts",
  ".../packages/language-html/lib/embeds/index.js",
  ".../packages/language-html/lib/embeds/js/common.d.ts",
  ".../packages/language-html/lib/embeds/js/common.js",
  ".../packages/language-html/lib/embeds/js/index.d.ts",
  ".../packages/language-html/lib/embeds/js/index.js",
  ".../packages/language-html/lib/embeds/js/script-tag.d.ts",
  ".../packages/language-html/lib/embeds/js/script-tag.js",
  ".../packages/language-html/lib/expressions/attributes.d.ts",
  ".../packages/language-html/lib/expressions/attributes.js",
  ".../packages/language-html/lib/expressions/common.d.ts",
  ".../packages/language-html/lib/expressions/common.js",
  ".../packages/language-html/lib/expressions/index.d.ts",
  ".../packages/language-html/lib/expressions/index.js",
  ".../packages/language-html/lib/expressions/multi-value-attributes.d.ts",
  ".../packages/language-html/lib/expressions/multi-value-attributes.js",
  ".../packages/language-html/lib/expressions/single-value-attributes.d.ts",
  ".../packages/language-html/lib/expressions/single-value-attributes.js",
  ".../packages/language-html/lib/helpers.d.ts",
  ".../packages/language-html/lib/helpers.js",
  ".../packages/language-html/lib/index.d.ts",
  ".../packages/language-html/lib/index.js",
  ".../packages/language-html/package.json",
  ".../packages/language-html/src/__tests__/common/benchmark-helpers.test.ts",
  ".../packages/language-html/src/__tests__/common/benchmark-helpers.ts",
  ".../packages/language-html/src/__tests__/integration/class.test.ts",
  ".../packages/language-html/src/__tests__/unit/class.test.ts",
  ".../packages/language-html/src/__tests__/unit/helpers.test.ts",
  ".../packages/language-html/src/__tests__/unit/index.test.ts",
  ".../packages/language-html/src/class.ts",
  ".../packages/language-html/src/embeds/__tests__/common/types.d.ts",
  ".../packages/language-html/src/embeds/__tests__/unit/index.test.ts",
  ".../packages/language-html/src/embeds/css/__tests__/common/index.ts",
  ".../packages/language-html/src/embeds/css/__tests__/performance/style-attribute.test.ts",
  ".../packages/language-html/src/embeds/css/__tests__/performance/style-tag.test.ts",
  ".../packages/language-html/src/embeds/css/__tests__/unit/common.test.ts",
  ".../packages/language-html/src/embeds/css/__tests__/unit/index.test.ts",
  ".../packages/language-html/src/embeds/css/__tests__/unit/style-attribute.test.ts",
  ".../packages/language-html/src/embeds/css/__tests__/unit/style-tag.test.ts",
  ".../packages/language-html/src/embeds/css/common.ts",
  ".../packages/language-html/src/embeds/css/index.ts",
  ".../packages/language-html/src/embeds/css/style-attribute.ts",
  ".../packages/language-html/src/embeds/css/style-tag.ts",
  ".../packages/language-html/src/embeds/index.ts",
  ".../packages/language-html/src/embeds/js/__tests__/common/index.ts",
  ".../packages/language-html/src/embeds/js/__tests__/performance/script-tag.test.ts",
  ".../packages/language-html/src/embeds/js/__tests__/unit/common.test.ts",
  ".../packages/language-html/src/embeds/js/__tests__/unit/js.test.ts",
  ".../packages/language-html/src/embeds/js/__tests__/unit/script-tag.test.ts",
  ".../packages/language-html/src/embeds/js/common.ts",
  ".../packages/language-html/src/embeds/js/index.ts",
  ".../packages/language-html/src/embeds/js/script-tag.ts",
  ".../packages/language-html/src/expressions/__tests__/common/builders.test.ts",
  ".../packages/language-html/src/expressions/__tests__/common/builders.ts",
  ".../packages/language-html/src/expressions/__tests__/common/index.ts",
  ".../packages/language-html/src/expressions/__tests__/common/test-helpers.test.ts",
  ".../packages/language-html/src/expressions/__tests__/common/test-helpers.ts",
  ".../packages/language-html/src/expressions/__tests__/common/types.d.ts",
  ".../packages/language-html/src/expressions/__tests__/common/values.ts",
  ".../packages/language-html/src/expressions/__tests__/integration/attributes.test.ts",
  ".../packages/language-html/src/expressions/__tests__/integration/multi-value-attributes.test.ts",
  ".../packages/language-html/src/expressions/__tests__/integration/single-value-attributes.test.ts",
  ".../packages/language-html/src/expressions/__tests__/performance/attributes.test.ts",
  ".../packages/language-html/src/expressions/__tests__/performance/multi-value-attributes.test.ts",
  ".../packages/language-html/src/expressions/__tests__/performance/single-value-attributes.test.ts",
  ".../packages/language-html/src/expressions/__tests__/unit/attributes.test.ts",
  ".../packages/language-html/src/expressions/__tests__/unit/common.test.ts",
  ".../packages/language-html/src/expressions/__tests__/unit/multi-value-attributes.test.ts",
  ".../packages/language-html/src/expressions/__tests__/unit/single-value-attributes.test.ts",
  ".../packages/language-html/src/expressions/attributes.ts",
  ".../packages/language-html/src/expressions/common.ts",
  ".../packages/language-html/src/expressions/index.ts",
  ".../packages/language-html/src/expressions/multi-value-attributes.ts",
  ".../packages/language-html/src/expressions/single-value-attributes.ts",
  ".../packages/language-html/src/helpers.ts",
  ".../packages/language-html/src/index.ts",
  ".../packages/language-html/tsconfig.json",
  ".../packages/language-js/.gitignore",
  ".../packages/language-js/.npmignore",
  ".../packages/language-js/CHANGELOG.md",
  ".../packages/language-js/LICENSE",
  ".../packages/language-js/README.md",
  ".../packages/language-js/lib/class.d.ts",
  ".../packages/language-js/lib/class.js",
  ".../packages/language-js/lib/expressions/common.d.ts",
  ".../packages/language-js/lib/expressions/common.js",
  ".../packages/language-js/lib/expressions/css-properties.d.ts",
  ".../packages/language-js/lib/expressions/css-properties.js",
  ".../packages/language-js/lib/expressions/index.d.ts",
  ".../packages/language-js/lib/expressions/index.js",
  ".../packages/language-js/lib/expressions/query-selectors.d.ts",
  ".../packages/language-js/lib/expressions/query-selectors.js",
  ".../packages/language-js/lib/helpers.d.ts",
  ".../packages/language-js/lib/helpers.js",
  ".../packages/language-js/lib/index.d.ts",
  ".../packages/language-js/lib/index.js",
  ".../packages/language-js/package.json",
  ".../packages/language-js/src/__tests__/integration/class.test.ts",
  ".../packages/language-js/src/__tests__/unit/class.test.ts",
  ".../packages/language-js/src/__tests__/unit/helpers.test.ts",
  ".../packages/language-js/src/__tests__/unit/index.test.ts",
  ".../packages/language-js/src/class.ts",
  ".../packages/language-js/src/expressions/__tests__/common/benchmark-helpers.test.ts",
  ".../packages/language-js/src/expressions/__tests__/common/benchmark-helpers.ts",
  ".../packages/language-js/src/expressions/__tests__/common/builders.test.ts",
  ".../packages/language-js/src/expressions/__tests__/common/builders.ts",
  ".../packages/language-js/src/expressions/__tests__/common/index.ts",
  ".../packages/language-js/src/expressions/__tests__/common/test-helpers.test.ts",
  ".../packages/language-js/src/expressions/__tests__/common/test-helpers.ts",
  ".../packages/language-js/src/expressions/__tests__/common/types.d.ts",
  ".../packages/language-js/src/expressions/__tests__/common/values.ts",
  ".../packages/language-js/src/expressions/__tests__/integration/css-properties.test.ts",
  ".../packages/language-js/src/expressions/__tests__/integration/query-selectors.test.ts",
  ".../packages/language-js/src/expressions/__tests__/performance/css-properties.test.ts",
  ".../packages/language-js/src/expressions/__tests__/performance/query-selectors.test.ts",
  ".../packages/language-js/src/expressions/__tests__/unit/common.test.ts",
  ".../packages/language-js/src/expressions/__tests__/unit/css-properties.test.ts",
  ".../packages/language-js/src/expressions/__tests__/unit/query-selectors.test.ts",
  ".../packages/language-js/src/expressions/common.ts",
  ".../packages/language-js/src/expressions/css-properties.ts",
  ".../packages/language-js/src/expressions/index.ts",
  ".../packages/language-js/src/expressions/query-selectors.ts",
  ".../packages/language-js/src/helpers.ts",
  ".../packages/language-js/src/index.ts",
  ".../packages/language-js/tsconfig.json",
  ".../packages/language-utils/.gitignore",
  ".../packages/language-utils/.npmignore",
  ".../packages/language-utils/CHANGELOG.md",
  ".../packages/language-utils/LICENSE",
  ".../packages/language-utils/lib/index.d.ts",
  ".../packages/language-utils/lib/index.js",
  ".../packages/language-utils/lib/mangle-expressions/index.d.ts",
  ".../packages/language-utils/lib/mangle-expressions/index.js",
  ".../packages/language-utils/lib/mangle-expressions/nested-group.class.d.ts",
  ".../packages/language-utils/lib/mangle-expressions/nested-group.class.js",
  ".../packages/language-utils/lib/mangle-expressions/single-group.class.d.ts",
  ".../packages/language-utils/lib/mangle-expressions/single-group.class.js",
  ".../packages/language-utils/lib/mangle-expressions/types.d.ts",
  ".../packages/language-utils/lib/mangle-expressions/types.js",
  ".../packages/language-utils/lib/multi-language-plugin.class.d.ts",
  ".../packages/language-utils/lib/multi-language-plugin.class.js",
  ".../packages/language-utils/lib/simple-language-plugin.class.d.ts",
  ".../packages/language-utils/lib/simple-language-plugin.class.js",
  ".../packages/language-utils/package.json",
  ".../packages/language-utils/src/__tests__/unit/index.test.ts",
  ".../packages/language-utils/src/__tests__/unit/multi-language-plugin.test.ts",
  ".../packages/language-utils/src/__tests__/unit/simple-language-plugin.test.ts",
  ".../packages/language-utils/src/index.ts",
  ".../packages/language-utils/src/mangle-expressions/__tests__/unit/nested-group.test.ts",
  ".../packages/language-utils/src/mangle-expressions/__tests__/unit/single-group.test.ts",
  ".../packages/language-utils/src/mangle-expressions/index.ts",
  ".../packages/language-utils/src/mangle-expressions/nested-group.class.ts",
  ".../packages/language-utils/src/mangle-expressions/single-group.class.ts",
  ".../packages/language-utils/src/mangle-expressions/types.ts",
  ".../packages/language-utils/src/multi-language-plugin.class.ts",
  ".../packages/language-utils/src/simple-language-plugin.class.ts",
  ".../packages/language-utils/tsconfig.json",
  ".../packages/mangler-css-classes/.gitignore",
  ".../packages/mangler-css-classes/.npmignore",
  ".../packages/mangler-css-classes/CHANGELOG.md",
  ".../packages/mangler-css-classes/LICENSE",
  ".../packages/mangler-css-classes/README.md",
  ".../packages/mangler-css-classes/build/class.d.ts",
  ".../packages/mangler-css-classes/build/class.js",
  ".../packages/mangler-css-classes/build/helpers/characters.d.ts",
  ".../packages/mangler-css-classes/build/helpers/characters.js",
  ".../packages/mangler-css-classes/build/helpers/index.d.ts",
  ".../packages/mangler-css-classes/build/helpers/index.js",
  ".../packages/mangler-css-classes/build/helpers/language-options.d.ts",
  ".../packages/mangler-css-classes/build/helpers/language-options.js",
  ".../packages/mangler-css-classes/build/helpers/patterns.d.ts",
  ".../packages/mangler-css-classes/build/helpers/patterns.js",
  ".../packages/mangler-css-classes/build/helpers/prefix.d.ts",
  ".../packages/mangler-css-classes/build/helpers/prefix.js",
  ".../packages/mangler-css-classes/build/helpers/reserved.d.ts",
  ".../packages/mangler-css-classes/build/helpers/reserved.js",
  ".../packages/mangler-css-classes/build/index.d.ts",
  ".../packages/mangler-css-classes/build/index.js",
  ".../packages/mangler-css-classes/build/types.d.ts",
  ".../packages/mangler-css-classes/build/types.js",
  ".../packages/mangler-css-classes/package.json",
  ".../packages/mangler-css-classes/src/__tests__/integration/class.test.ts",
  ".../packages/mangler-css-classes/src/__tests__/unit/class.test.ts",
  ".../packages/mangler-css-classes/src/__tests__/unit/index.test.ts",
  ".../packages/mangler-css-classes/src/class.ts",
  ".../packages/mangler-css-classes/src/helpers/__tests__/unit/characters.test.ts",
  ".../packages/mangler-css-classes/src/helpers/__tests__/unit/langauge-options.test.ts",
  ".../packages/mangler-css-classes/src/helpers/__tests__/unit/patterns.test.ts",
  ".../packages/mangler-css-classes/src/helpers/__tests__/unit/prefix.test.ts",
  ".../packages/mangler-css-classes/src/helpers/__tests__/unit/reserved.test.ts",
  ".../packages/mangler-css-classes/src/helpers/characters.ts",
  ".../packages/mangler-css-classes/src/helpers/index.ts",
  ".../packages/mangler-css-classes/src/helpers/language-options.ts",
  ".../packages/mangler-css-classes/src/helpers/patterns.ts",
  ".../packages/mangler-css-classes/src/helpers/prefix.ts",
  ".../packages/mangler-css-classes/src/helpers/reserved.ts",
  ".../packages/mangler-css-classes/src/index.ts",
  ".../packages/mangler-css-classes/src/types.ts",
  ".../packages/mangler-css-classes/tsconfig.json",
  ".../packages/mangler-css-variables/.gitignore",
  ".../packages/mangler-css-variables/.npmignore",
  ".../packages/mangler-css-variables/CHANGELOG.md",
  ".../packages/mangler-css-variables/LICENSE",
  ".../packages/mangler-css-variables/README.md",
  ".../packages/mangler-css-variables/build/class.d.ts",
  ".../packages/mangler-css-variables/build/class.js",
  ".../packages/mangler-css-variables/build/helpers/characters.d.ts",
  ".../packages/mangler-css-variables/build/helpers/characters.js",
  ".../packages/mangler-css-variables/build/helpers/index.d.ts",
  ".../packages/mangler-css-variables/build/helpers/index.js",
  ".../packages/mangler-css-variables/build/helpers/language-options.d.ts",
  ".../packages/mangler-css-variables/build/helpers/language-options.js",
  ".../packages/mangler-css-variables/build/helpers/patterns.d.ts",
  ".../packages/mangler-css-variables/build/helpers/patterns.js",
  ".../packages/mangler-css-variables/build/helpers/prefix.d.ts",
  ".../packages/mangler-css-variables/build/helpers/prefix.js",
  ".../packages/mangler-css-variables/build/helpers/reserved.d.ts",
  ".../packages/mangler-css-variables/build/helpers/reserved.js",
  ".../packages/mangler-css-variables/build/index.d.ts",
  ".../packages/mangler-css-variables/build/index.js",
  ".../packages/mangler-css-variables/build/types.d.ts",
  ".../packages/mangler-css-variables/build/types.js",
  ".../packages/mangler-css-variables/package.json",
  ".../packages/mangler-css-variables/src/__tests__/integration/class.test.ts",
  ".../packages/mangler-css-variables/src/__tests__/unit/class.test.ts",
  ".../packages/mangler-css-variables/src/__tests__/unit/index.test.ts",
  ".../packages/mangler-css-variables/src/class.ts",
  ".../packages/mangler-css-variables/src/helpers/__tests__/integration/language-options.test.ts",
  ".../packages/mangler-css-variables/src/helpers/__tests__/unit/characters.test.ts",
  ".../packages/mangler-css-variables/src/helpers/__tests__/unit/language-options.test.ts",
  ".../packages/mangler-css-variables/src/helpers/__tests__/unit/patterns.test.ts",
  ".../packages/mangler-css-variables/src/helpers/__tests__/unit/prefix.test.ts",
  ".../packages/mangler-css-variables/src/helpers/__tests__/unit/reserved.test.ts",
  ".../packages/mangler-css-variables/src/helpers/characters.ts",
  ".../packages/mangler-css-variables/src/helpers/index.ts",
  ".../packages/mangler-css-variables/src/helpers/language-options.ts",
  ".../packages/mangler-css-variables/src/helpers/patterns.ts",
  ".../packages/mangler-css-variables/src/helpers/prefix.ts",
  ".../packages/mangler-css-variables/src/helpers/reserved.ts",
  ".../packages/mangler-css-variables/src/index.ts",
  ".../packages/mangler-css-variables/src/types.ts",
  ".../packages/mangler-css-variables/tsconfig.json",
  ".../packages/mangler-html-attributes/.gitignore",
  ".../packages/mangler-html-attributes/.npmignore",
  ".../packages/mangler-html-attributes/CHANGELOG.md",
  ".../packages/mangler-html-attributes/LICENSE",
  ".../packages/mangler-html-attributes/README.md",
  ".../packages/mangler-html-attributes/build/class.d.ts",
  ".../packages/mangler-html-attributes/build/class.js",
  ".../packages/mangler-html-attributes/build/helpers/characters.d.ts",
  ".../packages/mangler-html-attributes/build/helpers/characters.js",
  ".../packages/mangler-html-attributes/build/helpers/index.d.ts",
  ".../packages/mangler-html-attributes/build/helpers/index.js",
  ".../packages/mangler-html-attributes/build/helpers/language-options.d.ts",
  ".../packages/mangler-html-attributes/build/helpers/language-options.js",
  ".../packages/mangler-html-attributes/build/helpers/patterns.d.ts",
  ".../packages/mangler-html-attributes/build/helpers/patterns.js",
  ".../packages/mangler-html-attributes/build/helpers/prefix.d.ts",
  ".../packages/mangler-html-attributes/build/helpers/prefix.js",
  ".../packages/mangler-html-attributes/build/helpers/reserved.d.ts",
  ".../packages/mangler-html-attributes/build/helpers/reserved.js",
  ".../packages/mangler-html-attributes/build/index.d.ts",
  ".../packages/mangler-html-attributes/build/index.js",
  ".../packages/mangler-html-attributes/build/types.d.ts",
  ".../packages/mangler-html-attributes/build/types.js",
  ".../packages/mangler-html-attributes/package.json",
  ".../packages/mangler-html-attributes/src/__tests__/integration/class.test.ts",
  ".../packages/mangler-html-attributes/src/__tests__/unit/class.test.ts",
  ".../packages/mangler-html-attributes/src/__tests__/unit/index.test.ts",
  ".../packages/mangler-html-attributes/src/class.ts",
  ".../packages/mangler-html-attributes/src/helpers/__tests__/integration/language-options.test.ts",
  ".../packages/mangler-html-attributes/src/helpers/__tests__/unit/characters.test.ts",
  ".../packages/mangler-html-attributes/src/helpers/__tests__/unit/language-options.test.ts",
  ".../packages/mangler-html-attributes/src/helpers/__tests__/unit/patterns.test.ts",
  ".../packages/mangler-html-attributes/src/helpers/__tests__/unit/prefix.test.ts",
  ".../packages/mangler-html-attributes/src/helpers/__tests__/unit/reserved.test.ts",
  ".../packages/mangler-html-attributes/src/helpers/characters.ts",
  ".../packages/mangler-html-attributes/src/helpers/index.ts",
  ".../packages/mangler-html-attributes/src/helpers/language-options.ts",
  ".../packages/mangler-html-attributes/src/helpers/patterns.ts",
  ".../packages/mangler-html-attributes/src/helpers/prefix.ts",
  ".../packages/mangler-html-attributes/src/helpers/reserved.ts",
  ".../packages/mangler-html-attributes/src/index.ts",
  ".../packages/mangler-html-attributes/src/types.ts",
  ".../packages/mangler-html-attributes/tsconfig.json",
  ".../packages/mangler-html-ids/.gitignore",
  ".../packages/mangler-html-ids/.npmignore",
  ".../packages/mangler-html-ids/CHANGELOG.md",
  ".../packages/mangler-html-ids/LICENSE",
  ".../packages/mangler-html-ids/README.md",
  ".../packages/mangler-html-ids/build/class.d.ts",
  ".../packages/mangler-html-ids/build/class.js",
  ".../packages/mangler-html-ids/build/helpers/characters.d.ts",
  ".../packages/mangler-html-ids/build/helpers/characters.js",
  ".../packages/mangler-html-ids/build/helpers/index.d.ts",
  ".../packages/mangler-html-ids/build/helpers/index.js",
  ".../packages/mangler-html-ids/build/helpers/language-options.d.ts",
  ".../packages/mangler-html-ids/build/helpers/language-options.js",
  ".../packages/mangler-html-ids/build/helpers/patterns.d.ts",
  ".../packages/mangler-html-ids/build/helpers/patterns.js",
  ".../packages/mangler-html-ids/build/helpers/prefix.d.ts",
  ".../packages/mangler-html-ids/build/helpers/prefix.js",
  ".../packages/mangler-html-ids/build/helpers/reserved.d.ts",
  ".../packages/mangler-html-ids/build/helpers/reserved.js",
  ".../packages/mangler-html-ids/build/index.d.ts",
  ".../packages/mangler-html-ids/build/index.js",
  ".../packages/mangler-html-ids/build/types.d.ts",
  ".../packages/mangler-html-ids/build/types.js",
  ".../packages/mangler-html-ids/package.json",
  ".../packages/mangler-html-ids/src/__tests__/integration/class.test.ts",
  ".../packages/mangler-html-ids/src/__tests__/unit/class.test.ts",
  ".../packages/mangler-html-ids/src/__tests__/unit/index.test.ts",
  ".../packages/mangler-html-ids/src/class.ts",
  ".../packages/mangler-html-ids/src/helpers/__tests__/integration/language-options.test.ts",
  ".../packages/mangler-html-ids/src/helpers/__tests__/unit/characters.test.ts",
  ".../packages/mangler-html-ids/src/helpers/__tests__/unit/index.test.ts",
  ".../packages/mangler-html-ids/src/helpers/__tests__/unit/language-options.test.ts",
  ".../packages/mangler-html-ids/src/helpers/__tests__/unit/patterns.test.ts",
  ".../packages/mangler-html-ids/src/helpers/__tests__/unit/prefix.test.ts",
  ".../packages/mangler-html-ids/src/helpers/__tests__/unit/reserved.test.ts",
  ".../packages/mangler-html-ids/src/helpers/characters.ts",
  ".../packages/mangler-html-ids/src/helpers/index.ts",
  ".../packages/mangler-html-ids/src/helpers/language-options.ts",
  ".../packages/mangler-html-ids/src/helpers/patterns.ts",
  ".../packages/mangler-html-ids/src/helpers/prefix.ts",
  ".../packages/mangler-html-ids/src/helpers/reserved.ts",
  ".../packages/mangler-html-ids/src/index.ts",
  ".../packages/mangler-html-ids/src/types.ts",
  ".../packages/mangler-html-ids/tsconfig.json",
  ".../packages/mangler-utils/.gitignore",
  ".../packages/mangler-utils/.npmignore",
  ".../packages/mangler-utils/CHANGELOG.md",
  ".../packages/mangler-utils/LICENSE",
  ".../packages/mangler-utils/lib/characters.d.ts",
  ".../packages/mangler-utils/lib/characters.js",
  ".../packages/mangler-utils/lib/helpers.d.ts",
  ".../packages/mangler-utils/lib/helpers.js",
  ".../packages/mangler-utils/lib/index.d.ts",
  ".../packages/mangler-utils/lib/index.js",
  ".../packages/mangler-utils/lib/inputs.d.ts",
  ".../packages/mangler-utils/lib/inputs.js",
  ".../packages/mangler-utils/lib/multi-mangler.class.d.ts",
  ".../packages/mangler-utils/lib/multi-mangler.class.js",
  ".../packages/mangler-utils/lib/simple-mangler.class.d.ts",
  ".../packages/mangler-utils/lib/simple-mangler.class.js",
  ".../packages/mangler-utils/package.json",
  ".../packages/mangler-utils/src/__tests__/integration/multi-mangler.test.ts",
  ".../packages/mangler-utils/src/__tests__/unit/characters.test.ts",
  ".../packages/mangler-utils/src/__tests__/unit/helpers.test.ts",
  ".../packages/mangler-utils/src/__tests__/unit/index.test.ts",
  ".../packages/mangler-utils/src/__tests__/unit/inputs.test.ts",
  ".../packages/mangler-utils/src/__tests__/unit/multi-mangler.test.ts",
  ".../packages/mangler-utils/src/__tests__/unit/simple-mangler.test.ts",
  ".../packages/mangler-utils/src/characters.ts",
  ".../packages/mangler-utils/src/helpers.ts",
  ".../packages/mangler-utils/src/index.ts",
  ".../packages/mangler-utils/src/inputs.ts",
  ".../packages/mangler-utils/src/multi-mangler.class.ts",
  ".../packages/mangler-utils/src/simple-mangler.class.ts",
  ".../packages/mangler-utils/tsconfig.json",
  ".../packages/testing/.gitignore",
  ".../packages/testing/.npmignore",
  ".../packages/testing/CHANGELOG.md",
  ".../packages/testing/LICENSE",
  ".../packages/testing/README.md",
  ".../packages/testing/lib/helpers/generate.d.ts",
  ".../packages/testing/lib/helpers/generate.js",
  ".../packages/testing/lib/helpers/index.d.ts",
  ".../packages/testing/lib/helpers/index.js",
  ".../packages/testing/lib/index.d.ts",
  ".../packages/testing/lib/index.js",
  ".../packages/testing/lib/mocks/index.d.ts",
  ".../packages/testing/lib/mocks/index.js",
  ".../packages/testing/lib/mocks/mangle-expression.d.ts",
  ".../packages/testing/lib/mocks/mangle-expression.js",
  ".../packages/testing/lib/mocks/types.d.ts",
  ".../packages/testing/lib/mocks/types.js",
  ".../packages/testing/lib/mocks/web-mangler-language-plugin.d.ts",
  ".../packages/testing/lib/mocks/web-mangler-language-plugin.js",
  ".../packages/testing/lib/mocks/web-mangler-plugin.d.ts",
  ".../packages/testing/lib/mocks/web-mangler-plugin.js",
  ".../packages/testing/lib/suites/index.d.ts",
  ".../packages/testing/lib/suites/index.js",
  ".../packages/testing/lib/suites/language-plugin/constructor.d.ts",
  ".../packages/testing/lib/suites/language-plugin/constructor.js",
  ".../packages/testing/lib/suites/language-plugin/index.d.ts",
  ".../packages/testing/lib/suites/language-plugin/index.js",
  ".../packages/testing/lib/suites/language-plugin/methods.d.ts",
  ".../packages/testing/lib/suites/language-plugin/methods.js",
  ".../packages/testing/lib/suites/language-plugin/types.d.ts",
  ".../packages/testing/lib/suites/language-plugin/types.js",
  ".../packages/testing/lib/suites/plugin/constructor.d.ts",
  ".../packages/testing/lib/suites/plugin/constructor.js",
  ".../packages/testing/lib/suites/plugin/index.d.ts",
  ".../packages/testing/lib/suites/plugin/index.js",
  ".../packages/testing/lib/suites/plugin/methods.d.ts",
  ".../packages/testing/lib/suites/plugin/methods.js",
  ".../packages/testing/lib/suites/plugin/types.d.ts",
  ".../packages/testing/lib/suites/plugin/types.js",
  ".../packages/testing/lib/suites/utils.d.ts",
  ".../packages/testing/lib/suites/utils.js",
  ".../packages/testing/lib/types.d.ts",
  ".../packages/testing/lib/types.js",
  ".../packages/testing/package.json",
  ".../packages/testing/src/__tests__/unit/index.test.ts",
  ".../packages/testing/src/helpers/__tests__/unit/generate.test.ts",
  ".../packages/testing/src/helpers/generate.ts",
  ".../packages/testing/src/helpers/index.ts",
  ".../packages/testing/src/index.ts",
  ".../packages/testing/src/mocks/__tests__/integration/mangle-expression.test.ts",
  ".../packages/testing/src/mocks/__tests__/integration/web-mangler-language-plugin.test.ts",
  ".../packages/testing/src/mocks/__tests__/integration/web-mangler-plugin.test.ts",
  ".../packages/testing/src/mocks/__tests__/unit/mangle-expression.test.ts",
  ".../packages/testing/src/mocks/__tests__/unit/web-mangler-language-plugin.test.ts",
  ".../packages/testing/src/mocks/__tests__/unit/web-mangler-plugin.test.ts",
  ".../packages/testing/src/mocks/index.ts",
  ".../packages/testing/src/mocks/mangle-expression.ts",
  ".../packages/testing/src/mocks/types.ts",
  ".../packages/testing/src/mocks/web-mangler-language-plugin.ts",
  ".../packages/testing/src/mocks/web-mangler-plugin.ts",
  ".../packages/testing/src/suites/__tests__/unit/utils.test.ts",
  ".../packages/testing/src/suites/index.ts",
  ".../packages/testing/src/suites/language-plugin/__tests__/unit/constructor.test.ts",
  ".../packages/testing/src/suites/language-plugin/__tests__/unit/methods.test.ts",
  ".../packages/testing/src/suites/language-plugin/constructor.ts",
  ".../packages/testing/src/suites/language-plugin/index.ts",
  ".../packages/testing/src/suites/language-plugin/methods.ts",
  ".../packages/testing/src/suites/language-plugin/types.ts",
  ".../packages/testing/src/suites/plugin/__tests__/unit/constructor.test.ts",
  ".../packages/testing/src/suites/plugin/__tests__/unit/methods.test.ts",
  ".../packages/testing/src/suites/plugin/constructor.ts",
  ".../packages/testing/src/suites/plugin/index.ts",
  ".../packages/testing/src/suites/plugin/methods.ts",
  ".../packages/testing/src/suites/plugin/types.ts",
  ".../packages/testing/src/suites/utils.ts",
  ".../packages/testing/src/types.ts",
  ".../packages/testing/tsconfig.json",
  ".../packages/types/.gitignore",
  ".../packages/types/.npmignore",
  ".../packages/types/CHANGELOG.md",
  ".../packages/types/LICENSE",
  ".../packages/types/lib/characters.d.ts",
  ".../packages/types/lib/characters.js",
  ".../packages/types/lib/index.d.ts",
  ".../packages/types/lib/index.js",
  ".../packages/types/lib/options.d.ts",
  ".../packages/types/lib/options.js",
  ".../packages/types/lib/types.d.ts",
  ".../packages/types/lib/types.js",
  ".../packages/types/lib/utils.d.ts",
  ".../packages/types/lib/utils.js",
  ".../packages/types/package.json",
  ".../packages/types/src/characters.ts",
  ".../packages/types/src/index.ts",
  ".../packages/types/src/options.ts",
  ".../packages/types/src/types.ts",
  ".../packages/types/src/utils.ts",
  ".../packages/types/tsconfig.json",
  ".../scripts/ci/get-filters.js",
  ".../scripts/clean.js",
  ".../scripts/hooks/_/.gitignore",
  ".../scripts/hooks/_/husky.sh",
  ".../scripts/hooks/commit-msg",
  ".../scripts/hooks/common.sh",
  ".../scripts/hooks/pre-commit",
  ".../scripts/hooks/pre-push",
  ".../scripts/lint.js",
  ".../scripts/test.js",
  ".../scripts/utilities/exec.js",
  ".../scripts/utilities/flags.js",
  ".../scripts/utilities/log.js",
  ".../scripts/utilities/paths.js",
  ".../scripts/utilities/vcs.js",
  ".../stryker.config.cjs",
  ".../testdata/.gitignore",
  ".../testdata/sample.css",
  ".../testdata/sample.html",
  ".../testdata/sample.js",
  ".../tsconfig.build.json",
  ".../tsconfig.json"
]
00:14:01 (60495) DEBUG ProjectReader Files to mutate: [
  ".../packages/benchmarking/src/budget/compute.ts",
  ".../packages/benchmarking/src/budget/index.ts",
  ".../packages/benchmarking/src/budget/system.ts",
  ".../packages/benchmarking/src/index.ts",
  ".../packages/benchmarking/src/runner/config.ts",
  ".../packages/benchmarking/src/runner/index.ts",
  ".../packages/benchmarking/src/runner/run.ts",
  ".../packages/benchmarking/src/runner/time.ts",
  ".../packages/benchmarking/src/runner/types.ts",
  ".../packages/benchmarking/src/stats/compute.ts",
  ".../packages/benchmarking/src/stats/index.ts",
  ".../packages/benchmarking/src/stats/math.ts",
  ".../packages/benchmarking/src/stats/types.ts"
]
00:14:01 (60495) DEBUG TemporaryDirectory Using temp directory ".../.temp/stryker"
00:14:01 (60495) DEBUG Instrumenter Instrumenting 13 source files with mutants
00:14:01 (60495) DEBUG Instrumenter Instrumented packages/benchmarking/src/budget/compute.ts (4 mutant(s))
00:14:01 (60495) DEBUG Instrumenter Instrumented packages/benchmarking/src/budget/index.ts (1 mutant(s))
00:14:01 (60495) DEBUG Instrumenter Instrumented packages/benchmarking/src/budget/system.ts (5 mutant(s))
00:14:01 (60495) DEBUG Instrumenter Instrumented packages/benchmarking/src/index.ts (1 mutant(s))
00:14:01 (60495) DEBUG Instrumenter Instrumented packages/benchmarking/src/runner/config.ts (9 mutant(s))
00:14:01 (60495) DEBUG Instrumenter Instrumented packages/benchmarking/src/runner/index.ts (2 mutant(s))
00:14:01 (60495) DEBUG Instrumenter Instrumented packages/benchmarking/src/runner/run.ts (12 mutant(s))
00:14:01 (60495) DEBUG Instrumenter Instrumented packages/benchmarking/src/runner/time.ts (2 mutant(s))
00:14:01 (60495) DEBUG Instrumenter Instrumented packages/benchmarking/src/runner/types.ts (0 mutant(s))
00:14:01 (60495) DEBUG Instrumenter Instrumented packages/benchmarking/src/stats/compute.ts (4 mutant(s))
00:14:01 (60495) DEBUG Instrumenter Instrumented packages/benchmarking/src/stats/index.ts (0 mutant(s))
00:14:01 (60495) DEBUG Instrumenter Instrumented packages/benchmarking/src/stats/math.ts (13 mutant(s))
00:14:01 (60495) DEBUG Instrumenter Instrumented packages/benchmarking/src/stats/types.ts (0 mutant(s))
00:14:01 (60495) INFO Instrumenter Instrumented 13 source file(s) with 53 mutant(s)
00:14:01 (60495) DEBUG TSConfigPreprocessor Rewriting file ProjectFile {
  fs: [FileSystem],
  name: '.../tsconfig.build.json',
  mutate: false
}
00:14:01 (60495) DEBUG TSConfigPreprocessor Rewriting file ProjectFile {
  fs: [FileSystem],
  name: '.../tsconfig.json',
  mutate: false
}
00:14:01 (60495) INFO ConcurrencyTokenProvider Creating 8 checker process(es) and 7 test runner process(es).
00:14:01 (60495) DEBUG ChildProcessProxy Started CheckerWorker in child process 60514
00:14:01 (60495) DEBUG ChildProcessProxy Started CheckerWorker in child process 60520
00:14:02 (60520) DEBUG PluginLoader Loading plugin @stryker-mutator/typescript-checker
00:14:02 (60520) DEBUG PluginLoader Loading plugin file://.../node_modules/@stryker-mutator/core/dist/src/reporters/index.js
00:14:02 (60514) DEBUG PluginLoader Loading plugin @stryker-mutator/typescript-checker
00:14:02 (60514) DEBUG PluginLoader Loading plugin file://.../node_modules/@stryker-mutator/core/dist/src/reporters/index.js
00:14:02 (60495) DEBUG Stryker Not removing the temp dir because an error occurred
00:14:02 (60495) ERROR Stryker Unexpected error occurred while running Stryker StrykerError: Error: An error occurred during initialization of the "typescript" checker. Inner error: TypeError: Cannot read properties of undefined (reading 'modifiedTime')
TypeError: Cannot read properties of undefined (reading 'modifiedTime')
    at Object.getModifiedTime (file://.../node_modules/@stryker-mutator/typescript-checker/dist/src/typescript-checker.js:84:49)
    at Object.host.getModifiedTime (.../node_modules/typescript/lib/typescript.js:126004:89)
    at Object.getModifiedTime (.../node_modules/typescript/lib/typescript.js:6278:21)
    at getUpToDateStatusWorker (.../node_modules/typescript/lib/typescript.js:127092:37)
    at getUpToDateStatus (.../node_modules/typescript/lib/typescript.js:127220:22)
    at getNextInvalidatedProjectCreateInfo (.../node_modules/typescript/lib/typescript.js:126731:26)
    at getNextInvalidatedProject (.../node_modules/typescript/lib/typescript.js:126794:20)
    at build (.../node_modules/typescript/lib/typescript.js:127365:38)
    at Object.build (.../node_modules/typescript/lib/typescript.js:127573:101)
    at TypescriptChecker.init (file://.../node_modules/@stryker-mutator/typescript-checker/dist/src/typescript-checker.js:97:18)
Error: An error occurred during initialization of the "typescript" checker. Inner error: TypeError: Cannot read properties of undefined (reading 'modifiedTime')
TypeError: Cannot read properties of undefined (reading 'modifiedTime')
    at Object.getModifiedTime (file://.../node_modules/@stryker-mutator/typescript-checker/dist/src/typescript-checker.js:84:49)
    at Object.host.getModifiedTime (.../node_modules/typescript/lib/typescript.js:126004:89)
    at Object.getModifiedTime (.../node_modules/typescript/lib/typescript.js:6278:21)
    at getUpToDateStatusWorker (.../node_modules/typescript/lib/typescript.js:127092:37)
    at getUpToDateStatus (.../node_modules/typescript/lib/typescript.js:127220:22)
    at getNextInvalidatedProjectCreateInfo (.../node_modules/typescript/lib/typescript.js:126731:26)
    at getNextInvalidatedProject (.../node_modules/typescript/lib/typescript.js:126794:20)
    at build (.../node_modules/typescript/lib/typescript.js:127365:38)
    at Object.build (.../node_modules/typescript/lib/typescript.js:127573:101)
    at TypescriptChecker.init (file://.../node_modules/@stryker-mutator/typescript-checker/dist/src/typescript-checker.js:97:18)
    at CheckerWorker.init (file://.../node_modules/@stryker-mutator/core/dist/src/checker/checker-worker.js:14:23)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async ChildProcessProxyWorker.handleCall (file://.../node_modules/@stryker-mutator/core/dist/src/child-proxy/child-process-proxy-worker.js:82:28)
    at ChildProcess.<anonymous> (file://.../node_modules/@stryker-mutator/core/dist/src/child-proxy/child-process-proxy.js:144:68)
    at ChildProcess.emit (node:events:513:28)
    at emit (node:internal/child_process:939:14)
    at processTicksAndRejections (node:internal/process/task_queues:84:21) {
  innerError: undefined
}
00:14:02 (60495) INFO Stryker This might be a known problem with a solution documented in our troubleshooting guide.
00:14:02 (60495) INFO Stryker You can find it at https://stryker-mutator.io/docs/stryker-js/troubleshooting/
00:14:02 (60495) DEBUG ChildProcessProxy Disposing of worker process 60514
00:14:02 (60495) DEBUG ChildProcessProxy Disposing of worker process 60520
00:14:02 (60495) DEBUG ChildProcessProxy Kill 60514
00:14:02 (60495) DEBUG ChildProcessProxy Kill 60520
ericcornelissen commented 1 year ago

I did a little bit more digging after also observing this issue in one of my other projects, here's what I found.

For some reason, the line

https://github.com/stryker-mutator/stryker-js/blob/a38cea59098147a88d6d51b77a4747020fb6ff7d/packages/typescript-checker/src/typescript-checker.ts#L95

is sometimes receiving file paths for .js files in the TypeScript source directory that should instead be in the TypeScript output directory, for example:

// actual
fileName=".../packages/benchmarking/src/index.js"
// expected(?)
fileName=".../packages/benchmarking/build/index.js"

it makes sense that this results in this.fs.getFile(fileName) evaluating to undefined and hence the lookup for modifiedTime failing.

As far as I'm able to tell this simply doesn't happen with TypeScript v4.7.4...

nicojs commented 1 year ago

Thanks for the clear issue. Apparently, TS 4.8 calls getModifiedTime before validating the file actually exists. This is a quick fix, as it allows undefined as the return value.