@hominis/fireforge 0.55.0 → 0.60.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/CHANGELOG.md +233 -6
- package/README.md +51 -17
- package/dist/bin/fireforge.js +34 -129
- package/dist/build-info.json +4 -4
- package/dist/src/check/check.js +394 -0
- package/dist/src/check/gate.js +448 -0
- package/dist/src/check/index.js +10 -0
- package/dist/src/check/record.js +155 -0
- package/dist/src/cli/command.js +286 -0
- package/dist/src/cli/output.js +96 -0
- package/dist/src/cli/program.js +231 -0
- package/dist/src/cli/stdio.js +59 -0
- package/dist/src/cli/version.js +99 -0
- package/dist/src/commands/bootstrap.js +17 -102
- package/dist/src/commands/build.js +34 -456
- package/dist/src/commands/check.js +44 -157
- package/dist/src/commands/config.js +50 -226
- package/dist/src/commands/discard.js +38 -215
- package/dist/src/commands/doctor.js +29 -456
- package/dist/src/commands/download.js +35 -499
- package/dist/src/commands/export.js +42 -431
- package/dist/src/commands/furnace.js +220 -0
- package/dist/src/commands/gate.js +127 -0
- package/dist/src/commands/import.js +44 -445
- package/dist/src/commands/index.js +86 -0
- package/dist/src/commands/lint.js +44 -546
- package/dist/src/commands/merge-driver.js +56 -0
- package/dist/src/commands/migrate.js +75 -0
- package/dist/src/commands/override.js +43 -0
- package/dist/src/commands/package.js +48 -77
- package/dist/src/commands/patch.js +221 -0
- package/dist/src/commands/re-export.js +55 -359
- package/dist/src/commands/rebase.js +69 -0
- package/dist/src/commands/register.js +62 -103
- package/dist/src/commands/reset.js +28 -91
- package/dist/src/commands/resolve.js +20 -167
- package/dist/src/commands/restore.js +19 -0
- package/dist/src/commands/run.js +60 -382
- package/dist/src/commands/setup.js +78 -90
- package/dist/src/commands/status.js +44 -413
- package/dist/src/commands/test.js +97 -423
- package/dist/src/commands/token.js +185 -228
- package/dist/src/commands/typecheck.js +59 -241
- package/dist/src/commands/verify.js +28 -334
- package/dist/src/commands/version.js +14 -0
- package/dist/src/commands/watch.js +20 -218
- package/dist/src/commands/wire.js +60 -349
- package/dist/src/commands/workspace.js +117 -0
- package/dist/src/config/edit.js +237 -0
- package/dist/src/config/index.js +15 -0
- package/dist/src/config/load.js +59 -0
- package/dist/src/config/previous.js +404 -0
- package/dist/src/config/schema/build.js +63 -0
- package/dist/src/config/schema/check.js +113 -0
- package/dist/src/config/schema/common.js +71 -0
- package/dist/src/config/schema/export-queue.js +36 -0
- package/dist/src/config/schema/firefox.js +69 -0
- package/dist/src/config/schema/gate.js +199 -0
- package/dist/src/config/schema/identity.js +55 -0
- package/dist/src/config/schema/index.js +45 -0
- package/dist/src/config/schema/lint.js +297 -0
- package/dist/src/config/schema/policy.js +111 -0
- package/dist/src/config/schema/source.js +90 -0
- package/dist/src/config/schema/test.js +17 -0
- package/dist/src/config/schema/toolchains.js +17 -0
- package/dist/src/config/schema/typecheck.js +29 -0
- package/dist/src/config/schema/wire.js +15 -0
- package/dist/src/diff/apply.js +129 -0
- package/dist/src/diff/index.js +16 -0
- package/dist/src/diff/model.js +267 -0
- package/dist/src/diff/query.js +65 -0
- package/dist/src/doctor/index.js +240 -0
- package/dist/src/engine/archive.js +396 -0
- package/dist/src/engine/audit.js +66 -0
- package/dist/src/engine/build.js +150 -0
- package/dist/src/engine/hostLocks.js +66 -0
- package/dist/src/engine/index.js +26 -0
- package/dist/src/engine/installManifests.js +147 -0
- package/dist/src/engine/mach.js +97 -0
- package/dist/src/engine/machHints.js +80 -0
- package/dist/src/engine/mozconfig.js +110 -0
- package/dist/src/engine/objdir.js +124 -0
- package/dist/src/engine/package.js +169 -0
- package/dist/src/engine/pin.js +12 -0
- package/dist/src/engine/pool.js +423 -0
- package/dist/src/engine/pristine.js +281 -0
- package/dist/src/engine/python.js +68 -0
- package/dist/src/engine/resourceGuard.js +582 -0
- package/dist/src/engine/run.js +259 -0
- package/dist/src/engine/smoke.js +204 -0
- package/dist/src/engine/staleness.js +229 -0
- package/dist/src/engine/watch.js +82 -0
- package/dist/src/engine/workspace.js +85 -0
- package/dist/src/furnace/config.js +360 -0
- package/dist/src/furnace/deploy.js +414 -0
- package/dist/src/furnace/diff.js +59 -0
- package/dist/src/furnace/edit.js +64 -0
- package/dist/src/furnace/fragments.js +53 -0
- package/dist/src/furnace/index.js +19 -0
- package/dist/src/furnace/operations.js +283 -0
- package/dist/src/furnace/registration.js +220 -0
- package/dist/src/furnace/scaffold.js +311 -0
- package/dist/src/furnace/typing.js +252 -0
- package/dist/src/furnace/validate.js +662 -0
- package/dist/src/git/apply.js +129 -0
- package/dist/src/git/diff.js +143 -0
- package/dist/src/git/index.js +33 -0
- package/dist/src/git/objects.js +201 -0
- package/dist/src/git/refs.js +85 -0
- package/dist/src/git/repo.js +222 -0
- package/dist/src/git/run.js +242 -0
- package/dist/src/git/status.js +156 -0
- package/dist/src/kernel/errors.js +123 -0
- package/dist/src/kernel/fs.js +515 -0
- package/dist/src/kernel/glob.js +63 -0
- package/dist/src/kernel/hash.js +28 -0
- package/dist/src/kernel/journal.js +524 -0
- package/dist/src/kernel/json-edit.js +198 -0
- package/dist/src/kernel/json.js +101 -0
- package/dist/src/kernel/lock.js +589 -0
- package/dist/src/kernel/log.js +154 -0
- package/dist/src/kernel/process/identity.js +313 -0
- package/dist/src/kernel/process/index.js +8 -0
- package/dist/src/kernel/process/listing.js +128 -0
- package/dist/src/kernel/process/spawn.js +430 -0
- package/dist/src/kernel/process/tree.js +301 -0
- package/dist/src/kernel/schema.js +308 -0
- package/dist/src/kernel/signals.js +171 -0
- package/dist/src/kernel/text.js +151 -0
- package/dist/src/kernel/time.js +83 -0
- package/dist/src/kernel/tty.js +84 -0
- package/dist/src/lint/cache.js +77 -0
- package/dist/src/lint/checkjs.js +400 -0
- package/dist/src/lint/index.js +3 -0
- package/dist/src/lint/input.js +100 -0
- package/dist/src/lint/report.js +107 -0
- package/dist/src/lint/rule.js +41 -0
- package/dist/src/lint/rules/css.js +308 -0
- package/dist/src/lint/rules/javascript.js +299 -0
- package/dist/src/lint/rules/jsdoc.js +249 -0
- package/dist/src/lint/rules/license.js +93 -0
- package/dist/src/lint/rules/policy.js +201 -0
- package/dist/src/lint/rules/registration.js +264 -0
- package/dist/src/lint/rules/size.js +299 -0
- package/dist/src/lint/run.js +126 -0
- package/dist/src/lint/shim.js +323 -0
- package/dist/src/lint/typescript.js +186 -0
- package/dist/src/lint/waivers.js +93 -0
- package/dist/src/mode/changes.js +264 -0
- package/dist/src/mode/diagnose.js +173 -0
- package/dist/src/mode/export.js +147 -0
- package/dist/src/mode/index.js +23 -0
- package/dist/src/mode/migrate.js +181 -0
- package/dist/src/mode/previousWaivers.js +206 -0
- package/dist/src/mode/pristine.js +61 -0
- package/dist/src/mode/rebase.js +197 -0
- package/dist/src/mode/report.js +157 -0
- package/dist/src/mode/setup.js +103 -0
- package/dist/src/mode/tracked.js +116 -0
- package/dist/src/mode/upgrade.js +281 -0
- package/dist/src/mode/watch.js +83 -0
- package/dist/src/mode/workspace.js +189 -0
- package/dist/src/mozbuild/index.js +6 -0
- package/dist/src/mozbuild/jar.js +366 -0
- package/dist/src/mozbuild/mozbuild.js +321 -0
- package/dist/src/mozbuild/paths.js +96 -0
- package/dist/src/mozbuild/references.js +39 -0
- package/dist/src/mozbuild/testManifest.js +343 -0
- package/dist/src/mozbuild/text.js +142 -0
- package/dist/src/project/changes.js +145 -0
- package/dist/src/project/checkout.js +66 -0
- package/dist/src/project/index.js +11 -0
- package/dist/src/project/license.js +119 -0
- package/dist/src/project/project.js +111 -0
- package/dist/src/project/state.js +85 -0
- package/dist/src/project/tracked.js +1 -0
- package/dist/src/queue/apply.js +270 -0
- package/dist/src/queue/attribute.js +159 -0
- package/dist/src/queue/baseline.js +409 -0
- package/dist/src/queue/capture.js +298 -0
- package/dist/src/queue/changes.js +234 -0
- package/dist/src/queue/index.js +50 -0
- package/dist/src/queue/manifest.js +341 -0
- package/dist/src/queue/operations.js +454 -0
- package/dist/src/queue/placement.js +220 -0
- package/dist/src/queue/queue.js +359 -0
- package/dist/src/queue/restore.js +103 -0
- package/dist/src/queue/session.js +685 -0
- package/dist/src/queue/status.js +137 -0
- package/dist/src/register/files.js +39 -0
- package/dist/src/register/index.js +8 -0
- package/dist/src/register/js.js +217 -0
- package/dist/src/register/register.js +359 -0
- package/dist/src/register/wire.js +146 -0
- package/dist/src/source/adopt.js +99 -0
- package/dist/src/source/changes.js +132 -0
- package/dist/src/source/edit.js +278 -0
- package/dist/src/source/export.js +70 -0
- package/dist/src/source/groups.js +131 -0
- package/dist/src/source/index.js +20 -0
- package/dist/src/source/materialize.js +382 -0
- package/dist/src/source/merge.js +255 -0
- package/dist/src/source/objects.js +102 -0
- package/dist/src/source/previous.js +166 -0
- package/dist/src/source/records.js +138 -0
- package/dist/src/source/refresh.js +264 -0
- package/dist/src/source/tree.js +337 -0
- package/dist/src/syntax/css.js +215 -0
- package/dist/src/syntax/fragments.js +63 -0
- package/dist/src/syntax/index.js +10 -0
- package/dist/src/syntax/js.js +270 -0
- package/dist/src/test/classify.js +826 -0
- package/dist/src/test/control.js +236 -0
- package/dist/src/test/host.js +266 -0
- package/dist/src/test/index.js +11 -0
- package/dist/src/test/plan.js +347 -0
- package/dist/src/test/rawLog.js +138 -0
- package/dist/src/test/run.js +404 -0
- package/dist/src/test/verdict.js +420 -0
- package/dist/src/test/xpcshell.js +143 -0
- package/dist/src/tokens/add.js +304 -0
- package/dist/src/tokens/coverage.js +65 -0
- package/dist/src/tokens/css.js +58 -0
- package/dist/src/tokens/index.js +12 -0
- package/dist/src/tokens/lint.js +96 -0
- package/dist/src/tokens/model.js +118 -0
- package/dist/src/tokens/settings.js +87 -0
- package/dist/src/tokens/siblings.js +104 -0
- package/dist/src/typecheck/explain.js +123 -0
- package/dist/src/typecheck/index.js +8 -0
- package/dist/src/typecheck/typecheck.js +332 -0
- package/docs/README.md +23 -28
- package/docs/authoring.md +97 -0
- package/docs/configuration.md +307 -766
- package/docs/exit-codes.md +76 -94
- package/docs/furnace.md +111 -221
- package/docs/gate.md +205 -0
- package/docs/getting-started.md +165 -0
- package/docs/machine-output.md +201 -290
- package/docs/migrating.md +261 -0
- package/docs/patch-workflow.md +159 -723
- package/docs/quality.md +220 -0
- package/docs/source-workflow.md +228 -0
- package/docs/testing.md +101 -719
- package/docs/workspaces.md +187 -0
- package/package.json +22 -30
- package/templates/configs/common.mozconfig +8 -2
- package/templates/configs/darwin.mozconfig +6 -7
- package/templates/configs/linux.mozconfig +5 -8
- package/templates/configs/win32.mozconfig +3 -9
- package/dist/bin/fireforge.d.ts +0 -9
- package/dist/src/cli-usage-error.d.ts +0 -46
- package/dist/src/cli-usage-error.js +0 -81
- package/dist/src/cli.d.ts +0 -41
- package/dist/src/cli.js +0 -380
- package/dist/src/commands/bootstrap-checks.d.ts +0 -16
- package/dist/src/commands/bootstrap-checks.js +0 -66
- package/dist/src/commands/bootstrap.d.ts +0 -10
- package/dist/src/commands/build-prelock.d.ts +0 -20
- package/dist/src/commands/build-prelock.js +0 -50
- package/dist/src/commands/build.d.ts +0 -13
- package/dist/src/commands/check-report.d.ts +0 -41
- package/dist/src/commands/check-report.js +0 -98
- package/dist/src/commands/check-run.d.ts +0 -44
- package/dist/src/commands/check-run.js +0 -125
- package/dist/src/commands/check-steps.d.ts +0 -75
- package/dist/src/commands/check-steps.js +0 -200
- package/dist/src/commands/check.d.ts +0 -32
- package/dist/src/commands/config.d.ts +0 -13
- package/dist/src/commands/declarations-report.d.ts +0 -49
- package/dist/src/commands/declarations-report.js +0 -83
- package/dist/src/commands/destructive-decision.d.ts +0 -19
- package/dist/src/commands/destructive-decision.js +0 -31
- package/dist/src/commands/discard.d.ts +0 -12
- package/dist/src/commands/doctor-check-core.d.ts +0 -110
- package/dist/src/commands/doctor-check-core.js +0 -24
- package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
- package/dist/src/commands/doctor-engine-eslint.js +0 -17
- package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
- package/dist/src/commands/doctor-external-toolchains.js +0 -56
- package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
- package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
- package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
- package/dist/src/commands/doctor-furnace-jar.js +0 -44
- package/dist/src/commands/doctor-furnace.d.ts +0 -8
- package/dist/src/commands/doctor-furnace.js +0 -514
- package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
- package/dist/src/commands/doctor-macos-sdk.js +0 -158
- package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
- package/dist/src/commands/doctor-orphaned-harness.js +0 -98
- package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
- package/dist/src/commands/doctor-patch-manifest.js +0 -156
- package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
- package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
- package/dist/src/commands/doctor-source-pin.d.ts +0 -29
- package/dist/src/commands/doctor-source-pin.js +0 -91
- package/dist/src/commands/doctor-working-tree.d.ts +0 -27
- package/dist/src/commands/doctor-working-tree.js +0 -89
- package/dist/src/commands/doctor.d.ts +0 -49
- package/dist/src/commands/download.d.ts +0 -11
- package/dist/src/commands/export-adopt-check.d.ts +0 -37
- package/dist/src/commands/export-adopt-check.js +0 -97
- package/dist/src/commands/export-all.d.ts +0 -11
- package/dist/src/commands/export-all.js +0 -361
- package/dist/src/commands/export-flow.d.ts +0 -124
- package/dist/src/commands/export-flow.js +0 -423
- package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
- package/dist/src/commands/export-placement-conflicts.js +0 -75
- package/dist/src/commands/export-placement-gate.d.ts +0 -42
- package/dist/src/commands/export-placement-gate.js +0 -107
- package/dist/src/commands/export-placement-policy.d.ts +0 -22
- package/dist/src/commands/export-placement-policy.js +0 -54
- package/dist/src/commands/export-shared.d.ts +0 -152
- package/dist/src/commands/export-shared.js +0 -396
- package/dist/src/commands/export-staged-registration.d.ts +0 -46
- package/dist/src/commands/export-staged-registration.js +0 -91
- package/dist/src/commands/export.d.ts +0 -13
- package/dist/src/commands/forward-import-remedy.d.ts +0 -31
- package/dist/src/commands/forward-import-remedy.js +0 -62
- package/dist/src/commands/furnace/apply.d.ts +0 -8
- package/dist/src/commands/furnace/apply.js +0 -327
- package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
- package/dist/src/commands/furnace/authoring-config.js +0 -19
- package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
- package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
- package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
- package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
- package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
- package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
- package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
- package/dist/src/commands/furnace/chrome-doc.js +0 -365
- package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
- package/dist/src/commands/furnace/create-browser-test.js +0 -179
- package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
- package/dist/src/commands/furnace/create-dry-run.js +0 -107
- package/dist/src/commands/furnace/create-features.d.ts +0 -24
- package/dist/src/commands/furnace/create-features.js +0 -55
- package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
- package/dist/src/commands/furnace/create-mochikit.js +0 -75
- package/dist/src/commands/furnace/create-readback.d.ts +0 -22
- package/dist/src/commands/furnace/create-readback.js +0 -32
- package/dist/src/commands/furnace/create-templates.d.ts +0 -119
- package/dist/src/commands/furnace/create-templates.js +0 -283
- package/dist/src/commands/furnace/create-validation.d.ts +0 -6
- package/dist/src/commands/furnace/create-validation.js +0 -59
- package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
- package/dist/src/commands/furnace/create-xpcshell.js +0 -80
- package/dist/src/commands/furnace/create.d.ts +0 -24
- package/dist/src/commands/furnace/create.js +0 -407
- package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
- package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
- package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
- package/dist/src/commands/furnace/deploy-named.js +0 -107
- package/dist/src/commands/furnace/deploy.d.ts +0 -9
- package/dist/src/commands/furnace/deploy.js +0 -229
- package/dist/src/commands/furnace/diff.d.ts +0 -11
- package/dist/src/commands/furnace/diff.js +0 -238
- package/dist/src/commands/furnace/index.d.ts +0 -4
- package/dist/src/commands/furnace/index.js +0 -283
- package/dist/src/commands/furnace/init.d.ts +0 -11
- package/dist/src/commands/furnace/init.js +0 -287
- package/dist/src/commands/furnace/list.d.ts +0 -8
- package/dist/src/commands/furnace/list.js +0 -104
- package/dist/src/commands/furnace/override.d.ts +0 -16
- package/dist/src/commands/furnace/override.js +0 -454
- package/dist/src/commands/furnace/preview.d.ts +0 -19
- package/dist/src/commands/furnace/preview.js +0 -349
- package/dist/src/commands/furnace/refresh.d.ts +0 -10
- package/dist/src/commands/furnace/refresh.js +0 -303
- package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
- package/dist/src/commands/furnace/remove-mutations.js +0 -168
- package/dist/src/commands/furnace/remove-state.d.ts +0 -20
- package/dist/src/commands/furnace/remove-state.js +0 -60
- package/dist/src/commands/furnace/remove.d.ts +0 -8
- package/dist/src/commands/furnace/remove.js +0 -415
- package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
- package/dist/src/commands/furnace/rename-browser-test.js +0 -68
- package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
- package/dist/src/commands/furnace/rename-dry-run.js +0 -127
- package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
- package/dist/src/commands/furnace/rename-helpers.js +0 -85
- package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
- package/dist/src/commands/furnace/rename-registrations.js +0 -98
- package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
- package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
- package/dist/src/commands/furnace/rename.d.ts +0 -6
- package/dist/src/commands/furnace/rename.js +0 -400
- package/dist/src/commands/furnace/scan.d.ts +0 -14
- package/dist/src/commands/furnace/scan.js +0 -192
- package/dist/src/commands/furnace/status.d.ts +0 -7
- package/dist/src/commands/furnace/status.js +0 -209
- package/dist/src/commands/furnace/sync.d.ts +0 -12
- package/dist/src/commands/furnace/sync.js +0 -145
- package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
- package/dist/src/commands/furnace/test-file-name.js +0 -39
- package/dist/src/commands/furnace/validate-report.d.ts +0 -45
- package/dist/src/commands/furnace/validate-report.js +0 -91
- package/dist/src/commands/furnace/validate.d.ts +0 -8
- package/dist/src/commands/furnace/validate.js +0 -309
- package/dist/src/commands/furnace/validation-output.d.ts +0 -47
- package/dist/src/commands/furnace/validation-output.js +0 -161
- package/dist/src/commands/import.d.ts +0 -11
- package/dist/src/commands/lint-per-patch.d.ts +0 -10
- package/dist/src/commands/lint-per-patch.js +0 -428
- package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
- package/dist/src/commands/lint-per-run-checkjs.js +0 -102
- package/dist/src/commands/lint-report.d.ts +0 -25
- package/dist/src/commands/lint-report.js +0 -76
- package/dist/src/commands/lint.d.ts +0 -47
- package/dist/src/commands/manifest.d.ts +0 -38
- package/dist/src/commands/manifest.js +0 -68
- package/dist/src/commands/package.d.ts +0 -11
- package/dist/src/commands/park.d.ts +0 -22
- package/dist/src/commands/park.js +0 -232
- package/dist/src/commands/patch/body.d.ts +0 -29
- package/dist/src/commands/patch/body.js +0 -60
- package/dist/src/commands/patch/compact.d.ts +0 -28
- package/dist/src/commands/patch/compact.js +0 -208
- package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
- package/dist/src/commands/patch/delete-gap-notice.js +0 -48
- package/dist/src/commands/patch/delete.d.ts +0 -28
- package/dist/src/commands/patch/delete.js +0 -131
- package/dist/src/commands/patch/entry-projection.d.ts +0 -13
- package/dist/src/commands/patch/entry-projection.js +0 -24
- package/dist/src/commands/patch/index.d.ts +0 -16
- package/dist/src/commands/patch/index.js +0 -54
- package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
- package/dist/src/commands/patch/lint-ignore-from.js +0 -141
- package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
- package/dist/src/commands/patch/lint-ignore.js +0 -263
- package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
- package/dist/src/commands/patch/move-files-adopt.js +0 -65
- package/dist/src/commands/patch/move-files-create.d.ts +0 -19
- package/dist/src/commands/patch/move-files-create.js +0 -187
- package/dist/src/commands/patch/move-files-into.d.ts +0 -65
- package/dist/src/commands/patch/move-files-into.js +0 -325
- package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
- package/dist/src/commands/patch/move-files-retire.js +0 -91
- package/dist/src/commands/patch/move-files.d.ts +0 -28
- package/dist/src/commands/patch/move-files.js +0 -224
- package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
- package/dist/src/commands/patch/move-size-tier.js +0 -66
- package/dist/src/commands/patch/patch-context.d.ts +0 -40
- package/dist/src/commands/patch/patch-context.js +0 -51
- package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
- package/dist/src/commands/patch/removal-created-files.js +0 -83
- package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
- package/dist/src/commands/patch/removal-dependents.js +0 -133
- package/dist/src/commands/patch/rename.d.ts +0 -35
- package/dist/src/commands/patch/rename.js +0 -378
- package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
- package/dist/src/commands/patch/reorder-projection.js +0 -49
- package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
- package/dist/src/commands/patch/reorder-shift.js +0 -307
- package/dist/src/commands/patch/reorder.d.ts +0 -34
- package/dist/src/commands/patch/reorder.js +0 -375
- package/dist/src/commands/patch/reserve.d.ts +0 -33
- package/dist/src/commands/patch/reserve.js +0 -152
- package/dist/src/commands/patch/retire.d.ts +0 -34
- package/dist/src/commands/patch/retire.js +0 -133
- package/dist/src/commands/patch/split-plan.d.ts +0 -125
- package/dist/src/commands/patch/split-plan.js +0 -313
- package/dist/src/commands/patch/split-staged.d.ts +0 -108
- package/dist/src/commands/patch/split-staged.js +0 -202
- package/dist/src/commands/patch/split.d.ts +0 -43
- package/dist/src/commands/patch/split.js +0 -367
- package/dist/src/commands/patch/stage.d.ts +0 -34
- package/dist/src/commands/patch/stage.js +0 -153
- package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
- package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
- package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
- package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
- package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
- package/dist/src/commands/patch/staged-dependency-from.js +0 -114
- package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
- package/dist/src/commands/patch/staged-dependency-remove.js +0 -114
- package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -27
- package/dist/src/commands/patch/staged-dependency-validate.js +0 -78
- package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
- package/dist/src/commands/patch/staged-dependency.js +0 -251
- package/dist/src/commands/patch/tier.d.ts +0 -34
- package/dist/src/commands/patch/tier.js +0 -125
- package/dist/src/commands/patch-rename-map.d.ts +0 -30
- package/dist/src/commands/patch-rename-map.js +0 -54
- package/dist/src/commands/pending-resolution.d.ts +0 -15
- package/dist/src/commands/pending-resolution.js +0 -25
- package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
- package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
- package/dist/src/commands/re-export-adjacent.d.ts +0 -111
- package/dist/src/commands/re-export-adjacent.js +0 -285
- package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
- package/dist/src/commands/re-export-bulk-scan.js +0 -233
- package/dist/src/commands/re-export-drift.d.ts +0 -110
- package/dist/src/commands/re-export-drift.js +0 -358
- package/dist/src/commands/re-export-each.d.ts +0 -46
- package/dist/src/commands/re-export-each.js +0 -110
- package/dist/src/commands/re-export-files.d.ts +0 -15
- package/dist/src/commands/re-export-files.js +0 -307
- package/dist/src/commands/re-export-hunks.d.ts +0 -37
- package/dist/src/commands/re-export-hunks.js +0 -264
- package/dist/src/commands/re-export-lint.d.ts +0 -137
- package/dist/src/commands/re-export-lint.js +0 -303
- package/dist/src/commands/re-export-options.d.ts +0 -29
- package/dist/src/commands/re-export-options.js +0 -192
- package/dist/src/commands/re-export-preflight.d.ts +0 -23
- package/dist/src/commands/re-export-preflight.js +0 -159
- package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
- package/dist/src/commands/re-export-purity-scope.js +0 -137
- package/dist/src/commands/re-export-register.d.ts +0 -12
- package/dist/src/commands/re-export-register.js +0 -99
- package/dist/src/commands/re-export-removed.d.ts +0 -15
- package/dist/src/commands/re-export-removed.js +0 -94
- package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
- package/dist/src/commands/re-export-retired-declarations.js +0 -113
- package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
- package/dist/src/commands/re-export-scan-owner.js +0 -116
- package/dist/src/commands/re-export-scan.d.ts +0 -72
- package/dist/src/commands/re-export-scan.js +0 -265
- package/dist/src/commands/re-export-single.d.ts +0 -53
- package/dist/src/commands/re-export-single.js +0 -426
- package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
- package/dist/src/commands/re-export-stale-registrations.js +0 -106
- package/dist/src/commands/re-export-summary.d.ts +0 -44
- package/dist/src/commands/re-export-summary.js +0 -59
- package/dist/src/commands/re-export.d.ts +0 -8
- package/dist/src/commands/rebase/abort.d.ts +0 -7
- package/dist/src/commands/rebase/abort.js +0 -67
- package/dist/src/commands/rebase/confirm.d.ts +0 -42
- package/dist/src/commands/rebase/confirm.js +0 -36
- package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
- package/dist/src/commands/rebase/conflict-summary.js +0 -37
- package/dist/src/commands/rebase/continue.d.ts +0 -7
- package/dist/src/commands/rebase/continue.js +0 -119
- package/dist/src/commands/rebase/index.d.ts +0 -22
- package/dist/src/commands/rebase/index.js +0 -209
- package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
- package/dist/src/commands/rebase/patch-loop.js +0 -289
- package/dist/src/commands/rebase/summary.d.ts +0 -8
- package/dist/src/commands/rebase/summary.js +0 -47
- package/dist/src/commands/register.d.ts +0 -13
- package/dist/src/commands/reset.d.ts +0 -11
- package/dist/src/commands/resolve.d.ts +0 -36
- package/dist/src/commands/run.d.ts +0 -10
- package/dist/src/commands/setup-support.d.ts +0 -35
- package/dist/src/commands/setup-support.js +0 -386
- package/dist/src/commands/setup.d.ts +0 -11
- package/dist/src/commands/source.d.ts +0 -9
- package/dist/src/commands/source.js +0 -120
- package/dist/src/commands/status-check.d.ts +0 -87
- package/dist/src/commands/status-check.js +0 -161
- package/dist/src/commands/status-json.d.ts +0 -45
- package/dist/src/commands/status-json.js +0 -97
- package/dist/src/commands/status-output.d.ts +0 -23
- package/dist/src/commands/status-output.js +0 -231
- package/dist/src/commands/status-ownership.d.ts +0 -54
- package/dist/src/commands/status-ownership.js +0 -59
- package/dist/src/commands/status-scope.d.ts +0 -37
- package/dist/src/commands/status-scope.js +0 -54
- package/dist/src/commands/status.d.ts +0 -11
- package/dist/src/commands/test-appdir.d.ts +0 -6
- package/dist/src/commands/test-appdir.js +0 -29
- package/dist/src/commands/test-browser-preflight.d.ts +0 -28
- package/dist/src/commands/test-browser-preflight.js +0 -197
- package/dist/src/commands/test-build-furnace.d.ts +0 -21
- package/dist/src/commands/test-build-furnace.js +0 -53
- package/dist/src/commands/test-build-phase.d.ts +0 -34
- package/dist/src/commands/test-build-phase.js +0 -291
- package/dist/src/commands/test-checkjs.d.ts +0 -3
- package/dist/src/commands/test-checkjs.js +0 -35
- package/dist/src/commands/test-control-restore.d.ts +0 -40
- package/dist/src/commands/test-control-restore.js +0 -86
- package/dist/src/commands/test-diagnose.d.ts +0 -23
- package/dist/src/commands/test-diagnose.js +0 -317
- package/dist/src/commands/test-dispatch.d.ts +0 -39
- package/dist/src/commands/test-dispatch.js +0 -281
- package/dist/src/commands/test-furnace-reach.d.ts +0 -37
- package/dist/src/commands/test-furnace-reach.js +0 -132
- package/dist/src/commands/test-harness-env.d.ts +0 -23
- package/dist/src/commands/test-harness-env.js +0 -81
- package/dist/src/commands/test-harness-teardown.d.ts +0 -62
- package/dist/src/commands/test-harness-teardown.js +0 -128
- package/dist/src/commands/test-modes.d.ts +0 -57
- package/dist/src/commands/test-modes.js +0 -158
- package/dist/src/commands/test-multi-verdict.d.ts +0 -61
- package/dist/src/commands/test-multi-verdict.js +0 -112
- package/dist/src/commands/test-orchestrate.d.ts +0 -70
- package/dist/src/commands/test-orchestrate.js +0 -277
- package/dist/src/commands/test-perf-scope.d.ts +0 -50
- package/dist/src/commands/test-perf-scope.js +0 -138
- package/dist/src/commands/test-prelock.d.ts +0 -61
- package/dist/src/commands/test-prelock.js +0 -301
- package/dist/src/commands/test-register.d.ts +0 -4
- package/dist/src/commands/test-register.js +0 -181
- package/dist/src/commands/test-results.d.ts +0 -71
- package/dist/src/commands/test-results.js +0 -79
- package/dist/src/commands/test-run.d.ts +0 -89
- package/dist/src/commands/test-run.js +0 -251
- package/dist/src/commands/test-shards.d.ts +0 -114
- package/dist/src/commands/test-shards.js +0 -272
- package/dist/src/commands/test-stale-gate.d.ts +0 -56
- package/dist/src/commands/test-stale-gate.js +0 -208
- package/dist/src/commands/test-verdict.d.ts +0 -102
- package/dist/src/commands/test-verdict.js +0 -176
- package/dist/src/commands/test.d.ts +0 -22
- package/dist/src/commands/token-coverage.d.ts +0 -5
- package/dist/src/commands/token-coverage.js +0 -170
- package/dist/src/commands/token-lint.d.ts +0 -14
- package/dist/src/commands/token-lint.js +0 -151
- package/dist/src/commands/token-list.d.ts +0 -26
- package/dist/src/commands/token-list.js +0 -153
- package/dist/src/commands/token.d.ts +0 -14
- package/dist/src/commands/tree.d.ts +0 -19
- package/dist/src/commands/tree.js +0 -341
- package/dist/src/commands/typecheck-explain.d.ts +0 -13
- package/dist/src/commands/typecheck-explain.js +0 -100
- package/dist/src/commands/typecheck.d.ts +0 -61
- package/dist/src/commands/verify-scope.d.ts +0 -28
- package/dist/src/commands/verify-scope.js +0 -67
- package/dist/src/commands/verify.d.ts +0 -58
- package/dist/src/commands/watch.d.ts +0 -9
- package/dist/src/commands/wire.d.ts +0 -13
- package/dist/src/core/ast-utils.d.ts +0 -73
- package/dist/src/core/ast-utils.js +0 -105
- package/dist/src/core/brand-validation.d.ts +0 -7
- package/dist/src/core/brand-validation.js +0 -14
- package/dist/src/core/branding.d.ts +0 -86
- package/dist/src/core/branding.js +0 -371
- package/dist/src/core/browser-wire.d.ts +0 -48
- package/dist/src/core/browser-wire.js +0 -133
- package/dist/src/core/build-audit-platform.d.ts +0 -67
- package/dist/src/core/build-audit-platform.js +0 -373
- package/dist/src/core/build-audit-registration.d.ts +0 -80
- package/dist/src/core/build-audit-registration.js +0 -181
- package/dist/src/core/build-audit-resolve.d.ts +0 -78
- package/dist/src/core/build-audit-resolve.js +0 -240
- package/dist/src/core/build-audit-skip.d.ts +0 -57
- package/dist/src/core/build-audit-skip.js +0 -112
- package/dist/src/core/build-audit-transforms.d.ts +0 -23
- package/dist/src/core/build-audit-transforms.js +0 -92
- package/dist/src/core/build-audit.d.ts +0 -93
- package/dist/src/core/build-audit.js +0 -633
- package/dist/src/core/build-baseline-types.d.ts +0 -225
- package/dist/src/core/build-baseline-types.js +0 -10
- package/dist/src/core/build-baseline-validate.d.ts +0 -32
- package/dist/src/core/build-baseline-validate.js +0 -173
- package/dist/src/core/build-baseline.d.ts +0 -103
- package/dist/src/core/build-baseline.js +0 -261
- package/dist/src/core/build-jar-escalation.d.ts +0 -61
- package/dist/src/core/build-jar-escalation.js +0 -125
- package/dist/src/core/build-overwrite-guard.d.ts +0 -92
- package/dist/src/core/build-overwrite-guard.js +0 -235
- package/dist/src/core/build-prepare.d.ts +0 -83
- package/dist/src/core/build-prepare.js +0 -414
- package/dist/src/core/build-run-record.d.ts +0 -74
- package/dist/src/core/build-run-record.js +0 -136
- package/dist/src/core/checkjs-support-heads.d.ts +0 -41
- package/dist/src/core/checkjs-support-heads.js +0 -104
- package/dist/src/core/component-source-guard.d.ts +0 -20
- package/dist/src/core/component-source-guard.js +0 -68
- package/dist/src/core/config-mutate.d.ts +0 -16
- package/dist/src/core/config-mutate.js +0 -76
- package/dist/src/core/config-paths.d.ts +0 -16
- package/dist/src/core/config-paths.js +0 -106
- package/dist/src/core/config-state.d.ts +0 -16
- package/dist/src/core/config-state.js +0 -141
- package/dist/src/core/config-validate-build-audit.d.ts +0 -8
- package/dist/src/core/config-validate-build-audit.js +0 -80
- package/dist/src/core/config-validate-check.d.ts +0 -8
- package/dist/src/core/config-validate-check.js +0 -219
- package/dist/src/core/config-validate-file-size.d.ts +0 -15
- package/dist/src/core/config-validate-file-size.js +0 -154
- package/dist/src/core/config-validate-history.d.ts +0 -11
- package/dist/src/core/config-validate-history.js +0 -38
- package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
- package/dist/src/core/config-validate-patch-policy.js +0 -284
- package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
- package/dist/src/core/config-validate-test-toolchains.js +0 -133
- package/dist/src/core/config-validate-token-scales.d.ts +0 -9
- package/dist/src/core/config-validate-token-scales.js +0 -125
- package/dist/src/core/config-validate.d.ts +0 -11
- package/dist/src/core/config-validate.js +0 -509
- package/dist/src/core/config.d.ts +0 -92
- package/dist/src/core/config.js +0 -169
- package/dist/src/core/coverage-dispatch.d.ts +0 -24
- package/dist/src/core/coverage-dispatch.js +0 -44
- package/dist/src/core/coverage-extend.d.ts +0 -89
- package/dist/src/core/coverage-extend.js +0 -239
- package/dist/src/core/coverage-records.d.ts +0 -107
- package/dist/src/core/coverage-records.js +0 -383
- package/dist/src/core/destructive.d.ts +0 -144
- package/dist/src/core/destructive.js +0 -182
- package/dist/src/core/dev-profile.d.ts +0 -28
- package/dist/src/core/dev-profile.js +0 -58
- package/dist/src/core/diff-hunks.d.ts +0 -73
- package/dist/src/core/diff-hunks.js +0 -286
- package/dist/src/core/discard-baseline.d.ts +0 -60
- package/dist/src/core/discard-baseline.js +0 -247
- package/dist/src/core/display-state.d.ts +0 -50
- package/dist/src/core/display-state.js +0 -87
- package/dist/src/core/engine-changes.d.ts +0 -40
- package/dist/src/core/engine-changes.js +0 -95
- package/dist/src/core/engine-precondition.d.ts +0 -42
- package/dist/src/core/engine-precondition.js +0 -60
- package/dist/src/core/engine-session-lock.d.ts +0 -119
- package/dist/src/core/engine-session-lock.js +0 -374
- package/dist/src/core/engine-write-boundary.d.ts +0 -5
- package/dist/src/core/engine-write-boundary.js +0 -41
- package/dist/src/core/export-moved-code-shape.d.ts +0 -98
- package/dist/src/core/export-moved-code-shape.js +0 -220
- package/dist/src/core/file-lock-owner.d.ts +0 -103
- package/dist/src/core/file-lock-owner.js +0 -259
- package/dist/src/core/file-lock-queue.d.ts +0 -67
- package/dist/src/core/file-lock-queue.js +0 -219
- package/dist/src/core/file-lock-shared.d.ts +0 -57
- package/dist/src/core/file-lock-shared.js +0 -117
- package/dist/src/core/file-lock.d.ts +0 -143
- package/dist/src/core/file-lock.js +0 -531
- package/dist/src/core/firefox-archive.d.ts +0 -45
- package/dist/src/core/firefox-archive.js +0 -96
- package/dist/src/core/firefox-cache.d.ts +0 -30
- package/dist/src/core/firefox-cache.js +0 -248
- package/dist/src/core/firefox-download.d.ts +0 -30
- package/dist/src/core/firefox-download.js +0 -152
- package/dist/src/core/firefox-extract.d.ts +0 -42
- package/dist/src/core/firefox-extract.js +0 -248
- package/dist/src/core/firefox-ignorefile.d.ts +0 -17
- package/dist/src/core/firefox-ignorefile.js +0 -30
- package/dist/src/core/firefox.d.ts +0 -66
- package/dist/src/core/firefox.js +0 -121
- package/dist/src/core/forward-registrations.d.ts +0 -33
- package/dist/src/core/forward-registrations.js +0 -16
- package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
- package/dist/src/core/furnace-apply-dry-run.js +0 -99
- package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
- package/dist/src/core/furnace-apply-ftl.js +0 -210
- package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
- package/dist/src/core/furnace-apply-helpers.js +0 -436
- package/dist/src/core/furnace-apply-output.d.ts +0 -36
- package/dist/src/core/furnace-apply-output.js +0 -111
- package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -67
- package/dist/src/core/furnace-apply-overwrite-warn.js +0 -131
- package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
- package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
- package/dist/src/core/furnace-apply.d.ts +0 -49
- package/dist/src/core/furnace-apply.js +0 -465
- package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
- package/dist/src/core/furnace-checksum-utils.js +0 -54
- package/dist/src/core/furnace-composed-source.d.ts +0 -76
- package/dist/src/core/furnace-composed-source.js +0 -167
- package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
- package/dist/src/core/furnace-config-array-utils.js +0 -26
- package/dist/src/core/furnace-config-custom.d.ts +0 -15
- package/dist/src/core/furnace-config-custom.js +0 -73
- package/dist/src/core/furnace-config-order.d.ts +0 -8
- package/dist/src/core/furnace-config-order.js +0 -90
- package/dist/src/core/furnace-config-tokens.d.ts +0 -17
- package/dist/src/core/furnace-config-tokens.js +0 -42
- package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
- package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
- package/dist/src/core/furnace-config-validate.d.ts +0 -32
- package/dist/src/core/furnace-config-validate.js +0 -167
- package/dist/src/core/furnace-config.d.ts +0 -139
- package/dist/src/core/furnace-config.js +0 -511
- package/dist/src/core/furnace-constants.d.ts +0 -81
- package/dist/src/core/furnace-constants.js +0 -125
- package/dist/src/core/furnace-css-fragments.d.ts +0 -96
- package/dist/src/core/furnace-css-fragments.js +0 -279
- package/dist/src/core/furnace-deploy-owner.d.ts +0 -29
- package/dist/src/core/furnace-deploy-owner.js +0 -116
- package/dist/src/core/furnace-dir-entry.d.ts +0 -20
- package/dist/src/core/furnace-dir-entry.js +0 -21
- package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
- package/dist/src/core/furnace-fragment-includers.js +0 -122
- package/dist/src/core/furnace-graph-utils.d.ts +0 -11
- package/dist/src/core/furnace-graph-utils.js +0 -93
- package/dist/src/core/furnace-jsconfig.d.ts +0 -87
- package/dist/src/core/furnace-jsconfig.js +0 -248
- package/dist/src/core/furnace-marker.d.ts +0 -15
- package/dist/src/core/furnace-marker.js +0 -21
- package/dist/src/core/furnace-operation.d.ts +0 -195
- package/dist/src/core/furnace-operation.js +0 -444
- package/dist/src/core/furnace-precondition.d.ts +0 -61
- package/dist/src/core/furnace-precondition.js +0 -67
- package/dist/src/core/furnace-refresh.d.ts +0 -28
- package/dist/src/core/furnace-refresh.js +0 -125
- package/dist/src/core/furnace-registration-ast.d.ts +0 -53
- package/dist/src/core/furnace-registration-ast.js +0 -402
- package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
- package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
- package/dist/src/core/furnace-registration-remove.d.ts +0 -56
- package/dist/src/core/furnace-registration-remove.js +0 -260
- package/dist/src/core/furnace-registration-rename.d.ts +0 -26
- package/dist/src/core/furnace-registration-rename.js +0 -77
- package/dist/src/core/furnace-registration-validate.d.ts +0 -53
- package/dist/src/core/furnace-registration-validate.js +0 -110
- package/dist/src/core/furnace-registration.d.ts +0 -112
- package/dist/src/core/furnace-registration.js +0 -348
- package/dist/src/core/furnace-rollback.d.ts +0 -48
- package/dist/src/core/furnace-rollback.js +0 -170
- package/dist/src/core/furnace-scanner.d.ts +0 -47
- package/dist/src/core/furnace-scanner.js +0 -236
- package/dist/src/core/furnace-stale-export.d.ts +0 -60
- package/dist/src/core/furnace-stale-export.js +0 -125
- package/dist/src/core/furnace-staleness.d.ts +0 -24
- package/dist/src/core/furnace-staleness.js +0 -67
- package/dist/src/core/furnace-state-persist.d.ts +0 -68
- package/dist/src/core/furnace-state-persist.js +0 -116
- package/dist/src/core/furnace-step-errors.d.ts +0 -23
- package/dist/src/core/furnace-step-errors.js +0 -25
- package/dist/src/core/furnace-stories.d.ts +0 -37
- package/dist/src/core/furnace-stories.js +0 -186
- package/dist/src/core/furnace-tag-map.d.ts +0 -47
- package/dist/src/core/furnace-tag-map.js +0 -182
- package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
- package/dist/src/core/furnace-validate-accessibility.js +0 -417
- package/dist/src/core/furnace-validate-checks.d.ts +0 -4
- package/dist/src/core/furnace-validate-checks.js +0 -6
- package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
- package/dist/src/core/furnace-validate-compatibility.js +0 -295
- package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
- package/dist/src/core/furnace-validate-exceptions.js +0 -98
- package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
- package/dist/src/core/furnace-validate-helpers.js +0 -4
- package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
- package/dist/src/core/furnace-validate-icon-button.js +0 -78
- package/dist/src/core/furnace-validate-registration.d.ts +0 -67
- package/dist/src/core/furnace-validate-registration.js +0 -487
- package/dist/src/core/furnace-validate-structure.d.ts +0 -22
- package/dist/src/core/furnace-validate-structure.js +0 -122
- package/dist/src/core/furnace-validate.d.ts +0 -41
- package/dist/src/core/furnace-validate.js +0 -331
- package/dist/src/core/furnace-version-drift.d.ts +0 -57
- package/dist/src/core/furnace-version-drift.js +0 -102
- package/dist/src/core/gecko-dom-types.d.ts +0 -2
- package/dist/src/core/gecko-dom-types.js +0 -17
- package/dist/src/core/git-base.d.ts +0 -101
- package/dist/src/core/git-base.js +0 -162
- package/dist/src/core/git-diff-new-file.d.ts +0 -40
- package/dist/src/core/git-diff-new-file.js +0 -118
- package/dist/src/core/git-diff.d.ts +0 -82
- package/dist/src/core/git-diff.js +0 -539
- package/dist/src/core/git-file-ops.d.ts +0 -108
- package/dist/src/core/git-file-ops.js +0 -280
- package/dist/src/core/git-readonly-index.d.ts +0 -91
- package/dist/src/core/git-readonly-index.js +0 -177
- package/dist/src/core/git-status.d.ts +0 -84
- package/dist/src/core/git-status.js +0 -208
- package/dist/src/core/git.d.ts +0 -114
- package/dist/src/core/git.js +0 -540
- package/dist/src/core/harness-helper-pids.d.ts +0 -98
- package/dist/src/core/harness-helper-pids.js +0 -240
- package/dist/src/core/harness-orphans.d.ts +0 -118
- package/dist/src/core/harness-orphans.js +0 -268
- package/dist/src/core/harness-port-fallback.d.ts +0 -60
- package/dist/src/core/harness-port-fallback.js +0 -96
- package/dist/src/core/harness-port-reservation.d.ts +0 -60
- package/dist/src/core/harness-port-reservation.js +0 -122
- package/dist/src/core/history-log-file.d.ts +0 -61
- package/dist/src/core/history-log-file.js +0 -164
- package/dist/src/core/history-log.d.ts +0 -20
- package/dist/src/core/history-log.js +0 -30
- package/dist/src/core/json-preserving-edit.d.ts +0 -22
- package/dist/src/core/json-preserving-edit.js +0 -199
- package/dist/src/core/launchable-build.d.ts +0 -39
- package/dist/src/core/launchable-build.js +0 -85
- package/dist/src/core/license-headers.d.ts +0 -103
- package/dist/src/core/license-headers.js +0 -328
- package/dist/src/core/line-prefixer.d.ts +0 -18
- package/dist/src/core/line-prefixer.js +0 -34
- package/dist/src/core/lit-template-regions.d.ts +0 -4
- package/dist/src/core/lit-template-regions.js +0 -50
- package/dist/src/core/mach-build-artifacts.d.ts +0 -176
- package/dist/src/core/mach-build-artifacts.js +0 -436
- package/dist/src/core/mach-error-hints.d.ts +0 -24
- package/dist/src/core/mach-error-hints.js +0 -135
- package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
- package/dist/src/core/mach-known-noise-filter.js +0 -257
- package/dist/src/core/mach-mozconfig.d.ts +0 -57
- package/dist/src/core/mach-mozconfig.js +0 -166
- package/dist/src/core/mach-python.d.ts +0 -19
- package/dist/src/core/mach-python.js +0 -131
- package/dist/src/core/mach-resource-shim.d.ts +0 -107
- package/dist/src/core/mach-resource-shim.js +0 -640
- package/dist/src/core/mach.d.ts +0 -284
- package/dist/src/core/mach.js +0 -445
- package/dist/src/core/marionette-port.d.ts +0 -153
- package/dist/src/core/marionette-port.js +0 -474
- package/dist/src/core/marionette-preflight.d.ts +0 -58
- package/dist/src/core/marionette-preflight.js +0 -332
- package/dist/src/core/markdown-table.d.ts +0 -104
- package/dist/src/core/markdown-table.js +0 -265
- package/dist/src/core/mochitest-server-port.d.ts +0 -81
- package/dist/src/core/mochitest-server-port.js +0 -175
- package/dist/src/core/module-resolution-preflight.d.ts +0 -65
- package/dist/src/core/module-resolution-preflight.js +0 -171
- package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
- package/dist/src/core/moz-manifest-helpers.js +0 -163
- package/dist/src/core/moz-manifest-register.d.ts +0 -19
- package/dist/src/core/moz-manifest-register.js +0 -51
- package/dist/src/core/moz-manifest-rules.d.ts +0 -58
- package/dist/src/core/moz-manifest-rules.js +0 -264
- package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
- package/dist/src/core/moz-manifest-tokenizers.js +0 -108
- package/dist/src/core/negative-control-compiled.d.ts +0 -46
- package/dist/src/core/negative-control-compiled.js +0 -109
- package/dist/src/core/negative-control-diff.d.ts +0 -51
- package/dist/src/core/negative-control-diff.js +0 -167
- package/dist/src/core/negative-control.d.ts +0 -150
- package/dist/src/core/negative-control.js +0 -399
- package/dist/src/core/objdir-install-manifests.d.ts +0 -73
- package/dist/src/core/objdir-install-manifests.js +0 -226
- package/dist/src/core/objdir-maintenance.d.ts +0 -10
- package/dist/src/core/objdir-maintenance.js +0 -167
- package/dist/src/core/ownership-table.d.ts +0 -53
- package/dist/src/core/ownership-table.js +0 -159
- package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
- package/dist/src/core/parent-exit-watchdog.js +0 -69
- package/dist/src/core/park-store.d.ts +0 -63
- package/dist/src/core/park-store.js +0 -216
- package/dist/src/core/parser-fallback.d.ts +0 -50
- package/dist/src/core/parser-fallback.js +0 -61
- package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
- package/dist/src/core/patch-apply-fuzz.js +0 -125
- package/dist/src/core/patch-apply.d.ts +0 -88
- package/dist/src/core/patch-apply.js +0 -435
- package/dist/src/core/patch-export-coverage.d.ts +0 -49
- package/dist/src/core/patch-export-coverage.js +0 -73
- package/dist/src/core/patch-export-metadata.d.ts +0 -46
- package/dist/src/core/patch-export-metadata.js +0 -47
- package/dist/src/core/patch-export-update.d.ts +0 -55
- package/dist/src/core/patch-export-update.js +0 -95
- package/dist/src/core/patch-export.d.ts +0 -175
- package/dist/src/core/patch-export.js +0 -312
- package/dist/src/core/patch-files.d.ts +0 -17
- package/dist/src/core/patch-files.js +0 -59
- package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
- package/dist/src/core/patch-identifier-suggest.js +0 -135
- package/dist/src/core/patch-lint-binary.d.ts +0 -45
- package/dist/src/core/patch-lint-binary.js +0 -39
- package/dist/src/core/patch-lint-cache-checkjs.d.ts +0 -45
- package/dist/src/core/patch-lint-cache-checkjs.js +0 -195
- package/dist/src/core/patch-lint-cache.d.ts +0 -79
- package/dist/src/core/patch-lint-cache.js +0 -247
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -57
- package/dist/src/core/patch-lint-checkjs-any-import.js +0 -91
- package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
- package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
- package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
- package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
- package/dist/src/core/patch-lint-checkjs-resolve.d.ts +0 -31
- package/dist/src/core/patch-lint-checkjs-resolve.js +0 -86
- package/dist/src/core/patch-lint-checkjs.d.ts +0 -182
- package/dist/src/core/patch-lint-checkjs.js +0 -563
- package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
- package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
- package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
- package/dist/src/core/patch-lint-code-lines.js +0 -105
- package/dist/src/core/patch-lint-creators.d.ts +0 -26
- package/dist/src/core/patch-lint-creators.js +0 -45
- package/dist/src/core/patch-lint-cross.d.ts +0 -232
- package/dist/src/core/patch-lint-cross.js +0 -590
- package/dist/src/core/patch-lint-css.d.ts +0 -27
- package/dist/src/core/patch-lint-css.js +0 -228
- package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
- package/dist/src/core/patch-lint-diff-tag.js +0 -105
- package/dist/src/core/patch-lint-diff.d.ts +0 -42
- package/dist/src/core/patch-lint-diff.js +0 -100
- package/dist/src/core/patch-lint-file-size.d.ts +0 -57
- package/dist/src/core/patch-lint-file-size.js +0 -62
- package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
- package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
- package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
- package/dist/src/core/patch-lint-forward-registration.js +0 -266
- package/dist/src/core/patch-lint-ignore.d.ts +0 -196
- package/dist/src/core/patch-lint-ignore.js +0 -429
- package/dist/src/core/patch-lint-imports.d.ts +0 -9
- package/dist/src/core/patch-lint-imports.js +0 -90
- package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
- package/dist/src/core/patch-lint-jsdoc.js +0 -471
- package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
- package/dist/src/core/patch-lint-module-registration.js +0 -97
- package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
- package/dist/src/core/patch-lint-mozbuild.js +0 -192
- package/dist/src/core/patch-lint-observer.d.ts +0 -37
- package/dist/src/core/patch-lint-observer.js +0 -167
- package/dist/src/core/patch-lint-ownership.d.ts +0 -74
- package/dist/src/core/patch-lint-ownership.js +0 -125
- package/dist/src/core/patch-lint-prettier.d.ts +0 -34
- package/dist/src/core/patch-lint-prettier.js +0 -124
- package/dist/src/core/patch-lint-projection.d.ts +0 -25
- package/dist/src/core/patch-lint-projection.js +0 -43
- package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
- package/dist/src/core/patch-lint-queue-types.js +0 -12
- package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
- package/dist/src/core/patch-lint-size-thresholds.js +0 -110
- package/dist/src/core/patch-lint-size.d.ts +0 -117
- package/dist/src/core/patch-lint-size.js +0 -331
- package/dist/src/core/patch-lint-staged-registration.d.ts +0 -98
- package/dist/src/core/patch-lint-staged-registration.js +0 -128
- package/dist/src/core/patch-lint-token-scale.d.ts +0 -65
- package/dist/src/core/patch-lint-token-scale.js +0 -304
- package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
- package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
- package/dist/src/core/patch-lint.d.ts +0 -206
- package/dist/src/core/patch-lint.js +0 -533
- package/dist/src/core/patch-lock.d.ts +0 -40
- package/dist/src/core/patch-lock.js +0 -129
- package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
- package/dist/src/core/patch-manifest-consistency.js +0 -256
- package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
- package/dist/src/core/patch-manifest-files-affected.js +0 -77
- package/dist/src/core/patch-manifest-io.d.ts +0 -199
- package/dist/src/core/patch-manifest-io.js +0 -556
- package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
- package/dist/src/core/patch-manifest-key-order.js +0 -60
- package/dist/src/core/patch-manifest-query.d.ts +0 -55
- package/dist/src/core/patch-manifest-query.js +0 -139
- package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
- package/dist/src/core/patch-manifest-resolve.js +0 -35
- package/dist/src/core/patch-manifest-stage.d.ts +0 -46
- package/dist/src/core/patch-manifest-stage.js +0 -96
- package/dist/src/core/patch-manifest-validate.d.ts +0 -20
- package/dist/src/core/patch-manifest-validate.js +0 -240
- package/dist/src/core/patch-manifest.d.ts +0 -12
- package/dist/src/core/patch-manifest.js +0 -13
- package/dist/src/core/patch-order-legal.d.ts +0 -26
- package/dist/src/core/patch-order-legal.js +0 -88
- package/dist/src/core/patch-parse.d.ts +0 -176
- package/dist/src/core/patch-parse.js +0 -416
- package/dist/src/core/patch-policy-content.d.ts +0 -40
- package/dist/src/core/patch-policy-content.js +0 -219
- package/dist/src/core/patch-policy.d.ts +0 -80
- package/dist/src/core/patch-policy.js +0 -394
- package/dist/src/core/patch-registration-refs.d.ts +0 -41
- package/dist/src/core/patch-registration-refs.js +0 -107
- package/dist/src/core/patch-retired.d.ts +0 -57
- package/dist/src/core/patch-retired.js +0 -92
- package/dist/src/core/patch-source-metadata.d.ts +0 -6
- package/dist/src/core/patch-source-metadata.js +0 -12
- package/dist/src/core/patch-subset.d.ts +0 -18
- package/dist/src/core/patch-subset.js +0 -67
- package/dist/src/core/patch-transform.d.ts +0 -61
- package/dist/src/core/patch-transform.js +0 -198
- package/dist/src/core/preflight-wait.d.ts +0 -22
- package/dist/src/core/preflight-wait.js +0 -62
- package/dist/src/core/process-cpu-time.d.ts +0 -12
- package/dist/src/core/process-cpu-time.js +0 -52
- package/dist/src/core/process-owner.d.ts +0 -9
- package/dist/src/core/process-owner.js +0 -43
- package/dist/src/core/rebase-dry-run.d.ts +0 -48
- package/dist/src/core/rebase-dry-run.js +0 -105
- package/dist/src/core/rebase-from-version.d.ts +0 -46
- package/dist/src/core/rebase-from-version.js +0 -71
- package/dist/src/core/rebase-session.d.ts +0 -100
- package/dist/src/core/rebase-session.js +0 -174
- package/dist/src/core/register-browser-content.d.ts +0 -11
- package/dist/src/core/register-browser-content.js +0 -52
- package/dist/src/core/register-browser-test.d.ts +0 -18
- package/dist/src/core/register-browser-test.js +0 -66
- package/dist/src/core/register-module.d.ts +0 -11
- package/dist/src/core/register-module.js +0 -56
- package/dist/src/core/register-result.d.ts +0 -30
- package/dist/src/core/register-result.js +0 -8
- package/dist/src/core/register-scaffold.d.ts +0 -55
- package/dist/src/core/register-scaffold.js +0 -146
- package/dist/src/core/register-shared-css.d.ts +0 -36
- package/dist/src/core/register-shared-css.js +0 -112
- package/dist/src/core/register-xpcshell-test.d.ts +0 -50
- package/dist/src/core/register-xpcshell-test.js +0 -143
- package/dist/src/core/run-log-redact.d.ts +0 -38
- package/dist/src/core/run-log-redact.js +0 -69
- package/dist/src/core/run-log.d.ts +0 -97
- package/dist/src/core/run-log.js +0 -334
- package/dist/src/core/run-profile.d.ts +0 -57
- package/dist/src/core/run-profile.js +0 -137
- package/dist/src/core/shared-ftl.d.ts +0 -28
- package/dist/src/core/shared-ftl.js +0 -49
- package/dist/src/core/signal-critical.d.ts +0 -38
- package/dist/src/core/signal-critical.js +0 -62
- package/dist/src/core/smoke-patterns.d.ts +0 -81
- package/dist/src/core/smoke-patterns.js +0 -176
- package/dist/src/core/state-file.d.ts +0 -60
- package/dist/src/core/state-file.js +0 -71
- package/dist/src/core/status-binary.d.ts +0 -62
- package/dist/src/core/status-binary.js +0 -133
- package/dist/src/core/status-classify.d.ts +0 -96
- package/dist/src/core/status-classify.js +0 -244
- package/dist/src/core/test-changed-prefs.d.ts +0 -30
- package/dist/src/core/test-changed-prefs.js +0 -93
- package/dist/src/core/test-harness-crash.d.ts +0 -251
- package/dist/src/core/test-harness-crash.js +0 -780
- package/dist/src/core/test-harness-infra.d.ts +0 -32
- package/dist/src/core/test-harness-infra.js +0 -69
- package/dist/src/core/test-harness-output.d.ts +0 -45
- package/dist/src/core/test-harness-output.js +0 -119
- package/dist/src/core/test-harness-signature.d.ts +0 -57
- package/dist/src/core/test-harness-signature.js +0 -35
- package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
- package/dist/src/core/test-harness-verdict-notes.js +0 -48
- package/dist/src/core/test-host-state.d.ts +0 -14
- package/dist/src/core/test-host-state.js +0 -80
- package/dist/src/core/test-path-scope.d.ts +0 -59
- package/dist/src/core/test-path-scope.js +0 -147
- package/dist/src/core/test-profile-files.d.ts +0 -17
- package/dist/src/core/test-profile-files.js +0 -75
- package/dist/src/core/test-raw-log.d.ts +0 -66
- package/dist/src/core/test-raw-log.js +0 -122
- package/dist/src/core/test-run-completeness.d.ts +0 -97
- package/dist/src/core/test-run-completeness.js +0 -191
- package/dist/src/core/test-stale-check.d.ts +0 -213
- package/dist/src/core/test-stale-check.js +0 -396
- package/dist/src/core/test-stale-exempt.d.ts +0 -40
- package/dist/src/core/test-stale-exempt.js +0 -70
- package/dist/src/core/test-stale-symlink.d.ts +0 -12
- package/dist/src/core/test-stale-symlink.js +0 -39
- package/dist/src/core/test-stall-triage.d.ts +0 -51
- package/dist/src/core/test-stall-triage.js +0 -142
- package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
- package/dist/src/core/test-xpcshell-retry.js +0 -31
- package/dist/src/core/token-category.d.ts +0 -54
- package/dist/src/core/token-category.js +0 -299
- package/dist/src/core/token-coverage.d.ts +0 -12
- package/dist/src/core/token-coverage.js +0 -96
- package/dist/src/core/token-dark-mode.d.ts +0 -64
- package/dist/src/core/token-dark-mode.js +0 -186
- package/dist/src/core/token-docs.d.ts +0 -34
- package/dist/src/core/token-docs.js +0 -102
- package/dist/src/core/token-inventory.d.ts +0 -56
- package/dist/src/core/token-inventory.js +0 -114
- package/dist/src/core/token-lint.d.ts +0 -53
- package/dist/src/core/token-lint.js +0 -131
- package/dist/src/core/token-manager.d.ts +0 -87
- package/dist/src/core/token-manager.js +0 -407
- package/dist/src/core/token-scaffold.d.ts +0 -36
- package/dist/src/core/token-scaffold.js +0 -73
- package/dist/src/core/token-sibling-sheets.d.ts +0 -46
- package/dist/src/core/token-sibling-sheets.js +0 -119
- package/dist/src/core/token-variant.d.ts +0 -90
- package/dist/src/core/token-variant.js +0 -327
- package/dist/src/core/toolchain-preflight.d.ts +0 -90
- package/dist/src/core/toolchain-preflight.js +0 -251
- package/dist/src/core/tree-cow.d.ts +0 -16
- package/dist/src/core/tree-cow.js +0 -71
- package/dist/src/core/tree-guard.d.ts +0 -35
- package/dist/src/core/tree-guard.js +0 -194
- package/dist/src/core/tree-store.d.ts +0 -143
- package/dist/src/core/tree-store.js +0 -478
- package/dist/src/core/typecheck-explain.d.ts +0 -93
- package/dist/src/core/typecheck-explain.js +0 -213
- package/dist/src/core/typecheck-shim.d.ts +0 -90
- package/dist/src/core/typecheck-shim.js +0 -508
- package/dist/src/core/typecheck.d.ts +0 -97
- package/dist/src/core/typecheck.js +0 -457
- package/dist/src/core/wire-destroy.d.ts +0 -25
- package/dist/src/core/wire-destroy.js +0 -126
- package/dist/src/core/wire-dom-fragment.d.ts +0 -44
- package/dist/src/core/wire-dom-fragment.js +0 -139
- package/dist/src/core/wire-init.d.ts +0 -28
- package/dist/src/core/wire-init.js +0 -219
- package/dist/src/core/wire-subscript.d.ts +0 -23
- package/dist/src/core/wire-subscript.js +0 -145
- package/dist/src/core/wire-utils.d.ts +0 -149
- package/dist/src/core/wire-utils.js +0 -338
- package/dist/src/core/xpcshell-appdir.d.ts +0 -157
- package/dist/src/core/xpcshell-appdir.js +0 -299
- package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
- package/dist/src/core/xpcshell-profile-dir.js +0 -45
- package/dist/src/errors/base.d.ts +0 -217
- package/dist/src/errors/base.js +0 -279
- package/dist/src/errors/build.d.ts +0 -92
- package/dist/src/errors/build.js +0 -166
- package/dist/src/errors/codes.d.ts +0 -74
- package/dist/src/errors/codes.js +0 -74
- package/dist/src/errors/config.d.ts +0 -17
- package/dist/src/errors/config.js +0 -39
- package/dist/src/errors/download.d.ts +0 -66
- package/dist/src/errors/download.js +0 -160
- package/dist/src/errors/furnace.d.ts +0 -20
- package/dist/src/errors/furnace.js +0 -28
- package/dist/src/errors/git.d.ts +0 -65
- package/dist/src/errors/git.js +0 -140
- package/dist/src/errors/patch.d.ts +0 -27
- package/dist/src/errors/patch.js +0 -52
- package/dist/src/errors/rebase.d.ts +0 -42
- package/dist/src/errors/rebase.js +0 -71
- package/dist/src/errors/run.d.ts +0 -16
- package/dist/src/errors/run.js +0 -22
- package/dist/src/index.d.ts +0 -42
- package/dist/src/index.js +0 -32
- package/dist/src/types/cli.d.ts +0 -14
- package/dist/src/types/commands/index.d.ts +0 -6
- package/dist/src/types/commands/index.js +0 -5
- package/dist/src/types/commands/options.d.ts +0 -1372
- package/dist/src/types/commands/options.js +0 -5
- package/dist/src/types/commands/patches.d.ts +0 -352
- package/dist/src/types/commands/patches.js +0 -5
- package/dist/src/types/commands/project.d.ts +0 -51
- package/dist/src/types/commands/project.js +0 -5
- package/dist/src/types/config.d.ts +0 -732
- package/dist/src/types/config.js +0 -15
- package/dist/src/types/furnace.d.ts +0 -422
- package/dist/src/types/furnace.js +0 -26
- package/dist/src/types/index.d.ts +0 -5
- package/dist/src/types/index.js +0 -5
- package/dist/src/types/json.d.ts +0 -22
- package/dist/src/types/json.js +0 -11
- package/dist/src/types/typecheck.d.ts +0 -51
- package/dist/src/types/typecheck.js +0 -14
- package/dist/src/utils/assert.d.ts +0 -34
- package/dist/src/utils/assert.js +0 -61
- package/dist/src/utils/build-info.d.ts +0 -30
- package/dist/src/utils/build-info.js +0 -99
- package/dist/src/utils/child-env.d.ts +0 -28
- package/dist/src/utils/child-env.js +0 -27
- package/dist/src/utils/concurrency.d.ts +0 -8
- package/dist/src/utils/concurrency.js +0 -32
- package/dist/src/utils/elapsed.d.ts +0 -2
- package/dist/src/utils/elapsed.js +0 -23
- package/dist/src/utils/errors.d.ts +0 -39
- package/dist/src/utils/errors.js +0 -67
- package/dist/src/utils/fs.d.ts +0 -113
- package/dist/src/utils/fs.js +0 -337
- package/dist/src/utils/hash.d.ts +0 -12
- package/dist/src/utils/hash.js +0 -16
- package/dist/src/utils/line-dispatch.d.ts +0 -15
- package/dist/src/utils/line-dispatch.js +0 -48
- package/dist/src/utils/logger.d.ts +0 -109
- package/dist/src/utils/logger.js +0 -270
- package/dist/src/utils/machine-output.d.ts +0 -12
- package/dist/src/utils/machine-output.js +0 -33
- package/dist/src/utils/options.d.ts +0 -155
- package/dist/src/utils/options.js +0 -312
- package/dist/src/utils/package-root.d.ts +0 -21
- package/dist/src/utils/package-root.js +0 -70
- package/dist/src/utils/parse.d.ts +0 -117
- package/dist/src/utils/parse.js +0 -214
- package/dist/src/utils/path-glob.d.ts +0 -15
- package/dist/src/utils/path-glob.js +0 -47
- package/dist/src/utils/paths.d.ts +0 -31
- package/dist/src/utils/paths.js +0 -80
- package/dist/src/utils/platform.d.ts +0 -9
- package/dist/src/utils/platform.js +0 -14
- package/dist/src/utils/process-group.d.ts +0 -42
- package/dist/src/utils/process-group.js +0 -190
- package/dist/src/utils/process-input.d.ts +0 -27
- package/dist/src/utils/process-input.js +0 -46
- package/dist/src/utils/process.d.ts +0 -293
- package/dist/src/utils/process.js +0 -593
- package/dist/src/utils/ps-duration.d.ts +0 -31
- package/dist/src/utils/ps-duration.js +0 -70
- package/dist/src/utils/regex.d.ts +0 -39
- package/dist/src/utils/regex.js +0 -109
- package/dist/src/utils/sleep.d.ts +0 -25
- package/dist/src/utils/sleep.js +0 -30
- package/dist/src/utils/stdio-drain.d.ts +0 -28
- package/dist/src/utils/stdio-drain.js +0 -54
- package/dist/src/utils/validation.d.ts +0 -182
- package/dist/src/utils/validation.js +0 -394
- package/docs/lifecycle-invariants.md +0 -523
- package/docs/run-logs.md +0 -122
- package/docs/verification-trees.md +0 -49
- /package/dist/src/{types/cli.js → cli/context.js} +0 -0
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Shared destructive-operation contract: interactive confirmation, non-TTY
|
|
4
|
-
* refusal, dry-run plumbing, hard-refusal on structural conflicts, and a
|
|
5
|
-
* JSONL audit log.
|
|
6
|
-
*
|
|
7
|
-
* This exists because the repair primitives (`patch delete`, `patch reorder`,
|
|
8
|
-
* `re-export --files`) and the new `export --dry-run`/`export --order` flags
|
|
9
|
-
* all share the same dance: build a change summary, gate it behind a prompt,
|
|
10
|
-
* accept a `--yes` bypass for CI, accept a `--dry-run` no-op, and refuse
|
|
11
|
-
* outright when the change would introduce a structural conflict (e.g. a
|
|
12
|
-
* forward-import that later-patch lint would then block). Without a single
|
|
13
|
-
* helper, every new destructive command would re-implement this and drift.
|
|
14
|
-
*/
|
|
15
|
-
import { confirm } from '@clack/prompts';
|
|
16
|
-
import { CancellationError, InvalidArgumentError } from '../errors/base.js';
|
|
17
|
-
import { info, isCancel, warn } from '../utils/logger.js';
|
|
18
|
-
import { appendHistoryLine, historyRecordIdentity } from './history-log-file.js';
|
|
19
|
-
/**
|
|
20
|
-
* Prints the change summary lines at warn-severity so the prompt stands out.
|
|
21
|
-
*/
|
|
22
|
-
function printSummary(title, summary) {
|
|
23
|
-
warn(title);
|
|
24
|
-
for (const line of summary) {
|
|
25
|
-
info(` ${line}`);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Prints a conflict report at warn-severity. Used by both the refusal path
|
|
30
|
-
* and the dry-run-with-conflicts preview path.
|
|
31
|
-
*/
|
|
32
|
-
function printConflicts(conflicts) {
|
|
33
|
-
warn(`Refused: ${conflicts.reason}`);
|
|
34
|
-
for (const detail of conflicts.details) {
|
|
35
|
-
info(` ${detail}`);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* True when both standard handles are real TTYs, i.e. an interactive prompt
|
|
40
|
-
* can actually be answered.
|
|
41
|
-
*
|
|
42
|
-
* Named for the condition rather than for confirmation specifically: many
|
|
43
|
-
* call sites gate a `text()` / `multiselect()` input prompt or a mode
|
|
44
|
-
* switch, not a destructive confirmation.
|
|
45
|
-
*
|
|
46
|
-
* Node types `isTTY` as `boolean`, but at runtime it is `true | undefined`
|
|
47
|
-
* (absent when the handle is not a TTY). Unusual harnesses (vitest stdio
|
|
48
|
-
* capture, CI spawners, mocked pipes) can also leave it unset on only one
|
|
49
|
-
* handle, so every falsy variant (false, undefined, a null-patched mock)
|
|
50
|
-
* must route to the non-interactive path.
|
|
51
|
-
*/
|
|
52
|
-
export function stdioIsInteractive() {
|
|
53
|
-
const stdinIsTTY = process.stdin.isTTY;
|
|
54
|
-
const stdoutIsTTY = process.stdout.isTTY;
|
|
55
|
-
return stdinIsTTY === true && stdoutIsTTY === true;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Up-front non-interactive refusal for a command that will end at
|
|
59
|
-
* {@link confirmDestructive}.
|
|
60
|
-
*
|
|
61
|
-
* `confirmDestructive` already refuses a prompt-less run rather than
|
|
62
|
-
* proceeding silently, but it does so at the end, after the command has
|
|
63
|
-
* built diffs and run projected per-patch lint. On `patch move-files
|
|
64
|
-
* --create` that is minutes of work before a scripted run learns it needed
|
|
65
|
-
* `--yes`, and the failure reads as an obscure late error rather than a
|
|
66
|
-
* usage problem. Calling this at command entry turns it into a usage
|
|
67
|
-
* refusal that names the flag.
|
|
68
|
-
*
|
|
69
|
-
* A `--yes` or `--dry-run` run never prompts, so neither is refused.
|
|
70
|
-
*
|
|
71
|
-
* @param operation - Stable operation id, e.g. `patch-move-files-create`
|
|
72
|
-
* @param options - The run's `--yes` / `--dry-run` state
|
|
73
|
-
* @throws InvalidArgumentError when the run would prompt but cannot
|
|
74
|
-
*/
|
|
75
|
-
export function assertConfirmationAvailable(operation, options) {
|
|
76
|
-
if (options.yes === true || options.dryRun === true)
|
|
77
|
-
return;
|
|
78
|
-
if (stdioIsInteractive())
|
|
79
|
-
return;
|
|
80
|
-
throw new InvalidArgumentError(`"${operation}" ends in an interactive confirmation, but this run has no TTY to answer it ` +
|
|
81
|
-
'(stdin/stdout are not both terminals). Re-run with --yes to confirm non-interactively ' +
|
|
82
|
-
'(required for CI and agent-driven runs), or with --dry-run to preview without ' +
|
|
83
|
-
'confirming. Refusing up front rather than after the planning and lint work.', '--yes');
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Executes the destructive-operation contract: summary → conflict refusal →
|
|
87
|
-
* dry-run / force / prompt / non-TTY refusal.
|
|
88
|
-
*
|
|
89
|
-
* Returns the decision for the caller to act on. Callers must not execute
|
|
90
|
-
* the mutation when the result is `'dry-run'` or `'declined'`, and must call
|
|
91
|
-
* {@link appendHistory} only after the mutation succeeds (never on dry-run
|
|
92
|
-
* or decline).
|
|
93
|
-
*
|
|
94
|
-
* @param input - Operation description, flags, and optional conflict report
|
|
95
|
-
* @returns `'proceed'` to execute, `'dry-run'` to skip execution, or
|
|
96
|
-
* `'declined'` when the user declined the prompt
|
|
97
|
-
*/
|
|
98
|
-
export async function confirmDestructive(input) {
|
|
99
|
-
const { operation, title, summary, yes, dryRun, unsafeOverride, conflicts } = input;
|
|
100
|
-
// Dry-run: print everything that would happen (including refusal notice if
|
|
101
|
-
// the real run would be refused), but never mutate and never prompt.
|
|
102
|
-
if (dryRun) {
|
|
103
|
-
printSummary(`[dry-run] ${title}`, summary);
|
|
104
|
-
if (conflicts) {
|
|
105
|
-
printConflicts(conflicts);
|
|
106
|
-
info(' The non-dry-run would be refused. Use --force-unsafe only if you accept the risk.');
|
|
107
|
-
}
|
|
108
|
-
return 'dry-run';
|
|
109
|
-
}
|
|
110
|
-
// Hard refusal: structural conflicts are only bypassable by --force-unsafe,
|
|
111
|
-
// never by plain --yes. The distinction exists so that `--yes` can
|
|
112
|
-
// remain a safe-for-CI bypass of interactive prompts without also being a
|
|
113
|
-
// lint-override.
|
|
114
|
-
if (conflicts && !unsafeOverride) {
|
|
115
|
-
printConflicts(conflicts);
|
|
116
|
-
throw new InvalidArgumentError(`Refusing to run "${operation}": ${conflicts.reason}. ` +
|
|
117
|
-
'Fix the underlying issue (usually re-export --files or a different target), ' +
|
|
118
|
-
'or pass --force-unsafe if you genuinely accept the risk.', `--force-unsafe`);
|
|
119
|
-
}
|
|
120
|
-
if (conflicts && unsafeOverride) {
|
|
121
|
-
printConflicts(conflicts);
|
|
122
|
-
info(' Proceeding because --force-unsafe was provided.');
|
|
123
|
-
}
|
|
124
|
-
// --yes bypasses confirmation but not the non-dry-run execution path.
|
|
125
|
-
// Still print the summary so the operator (or CI log) has a record of what
|
|
126
|
-
// happened even when no prompt was shown.
|
|
127
|
-
if (yes) {
|
|
128
|
-
printSummary(title, summary);
|
|
129
|
-
return 'proceed';
|
|
130
|
-
}
|
|
131
|
-
// Non-TTY without --yes: refuse with a message pointing at --yes rather
|
|
132
|
-
// than silently proceeding.
|
|
133
|
-
if (!stdioIsInteractive()) {
|
|
134
|
-
printSummary(title, summary);
|
|
135
|
-
throw new InvalidArgumentError(`Interactive confirmation not available for "${operation}". ` +
|
|
136
|
-
'Use --yes to run non-interactively (required for CI).', '--yes');
|
|
137
|
-
}
|
|
138
|
-
// Interactive path: print the summary first so the user sees the full
|
|
139
|
-
// picture, then prompt.
|
|
140
|
-
printSummary(title, summary);
|
|
141
|
-
const confirmed = await confirm({
|
|
142
|
-
message: `${title} — proceed?`,
|
|
143
|
-
initialValue: false,
|
|
144
|
-
});
|
|
145
|
-
// An interrupt and a "no" are different outcomes and must not share an
|
|
146
|
-
// exit code. Esc / Ctrl+C is a real interrupt. 130 is 128+SIGINT and is
|
|
147
|
-
// what a script needs to tell "the operator aborted" from "the operator
|
|
148
|
-
// considered it and declined". Answering "no" is a successful run.
|
|
149
|
-
//
|
|
150
|
-
// `isCancel` narrows the clack sentinel away, leaving a plain boolean.
|
|
151
|
-
if (isCancel(confirmed)) {
|
|
152
|
-
throw new CancellationError();
|
|
153
|
-
}
|
|
154
|
-
if (!confirmed) {
|
|
155
|
-
return 'declined';
|
|
156
|
-
}
|
|
157
|
-
return 'proceed';
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Appends a single JSONL record to the project's patch history log
|
|
161
|
-
* (`.fireforge/history.jsonl` unless `fireforge.json#history.path` says
|
|
162
|
-
* otherwise; a log found at `patches/.fireforge-history.jsonl` is moved
|
|
163
|
-
* there first).
|
|
164
|
-
*
|
|
165
|
-
* Call order matters: append only after the mutation succeeds, never
|
|
166
|
-
* pre-emptively, so rolled-back failures do not leave ghost entries. The log
|
|
167
|
-
* is append-only and advisory: no code path reads it back. It exists so
|
|
168
|
-
* operators have a post-hoc audit trail when something goes wrong. Every
|
|
169
|
-
* record carries the writing invocation's id (and `FIREFORGE_SESSION_ID`
|
|
170
|
-
* when set), so a session sharing the checkout can pick out its own lines.
|
|
171
|
-
*
|
|
172
|
-
* @param patchesDir - Path to the patches directory
|
|
173
|
-
* @param entry - Serializable history record
|
|
174
|
-
*/
|
|
175
|
-
export async function appendHistory(patchesDir, entry) {
|
|
176
|
-
const record = {
|
|
177
|
-
ts: new Date().toISOString(),
|
|
178
|
-
...historyRecordIdentity(),
|
|
179
|
-
...entry,
|
|
180
|
-
};
|
|
181
|
-
await appendHistoryLine(patchesDir, JSON.stringify(record));
|
|
182
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/** What {@link cleanDevProfile} removes besides the startup cache. */
|
|
2
|
-
export interface DevProfileCleanupOptions {
|
|
3
|
-
/**
|
|
4
|
-
* Also remove a leftover `.parentlock`. Only a caller about to launch the
|
|
5
|
-
* browser may: the lock of a browser that is still running must stay.
|
|
6
|
-
*/
|
|
7
|
-
removeParentLock: boolean;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Cleans the dev profile of every `obj-*` directory to prevent stale-state
|
|
11
|
-
* startup failures.
|
|
12
|
-
*
|
|
13
|
-
* Removes:
|
|
14
|
-
* 1. `startupCache/`: Firefox caches compiled chrome JS bytecode here,
|
|
15
|
-
* keyed on the build id. When chrome scripts change between builds that
|
|
16
|
-
* keep the build id, the stale cache serves the old scripts or crashes
|
|
17
|
-
* the startup silently.
|
|
18
|
-
* 2. `.parentlock`, with `removeParentLock`: a zero-byte lock file that
|
|
19
|
-
* persists if the previous session was killed (Ctrl-C, crash, `kill`).
|
|
20
|
-
* Firefox checks this on startup and silently exits if it exists,
|
|
21
|
-
* assuming another instance owns the profile.
|
|
22
|
-
*
|
|
23
|
-
* Failures are non-fatal and only logged in verbose mode.
|
|
24
|
-
* @param engineDir - Path to the engine directory
|
|
25
|
-
* @param options - Whether the `.parentlock` goes too
|
|
26
|
-
* @returns The number of startup caches removed
|
|
27
|
-
*/
|
|
28
|
-
export declare function cleanDevProfile(engineDir: string, options: DevProfileCleanupOptions): Promise<number>;
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Stale-state cleanup for mach's own dev profile, `tmp/profile-default` in
|
|
4
|
-
* each `obj-*` directory.
|
|
5
|
-
*
|
|
6
|
-
* `fireforge run` cleans it before every launch, and `fireforge build --ui`
|
|
7
|
-
* drops its startup cache after the build, because a UI build keeps the
|
|
8
|
-
* build id the startup cache is keyed on.
|
|
9
|
-
*/
|
|
10
|
-
import { readdir } from 'node:fs/promises';
|
|
11
|
-
import { join } from 'node:path';
|
|
12
|
-
import { toError } from '../utils/errors.js';
|
|
13
|
-
import { pathExists, removeDir, removeFile } from '../utils/fs.js';
|
|
14
|
-
import { verbose } from '../utils/logger.js';
|
|
15
|
-
/**
|
|
16
|
-
* Cleans the dev profile of every `obj-*` directory to prevent stale-state
|
|
17
|
-
* startup failures.
|
|
18
|
-
*
|
|
19
|
-
* Removes:
|
|
20
|
-
* 1. `startupCache/`: Firefox caches compiled chrome JS bytecode here,
|
|
21
|
-
* keyed on the build id. When chrome scripts change between builds that
|
|
22
|
-
* keep the build id, the stale cache serves the old scripts or crashes
|
|
23
|
-
* the startup silently.
|
|
24
|
-
* 2. `.parentlock`, with `removeParentLock`: a zero-byte lock file that
|
|
25
|
-
* persists if the previous session was killed (Ctrl-C, crash, `kill`).
|
|
26
|
-
* Firefox checks this on startup and silently exits if it exists,
|
|
27
|
-
* assuming another instance owns the profile.
|
|
28
|
-
*
|
|
29
|
-
* Failures are non-fatal and only logged in verbose mode.
|
|
30
|
-
* @param engineDir - Path to the engine directory
|
|
31
|
-
* @param options - Whether the `.parentlock` goes too
|
|
32
|
-
* @returns The number of startup caches removed
|
|
33
|
-
*/
|
|
34
|
-
export async function cleanDevProfile(engineDir, options) {
|
|
35
|
-
let removedCaches = 0;
|
|
36
|
-
try {
|
|
37
|
-
const entries = await readdir(engineDir);
|
|
38
|
-
const objDirs = entries.filter((e) => e.startsWith('obj-'));
|
|
39
|
-
for (const objDir of objDirs) {
|
|
40
|
-
const profileDir = join(engineDir, objDir, 'tmp', 'profile-default');
|
|
41
|
-
const cachePath = join(profileDir, 'startupCache');
|
|
42
|
-
if (await pathExists(cachePath)) {
|
|
43
|
-
await removeDir(cachePath);
|
|
44
|
-
removedCaches += 1;
|
|
45
|
-
}
|
|
46
|
-
if (!options.removeParentLock)
|
|
47
|
-
continue;
|
|
48
|
-
const lockPath = join(profileDir, '.parentlock');
|
|
49
|
-
if (await pathExists(lockPath)) {
|
|
50
|
-
await removeFile(lockPath);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
verbose(`Non-fatal dev profile cleanup failure: ${toError(error).message}`);
|
|
56
|
-
}
|
|
57
|
-
return removedCaches;
|
|
58
|
-
}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* An edit op produced by {@link computeLineDiff}. Indices are 0-based into the
|
|
3
|
-
* source line arrays. `line` holds the verbatim text so callers do not have to
|
|
4
|
-
* keep the input arrays around while rendering.
|
|
5
|
-
*/
|
|
6
|
-
export interface LineDiffOp {
|
|
7
|
-
type: 'equal' | 'delete' | 'insert';
|
|
8
|
-
oldIndex?: number;
|
|
9
|
-
newIndex?: number;
|
|
10
|
-
line: string;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* A single line inside a hunk, rendered as one of the three unified-diff
|
|
14
|
-
* markers. Content is the raw line text with no marker prefix so callers can
|
|
15
|
-
* apply their own coloring before the prefix is added.
|
|
16
|
-
*/
|
|
17
|
-
export interface HunkLine {
|
|
18
|
-
marker: ' ' | '-' | '+';
|
|
19
|
-
content: string;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* A unified-diff hunk. Line numbers are 1-based to match `@@ -X,N +Y,M @@`
|
|
23
|
-
* convention.
|
|
24
|
-
*/
|
|
25
|
-
export interface DiffHunk {
|
|
26
|
-
oldStart: number;
|
|
27
|
-
oldLength: number;
|
|
28
|
-
newStart: number;
|
|
29
|
-
newLength: number;
|
|
30
|
-
lines: HunkLine[];
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* A pre-split line output ready for the caller to apply color and emit. Kept
|
|
34
|
-
* free of color codes so the same structure can be unit-tested without
|
|
35
|
-
* depending on the logger.
|
|
36
|
-
*/
|
|
37
|
-
export interface RenderedDiffLine {
|
|
38
|
-
kind: 'header' | 'context' | 'removed' | 'added';
|
|
39
|
-
text: string;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* LCS-based line diff. Runs in O(m·n) time and memory using a single flat
|
|
43
|
-
* `Int32Array` for the DP table. Guarded by {@link LCS_LINE_LIMIT} so callers
|
|
44
|
-
* on very large files transparently get the coalesced fallback instead of
|
|
45
|
-
* allocating hundreds of megabytes.
|
|
46
|
-
*
|
|
47
|
-
* Behavior note: the backtrack walks diagonals in a deterministic order, so
|
|
48
|
-
* the same input always produces the same op sequence. This matters for
|
|
49
|
-
* snapshot tests and for UI stability when the user re-runs `furnace diff`.
|
|
50
|
-
*/
|
|
51
|
-
export declare function computeLineDiff(oldLines: readonly string[], newLines: readonly string[]): LineDiffOp[];
|
|
52
|
-
/**
|
|
53
|
-
* Groups an op stream into unified-diff hunks with `context` lines of
|
|
54
|
-
* surrounding equal-line context. Adjacent edit runs whose expanded context
|
|
55
|
-
* regions overlap are merged into a single hunk, matching `diff -U N`.
|
|
56
|
-
*
|
|
57
|
-
* Returns an empty array when the two inputs were identical.
|
|
58
|
-
*/
|
|
59
|
-
export declare function buildHunks(ops: readonly LineDiffOp[], context: number): DiffHunk[];
|
|
60
|
-
/**
|
|
61
|
-
* Computes a multi-hunk line diff between two strings. This is the public
|
|
62
|
-
* entry point that {@link furnaceDiffCommand} uses. On normal inputs this
|
|
63
|
-
* runs the exact LCS path and returns a proper multi-hunk diff. On inputs
|
|
64
|
-
* that exceed {@link LCS_LINE_LIMIT} it falls back to a single coalesced
|
|
65
|
-
* hunk so the command stays useful instead of OOMing.
|
|
66
|
-
*/
|
|
67
|
-
export declare function diffLines(oldText: string, newText: string, context?: number): DiffHunk[];
|
|
68
|
-
/**
|
|
69
|
-
* Renders hunks into a flat list of lines the caller can emit one by one.
|
|
70
|
-
* Kept color-free so unit tests can assert exact output and so the caller
|
|
71
|
-
* can apply its own formatting (e.g. `formatErrorText` / `formatSuccessText`).
|
|
72
|
-
*/
|
|
73
|
-
export declare function renderHunks(hunks: readonly DiffHunk[]): RenderedDiffLine[];
|
|
@@ -1,286 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { assert, expectDefined } from '../utils/assert.js';
|
|
3
|
-
/**
|
|
4
|
-
* Maximum combined LCS table side-length before bailing out of the exact
|
|
5
|
-
* O(m·n) diff and falling back to the simpler single-region coalesce. Chosen
|
|
6
|
-
* so the worst-case Int32Array allocation stays under ~16 MB. Typical
|
|
7
|
-
* Firefox widget files are a few hundred lines, so the fast path handles the
|
|
8
|
-
* everyday case. The fallback keeps the command usable on a very large file.
|
|
9
|
-
*/
|
|
10
|
-
const LCS_LINE_LIMIT = 2000;
|
|
11
|
-
/** Splits a string on `\n`, discarding a single trailing empty line from a terminal newline. */
|
|
12
|
-
function splitLines(text) {
|
|
13
|
-
const lines = text.split('\n');
|
|
14
|
-
if (lines.length > 0 && lines[lines.length - 1] === '')
|
|
15
|
-
lines.pop();
|
|
16
|
-
return lines;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* LCS-based line diff. Runs in O(m·n) time and memory using a single flat
|
|
20
|
-
* `Int32Array` for the DP table. Guarded by {@link LCS_LINE_LIMIT} so callers
|
|
21
|
-
* on very large files transparently get the coalesced fallback instead of
|
|
22
|
-
* allocating hundreds of megabytes.
|
|
23
|
-
*
|
|
24
|
-
* Behavior note: the backtrack walks diagonals in a deterministic order, so
|
|
25
|
-
* the same input always produces the same op sequence. This matters for
|
|
26
|
-
* snapshot tests and for UI stability when the user re-runs `furnace diff`.
|
|
27
|
-
*/
|
|
28
|
-
export function computeLineDiff(oldLines, newLines) {
|
|
29
|
-
const m = oldLines.length;
|
|
30
|
-
const n = newLines.length;
|
|
31
|
-
// The DP below indexes `dp`, `oldLines`, and `newLines` about 4·m·n times
|
|
32
|
-
// for a worst-case pair, so its bounds are established once here rather
|
|
33
|
-
// than re-checked per access. Callers gate on LCS_LINE_LIMIT before
|
|
34
|
-
// reaching this function. If that gate is ever moved or removed, this is
|
|
35
|
-
// where the resulting allocation blow-up surfaces as a named failure
|
|
36
|
-
// instead of an out-of-memory crash.
|
|
37
|
-
assert(m <= LCS_LINE_LIMIT && n <= LCS_LINE_LIMIT, () => `line diff inputs are within LCS_LINE_LIMIT (got ${m}x${n}, limit ${LCS_LINE_LIMIT})`);
|
|
38
|
-
const dp = new Int32Array((m + 1) * (n + 1));
|
|
39
|
-
const stride = n + 1;
|
|
40
|
-
// Every index into `dp` is `row * stride + column` with row ≤ m and
|
|
41
|
-
// column ≤ n, which is exactly the extent allocated above.
|
|
42
|
-
assert(dp.length === (m + 1) * stride, 'DP table is sized to its stride');
|
|
43
|
-
/* eslint-disable @typescript-eslint/no-non-null-assertion --
|
|
44
|
-
* The DP fill and backtrack below are the one hot path in this module:
|
|
45
|
-
* O(m·n) iterations, up to ~4M for a LCS_LINE_LIMIT-sized pair. Every
|
|
46
|
-
* index is structurally bounded by the loop conditions (`i <= m`,
|
|
47
|
-
* `j <= n`, `i > 0`, `j > 0`) against the extents asserted immediately
|
|
48
|
-
* above, so the non-null assertions encode a property already checked
|
|
49
|
-
* once per call rather than one that is never checked at all. The
|
|
50
|
-
* rendering loops further down, which run O(ops), use `expectDefined`
|
|
51
|
-
* instead. This exemption is for the quadratic block only.
|
|
52
|
-
*/
|
|
53
|
-
for (let i = 1; i <= m; i++) {
|
|
54
|
-
const oldLine = oldLines[i - 1];
|
|
55
|
-
const rowOffset = i * stride;
|
|
56
|
-
const prevRowOffset = (i - 1) * stride;
|
|
57
|
-
for (let j = 1; j <= n; j++) {
|
|
58
|
-
if (oldLine === newLines[j - 1]) {
|
|
59
|
-
dp[rowOffset + j] = dp[prevRowOffset + j - 1] + 1;
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
const up = dp[prevRowOffset + j];
|
|
63
|
-
const left = dp[rowOffset + j - 1];
|
|
64
|
-
dp[rowOffset + j] = up >= left ? up : left;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
const ops = [];
|
|
69
|
-
let i = m;
|
|
70
|
-
let j = n;
|
|
71
|
-
while (i > 0 && j > 0) {
|
|
72
|
-
if (oldLines[i - 1] === newLines[j - 1]) {
|
|
73
|
-
ops.push({ type: 'equal', oldIndex: i - 1, newIndex: j - 1, line: oldLines[i - 1] });
|
|
74
|
-
i--;
|
|
75
|
-
j--;
|
|
76
|
-
continue;
|
|
77
|
-
}
|
|
78
|
-
const up = dp[(i - 1) * stride + j];
|
|
79
|
-
const left = dp[i * stride + j - 1];
|
|
80
|
-
if (up >= left) {
|
|
81
|
-
ops.push({ type: 'delete', oldIndex: i - 1, line: oldLines[i - 1] });
|
|
82
|
-
i--;
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
ops.push({ type: 'insert', newIndex: j - 1, line: newLines[j - 1] });
|
|
86
|
-
j--;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
while (i > 0) {
|
|
90
|
-
ops.push({ type: 'delete', oldIndex: i - 1, line: oldLines[i - 1] });
|
|
91
|
-
i--;
|
|
92
|
-
}
|
|
93
|
-
while (j > 0) {
|
|
94
|
-
ops.push({ type: 'insert', newIndex: j - 1, line: newLines[j - 1] });
|
|
95
|
-
j--;
|
|
96
|
-
}
|
|
97
|
-
/* eslint-enable @typescript-eslint/no-non-null-assertion */
|
|
98
|
-
ops.reverse();
|
|
99
|
-
return ops;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Groups an op stream into unified-diff hunks with `context` lines of
|
|
103
|
-
* surrounding equal-line context. Adjacent edit runs whose expanded context
|
|
104
|
-
* regions overlap are merged into a single hunk, matching `diff -U N`.
|
|
105
|
-
*
|
|
106
|
-
* Returns an empty array when the two inputs were identical.
|
|
107
|
-
*/
|
|
108
|
-
export function buildHunks(ops, context) {
|
|
109
|
-
const editRanges = [];
|
|
110
|
-
let i = 0;
|
|
111
|
-
while (i < ops.length) {
|
|
112
|
-
if (expectDefined(ops[i], () => `diff op at index ${i}`).type !== 'equal') {
|
|
113
|
-
const start = i;
|
|
114
|
-
while (i < ops.length &&
|
|
115
|
-
expectDefined(ops[i], () => `diff op at index ${i}`).type !== 'equal')
|
|
116
|
-
i++;
|
|
117
|
-
editRanges.push({ start, end: i });
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
120
|
-
i++;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
if (editRanges.length === 0)
|
|
124
|
-
return [];
|
|
125
|
-
const expanded = [];
|
|
126
|
-
for (const range of editRanges) {
|
|
127
|
-
const start = Math.max(0, range.start - context);
|
|
128
|
-
const end = Math.min(ops.length, range.end + context);
|
|
129
|
-
const prev = expanded[expanded.length - 1];
|
|
130
|
-
if (prev && start <= prev.end) {
|
|
131
|
-
prev.end = Math.max(prev.end, end);
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
expanded.push({ start, end });
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
const hunks = [];
|
|
138
|
-
for (const range of expanded) {
|
|
139
|
-
let oldLine = 1;
|
|
140
|
-
let newLine = 1;
|
|
141
|
-
for (let k = 0; k < range.start; k++) {
|
|
142
|
-
const op = expectDefined(ops[k], () => `diff op at index ${k}`);
|
|
143
|
-
if (op.type === 'equal') {
|
|
144
|
-
oldLine++;
|
|
145
|
-
newLine++;
|
|
146
|
-
}
|
|
147
|
-
else if (op.type === 'delete') {
|
|
148
|
-
oldLine++;
|
|
149
|
-
}
|
|
150
|
-
else {
|
|
151
|
-
newLine++;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
const hunkLines = [];
|
|
155
|
-
let oldLength = 0;
|
|
156
|
-
let newLength = 0;
|
|
157
|
-
for (let k = range.start; k < range.end; k++) {
|
|
158
|
-
const op = expectDefined(ops[k], () => `diff op at index ${k}`);
|
|
159
|
-
if (op.type === 'equal') {
|
|
160
|
-
hunkLines.push({ marker: ' ', content: op.line });
|
|
161
|
-
oldLength++;
|
|
162
|
-
newLength++;
|
|
163
|
-
}
|
|
164
|
-
else if (op.type === 'delete') {
|
|
165
|
-
hunkLines.push({ marker: '-', content: op.line });
|
|
166
|
-
oldLength++;
|
|
167
|
-
}
|
|
168
|
-
else {
|
|
169
|
-
hunkLines.push({ marker: '+', content: op.line });
|
|
170
|
-
newLength++;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
hunks.push({
|
|
174
|
-
oldStart: oldLength === 0 ? oldLine - 1 : oldLine,
|
|
175
|
-
oldLength,
|
|
176
|
-
newStart: newLength === 0 ? newLine - 1 : newLine,
|
|
177
|
-
newLength,
|
|
178
|
-
lines: hunkLines,
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
return hunks;
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Fallback for inputs that exceed {@link LCS_LINE_LIMIT}. Reproduces the
|
|
185
|
-
* original single-region coalesce: match the common prefix and suffix, then
|
|
186
|
-
* emit one hunk containing the middle region plus `context` lines on each
|
|
187
|
-
* side. Kept simple on purpose: the fast path handles normal files, and
|
|
188
|
-
* this only keeps the command usable on pathologically large inputs without
|
|
189
|
-
* allocating a huge DP table.
|
|
190
|
-
*/
|
|
191
|
-
function coalescedHunk(oldLines, newLines, context) {
|
|
192
|
-
let firstDiff = 0;
|
|
193
|
-
while (firstDiff < oldLines.length && firstDiff < newLines.length) {
|
|
194
|
-
if (oldLines[firstDiff] !== newLines[firstDiff])
|
|
195
|
-
break;
|
|
196
|
-
firstDiff++;
|
|
197
|
-
}
|
|
198
|
-
let lastOldDiff = oldLines.length - 1;
|
|
199
|
-
let lastNewDiff = newLines.length - 1;
|
|
200
|
-
while (lastOldDiff >= firstDiff && lastNewDiff >= firstDiff) {
|
|
201
|
-
if (oldLines[lastOldDiff] !== newLines[lastNewDiff])
|
|
202
|
-
break;
|
|
203
|
-
lastOldDiff--;
|
|
204
|
-
lastNewDiff--;
|
|
205
|
-
}
|
|
206
|
-
if (lastOldDiff < firstDiff && lastNewDiff < firstDiff) {
|
|
207
|
-
return [];
|
|
208
|
-
}
|
|
209
|
-
const contextStart = Math.max(0, firstDiff - context);
|
|
210
|
-
const contextEndNew = Math.min(newLines.length - 1, lastNewDiff + context);
|
|
211
|
-
const hunkLines = [];
|
|
212
|
-
for (let k = contextStart; k < firstDiff; k++) {
|
|
213
|
-
hunkLines.push({ marker: ' ', content: expectDefined(oldLines[k], () => `old line ${k}`) });
|
|
214
|
-
}
|
|
215
|
-
for (let k = firstDiff; k <= lastOldDiff; k++) {
|
|
216
|
-
hunkLines.push({ marker: '-', content: expectDefined(oldLines[k], () => `old line ${k}`) });
|
|
217
|
-
}
|
|
218
|
-
for (let k = firstDiff; k <= lastNewDiff; k++) {
|
|
219
|
-
hunkLines.push({ marker: '+', content: expectDefined(newLines[k], () => `new line ${k}`) });
|
|
220
|
-
}
|
|
221
|
-
// Trailing context comes from the common suffix, which lives at different
|
|
222
|
-
// indices on each side (lastOldDiff+1… vs lastNewDiff+1…). Mixing the two
|
|
223
|
-
// coordinate spaces emits wrong context on asymmetric edits and drops the
|
|
224
|
-
// trailing lines from the @@ header lengths, so the rendered header
|
|
225
|
-
// disagrees with the body.
|
|
226
|
-
for (let k = lastNewDiff + 1; k <= contextEndNew; k++) {
|
|
227
|
-
hunkLines.push({ marker: ' ', content: expectDefined(newLines[k], () => `new line ${k}`) });
|
|
228
|
-
}
|
|
229
|
-
const leadingContext = firstDiff - contextStart;
|
|
230
|
-
// Common-suffix symmetry: oldLen-1-lastOldDiff === newLen-1-lastNewDiff,
|
|
231
|
-
// so both sides clamp to the same trailing context count.
|
|
232
|
-
const trailingContext = contextEndNew - lastNewDiff;
|
|
233
|
-
const oldLength = lastOldDiff - firstDiff + 1 + leadingContext + trailingContext;
|
|
234
|
-
const newLength = lastNewDiff - firstDiff + 1 + leadingContext + trailingContext;
|
|
235
|
-
return [
|
|
236
|
-
{
|
|
237
|
-
oldStart: contextStart + 1,
|
|
238
|
-
oldLength,
|
|
239
|
-
newStart: contextStart + 1,
|
|
240
|
-
newLength,
|
|
241
|
-
lines: hunkLines,
|
|
242
|
-
},
|
|
243
|
-
];
|
|
244
|
-
}
|
|
245
|
-
/**
|
|
246
|
-
* Computes a multi-hunk line diff between two strings. This is the public
|
|
247
|
-
* entry point that {@link furnaceDiffCommand} uses. On normal inputs this
|
|
248
|
-
* runs the exact LCS path and returns a proper multi-hunk diff. On inputs
|
|
249
|
-
* that exceed {@link LCS_LINE_LIMIT} it falls back to a single coalesced
|
|
250
|
-
* hunk so the command stays useful instead of OOMing.
|
|
251
|
-
*/
|
|
252
|
-
export function diffLines(oldText, newText, context = 3) {
|
|
253
|
-
const oldLines = splitLines(oldText);
|
|
254
|
-
const newLines = splitLines(newText);
|
|
255
|
-
if (oldLines.length > LCS_LINE_LIMIT || newLines.length > LCS_LINE_LIMIT) {
|
|
256
|
-
return coalescedHunk(oldLines, newLines, context);
|
|
257
|
-
}
|
|
258
|
-
const ops = computeLineDiff(oldLines, newLines);
|
|
259
|
-
return buildHunks(ops, context);
|
|
260
|
-
}
|
|
261
|
-
/**
|
|
262
|
-
* Renders hunks into a flat list of lines the caller can emit one by one.
|
|
263
|
-
* Kept color-free so unit tests can assert exact output and so the caller
|
|
264
|
-
* can apply its own formatting (e.g. `formatErrorText` / `formatSuccessText`).
|
|
265
|
-
*/
|
|
266
|
-
export function renderHunks(hunks) {
|
|
267
|
-
const out = [];
|
|
268
|
-
for (const hunk of hunks) {
|
|
269
|
-
out.push({
|
|
270
|
-
kind: 'header',
|
|
271
|
-
text: `@@ -${hunk.oldStart},${hunk.oldLength} +${hunk.newStart},${hunk.newLength} @@`,
|
|
272
|
-
});
|
|
273
|
-
for (const line of hunk.lines) {
|
|
274
|
-
if (line.marker === ' ') {
|
|
275
|
-
out.push({ kind: 'context', text: ` ${line.content}` });
|
|
276
|
-
}
|
|
277
|
-
else if (line.marker === '-') {
|
|
278
|
-
out.push({ kind: 'removed', text: `- ${line.content}` });
|
|
279
|
-
}
|
|
280
|
-
else {
|
|
281
|
-
out.push({ kind: 'added', text: `+ ${line.content}` });
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
return out;
|
|
286
|
-
}
|