@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,312 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { join } from 'node:path';
|
|
3
|
-
import { toError } from '../utils/errors.js';
|
|
4
|
-
import { pathExists, readText, removeFile, writeText } from '../utils/fs.js';
|
|
5
|
-
import { info, warn } from '../utils/logger.js';
|
|
6
|
-
import { discoverPatches, withPatchDirectoryLock } from './patch-apply.js';
|
|
7
|
-
import { findAllPatchesForFilesWithDetails, } from './patch-export-coverage.js';
|
|
8
|
-
import { addPatchToManifest, loadPatchesManifestForWrite, PATCHES_MANIFEST, savePatchesManifest, } from './patch-manifest.js';
|
|
9
|
-
import { formatPatchOrder, requirePatchOrder } from './patch-parse.js';
|
|
10
|
-
import { allocatePolicyOrder, enforcePatchPolicy } from './patch-policy.js';
|
|
11
|
-
import { manifestWithRetiredSlots, reservationAt, reservedOrderSet } from './patch-retired.js';
|
|
12
|
-
export { findAllPatchesForFiles, findAllPatchesForFilesWithDetails, } from './patch-export-coverage.js';
|
|
13
|
-
import { escapeRegex } from '../utils/regex.js';
|
|
14
|
-
export { mutatePatchMetadata, updatePatchMetadata } from './patch-export-metadata.js';
|
|
15
|
-
export { updatePatchAndMetadata } from './patch-export-update.js';
|
|
16
|
-
/**
|
|
17
|
-
* Projects the planning subset out of a wider export input (commit input,
|
|
18
|
-
* dry-run preview input): the fields `planExport` /
|
|
19
|
-
* `computeExportPlanUnderLock` read. Optional fields are copied only when
|
|
20
|
-
* present so the plan input never carries explicit `undefined` keys, which
|
|
21
|
-
* would otherwise leak into the written metadata via spread. The commit
|
|
22
|
-
* path and the dry-run preview both go through this one projection so
|
|
23
|
-
* they cannot drift field by field.
|
|
24
|
-
*/
|
|
25
|
-
export function buildPlanExportInput(input) {
|
|
26
|
-
return {
|
|
27
|
-
patchesDir: input.patchesDir,
|
|
28
|
-
category: input.category,
|
|
29
|
-
name: input.name,
|
|
30
|
-
description: input.description,
|
|
31
|
-
filesAffected: input.filesAffected,
|
|
32
|
-
sourceEsrVersion: input.sourceEsrVersion,
|
|
33
|
-
...(input.sourceProduct !== undefined ? { sourceProduct: input.sourceProduct } : {}),
|
|
34
|
-
...(input.sourceVersion !== undefined ? { sourceVersion: input.sourceVersion } : {}),
|
|
35
|
-
...(input.tier !== undefined ? { tier: input.tier } : {}),
|
|
36
|
-
...(input.lintIgnore !== undefined ? { lintIgnore: input.lintIgnore } : {}),
|
|
37
|
-
...(input.config !== undefined ? { config: input.config } : {}),
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Gets the next patch number for a new patch.
|
|
42
|
-
* @param patchesDir - Path to the patches directory
|
|
43
|
-
* @param reserved - Orders held by `patch reserve`, skipped
|
|
44
|
-
* @returns Next patch number (e.g., "005" for 4 existing patches)
|
|
45
|
-
*/
|
|
46
|
-
export async function getNextPatchNumber(patchesDir, reserved = new Set()) {
|
|
47
|
-
const patches = await discoverPatches(patchesDir);
|
|
48
|
-
const finitePatches = patches.filter((p) => Number.isFinite(p.order));
|
|
49
|
-
const maxOrder = finitePatches.reduce((max, p) => Math.max(max, p.order), 0);
|
|
50
|
-
let nextNumber = maxOrder + 1;
|
|
51
|
-
while (reserved.has(nextNumber))
|
|
52
|
-
nextNumber++;
|
|
53
|
-
return String(nextNumber).padStart(Math.max(3, String(nextNumber).length), '0');
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Sanitizes a human-readable name into a filename slug.
|
|
57
|
-
*
|
|
58
|
-
* Exported so `patch rename` can produce a filename slug from its
|
|
59
|
-
* `--to <new-name>` argument using the exact same convention `export`
|
|
60
|
-
* uses, without duplicating the lowercase + non-alnum collapse + length
|
|
61
|
-
* cap rules. Drift between the two would let an operator rename a patch
|
|
62
|
-
* to a slug `export` could never reach.
|
|
63
|
-
*/
|
|
64
|
-
export function sanitizeName(name) {
|
|
65
|
-
return name
|
|
66
|
-
.toLowerCase()
|
|
67
|
-
.replace(/[^a-z0-9]+/g, '-')
|
|
68
|
-
.replace(/^-+|-+$/g, '')
|
|
69
|
-
.slice(0, 50);
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Strips a leading `NNN-<category>-` prefix from a sanitized name slug.
|
|
73
|
-
* Operators frequently pass the desired filename stem to `--name`
|
|
74
|
-
* (`--name 203-ui-foo --category ui`), which would otherwise double-prefix
|
|
75
|
-
* into `203-ui-203-ui-foo.patch`. The filename builders prepend the order
|
|
76
|
-
* and category themselves, so a matching prefix in the name is always
|
|
77
|
-
* redundant. Applied repeatedly so a twice-prefixed slug also collapses.
|
|
78
|
-
* Exported for direct testing.
|
|
79
|
-
*/
|
|
80
|
-
export function stripRedundantCategoryPrefix(sanitizedName, category) {
|
|
81
|
-
const prefixes = [
|
|
82
|
-
new RegExp(`^\\d+-${escapeRegex(category)}-`),
|
|
83
|
-
new RegExp(`^${escapeRegex(category)}-`),
|
|
84
|
-
];
|
|
85
|
-
let stripped = sanitizedName;
|
|
86
|
-
let changed = true;
|
|
87
|
-
while (changed) {
|
|
88
|
-
changed = false;
|
|
89
|
-
for (const prefix of prefixes) {
|
|
90
|
-
if (prefix.test(stripped)) {
|
|
91
|
-
stripped = stripped.replace(prefix, '');
|
|
92
|
-
changed = true;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
return stripped.length > 0 ? stripped : sanitizedName;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Sanitizes a patch name and drops redundant category/full-stem prefixes.
|
|
100
|
-
*
|
|
101
|
-
* A single trailing `.patch` extension is stripped before sanitisation:
|
|
102
|
-
* operators frequently pass a full patch filename where a name is expected
|
|
103
|
-
* (`move-files <from> 348-ui-foo.patch --create`, `rename --to foo.patch`),
|
|
104
|
-
* and slugging the extension produces double-suffixed `...-patch.patch`
|
|
105
|
-
* files. A name that deliberately ends in a literal `-patch` slug segment
|
|
106
|
-
* must be written without the dot form.
|
|
107
|
-
*/
|
|
108
|
-
export function patchNameSlug(name, category) {
|
|
109
|
-
const stem = name.replace(/\.patch$/i, '');
|
|
110
|
-
return stripRedundantCategoryPrefix(sanitizeName(stem), category);
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Generates the next patch filename with category.
|
|
114
|
-
* @param patchesDir - Path to the patches directory
|
|
115
|
-
* @param category - Patch category
|
|
116
|
-
* @param name - Human-readable name
|
|
117
|
-
* @returns Filename like "001-ui-sidebar.patch"
|
|
118
|
-
*/
|
|
119
|
-
export async function getNextPatchFilename(patchesDir, category, name, reserved = new Set()) {
|
|
120
|
-
const patchNumber = await getNextPatchNumber(patchesDir, reserved);
|
|
121
|
-
const sanitizedName = patchNameSlug(name, category);
|
|
122
|
-
return `${patchNumber}-${category}-${sanitizedName}.patch`;
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Commits a freshly generated patch file and manifest update under an
|
|
126
|
-
* exclusive patch directory lock so concurrent exports cannot allocate the
|
|
127
|
-
* same number. Shares {@link computeExportPlanUnderLock} with
|
|
128
|
-
* {@link planExport} so the dry-run preview cannot drift from the real
|
|
129
|
-
* write: both paths go through the same planning helper, and any bug fix
|
|
130
|
-
* to filename allocation or supersede detection lands in both automatically.
|
|
131
|
-
*/
|
|
132
|
-
export async function commitExportedPatch(input) {
|
|
133
|
-
return withPatchDirectoryLock(input.patchesDir, async () => {
|
|
134
|
-
const plan = await computeExportPlanUnderLock(buildPlanExportInput(input));
|
|
135
|
-
if (input.config !== undefined) {
|
|
136
|
-
enforcePatchPolicy({
|
|
137
|
-
config: input.config,
|
|
138
|
-
manifest: plan.manifestAfter,
|
|
139
|
-
command: input.policyCommand ?? 'export',
|
|
140
|
-
forceUnsafe: input.forceUnsafe === true,
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
const patchPath = plan.patchPath;
|
|
144
|
-
const originalPatchContent = (await pathExists(patchPath)) ? await readText(patchPath) : null;
|
|
145
|
-
const removedPatchContents = new Map();
|
|
146
|
-
for (const oldPatch of plan.supersededPatches) {
|
|
147
|
-
if (await pathExists(oldPatch.path)) {
|
|
148
|
-
removedPatchContents.set(oldPatch.path, await readText(oldPatch.path));
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
try {
|
|
152
|
-
// Patch bodies are written byte-for-byte as git produced them, including the
|
|
153
|
-
// single-space rendering of a blank context line.
|
|
154
|
-
//
|
|
155
|
-
// Do not add a whitespace-trimming pass here or at any other write site.
|
|
156
|
-
// Stripping marker lines whose payload is pure whitespace (`/^[ +-]\s+$/` →
|
|
157
|
-
// bare marker) corrupts real content: Firefox sources contain whitespace-only
|
|
158
|
-
// lines, so a ` `/`-` line whose payload was two spaces no longer matches the
|
|
159
|
-
// pristine tree and the freshly exported patch fails `git apply --check`,
|
|
160
|
-
// while a `+` line silently changes what the patch produces. The repository
|
|
161
|
-
// whitespace check already exempts `patches/*.patch`
|
|
162
|
-
// (scripts/check-worktree-whitespace.mjs), and the byte-fidelity contract is
|
|
163
|
-
// pinned end-to-end by `git-diff-latin1-roundtrip.test.ts` and
|
|
164
|
-
// `re-export.integration.test.ts`.
|
|
165
|
-
await writeText(patchPath, input.diff);
|
|
166
|
-
await addPatchToManifest(input.patchesDir, plan.metadata, plan.supersededPatches.map((p) => p.filename));
|
|
167
|
-
for (const oldPatch of plan.supersededPatches) {
|
|
168
|
-
await removeFile(oldPatch.path);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
catch (error) {
|
|
172
|
-
// Best-effort rollback: wrap each operation so a secondary failure
|
|
173
|
-
// never masks the original failure.
|
|
174
|
-
try {
|
|
175
|
-
if (originalPatchContent === null) {
|
|
176
|
-
await removeFile(patchPath);
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
await writeText(patchPath, originalPatchContent);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
catch (error) {
|
|
183
|
-
warn(`Rollback warning: could not restore patch file: ${toError(error).message}`);
|
|
184
|
-
}
|
|
185
|
-
for (const [oldPatchPath, oldPatchContent] of removedPatchContents) {
|
|
186
|
-
try {
|
|
187
|
-
await writeText(oldPatchPath, oldPatchContent);
|
|
188
|
-
}
|
|
189
|
-
catch (error) {
|
|
190
|
-
warn(`Rollback warning: could not restore ${oldPatchPath}: ${toError(error).message}`);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
try {
|
|
194
|
-
if (plan.manifestBefore) {
|
|
195
|
-
await savePatchesManifest(input.patchesDir, plan.manifestBefore);
|
|
196
|
-
}
|
|
197
|
-
else {
|
|
198
|
-
await removeFile(join(input.patchesDir, PATCHES_MANIFEST));
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
catch (error) {
|
|
202
|
-
warn(`Rollback warning: could not restore manifest: ${toError(error).message}`);
|
|
203
|
-
}
|
|
204
|
-
throw error;
|
|
205
|
-
}
|
|
206
|
-
return {
|
|
207
|
-
patchFilename: plan.patchFilename,
|
|
208
|
-
metadata: plan.metadata,
|
|
209
|
-
superseded: plan.supersededPatches,
|
|
210
|
-
};
|
|
211
|
-
}, input.lockOptions ?? {});
|
|
212
|
-
}
|
|
213
|
-
/**
|
|
214
|
-
* Updates the content of a patch file.
|
|
215
|
-
* @param patchPath - Path to the patch file
|
|
216
|
-
* @param newContent - New patch content
|
|
217
|
-
*/
|
|
218
|
-
export async function updatePatch(patchPath, newContent) {
|
|
219
|
-
await writeText(patchPath, newContent);
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Internal planning helper. It does not take the patch directory lock (the
|
|
223
|
-
* caller must already hold it), because the two public entry points
|
|
224
|
-
* ({@link planExport} and {@link commitExportedPatch}) each take their own
|
|
225
|
-
* lock for the full operation. Sharing this single pure computation is how
|
|
226
|
-
* dry-run previews and real writes stay in lockstep, instead of relying on
|
|
227
|
-
* parallel implementations that can drift.
|
|
228
|
-
*/
|
|
229
|
-
async function computeExportPlanUnderLock(input) {
|
|
230
|
-
// ForWrite: a corrupt manifest read as null here would produce a
|
|
231
|
-
// manifestAfter containing only the new patch. Committing that plan
|
|
232
|
-
// wipes the queue metadata, and the rollback path would then delete
|
|
233
|
-
// patches.json entirely because manifestBefore looked absent.
|
|
234
|
-
const manifestBefore = await loadPatchesManifestForWrite(input.patchesDir);
|
|
235
|
-
// A default allocation never lands on a reservation; only an explicit
|
|
236
|
-
// `--order` placement fills one.
|
|
237
|
-
const reserved = reservedOrderSet(manifestBefore ?? {});
|
|
238
|
-
const policyOrder = input.config !== undefined
|
|
239
|
-
? allocatePolicyOrder(input.config, manifestBefore?.patches ?? [], input.category, reserved)
|
|
240
|
-
: null;
|
|
241
|
-
const patchFilename = policyOrder !== null
|
|
242
|
-
? `${formatPatchOrder(policyOrder)}-${input.category}-${patchNameSlug(input.name, input.category)}.patch`
|
|
243
|
-
: await getNextPatchFilename(input.patchesDir, input.category, input.name, reserved);
|
|
244
|
-
const patchPath = join(input.patchesDir, patchFilename);
|
|
245
|
-
const metadata = {
|
|
246
|
-
filename: patchFilename,
|
|
247
|
-
order: requirePatchOrder(patchFilename),
|
|
248
|
-
category: input.category,
|
|
249
|
-
name: input.name,
|
|
250
|
-
description: input.description,
|
|
251
|
-
createdAt: new Date().toISOString(),
|
|
252
|
-
sourceEsrVersion: input.sourceEsrVersion,
|
|
253
|
-
...(input.sourceProduct !== undefined ? { sourceProduct: input.sourceProduct } : {}),
|
|
254
|
-
sourceVersion: input.sourceVersion ?? input.sourceEsrVersion,
|
|
255
|
-
filesAffected: input.filesAffected,
|
|
256
|
-
...(input.tier !== undefined ? { tier: input.tier } : {}),
|
|
257
|
-
...(input.lintIgnore !== undefined && input.lintIgnore.length > 0
|
|
258
|
-
? { lintIgnore: input.lintIgnore }
|
|
259
|
-
: {}),
|
|
260
|
-
};
|
|
261
|
-
const supersedeMatches = await findAllPatchesForFilesWithDetails(input.patchesDir, input.filesAffected, patchFilename);
|
|
262
|
-
const supersededDetails = supersedeMatches.map((m) => ({
|
|
263
|
-
filename: m.patch.filename,
|
|
264
|
-
coveredByFiles: m.coverage.byFiles,
|
|
265
|
-
}));
|
|
266
|
-
const supersededPatches = supersedeMatches.map((m) => m.patch);
|
|
267
|
-
const supersededSet = new Set(supersededDetails.map((s) => s.filename));
|
|
268
|
-
const afterPatches = (manifestBefore?.patches ?? []).filter((p) => !supersededSet.has(p.filename) && p.filename !== patchFilename);
|
|
269
|
-
afterPatches.push(metadata);
|
|
270
|
-
afterPatches.sort((a, b) => a.order - b.order || a.filename.localeCompare(b.filename));
|
|
271
|
-
const reservation = reservationAt(manifestBefore, metadata.order);
|
|
272
|
-
if (reservation !== undefined) {
|
|
273
|
-
info(`Order ${formatPatchOrder(metadata.order)} was reserved by ${reservation.owner}` +
|
|
274
|
-
`${reservation.reason !== undefined ? ` (${reservation.reason})` : ''}; ` +
|
|
275
|
-
'this export fills the reservation.');
|
|
276
|
-
}
|
|
277
|
-
return {
|
|
278
|
-
patchFilename,
|
|
279
|
-
patchPath,
|
|
280
|
-
metadata,
|
|
281
|
-
supersededDetails,
|
|
282
|
-
supersededPatches,
|
|
283
|
-
manifestBefore: manifestBefore ?? null,
|
|
284
|
-
// A patch landing on a retired or reserved order fills that slot.
|
|
285
|
-
manifestAfter: manifestWithRetiredSlots(manifestBefore, afterPatches),
|
|
286
|
-
};
|
|
287
|
-
}
|
|
288
|
-
/**
|
|
289
|
-
* Read-only planning function. Computes everything a real export would
|
|
290
|
-
* do without writing anything to disk. Takes the patch directory lock
|
|
291
|
-
* briefly, runs {@link computeExportPlanUnderLock}, releases the lock,
|
|
292
|
-
* and returns the plan for preview rendering.
|
|
293
|
-
*
|
|
294
|
-
* Shares {@link computeExportPlanUnderLock} with {@link commitExportedPatch}
|
|
295
|
-
* so the dry-run preview cannot drift from the real write. The real write
|
|
296
|
-
* path does not reuse a prior plan object (another export may have landed
|
|
297
|
-
* between dry-run and commit, which would stale the filename allocation).
|
|
298
|
-
* It re-runs the same helper under a fresh lock. The guarantee is "same
|
|
299
|
-
* code, possibly different data," not "same plan object."
|
|
300
|
-
*/
|
|
301
|
-
export async function planExport(input) {
|
|
302
|
-
return withPatchDirectoryLock(input.patchesDir, async () => {
|
|
303
|
-
const plan = await computeExportPlanUnderLock(input);
|
|
304
|
-
return {
|
|
305
|
-
patchFilename: plan.patchFilename,
|
|
306
|
-
metadata: plan.metadata,
|
|
307
|
-
superseded: plan.supersededDetails,
|
|
308
|
-
manifestBefore: plan.manifestBefore,
|
|
309
|
-
manifestAfter: plan.manifestAfter,
|
|
310
|
-
};
|
|
311
|
-
});
|
|
312
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { PatchInfo } from '../types/commands/index.js';
|
|
2
|
-
/** Discovers patch files in a directory and returns them in apply order. */
|
|
3
|
-
export declare function discoverPatches(patchesDir: string): Promise<PatchInfo[]>;
|
|
4
|
-
/** Counts the patch files currently present in a patch directory. */
|
|
5
|
-
export declare function countPatches(patchesDir: string): Promise<number>;
|
|
6
|
-
/**
|
|
7
|
-
* Returns all target file paths referenced by a multi-file patch.
|
|
8
|
-
*
|
|
9
|
-
* Delegates to {@link extractAffectedFiles} so `GIT binary patch` sections
|
|
10
|
-
* (which have no `+++ b/…` line, only a `diff --git a/… b/…` header) are
|
|
11
|
-
* included alongside text hunks. Matching only `+++ b/…` lines drops every
|
|
12
|
-
* binary file from `filesAffected`, so verify reports
|
|
13
|
-
* `files-affected-mismatch` against branding patches and
|
|
14
|
-
* `doctor --repair-patches-manifest` "repairs" the manifest by rewriting it
|
|
15
|
-
* to the text-only subset, hiding the true scope of the patch.
|
|
16
|
-
*/
|
|
17
|
-
export declare function getAllTargetFilesFromPatch(patchPath: string): Promise<string[]>;
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { readdir, stat } from 'node:fs/promises';
|
|
3
|
-
import { extname, join } from 'node:path';
|
|
4
|
-
import { pathExists, readText } from '../utils/fs.js';
|
|
5
|
-
import { extractAffectedFiles, extractOrder } from './patch-parse.js';
|
|
6
|
-
/** Discovers patch files in a directory and returns them in apply order. */
|
|
7
|
-
export async function discoverPatches(patchesDir) {
|
|
8
|
-
if (!(await pathExists(patchesDir))) {
|
|
9
|
-
return [];
|
|
10
|
-
}
|
|
11
|
-
const entries = await readdir(patchesDir, { withFileTypes: true });
|
|
12
|
-
const patches = [];
|
|
13
|
-
for (const entry of entries) {
|
|
14
|
-
if (extname(entry.name) !== '.patch')
|
|
15
|
-
continue;
|
|
16
|
-
// A symlinked patch (a scratch queue built from links to the real
|
|
17
|
-
// patches) counts when it resolves to a regular file; a dangling link or
|
|
18
|
-
// a link to a directory does not.
|
|
19
|
-
if (!entry.isFile() &&
|
|
20
|
-
!(entry.isSymbolicLink() && (await isLinkToFile(patchesDir, entry.name)))) {
|
|
21
|
-
continue;
|
|
22
|
-
}
|
|
23
|
-
patches.push({
|
|
24
|
-
path: join(patchesDir, entry.name),
|
|
25
|
-
filename: entry.name,
|
|
26
|
-
order: extractOrder(entry.name),
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
patches.sort((a, b) => a.order - b.order || a.filename.localeCompare(b.filename));
|
|
30
|
-
return patches;
|
|
31
|
-
}
|
|
32
|
-
async function isLinkToFile(dir, name) {
|
|
33
|
-
try {
|
|
34
|
-
return (await stat(join(dir, name))).isFile();
|
|
35
|
-
}
|
|
36
|
-
catch {
|
|
37
|
-
return false;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
/** Counts the patch files currently present in a patch directory. */
|
|
41
|
-
export async function countPatches(patchesDir) {
|
|
42
|
-
const patches = await discoverPatches(patchesDir);
|
|
43
|
-
return patches.length;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Returns all target file paths referenced by a multi-file patch.
|
|
47
|
-
*
|
|
48
|
-
* Delegates to {@link extractAffectedFiles} so `GIT binary patch` sections
|
|
49
|
-
* (which have no `+++ b/…` line, only a `diff --git a/… b/…` header) are
|
|
50
|
-
* included alongside text hunks. Matching only `+++ b/…` lines drops every
|
|
51
|
-
* binary file from `filesAffected`, so verify reports
|
|
52
|
-
* `files-affected-mismatch` against branding patches and
|
|
53
|
-
* `doctor --repair-patches-manifest` "repairs" the manifest by rewriting it
|
|
54
|
-
* to the text-only subset, hiding the true scope of the patch.
|
|
55
|
-
*/
|
|
56
|
-
export async function getAllTargetFilesFromPatch(patchPath) {
|
|
57
|
-
const content = await readText(patchPath);
|
|
58
|
-
return extractAffectedFiles(content);
|
|
59
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Builds a concise "patch not found" error message with did-you-mean
|
|
3
|
-
* suggestions in place of the full queue enumeration.
|
|
4
|
-
*
|
|
5
|
-
* Joining every queued patch's filename and manifest name into a
|
|
6
|
-
* comma-separated `Available: ...` tail runs ~1500 characters on a 29-patch
|
|
7
|
-
* queue and buries the actual error. This ranks each known identifier
|
|
8
|
-
* (ordinal, filename with and without `.patch`, manifest name) by
|
|
9
|
-
* Levenshtein distance from the operator's input, surfaces up to three
|
|
10
|
-
* plausible suggestions, and falls back to a count-only summary pointing at
|
|
11
|
-
* `fireforge patch list` when no close match exists.
|
|
12
|
-
*/
|
|
13
|
-
import type { PatchMetadata } from '../types/commands/index.js';
|
|
14
|
-
/**
|
|
15
|
-
* Formats the user-facing "patch not found" error message used by
|
|
16
|
-
* `patch delete`, `patch reorder`, `patch tier`, and
|
|
17
|
-
* `patch lint-ignore`. Returns a single string suitable for the
|
|
18
|
-
* `InvalidArgumentError` body, never the full queue enumeration.
|
|
19
|
-
*/
|
|
20
|
-
export declare function formatPatchNotFoundError(identifier: string, patches: readonly PatchMetadata[]): string;
|
|
21
|
-
/**
|
|
22
|
-
* The nearest-match half of {@link formatPatchNotFoundError}: the closest
|
|
23
|
-
* accepted identifiers and the queue size, never the full queue. For
|
|
24
|
-
* callers that word their own lead, such as the `--patches` subset.
|
|
25
|
-
*/
|
|
26
|
-
export declare function formatPatchSuggestions(identifier: string, patches: readonly PatchMetadata[]): string;
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Builds a concise "patch not found" error message with did-you-mean
|
|
4
|
-
* suggestions in place of the full queue enumeration.
|
|
5
|
-
*
|
|
6
|
-
* Joining every queued patch's filename and manifest name into a
|
|
7
|
-
* comma-separated `Available: ...` tail runs ~1500 characters on a 29-patch
|
|
8
|
-
* queue and buries the actual error. This ranks each known identifier
|
|
9
|
-
* (ordinal, filename with and without `.patch`, manifest name) by
|
|
10
|
-
* Levenshtein distance from the operator's input, surfaces up to three
|
|
11
|
-
* plausible suggestions, and falls back to a count-only summary pointing at
|
|
12
|
-
* `fireforge patch list` when no close match exists.
|
|
13
|
-
*/
|
|
14
|
-
/** Maximum Levenshtein distance accepted as a "did you mean" suggestion. */
|
|
15
|
-
const SUGGESTION_DISTANCE_THRESHOLD = 3;
|
|
16
|
-
/**
|
|
17
|
-
* Shortest side accepted for a prefix relation. Below this a prefix match
|
|
18
|
-
* is noise: a one-character ordinal prefixes almost anything.
|
|
19
|
-
*/
|
|
20
|
-
const MIN_PREFIX_MATCH_LENGTH = 4;
|
|
21
|
-
/** Maximum number of suggestions to surface in the error message. */
|
|
22
|
-
const SUGGESTION_LIMIT = 3;
|
|
23
|
-
/**
|
|
24
|
-
* Computes the Levenshtein edit distance between two strings. Used by
|
|
25
|
-
* `formatPatchNotFoundError` to rank candidate identifiers. The small
|
|
26
|
-
* upper bound on input lengths (filenames, ordinals, names) makes the
|
|
27
|
-
* O(m*n) implementation trivially fast.
|
|
28
|
-
*/
|
|
29
|
-
function levenshtein(a, b) {
|
|
30
|
-
if (a === b)
|
|
31
|
-
return 0;
|
|
32
|
-
if (a.length === 0)
|
|
33
|
-
return b.length;
|
|
34
|
-
if (b.length === 0)
|
|
35
|
-
return a.length;
|
|
36
|
-
// Allocate the row buffers up-front and fill with zero so every index in
|
|
37
|
-
// [0, b.length] is populated before any read. Using `Array.fill(0)` keeps
|
|
38
|
-
// the type as `number[]` (not `(number | undefined)[]`) so subsequent
|
|
39
|
-
// index reads compose without optional-chaining noise.
|
|
40
|
-
const prev = new Array(b.length + 1).fill(0);
|
|
41
|
-
const curr = new Array(b.length + 1).fill(0);
|
|
42
|
-
for (let j = 0; j <= b.length; j++)
|
|
43
|
-
prev[j] = j;
|
|
44
|
-
for (let i = 1; i <= a.length; i++) {
|
|
45
|
-
curr[0] = i;
|
|
46
|
-
for (let j = 1; j <= b.length; j++) {
|
|
47
|
-
const cost = a[i - 1] === b[j - 1] ? 0 : 1;
|
|
48
|
-
const left = curr[j - 1] ?? 0;
|
|
49
|
-
const up = prev[j] ?? 0;
|
|
50
|
-
const diag = prev[j - 1] ?? 0;
|
|
51
|
-
curr[j] = Math.min(left + 1, up + 1, diag + cost);
|
|
52
|
-
}
|
|
53
|
-
for (let j = 0; j <= b.length; j++)
|
|
54
|
-
prev[j] = curr[j] ?? 0;
|
|
55
|
-
}
|
|
56
|
-
return prev[b.length] ?? 0;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Collects every identifier shape FireForge accepts for a queue entry:
|
|
60
|
-
* - the ordinal (string form), e.g. `"2"`
|
|
61
|
-
* - the filename, e.g. `"002-ui-foo.patch"`
|
|
62
|
-
* - the filename without the `.patch` suffix, e.g. `"002-ui-foo"`
|
|
63
|
-
* - the manifest `name` field, when distinct from the filename
|
|
64
|
-
* Returned as a flat list so the suggestion ranking can compare each
|
|
65
|
-
* candidate independently.
|
|
66
|
-
*/
|
|
67
|
-
function collectAcceptedIdentifiers(patches) {
|
|
68
|
-
const set = new Set();
|
|
69
|
-
for (const patch of patches) {
|
|
70
|
-
set.add(String(patch.order));
|
|
71
|
-
set.add(patch.filename);
|
|
72
|
-
if (patch.filename.endsWith('.patch')) {
|
|
73
|
-
set.add(patch.filename.slice(0, -'.patch'.length));
|
|
74
|
-
}
|
|
75
|
-
if (patch.name && patch.name !== patch.filename)
|
|
76
|
-
set.add(patch.name);
|
|
77
|
-
}
|
|
78
|
-
return Array.from(set);
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Returns up to {@link SUGGESTION_LIMIT} accepted identifiers ordered
|
|
82
|
-
* by closest Levenshtein distance to {@link identifier}, dropping any
|
|
83
|
-
* candidate whose distance exceeds {@link SUGGESTION_DISTANCE_THRESHOLD}.
|
|
84
|
-
*/
|
|
85
|
-
function rankSuggestions(identifier, candidates) {
|
|
86
|
-
const needle = identifier.toLowerCase();
|
|
87
|
-
return candidates
|
|
88
|
-
.map((candidate) => {
|
|
89
|
-
const lower = candidate.toLowerCase();
|
|
90
|
-
// Prefix relation in either direction is a stronger signal than edit
|
|
91
|
-
// distance and is not bounded by it: a partial ordinal or an
|
|
92
|
-
// abbreviated slug ("ui-foo" for "002-ui-foo.patch") is many edits away
|
|
93
|
-
// from the full identifier yet is obviously the intended target.
|
|
94
|
-
// `lower.startsWith(needle)`: the operator typed an abbreviation of a
|
|
95
|
-
// real identifier. The reverse relation is only meaningful when the
|
|
96
|
-
// candidate is substantial. Otherwise the single-character ordinal
|
|
97
|
-
// "9" would "match" every input starting with a 9.
|
|
98
|
-
const prefixMatch = needle.length >= MIN_PREFIX_MATCH_LENGTH &&
|
|
99
|
-
(lower.startsWith(needle) ||
|
|
100
|
-
(lower.length >= MIN_PREFIX_MATCH_LENGTH && needle.startsWith(lower)));
|
|
101
|
-
return {
|
|
102
|
-
candidate,
|
|
103
|
-
prefixMatch,
|
|
104
|
-
distance: levenshtein(identifier, candidate),
|
|
105
|
-
};
|
|
106
|
-
})
|
|
107
|
-
.filter((entry) => entry.prefixMatch || entry.distance <= SUGGESTION_DISTANCE_THRESHOLD)
|
|
108
|
-
.sort((a, b) => Number(b.prefixMatch) - Number(a.prefixMatch) ||
|
|
109
|
-
a.distance - b.distance ||
|
|
110
|
-
a.candidate.localeCompare(b.candidate))
|
|
111
|
-
.slice(0, SUGGESTION_LIMIT)
|
|
112
|
-
.map((entry) => entry.candidate);
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Formats the user-facing "patch not found" error message used by
|
|
116
|
-
* `patch delete`, `patch reorder`, `patch tier`, and
|
|
117
|
-
* `patch lint-ignore`. Returns a single string suitable for the
|
|
118
|
-
* `InvalidArgumentError` body, never the full queue enumeration.
|
|
119
|
-
*/
|
|
120
|
-
export function formatPatchNotFoundError(identifier, patches) {
|
|
121
|
-
const lead = `Patch "${identifier}" not found. Accepted identifiers: ordinal (e.g. 2), filename (e.g. 002-ui-foo.patch), or manifest name (e.g. ui-foo).`;
|
|
122
|
-
return `${lead} ${formatPatchSuggestions(identifier, patches)}`;
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* The nearest-match half of {@link formatPatchNotFoundError}: the closest
|
|
126
|
-
* accepted identifiers and the queue size, never the full queue. For
|
|
127
|
-
* callers that word their own lead, such as the `--patches` subset.
|
|
128
|
-
*/
|
|
129
|
-
export function formatPatchSuggestions(identifier, patches) {
|
|
130
|
-
const suggestions = rankSuggestions(identifier, collectAcceptedIdentifiers(patches));
|
|
131
|
-
if (suggestions.length > 0) {
|
|
132
|
-
return `Did you mean: ${suggestions.join(', ')}? (${patches.length} patches in queue — run "fireforge patch list" for the full list.)`;
|
|
133
|
-
}
|
|
134
|
-
return `No close match found among ${patches.length} patches in the queue. Run "fireforge patch list" to see them.`;
|
|
135
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Queue-wide lint for binary patch bodies that cannot recreate their file.
|
|
3
|
-
*
|
|
4
|
-
* `git diff` has two ways to render a binary change. `git diff --binary`
|
|
5
|
-
* emits a `GIT binary patch` section carrying the literal/delta payload,
|
|
6
|
-
* and that body can be replayed by `git apply`. Plain `git diff` emits only
|
|
7
|
-
* the informational `Binary files a/x and b/x differ`, which records that
|
|
8
|
-
* the bytes changed and carries none of them.
|
|
9
|
-
*
|
|
10
|
-
* The stub form is dangerous rather than merely lossy because it still
|
|
11
|
-
* carries a correct `index <old>..<new>` line. Every identity-shaped check in
|
|
12
|
-
* the codebase (worktree classification, foreign-drift detection) keys on
|
|
13
|
-
* that hash, matches it against the live file, and concludes the patch is
|
|
14
|
-
* backed. So a queue can hold a patch that provably cannot rebuild its own
|
|
15
|
-
* file while every gate reports green, and the loss surfaces only at the next
|
|
16
|
-
* clean-room apply. This rule is the one check that reads the body itself and
|
|
17
|
-
* fails closed, whichever command wrote it.
|
|
18
|
-
*
|
|
19
|
-
* Body-only: it needs no engine checkout, so it runs anywhere the
|
|
20
|
-
* queue context is available and never pulls an engine dependency into the
|
|
21
|
-
* cross-patch lint graph.
|
|
22
|
-
*/
|
|
23
|
-
import type { PatchLintIssue } from '../types/commands/index.js';
|
|
24
|
-
import type { PatchQueueBodyEntry, PatchQueueView } from './patch-lint-queue-types.js';
|
|
25
|
-
/**
|
|
26
|
-
* Queue view accepted by {@link lintPatchQueueBinaryBodies}. Described
|
|
27
|
-
* structurally rather than by importing `PatchQueueContext` from
|
|
28
|
-
* `patch-lint-cross.ts`, which imports this module back. The shared leaf
|
|
29
|
-
* type keeps the dependency edge one-way and `dpdm` clean.
|
|
30
|
-
*/
|
|
31
|
-
type BinaryBodyQueueContext = PatchQueueView<PatchQueueBodyEntry>;
|
|
32
|
-
/** Lint check identifier emitted by {@link lintPatchQueueBinaryBodies}. */
|
|
33
|
-
export declare const BINARY_BODY_CHECK = "binary-body-not-reconstructable";
|
|
34
|
-
/**
|
|
35
|
-
* Flags every binary diff section whose body carries no reconstructable
|
|
36
|
-
* payload.
|
|
37
|
-
*
|
|
38
|
-
* Deletions are exempt: a `deleted file mode` section needs no bytes to
|
|
39
|
-
* replay, so the informational form is complete for that case.
|
|
40
|
-
*
|
|
41
|
-
* @param ctx - Queue context (raw patch bodies in application order)
|
|
42
|
-
* @returns One error-severity issue per offending file per patch
|
|
43
|
-
*/
|
|
44
|
-
export declare function lintPatchQueueBinaryBodies(ctx: BinaryBodyQueueContext): PatchLintIssue[];
|
|
45
|
-
export {};
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { parseDiffSections } from './patch-parse.js';
|
|
2
|
-
/** Lint check identifier emitted by {@link lintPatchQueueBinaryBodies}. */
|
|
3
|
-
export const BINARY_BODY_CHECK = 'binary-body-not-reconstructable';
|
|
4
|
-
/**
|
|
5
|
-
* Flags every binary diff section whose body carries no reconstructable
|
|
6
|
-
* payload.
|
|
7
|
-
*
|
|
8
|
-
* Deletions are exempt: a `deleted file mode` section needs no bytes to
|
|
9
|
-
* replay, so the informational form is complete for that case.
|
|
10
|
-
*
|
|
11
|
-
* @param ctx - Queue context (raw patch bodies in application order)
|
|
12
|
-
* @returns One error-severity issue per offending file per patch
|
|
13
|
-
*/
|
|
14
|
-
export function lintPatchQueueBinaryBodies(ctx) {
|
|
15
|
-
const issues = [];
|
|
16
|
-
for (const entry of ctx.entries) {
|
|
17
|
-
const seen = new Set();
|
|
18
|
-
for (const section of parseDiffSections(entry.diff)) {
|
|
19
|
-
if (!section.isBinary || section.hasBinaryDelta || section.isDeletedFile)
|
|
20
|
-
continue;
|
|
21
|
-
const file = section.targetPath;
|
|
22
|
-
if (seen.has(file))
|
|
23
|
-
continue;
|
|
24
|
-
seen.add(file);
|
|
25
|
-
issues.push({
|
|
26
|
-
file,
|
|
27
|
-
check: BINARY_BODY_CHECK,
|
|
28
|
-
patches: [entry.filename],
|
|
29
|
-
fingerprint: `${BINARY_BODY_CHECK}|${entry.filename}|${file}`,
|
|
30
|
-
message: `Binary file "${file}" is recorded in ${entry.filename} as "Binary files … differ", ` +
|
|
31
|
-
'which carries no data and cannot recreate the file on apply. ' +
|
|
32
|
-
`Re-export the patch from a tree where ${file} is present ` +
|
|
33
|
-
`("fireforge re-export ${entry.filename}") so the body carries a GIT binary patch delta.`,
|
|
34
|
-
severity: 'error',
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return issues;
|
|
39
|
-
}
|