@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,414 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Shared pre-flight logic for build and package commands:
|
|
4
|
-
* story cleanup, branding setup, Furnace component application, and mozconfig generation.
|
|
5
|
-
*/
|
|
6
|
-
import { constants as osConstants } from 'node:os';
|
|
7
|
-
import { GeneralError } from '../errors/base.js';
|
|
8
|
-
import { BuildError } from '../errors/build.js';
|
|
9
|
-
import { FurnaceError } from '../errors/furnace.js';
|
|
10
|
-
import { toError } from '../utils/errors.js';
|
|
11
|
-
import { pathExists } from '../utils/fs.js';
|
|
12
|
-
import { info, notice, spinner, verbose, warn } from '../utils/logger.js';
|
|
13
|
-
import { isBrandingSetup, setupBranding } from './branding.js';
|
|
14
|
-
import { isBuildInputPath, isJarManifestPath } from './build-audit.js';
|
|
15
|
-
import { evaluateJarManifestEscalation, formatJarEscalationNotice, } from './build-jar-escalation.js';
|
|
16
|
-
import { assessUnexportedDrift, formatDeployedUnexportedNote, formatUnexportedDriftWarning, } from './build-overwrite-guard.js';
|
|
17
|
-
import { hashEngineFile } from './coverage-extend.js';
|
|
18
|
-
import { collectChangedEnginePaths, dropPathsMatchingFingerprints } from './engine-changes.js';
|
|
19
|
-
import { applyAllComponents } from './furnace-apply.js';
|
|
20
|
-
import { logApplyWarnings } from './furnace-apply-output.js';
|
|
21
|
-
import { furnaceConfigExists, getFurnacePaths, loadFurnaceConfig, loadFurnaceState, } from './furnace-config.js';
|
|
22
|
-
import { runFurnaceMutation } from './furnace-operation.js';
|
|
23
|
-
import { countEntriesWithBlockingStepErrors } from './furnace-step-errors.js';
|
|
24
|
-
import { cleanStories } from './furnace-stories.js';
|
|
25
|
-
import { generateMozconfig, runMachCapture } from './mach.js';
|
|
26
|
-
import { explainMachError } from './mach-error-hints.js';
|
|
27
|
-
/** Path fragments of files whose edits invalidate the recursive-make backend. */
|
|
28
|
-
const BACKEND_INVALIDATING_SUFFIXES = ['moz.build', 'moz.configure', 'Makefile.in'];
|
|
29
|
-
/**
|
|
30
|
-
* Build-input manifests changed since the last successful build, not
|
|
31
|
-
* merely dirty against HEAD. `collectChangedEnginePaths` unions the
|
|
32
|
-
* baseline-to-HEAD diff with every worktree modification, and a fork's
|
|
33
|
-
* worktree is permanently dirty (imported patches, Furnace-applied
|
|
34
|
-
* components), so on its own it reports a patch-touched `jar.mn` or
|
|
35
|
-
* `moz.build` as changed on every run: `mach configure` re-ran and the
|
|
36
|
-
* pre-test build escalated to a full `mach build` after each full build
|
|
37
|
-
* that had already consumed exactly this content. The baseline's
|
|
38
|
-
* `buildInputFingerprints` say what the last successful build saw.
|
|
39
|
-
* Anything byte-identical to that is dropped here. A baseline without the
|
|
40
|
-
* field (written before it existed) keeps every dirty input, which is the
|
|
41
|
-
* old behaviour.
|
|
42
|
-
*
|
|
43
|
-
* @param engineDir - Path to the engine directory
|
|
44
|
-
* @param baseline - Last successful build's baseline
|
|
45
|
-
* @returns Engine-relative build-input paths that still need acting on
|
|
46
|
-
*/
|
|
47
|
-
async function collectChangedBuildInputs(engineDir, baseline) {
|
|
48
|
-
const changed = await collectChangedEnginePaths(engineDir, baseline, 'Auto-configure');
|
|
49
|
-
const dirtyInputs = changed.filter(isBuildInputPath);
|
|
50
|
-
const stillChanged = await dropPathsMatchingFingerprints(engineDir, dirtyInputs, baseline.buildInputFingerprints);
|
|
51
|
-
const unchangedSinceBuild = dirtyInputs.filter((path) => !stillChanged.includes(path));
|
|
52
|
-
if (unchangedSinceBuild.length > 0) {
|
|
53
|
-
verbose(`Auto-configure: ${unchangedSinceBuild.length} dirty build input(s) byte-identical to the last successful build, not treated as changed: ${unchangedSinceBuild.join(', ')}`);
|
|
54
|
-
}
|
|
55
|
-
return stillChanged;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Extracts the tail of captured `mach configure` output so the underlying
|
|
59
|
-
* mozbuild failure (e.g. `mozbuild.util.UnsortedError: ... is not in sorted
|
|
60
|
-
* order`) is carried into the thrown `BuildError` instead of being reduced to
|
|
61
|
-
* a bare exit code. mozbuild writes the error and its traceback to stderr,
|
|
62
|
-
* and stdout is included as a fallback for shells that interleave the
|
|
63
|
-
* streams.
|
|
64
|
-
* Returns an empty string when nothing useful was captured.
|
|
65
|
-
*/
|
|
66
|
-
function extractMachConfigureError(result) {
|
|
67
|
-
const combined = `${result.stderr}\n${result.stdout}`.trim();
|
|
68
|
-
if (!combined)
|
|
69
|
-
return '';
|
|
70
|
-
return combined.split('\n').slice(-40).join('\n').trim();
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Describes an exit code in the shell's 128+N signal convention. Truncated
|
|
74
|
-
* configure/build logs with a signal-shaped exit (e.g. 144 = 128+16, SIGURG
|
|
75
|
-
* on macOS) are environmental interruptions, not compiler failures. Naming
|
|
76
|
-
* that in the failure text saves the operator a fruitless log hunt.
|
|
77
|
-
* Returns undefined for codes <= 128 (regular failures) and
|
|
78
|
-
* for codes past the conventional signal range, so callers append nothing.
|
|
79
|
-
*/
|
|
80
|
-
export function describeSignalShapedExit(exitCode) {
|
|
81
|
-
if (exitCode <= 128 || exitCode > 192)
|
|
82
|
-
return undefined;
|
|
83
|
-
const signalNumber = exitCode - 128;
|
|
84
|
-
const names = Object.entries(osConstants.signals)
|
|
85
|
-
.filter(([, value]) => value === signalNumber)
|
|
86
|
-
.map(([name]) => name);
|
|
87
|
-
const label = names.length > 0 ? names.join('/') : `signal ${signalNumber}`;
|
|
88
|
-
return (`Exit ${exitCode} is signal-shaped (${exitCode} - 128 = ${signalNumber}, ${label} on this host): ` +
|
|
89
|
-
'the process was likely interrupted externally (OOM-killer, terminal disconnect, ' +
|
|
90
|
-
'display/session teardown) rather than failing on its own, and the log may be ' +
|
|
91
|
-
'truncated mid-step.');
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Builds the `BuildError` for a non-zero auto-configure exit: the output
|
|
95
|
-
* tail (so the underlying mozbuild failure survives), any matched
|
|
96
|
-
* mach-error hints (so e.g. a toolchain minimum that moved with a source
|
|
97
|
-
* hop names `fireforge bootstrap` on this path too, just like the
|
|
98
|
-
* protected build dispatch), and the stop rationale.
|
|
99
|
-
*/
|
|
100
|
-
function buildConfigureFailureError(captured) {
|
|
101
|
-
const detail = extractMachConfigureError(captured);
|
|
102
|
-
const hints = explainMachError(`${captured.stderr}\n${captured.stdout}`);
|
|
103
|
-
const signalNote = describeSignalShapedExit(captured.exitCode);
|
|
104
|
-
return new BuildError(`Backend regeneration failed: mach configure exited with code ${captured.exitCode}.` +
|
|
105
|
-
(detail ? `\n\nmach configure output (tail):\n${detail}` : '') +
|
|
106
|
-
(signalNote ? `\n\n${signalNote}` : '') +
|
|
107
|
-
(hints.length > 0 ? `\n\n${hints.map((hint) => `Hint: ${hint}`).join('\n')}` : '') +
|
|
108
|
-
'\n\nBuild stopped because continuing would hide the real configure failure.', 'mach configure');
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Runs the narrowed `jar.mn` escalation rule over this run's changed build
|
|
112
|
-
* inputs and returns the operator-facing reason when a full build is still
|
|
113
|
-
* required, or undefined when the narrowing cleared every changed manifest.
|
|
114
|
-
*
|
|
115
|
-
* Extracted so `prepareBuildEnvironment` stays under the complexity budget.
|
|
116
|
-
*
|
|
117
|
-
* @param engineDir - Absolute engine directory
|
|
118
|
-
* @param changed - Build inputs changed since the last successful build
|
|
119
|
-
*/
|
|
120
|
-
async function decideJarEscalation(engineDir, changed) {
|
|
121
|
-
// Packaging manifests whose graph/destination directories may need a full
|
|
122
|
-
// build. Path-shape only: `evaluateJarManifestEscalation` decides whether a
|
|
123
|
-
// given changed manifest actually forces one (a new manifest, or one that
|
|
124
|
-
// redirects its install base directory), so an entry added to an existing
|
|
125
|
-
// `dist/bin` manifest does not cost a ~10-minute build.
|
|
126
|
-
const decision = await evaluateJarManifestEscalation(engineDir, changed.filter(isJarManifestPath));
|
|
127
|
-
if (decision.cleared.length > 0) {
|
|
128
|
-
verbose(`jar escalation: ${decision.cleared.length} changed jar.mn add entries to an existing dist/bin manifest; not escalating for ${decision.cleared.join(', ')}.`);
|
|
129
|
-
}
|
|
130
|
-
return decision.escalate ? formatJarEscalationNotice(decision) : undefined;
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Returns true when the file path matches a pattern that forces
|
|
134
|
-
* `mach configure` to regenerate the backend. Exported for testing.
|
|
135
|
-
*/
|
|
136
|
-
export function isBackendInvalidatingFile(path) {
|
|
137
|
-
for (const suffix of BACKEND_INVALIDATING_SUFFIXES) {
|
|
138
|
-
if (path === suffix || path.endsWith(`/${suffix}`))
|
|
139
|
-
return true;
|
|
140
|
-
}
|
|
141
|
-
return false;
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Warns before the overwrite rather than after it.
|
|
145
|
-
*
|
|
146
|
-
* Every write `prepareBuildEnvironment` performs (branding, Furnace
|
|
147
|
-
* components, `mozconfig`) rewrites engine files from a FireForge-owned
|
|
148
|
-
* source. Content recorded in neither a patch body nor the pristine baseline
|
|
149
|
-
* is destroyed by that, and on a multi-session checkout the destruction is
|
|
150
|
-
* what lets a later re-export capture a half-reverted hybrid that every gate
|
|
151
|
-
* then passes.
|
|
152
|
-
*
|
|
153
|
-
* @param projectRoot - Project root
|
|
154
|
-
* @param config - Loaded FireForge config
|
|
155
|
-
* @param options - Build-prepare options (reads `refuseUnexportedDrift`)
|
|
156
|
-
* @throws GeneralError under `--refuse-unexported-drift`
|
|
157
|
-
*/
|
|
158
|
-
async function reportUnexportedDriftBeforeOverwrite(projectRoot, config, options) {
|
|
159
|
-
const { atRisk, deployedUnexported } = await assessUnexportedDrift(projectRoot, config);
|
|
160
|
-
// Deployed Furnace files that are their component source's own
|
|
161
|
-
// deployment never block: the overwrite loses nothing. Say so, since
|
|
162
|
-
// their patches still owe a re-export.
|
|
163
|
-
if (deployedUnexported.length > 0)
|
|
164
|
-
info(formatDeployedUnexportedNote(deployedUnexported));
|
|
165
|
-
if (atRisk.length === 0)
|
|
166
|
-
return;
|
|
167
|
-
const message = formatUnexportedDriftWarning(atRisk);
|
|
168
|
-
if (options.refuseUnexportedDrift === true) {
|
|
169
|
-
throw new GeneralError(message);
|
|
170
|
-
}
|
|
171
|
-
notice(message);
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* Applies the named components one at a time, each under its own Furnace
|
|
175
|
-
* mutation (one rollback journal per apply), and merges the results.
|
|
176
|
-
*/
|
|
177
|
-
async function applySelectedComponents(projectRoot, names) {
|
|
178
|
-
const merged = {
|
|
179
|
-
applied: [],
|
|
180
|
-
skipped: [],
|
|
181
|
-
errors: [],
|
|
182
|
-
warnings: [],
|
|
183
|
-
};
|
|
184
|
-
for (const componentName of names) {
|
|
185
|
-
const result = await runFurnaceMutation(projectRoot, 'apply-rollback', (ctx) => applyAllComponents(projectRoot, false, { operationContext: ctx, componentName }));
|
|
186
|
-
merged.applied.push(...result.applied);
|
|
187
|
-
merged.skipped.push(...result.skipped);
|
|
188
|
-
merged.errors.push(...result.errors);
|
|
189
|
-
merged.warnings.push(...(result.warnings ?? []));
|
|
190
|
-
}
|
|
191
|
-
return merged;
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Applies Furnace components before the build when `furnace.json` exists.
|
|
195
|
-
* Prints every warning the apply computed, then the loud sync banner.
|
|
196
|
-
*
|
|
197
|
-
* @param projectRoot - Project root
|
|
198
|
-
* @param only - Apply just these components; every component when undefined
|
|
199
|
-
* @returns Names of the components written to engine/
|
|
200
|
-
*/
|
|
201
|
-
async function applyFurnaceBeforeBuild(projectRoot, only) {
|
|
202
|
-
if (!(await furnaceConfigExists(projectRoot)))
|
|
203
|
-
return [];
|
|
204
|
-
const furnaceConfig = await loadFurnaceConfig(projectRoot);
|
|
205
|
-
const hasComponents = Object.keys(furnaceConfig.overrides).length > 0 || Object.keys(furnaceConfig.custom).length > 0;
|
|
206
|
-
if (!hasComponents)
|
|
207
|
-
return [];
|
|
208
|
-
const furnaceSpinner = spinner('Applying Furnace components...');
|
|
209
|
-
let result;
|
|
210
|
-
try {
|
|
211
|
-
result =
|
|
212
|
-
only === undefined
|
|
213
|
-
? await runFurnaceMutation(projectRoot, 'apply-rollback', (ctx) => applyAllComponents(projectRoot, false, { operationContext: ctx }))
|
|
214
|
-
: await applySelectedComponents(projectRoot, only);
|
|
215
|
-
}
|
|
216
|
-
catch (error) {
|
|
217
|
-
furnaceSpinner.error('Failed to apply Furnace components');
|
|
218
|
-
throw error;
|
|
219
|
-
}
|
|
220
|
-
const furnaceApplied = result.applied.length;
|
|
221
|
-
// Count entries that were "applied" but recorded step-level errors
|
|
222
|
-
// mid-apply (e.g. a post-step failure after file writes succeeded).
|
|
223
|
-
// These are distinct from `result.errors`, which captures
|
|
224
|
-
// components that failed before reaching the applied list at all.
|
|
225
|
-
// The sum of the two is the total count of failed components.
|
|
226
|
-
const appliedWithStepErrorsCount = countEntriesWithBlockingStepErrors(result.applied);
|
|
227
|
-
const totalApplyFailures = result.errors.length + appliedWithStepErrorsCount;
|
|
228
|
-
if (totalApplyFailures > 0) {
|
|
229
|
-
furnaceSpinner.error('Failed to apply Furnace components');
|
|
230
|
-
for (const err of result.errors) {
|
|
231
|
-
warn(`Furnace: ${err.name} — ${err.error}`);
|
|
232
|
-
}
|
|
233
|
-
for (const applied of result.applied) {
|
|
234
|
-
if (applied.stepErrors && applied.stepErrors.length > 0) {
|
|
235
|
-
for (const stepErr of applied.stepErrors) {
|
|
236
|
-
warn(`Furnace: ${applied.name} [${stepErr.step}] ${stepErr.error}`);
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
throw new FurnaceError(`${totalApplyFailures} component${totalApplyFailures === 1 ? '' : 's'} failed to apply cleanly`);
|
|
241
|
-
}
|
|
242
|
-
// The apply computed these (patch-owned engine files whose content
|
|
243
|
-
// differed from components/ and were replaced). `furnace apply`
|
|
244
|
-
// prints them, and so does this path: dropped silently, a negative
|
|
245
|
-
// control that edited a deployed Furnace file would run against the
|
|
246
|
-
// shipped code with a green result and only a checksum could tell.
|
|
247
|
-
const overwriteCount = logApplyWarnings(result.warnings);
|
|
248
|
-
if (overwriteCount > 0) {
|
|
249
|
-
notice(`Furnace: ${overwriteCount} Furnace-managed engine file${overwriteCount === 1 ? '' : 's'} differed from components/ and ${overwriteCount === 1 ? 'was' : 'were'} REPLACED before this build. An engine-side edit to a Furnace-managed file (for example a negative control) did not run; edit the component source under components/ instead, or restore the edit after the build.`);
|
|
250
|
-
}
|
|
251
|
-
if (furnaceApplied > 0) {
|
|
252
|
-
const appliedNames = result.applied.map((entry) => entry.name).join(', ');
|
|
253
|
-
furnaceSpinner.stop(`Applied ${furnaceApplied} component${furnaceApplied === 1 ? '' : 's'}`);
|
|
254
|
-
// Loud banner: the build operator needs to see that engine/ was
|
|
255
|
-
// updated before this build, otherwise a silent re-apply is
|
|
256
|
-
// indistinguishable from a build that shipped stale components.
|
|
257
|
-
notice(`Furnace: source → engine sync wrote ${furnaceApplied} component${furnaceApplied === 1 ? '' : 's'} before build (${appliedNames}). engine/ now matches components/.`);
|
|
258
|
-
}
|
|
259
|
-
else {
|
|
260
|
-
furnaceSpinner.stop('Components up to date');
|
|
261
|
-
}
|
|
262
|
-
return result.applied.map((entry) => entry.name);
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* Runs the auto-configure step (`mach configure`) against the freshly
|
|
266
|
-
* generated mozconfig, surfacing the underlying mozbuild error on failure.
|
|
267
|
-
* @param engineDir - Path to the engine directory
|
|
268
|
-
* @param triggers - Why the backend is being regenerated, for the notice
|
|
269
|
-
*/
|
|
270
|
-
async function runAutoConfigure(engineDir, triggers) {
|
|
271
|
-
// Warning severity: this is the "why is this run slow" explanation,
|
|
272
|
-
// and an info-level line does not survive an agent output filter that
|
|
273
|
-
// keeps only warnings and errors.
|
|
274
|
-
notice(`Backend config changed; running backend regeneration first (${triggers}). Backend command: mach configure.`);
|
|
275
|
-
const configureSpinner = spinner('Running mach configure...');
|
|
276
|
-
try {
|
|
277
|
-
const captured = await runMachCapture(['configure'], engineDir);
|
|
278
|
-
const exitCode = captured.exitCode;
|
|
279
|
-
if (exitCode !== 0) {
|
|
280
|
-
configureSpinner.error(`mach configure failed with exit code ${exitCode}`);
|
|
281
|
-
// Surface the underlying mozbuild error (e.g. UnsortedError)
|
|
282
|
-
// instead of a bare exit code, since the generic message hid the
|
|
283
|
-
// actual cause, plus any matched mach-error hints (see the helper).
|
|
284
|
-
throw buildConfigureFailureError(captured);
|
|
285
|
-
}
|
|
286
|
-
configureSpinner.stop('Backend regenerated successfully (mach configure exit code 0)');
|
|
287
|
-
info('Backend regeneration succeeded; continuing with build.');
|
|
288
|
-
}
|
|
289
|
-
catch (error) {
|
|
290
|
-
if (error instanceof BuildError) {
|
|
291
|
-
throw error;
|
|
292
|
-
}
|
|
293
|
-
configureSpinner.error('mach configure failed');
|
|
294
|
-
verbose(`Auto-configure error: ${toError(error).message}`);
|
|
295
|
-
throw new BuildError(`Backend regeneration failed while running mach configure: ${toError(error).message}. Build stopped because continuing would hide the real configure failure.`, 'mach configure', error instanceof Error ? error : undefined);
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
/**
|
|
299
|
-
* Runs the shared pre-flight steps for build and package commands:
|
|
300
|
-
* 1. Warns (or refuses) about unexported engine drift the writes below
|
|
301
|
-
* would destroy
|
|
302
|
-
* 2. Cleans Furnace stories from engine (prevents leaking into production)
|
|
303
|
-
* 3. Sets up branding directory if not already done
|
|
304
|
-
* 4. Applies Furnace components if furnace.json exists
|
|
305
|
-
* 5. Generates mozconfig
|
|
306
|
-
* 6. Runs `mach configure` when a backend-invalidating input, including
|
|
307
|
-
* the mozconfig just generated, changed since the previous baseline
|
|
308
|
-
*
|
|
309
|
-
* @param projectRoot - Root directory of the project
|
|
310
|
-
* @param paths - Resolved project paths
|
|
311
|
-
* @param config - Loaded FireForge configuration
|
|
312
|
-
* @param options - Baseline and drift-refusal options
|
|
313
|
-
* @returns Preparation results
|
|
314
|
-
*/
|
|
315
|
-
export async function prepareBuildEnvironment(projectRoot, paths, config, options = {}) {
|
|
316
|
-
// Block the build if Furnace has an unresolved repair marker. This prevents
|
|
317
|
-
// building against an engine that may be in an inconsistent state after a
|
|
318
|
-
// failed rollback.
|
|
319
|
-
const furnaceStatePath = getFurnacePaths(projectRoot).furnaceState;
|
|
320
|
-
if (await pathExists(furnaceStatePath)) {
|
|
321
|
-
const furnaceState = await loadFurnaceState(projectRoot);
|
|
322
|
-
if (furnaceState.pendingRepair) {
|
|
323
|
-
throw new FurnaceError(`Furnace has an unresolved repair marker (from ${furnaceState.pendingRepair.operation}). ` +
|
|
324
|
-
'Run "fireforge doctor --repair-furnace" to reconcile engine state before building.');
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
await reportUnexportedDriftBeforeOverwrite(projectRoot, config, options);
|
|
328
|
-
// Auto-configure census: if any backend-invalidating file (moz.build,
|
|
329
|
-
// moz.configure, Makefile.in) changed since the last successful build,
|
|
330
|
-
// `mach configure` runs before the build step. Prevents incremental builds
|
|
331
|
-
// from silently skipping work against a stale recursive-make backend. The
|
|
332
|
-
// configure itself waits until the mozconfig below has been regenerated:
|
|
333
|
-
// run earlier, it configured against the previous engine/mozconfig, and a
|
|
334
|
-
// configs/ fix for a failing configure (a pinned --with-macos-sdk) could
|
|
335
|
-
// never take effect because the failure stopped the build before the
|
|
336
|
-
// regeneration.
|
|
337
|
-
const configureTriggers = [];
|
|
338
|
-
let fullBuildRequired = false;
|
|
339
|
-
let fullBuildReason;
|
|
340
|
-
if (options.previousBaseline) {
|
|
341
|
-
const changed = await collectChangedBuildInputs(paths.engine, options.previousBaseline);
|
|
342
|
-
const invalidating = changed.filter(isBackendInvalidatingFile);
|
|
343
|
-
const jarEscalation = await decideJarEscalation(paths.engine, changed);
|
|
344
|
-
fullBuildRequired = jarEscalation !== undefined;
|
|
345
|
-
fullBuildReason = jarEscalation;
|
|
346
|
-
if (invalidating.length > 0) {
|
|
347
|
-
configureTriggers.push(`${invalidating.length} file${invalidating.length === 1 ? '' : 's'} touched`);
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
// Clean stories before build to ensure they don't leak into production binary
|
|
351
|
-
await cleanStories(paths.engine);
|
|
352
|
-
// Set up custom branding directory and patch moz.configure. Thread the
|
|
353
|
-
// project license through so `buildConfigureScriptContent` /
|
|
354
|
-
// `buildBrandPropertiesContent` / `buildBrandFtlContent` stamp the
|
|
355
|
-
// generated files with a matching SPDX header. Otherwise `patch-lint`
|
|
356
|
-
// flags them with `missing-license-header` on every subsequent export when
|
|
357
|
-
// the project is not MPL-2.0.
|
|
358
|
-
const brandingConfig = {
|
|
359
|
-
name: config.name,
|
|
360
|
-
vendor: config.vendor,
|
|
361
|
-
appId: config.appId,
|
|
362
|
-
binaryName: config.binaryName,
|
|
363
|
-
...(config.license !== undefined ? { license: config.license } : {}),
|
|
364
|
-
};
|
|
365
|
-
if (!(await isBrandingSetup(paths.engine, brandingConfig))) {
|
|
366
|
-
const brandingSpinner = spinner('Setting up branding...');
|
|
367
|
-
try {
|
|
368
|
-
await setupBranding(paths.engine, brandingConfig);
|
|
369
|
-
brandingSpinner.stop('Branding configured');
|
|
370
|
-
}
|
|
371
|
-
catch (error) {
|
|
372
|
-
brandingSpinner.error('Failed to set up branding');
|
|
373
|
-
throw error;
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
const furnaceAppliedNames = options.skipFurnaceApply === true || options.furnaceComponents?.length === 0
|
|
377
|
-
? []
|
|
378
|
-
: await applyFurnaceBeforeBuild(projectRoot, options.furnaceComponents);
|
|
379
|
-
// Generate mozconfig
|
|
380
|
-
const mozconfigSpinner = spinner('Generating mozconfig...');
|
|
381
|
-
let mozconfigWritten;
|
|
382
|
-
try {
|
|
383
|
-
mozconfigWritten = await generateMozconfig(paths.configs, paths.engine, config);
|
|
384
|
-
mozconfigSpinner.stop('mozconfig generated');
|
|
385
|
-
}
|
|
386
|
-
catch (error) {
|
|
387
|
-
mozconfigSpinner.error('Failed to generate mozconfig');
|
|
388
|
-
throw error;
|
|
389
|
-
}
|
|
390
|
-
// A changed mozconfig is itself backend-invalidating. Compare against the
|
|
391
|
-
// hash the last successful build recorded; a baseline from before that
|
|
392
|
-
// field existed falls back to whether this run rewrote the file.
|
|
393
|
-
if (options.previousBaseline) {
|
|
394
|
-
const recorded = options.previousBaseline.mozconfigHash;
|
|
395
|
-
const mozconfigChanged = recorded !== undefined
|
|
396
|
-
? (await hashEngineFile(paths.engine, 'mozconfig')) !== recorded
|
|
397
|
-
: mozconfigWritten;
|
|
398
|
-
if (mozconfigChanged) {
|
|
399
|
-
configureTriggers.push('engine/mozconfig changed since the last build');
|
|
400
|
-
}
|
|
401
|
-
}
|
|
402
|
-
let reconfigured = false;
|
|
403
|
-
if (configureTriggers.length > 0) {
|
|
404
|
-
await runAutoConfigure(paths.engine, configureTriggers.join('; '));
|
|
405
|
-
reconfigured = true;
|
|
406
|
-
}
|
|
407
|
-
return {
|
|
408
|
-
furnaceApplied: furnaceAppliedNames.length,
|
|
409
|
-
furnaceAppliedNames,
|
|
410
|
-
reconfigured,
|
|
411
|
-
fullBuildRequired,
|
|
412
|
-
...(fullBuildReason !== undefined ? { fullBuildReason } : {}),
|
|
413
|
-
};
|
|
414
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A record of the mach build in flight, kept in `.fireforge/build-run.json`
|
|
3
|
-
* so any session on the checkout can see why the bundle is missing.
|
|
4
|
-
*
|
|
5
|
-
* An interrupted `fireforge build` (a killed peer session, a closed
|
|
6
|
-
* terminal) can leave `dist/<App>.app/Contents/MacOS/` without its
|
|
7
|
-
* executable. Every later `fireforge test`, in every session, then failed
|
|
8
|
-
* at launch with nothing saying a build had died there, and the sessions
|
|
9
|
-
* that had not run the build had no way to find out.
|
|
10
|
-
*
|
|
11
|
-
* The record is written when a protected mach build starts and removed when
|
|
12
|
-
* it succeeds. A failed build leaves it with `status: "failed"` and the exit
|
|
13
|
-
* code. A build that never reached either end, because its process died,
|
|
14
|
-
* leaves `status: "running"` with a PID that no longer exists, which is how
|
|
15
|
-
* an interrupted run is recognized. The next build that runs to the end
|
|
16
|
-
* replaces whatever was there.
|
|
17
|
-
*
|
|
18
|
-
* Best-effort throughout: a build never fails because its record could not
|
|
19
|
-
* be written, and an unreadable record reads as "no record".
|
|
20
|
-
*/
|
|
21
|
-
/** The persisted record. */
|
|
22
|
-
interface BuildRunRecord {
|
|
23
|
-
/** Whether the build is (or was last seen) running, or ended in failure. */
|
|
24
|
-
status: 'running' | 'failed';
|
|
25
|
-
/** PID of the FireForge process that ran the build. */
|
|
26
|
-
pid: number;
|
|
27
|
-
/** That process's boot-relative start tick, where procfs exposes one. */
|
|
28
|
-
startTick?: number;
|
|
29
|
-
/** The FireForge invocation, e.g. `fireforge build --ui`. */
|
|
30
|
-
command: string;
|
|
31
|
-
/** The mach command, e.g. `mach build faster`. */
|
|
32
|
-
machCommand: string;
|
|
33
|
-
/** ISO time the mach build started. */
|
|
34
|
-
startedAt: string;
|
|
35
|
-
/** ISO time a failed build ended. */
|
|
36
|
-
endedAt?: string;
|
|
37
|
-
/** Exit code of a failed build, when mach returned one. */
|
|
38
|
-
exitCode?: number;
|
|
39
|
-
}
|
|
40
|
-
/** What the record says about the last build. */
|
|
41
|
-
export type BuildRunState = {
|
|
42
|
-
kind: 'none';
|
|
43
|
-
} | {
|
|
44
|
-
kind: 'running' | 'interrupted' | 'failed';
|
|
45
|
-
record: BuildRunRecord;
|
|
46
|
-
};
|
|
47
|
-
/**
|
|
48
|
-
* Runs a mach build with its run record maintained around it. The record
|
|
49
|
-
* is removed on a zero exit and kept as `failed` on a non-zero exit or a
|
|
50
|
-
* throw, so only a build whose process died mid-run is left `running`.
|
|
51
|
-
*
|
|
52
|
-
* @param projectRoot - Project root holding `.fireforge/`
|
|
53
|
-
* @param machCommand - The mach command being run
|
|
54
|
-
* @param build - The build itself
|
|
55
|
-
* @returns Whatever the build returned
|
|
56
|
-
*/
|
|
57
|
-
export declare function withBuildRunRecord<T extends {
|
|
58
|
-
exitCode: number;
|
|
59
|
-
}>(projectRoot: string, machCommand: string, build: () => Promise<T>): Promise<T>;
|
|
60
|
-
/**
|
|
61
|
-
* Reads the last build's record and decides whether its process is still
|
|
62
|
-
* running.
|
|
63
|
-
*
|
|
64
|
-
* @param projectRoot - Project root holding `.fireforge/`
|
|
65
|
-
*/
|
|
66
|
-
export declare function readBuildRunState(projectRoot: string): Promise<BuildRunState>;
|
|
67
|
-
/**
|
|
68
|
-
* One sentence naming why the bundle may be missing, or undefined when
|
|
69
|
-
* there is no record to go on.
|
|
70
|
-
*
|
|
71
|
-
* @param state - From {@link readBuildRunState}
|
|
72
|
-
*/
|
|
73
|
-
export declare function describeBuildRunState(state: BuildRunState): string | undefined;
|
|
74
|
-
export {};
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* A record of the mach build in flight, kept in `.fireforge/build-run.json`
|
|
4
|
-
* so any session on the checkout can see why the bundle is missing.
|
|
5
|
-
*
|
|
6
|
-
* An interrupted `fireforge build` (a killed peer session, a closed
|
|
7
|
-
* terminal) can leave `dist/<App>.app/Contents/MacOS/` without its
|
|
8
|
-
* executable. Every later `fireforge test`, in every session, then failed
|
|
9
|
-
* at launch with nothing saying a build had died there, and the sessions
|
|
10
|
-
* that had not run the build had no way to find out.
|
|
11
|
-
*
|
|
12
|
-
* The record is written when a protected mach build starts and removed when
|
|
13
|
-
* it succeeds. A failed build leaves it with `status: "failed"` and the exit
|
|
14
|
-
* code. A build that never reached either end, because its process died,
|
|
15
|
-
* leaves `status: "running"` with a PID that no longer exists, which is how
|
|
16
|
-
* an interrupted run is recognized. The next build that runs to the end
|
|
17
|
-
* replaces whatever was there.
|
|
18
|
-
*
|
|
19
|
-
* Best-effort throughout: a build never fails because its record could not
|
|
20
|
-
* be written, and an unreadable record reads as "no record".
|
|
21
|
-
*/
|
|
22
|
-
import { readFile, rm } from 'node:fs/promises';
|
|
23
|
-
import { join } from 'node:path';
|
|
24
|
-
import { toError } from '../utils/errors.js';
|
|
25
|
-
import { writeFileAtomic } from '../utils/fs.js';
|
|
26
|
-
import { verbose } from '../utils/logger.js';
|
|
27
|
-
import { FIREFORGE_DIR } from './config-paths.js';
|
|
28
|
-
import { isLockOwnerAlive, readProcessStartTick } from './file-lock-owner.js';
|
|
29
|
-
/** File name of the record under `.fireforge/`. */
|
|
30
|
-
const BUILD_RUN_RECORD = 'build-run.json';
|
|
31
|
-
function recordPath(projectRoot) {
|
|
32
|
-
return join(projectRoot, FIREFORGE_DIR, BUILD_RUN_RECORD);
|
|
33
|
-
}
|
|
34
|
-
async function writeRecord(projectRoot, record) {
|
|
35
|
-
try {
|
|
36
|
-
await writeFileAtomic(recordPath(projectRoot), `${JSON.stringify(record, null, 2)}\n`);
|
|
37
|
-
}
|
|
38
|
-
catch (error) {
|
|
39
|
-
verbose(`Build run record not written: ${toError(error).message}`);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Runs a mach build with its run record maintained around it. The record
|
|
44
|
-
* is removed on a zero exit and kept as `failed` on a non-zero exit or a
|
|
45
|
-
* throw, so only a build whose process died mid-run is left `running`.
|
|
46
|
-
*
|
|
47
|
-
* @param projectRoot - Project root holding `.fireforge/`
|
|
48
|
-
* @param machCommand - The mach command being run
|
|
49
|
-
* @param build - The build itself
|
|
50
|
-
* @returns Whatever the build returned
|
|
51
|
-
*/
|
|
52
|
-
export async function withBuildRunRecord(projectRoot, machCommand, build) {
|
|
53
|
-
const startTick = readProcessStartTick(process.pid);
|
|
54
|
-
const started = {
|
|
55
|
-
status: 'running',
|
|
56
|
-
pid: process.pid,
|
|
57
|
-
...(startTick !== undefined ? { startTick } : {}),
|
|
58
|
-
command: ['fireforge', ...process.argv.slice(2)].join(' '),
|
|
59
|
-
machCommand,
|
|
60
|
-
startedAt: new Date().toISOString(),
|
|
61
|
-
};
|
|
62
|
-
await writeRecord(projectRoot, started);
|
|
63
|
-
let result;
|
|
64
|
-
try {
|
|
65
|
-
result = await build();
|
|
66
|
-
}
|
|
67
|
-
catch (error) {
|
|
68
|
-
await writeRecord(projectRoot, {
|
|
69
|
-
...started,
|
|
70
|
-
status: 'failed',
|
|
71
|
-
endedAt: new Date().toISOString(),
|
|
72
|
-
});
|
|
73
|
-
throw error;
|
|
74
|
-
}
|
|
75
|
-
if (result.exitCode === 0) {
|
|
76
|
-
await rm(recordPath(projectRoot), { force: true }).catch(() => undefined);
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
await writeRecord(projectRoot, {
|
|
80
|
-
...started,
|
|
81
|
-
status: 'failed',
|
|
82
|
-
endedAt: new Date().toISOString(),
|
|
83
|
-
exitCode: result.exitCode,
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
return result;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Reads the last build's record and decides whether its process is still
|
|
90
|
-
* running.
|
|
91
|
-
*
|
|
92
|
-
* @param projectRoot - Project root holding `.fireforge/`
|
|
93
|
-
*/
|
|
94
|
-
export async function readBuildRunState(projectRoot) {
|
|
95
|
-
let record;
|
|
96
|
-
try {
|
|
97
|
-
record = JSON.parse(await readFile(recordPath(projectRoot), 'utf8'));
|
|
98
|
-
}
|
|
99
|
-
catch {
|
|
100
|
-
return { kind: 'none' };
|
|
101
|
-
}
|
|
102
|
-
if (typeof record.pid !== 'number' || typeof record.startedAt !== 'string') {
|
|
103
|
-
return { kind: 'none' };
|
|
104
|
-
}
|
|
105
|
-
if (record.status === 'failed')
|
|
106
|
-
return { kind: 'failed', record };
|
|
107
|
-
return {
|
|
108
|
-
kind: isLockOwnerAlive({ pid: record.pid, startTick: record.startTick })
|
|
109
|
-
? 'running'
|
|
110
|
-
: 'interrupted',
|
|
111
|
-
record,
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* One sentence naming why the bundle may be missing, or undefined when
|
|
116
|
-
* there is no record to go on.
|
|
117
|
-
*
|
|
118
|
-
* @param state - From {@link readBuildRunState}
|
|
119
|
-
*/
|
|
120
|
-
export function describeBuildRunState(state) {
|
|
121
|
-
if (state.kind === 'none')
|
|
122
|
-
return undefined;
|
|
123
|
-
const { record } = state;
|
|
124
|
-
const who = `"${record.command}" (${record.machCommand}, PID ${record.pid}, started ${record.startedAt})`;
|
|
125
|
-
switch (state.kind) {
|
|
126
|
-
case 'running':
|
|
127
|
-
return `A build is running right now: ${who}. The bundle is incomplete until it finishes.`;
|
|
128
|
-
case 'interrupted':
|
|
129
|
-
return (`The last build never finished: ${who} is gone without recording an end, so it was ` +
|
|
130
|
-
'interrupted (killed, or its terminal closed) part-way, which leaves the bundle without ' +
|
|
131
|
-
'its executable.');
|
|
132
|
-
case 'failed':
|
|
133
|
-
return (`The last build failed: ${who} ended ${record.endedAt ?? 'at an unrecorded time'}` +
|
|
134
|
-
`${record.exitCode !== undefined ? ` with exit code ${record.exitCode}` : ''}.`);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unowned support heads for the named-file checkJs pass of `test --build`.
|
|
3
|
-
*
|
|
4
|
-
* Each named test is checked as its own program: the test plus the
|
|
5
|
-
* patch-owned `head*.js` beside it. A suite moved onto a NEW support head
|
|
6
|
-
* (`head_world_page.js`, loaded with `loadSubScript`) cannot be proven
|
|
7
|
-
* before that head is exported, because the head is in no patch: every kit
|
|
8
|
-
* name reads as "Cannot find name" and the run is refused at preflight,
|
|
9
|
-
* with the generic hint, which offers the shim as a remedy.
|
|
10
|
-
*
|
|
11
|
-
* So an unowned same-directory `head*.js` joins the pass when a named test
|
|
12
|
-
* loads it with `loadSubScript` or a manifest beside it lists it in
|
|
13
|
-
* `support-files`, which are the two ways the harness itself would bring
|
|
14
|
-
* it into the test's scope. The operator is told it is unowned and how to
|
|
15
|
-
* adopt it, as for the `head.js` companions in
|
|
16
|
-
* `patch-lint-unmanaged-companion.ts`.
|
|
17
|
-
*/
|
|
18
|
-
/** A same-directory head no patch owns, and why the pass includes it. */
|
|
19
|
-
export interface UnownedSupportHead {
|
|
20
|
-
/** Engine-relative path of the head. */
|
|
21
|
-
file: string;
|
|
22
|
-
/** What brings it into the test's scope. */
|
|
23
|
-
reason: string;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Finds the unowned same-directory `head*.js` files the named tests bring
|
|
27
|
-
* into scope.
|
|
28
|
-
*
|
|
29
|
-
* @param engineDir - Absolute engine directory
|
|
30
|
-
* @param selected - Engine-relative named test files
|
|
31
|
-
* @param owned - Every file the pass already includes
|
|
32
|
-
*/
|
|
33
|
-
export declare function findUnownedSupportHeads(engineDir: string, selected: Iterable<string>, owned: ReadonlySet<string>): Promise<UnownedSupportHead[]>;
|
|
34
|
-
/**
|
|
35
|
-
* The notice for an included unowned head: the ownership fact, the
|
|
36
|
-
* adoption command, and an explicit "not the shim", for the same reason
|
|
37
|
-
* `formatUnmanagedCompanionHint` gives.
|
|
38
|
-
*
|
|
39
|
-
* @param head - From {@link findUnownedSupportHeads}
|
|
40
|
-
*/
|
|
41
|
-
export declare function formatUnownedSupportHeadNotice(head: UnownedSupportHead): string;
|