-
Notifications
You must be signed in to change notification settings - Fork 1
Comparing changes
Open a pull request
base repository: systemfsoftware/systemfsoftware
base: main
head repository: systemfsoftware/systemfsoftware
compare: stryker-cli
- 12 commits
- 63 files changed
- 1 contributor
Commits on Aug 5, 2026
-
build(stryker-js-core): add effect cli + printer peers
adds @effect/cli ^0.77.0 to the default catalog and bumps effect to ^3.22.1 with @effect/platform ^0.97.1. Per KTD9, runtime peers go to peerDependencies so consumers supply a single effect runtime. adds the attw script and the workspace attw-cli devDependency so the public-surface gate runs for this package
Configuration menu - View commit details
-
Copy full SHA for 70bf981 - Browse repository at this point
Copy the full SHA 70bf981View commit details -
build(stryker-js-core): restore tsconfig dev dependency
U1 accidentally replaced the tsconfig devDependency with arethetypeswrong-cli, breaking the package typecheck gate. Restore it
Configuration menu - View commit details
-
Copy full SHA for 86cc542 - Browse repository at this point
Copy the full SHA 86cc542View commit details -
feat(stryker-js-core): port the cli surface from commander to effect cli
Rewrites stryker-cli.ts as an @effect/cli command tree, keeping the commander parse characterizations: camelCase flag spellings, -m/-t/-b/-c aliases, comma split lists, space split node args, tri-state --cleanTempDir, numeric-or-string --concurrency, and omitted-option-absent merge semantics (KTD4). Removed flags (--files, --allowConsoleColors, --dashboard.*) and commands (init, serve, runServer) surface as unknown arguments (exit 2), flags match case-sensitively (KTD5), and bare/--help/--version exit 0. --survivors and --llms parse for U8 and U11. bin/stryker.js boots via runStrykerCli (Runtime.makeRunMain, the seam U5 extends); the StrykerCli class export becomes runStrykerCli. Adds test/unit/cli-options.spec.ts pinning the whole surface
Configuration menu - View commit details
-
Copy full SHA for ef88142 - Browse repository at this point
Copy the full SHA ef88142View commit details -
feat(stryker-js-core): resolve output mode and gate the progress bar
Adds resolveMode(): R4 precedence (explicit --format/--json flag, then STRYKER_MODE, then !stdout.isTTY, then AGENT non-empty, then the narrow CLAUDECODE/CODEX_SANDBOX tool-variable list, then human), returning the resolved mode plus the deciding signal for U4's envelope. No stdin condition (R4 reverted it). Mutually exclusive --format text + --json is a ValidationError. BroadcastReporter's non-TTY downgrade of 'progress' to 'progress-append-only' is replaced by a progressEnabled gate resolved once at construction from the run's detection data; the broadcast call site suppresses the bar in human mode on a non-TTY stdout (AE1)
Configuration menu - View commit details
-
Copy full SHA for 6b1bab1 - Browse repository at this point
Copy the full SHA 6b1bab1View commit details -
feat(stryker-js-core): stream machine-mode progress as ndjson on stderr
U7: a fifth surviving reporter ('progress-stream') writes one newline-delimited JSON object per event to stderr during machine-mode runs, so a caller watching a long run sees it advance instead of going silent. Rides the existing per-mutant event seam (onMutantTested / onMutationTestingPlanReady); inert in human mode. Writes go straight to process.stderr.write, never Console.error, so the U6 Console override cannot capture the stream. runId is a constructor arg the cli layer passes through, shared with the U4 verdict envelope; the plugin-registry path generates a fallback. U9 must not prune this reporter.Configuration menu - View commit details
-
Copy full SHA for 58a6903 - Browse repository at this point
Copy the full SHA 58a6903View commit details -
Configuration menu - View commit details
-
Copy full SHA for b6ce771 - Browse repository at this point
Copy the full SHA b6ce771View commit details -
Configuration menu - View commit details
-
Copy full SHA for f30a1a8 - Browse repository at this point
Copy the full SHA f30a1a8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0769ea9 - Browse repository at this point
Copy the full SHA 0769ea9View commit details -
feat(stryker-js-core): remove legacy reporters and dead deps
U9 of the agent-friendly CLI rebuild (R13, KTD10). Deletes the dots, event-recorder, progress-append-only, and dashboard reporters plus the ci-provider detection tree that only fed the dashboard reporter, the stryker init wizard (src/initializer/), and stryker-server.ts, whose only consumers were the removed init and runServer/serve commands. Prunes the reporter registry to the five survivors (clear-text, progress, html, json, progress-stream) and drops the five orphaned runtime dependencies (commander, @inquirer/prompts, json-rpc-2.0, mutation-server-protocol, typed-rest-client) from dependencies and the lockfile
Configuration menu - View commit details
-
Copy full SHA for ee71071 - Browse repository at this point
Copy the full SHA ee71071View commit details -
feat(stryker-js-core): re-test only mutants surviving a prior run
Adds --survivors: reads the prior mutation report, admits the run only when resolved options, framework version and per-file source hashes all match, then restricts the mutant set to the recorded survivor spans Every rejection carries a remediation naming the full run to do first Zero survivors exits 0 without starting the pipeline or touching the report; machine mode emits the verdict envelope with a null score Negates the root reports/ ignore for test fixtures, which ship a prior mutation report as tracked input data
Configuration menu - View commit details
-
Copy full SHA for a8b9103 - Browse repository at this point
Copy the full SHA a8b9103View commit details -
build(stryker-js-core): ignore attw rules that esm-only cannot pass
U1 enrolled this package in the attw gate without the config every other ESM-only package here carries, so the gate failed on node10 resolution and CJS-resolves-to-ESM - two checks that cannot apply to a type:module package emitting .mjs
Configuration menu - View commit details
-
Copy full SHA for bb08e64 - Browse repository at this point
Copy the full SHA bb08e64View commit details -
ci(repo): unset inherited git env so pre-push works in a worktree
git exports GIT_DIR when it invokes a hook. In a linked worktree that names .git/worktrees/<name>, and turbo's SCM layer opens it as a file, dying with "I/O error: Is a directory (os error 21)" before any task runs. Every gate passed when the same command was run by hand, so the hook was unrunnable in all 18 worktrees while looking like a real failure
Configuration menu - View commit details
-
Copy full SHA for d823566 - Browse repository at this point
Copy the full SHA d823566View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff main...stryker-cli