@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,423 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Planning + dry-run + placement helpers extracted from `export.ts`.
|
|
4
|
-
*
|
|
5
|
-
* These functions are pure or narrowly-scoped async helpers that compose
|
|
6
|
-
* into `exportCommand`. Splitting them out keeps `export.ts` under the
|
|
7
|
-
* per-file / per-function line budgets and makes each step individually
|
|
8
|
-
* testable without dragging the whole command harness along for the ride.
|
|
9
|
-
*/
|
|
10
|
-
import { dirname, join } from 'node:path';
|
|
11
|
-
import {} from '../core/destructive.js';
|
|
12
|
-
import { buildPlanExportInput, findAllPatchesForFilesWithDetails, patchNameSlug, planExport, } from '../core/patch-export.js';
|
|
13
|
-
import { buildPatchQueueContext, lintPatchQueue } from '../core/patch-lint.js';
|
|
14
|
-
import { formatLintIgnoreList } from '../core/patch-lint-ignore.js';
|
|
15
|
-
import { withPatchDirectoryLock } from '../core/patch-lock.js';
|
|
16
|
-
import { addPatchToManifest, loadPatchesManifest, loadPatchesManifestForWrite, renumberPatchesInManifest, resolvePatchIdentifier, savePatchesManifest, } from '../core/patch-manifest.js';
|
|
17
|
-
import { formatPatchOrder, requirePatchOrder } from '../core/patch-parse.js';
|
|
18
|
-
import { applyRenameMapToManifest, buildProjectedManifest, enforcePatchPolicy, } from '../core/patch-policy.js';
|
|
19
|
-
import { GeneralError, InvalidArgumentError } from '../errors/base.js';
|
|
20
|
-
import { toError } from '../utils/errors.js';
|
|
21
|
-
import { pathExists, readText, removeFile, writeText } from '../utils/fs.js';
|
|
22
|
-
import { info, warn } from '../utils/logger.js';
|
|
23
|
-
import { describePlacementAdvice } from './export-adopt-check.js';
|
|
24
|
-
import { groupProjectedPlacementErrors } from './export-placement-conflicts.js';
|
|
25
|
-
import { assertPlacementAvoidsReservedRanges } from './export-placement-policy.js';
|
|
26
|
-
import { findPartialOwnershipOverlap } from './export-shared.js';
|
|
27
|
-
import { acceptTreeRegisteredModules } from './export-staged-registration.js';
|
|
28
|
-
import { projectEntryBody } from './patch/entry-projection.js';
|
|
29
|
-
import { getSortedRenameEntries, renameMapsEqual } from './patch-rename-map.js';
|
|
30
|
-
function buildFilenameForPlacement(category, name, order, width) {
|
|
31
|
-
const padded = String(order).padStart(Math.max(3, width), '0');
|
|
32
|
-
return `${padded}-${category}-${patchNameSlug(name, category)}.patch`;
|
|
33
|
-
}
|
|
34
|
-
function prefixWidthForPatches(manifestPatches, requestedOrder) {
|
|
35
|
-
return manifestPatches.reduce((width, patch) => {
|
|
36
|
-
const match = /^(\d+)-/.exec(patch.filename);
|
|
37
|
-
return Math.max(width, match?.[1]?.length ?? 3, String(requestedOrder).length);
|
|
38
|
-
}, 3);
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Structural equality for placement plans. Used by placement-mode export
|
|
42
|
-
* and `patch split` to verify the queue did not change between the
|
|
43
|
-
* confirmed preview and the under-lock commit.
|
|
44
|
-
*/
|
|
45
|
-
export function placementPlansEqual(left, right) {
|
|
46
|
-
if (left.insertionOrder !== right.insertionOrder || left.newFilename !== right.newFilename) {
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
return renameMapsEqual(left.renameMap, right.renameMap);
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Computes the shift map that moves existing patches out of the requested
|
|
53
|
-
* slot to make room for a new patch at `requestedOrder`.
|
|
54
|
-
*/
|
|
55
|
-
export function computePlacementPlan(manifestPatches, newPatchCategory, newPatchName, requestedOrder) {
|
|
56
|
-
// Defense-in-depth: the --order argParser already validates, but this
|
|
57
|
-
// function is exported and reachable from tests / future callers.
|
|
58
|
-
// Failing fast here prevents a NaN requestedOrder from producing a
|
|
59
|
-
// filename like "NaN-ui-foo.patch".
|
|
60
|
-
if (!Number.isInteger(requestedOrder) || requestedOrder <= 0) {
|
|
61
|
-
throw new InvalidArgumentError(`computePlacementPlan requires a positive integer order, got ${requestedOrder}.`, 'requestedOrder');
|
|
62
|
-
}
|
|
63
|
-
const sorted = [...manifestPatches].sort((a, b) => a.order - b.order);
|
|
64
|
-
const renameMap = new Map();
|
|
65
|
-
const prefixWidth = prefixWidthForPatches(sorted, requestedOrder);
|
|
66
|
-
// Patches at requestedOrder or later shift up by one, but only until the
|
|
67
|
-
// cascade reaches a free ordinal. A gap absorbs the insert, so the tail
|
|
68
|
-
// beyond it (including any reserved block) keeps its numbering.
|
|
69
|
-
let cursor = requestedOrder;
|
|
70
|
-
for (const patch of sorted) {
|
|
71
|
-
if (patch.order < requestedOrder) {
|
|
72
|
-
continue;
|
|
73
|
-
}
|
|
74
|
-
if (patch.order > cursor) {
|
|
75
|
-
break;
|
|
76
|
-
}
|
|
77
|
-
const newOrder = cursor + 1;
|
|
78
|
-
const currentRest = patch.filename.replace(/^\d+-/, '');
|
|
79
|
-
const newFilename = `${formatPatchOrder(newOrder, prefixWidth)}-${currentRest}`;
|
|
80
|
-
renameMap.set(patch.filename, { newOrder, newFilename });
|
|
81
|
-
cursor = newOrder;
|
|
82
|
-
}
|
|
83
|
-
const newFilename = buildFilenameForPlacement(newPatchCategory, newPatchName, requestedOrder, prefixWidth);
|
|
84
|
-
return {
|
|
85
|
-
insertionOrder: requestedOrder,
|
|
86
|
-
newFilename,
|
|
87
|
-
renameMap,
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Computes an exact sparse placement plan for `--order <N>`. Unlike
|
|
92
|
-
* positional insertion, this never renumbers existing patches: the order
|
|
93
|
-
* must be unused, and policy validation decides whether the requested
|
|
94
|
-
* category/order is allowed.
|
|
95
|
-
*/
|
|
96
|
-
export function computeExactPlacementPlan(manifestPatches, newPatchCategory, newPatchName, requestedOrder) {
|
|
97
|
-
if (!Number.isInteger(requestedOrder) || requestedOrder <= 0) {
|
|
98
|
-
throw new InvalidArgumentError(`--order must be a positive integer, got ${requestedOrder}.`, '--order');
|
|
99
|
-
}
|
|
100
|
-
const occupied = manifestPatches.find((patch) => patch.order === requestedOrder);
|
|
101
|
-
if (occupied) {
|
|
102
|
-
throw new InvalidArgumentError(`--order ${requestedOrder} is already occupied by ${occupied.filename}. ` +
|
|
103
|
-
'Choose an unused order or use --before/--after for positional insertion.', '--order');
|
|
104
|
-
}
|
|
105
|
-
return {
|
|
106
|
-
insertionOrder: requestedOrder,
|
|
107
|
-
newFilename: buildFilenameForPlacement(newPatchCategory, newPatchName, requestedOrder, prefixWidthForPatches(manifestPatches, requestedOrder)),
|
|
108
|
-
renameMap: new Map(),
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Resolves a placement plan from CLI flags against the current manifest.
|
|
113
|
-
* When `config` is provided, positional plans (`--before`/`--after`) are
|
|
114
|
-
* refused up front if their renumber would touch a reserved range, giving
|
|
115
|
-
* one error for the whole shift instead of per-patch policy findings. The
|
|
116
|
-
* exact `--order` branch never renames, so it bypasses that gate.
|
|
117
|
-
*/
|
|
118
|
-
export async function resolvePlacementPlan(patchesDir, options, category, name, config) {
|
|
119
|
-
// ForWrite: placement planning feeds a manifest rewrite. A corrupt
|
|
120
|
-
// manifest read as empty would allocate colliding orders.
|
|
121
|
-
const manifest = await loadPatchesManifestForWrite(patchesDir);
|
|
122
|
-
const existingPatches = manifest?.patches ?? [];
|
|
123
|
-
let targetOrder;
|
|
124
|
-
if (options.order !== undefined) {
|
|
125
|
-
// Defense-in-depth: argParser covers the CLI path, but this
|
|
126
|
-
// function is called directly from the command body which could
|
|
127
|
-
// reach here with a NaN/0/negative value passed in via test harness.
|
|
128
|
-
if (!Number.isInteger(options.order) || options.order <= 0) {
|
|
129
|
-
throw new InvalidArgumentError(`--order must be a positive integer, got ${options.order}.`, '--order');
|
|
130
|
-
}
|
|
131
|
-
return computeExactPlacementPlan(existingPatches, category, name, options.order);
|
|
132
|
-
}
|
|
133
|
-
else if (options.before !== undefined) {
|
|
134
|
-
const anchor = resolvePatchIdentifier(options.before, existingPatches);
|
|
135
|
-
if (!anchor) {
|
|
136
|
-
throw new InvalidArgumentError(`--before anchor "${options.before}" not found.`, '--before');
|
|
137
|
-
}
|
|
138
|
-
targetOrder = anchor.order;
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
const afterAnchorId = options.after;
|
|
142
|
-
if (afterAnchorId === undefined) {
|
|
143
|
-
throw new InvalidArgumentError('Placement flag resolver reached --after branch with no value set.', '--after');
|
|
144
|
-
}
|
|
145
|
-
const anchor = resolvePatchIdentifier(afterAnchorId, existingPatches);
|
|
146
|
-
if (!anchor) {
|
|
147
|
-
throw new InvalidArgumentError(`--after anchor "${afterAnchorId}" not found.`, '--after');
|
|
148
|
-
}
|
|
149
|
-
targetOrder = anchor.order + 1;
|
|
150
|
-
}
|
|
151
|
-
const plan = computePlacementPlan(existingPatches, category, name, targetOrder);
|
|
152
|
-
assertPlacementAvoidsReservedRanges(plan, existingPatches, config);
|
|
153
|
-
return plan;
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Projects the placement through cross-patch lint to detect forward-imports
|
|
157
|
-
* the renumber would introduce, or that the new patch itself would
|
|
158
|
-
* introduce by landing earlier than one of its dependencies. Returns null
|
|
159
|
-
* when the projection is clean.
|
|
160
|
-
*/
|
|
161
|
-
export async function projectPlacementForLint(patchesDir, plan, diff, config) {
|
|
162
|
-
const baseCtx = await buildPatchQueueContext(patchesDir, config);
|
|
163
|
-
const projectedEntries = baseCtx.entries.map((entry) => {
|
|
164
|
-
const rename = plan.renameMap.get(entry.filename);
|
|
165
|
-
if (!rename)
|
|
166
|
-
return entry;
|
|
167
|
-
return { ...entry, filename: rename.newFilename, order: rename.newOrder };
|
|
168
|
-
});
|
|
169
|
-
// Synthetic entry for the pending patch, populated with both its new-file
|
|
170
|
-
// content and its added-line content for files it modifies, so the
|
|
171
|
-
// forward-import rule can inspect imports the patch itself authors,
|
|
172
|
-
// whether they live in a brand-new file or are added to an existing one.
|
|
173
|
-
// Leaving either map empty lets a patch land before one of its own
|
|
174
|
-
// dependencies and still pass the gate.
|
|
175
|
-
const pendingBody = projectEntryBody(diff);
|
|
176
|
-
projectedEntries.push({
|
|
177
|
-
filename: plan.newFilename,
|
|
178
|
-
order: plan.insertionOrder,
|
|
179
|
-
metadata: null,
|
|
180
|
-
...pendingBody,
|
|
181
|
-
});
|
|
182
|
-
projectedEntries.sort((a, b) => a.order - b.order || a.filename.localeCompare(b.filename));
|
|
183
|
-
// The projection keeps every queue-wide lint setting of the baseline
|
|
184
|
-
// (patch policy, forward-registration scope, token scales), so a
|
|
185
|
-
// test-manifest suite entry is checked exactly as the committed gate
|
|
186
|
-
// checks it.
|
|
187
|
-
// A new module whose moz.build line is declared (staged registration)
|
|
188
|
-
// and present in the working tree, but not yet exported by its owner, is
|
|
189
|
-
// accepted with a "re-export the owner next" note instead of refused.
|
|
190
|
-
const registration = await acceptTreeRegisteredModules({
|
|
191
|
-
engineDir: join(dirname(patchesDir), 'engine'),
|
|
192
|
-
baseCtx,
|
|
193
|
-
newFilename: plan.newFilename,
|
|
194
|
-
pendingNewFiles: new Set(pendingBody.newFiles.keys()),
|
|
195
|
-
projectedIssues: lintPatchQueue({ ...baseCtx, entries: projectedEntries }).filter((i) => i.severity === 'error'),
|
|
196
|
-
});
|
|
197
|
-
for (const note of registration.accepted)
|
|
198
|
-
warn(note);
|
|
199
|
-
const projectedIssues = registration.remaining;
|
|
200
|
-
if (projectedIssues.length === 0)
|
|
201
|
-
return null;
|
|
202
|
-
// Baseline lint over the un-renumbered queue: an error present here is
|
|
203
|
-
// pre-existing breakage rather than a consequence of this placement, and
|
|
204
|
-
// calling it one would misattribute. Entries are already in memory,
|
|
205
|
-
// so this second pass costs no additional IO.
|
|
206
|
-
const baselineIssues = lintPatchQueue(baseCtx).filter((i) => i.severity === 'error');
|
|
207
|
-
// Register-first and new-file + moved-code advice: name the working
|
|
208
|
-
// sequence instead of leaving the operator to derive it from two
|
|
209
|
-
// individually-correct guards that together dead-end, but only offer
|
|
210
|
-
// adopt-then-split for a real moved block whose adopt would itself pass.
|
|
211
|
-
return {
|
|
212
|
-
reason: `placement would introduce ${projectedIssues.length} cross-patch lint error(s)`,
|
|
213
|
-
details: [
|
|
214
|
-
...groupProjectedPlacementErrors(projectedIssues, baselineIssues, plan),
|
|
215
|
-
...registration.advice,
|
|
216
|
-
...describePlacementAdvice(baseCtx, diff, projectedIssues, plan),
|
|
217
|
-
],
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
/**
|
|
221
|
-
* Builds the change-summary lines printed by the placement confirmation.
|
|
222
|
-
*/
|
|
223
|
-
export function placementSummary(plan) {
|
|
224
|
-
const summary = [
|
|
225
|
-
`place new patch as ${plan.newFilename} (order ${plan.insertionOrder})`,
|
|
226
|
-
];
|
|
227
|
-
const sortedRenames = getSortedRenameEntries(plan.renameMap);
|
|
228
|
-
if (sortedRenames.length > 0) {
|
|
229
|
-
summary.push(`${sortedRenames.length} existing patch(es) would be renumbered:`);
|
|
230
|
-
for (const [oldName, rename] of sortedRenames) {
|
|
231
|
-
summary.push(` ${oldName} → ${rename.newFilename}`);
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
return summary;
|
|
235
|
-
}
|
|
236
|
-
/**
|
|
237
|
-
* Commits a previously-confirmed placement export under the patch
|
|
238
|
-
* directory lock. Re-resolves the placement plan against the current
|
|
239
|
-
* queue and aborts if anything changed since the preview so the command
|
|
240
|
-
* never applies a silently different rename set than the user saw.
|
|
241
|
-
*/
|
|
242
|
-
export async function commitPlacementExport(input) {
|
|
243
|
-
return withPatchDirectoryLock(input.patchesDir, async () => {
|
|
244
|
-
const currentPlan = await resolvePlacementPlan(input.patchesDir, input.options, input.category, input.name, input.config);
|
|
245
|
-
if (!placementPlansEqual(currentPlan, input.expectedPlan)) {
|
|
246
|
-
throw new InvalidArgumentError('Patch queue changed while waiting for export confirmation. Re-run the command to recompute placement.', 'export placement');
|
|
247
|
-
}
|
|
248
|
-
const conflicts = await projectPlacementForLint(input.patchesDir, currentPlan, input.diff, input.config);
|
|
249
|
-
if (conflicts && input.unsafeOverride !== true) {
|
|
250
|
-
throw new InvalidArgumentError(`Refusing to run export: ${conflicts.reason}:\n ${conflicts.details.join('\n ')}\n` +
|
|
251
|
-
'If the conflict names files owned by another patch (e.g. duplicate-new-file-creation), ' +
|
|
252
|
-
're-run the export with an explicit file list that leaves those files with their owner — ' +
|
|
253
|
-
'do NOT bypass with --force-unsafe. Pass --force-unsafe only for a reviewed placement conflict.', '--force-unsafe');
|
|
254
|
-
}
|
|
255
|
-
const originalManifest = await loadPatchesManifestForWrite(input.patchesDir);
|
|
256
|
-
if (input.config !== undefined) {
|
|
257
|
-
const renamed = originalManifest !== null
|
|
258
|
-
? applyRenameMapToManifest(originalManifest, currentPlan.renameMap)
|
|
259
|
-
: buildProjectedManifest(null, []);
|
|
260
|
-
enforcePatchPolicy({
|
|
261
|
-
config: input.config,
|
|
262
|
-
manifest: buildProjectedManifest(renamed, [
|
|
263
|
-
...renamed.patches,
|
|
264
|
-
{
|
|
265
|
-
...input.metadata,
|
|
266
|
-
filename: currentPlan.newFilename,
|
|
267
|
-
order: currentPlan.insertionOrder,
|
|
268
|
-
},
|
|
269
|
-
]),
|
|
270
|
-
command: 'export',
|
|
271
|
-
forceUnsafe: input.forceUnsafe === true,
|
|
272
|
-
});
|
|
273
|
-
}
|
|
274
|
-
// Snapshot pre-mutation state so we can best-effort restore the queue
|
|
275
|
-
// if any of the three steps below fail mid-flight. Mirrors the
|
|
276
|
-
// rollback shape in commitExportedPatch (src/core/patch-export.ts), but
|
|
277
|
-
// inlined because the two rollbacks operate on different state shapes
|
|
278
|
-
// (rename map vs. supersede set) and sharing a helper would be forced.
|
|
279
|
-
const patchPath = join(input.patchesDir, currentPlan.newFilename);
|
|
280
|
-
const originalNewPatchContent = (await pathExists(patchPath))
|
|
281
|
-
? await readText(patchPath)
|
|
282
|
-
: null;
|
|
283
|
-
let renumberApplied = false;
|
|
284
|
-
try {
|
|
285
|
-
if (currentPlan.renameMap.size > 0) {
|
|
286
|
-
await renumberPatchesInManifest(input.patchesDir, currentPlan.renameMap);
|
|
287
|
-
renumberApplied = true;
|
|
288
|
-
}
|
|
289
|
-
// Normalize identically to commitExportedPatch: the two export
|
|
290
|
-
// paths must produce one artifact contract for the same diff.
|
|
291
|
-
await writeText(patchPath, input.diff);
|
|
292
|
-
await addPatchToManifest(input.patchesDir, {
|
|
293
|
-
...input.metadata,
|
|
294
|
-
filename: currentPlan.newFilename,
|
|
295
|
-
order: currentPlan.insertionOrder,
|
|
296
|
-
});
|
|
297
|
-
if (input.onCommitted) {
|
|
298
|
-
try {
|
|
299
|
-
await input.onCommitted(currentPlan);
|
|
300
|
-
}
|
|
301
|
-
catch (hookError) {
|
|
302
|
-
// Mutation has already committed and is not reversible. Warn
|
|
303
|
-
// so operators know the audit trail has a gap, but do not
|
|
304
|
-
// re-throw, which would look like the export itself failed.
|
|
305
|
-
warn(`History log append failed after export committed (export-order, ${currentPlan.newFilename}): ` +
|
|
306
|
-
toError(hookError).message);
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
return currentPlan;
|
|
310
|
-
}
|
|
311
|
-
catch (error) {
|
|
312
|
-
// Best-effort rollback. Each restoration step gets its own nested
|
|
313
|
-
// try/catch so a secondary failure warns without masking the
|
|
314
|
-
// original error we are about to rethrow.
|
|
315
|
-
try {
|
|
316
|
-
if (originalNewPatchContent === null) {
|
|
317
|
-
if (await pathExists(patchPath)) {
|
|
318
|
-
await removeFile(patchPath);
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
else {
|
|
322
|
-
await writeText(patchPath, originalNewPatchContent);
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
catch (rollbackError) {
|
|
326
|
-
warn(`Rollback warning: could not restore new patch file: ${toError(rollbackError).message}`);
|
|
327
|
-
}
|
|
328
|
-
if (renumberApplied) {
|
|
329
|
-
// Invert the forward rename map and re-apply through the same
|
|
330
|
-
// two-phase staging renumber. The oldFilename encodes its
|
|
331
|
-
// original order in the leading digits, so parsing them back
|
|
332
|
-
// avoids tracking a second map during the forward pass.
|
|
333
|
-
const inverseMap = new Map();
|
|
334
|
-
for (const [oldFilename, entry] of currentPlan.renameMap) {
|
|
335
|
-
const oldOrder = requirePatchOrder(oldFilename);
|
|
336
|
-
inverseMap.set(entry.newFilename, {
|
|
337
|
-
newOrder: oldOrder,
|
|
338
|
-
newFilename: oldFilename,
|
|
339
|
-
});
|
|
340
|
-
}
|
|
341
|
-
try {
|
|
342
|
-
await renumberPatchesInManifest(input.patchesDir, inverseMap);
|
|
343
|
-
}
|
|
344
|
-
catch (rollbackError) {
|
|
345
|
-
warn(`Rollback warning: could not invert placement renumber: ${toError(rollbackError).message}`);
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
// Belt-and-braces: overwrite the manifest with the original
|
|
349
|
-
// snapshot so a partial addPatchToManifest write (new entry
|
|
350
|
-
// appended but inverse renumber skipped or incomplete) is erased.
|
|
351
|
-
// Safe because by this point the disk filenames should match the
|
|
352
|
-
// original manifest's filenames.
|
|
353
|
-
if (originalManifest) {
|
|
354
|
-
try {
|
|
355
|
-
await savePatchesManifest(input.patchesDir, originalManifest);
|
|
356
|
-
}
|
|
357
|
-
catch (rollbackError) {
|
|
358
|
-
warn(`Rollback warning: could not restore manifest: ${toError(rollbackError).message}`);
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
throw error;
|
|
362
|
-
}
|
|
363
|
-
});
|
|
364
|
-
}
|
|
365
|
-
/**
|
|
366
|
-
* Renders the plain (non-placement) dry-run preview: calls planExport,
|
|
367
|
-
* prints the allocated filename + metadata, and with supersede enumerates
|
|
368
|
-
* the per-patch coverage detail that was opaque before this refactor.
|
|
369
|
-
*/
|
|
370
|
-
export async function renderDryRunPreview(input) {
|
|
371
|
-
const supersedeDetails = await findAllPatchesForFilesWithDetails(input.patchesDir, input.filesAffected);
|
|
372
|
-
const supersedingFilenames = new Set(supersedeDetails.map((detail) => detail.patch.filename));
|
|
373
|
-
const manifest = await loadPatchesManifest(input.patchesDir);
|
|
374
|
-
const overlap = manifest !== null
|
|
375
|
-
? findPartialOwnershipOverlap(manifest, input.filesAffected, supersedingFilenames)
|
|
376
|
-
: new Map();
|
|
377
|
-
const plan = await planExport(buildPlanExportInput(input));
|
|
378
|
-
if (input.config !== undefined) {
|
|
379
|
-
enforcePatchPolicy({
|
|
380
|
-
config: input.config,
|
|
381
|
-
manifest: plan.manifestAfter,
|
|
382
|
-
command: 'export',
|
|
383
|
-
forceUnsafe: input.forceUnsafe === true,
|
|
384
|
-
});
|
|
385
|
-
}
|
|
386
|
-
info(`\n[dry-run] Would write: patches/${plan.patchFilename}`);
|
|
387
|
-
info(` category: ${plan.metadata.category}`);
|
|
388
|
-
info(` order: ${plan.metadata.order}`);
|
|
389
|
-
info(` description: ${plan.metadata.description || '(none)'}`);
|
|
390
|
-
info(` filesAffected (${plan.metadata.filesAffected.length}): ${plan.metadata.filesAffected.join(', ')}`);
|
|
391
|
-
if (plan.metadata.tier !== undefined) {
|
|
392
|
-
info(` tier: ${plan.metadata.tier}`);
|
|
393
|
-
}
|
|
394
|
-
if (plan.metadata.lintIgnore !== undefined && plan.metadata.lintIgnore.length > 0) {
|
|
395
|
-
info(` lintIgnore: ${formatLintIgnoreList(plan.metadata.lintIgnore)}`);
|
|
396
|
-
}
|
|
397
|
-
if (supersedeDetails.length > 0) {
|
|
398
|
-
info(`\n[dry-run] Would supersede ${supersedeDetails.length} existing patch(es):`);
|
|
399
|
-
for (const detail of supersedeDetails) {
|
|
400
|
-
info(` - ${detail.patch.filename} (covered by: ${detail.coverage.byFiles.join(', ')})`);
|
|
401
|
-
}
|
|
402
|
-
if (!input.explicitSupersede) {
|
|
403
|
-
warn('Real run would prompt for confirmation or require --supersede in non-interactive mode.');
|
|
404
|
-
}
|
|
405
|
-
}
|
|
406
|
-
else {
|
|
407
|
-
info('\n[dry-run] No patches would be superseded.');
|
|
408
|
-
}
|
|
409
|
-
if (overlap.size > 0) {
|
|
410
|
-
const entries = [...overlap.entries()].sort(([a], [b]) => a.localeCompare(b));
|
|
411
|
-
warn(`\n[dry-run] Would create cross-patch ownership overlap on ${entries.length} file${entries.length === 1 ? '' : 's'}:`);
|
|
412
|
-
for (const [file, owners] of entries) {
|
|
413
|
-
warn(` - ${file} already claimed by: ${owners.join(', ')}`);
|
|
414
|
-
}
|
|
415
|
-
warn('The real export would leave the queue verify-failing. Repartition ownership with `fireforge re-export --files <paths> <existing-patch>` before exporting, or pass --allow-overlap to acknowledge the conflict.');
|
|
416
|
-
if (!input.allowOverlap) {
|
|
417
|
-
throw new GeneralError('Dry-run detected cross-patch ownership overlap. Pass --allow-overlap to preview the acknowledged conflict, or repartition ownership via `fireforge re-export --files`.');
|
|
418
|
-
}
|
|
419
|
-
}
|
|
420
|
-
else {
|
|
421
|
-
info('[dry-run] No cross-patch ownership overlap detected.');
|
|
422
|
-
}
|
|
423
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { PatchRenameEntry } from '../core/patch-manifest.js';
|
|
2
|
-
import type { PatchLintIssue } from '../types/commands/index.js';
|
|
3
|
-
/** Inputs {@link groupProjectedPlacementErrors} needs from the plan. */
|
|
4
|
-
export interface PlacementAttributionPlan {
|
|
5
|
-
insertionOrder: number;
|
|
6
|
-
newFilename: string;
|
|
7
|
-
renameMap: Map<string, PatchRenameEntry>;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Partitions the projected placement errors into three labeled groups
|
|
11
|
-
* (defects in the exported content, consequences of the renumbering, and
|
|
12
|
-
* errors the queue already had), rendered as indented detail lines for
|
|
13
|
-
* {@link ConflictReport.details}. Grouping travels through the plain
|
|
14
|
-
* `details: string[]`, so both refusal sites and confirmDestructive's
|
|
15
|
-
* conflict printer show it without changes.
|
|
16
|
-
*/
|
|
17
|
-
export declare function groupProjectedPlacementErrors(projectedErrors: readonly PatchLintIssue[], baselineErrors: readonly PatchLintIssue[], plan: PlacementAttributionPlan): string[];
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Attribution of projected placement lint errors, split out of
|
|
4
|
-
* export-flow.ts for the line budget.
|
|
5
|
-
*
|
|
6
|
-
* A placement projection lints one merged queue (the renumbered existing
|
|
7
|
-
* patches plus a synthetic entry for the pending patch), so a flat error
|
|
8
|
-
* list reads as though the new patch caused every one of them. A renumbering
|
|
9
|
-
* that re-evaluates pre-existing staged relationships (patch 455 importing a
|
|
10
|
-
* module created by 456, legal only at their current ordinals) then sends
|
|
11
|
-
* the operator auditing a perfectly fine export.
|
|
12
|
-
*
|
|
13
|
-
* Consumed by export-flow.ts. No top-level registrar is exported and none is
|
|
14
|
-
* wanted.
|
|
15
|
-
*/
|
|
16
|
-
import { formatPatchLintIssue } from '../core/patch-lint.js';
|
|
17
|
-
/**
|
|
18
|
-
* Identity for baseline comparison: check + site file + implicated
|
|
19
|
-
* patches, with projected filenames mapped back through the rename map so
|
|
20
|
-
* a pre-existing error keeps its identity across the renumber. Never
|
|
21
|
-
* parses the fingerprint. It is documented rename-sensitive.
|
|
22
|
-
*/
|
|
23
|
-
function issueKey(issue, mapBackToOldName) {
|
|
24
|
-
const patches = (issue.patches ?? []).map(mapBackToOldName).sort((a, b) => a.localeCompare(b));
|
|
25
|
-
return `${issue.check}|${issue.file}|${patches.join(',')}`;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Partitions the projected placement errors into three labeled groups
|
|
29
|
-
* (defects in the exported content, consequences of the renumbering, and
|
|
30
|
-
* errors the queue already had), rendered as indented detail lines for
|
|
31
|
-
* {@link ConflictReport.details}. Grouping travels through the plain
|
|
32
|
-
* `details: string[]`, so both refusal sites and confirmDestructive's
|
|
33
|
-
* conflict printer show it without changes.
|
|
34
|
-
*/
|
|
35
|
-
export function groupProjectedPlacementErrors(projectedErrors, baselineErrors, plan) {
|
|
36
|
-
const oldNameByNew = new Map();
|
|
37
|
-
for (const [oldFilename, rename] of plan.renameMap) {
|
|
38
|
-
oldNameByNew.set(rename.newFilename, oldFilename);
|
|
39
|
-
}
|
|
40
|
-
const mapBack = (name) => oldNameByNew.get(name) ?? name;
|
|
41
|
-
const baselineKeys = new Set(baselineErrors.map((issue) => issueKey(issue, (name) => name)));
|
|
42
|
-
const exported = [];
|
|
43
|
-
const renumbering = [];
|
|
44
|
-
const preExisting = [];
|
|
45
|
-
for (const issue of projectedErrors) {
|
|
46
|
-
// The synthetic entry's filename is unique in the projection, so
|
|
47
|
-
// membership in `patches` attributes exactly. Issues from older rules
|
|
48
|
-
// without the field fall back to a message scan, then to "the queue".
|
|
49
|
-
const implicatesNewPatch = issue.patches?.includes(plan.newFilename) ?? issue.message.includes(plan.newFilename);
|
|
50
|
-
if (implicatesNewPatch) {
|
|
51
|
-
exported.push(issue);
|
|
52
|
-
}
|
|
53
|
-
else if (baselineKeys.has(issueKey(issue, mapBack))) {
|
|
54
|
-
preExisting.push(issue);
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
renumbering.push(issue);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
const details = [];
|
|
61
|
-
const pushGroup = (header, issues) => {
|
|
62
|
-
if (issues.length === 0)
|
|
63
|
-
return;
|
|
64
|
-
details.push(header);
|
|
65
|
-
for (const issue of issues) {
|
|
66
|
-
details.push(` ${formatPatchLintIssue(issue)}`);
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
pushGroup(`errors in the exported patch content (${exported.length}):`, exported);
|
|
70
|
-
pushGroup(`consequences of renumbering existing patches to make room at ordinal ` +
|
|
71
|
-
`${plan.insertionOrder} (${renumbering.length}) — these come from ` +
|
|
72
|
-
'renumbering, NOT from the exported content:', renumbering);
|
|
73
|
-
pushGroup(`errors already present in the queue before this export (${preExisting.length}):`, preExisting);
|
|
74
|
-
return details;
|
|
75
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Placement-flag gating for `fireforge export`, split out of `export.ts`
|
|
3
|
-
* to keep the command body inside the per-function and per-file line
|
|
4
|
-
* budgets. `gatePlacementPlan` owns every policy/confirmation decision a
|
|
5
|
-
* placement export makes before the locked commit in `export.ts` runs.
|
|
6
|
-
*/
|
|
7
|
-
import type { ExportOptions } from '../types/commands/index.js';
|
|
8
|
-
import type { FireForgeConfig } from '../types/config.js';
|
|
9
|
-
import type { SpinnerHandle } from '../utils/logger.js';
|
|
10
|
-
import { type PlacementPlan } from './export-flow.js';
|
|
11
|
-
/**
|
|
12
|
-
* Spreadable optional metadata (`tier`, `lintIgnore`) derived from the
|
|
13
|
-
* export flags. Every manifest-row construction site in this command
|
|
14
|
-
* shares this shape. With exactOptionalPropertyTypes the keys must be
|
|
15
|
-
* omitted entirely (not set to undefined) when the flags are absent.
|
|
16
|
-
*/
|
|
17
|
-
export declare function patchMetadataExtras(options: ExportOptions): {
|
|
18
|
-
tier?: 'branding';
|
|
19
|
-
/** CLI flags only ever carry bare check IDs. */
|
|
20
|
-
lintIgnore?: string[];
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* Resolves and gates the placement plan when any placement flag
|
|
24
|
-
* (`--order`/`--before`/`--after`) was given: rejects the `--supersede`
|
|
25
|
-
* combination, enforces reserved ranges and patch policy against the
|
|
26
|
-
* projected manifest, and routes destructive renumbers (or dry-runs)
|
|
27
|
-
* through `confirmDestructive`. Returns the plan to commit, or `'stop'`
|
|
28
|
-
* when the command should end here (dry-run rendered or operator
|
|
29
|
-
* cancelled, and the corresponding outro has already been printed).
|
|
30
|
-
*/
|
|
31
|
-
export declare function gatePlacementPlan(args: {
|
|
32
|
-
patchesDir: string;
|
|
33
|
-
options: ExportOptions;
|
|
34
|
-
selectedCategory: string;
|
|
35
|
-
patchName: string;
|
|
36
|
-
description: string;
|
|
37
|
-
filesAffected: string[];
|
|
38
|
-
diff: string;
|
|
39
|
-
config: FireForgeConfig;
|
|
40
|
-
isDryRun: boolean;
|
|
41
|
-
s: SpinnerHandle;
|
|
42
|
-
}): Promise<PlacementPlan | 'stop'>;
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Placement-flag gating for `fireforge export`, split out of `export.ts`
|
|
4
|
-
* to keep the command body inside the per-function and per-file line
|
|
5
|
-
* budgets. `gatePlacementPlan` owns every policy/confirmation decision a
|
|
6
|
-
* placement export makes before the locked commit in `export.ts` runs.
|
|
7
|
-
*/
|
|
8
|
-
import { confirmDestructive } from '../core/destructive.js';
|
|
9
|
-
import { loadPatchesManifest } from '../core/patch-manifest.js';
|
|
10
|
-
import { applyRenameMapToManifest, buildProjectedManifest, enforcePatchPolicy, } from '../core/patch-policy.js';
|
|
11
|
-
import { reservationAt } from '../core/patch-retired.js';
|
|
12
|
-
import { buildPatchSourceMetadata } from '../core/patch-source-metadata.js';
|
|
13
|
-
import { InvalidArgumentError } from '../errors/base.js';
|
|
14
|
-
import { proceedAfterDecision } from './destructive-decision.js';
|
|
15
|
-
import { placementSummary, projectPlacementForLint, resolvePlacementPlan, } from './export-flow.js';
|
|
16
|
-
/**
|
|
17
|
-
* Spreadable optional metadata (`tier`, `lintIgnore`) derived from the
|
|
18
|
-
* export flags. Every manifest-row construction site in this command
|
|
19
|
-
* shares this shape. With exactOptionalPropertyTypes the keys must be
|
|
20
|
-
* omitted entirely (not set to undefined) when the flags are absent.
|
|
21
|
-
*/
|
|
22
|
-
export function patchMetadataExtras(options) {
|
|
23
|
-
return {
|
|
24
|
-
...(options.tier !== undefined ? { tier: options.tier } : {}),
|
|
25
|
-
...(options.lintIgnore !== undefined && options.lintIgnore.length > 0
|
|
26
|
-
? { lintIgnore: options.lintIgnore }
|
|
27
|
-
: {}),
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Resolves and gates the placement plan when any placement flag
|
|
32
|
-
* (`--order`/`--before`/`--after`) was given: rejects the `--supersede`
|
|
33
|
-
* combination, enforces reserved ranges and patch policy against the
|
|
34
|
-
* projected manifest, and routes destructive renumbers (or dry-runs)
|
|
35
|
-
* through `confirmDestructive`. Returns the plan to commit, or `'stop'`
|
|
36
|
-
* when the command should end here (dry-run rendered or operator
|
|
37
|
-
* cancelled, and the corresponding outro has already been printed).
|
|
38
|
-
*/
|
|
39
|
-
export async function gatePlacementPlan(args) {
|
|
40
|
-
const { patchesDir, options, selectedCategory, patchName, description, filesAffected, diff, config, isDryRun, s, } = args;
|
|
41
|
-
if (options.supersede) {
|
|
42
|
-
throw new InvalidArgumentError('Placement flags (--order/--before/--after) cannot be combined with --supersede.', 'export placement');
|
|
43
|
-
}
|
|
44
|
-
// resolvePlacementPlan runs the reserved-range gate itself when config
|
|
45
|
-
// is passed: one up-front error per run instead of per-patch findings.
|
|
46
|
-
const placementPlan = await resolvePlacementPlan(patchesDir, options, selectedCategory, patchName, config);
|
|
47
|
-
const currentManifest = await loadPatchesManifest(patchesDir);
|
|
48
|
-
const conflicts = await projectPlacementForLint(patchesDir, placementPlan, diff, config);
|
|
49
|
-
const renamed = currentManifest !== null
|
|
50
|
-
? applyRenameMapToManifest(currentManifest, placementPlan.renameMap)
|
|
51
|
-
: buildProjectedManifest(null, []);
|
|
52
|
-
enforcePatchPolicy({
|
|
53
|
-
config,
|
|
54
|
-
manifest: buildProjectedManifest(renamed, [
|
|
55
|
-
...renamed.patches,
|
|
56
|
-
{
|
|
57
|
-
filename: placementPlan.newFilename,
|
|
58
|
-
order: placementPlan.insertionOrder,
|
|
59
|
-
category: selectedCategory,
|
|
60
|
-
name: patchName,
|
|
61
|
-
description,
|
|
62
|
-
createdAt: new Date().toISOString(),
|
|
63
|
-
...buildPatchSourceMetadata(config.firefox),
|
|
64
|
-
filesAffected,
|
|
65
|
-
...patchMetadataExtras(options),
|
|
66
|
-
},
|
|
67
|
-
]),
|
|
68
|
-
command: 'export',
|
|
69
|
-
forceUnsafe: options.forceUnsafe === true,
|
|
70
|
-
});
|
|
71
|
-
const summary = placementSummary(placementPlan);
|
|
72
|
-
const reservation = reservationAt(currentManifest, placementPlan.insertionOrder);
|
|
73
|
-
if (reservation !== undefined) {
|
|
74
|
-
const notice = `order ${placementPlan.insertionOrder} is reserved by ${reservation.owner}; ` +
|
|
75
|
-
'this export fills the reservation';
|
|
76
|
-
summary.push(notice);
|
|
77
|
-
s.message(notice);
|
|
78
|
-
}
|
|
79
|
-
const renameCount = placementPlan.renameMap.size;
|
|
80
|
-
// Route through confirmDestructive when the operation is destructive
|
|
81
|
-
// enough to warrant a prompt (more than one rename) or when the user asked
|
|
82
|
-
// for a dry-run. The dry-run branch must always print the placement
|
|
83
|
-
// summary. Otherwise single-rename and no-rename dry-runs exit silently
|
|
84
|
-
// with no filename or projected layout.
|
|
85
|
-
if (renameCount > 1 || isDryRun) {
|
|
86
|
-
s.stop();
|
|
87
|
-
const decision = await confirmDestructive({
|
|
88
|
-
operation: 'export-order',
|
|
89
|
-
title: `Export with placement at order ${placementPlan.insertionOrder}`,
|
|
90
|
-
summary,
|
|
91
|
-
yes: options.yes === true,
|
|
92
|
-
dryRun: isDryRun,
|
|
93
|
-
unsafeOverride: options.forceUnsafe === true,
|
|
94
|
-
conflicts,
|
|
95
|
-
});
|
|
96
|
-
if (!proceedAfterDecision(decision, 'Export cancelled'))
|
|
97
|
-
return 'stop';
|
|
98
|
-
}
|
|
99
|
-
else if (conflicts && options.forceUnsafe !== true) {
|
|
100
|
-
s.stop();
|
|
101
|
-
throw new InvalidArgumentError(`Refusing to run export: ${conflicts.reason}:\n ${conflicts.details.join('\n ')}\n` +
|
|
102
|
-
'If the conflict names files owned by another patch (e.g. duplicate-new-file-creation), ' +
|
|
103
|
-
're-run the export with an explicit file list that leaves those files with their owner — ' +
|
|
104
|
-
'do NOT bypass with --force-unsafe. Pass --force-unsafe only for a reviewed placement conflict.', '--force-unsafe');
|
|
105
|
-
}
|
|
106
|
-
return placementPlan;
|
|
107
|
-
}
|