@d-es-ign/stryker-js-core 9.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +96 -0
- package/bin/stryker +2 -0
- package/bin/stryker.js +6 -0
- package/dist/src/checker/checker-child-process-proxy.d.ts +16 -0
- package/dist/src/checker/checker-child-process-proxy.d.ts.map +1 -0
- package/dist/src/checker/checker-child-process-proxy.js +22 -0
- package/dist/src/checker/checker-child-process-proxy.js.map +1 -0
- package/dist/src/checker/checker-facade.d.ts +9 -0
- package/dist/src/checker/checker-facade.d.ts.map +1 -0
- package/dist/src/checker/checker-facade.js +52 -0
- package/dist/src/checker/checker-facade.js.map +1 -0
- package/dist/src/checker/checker-factory.d.ts +10 -0
- package/dist/src/checker/checker-factory.d.ts.map +1 -0
- package/dist/src/checker/checker-factory.js +10 -0
- package/dist/src/checker/checker-factory.js.map +1 -0
- package/dist/src/checker/checker-resource.d.ts +8 -0
- package/dist/src/checker/checker-resource.d.ts.map +1 -0
- package/dist/src/checker/checker-resource.js +2 -0
- package/dist/src/checker/checker-resource.js.map +1 -0
- package/dist/src/checker/checker-retry-decorator.d.ts +12 -0
- package/dist/src/checker/checker-retry-decorator.d.ts.map +1 -0
- package/dist/src/checker/checker-retry-decorator.js +37 -0
- package/dist/src/checker/checker-retry-decorator.js.map +1 -0
- package/dist/src/checker/checker-worker.d.ts +14 -0
- package/dist/src/checker/checker-worker.d.ts.map +1 -0
- package/dist/src/checker/checker-worker.js +41 -0
- package/dist/src/checker/checker-worker.js.map +1 -0
- package/dist/src/checker/index.d.ts +4 -0
- package/dist/src/checker/index.d.ts.map +1 -0
- package/dist/src/checker/index.js +4 -0
- package/dist/src/checker/index.js.map +1 -0
- package/dist/src/child-proxy/child-process-crashed-error.d.ts +8 -0
- package/dist/src/child-proxy/child-process-crashed-error.d.ts.map +1 -0
- package/dist/src/child-proxy/child-process-crashed-error.js +16 -0
- package/dist/src/child-proxy/child-process-crashed-error.js.map +1 -0
- package/dist/src/child-proxy/child-process-proxy-worker.d.ts +32 -0
- package/dist/src/child-proxy/child-process-proxy-worker.d.ts.map +1 -0
- package/dist/src/child-proxy/child-process-proxy-worker.js +148 -0
- package/dist/src/child-proxy/child-process-proxy-worker.js.map +1 -0
- package/dist/src/child-proxy/child-process-proxy.d.ts +45 -0
- package/dist/src/child-proxy/child-process-proxy.d.ts.map +1 -0
- package/dist/src/child-proxy/child-process-proxy.js +232 -0
- package/dist/src/child-proxy/child-process-proxy.js.map +1 -0
- package/dist/src/child-proxy/id-generator.d.ts +5 -0
- package/dist/src/child-proxy/id-generator.d.ts.map +1 -0
- package/dist/src/child-proxy/id-generator.js +7 -0
- package/dist/src/child-proxy/id-generator.js.map +1 -0
- package/dist/src/child-proxy/message-protocol.d.ts +71 -0
- package/dist/src/child-proxy/message-protocol.d.ts.map +1 -0
- package/dist/src/child-proxy/message-protocol.js +34 -0
- package/dist/src/child-proxy/message-protocol.js.map +1 -0
- package/dist/src/child-proxy/out-of-memory-error.d.ts +5 -0
- package/dist/src/child-proxy/out-of-memory-error.d.ts.map +1 -0
- package/dist/src/child-proxy/out-of-memory-error.js +11 -0
- package/dist/src/child-proxy/out-of-memory-error.js.map +1 -0
- package/dist/src/concurrent/concurrency-token-provider.d.ts +20 -0
- package/dist/src/concurrent/concurrency-token-provider.d.ts.map +1 -0
- package/dist/src/concurrent/concurrency-token-provider.js +68 -0
- package/dist/src/concurrent/concurrency-token-provider.js.map +1 -0
- package/dist/src/concurrent/index.d.ts +4 -0
- package/dist/src/concurrent/index.d.ts.map +1 -0
- package/dist/src/concurrent/index.js +4 -0
- package/dist/src/concurrent/index.js.map +1 -0
- package/dist/src/concurrent/pool.d.ts +49 -0
- package/dist/src/concurrent/pool.d.ts.map +1 -0
- package/dist/src/concurrent/pool.js +137 -0
- package/dist/src/concurrent/pool.js.map +1 -0
- package/dist/src/concurrent/resource-decorator.d.ts +14 -0
- package/dist/src/concurrent/resource-decorator.d.ts.map +1 -0
- package/dist/src/concurrent/resource-decorator.js +24 -0
- package/dist/src/concurrent/resource-decorator.js.map +1 -0
- package/dist/src/config/config-file-formats.d.ts +6 -0
- package/dist/src/config/config-file-formats.d.ts.map +1 -0
- package/dist/src/config/config-file-formats.js +23 -0
- package/dist/src/config/config-file-formats.js.map +1 -0
- package/dist/src/config/config-reader.d.ts +23 -0
- package/dist/src/config/config-reader.d.ts.map +1 -0
- package/dist/src/config/config-reader.js +141 -0
- package/dist/src/config/config-reader.js.map +1 -0
- package/dist/src/config/file-matcher.d.ts +10 -0
- package/dist/src/config/file-matcher.d.ts.map +1 -0
- package/dist/src/config/file-matcher.js +31 -0
- package/dist/src/config/file-matcher.js.map +1 -0
- package/dist/src/config/index.d.ts +6 -0
- package/dist/src/config/index.d.ts.map +1 -0
- package/dist/src/config/index.js +6 -0
- package/dist/src/config/index.js.map +1 -0
- package/dist/src/config/meta-schema-builder.d.ts +10 -0
- package/dist/src/config/meta-schema-builder.d.ts.map +1 -0
- package/dist/src/config/meta-schema-builder.js +30 -0
- package/dist/src/config/meta-schema-builder.js.map +1 -0
- package/dist/src/config/options-validator.d.ts +28 -0
- package/dist/src/config/options-validator.d.ts.map +1 -0
- package/dist/src/config/options-validator.js +213 -0
- package/dist/src/config/options-validator.js.map +1 -0
- package/dist/src/config/validation-errors.d.ts +7 -0
- package/dist/src/config/validation-errors.d.ts.map +1 -0
- package/dist/src/config/validation-errors.js +154 -0
- package/dist/src/config/validation-errors.js.map +1 -0
- package/dist/src/di/core-tokens.d.ts +40 -0
- package/dist/src/di/core-tokens.d.ts.map +1 -0
- package/dist/src/di/core-tokens.js +40 -0
- package/dist/src/di/core-tokens.js.map +1 -0
- package/dist/src/di/index.d.ts +4 -0
- package/dist/src/di/index.d.ts.map +1 -0
- package/dist/src/di/index.js +4 -0
- package/dist/src/di/index.js.map +1 -0
- package/dist/src/di/plugin-creator.d.ts +10 -0
- package/dist/src/di/plugin-creator.d.ts.map +1 -0
- package/dist/src/di/plugin-creator.js +51 -0
- package/dist/src/di/plugin-creator.js.map +1 -0
- package/dist/src/di/plugin-loader.d.ts +41 -0
- package/dist/src/di/plugin-loader.d.ts.map +1 -0
- package/dist/src/di/plugin-loader.js +153 -0
- package/dist/src/di/plugin-loader.js.map +1 -0
- package/dist/src/errors.d.ts +5 -0
- package/dist/src/errors.d.ts.map +1 -0
- package/dist/src/errors.js +13 -0
- package/dist/src/errors.js.map +1 -0
- package/dist/src/fs/file-system.d.ts +19 -0
- package/dist/src/fs/file-system.d.ts.map +1 -0
- package/dist/src/fs/file-system.js +52 -0
- package/dist/src/fs/file-system.js.map +1 -0
- package/dist/src/fs/index.d.ts +5 -0
- package/dist/src/fs/index.d.ts.map +1 -0
- package/dist/src/fs/index.js +5 -0
- package/dist/src/fs/index.js.map +1 -0
- package/dist/src/fs/project-file.d.ts +26 -0
- package/dist/src/fs/project-file.d.ts.map +1 -0
- package/dist/src/fs/project-file.js +87 -0
- package/dist/src/fs/project-file.js.map +1 -0
- package/dist/src/fs/project-reader.d.ts +51 -0
- package/dist/src/fs/project-reader.d.ts.map +1 -0
- package/dist/src/fs/project-reader.js +335 -0
- package/dist/src/fs/project-reader.js.map +1 -0
- package/dist/src/fs/project.d.ts +22 -0
- package/dist/src/fs/project.d.ts.map +1 -0
- package/dist/src/fs/project.js +65 -0
- package/dist/src/fs/project.js.map +1 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +6 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/initializer/custom-initializers/angular-initializer.d.ts +17 -0
- package/dist/src/initializer/custom-initializers/angular-initializer.d.ts.map +1 -0
- package/dist/src/initializer/custom-initializers/angular-initializer.js +74 -0
- package/dist/src/initializer/custom-initializers/angular-initializer.js.map +1 -0
- package/dist/src/initializer/custom-initializers/custom-initializer.d.ts +13 -0
- package/dist/src/initializer/custom-initializers/custom-initializer.d.ts.map +1 -0
- package/dist/src/initializer/custom-initializers/custom-initializer.js +2 -0
- package/dist/src/initializer/custom-initializers/custom-initializer.js.map +1 -0
- package/dist/src/initializer/custom-initializers/index.d.ts +14 -0
- package/dist/src/initializer/custom-initializers/index.d.ts.map +1 -0
- package/dist/src/initializer/custom-initializers/index.js +16 -0
- package/dist/src/initializer/custom-initializers/index.js.map +1 -0
- package/dist/src/initializer/custom-initializers/react-initializer.d.ts +12 -0
- package/dist/src/initializer/custom-initializers/react-initializer.d.ts.map +1 -0
- package/dist/src/initializer/custom-initializers/react-initializer.js +25 -0
- package/dist/src/initializer/custom-initializers/react-initializer.js.map +1 -0
- package/dist/src/initializer/custom-initializers/svelte-initializer.d.ts +6 -0
- package/dist/src/initializer/custom-initializers/svelte-initializer.d.ts.map +1 -0
- package/dist/src/initializer/custom-initializers/svelte-initializer.js +33 -0
- package/dist/src/initializer/custom-initializers/svelte-initializer.js.map +1 -0
- package/dist/src/initializer/custom-initializers/vue-js-initializer.d.ts +11 -0
- package/dist/src/initializer/custom-initializers/vue-js-initializer.d.ts.map +1 -0
- package/dist/src/initializer/custom-initializers/vue-js-initializer.js +20 -0
- package/dist/src/initializer/custom-initializers/vue-js-initializer.js.map +1 -0
- package/dist/src/initializer/gitignore-writer.d.ts +7 -0
- package/dist/src/initializer/gitignore-writer.d.ts.map +1 -0
- package/dist/src/initializer/gitignore-writer.js +28 -0
- package/dist/src/initializer/gitignore-writer.js.map +1 -0
- package/dist/src/initializer/index.d.ts +6 -0
- package/dist/src/initializer/index.d.ts.map +1 -0
- package/dist/src/initializer/index.js +29 -0
- package/dist/src/initializer/index.js.map +1 -0
- package/dist/src/initializer/initializer-tokens.d.ts +9 -0
- package/dist/src/initializer/initializer-tokens.d.ts.map +1 -0
- package/dist/src/initializer/initializer-tokens.js +9 -0
- package/dist/src/initializer/initializer-tokens.js.map +1 -0
- package/dist/src/initializer/inquire.d.ts +12 -0
- package/dist/src/initializer/inquire.d.ts.map +1 -0
- package/dist/src/initializer/inquire.js +12 -0
- package/dist/src/initializer/inquire.js.map +1 -0
- package/dist/src/initializer/npm-client.d.ts +22 -0
- package/dist/src/initializer/npm-client.d.ts.map +1 -0
- package/dist/src/initializer/npm-client.js +65 -0
- package/dist/src/initializer/npm-client.js.map +1 -0
- package/dist/src/initializer/npm-registry.d.ts +13 -0
- package/dist/src/initializer/npm-registry.d.ts.map +1 -0
- package/dist/src/initializer/npm-registry.js +36 -0
- package/dist/src/initializer/npm-registry.js.map +1 -0
- package/dist/src/initializer/package-info.d.ts +10 -0
- package/dist/src/initializer/package-info.d.ts.map +1 -0
- package/dist/src/initializer/package-info.js +2 -0
- package/dist/src/initializer/package-info.js.map +1 -0
- package/dist/src/initializer/prompt-option.d.ts +6 -0
- package/dist/src/initializer/prompt-option.d.ts.map +1 -0
- package/dist/src/initializer/prompt-option.js +2 -0
- package/dist/src/initializer/prompt-option.js.map +1 -0
- package/dist/src/initializer/stryker-config-writer.d.ts +27 -0
- package/dist/src/initializer/stryker-config-writer.d.ts.map +1 -0
- package/dist/src/initializer/stryker-config-writer.js +106 -0
- package/dist/src/initializer/stryker-config-writer.js.map +1 -0
- package/dist/src/initializer/stryker-initializer.d.ts +45 -0
- package/dist/src/initializer/stryker-initializer.d.ts.map +1 -0
- package/dist/src/initializer/stryker-initializer.js +184 -0
- package/dist/src/initializer/stryker-initializer.js.map +1 -0
- package/dist/src/initializer/stryker-inquirer.d.ts +15 -0
- package/dist/src/initializer/stryker-inquirer.d.ts.map +1 -0
- package/dist/src/initializer/stryker-inquirer.js +72 -0
- package/dist/src/initializer/stryker-inquirer.js.map +1 -0
- package/dist/src/logging/index.d.ts +6 -0
- package/dist/src/logging/index.d.ts.map +1 -0
- package/dist/src/logging/index.js +5 -0
- package/dist/src/logging/index.js.map +1 -0
- package/dist/src/logging/logger-impl.d.ts +19 -0
- package/dist/src/logging/logger-impl.d.ts.map +1 -0
- package/dist/src/logging/logger-impl.js +64 -0
- package/dist/src/logging/logger-impl.js.map +1 -0
- package/dist/src/logging/logging-backend.d.ts +22 -0
- package/dist/src/logging/logging-backend.d.ts.map +1 -0
- package/dist/src/logging/logging-backend.js +65 -0
- package/dist/src/logging/logging-backend.js.map +1 -0
- package/dist/src/logging/logging-client.d.ts +16 -0
- package/dist/src/logging/logging-client.d.ts.map +1 -0
- package/dist/src/logging/logging-client.js +44 -0
- package/dist/src/logging/logging-client.js.map +1 -0
- package/dist/src/logging/logging-event.d.ts +23 -0
- package/dist/src/logging/logging-event.d.ts.map +1 -0
- package/dist/src/logging/logging-event.js +63 -0
- package/dist/src/logging/logging-event.js.map +1 -0
- package/dist/src/logging/logging-server.d.ts +15 -0
- package/dist/src/logging/logging-server.d.ts.map +1 -0
- package/dist/src/logging/logging-server.js +43 -0
- package/dist/src/logging/logging-server.js.map +1 -0
- package/dist/src/logging/logging-sink.d.ts +7 -0
- package/dist/src/logging/logging-sink.d.ts.map +1 -0
- package/dist/src/logging/logging-sink.js +2 -0
- package/dist/src/logging/logging-sink.js.map +1 -0
- package/dist/src/logging/priority.d.ts +12 -0
- package/dist/src/logging/priority.d.ts.map +1 -0
- package/dist/src/logging/priority.js +13 -0
- package/dist/src/logging/priority.js.map +1 -0
- package/dist/src/logging/provide-logging.d.ts +30 -0
- package/dist/src/logging/provide-logging.d.ts.map +1 -0
- package/dist/src/logging/provide-logging.js +45 -0
- package/dist/src/logging/provide-logging.js.map +1 -0
- package/dist/src/mutants/diff-statistics-collector.d.ts +14 -0
- package/dist/src/mutants/diff-statistics-collector.d.ts.map +1 -0
- package/dist/src/mutants/diff-statistics-collector.js +40 -0
- package/dist/src/mutants/diff-statistics-collector.js.map +1 -0
- package/dist/src/mutants/incremental-differ.d.ts +39 -0
- package/dist/src/mutants/incremental-differ.d.ts.map +1 -0
- package/dist/src/mutants/incremental-differ.js +547 -0
- package/dist/src/mutants/incremental-differ.js.map +1 -0
- package/dist/src/mutants/index.d.ts +4 -0
- package/dist/src/mutants/index.d.ts.map +1 -0
- package/dist/src/mutants/index.js +4 -0
- package/dist/src/mutants/index.js.map +1 -0
- package/dist/src/mutants/mutant-test-planner.d.ts +36 -0
- package/dist/src/mutants/mutant-test-planner.d.ts.map +1 -0
- package/dist/src/mutants/mutant-test-planner.js +237 -0
- package/dist/src/mutants/mutant-test-planner.js.map +1 -0
- package/dist/src/mutants/test-coverage.d.ts +22 -0
- package/dist/src/mutants/test-coverage.d.ts.map +1 -0
- package/dist/src/mutants/test-coverage.js +87 -0
- package/dist/src/mutants/test-coverage.js.map +1 -0
- package/dist/src/process/1-prepare-executor.d.ts +22 -0
- package/dist/src/process/1-prepare-executor.d.ts.map +1 -0
- package/dist/src/process/1-prepare-executor.js +86 -0
- package/dist/src/process/1-prepare-executor.js.map +1 -0
- package/dist/src/process/2-mutant-instrumenter-executor.d.ts +39 -0
- package/dist/src/process/2-mutant-instrumenter-executor.d.ts.map +1 -0
- package/dist/src/process/2-mutant-instrumenter-executor.js +58 -0
- package/dist/src/process/2-mutant-instrumenter-executor.js.map +1 -0
- package/dist/src/process/3-dry-run-executor.d.ts +50 -0
- package/dist/src/process/3-dry-run-executor.d.ts.map +1 -0
- package/dist/src/process/3-dry-run-executor.js +164 -0
- package/dist/src/process/3-dry-run-executor.js.map +1 -0
- package/dist/src/process/4-mutation-test-executor.d.ts +56 -0
- package/dist/src/process/4-mutation-test-executor.d.ts.map +1 -0
- package/dist/src/process/4-mutation-test-executor.js +152 -0
- package/dist/src/process/4-mutation-test-executor.js.map +1 -0
- package/dist/src/process/index.d.ts +5 -0
- package/dist/src/process/index.d.ts.map +1 -0
- package/dist/src/process/index.js +5 -0
- package/dist/src/process/index.js.map +1 -0
- package/dist/src/reporters/broadcast-reporter.d.ts +25 -0
- package/dist/src/reporters/broadcast-reporter.d.ts.map +1 -0
- package/dist/src/reporters/broadcast-reporter.js +74 -0
- package/dist/src/reporters/broadcast-reporter.js.map +1 -0
- package/dist/src/reporters/ci/circle-provider.d.ts +11 -0
- package/dist/src/reporters/ci/circle-provider.d.ts.map +1 -0
- package/dist/src/reporters/ci/circle-provider.js +33 -0
- package/dist/src/reporters/ci/circle-provider.js.map +1 -0
- package/dist/src/reporters/ci/github-actions-provider.d.ts +9 -0
- package/dist/src/reporters/ci/github-actions-provider.d.ts.map +1 -0
- package/dist/src/reporters/ci/github-actions-provider.js +21 -0
- package/dist/src/reporters/ci/github-actions-provider.js.map +1 -0
- package/dist/src/reporters/ci/provider.d.ts +22 -0
- package/dist/src/reporters/ci/provider.d.ts.map +1 -0
- package/dist/src/reporters/ci/provider.js +24 -0
- package/dist/src/reporters/ci/provider.js.map +1 -0
- package/dist/src/reporters/ci/travis-provider.d.ts +9 -0
- package/dist/src/reporters/ci/travis-provider.d.ts.map +1 -0
- package/dist/src/reporters/ci/travis-provider.js +19 -0
- package/dist/src/reporters/ci/travis-provider.js.map +1 -0
- package/dist/src/reporters/clear-text-reporter.d.ts +23 -0
- package/dist/src/reporters/clear-text-reporter.d.ts.map +1 -0
- package/dist/src/reporters/clear-text-reporter.js +174 -0
- package/dist/src/reporters/clear-text-reporter.js.map +1 -0
- package/dist/src/reporters/clear-text-score-table.d.ts +22 -0
- package/dist/src/reporters/clear-text-score-table.d.ts.map +1 -0
- package/dist/src/reporters/clear-text-score-table.js +191 -0
- package/dist/src/reporters/clear-text-score-table.js.map +1 -0
- package/dist/src/reporters/dashboard-reporter/dashboard-reporter-client.d.ts +19 -0
- package/dist/src/reporters/dashboard-reporter/dashboard-reporter-client.d.ts.map +1 -0
- package/dist/src/reporters/dashboard-reporter/dashboard-reporter-client.js +54 -0
- package/dist/src/reporters/dashboard-reporter/dashboard-reporter-client.js.map +1 -0
- package/dist/src/reporters/dashboard-reporter/dashboard-reporter.d.ts +21 -0
- package/dist/src/reporters/dashboard-reporter/dashboard-reporter.d.ts.map +1 -0
- package/dist/src/reporters/dashboard-reporter/dashboard-reporter.js +62 -0
- package/dist/src/reporters/dashboard-reporter/dashboard-reporter.js.map +1 -0
- package/dist/src/reporters/dashboard-reporter/index.d.ts +7 -0
- package/dist/src/reporters/dashboard-reporter/index.d.ts.map +1 -0
- package/dist/src/reporters/dashboard-reporter/index.js +15 -0
- package/dist/src/reporters/dashboard-reporter/index.js.map +1 -0
- package/dist/src/reporters/dashboard-reporter/report.d.ts +6 -0
- package/dist/src/reporters/dashboard-reporter/report.d.ts.map +1 -0
- package/dist/src/reporters/dashboard-reporter/report.js +2 -0
- package/dist/src/reporters/dashboard-reporter/report.js.map +1 -0
- package/dist/src/reporters/dashboard-reporter/tokens.d.ts +6 -0
- package/dist/src/reporters/dashboard-reporter/tokens.d.ts.map +1 -0
- package/dist/src/reporters/dashboard-reporter/tokens.js +6 -0
- package/dist/src/reporters/dashboard-reporter/tokens.js.map +1 -0
- package/dist/src/reporters/dots-reporter.d.ts +7 -0
- package/dist/src/reporters/dots-reporter.d.ts.map +1 -0
- package/dist/src/reporters/dots-reporter.js +29 -0
- package/dist/src/reporters/dots-reporter.js.map +1 -0
- package/dist/src/reporters/event-recorder-reporter.d.ts +22 -0
- package/dist/src/reporters/event-recorder-reporter.d.ts.map +1 -0
- package/dist/src/reporters/event-recorder-reporter.js +53 -0
- package/dist/src/reporters/event-recorder-reporter.js.map +1 -0
- package/dist/src/reporters/html-reporter.d.ts +14 -0
- package/dist/src/reporters/html-reporter.d.ts.map +1 -0
- package/dist/src/reporters/html-reporter.js +65 -0
- package/dist/src/reporters/html-reporter.js.map +1 -0
- package/dist/src/reporters/index.d.ts +6 -0
- package/dist/src/reporters/index.d.ts.map +1 -0
- package/dist/src/reporters/index.js +24 -0
- package/dist/src/reporters/index.js.map +1 -0
- package/dist/src/reporters/json-reporter.d.ts +15 -0
- package/dist/src/reporters/json-reporter.d.ts.map +1 -0
- package/dist/src/reporters/json-reporter.js +29 -0
- package/dist/src/reporters/json-reporter.js.map +1 -0
- package/dist/src/reporters/mutation-test-report-helper.d.ts +40 -0
- package/dist/src/reporters/mutation-test-report-helper.d.ts.map +1 -0
- package/dist/src/reporters/mutation-test-report-helper.js +298 -0
- package/dist/src/reporters/mutation-test-report-helper.js.map +1 -0
- package/dist/src/reporters/mutation-timings-reporter.d.ts +14 -0
- package/dist/src/reporters/mutation-timings-reporter.d.ts.map +1 -0
- package/dist/src/reporters/mutation-timings-reporter.js +49 -0
- package/dist/src/reporters/mutation-timings-reporter.js.map +1 -0
- package/dist/src/reporters/progress-append-only-reporter.d.ts +10 -0
- package/dist/src/reporters/progress-append-only-reporter.d.ts.map +1 -0
- package/dist/src/reporters/progress-append-only-reporter.js +25 -0
- package/dist/src/reporters/progress-append-only-reporter.js.map +1 -0
- package/dist/src/reporters/progress-bar.d.ts +8 -0
- package/dist/src/reporters/progress-bar.d.ts.map +1 -0
- package/dist/src/reporters/progress-bar.js +6 -0
- package/dist/src/reporters/progress-bar.js.map +1 -0
- package/dist/src/reporters/progress-keeper.d.ts +27 -0
- package/dist/src/reporters/progress-keeper.d.ts.map +1 -0
- package/dist/src/reporters/progress-keeper.js +77 -0
- package/dist/src/reporters/progress-keeper.js.map +1 -0
- package/dist/src/reporters/progress-reporter.d.ts +11 -0
- package/dist/src/reporters/progress-reporter.d.ts.map +1 -0
- package/dist/src/reporters/progress-reporter.js +40 -0
- package/dist/src/reporters/progress-reporter.js.map +1 -0
- package/dist/src/reporters/reporter-util.d.ts +5 -0
- package/dist/src/reporters/reporter-util.d.ts.map +1 -0
- package/dist/src/reporters/reporter-util.js +19 -0
- package/dist/src/reporters/reporter-util.js.map +1 -0
- package/dist/src/reporters/strict-reporter.d.ts +3 -0
- package/dist/src/reporters/strict-reporter.d.ts.map +1 -0
- package/dist/src/reporters/strict-reporter.js +2 -0
- package/dist/src/reporters/strict-reporter.js.map +1 -0
- package/dist/src/sandbox/create-preprocessor.d.ts +7 -0
- package/dist/src/sandbox/create-preprocessor.d.ts.map +1 -0
- package/dist/src/sandbox/create-preprocessor.js +16 -0
- package/dist/src/sandbox/create-preprocessor.js.map +1 -0
- package/dist/src/sandbox/disable-type-checks-preprocessor.d.ts +18 -0
- package/dist/src/sandbox/disable-type-checks-preprocessor.d.ts.map +1 -0
- package/dist/src/sandbox/disable-type-checks-preprocessor.js +43 -0
- package/dist/src/sandbox/disable-type-checks-preprocessor.js.map +1 -0
- package/dist/src/sandbox/file-preprocessor.d.ts +10 -0
- package/dist/src/sandbox/file-preprocessor.d.ts.map +1 -0
- package/dist/src/sandbox/file-preprocessor.js +2 -0
- package/dist/src/sandbox/file-preprocessor.js.map +1 -0
- package/dist/src/sandbox/index.d.ts +4 -0
- package/dist/src/sandbox/index.d.ts.map +1 -0
- package/dist/src/sandbox/index.js +3 -0
- package/dist/src/sandbox/index.js.map +1 -0
- package/dist/src/sandbox/multi-preprocessor.d.ts +8 -0
- package/dist/src/sandbox/multi-preprocessor.d.ts.map +1 -0
- package/dist/src/sandbox/multi-preprocessor.js +12 -0
- package/dist/src/sandbox/multi-preprocessor.js.map +1 -0
- package/dist/src/sandbox/sandbox.d.ts +43 -0
- package/dist/src/sandbox/sandbox.d.ts.map +1 -0
- package/dist/src/sandbox/sandbox.js +134 -0
- package/dist/src/sandbox/sandbox.js.map +1 -0
- package/dist/src/sandbox/ts-config-preprocessor.d.ts +46 -0
- package/dist/src/sandbox/ts-config-preprocessor.d.ts.map +1 -0
- package/dist/src/sandbox/ts-config-preprocessor.js +112 -0
- package/dist/src/sandbox/ts-config-preprocessor.js.map +1 -0
- package/dist/src/stryker-cli.d.ts +15 -0
- package/dist/src/stryker-cli.d.ts.map +1 -0
- package/dist/src/stryker-cli.js +168 -0
- package/dist/src/stryker-cli.js.map +1 -0
- package/dist/src/stryker-package.d.ts +5 -0
- package/dist/src/stryker-package.d.ts.map +1 -0
- package/dist/src/stryker-package.js +7 -0
- package/dist/src/stryker-package.js.map +1 -0
- package/dist/src/stryker-server.d.ts +40 -0
- package/dist/src/stryker-server.d.ts.map +1 -0
- package/dist/src/stryker-server.js +234 -0
- package/dist/src/stryker-server.js.map +1 -0
- package/dist/src/stryker.d.ts +31 -0
- package/dist/src/stryker.d.ts.map +1 -0
- package/dist/src/stryker.js +86 -0
- package/dist/src/stryker.js.map +1 -0
- package/dist/src/test-runner/child-process-test-runner-proxy.d.ts +19 -0
- package/dist/src/test-runner/child-process-test-runner-proxy.d.ts.map +1 -0
- package/dist/src/test-runner/child-process-test-runner-proxy.js +45 -0
- package/dist/src/test-runner/child-process-test-runner-proxy.js.map +1 -0
- package/dist/src/test-runner/child-process-test-runner-worker.d.ts +14 -0
- package/dist/src/test-runner/child-process-test-runner-worker.d.ts.map +1 -0
- package/dist/src/test-runner/child-process-test-runner-worker.js +45 -0
- package/dist/src/test-runner/child-process-test-runner-worker.js.map +1 -0
- package/dist/src/test-runner/command-test-runner.d.ts +31 -0
- package/dist/src/test-runner/command-test-runner.d.ts.map +1 -0
- package/dist/src/test-runner/command-test-runner.js +144 -0
- package/dist/src/test-runner/command-test-runner.js.map +1 -0
- package/dist/src/test-runner/index.d.ts +11 -0
- package/dist/src/test-runner/index.d.ts.map +1 -0
- package/dist/src/test-runner/index.js +18 -0
- package/dist/src/test-runner/index.js.map +1 -0
- package/dist/src/test-runner/max-test-runner-reuse-decorator.d.ts +14 -0
- package/dist/src/test-runner/max-test-runner-reuse-decorator.d.ts.map +1 -0
- package/dist/src/test-runner/max-test-runner-reuse-decorator.js +25 -0
- package/dist/src/test-runner/max-test-runner-reuse-decorator.js.map +1 -0
- package/dist/src/test-runner/reload-environment-decorator.d.ts +11 -0
- package/dist/src/test-runner/reload-environment-decorator.d.ts.map +1 -0
- package/dist/src/test-runner/reload-environment-decorator.js +56 -0
- package/dist/src/test-runner/reload-environment-decorator.js.map +1 -0
- package/dist/src/test-runner/retry-rejected-decorator.d.ts +15 -0
- package/dist/src/test-runner/retry-rejected-decorator.d.ts.map +1 -0
- package/dist/src/test-runner/retry-rejected-decorator.js +59 -0
- package/dist/src/test-runner/retry-rejected-decorator.js.map +1 -0
- package/dist/src/test-runner/test-runner-decorator.d.ts +8 -0
- package/dist/src/test-runner/test-runner-decorator.d.ts.map +1 -0
- package/dist/src/test-runner/test-runner-decorator.js +13 -0
- package/dist/src/test-runner/test-runner-decorator.js.map +1 -0
- package/dist/src/test-runner/timeout-decorator.d.ts +15 -0
- package/dist/src/test-runner/timeout-decorator.d.ts.map +1 -0
- package/dist/src/test-runner/timeout-decorator.js +51 -0
- package/dist/src/test-runner/timeout-decorator.js.map +1 -0
- package/dist/src/unexpected-exit-handler.d.ts +13 -0
- package/dist/src/unexpected-exit-handler.d.ts.map +1 -0
- package/dist/src/unexpected-exit-handler.js +28 -0
- package/dist/src/unexpected-exit-handler.js.map +1 -0
- package/dist/src/utils/file-utils.d.ts +30 -0
- package/dist/src/utils/file-utils.d.ts.map +1 -0
- package/dist/src/utils/file-utils.js +101 -0
- package/dist/src/utils/file-utils.js.map +1 -0
- package/dist/src/utils/index.d.ts +7 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/index.js +7 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/src/utils/json-rpc-event-deserializer.d.ts +5 -0
- package/dist/src/utils/json-rpc-event-deserializer.d.ts.map +1 -0
- package/dist/src/utils/json-rpc-event-deserializer.js +42 -0
- package/dist/src/utils/json-rpc-event-deserializer.js.map +1 -0
- package/dist/src/utils/object-utils.d.ts +37 -0
- package/dist/src/utils/object-utils.d.ts.map +1 -0
- package/dist/src/utils/object-utils.js +91 -0
- package/dist/src/utils/object-utils.js.map +1 -0
- package/dist/src/utils/string-builder.d.ts +9 -0
- package/dist/src/utils/string-builder.d.ts.map +1 -0
- package/dist/src/utils/string-builder.js +26 -0
- package/dist/src/utils/string-builder.js.map +1 -0
- package/dist/src/utils/string-utils.d.ts +12 -0
- package/dist/src/utils/string-utils.d.ts.map +1 -0
- package/dist/src/utils/string-utils.js +54 -0
- package/dist/src/utils/string-utils.js.map +1 -0
- package/dist/src/utils/temporary-directory.d.ts +18 -0
- package/dist/src/utils/temporary-directory.d.ts.map +1 -0
- package/dist/src/utils/temporary-directory.js +63 -0
- package/dist/src/utils/temporary-directory.js.map +1 -0
- package/dist/src/utils/timer.d.ts +14 -0
- package/dist/src/utils/timer.d.ts.map +1 -0
- package/dist/src/utils/timer.js +53 -0
- package/dist/src/utils/timer.js.map +1 -0
- package/package.json +106 -0
- package/schema/stryker-schema.json +855 -0
- package/src/checker/checker-child-process-proxy.ts +67 -0
- package/src/checker/checker-facade.ts +90 -0
- package/src/checker/checker-factory.ts +46 -0
- package/src/checker/checker-resource.ts +12 -0
- package/src/checker/checker-retry-decorator.ts +57 -0
- package/src/checker/checker-worker.ts +62 -0
- package/src/checker/index.ts +3 -0
- package/src/child-proxy/child-process-crashed-error.ts +16 -0
- package/src/child-proxy/child-process-proxy-worker.ts +203 -0
- package/src/child-proxy/child-process-proxy.ts +353 -0
- package/src/child-proxy/id-generator.ts +6 -0
- package/src/child-proxy/message-protocol.ts +87 -0
- package/src/child-proxy/out-of-memory-error.ts +11 -0
- package/src/concurrent/concurrency-token-provider.ts +106 -0
- package/src/concurrent/index.ts +3 -0
- package/src/concurrent/pool.ts +209 -0
- package/src/concurrent/resource-decorator.ts +28 -0
- package/src/config/config-file-formats.ts +31 -0
- package/src/config/config-reader.ts +193 -0
- package/src/config/file-matcher.ts +36 -0
- package/src/config/index.ts +5 -0
- package/src/config/meta-schema-builder.ts +50 -0
- package/src/config/options-validator.ts +317 -0
- package/src/config/validation-errors.ts +192 -0
- package/src/di/core-tokens.ts +39 -0
- package/src/di/index.ts +4 -0
- package/src/di/plugin-creator.ts +102 -0
- package/src/di/plugin-loader.ts +245 -0
- package/src/errors.ts +12 -0
- package/src/fs/file-system.ts +63 -0
- package/src/fs/index.ts +4 -0
- package/src/fs/project-file.ts +100 -0
- package/src/fs/project-reader.ts +493 -0
- package/src/fs/project.ts +98 -0
- package/src/index.ts +7 -0
- package/src/initializer/custom-initializers/angular-initializer.ts +95 -0
- package/src/initializer/custom-initializers/custom-initializer.ts +14 -0
- package/src/initializer/custom-initializers/index.ts +31 -0
- package/src/initializer/custom-initializers/react-initializer.ts +35 -0
- package/src/initializer/custom-initializers/svelte-initializer.ts +40 -0
- package/src/initializer/custom-initializers/vue-js-initializer.ts +30 -0
- package/src/initializer/gitignore-writer.ts +33 -0
- package/src/initializer/index.ts +35 -0
- package/src/initializer/initializer-tokens.ts +8 -0
- package/src/initializer/inquire.ts +17 -0
- package/src/initializer/npm-client.ts +103 -0
- package/src/initializer/npm-registry.ts +48 -0
- package/src/initializer/package-info.ts +10 -0
- package/src/initializer/prompt-option.ts +6 -0
- package/src/initializer/stryker-config-writer.ts +158 -0
- package/src/initializer/stryker-initializer.ts +278 -0
- package/src/initializer/stryker-inquirer.ts +101 -0
- package/src/logging/index.ts +5 -0
- package/src/logging/logger-impl.ts +81 -0
- package/src/logging/logging-backend.ts +90 -0
- package/src/logging/logging-client.ts +56 -0
- package/src/logging/logging-event.ts +94 -0
- package/src/logging/logging-server.ts +56 -0
- package/src/logging/logging-sink.ts +7 -0
- package/src/logging/priority.ts +15 -0
- package/src/logging/provide-logging.ts +70 -0
- package/src/mutants/diff-statistics-collector.ts +47 -0
- package/src/mutants/incremental-differ.ts +771 -0
- package/src/mutants/index.ts +3 -0
- package/src/mutants/mutant-test-planner.ts +357 -0
- package/src/mutants/test-coverage.ts +125 -0
- package/src/process/1-prepare-executor.ts +133 -0
- package/src/process/2-mutant-instrumenter-executor.ts +122 -0
- package/src/process/3-dry-run-executor.ts +262 -0
- package/src/process/4-mutation-test-executor.ts +272 -0
- package/src/process/index.ts +4 -0
- package/src/reporters/broadcast-reporter.ts +129 -0
- package/src/reporters/ci/circle-provider.ts +50 -0
- package/src/reporters/ci/github-actions-provider.ts +22 -0
- package/src/reporters/ci/provider.ts +42 -0
- package/src/reporters/ci/travis-provider.ts +24 -0
- package/src/reporters/clear-text-reporter.ts +245 -0
- package/src/reporters/clear-text-score-table.ts +305 -0
- package/src/reporters/dashboard-reporter/dashboard-reporter-client.ts +89 -0
- package/src/reporters/dashboard-reporter/dashboard-reporter.ts +97 -0
- package/src/reporters/dashboard-reporter/index.ts +30 -0
- package/src/reporters/dashboard-reporter/report.ts +6 -0
- package/src/reporters/dashboard-reporter/tokens.ts +5 -0
- package/src/reporters/dots-reporter.ts +33 -0
- package/src/reporters/event-recorder-reporter.ts +88 -0
- package/src/reporters/html-reporter.ts +87 -0
- package/src/reporters/index.ts +48 -0
- package/src/reporters/json-reporter.ts +45 -0
- package/src/reporters/mutation-test-report-helper.ts +425 -0
- package/src/reporters/mutation-timings-reporter.ts +78 -0
- package/src/reporters/progress-append-only-reporter.ts +36 -0
- package/src/reporters/progress-bar.ts +6 -0
- package/src/reporters/progress-keeper.ts +113 -0
- package/src/reporters/progress-reporter.ts +62 -0
- package/src/reporters/reporter-util.ts +20 -0
- package/src/reporters/strict-reporter.ts +3 -0
- package/src/sandbox/create-preprocessor.ts +27 -0
- package/src/sandbox/disable-type-checks-preprocessor.ts +70 -0
- package/src/sandbox/file-preprocessor.ts +10 -0
- package/src/sandbox/index.ts +3 -0
- package/src/sandbox/multi-preprocessor.ts +13 -0
- package/src/sandbox/sandbox.ts +198 -0
- package/src/sandbox/ts-config-preprocessor.ts +168 -0
- package/src/stryker-cli.ts +363 -0
- package/src/stryker-package.ts +19 -0
- package/src/stryker-server.ts +334 -0
- package/src/stryker.ts +126 -0
- package/src/test-runner/child-process-test-runner-proxy.ts +94 -0
- package/src/test-runner/child-process-test-runner-worker.ts +66 -0
- package/src/test-runner/command-test-runner.ts +190 -0
- package/src/test-runner/index.ts +74 -0
- package/src/test-runner/max-test-runner-reuse-decorator.ts +41 -0
- package/src/test-runner/reload-environment-decorator.ts +72 -0
- package/src/test-runner/retry-rejected-decorator.ts +79 -0
- package/src/test-runner/test-runner-decorator.ts +22 -0
- package/src/test-runner/timeout-decorator.ts +71 -0
- package/src/unexpected-exit-handler.ts +36 -0
- package/src/utils/file-utils.ts +113 -0
- package/src/utils/index.ts +6 -0
- package/src/utils/json-rpc-event-deserializer.ts +48 -0
- package/src/utils/object-utils.ts +106 -0
- package/src/utils/string-builder.ts +30 -0
- package/src/utils/string-utils.ts +61 -0
- package/src/utils/temporary-directory.ts +83 -0
- package/src/utils/timer.ts +58 -0
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { pathToFileURL } from 'url';
|
|
4
|
+
import { commonTokens, tokens } from '@stryker-mutator/api/plugin';
|
|
5
|
+
import { deepMerge } from '@stryker-mutator/util';
|
|
6
|
+
import { coreTokens } from '../di/index.js';
|
|
7
|
+
import { ConfigError } from '../errors.js';
|
|
8
|
+
import { fileUtils } from '../utils/file-utils.js';
|
|
9
|
+
import { SUPPORTED_CONFIG_FILE_NAMES } from './config-file-formats.js';
|
|
10
|
+
export const CONFIG_SYNTAX_HELP = `
|
|
11
|
+
Example of how a config file should look:
|
|
12
|
+
/**
|
|
13
|
+
* @type {import('@stryker-mutator/api/core').StrykerOptions}
|
|
14
|
+
*/
|
|
15
|
+
export default {
|
|
16
|
+
// You're options here!
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
Or using commonjs:
|
|
20
|
+
/**
|
|
21
|
+
* @type {import('@stryker-mutator/api/core').StrykerOptions}
|
|
22
|
+
*/
|
|
23
|
+
module.exports = {
|
|
24
|
+
// You're options here!
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
See https://stryker-mutator.io/docs/stryker-js/config-file for more information.`.trim();
|
|
28
|
+
export class ConfigReader {
|
|
29
|
+
log;
|
|
30
|
+
validator;
|
|
31
|
+
static inject = tokens(commonTokens.logger, coreTokens.optionsValidator);
|
|
32
|
+
constructor(log, validator) {
|
|
33
|
+
this.log = log;
|
|
34
|
+
this.validator = validator;
|
|
35
|
+
}
|
|
36
|
+
async readConfig(cliOptions) {
|
|
37
|
+
const options = await this.loadOptionsFromConfigFile(cliOptions);
|
|
38
|
+
// merge the config from config file and cliOptions (precedence)
|
|
39
|
+
deepMerge(options, cliOptions);
|
|
40
|
+
this.validator.validate(options);
|
|
41
|
+
if (this.log.isDebugEnabled()) {
|
|
42
|
+
this.log.debug(`Loaded config: ${JSON.stringify(options, null, 2)}`);
|
|
43
|
+
}
|
|
44
|
+
return options;
|
|
45
|
+
}
|
|
46
|
+
async loadOptionsFromConfigFile(cliOptions) {
|
|
47
|
+
const configFile = await this.findConfigFile(cliOptions.configFile);
|
|
48
|
+
if (!configFile) {
|
|
49
|
+
this.log.info('No config file specified. Running with command line arguments.');
|
|
50
|
+
this.log.info('Use `stryker init` command to generate your config file.');
|
|
51
|
+
return {};
|
|
52
|
+
}
|
|
53
|
+
this.log.debug(`Loading config from ${configFile}`);
|
|
54
|
+
if (path.extname(configFile).toLocaleLowerCase() === '.json') {
|
|
55
|
+
return this.readJsonConfig(configFile);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
return this.importJSConfig(configFile);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
async findConfigFile(configFileName) {
|
|
62
|
+
if (typeof configFileName === 'string') {
|
|
63
|
+
if (await fileUtils.exists(configFileName)) {
|
|
64
|
+
return configFileName;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
throw new ConfigReaderError('File does not exist!', configFileName);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
for (const fileName of SUPPORTED_CONFIG_FILE_NAMES) {
|
|
71
|
+
if (await fileUtils.exists(fileName)) {
|
|
72
|
+
return fileName;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
async readJsonConfig(configFile) {
|
|
78
|
+
const fileContent = await fs.promises.readFile(configFile, 'utf-8');
|
|
79
|
+
try {
|
|
80
|
+
return JSON.parse(fileContent);
|
|
81
|
+
}
|
|
82
|
+
catch (err) {
|
|
83
|
+
throw new ConfigReaderError('File contains invalid JSON', configFile, err);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
async importJSConfig(configFile) {
|
|
87
|
+
const importedModule = await this.importJSConfigModule(configFile);
|
|
88
|
+
if (this.hasDefaultExport(importedModule)) {
|
|
89
|
+
const maybeOptions = importedModule.default;
|
|
90
|
+
if (typeof maybeOptions !== 'object') {
|
|
91
|
+
if (typeof maybeOptions === 'function') {
|
|
92
|
+
this.log.fatal(`Invalid config file. Exporting a function is no longer supported. Please export an object with your configuration instead, or use a "stryker.conf.json" file.\n${CONFIG_SYNTAX_HELP}`);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
this.log.fatal(`Invalid config file. It must export an object, found a "${typeof maybeOptions}"!\n${CONFIG_SYNTAX_HELP}`);
|
|
96
|
+
}
|
|
97
|
+
throw new ConfigReaderError('Default export of config file must be an object!', configFile);
|
|
98
|
+
}
|
|
99
|
+
if (!maybeOptions || !Object.keys(maybeOptions).length) {
|
|
100
|
+
this.log.warn(`Stryker options were empty. Did you forget to export options from ${configFile}?`);
|
|
101
|
+
}
|
|
102
|
+
return { ...maybeOptions };
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
this.log.fatal(`Invalid config file. It is missing a default export. ${describeNamedExports()}\n${CONFIG_SYNTAX_HELP}`);
|
|
106
|
+
throw new ConfigReaderError('Config file must have a default export!', configFile);
|
|
107
|
+
function describeNamedExports() {
|
|
108
|
+
const namedExports = (typeof importedModule === 'object' &&
|
|
109
|
+
Object.keys(importedModule ?? {})) ||
|
|
110
|
+
[];
|
|
111
|
+
if (namedExports.length === 0) {
|
|
112
|
+
return "In fact, it didn't export anything.";
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
return `Found named export(s): ${new Intl.ListFormat('en').format(namedExports.map((name) => `"${name}"`))}.`;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
async importJSConfigModule(configFile) {
|
|
121
|
+
try {
|
|
122
|
+
return await fileUtils.importModule(pathToFileURL(path.resolve(configFile)).toString());
|
|
123
|
+
}
|
|
124
|
+
catch (err) {
|
|
125
|
+
throw new ConfigReaderError('Error during import', configFile, err);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
hasDefaultExport(importedModule) {
|
|
129
|
+
return importedModule &&
|
|
130
|
+
typeof importedModule === 'object' &&
|
|
131
|
+
'default' in importedModule
|
|
132
|
+
? true
|
|
133
|
+
: false;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
export class ConfigReaderError extends ConfigError {
|
|
137
|
+
constructor(message, configFileName, cause) {
|
|
138
|
+
super(`Invalid config file "${configFileName}". ${message}`, cause);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=config-reader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-reader.js","sourceRoot":"","sources":["../../../src/config/config-reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A helper class for matching files using the `disableTypeChecks` setting.
|
|
3
|
+
*/
|
|
4
|
+
export declare class FileMatcher {
|
|
5
|
+
private readonly allowHiddenFiles;
|
|
6
|
+
private readonly pattern;
|
|
7
|
+
constructor(pattern: boolean | string, allowHiddenFiles?: boolean);
|
|
8
|
+
matches(fileName: string): boolean;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=file-matcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-matcher.d.ts","sourceRoot":"","sources":["../../../src/config/file-matcher.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,qBAAa,WAAW;IAKpB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAJnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;gBAGzC,OAAO,EAAE,OAAO,GAAG,MAAM,EACR,gBAAgB,UAAO;IAWnC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;CAW1C"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { minimatch } from 'minimatch';
|
|
3
|
+
import { normalizeFileName } from '@stryker-mutator/util';
|
|
4
|
+
/**
|
|
5
|
+
* A helper class for matching files using the `disableTypeChecks` setting.
|
|
6
|
+
*/
|
|
7
|
+
export class FileMatcher {
|
|
8
|
+
allowHiddenFiles;
|
|
9
|
+
pattern;
|
|
10
|
+
constructor(pattern, allowHiddenFiles = true) {
|
|
11
|
+
this.allowHiddenFiles = allowHiddenFiles;
|
|
12
|
+
if (typeof pattern === 'string') {
|
|
13
|
+
this.pattern = normalizeFileName(path.resolve(pattern));
|
|
14
|
+
}
|
|
15
|
+
else if (pattern) {
|
|
16
|
+
this.pattern = '**/*.{js,ts,jsx,tsx,html,vue,mjs,mts,cts,cjs}';
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
this.pattern = pattern;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
matches(fileName) {
|
|
23
|
+
if (typeof this.pattern === 'string') {
|
|
24
|
+
return minimatch(normalizeFileName(path.resolve(fileName)), this.pattern, { dot: this.allowHiddenFiles });
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
return this.pattern;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=file-matcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-matcher.js","sourceRoot":"","sources":["../../../src/config/file-matcher.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;GAEG;AACH,MAAM,OAAO,WAAW;IAKH;IAJF,OAAO,CAAmB;IAE3C,YACE,OAAyB,EACR,mBAAmB,IAAI;QAAvB,qBAAgB,GAAhB,gBAAgB,CAAO;QAExC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,GAAG,+CAA+C,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,CAAC;IACH,CAAC;IAEM,OAAO,CAAC,QAAgB;QAC7B,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,SAAS,CACd,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EACzC,IAAI,CAAC,OAAO,EACZ,EAAE,GAAG,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAC/B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { JSONSchema7 } from 'json-schema';
|
|
2
|
+
import { Logger } from '@stryker-mutator/api/logging';
|
|
3
|
+
export declare class MetaSchemaBuilder {
|
|
4
|
+
private readonly schema;
|
|
5
|
+
private readonly log;
|
|
6
|
+
static inject: ["validationSchema", "logger"];
|
|
7
|
+
constructor(schema: JSONSchema7, log: Logger);
|
|
8
|
+
buildMetaSchema(pluginSchemaContributions: Array<Record<string, unknown>>): JSONSchema7;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=meta-schema-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta-schema-builder.d.ts","sourceRoot":"","sources":["../../../src/config/meta-schema-builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAItD,qBAAa,iBAAiB;IAM1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IANtB,OAAc,MAAM,iCAGlB;gBAEiB,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,MAAM;IAGvB,eAAe,CACpB,yBAAyB,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxD,WAAW;CAOf"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { commonTokens, tokens } from '@stryker-mutator/api/plugin';
|
|
2
|
+
import { coreTokens } from '../di/index.js';
|
|
3
|
+
export class MetaSchemaBuilder {
|
|
4
|
+
schema;
|
|
5
|
+
log;
|
|
6
|
+
static inject = tokens(coreTokens.validationSchema, commonTokens.logger);
|
|
7
|
+
constructor(schema, log) {
|
|
8
|
+
this.schema = schema;
|
|
9
|
+
this.log = log;
|
|
10
|
+
}
|
|
11
|
+
buildMetaSchema(pluginSchemaContributions) {
|
|
12
|
+
this.log.debug('Contributing %s schemas from plugins to options validation.', pluginSchemaContributions.length);
|
|
13
|
+
return mergedSchema(this.schema, pluginSchemaContributions);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function mergedSchema(mainSchema, additionalSchemas) {
|
|
17
|
+
const schema = {
|
|
18
|
+
...mainSchema,
|
|
19
|
+
properties: {
|
|
20
|
+
...mainSchema.properties,
|
|
21
|
+
},
|
|
22
|
+
definitions: {
|
|
23
|
+
...mainSchema.definitions,
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
Object.assign(schema.properties, ...additionalSchemas.map((s) => s.properties));
|
|
27
|
+
Object.assign(schema.definitions, ...additionalSchemas.map((s) => s.definitions));
|
|
28
|
+
return schema;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=meta-schema-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta-schema-builder.js","sourceRoot":"","sources":["../../../src/config/meta-schema-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAInE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,OAAO,iBAAiB;IAMT;IACA;IANZ,MAAM,CAAC,MAAM,GAAG,MAAM,CAC3B,UAAU,CAAC,gBAAgB,EAC3B,YAAY,CAAC,MAAM,CACpB,CAAC;IACF,YACmB,MAAmB,EACnB,GAAW;QADX,WAAM,GAAN,MAAM,CAAa;QACnB,QAAG,GAAH,GAAG,CAAQ;IAC3B,CAAC;IAEG,eAAe,CACpB,yBAAyD;QAEzD,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,6DAA6D,EAC7D,yBAAyB,CAAC,MAAM,CACjC,CAAC;QACF,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IAC9D,CAAC;;AAEH,SAAS,YAAY,CACnB,UAAuB,EACvB,iBAAgC;IAEhC,MAAM,MAAM,GAAG;QACb,GAAG,UAAU;QACb,UAAU,EAAE;YACV,GAAG,UAAU,CAAC,UAAU;SACzB;QACD,WAAW,EAAE;YACX,GAAG,UAAU,CAAC,WAAW;SAC1B;KACF,CAAC;IAEF,MAAM,CAAC,MAAM,CACX,MAAM,CAAC,UAAU,EACjB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAC9C,CAAC;IACF,MAAM,CAAC,MAAM,CACX,MAAM,CAAC,WAAW,EAClB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAC/C,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { StrykerOptions } from '@stryker-mutator/api/core';
|
|
2
|
+
import { Immutable } from '@stryker-mutator/util';
|
|
3
|
+
import { Logger } from '@stryker-mutator/api/logging';
|
|
4
|
+
import type { JSONSchema7 } from 'json-schema';
|
|
5
|
+
export declare class OptionsValidator {
|
|
6
|
+
private readonly schema;
|
|
7
|
+
private readonly log;
|
|
8
|
+
private readonly validateFn;
|
|
9
|
+
static readonly inject: ["validationSchema", "logger"];
|
|
10
|
+
constructor(schema: JSONSchema7, log: Logger);
|
|
11
|
+
/**
|
|
12
|
+
* Validates the provided options, throwing an error if something is wrong.
|
|
13
|
+
* Optionally also warns about excess or unserializable options.
|
|
14
|
+
* @param options The stryker options to validate
|
|
15
|
+
* @param mark Wether or not to log warnings on unknown properties or unserializable properties
|
|
16
|
+
*/
|
|
17
|
+
validate(options: Record<string, unknown>, mark?: boolean): asserts options is StrykerOptions;
|
|
18
|
+
private removeDeprecatedOptions;
|
|
19
|
+
private customValidation;
|
|
20
|
+
private schemaValidate;
|
|
21
|
+
private throwErrorIfNeeded;
|
|
22
|
+
private markOptions;
|
|
23
|
+
private markExcessOptions;
|
|
24
|
+
private markUnserializableOptions;
|
|
25
|
+
}
|
|
26
|
+
export declare function createDefaultOptions(): StrykerOptions;
|
|
27
|
+
export declare const defaultOptions: Immutable<StrykerOptions>;
|
|
28
|
+
//# sourceMappingURL=options-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options-validator.d.ts","sourceRoot":"","sources":["../../../src/config/options-validator.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAqB,MAAM,2BAA2B,CAAC;AAE9E,OAAO,EAGL,SAAS,EAEV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAqB/C,qBAAa,gBAAgB;IASzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IATtB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAE9C,gBAAuB,MAAM,iCAG3B;gBAGiB,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,MAAM;IAK9B;;;;;OAKG;IACI,QAAQ,CACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,IAAI,UAAQ,GACX,OAAO,CAAC,OAAO,IAAI,cAAc;IASpC,OAAO,CAAC,uBAAuB;IAgG/B,OAAO,CAAC,gBAAgB;IAqExB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,yBAAyB;CAmBlC;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAQrD;AAED,eAAO,MAAM,cAAc,EAAE,SAAS,CAAC,cAAc,CAEpD,CAAC"}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import os from 'os';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { Minimatch } from 'minimatch';
|
|
4
|
+
import ajvModule from 'ajv';
|
|
5
|
+
import { strykerCoreSchema } from '@stryker-mutator/api/core';
|
|
6
|
+
import { tokens, commonTokens } from '@stryker-mutator/api/plugin';
|
|
7
|
+
import { noopLogger, findUnserializables, deepFreeze, } from '@stryker-mutator/util';
|
|
8
|
+
import { coreTokens } from '../di/index.js';
|
|
9
|
+
import { ConfigError } from '../errors.js';
|
|
10
|
+
import { objectUtils, optionsPath } from '../utils/index.js';
|
|
11
|
+
import { CommandTestRunner } from '../test-runner/command-test-runner.js';
|
|
12
|
+
import { IGNORE_PATTERN_CHARACTER, MUTATION_RANGE_REGEX } from '../fs/index.js';
|
|
13
|
+
import { describeErrors } from './validation-errors.js';
|
|
14
|
+
const Ajv = ajvModule.default;
|
|
15
|
+
const ajv = new Ajv({
|
|
16
|
+
useDefaults: true,
|
|
17
|
+
allErrors: true,
|
|
18
|
+
jsPropertySyntax: true,
|
|
19
|
+
verbose: true,
|
|
20
|
+
logger: false,
|
|
21
|
+
strict: false,
|
|
22
|
+
});
|
|
23
|
+
export class OptionsValidator {
|
|
24
|
+
schema;
|
|
25
|
+
log;
|
|
26
|
+
validateFn;
|
|
27
|
+
static inject = tokens(coreTokens.validationSchema, commonTokens.logger);
|
|
28
|
+
constructor(schema, log) {
|
|
29
|
+
this.schema = schema;
|
|
30
|
+
this.log = log;
|
|
31
|
+
this.validateFn = ajv.compile(schema);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Validates the provided options, throwing an error if something is wrong.
|
|
35
|
+
* Optionally also warns about excess or unserializable options.
|
|
36
|
+
* @param options The stryker options to validate
|
|
37
|
+
* @param mark Wether or not to log warnings on unknown properties or unserializable properties
|
|
38
|
+
*/
|
|
39
|
+
validate(options, mark = false) {
|
|
40
|
+
this.removeDeprecatedOptions(options);
|
|
41
|
+
this.schemaValidate(options);
|
|
42
|
+
this.customValidation(options);
|
|
43
|
+
if (mark) {
|
|
44
|
+
this.markOptions(options);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
removeDeprecatedOptions(rawOptions) {
|
|
48
|
+
if (typeof rawOptions.mutator === 'string') {
|
|
49
|
+
this.log.warn('DEPRECATED. Use of "mutator" as string is no longer needed. You can remove it from your configuration. Stryker now supports mutating of JavaScript and friend files out of the box.');
|
|
50
|
+
delete rawOptions.mutator;
|
|
51
|
+
}
|
|
52
|
+
// @ts-expect-error mutator.name
|
|
53
|
+
if (typeof rawOptions.mutator === 'object' && rawOptions.mutator.name) {
|
|
54
|
+
this.log.warn('DEPRECATED. Use of "mutator.name" is no longer needed. You can remove "mutator.name" from your configuration. Stryker now supports mutating of JavaScript and friend files out of the box.');
|
|
55
|
+
// @ts-expect-error mutator.name
|
|
56
|
+
delete rawOptions.mutator.name;
|
|
57
|
+
}
|
|
58
|
+
if (Object.keys(rawOptions).includes('testFramework')) {
|
|
59
|
+
this.log.warn('DEPRECATED. Use of "testFramework" is no longer needed. You can remove it from your configuration. Your test runner plugin now handles its own test framework integration.');
|
|
60
|
+
delete rawOptions.testFramework;
|
|
61
|
+
}
|
|
62
|
+
if (Array.isArray(rawOptions.transpilers)) {
|
|
63
|
+
const example = rawOptions.transpilers.includes('babel')
|
|
64
|
+
? 'babel src --out-dir lib'
|
|
65
|
+
: rawOptions.transpilers.includes('typescript')
|
|
66
|
+
? 'tsc -b'
|
|
67
|
+
: rawOptions.transpilers.includes('webpack')
|
|
68
|
+
? 'webpack --config webpack.config.js'
|
|
69
|
+
: 'npm run build';
|
|
70
|
+
this.log.warn(`DEPRECATED. Support for "transpilers" is removed. You can now configure your own "${optionsPath('buildCommand')}". For example, ${example}.`);
|
|
71
|
+
delete rawOptions.transpilers;
|
|
72
|
+
}
|
|
73
|
+
if (Array.isArray(rawOptions.files)) {
|
|
74
|
+
const ignorePatternsName = optionsPath('ignorePatterns');
|
|
75
|
+
const isString = (uncertain) => typeof uncertain === 'string';
|
|
76
|
+
const files = rawOptions.files.filter(isString);
|
|
77
|
+
const newIgnorePatterns = [
|
|
78
|
+
'**',
|
|
79
|
+
...files.map((filePattern) => filePattern.startsWith(IGNORE_PATTERN_CHARACTER)
|
|
80
|
+
? filePattern.substr(1)
|
|
81
|
+
: `${IGNORE_PATTERN_CHARACTER}${filePattern}`),
|
|
82
|
+
];
|
|
83
|
+
delete rawOptions.files;
|
|
84
|
+
this.log.warn(`DEPRECATED. Use of "files" is deprecated, please use "${ignorePatternsName}" instead (or remove "files" altogether will probably work as well). For now, rewriting them as ${JSON.stringify(newIgnorePatterns)}. See https://stryker-mutator.io/docs/stryker-js/configuration/#ignorepatterns-string`);
|
|
85
|
+
const existingIgnorePatterns = Array.isArray(rawOptions[ignorePatternsName])
|
|
86
|
+
? rawOptions[ignorePatternsName]
|
|
87
|
+
: [];
|
|
88
|
+
rawOptions[ignorePatternsName] = [
|
|
89
|
+
...newIgnorePatterns,
|
|
90
|
+
...existingIgnorePatterns,
|
|
91
|
+
];
|
|
92
|
+
}
|
|
93
|
+
// @ts-expect-error jest.enableBail
|
|
94
|
+
if (rawOptions.jest?.enableBail !== undefined) {
|
|
95
|
+
this.log.warn('DEPRECATED. Use of "jest.enableBail" is deprecated, please use "disableBail" instead. See https://stryker-mutator.io/docs/stryker-js/configuration#disablebail-boolean');
|
|
96
|
+
// @ts-expect-error jest.enableBail
|
|
97
|
+
rawOptions.disableBail = !rawOptions.jest?.enableBail;
|
|
98
|
+
// @ts-expect-error jest.enableBail
|
|
99
|
+
delete rawOptions.jest.enableBail;
|
|
100
|
+
}
|
|
101
|
+
// @ts-expect-error htmlReporter.baseDir
|
|
102
|
+
if (rawOptions.htmlReporter?.baseDir) {
|
|
103
|
+
this.log.warn(`DEPRECATED. Use of "htmlReporter.baseDir" is deprecated, please use "${optionsPath('htmlReporter', 'fileName')}" instead. See https://stryker-mutator.io/docs/stryker-js/configuration/#reporters-string`);
|
|
104
|
+
// @ts-expect-error htmlReporter.baseDir
|
|
105
|
+
if (!rawOptions.htmlReporter.fileName) {
|
|
106
|
+
// @ts-expect-error htmlReporter.fileName
|
|
107
|
+
rawOptions.htmlReporter.fileName = path.join(
|
|
108
|
+
// @ts-expect-error htmlReporter.baseDir
|
|
109
|
+
String(rawOptions.htmlReporter.baseDir), 'index.html');
|
|
110
|
+
}
|
|
111
|
+
// @ts-expect-error htmlReporter.baseDir
|
|
112
|
+
delete rawOptions.htmlReporter.baseDir;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
customValidation(options) {
|
|
116
|
+
const additionalErrors = [];
|
|
117
|
+
if (options.thresholds.high < options.thresholds.low) {
|
|
118
|
+
additionalErrors.push('Config option "thresholds.high" should be higher than "thresholds.low".');
|
|
119
|
+
}
|
|
120
|
+
if (options.maxConcurrentTestRunners !== Number.MAX_SAFE_INTEGER) {
|
|
121
|
+
this.log.warn('DEPRECATED. Use of "maxConcurrentTestRunners" is deprecated. Please use "concurrency" instead.');
|
|
122
|
+
if (!options.concurrency &&
|
|
123
|
+
options.maxConcurrentTestRunners < os.availableParallelism() - 1) {
|
|
124
|
+
options.concurrency = options.maxConcurrentTestRunners;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
if (CommandTestRunner.is(options.testRunner)) {
|
|
128
|
+
if (options.testRunnerNodeArgs.length) {
|
|
129
|
+
this.log.warn('Using "testRunnerNodeArgs" together with the "command" test runner is not supported, these arguments will be ignored. You can add your custom arguments by setting the "commandRunner.command" option.');
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
if (options.ignoreStatic && options.coverageAnalysis !== 'perTest') {
|
|
133
|
+
additionalErrors.push(`Config option "${optionsPath('ignoreStatic')}" is not supported with coverage analysis "${options.coverageAnalysis}". Either turn off "${optionsPath('ignoreStatic')}", or configure "${optionsPath('coverageAnalysis')}" to be "perTest".`);
|
|
134
|
+
}
|
|
135
|
+
options.mutate.forEach((mutateString, index) => {
|
|
136
|
+
const match = MUTATION_RANGE_REGEX.exec(mutateString);
|
|
137
|
+
if (match) {
|
|
138
|
+
if (new Minimatch(mutateString).hasMagic()) {
|
|
139
|
+
additionalErrors.push(`Config option "mutate[${index}]" is invalid. Cannot combine a glob expression with a mutation range in "${mutateString}".`);
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
const [_, _fileName, mutationRange, startLine, _startColumn, endLine, _endColumn,] = match;
|
|
143
|
+
const start = parseInt(startLine, 10);
|
|
144
|
+
const end = parseInt(endLine, 10);
|
|
145
|
+
if (start < 1) {
|
|
146
|
+
additionalErrors.push(`Config option "mutate[${index}]" is invalid. Mutation range "${mutationRange}" is invalid, line ${start} does not exist (lines start at 1).`);
|
|
147
|
+
}
|
|
148
|
+
if (start > end) {
|
|
149
|
+
additionalErrors.push(`Config option "mutate[${index}]" is invalid. Mutation range "${mutationRange}" is invalid. The "from" line number (${start}) should be less then the "to" line number (${end}).`);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
additionalErrors.forEach((error) => this.log.error(error));
|
|
155
|
+
this.throwErrorIfNeeded(additionalErrors);
|
|
156
|
+
}
|
|
157
|
+
schemaValidate(options) {
|
|
158
|
+
if (!this.validateFn(options)) {
|
|
159
|
+
const describedErrors = describeErrors(this.validateFn.errors);
|
|
160
|
+
describedErrors.forEach((error) => this.log.error(error));
|
|
161
|
+
this.throwErrorIfNeeded(describedErrors);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
throwErrorIfNeeded(errors) {
|
|
165
|
+
if (errors.length > 0) {
|
|
166
|
+
throw new ConfigError(errors.length === 1
|
|
167
|
+
? 'Please correct this configuration error and try again.'
|
|
168
|
+
: 'Please correct these configuration errors and try again.');
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
markOptions(options) {
|
|
172
|
+
this.markExcessOptions(options);
|
|
173
|
+
this.markUnserializableOptions(options);
|
|
174
|
+
}
|
|
175
|
+
markExcessOptions(options) {
|
|
176
|
+
const OPTIONS_ADDED_BY_STRYKER = ['set', 'configFile', '$schema'];
|
|
177
|
+
if (objectUtils.isWarningEnabled('unknownOptions', options.warnings)) {
|
|
178
|
+
const schemaKeys = Object.keys(this.schema.properties);
|
|
179
|
+
const excessPropertyNames = Object.keys(options)
|
|
180
|
+
.filter((key) => !key.endsWith('_comment'))
|
|
181
|
+
.filter((key) => !OPTIONS_ADDED_BY_STRYKER.includes(key))
|
|
182
|
+
.filter((key) => !schemaKeys.includes(key));
|
|
183
|
+
if (excessPropertyNames.length) {
|
|
184
|
+
excessPropertyNames.forEach((excessPropertyName) => {
|
|
185
|
+
this.log.warn(`Unknown stryker config option "${excessPropertyName}".`);
|
|
186
|
+
});
|
|
187
|
+
this.log.warn(`Possible causes:
|
|
188
|
+
* Is it a typo on your end?
|
|
189
|
+
* Did you only write this property as a comment? If so, please postfix it with "_comment".
|
|
190
|
+
* You might be missing a plugin that is supposed to use it. Stryker loaded plugins from: ${JSON.stringify(options.plugins)}
|
|
191
|
+
* The plugin that is using it did not contribute explicit validation.
|
|
192
|
+
(disable "${optionsPath('warnings', 'unknownOptions')}" to ignore this warning)`);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
markUnserializableOptions(options) {
|
|
197
|
+
if (objectUtils.isWarningEnabled('unserializableOptions', options.warnings)) {
|
|
198
|
+
const unserializables = findUnserializables(options);
|
|
199
|
+
if (unserializables) {
|
|
200
|
+
unserializables.forEach((unserializable) => this.log.warn(`Config option "${unserializable.path.join('.')}" is not (fully) serializable. ${unserializable.reason}. Any test runner or checker worker processes might not receive this value as intended.`));
|
|
201
|
+
this.log.warn(`(disable ${optionsPath('warnings', 'unserializableOptions')} to ignore this warning)`);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
export function createDefaultOptions() {
|
|
207
|
+
const options = {};
|
|
208
|
+
const validator = new OptionsValidator(strykerCoreSchema, noopLogger);
|
|
209
|
+
validator.validate(options);
|
|
210
|
+
return options;
|
|
211
|
+
}
|
|
212
|
+
export const defaultOptions = deepFreeze(createDefaultOptions());
|
|
213
|
+
//# sourceMappingURL=options-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options-validator.js","sourceRoot":"","sources":["../../../src/config/options-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ErrorObject } from 'ajv';
|
|
2
|
+
/**
|
|
3
|
+
* Convert AJV errors to human readable messages
|
|
4
|
+
* @param allErrors The AJV errors to describe
|
|
5
|
+
*/
|
|
6
|
+
export declare function describeErrors(allErrors: ErrorObject[]): string[];
|
|
7
|
+
//# sourceMappingURL=validation-errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-errors.d.ts","sourceRoot":"","sources":["../../../src/config/validation-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAIlC;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE,CAGjE"}
|