@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,107 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Targeted `furnace deploy <name>...`: one or more named components applied
|
|
4
|
-
* under ONE furnace lock hold.
|
|
5
|
-
*
|
|
6
|
-
* Deploying a set of widgets one invocation at a time put every call at the
|
|
7
|
-
* back of the engine-lock queue, so a forty-widget deploy waited forty
|
|
8
|
-
* times. Naming them together waits once. Each named component is still its
|
|
9
|
-
* own atomic unit (applied, then its state persisted, before the next one
|
|
10
|
-
* starts), exactly as a single-name deploy, so a failure or signal midway
|
|
11
|
-
* leaves every earlier component committed and consistent.
|
|
12
|
-
*/
|
|
13
|
-
import { applyAllComponents } from '../../core/furnace-apply.js';
|
|
14
|
-
import { getPersistableAppliedEntry, persistSingleComponentState, shouldPersistSingleComponentState, } from '../../core/furnace-state-persist.js';
|
|
15
|
-
import { FurnaceError } from '../../errors/furnace.js';
|
|
16
|
-
import { mergeApplyResults, refreshStaleFragmentIncluders, } from './deploy-fragment-includers.js';
|
|
17
|
-
/**
|
|
18
|
-
* Splits the requested names into deployable and stock entries, refusing
|
|
19
|
-
* the whole invocation before any write when one is unknown. Duplicates
|
|
20
|
-
* are dropped, keeping the first occurrence.
|
|
21
|
-
*/
|
|
22
|
-
function partitionDeployNames(names, config) {
|
|
23
|
-
const deployable = [];
|
|
24
|
-
const stock = [];
|
|
25
|
-
for (const name of new Set(names)) {
|
|
26
|
-
if (name in config.overrides || name in config.custom)
|
|
27
|
-
deployable.push(name);
|
|
28
|
-
else if (config.stock.includes(name))
|
|
29
|
-
stock.push(name);
|
|
30
|
-
else
|
|
31
|
-
throw new FurnaceError(`Component "${name}" not found in furnace.json.`, name);
|
|
32
|
-
}
|
|
33
|
-
return { deployable, stock };
|
|
34
|
-
}
|
|
35
|
-
/** Folds several includer refreshes into one, without repeating a tag. */
|
|
36
|
-
function mergeIncluderRefreshes(refreshes, named) {
|
|
37
|
-
// A named component is reported as deployed in its own right, never as
|
|
38
|
-
// an includer some other named component refreshed on its behalf.
|
|
39
|
-
const refreshed = [...new Set(refreshes.flatMap((r) => r.refreshed))].filter((tag) => !named.has(tag));
|
|
40
|
-
return {
|
|
41
|
-
fragments: [...new Set(refreshes.flatMap((r) => r.fragments))].sort(),
|
|
42
|
-
refreshed,
|
|
43
|
-
failed: refreshes.flatMap((r) => r.failed).filter((f) => !named.has(f.tag)),
|
|
44
|
-
results: refreshes.flatMap((r) => r.results),
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Applies each named override or custom component through the same
|
|
49
|
-
* pipeline as deploy-all (`applyAllComponents` with a `componentName`
|
|
50
|
-
* filter), persisting each one's state right after it applies cleanly.
|
|
51
|
-
* Only then are the other stale includers of the fragments the cleanly
|
|
52
|
-
* applied components include refreshed, so an includer that is itself
|
|
53
|
-
* named is applied once, as a named component.
|
|
54
|
-
*
|
|
55
|
-
* Must run inside one `runFurnaceMutation` so the whole set shares a single
|
|
56
|
-
* lock hold.
|
|
57
|
-
*/
|
|
58
|
-
export async function deployNamedComponents(args) {
|
|
59
|
-
const { projectRoot, names, config, furnacePaths, isDryRun, operationContext } = args;
|
|
60
|
-
const { deployable, stock } = partitionDeployNames(names, config);
|
|
61
|
-
if (deployable.length === 0)
|
|
62
|
-
return { kind: 'stock', stock };
|
|
63
|
-
const results = [];
|
|
64
|
-
const clean = [];
|
|
65
|
-
for (const name of deployable) {
|
|
66
|
-
const result = await applyAllComponents(projectRoot, isDryRun, {
|
|
67
|
-
componentName: name,
|
|
68
|
-
persistState: false,
|
|
69
|
-
operationContext,
|
|
70
|
-
});
|
|
71
|
-
results.push(result);
|
|
72
|
-
// Each named deploy is atomic: state is persisted only when every apply
|
|
73
|
-
// step succeeded, and any rollback has already restored the engine.
|
|
74
|
-
if (shouldPersistSingleComponentState(result, isDryRun)) {
|
|
75
|
-
await persistSingleComponentState(projectRoot, getPersistableAppliedEntry('Deploy', name, result.applied[0]), furnacePaths);
|
|
76
|
-
clean.push(name);
|
|
77
|
-
}
|
|
78
|
-
else if (isDryRun) {
|
|
79
|
-
clean.push(name);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
// Other deployed includers of a fragment these components include would
|
|
83
|
-
// otherwise keep a stale expansion. Only after a clean, persisted apply
|
|
84
|
-
// (dry-run always previews).
|
|
85
|
-
const refreshes = [];
|
|
86
|
-
for (const name of clean) {
|
|
87
|
-
refreshes.push(await refreshStaleFragmentIncluders({
|
|
88
|
-
projectRoot,
|
|
89
|
-
name,
|
|
90
|
-
config,
|
|
91
|
-
furnacePaths,
|
|
92
|
-
isDryRun,
|
|
93
|
-
operationContext,
|
|
94
|
-
}));
|
|
95
|
-
}
|
|
96
|
-
const includers = mergeIncluderRefreshes(refreshes, new Set(deployable));
|
|
97
|
-
const [first, ...rest] = results;
|
|
98
|
-
// `deployable` is non-empty, so `first` is always set.
|
|
99
|
-
const primary = first;
|
|
100
|
-
return {
|
|
101
|
-
kind: 'result',
|
|
102
|
-
result: mergeApplyResults(primary, [...rest, ...includers.results]),
|
|
103
|
-
includers,
|
|
104
|
-
stock,
|
|
105
|
-
deployed: deployable,
|
|
106
|
-
};
|
|
107
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { FurnaceDeployOptions } from '../../types/commands/index.js';
|
|
2
|
-
/**
|
|
3
|
-
* Runs the furnace deploy command: apply components then validate in one step.
|
|
4
|
-
* @param projectRoot - Root directory of the project
|
|
5
|
-
* @param names - Component name(s) to deploy, all under one lock hold
|
|
6
|
-
* (deploys all when omitted or empty)
|
|
7
|
-
* @param options - Command options
|
|
8
|
-
*/
|
|
9
|
-
export declare function furnaceDeployCommand(projectRoot: string, names?: string | readonly string[], options?: FurnaceDeployOptions): Promise<void>;
|
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { loadConfig } from '../../core/config.js';
|
|
3
|
-
import { applyAllComponents } from '../../core/furnace-apply.js';
|
|
4
|
-
import { formatSkipBreakdown, logApplyResult } from '../../core/furnace-apply-output.js';
|
|
5
|
-
import { getFurnacePaths } from '../../core/furnace-config.js';
|
|
6
|
-
import { assertDeployOverwritesOwnedBy } from '../../core/furnace-deploy-owner.js';
|
|
7
|
-
import { reportJsconfigPathsSync } from '../../core/furnace-jsconfig.js';
|
|
8
|
-
import { runFurnaceMutation, waitLockMutationOptions } from '../../core/furnace-operation.js';
|
|
9
|
-
import { assertFurnaceReady } from '../../core/furnace-precondition.js';
|
|
10
|
-
import { getStepFailureCount } from '../../core/furnace-state-persist.js';
|
|
11
|
-
import { hasBlockingStepErrors } from '../../core/furnace-step-errors.js';
|
|
12
|
-
import { findOverrideBaseVersionDrift, formatOverrideBaseVersionDriftError, formatOverrideBaseVersionDriftWarning, } from '../../core/furnace-version-drift.js';
|
|
13
|
-
import { FurnaceError } from '../../errors/furnace.js';
|
|
14
|
-
import { info, intro, note, notice, outro, spinner, warn } from '../../utils/logger.js';
|
|
15
|
-
import { formatFragmentIncluderNotice } from './deploy-fragment-includers.js';
|
|
16
|
-
import { deployNamedComponents } from './deploy-named.js';
|
|
17
|
-
import { runDeployValidation } from './validation-output.js';
|
|
18
|
-
/**
|
|
19
|
-
* Builds the final deploy failure summary from apply and validation error counts.
|
|
20
|
-
* @param applyErrors - Number of component application failures
|
|
21
|
-
* @param validationErrors - Number of validation failures
|
|
22
|
-
* @param isDryRun - Whether deploy was running in dry-run mode
|
|
23
|
-
* @returns User-facing deploy summary message
|
|
24
|
-
*/
|
|
25
|
-
function buildDeployFailureMessage(applyErrors, validationErrors, isDryRun) {
|
|
26
|
-
const mode = isDryRun ? 'Dry run' : 'Deploy';
|
|
27
|
-
if (applyErrors > 0 && validationErrors > 0) {
|
|
28
|
-
return `${mode} completed with ${applyErrors} apply error(s) and ${validationErrors} validation error(s).`;
|
|
29
|
-
}
|
|
30
|
-
if (applyErrors > 0) {
|
|
31
|
-
return `${mode} completed with ${applyErrors} apply error(s).`;
|
|
32
|
-
}
|
|
33
|
-
return `${mode} completed with ${validationErrors} validation error(s).`;
|
|
34
|
-
}
|
|
35
|
-
function getFailedComponentNames(result) {
|
|
36
|
-
const failed = new Set(result.errors.map((entry) => entry.name));
|
|
37
|
-
for (const applied of result.applied) {
|
|
38
|
-
if (hasBlockingStepErrors(applied)) {
|
|
39
|
-
failed.add(applied.name);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return failed;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Prints the deploy summary after apply and validation complete.
|
|
46
|
-
* @param result - Aggregate apply result
|
|
47
|
-
* @param totalErrors - Total validation errors encountered
|
|
48
|
-
* @param totalWarnings - Total validation warnings encountered
|
|
49
|
-
* @param componentCount - Number of components considered during deploy
|
|
50
|
-
* @param skippedValidationCount - Number of components skipped from validation
|
|
51
|
-
* @param isDryRun - Whether deploy was running in dry-run mode
|
|
52
|
-
*/
|
|
53
|
-
function printDeploymentSummary(result, totalErrors, totalWarnings, componentCount, skippedValidationCount, isDryRun) {
|
|
54
|
-
const appliedCount = result.applied.length;
|
|
55
|
-
const skippedCount = result.skipped.length;
|
|
56
|
-
const applyErrors = result.errors.length + getStepFailureCount(result);
|
|
57
|
-
const stepErrorCount = result.applied.reduce((sum, a) => sum + (a.stepErrors?.length ?? 0), 0);
|
|
58
|
-
if (isDryRun) {
|
|
59
|
-
note(`Would apply ${appliedCount} component(s)\n` +
|
|
60
|
-
`${result.actions?.length ?? 0} planned action(s)\n` +
|
|
61
|
-
`${applyErrors} apply error(s)\n` +
|
|
62
|
-
`${totalErrors} validation error(s), ${totalWarnings} validation warning(s) across ${componentCount} validated component(s)\n` +
|
|
63
|
-
'(validation ran against current source files — no engine files were modified)' +
|
|
64
|
-
(skippedValidationCount > 0
|
|
65
|
-
? `\nSkipped validation for ${skippedValidationCount} component(s) with apply errors`
|
|
66
|
-
: ''), 'Dry Run Summary');
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
note(`Applied ${appliedCount}, skipped ${skippedCount}${formatSkipBreakdown(result.skipped)}\n` +
|
|
70
|
-
`${applyErrors} apply error(s)` +
|
|
71
|
-
(stepErrorCount > 0 ? `, ${stepErrorCount} registration step error(s)` : '') +
|
|
72
|
-
`\n` +
|
|
73
|
-
`${totalErrors} validation error(s), ${totalWarnings} validation warning(s) across ${componentCount} validated component(s)` +
|
|
74
|
-
(skippedValidationCount > 0
|
|
75
|
-
? `\nSkipped validation for ${skippedValidationCount} component(s) with apply errors`
|
|
76
|
-
: ''), 'Deploy Summary');
|
|
77
|
-
}
|
|
78
|
-
const totalProblems = applyErrors + totalErrors;
|
|
79
|
-
if (totalProblems > 0) {
|
|
80
|
-
throw new FurnaceError(buildDeployFailureMessage(applyErrors, totalErrors, isDryRun));
|
|
81
|
-
}
|
|
82
|
-
outro(isDryRun ? 'Dry run complete (no files modified)' : 'Deploy complete');
|
|
83
|
-
}
|
|
84
|
-
function enforceScopedOverrideVersionDriftPreflight(scopedDrift, force) {
|
|
85
|
-
for (const entry of scopedDrift) {
|
|
86
|
-
warn(formatOverrideBaseVersionDriftWarning(entry));
|
|
87
|
-
}
|
|
88
|
-
if (!force && scopedDrift.length > 0) {
|
|
89
|
-
throw new FurnaceError(formatOverrideBaseVersionDriftError(scopedDrift));
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Normalises the positional argument: a single name (programmatic callers)
|
|
94
|
-
* or the variadic list commander passes. An empty list means "deploy all".
|
|
95
|
-
*/
|
|
96
|
-
function normalizeDeployNames(names) {
|
|
97
|
-
if (names === undefined)
|
|
98
|
-
return [];
|
|
99
|
-
return typeof names === 'string' ? [names] : [...names];
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Runs the furnace deploy command: apply components then validate in one step.
|
|
103
|
-
* @param projectRoot - Root directory of the project
|
|
104
|
-
* @param names - Component name(s) to deploy, all under one lock hold
|
|
105
|
-
* (deploys all when omitted or empty)
|
|
106
|
-
* @param options - Command options
|
|
107
|
-
*/
|
|
108
|
-
export async function furnaceDeployCommand(projectRoot, names, options = {}) {
|
|
109
|
-
const isDryRun = options.dryRun ?? false;
|
|
110
|
-
const requested = normalizeDeployNames(names);
|
|
111
|
-
intro(isDryRun ? 'Furnace Deploy (dry run)' : 'Furnace Deploy');
|
|
112
|
-
const { config } = await assertFurnaceReady(projectRoot);
|
|
113
|
-
const furnacePaths = getFurnacePaths(projectRoot);
|
|
114
|
-
const overrideCount = Object.keys(config.overrides).length;
|
|
115
|
-
const customCount = Object.keys(config.custom).length;
|
|
116
|
-
if (overrideCount === 0 && customCount === 0) {
|
|
117
|
-
info('No components to deploy.');
|
|
118
|
-
outro('Done');
|
|
119
|
-
return;
|
|
120
|
-
}
|
|
121
|
-
// Refuse real mutation when the targeted overrides were created against a
|
|
122
|
-
// different Firefox version. Dry-run still proceeds so operators can inspect
|
|
123
|
-
// the plan before deciding whether to refresh the override or acknowledge
|
|
124
|
-
// the new baseline in furnace.json.
|
|
125
|
-
const forgeConfig = await loadConfig(projectRoot);
|
|
126
|
-
const driftEntries = findOverrideBaseVersionDrift(config, forgeConfig.firefox.version);
|
|
127
|
-
const force = options.force ?? false;
|
|
128
|
-
const scopedDrift = requested.length > 0
|
|
129
|
-
? driftEntries.filter((entry) => requested.includes(entry.name))
|
|
130
|
-
: driftEntries;
|
|
131
|
-
enforceScopedOverrideVersionDriftPreflight(scopedDrift, force);
|
|
132
|
-
// --- Step 1: Apply ---
|
|
133
|
-
const applySpinner = spinner(isDryRun ? 'Calculating planned actions...' : 'Applying components to engine...');
|
|
134
|
-
// The apply phase is lock-protected and registered with the global
|
|
135
|
-
// SIGINT/SIGTERM rollback pathway via runFurnaceMutation. The validation
|
|
136
|
-
// phase below is read-only and runs outside the lock so two concurrent
|
|
137
|
-
// `furnace deploy` runs only contend on the actual mutation.
|
|
138
|
-
const applyOutcome = await runFurnaceMutation(projectRoot, 'deploy-rollback', async (ctx) => {
|
|
139
|
-
// Judged under the lock, before the first component is applied, so
|
|
140
|
-
// a refusal leaves every component of the deploy unwritten.
|
|
141
|
-
if (options.owner !== undefined) {
|
|
142
|
-
await assertDeployOverwritesOwnedBy({
|
|
143
|
-
root: projectRoot,
|
|
144
|
-
config,
|
|
145
|
-
names: requested,
|
|
146
|
-
owner: options.owner,
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
if (requested.length > 0) {
|
|
150
|
-
return deployNamedComponents({
|
|
151
|
-
projectRoot,
|
|
152
|
-
names: requested,
|
|
153
|
-
config,
|
|
154
|
-
furnacePaths,
|
|
155
|
-
isDryRun,
|
|
156
|
-
operationContext: ctx,
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
const allResult = await applyAllComponents(projectRoot, isDryRun, {
|
|
160
|
-
operationContext: ctx,
|
|
161
|
-
});
|
|
162
|
-
return { kind: 'all', result: allResult };
|
|
163
|
-
}, { dryRun: isDryRun, ...waitLockMutationOptions(options.waitLockSeconds) });
|
|
164
|
-
const warnStock = () => {
|
|
165
|
-
for (const stockName of applyOutcome.kind === 'all' ? [] : applyOutcome.stock) {
|
|
166
|
-
warn(`"${stockName}" is a stock component. Stock components are not applied locally.`);
|
|
167
|
-
}
|
|
168
|
-
};
|
|
169
|
-
if (applyOutcome.kind === 'stock') {
|
|
170
|
-
applySpinner.stop('Apply skipped');
|
|
171
|
-
warnStock();
|
|
172
|
-
outro(isDryRun ? 'Dry run complete (no files modified)' : 'Deploy complete');
|
|
173
|
-
return;
|
|
174
|
-
}
|
|
175
|
-
const result = applyOutcome.result;
|
|
176
|
-
applySpinner.stop(isDryRun ? 'Planned actions calculated' : 'Components applied');
|
|
177
|
-
warnStock();
|
|
178
|
-
logApplyResult(result, isDryRun);
|
|
179
|
-
if (applyOutcome.kind === 'result') {
|
|
180
|
-
for (const line of formatFragmentIncluderNotice(applyOutcome.includers, isDryRun)) {
|
|
181
|
-
notice(line);
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
// Keep the consumer jsconfig's chrome-module `paths` in step with the
|
|
185
|
-
// deployed module set. Only after a clean apply: a rolled-back deploy
|
|
186
|
-
// must not advance the typecheck mapping either.
|
|
187
|
-
if (result.errors.length === 0 && getStepFailureCount(result) === 0) {
|
|
188
|
-
await reportJsconfigPathsSync(projectRoot, config, isDryRun);
|
|
189
|
-
}
|
|
190
|
-
// --- Step 2: Validate (read-only, runs even in dry-run to show what would fail) ---
|
|
191
|
-
if (options.skipValidate) {
|
|
192
|
-
const applyErrors = result.errors.length + getStepFailureCount(result);
|
|
193
|
-
if (applyErrors > 0)
|
|
194
|
-
throw new FurnaceError(buildDeployFailureMessage(applyErrors, 0, isDryRun));
|
|
195
|
-
outro(isDryRun ? 'Dry run complete (validation skipped)' : 'Deploy complete (validation skipped)');
|
|
196
|
-
return;
|
|
197
|
-
}
|
|
198
|
-
const validateSpinner = spinner(isDryRun ? 'Validating (read-only)...' : 'Validating...');
|
|
199
|
-
const failedComponents = getFailedComponentNames(result);
|
|
200
|
-
// A named deploy validates every named component that applied, then the
|
|
201
|
-
// includers it refreshed. The first clean name leads (the validation
|
|
202
|
-
// runner skips the whole named branch when its lead failed), and every
|
|
203
|
-
// failed name is counted as skipped.
|
|
204
|
-
const deployed = applyOutcome.kind === 'result' ? applyOutcome.deployed : [];
|
|
205
|
-
const failedNamed = deployed.filter((tag) => failedComponents.has(tag));
|
|
206
|
-
const lead = deployed.find((tag) => !failedComponents.has(tag)) ?? deployed[0];
|
|
207
|
-
const validation = await runDeployValidation({
|
|
208
|
-
validateSpinner,
|
|
209
|
-
name: lead,
|
|
210
|
-
config,
|
|
211
|
-
furnacePaths,
|
|
212
|
-
failedComponents,
|
|
213
|
-
isDryRun,
|
|
214
|
-
projectRoot,
|
|
215
|
-
dryRunActions: result.actions,
|
|
216
|
-
alsoValidate: applyOutcome.kind === 'result'
|
|
217
|
-
? [...deployed.filter((tag) => tag !== lead), ...applyOutcome.includers.refreshed]
|
|
218
|
-
: [],
|
|
219
|
-
});
|
|
220
|
-
if (validation.done)
|
|
221
|
-
return;
|
|
222
|
-
const { totalErrors, totalWarnings, componentCount } = validation;
|
|
223
|
-
// The runner counts a failed lead itself; failed extras it drops silently.
|
|
224
|
-
const skippedValidationCount = lead !== undefined && failedComponents.has(lead)
|
|
225
|
-
? failedNamed.length
|
|
226
|
-
: validation.skippedValidationCount + failedNamed.length;
|
|
227
|
-
// --- Step 3: Summary ---
|
|
228
|
-
printDeploymentSummary(result, totalErrors, totalWarnings, componentCount, skippedValidationCount, isDryRun);
|
|
229
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Runs the furnace diff command.
|
|
3
|
-
*
|
|
4
|
-
* For overrides: shows changes vs the Firefox original at baseCommit.
|
|
5
|
-
* For custom components: shows workspace vs engine-deployed copy.
|
|
6
|
-
* When no name is provided, diffs all override and custom components.
|
|
7
|
-
*
|
|
8
|
-
* @param projectRoot - Root directory of the project
|
|
9
|
-
* @param name - Optional component name to diff (diffs all when omitted)
|
|
10
|
-
*/
|
|
11
|
-
export declare function furnaceDiffCommand(projectRoot: string, name?: string): Promise<void>;
|
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { readdir } from 'node:fs/promises';
|
|
3
|
-
import { join } from 'node:path';
|
|
4
|
-
import { getProjectPaths, loadState } from '../../core/config.js';
|
|
5
|
-
import { diffLines, renderHunks } from '../../core/diff-hunks.js';
|
|
6
|
-
import { getOverrideEngineTargetPath } from '../../core/furnace-apply-helpers.js';
|
|
7
|
-
import { normalizeForChecksum } from '../../core/furnace-checksum-utils.js';
|
|
8
|
-
import { composeComponentSource } from '../../core/furnace-composed-source.js';
|
|
9
|
-
import { getFurnacePaths, loadFurnaceConfig } from '../../core/furnace-config.js';
|
|
10
|
-
import { isComponentSourceFile, resolveFtlDir } from '../../core/furnace-constants.js';
|
|
11
|
-
import { getFileContentAtRef } from '../../core/git-file-ops.js';
|
|
12
|
-
import { FurnaceError } from '../../errors/furnace.js';
|
|
13
|
-
import { toError } from '../../utils/errors.js';
|
|
14
|
-
import { pathExists, readText } from '../../utils/fs.js';
|
|
15
|
-
import { formatErrorText, formatSuccessText, info, intro, outro } from '../../utils/logger.js';
|
|
16
|
-
import { normalizePathSlashes } from '../../utils/paths.js';
|
|
17
|
-
/**
|
|
18
|
-
* Renders a multi-hunk unified diff between the two strings and returns a
|
|
19
|
-
* flat list of display-ready lines. Each line has already had its marker
|
|
20
|
-
* prefix and color applied by this function. The caller just emits them.
|
|
21
|
-
*
|
|
22
|
-
* Pure delegation to the `diff-hunks` module, kept here as a thin wrapper
|
|
23
|
-
* so the command file does not need to care about the hunk data shape.
|
|
24
|
-
*/
|
|
25
|
-
function formatUnifiedDiff(original, modified) {
|
|
26
|
-
const hunks = diffLines(original, modified, 3);
|
|
27
|
-
return renderHunks(hunks).map((line) => {
|
|
28
|
-
switch (line.kind) {
|
|
29
|
-
case 'removed':
|
|
30
|
-
return formatErrorText(line.text);
|
|
31
|
-
case 'added':
|
|
32
|
-
return formatSuccessText(line.text);
|
|
33
|
-
default:
|
|
34
|
-
return line.text;
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Diffs an override component against its Firefox baseline at baseCommit.
|
|
40
|
-
*/
|
|
41
|
-
async function diffOverride(name, projectRoot, config) {
|
|
42
|
-
const overrideConfig = config.overrides[name];
|
|
43
|
-
if (!overrideConfig) {
|
|
44
|
-
throw new FurnaceError(`Override "${name}" not found in furnace.json.`, name);
|
|
45
|
-
}
|
|
46
|
-
const paths = getProjectPaths(projectRoot);
|
|
47
|
-
const furnacePaths = getFurnacePaths(projectRoot);
|
|
48
|
-
const ftlDir = resolveFtlDir(config.ftlBasePath);
|
|
49
|
-
const overrideDir = join(furnacePaths.overridesDir, name);
|
|
50
|
-
if (!(await pathExists(overrideDir))) {
|
|
51
|
-
throw new FurnaceError(`Override directory not found: components/overrides/${name}`, name);
|
|
52
|
-
}
|
|
53
|
-
// Prefer the per-override baseCommit (survives download --force). Fall back
|
|
54
|
-
// to the project-wide value for overrides created before this field existed.
|
|
55
|
-
const state = await loadState(projectRoot);
|
|
56
|
-
const baseCommit = overrideConfig.baseCommit ?? state.baseCommit;
|
|
57
|
-
if (!baseCommit) {
|
|
58
|
-
throw new FurnaceError(`Cannot diff "${name}": baseCommit not recorded for this override. ` +
|
|
59
|
-
`Run "fireforge furnace refresh --reset-base ${name}" to stamp the current engine HEAD as the baseline, ` +
|
|
60
|
-
`or re-run "fireforge download" to re-establish a project-wide baseline.`, name);
|
|
61
|
-
}
|
|
62
|
-
const entries = await readdir(overrideDir, { withFileTypes: true });
|
|
63
|
-
let hasDifferences = false;
|
|
64
|
-
for (const entry of entries) {
|
|
65
|
-
if (!entry.isFile())
|
|
66
|
-
continue;
|
|
67
|
-
if (!isComponentSourceFile(entry.name))
|
|
68
|
-
continue;
|
|
69
|
-
// git show takes a repo-relative path. paths.engine is the repo root.
|
|
70
|
-
// The slice leaves the host's separators behind, and `git show <ref>:<path>`
|
|
71
|
-
// only understands forward slashes. On Windows the unnormalized form makes
|
|
72
|
-
// every baseline read miss, so every overridden file is reported as a new
|
|
73
|
-
// file and `furnace diff` shows nothing.
|
|
74
|
-
const enginePath = normalizePathSlashes(getOverrideEngineTargetPath(paths.engine, overrideConfig, entry.name, ftlDir).slice(paths.engine.length + 1));
|
|
75
|
-
const modifiedPath = join(overrideDir, entry.name);
|
|
76
|
-
const baselineDisplayPath = enginePath;
|
|
77
|
-
let originalContent;
|
|
78
|
-
try {
|
|
79
|
-
originalContent = await getFileContentAtRef(paths.engine, enginePath, baseCommit);
|
|
80
|
-
}
|
|
81
|
-
catch (error) {
|
|
82
|
-
throw new FurnaceError(`Cannot read baseline for "${entry.name}" at commit ${baseCommit.slice(0, 8)}: ` +
|
|
83
|
-
`${toError(error).message}. ` +
|
|
84
|
-
`The commit may no longer exist in the engine history (e.g. after a re-download). ` +
|
|
85
|
-
`Run "fireforge furnace refresh --reset-base ${name}" to establish a new baseline.`, name);
|
|
86
|
-
}
|
|
87
|
-
if (originalContent === null) {
|
|
88
|
-
info(`${entry.name}: original not found in engine (new file)`);
|
|
89
|
-
hasDifferences = true;
|
|
90
|
-
continue;
|
|
91
|
-
}
|
|
92
|
-
const modifiedContent = await readText(modifiedPath);
|
|
93
|
-
if (originalContent === modifiedContent) {
|
|
94
|
-
continue;
|
|
95
|
-
}
|
|
96
|
-
hasDifferences = true;
|
|
97
|
-
info(`--- ${baselineDisplayPath}`);
|
|
98
|
-
info(`+++ components/overrides/${name}/${entry.name}`);
|
|
99
|
-
for (const line of formatUnifiedDiff(originalContent, modifiedContent)) {
|
|
100
|
-
info(line);
|
|
101
|
-
}
|
|
102
|
-
info('');
|
|
103
|
-
}
|
|
104
|
-
if (!hasDifferences) {
|
|
105
|
-
info('No modifications found');
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Diffs a custom component's workspace files against the engine-deployed
|
|
110
|
-
* copy. Shows what would change (or has changed) on the next
|
|
111
|
-
* `furnace apply`.
|
|
112
|
-
*
|
|
113
|
-
* The workspace side is the Furnace-composed source: a stylesheet with
|
|
114
|
-
* `@fireforge-include` directives is compared in its fragment-expanded
|
|
115
|
-
* form, exactly as apply deploys it. Comparing the raw source instead
|
|
116
|
-
* reported every freshly deployed fragment includer as a large difference
|
|
117
|
-
* (the inlined fragment bodies and end markers), so the diff could not show
|
|
118
|
-
* whether a deploy would change anything. Line endings and a BOM are
|
|
119
|
-
* ignored, as apply's own drift check ignores them.
|
|
120
|
-
*
|
|
121
|
-
* `.ftl` files deploy to `engine/<ftlDir>/<name>.ftl` via
|
|
122
|
-
* `applyCustomFtlFile`, not to `customConfig.targetPath`, so the
|
|
123
|
-
* deployment-target lookup has to branch on extension. Without the branch, a
|
|
124
|
-
* component's localization file always reports "not yet deployed to engine
|
|
125
|
-
* (new file)" after a successful apply, because diff looks for it under the
|
|
126
|
-
* component's `targetPath` while apply wrote it into the locale tree.
|
|
127
|
-
*/
|
|
128
|
-
async function diffCustom(name, projectRoot, config) {
|
|
129
|
-
const customConfig = config.custom[name];
|
|
130
|
-
if (!customConfig) {
|
|
131
|
-
throw new FurnaceError(`Custom component "${name}" not found in furnace.json.`, name);
|
|
132
|
-
}
|
|
133
|
-
const paths = getProjectPaths(projectRoot);
|
|
134
|
-
const furnacePaths = getFurnacePaths(projectRoot);
|
|
135
|
-
const ftlDir = resolveFtlDir(config.ftlBasePath);
|
|
136
|
-
const customDir = join(furnacePaths.customDir, name);
|
|
137
|
-
if (!(await pathExists(customDir))) {
|
|
138
|
-
throw new FurnaceError(`Custom component directory not found: components/custom/${name}`, name);
|
|
139
|
-
}
|
|
140
|
-
const engineDir = join(paths.engine, customConfig.targetPath);
|
|
141
|
-
const entries = await readdir(customDir, { withFileTypes: true });
|
|
142
|
-
let hasDifferences = false;
|
|
143
|
-
for (const entry of entries) {
|
|
144
|
-
if (!entry.isFile())
|
|
145
|
-
continue;
|
|
146
|
-
if (!isComponentSourceFile(entry.name))
|
|
147
|
-
continue;
|
|
148
|
-
const workspacePath = join(customDir, entry.name);
|
|
149
|
-
const rawWorkspace = await readText(workspacePath);
|
|
150
|
-
let workspaceContent = rawWorkspace;
|
|
151
|
-
let composedNote = '';
|
|
152
|
-
try {
|
|
153
|
-
workspaceContent = await composeComponentSource(rawWorkspace, entry.name, furnacePaths.sharedDir);
|
|
154
|
-
if (workspaceContent !== rawWorkspace)
|
|
155
|
-
composedNote = ' (composed: fragments expanded)';
|
|
156
|
-
}
|
|
157
|
-
catch (error) {
|
|
158
|
-
// A missing fragment: no composed form exists, so show the raw
|
|
159
|
-
// source and say why; `furnace validate` reports the fragment itself.
|
|
160
|
-
composedNote = ` (raw: ${toError(error).message})`;
|
|
161
|
-
}
|
|
162
|
-
// `.ftl` files deploy to the locale tree, not the component's
|
|
163
|
-
// targetPath. Mirror `applyCustomFtlFile`'s target computation so the
|
|
164
|
-
// diff header and the existence probe name the same path apply
|
|
165
|
-
// writes to. Any change here must stay in lock-step with
|
|
166
|
-
// `src/core/furnace-apply-ftl.ts`.
|
|
167
|
-
const isFtl = entry.name.endsWith('.ftl');
|
|
168
|
-
const deployedPath = isFtl
|
|
169
|
-
? join(paths.engine, ftlDir, entry.name)
|
|
170
|
-
: join(engineDir, entry.name);
|
|
171
|
-
const deployedDisplayPath = isFtl
|
|
172
|
-
? `engine/${ftlDir}/${entry.name}`
|
|
173
|
-
: `engine/${customConfig.targetPath}/${entry.name}`;
|
|
174
|
-
if (!(await pathExists(deployedPath))) {
|
|
175
|
-
info(`${entry.name}: not yet deployed to engine (new file)`);
|
|
176
|
-
hasDifferences = true;
|
|
177
|
-
continue;
|
|
178
|
-
}
|
|
179
|
-
const deployedContent = normalizeForChecksum(await readText(deployedPath));
|
|
180
|
-
workspaceContent = normalizeForChecksum(workspaceContent);
|
|
181
|
-
if (workspaceContent === deployedContent) {
|
|
182
|
-
continue;
|
|
183
|
-
}
|
|
184
|
-
hasDifferences = true;
|
|
185
|
-
info(`--- ${deployedDisplayPath}`);
|
|
186
|
-
info(`+++ components/custom/${name}/${entry.name}${composedNote}`);
|
|
187
|
-
for (const line of formatUnifiedDiff(deployedContent, workspaceContent)) {
|
|
188
|
-
info(line);
|
|
189
|
-
}
|
|
190
|
-
info('');
|
|
191
|
-
}
|
|
192
|
-
if (!hasDifferences) {
|
|
193
|
-
info('No differences between workspace and engine');
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Runs the furnace diff command.
|
|
198
|
-
*
|
|
199
|
-
* For overrides: shows changes vs the Firefox original at baseCommit.
|
|
200
|
-
* For custom components: shows workspace vs engine-deployed copy.
|
|
201
|
-
* When no name is provided, diffs all override and custom components.
|
|
202
|
-
*
|
|
203
|
-
* @param projectRoot - Root directory of the project
|
|
204
|
-
* @param name - Optional component name to diff (diffs all when omitted)
|
|
205
|
-
*/
|
|
206
|
-
export async function furnaceDiffCommand(projectRoot, name) {
|
|
207
|
-
intro('Furnace Diff');
|
|
208
|
-
const config = await loadFurnaceConfig(projectRoot);
|
|
209
|
-
if (name) {
|
|
210
|
-
if (name in config.overrides) {
|
|
211
|
-
await diffOverride(name, projectRoot, config);
|
|
212
|
-
}
|
|
213
|
-
else if (name in config.custom) {
|
|
214
|
-
await diffCustom(name, projectRoot, config);
|
|
215
|
-
}
|
|
216
|
-
else {
|
|
217
|
-
throw new FurnaceError(`"${name}" is not found in furnace.json. Run "fireforge furnace list" to see registered components.`, name);
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
else {
|
|
221
|
-
const overrideNames = Object.keys(config.overrides);
|
|
222
|
-
const customNames = Object.keys(config.custom);
|
|
223
|
-
if (overrideNames.length === 0 && customNames.length === 0) {
|
|
224
|
-
info('No components to diff.');
|
|
225
|
-
outro('Diff complete');
|
|
226
|
-
return;
|
|
227
|
-
}
|
|
228
|
-
for (const overrideName of overrideNames) {
|
|
229
|
-
info(`\n── ${overrideName} (override) ──`);
|
|
230
|
-
await diffOverride(overrideName, projectRoot, config);
|
|
231
|
-
}
|
|
232
|
-
for (const customName of customNames) {
|
|
233
|
-
info(`\n── ${customName} (custom) ──`);
|
|
234
|
-
await diffCustom(customName, projectRoot, config);
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
outro('Diff complete');
|
|
238
|
-
}
|