@hominis/fireforge 0.54.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 +287 -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 -438
- 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 -332
- 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 -420
- package/dist/src/commands/setup.js +78 -90
- package/dist/src/commands/status.js +44 -413
- package/dist/src/commands/test.js +97 -422
- package/dist/src/commands/token.js +185 -228
- package/dist/src/commands/typecheck.js +59 -208
- 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 -692
- package/docs/exit-codes.md +76 -94
- package/docs/furnace.md +113 -181
- package/docs/gate.md +205 -0
- package/docs/getting-started.md +165 -0
- package/docs/machine-output.md +201 -277
- package/docs/migrating.md +261 -0
- package/docs/patch-workflow.md +163 -653
- package/docs/quality.md +220 -0
- package/docs/source-workflow.md +228 -0
- package/docs/testing.md +101 -712
- 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 -91
- package/dist/src/commands/check-run.d.ts +0 -33
- package/dist/src/commands/check-run.js +0 -112
- 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 -218
- 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 -282
- 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/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 -52
- 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 -261
- 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 -117
- package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -15
- package/dist/src/commands/patch/staged-dependency-validate.js +0 -49
- package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
- package/dist/src/commands/patch/staged-dependency.js +0 -248
- 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 -267
- 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-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 -35
- package/dist/src/commands/re-export-hunks.js +0 -220
- 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 -191
- 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 -39
- package/dist/src/commands/re-export-single.js +0 -388
- 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 -28
- package/dist/src/commands/re-export-summary.js +0 -36
- 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 -29
- package/dist/src/commands/test-build-phase.js +0 -290
- 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 -63
- package/dist/src/commands/test-orchestrate.js +0 -274
- 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 -52
- package/dist/src/commands/test-stale-gate.js +0 -165
- package/dist/src/commands/test-verdict.d.ts +0 -92
- package/dist/src/commands/test-verdict.js +0 -162
- 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.d.ts +0 -56
- 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 -274
- 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 -92
- package/dist/src/core/config-validate.d.ts +0 -11
- package/dist/src/core/config-validate.js +0 -503
- 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/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 -62
- package/dist/src/core/furnace-apply-overwrite-warn.js +0 -124
- 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 -146
- 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 -79
- package/dist/src/core/furnace-constants.js +0 -123
- 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-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 -61
- package/dist/src/core/furnace-jsconfig.js +0 -208
- 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-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 -302
- 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 -318
- 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 -204
- 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.d.ts +0 -78
- package/dist/src/core/patch-lint-cache.js +0 -233
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -39
- package/dist/src/core/patch-lint-checkjs-any-import.js +0 -63
- 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.d.ts +0 -180
- package/dist/src/core/patch-lint-checkjs.js +0 -611
- 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 -5
- package/dist/src/core/patch-lint-imports.js +0 -67
- 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 -78
- package/dist/src/core/patch-lint-staged-registration.js +0 -110
- package/dist/src/core/patch-lint-token-scale.d.ts +0 -57
- package/dist/src/core/patch-lint-token-scale.js +0 -286
- 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 -191
- package/dist/src/core/patch-lint.js +0 -529
- 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 -161
- package/dist/src/core/patch-parse.js +0 -347
- package/dist/src/core/patch-policy-content.d.ts +0 -40
- package/dist/src/core/patch-policy-content.js +0 -216
- 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-shim.d.ts +0 -90
- package/dist/src/core/typecheck-shim.js +0 -507
- package/dist/src/core/typecheck.d.ts +0 -75
- package/dist/src/core/typecheck.js +0 -433
- 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 -1367
- 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 -703
- package/dist/src/types/config.js +0 -15
- package/dist/src/types/furnace.d.ts +0 -415
- 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,261 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Persists a marker describing the state of the engine tree at the time of
|
|
4
|
-
* the last successful `fireforge build`. Two downstream consumers share this
|
|
5
|
-
* marker:
|
|
6
|
-
*
|
|
7
|
-
* - `build-audit`: after a build succeeds, compare engine files touched
|
|
8
|
-
* since the baseline against the dist bundle to flag silent
|
|
9
|
-
* packaging drops (e.g. a pref file never registered in moz.build).
|
|
10
|
-
* - `build-prepare`: before a build starts, detect whether any
|
|
11
|
-
* `moz.build` / `moz.configure` / `Makefile.in` changed since the
|
|
12
|
-
* baseline and run `mach configure` before the build step so the
|
|
13
|
-
* recursive-make backend isn't stale.
|
|
14
|
-
*
|
|
15
|
-
* The marker lives under `.fireforge/last-build.json`. It is written only
|
|
16
|
-
* on successful build completion. A failed build does not update it, so a
|
|
17
|
-
* subsequent run still audits against the last known-good tree.
|
|
18
|
-
*/
|
|
19
|
-
import { readFile } from 'node:fs/promises';
|
|
20
|
-
import { join } from 'node:path';
|
|
21
|
-
import { PreflightRefusalError } from '../errors/base.js';
|
|
22
|
-
import { mapWithConcurrency } from '../utils/concurrency.js';
|
|
23
|
-
import { getNodeErrorCode, toError } from '../utils/errors.js';
|
|
24
|
-
import { readJson, writeJson } from '../utils/fs.js';
|
|
25
|
-
import { sha256Hex } from '../utils/hash.js';
|
|
26
|
-
import { verbose } from '../utils/logger.js';
|
|
27
|
-
import { isBuildInputPath, isJarManifestPath, isPackageablePath, isXpcomManifestPath, } from './build-audit.js';
|
|
28
|
-
import { DELETED_FILE_FINGERPRINT, } from './build-baseline-types.js';
|
|
29
|
-
import { describeBuildBaselineProblem, findBuildBaselineProblem, isCoverageProblem, } from './build-baseline-validate.js';
|
|
30
|
-
import { FIREFORGE_DIR } from './config-paths.js';
|
|
31
|
-
import { hashEngineFile } from './coverage-extend.js';
|
|
32
|
-
import { getHead, hasChanges, isMissingHeadError } from './git.js';
|
|
33
|
-
import { git } from './git-base.js';
|
|
34
|
-
import { historyRecordIdentity } from './history-log-file.js';
|
|
35
|
-
/*
|
|
36
|
-
* Keep the IO fan-out bounded: a patched Firefox checkout can carry hundreds
|
|
37
|
-
* of dirty packageable paths and serial reads add directly to every build.
|
|
38
|
-
*/
|
|
39
|
-
const FINGERPRINT_IO_CONCURRENCY = 16;
|
|
40
|
-
/** Name of the last-build marker file under `.fireforge/`. */
|
|
41
|
-
const BUILD_BASELINE_FILENAME = 'last-build.json';
|
|
42
|
-
/**
|
|
43
|
-
* Resolves the on-disk path of the build baseline marker.
|
|
44
|
-
* @param projectRoot - Root directory of the project
|
|
45
|
-
* @returns Absolute path of the marker file
|
|
46
|
-
*/
|
|
47
|
-
export function getBuildBaselinePath(projectRoot) {
|
|
48
|
-
return join(projectRoot, FIREFORGE_DIR, BUILD_BASELINE_FILENAME);
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Reads the last-build baseline if present. Returns undefined when no
|
|
52
|
-
* previous successful build has been recorded. Builds can replace invalid
|
|
53
|
-
* markers; dispatch preflights pass `refuse` so invalid coverage never
|
|
54
|
-
* becomes the implicit full claim of a baseline without coverage.
|
|
55
|
-
* @param projectRoot - Root directory of the project
|
|
56
|
-
*/
|
|
57
|
-
export async function readBuildBaseline(projectRoot, invalid = 'ignore') {
|
|
58
|
-
const path = getBuildBaselinePath(projectRoot);
|
|
59
|
-
let problem;
|
|
60
|
-
try {
|
|
61
|
-
const value = await readJson(path);
|
|
62
|
-
problem = findBuildBaselineProblem(value);
|
|
63
|
-
if (problem !== undefined) {
|
|
64
|
-
throw new Error(`invalid baseline field ${describeBuildBaselineProblem(problem)}`);
|
|
65
|
-
}
|
|
66
|
-
return value;
|
|
67
|
-
}
|
|
68
|
-
catch (error) {
|
|
69
|
-
if (getNodeErrorCode(error) === 'ENOENT')
|
|
70
|
-
return undefined;
|
|
71
|
-
if (invalid === 'refuse') {
|
|
72
|
-
// A coverage field is what a scoped `test --build` writes, so a fresh
|
|
73
|
-
// scoped build over the requested paths replaces it as well as a full
|
|
74
|
-
// one does.
|
|
75
|
-
const remedy = problem !== undefined && isCoverageProblem(problem)
|
|
76
|
-
? 'The field is part of the packaging-coverage claim a scoped "fireforge test --build" records. Rerun this test with --build to record a fresh claim for its paths, or run "fireforge build" to record a full baseline.'
|
|
77
|
-
: 'Run "fireforge build" to record a fresh baseline before dispatching tests.';
|
|
78
|
-
throw new PreflightRefusalError(`Build baseline ${path} is invalid: ${toError(error).message}. ${remedy}`, 'invalid-build-baseline');
|
|
79
|
-
}
|
|
80
|
-
verbose(`Ignoring invalid build baseline ${path}: ${toError(error).message}`);
|
|
81
|
-
return undefined;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
/** This process's {@link BuildBaseline.recorder} stamp. */
|
|
85
|
-
function baselineRecorder() {
|
|
86
|
-
const { pid, invocationId, sessionId } = historyRecordIdentity();
|
|
87
|
-
return { pid, invocationId, ...(sessionId !== undefined ? { sessionId } : {}) };
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Records a successful build by writing a fresh baseline marker. Captures
|
|
91
|
-
* engine HEAD SHA (or an empty string when the engine has no HEAD yet) and
|
|
92
|
-
* the current binaryName. Caller is responsible for only invoking this
|
|
93
|
-
* after the build exit code was zero.
|
|
94
|
-
*
|
|
95
|
-
* @param options - See {@link WriteBuildBaselineOptions}
|
|
96
|
-
*/
|
|
97
|
-
export async function writeBuildBaseline(options) {
|
|
98
|
-
const { projectRoot, engineDir, binaryName, testPackagingCoverage, testCoverageRecords, fullCoverageAnchor, previousBaseline, recordedBy, staticComponentsHandling = 'auto', buildKind = 'full', controlBuild, } = options;
|
|
99
|
-
let engineHeadSha = '';
|
|
100
|
-
try {
|
|
101
|
-
engineHeadSha = await getHead(engineDir);
|
|
102
|
-
}
|
|
103
|
-
catch (error) {
|
|
104
|
-
// Engine may be an unborn branch (freshly cloned + reset, or
|
|
105
|
-
// mid-import). Record an empty SHA and let downstream fall back to "no
|
|
106
|
-
// prior state" behavior. Any other git failure is bubbled up, because
|
|
107
|
-
// we don't want to silently write a garbage marker.
|
|
108
|
-
if (!isMissingHeadError(error)) {
|
|
109
|
-
throw error;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
const packageableFingerprints = await collectPackageableFingerprints(engineDir);
|
|
113
|
-
const testInputFingerprints = await collectDirtyFingerprints(engineDir, () => true, 'test staging fingerprint');
|
|
114
|
-
const buildInputFingerprints = await collectBuildInputFingerprints(engineDir, previousBaseline, buildKind);
|
|
115
|
-
// A full-coverage write (and a no-claim `fireforge build` record)
|
|
116
|
-
// just recompiled the StaticComponents table, so it anchors the table to
|
|
117
|
-
// the current engine state. A scoped write did not, so carry the previous
|
|
118
|
-
// anchor forward verbatim.
|
|
119
|
-
const staticComponentsBaseline = staticComponentsHandling === 'refresh' ||
|
|
120
|
-
(staticComponentsHandling === 'auto' &&
|
|
121
|
-
(testPackagingCoverage === undefined || testPackagingCoverage === 'full'))
|
|
122
|
-
? await collectStaticComponentsBaseline(engineDir, engineHeadSha)
|
|
123
|
-
: previousBaseline?.staticComponentsBaseline;
|
|
124
|
-
const mozconfigHash = await hashEngineFile(engineDir, 'mozconfig');
|
|
125
|
-
const baseline = {
|
|
126
|
-
engineHeadSha,
|
|
127
|
-
builtAt: new Date().toISOString(),
|
|
128
|
-
binaryName,
|
|
129
|
-
...(packageableFingerprints !== undefined ? { packageableFingerprints } : {}),
|
|
130
|
-
...(testInputFingerprints !== undefined ? { testInputFingerprints } : {}),
|
|
131
|
-
...(buildInputFingerprints !== undefined ? { buildInputFingerprints } : {}),
|
|
132
|
-
...(testPackagingCoverage !== undefined ? { testPackagingCoverage } : {}),
|
|
133
|
-
...(testCoverageRecords !== undefined ? { testCoverageRecords } : {}),
|
|
134
|
-
...(fullCoverageAnchor !== undefined ? { fullCoverageAnchor } : {}),
|
|
135
|
-
...(mozconfigHash !== undefined ? { mozconfigHash } : {}),
|
|
136
|
-
...(staticComponentsBaseline !== undefined ? { staticComponentsBaseline } : {}),
|
|
137
|
-
...(recordedBy !== undefined ? { recordedBy } : {}),
|
|
138
|
-
recorder: baselineRecorder(),
|
|
139
|
-
...(controlBuild !== undefined ? { controlBuild } : {}),
|
|
140
|
-
};
|
|
141
|
-
await writeJson(getBuildBaselinePath(projectRoot), baseline);
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Reads the current engine workdir and computes a SHA-256 fingerprint for
|
|
145
|
-
* every packageable path that is either modified against HEAD or untracked.
|
|
146
|
-
* The stale-build preflight (`checkStaleBuildForTest`) compares the live
|
|
147
|
-
* fingerprint for each packageable-dirty file to the baseline's entry: a
|
|
148
|
-
* matching hash means the build already saw this exact content, a differing
|
|
149
|
-
* or new one means the file is genuinely stale.
|
|
150
|
-
*
|
|
151
|
-
* Returns `undefined` on any git failure so a broken probe never corrupts
|
|
152
|
-
* the on-disk baseline with `{}`. The stale-check then falls back to a
|
|
153
|
-
* path-only comparison.
|
|
154
|
-
*/
|
|
155
|
-
async function collectPackageableFingerprints(engineDir) {
|
|
156
|
-
return collectDirtyFingerprints(engineDir, isPackageablePath, 'packageable fingerprint');
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Content fingerprints of the dirty build-input manifests
|
|
160
|
-
* ({@link isBuildInputPath}) this build consumed. Backend inputs
|
|
161
|
-
* (`moz.build` & co) are always taken from the live tree: the
|
|
162
|
-
* auto-configure preflight reconfigured against them before this build
|
|
163
|
-
* ran. `jar.mn` entries are taken from the live tree only after a full
|
|
164
|
-
* build. A `faster` write carries the previous record's `jar.mn` entries
|
|
165
|
-
* forward verbatim, because `mach build faster` is the build the
|
|
166
|
-
* `jar.mn` escalation exists to bypass, and recording a `jar.mn` it did
|
|
167
|
-
* not install would silence the next escalation. Returns `undefined` on
|
|
168
|
-
* probe failure so the field is omitted rather than written as `{}`.
|
|
169
|
-
*/
|
|
170
|
-
async function collectBuildInputFingerprints(engineDir, previousBaseline, buildKind) {
|
|
171
|
-
const live = await collectDirtyFingerprints(engineDir, isBuildInputPath, 'build-input fingerprint');
|
|
172
|
-
if (live === undefined || buildKind === 'full') {
|
|
173
|
-
return live;
|
|
174
|
-
}
|
|
175
|
-
const fingerprints = {};
|
|
176
|
-
for (const [path, hash] of Object.entries(live)) {
|
|
177
|
-
if (!isJarManifestPath(path))
|
|
178
|
-
fingerprints[path] = hash;
|
|
179
|
-
}
|
|
180
|
-
for (const [path, hash] of Object.entries(previousBaseline?.buildInputFingerprints ?? {})) {
|
|
181
|
-
if (isJarManifestPath(path))
|
|
182
|
-
fingerprints[path] = hash;
|
|
183
|
-
}
|
|
184
|
-
return fingerprints;
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* Anchor for the compiled StaticComponents table: the engine HEAD SHA of
|
|
188
|
-
* this (full) build plus content fingerprints of the `components.conf`
|
|
189
|
-
* manifests dirty right now, using the same dirty-path probe family as
|
|
190
|
-
* {@link collectPackageableFingerprints}, filtered to XPCOM manifests.
|
|
191
|
-
* Returns `undefined` on probe failure so a broken probe omits the field
|
|
192
|
-
* (the static-components stale check then degrades to "fresh") rather than
|
|
193
|
-
* anchoring to a garbage record.
|
|
194
|
-
*/
|
|
195
|
-
async function collectStaticComponentsBaseline(engineDir, engineHeadSha) {
|
|
196
|
-
const fingerprints = await collectDirtyFingerprints(engineDir, isXpcomManifestPath, 'static-components fingerprint');
|
|
197
|
-
if (fingerprints === undefined) {
|
|
198
|
-
return undefined;
|
|
199
|
-
}
|
|
200
|
-
return { engineHeadSha, fingerprints };
|
|
201
|
-
}
|
|
202
|
-
/**
|
|
203
|
-
* Shared dirty-path fingerprint probe backing
|
|
204
|
-
* {@link collectPackageableFingerprints} and
|
|
205
|
-
* {@link collectStaticComponentsBaseline}: enumerates engine workdir
|
|
206
|
-
* modifications (tracked and untracked), keeps the paths `includePath`
|
|
207
|
-
* accepts, and hashes each. Returns `undefined` on any git failure so a
|
|
208
|
-
* broken probe never corrupts the on-disk baseline with `{}`.
|
|
209
|
-
*/
|
|
210
|
-
async function collectDirtyFingerprints(engineDir, includePath, contextLabel) {
|
|
211
|
-
try {
|
|
212
|
-
const dirtyPaths = new Set();
|
|
213
|
-
if (await hasChanges(engineDir)) {
|
|
214
|
-
// NUL-separated and unquoted: git's default output backslash-quotes a
|
|
215
|
-
// non-ASCII path (`"a/\303\251.js"`), which is neither the file on
|
|
216
|
-
// disk nor a key the baseline validator accepts.
|
|
217
|
-
const worktreeDiff = await git(['-c', 'core.quotePath=false', 'diff', '--name-only', '-z', 'HEAD'], engineDir);
|
|
218
|
-
const untracked = await git(['-c', 'core.quotePath=false', 'ls-files', '--others', '--exclude-standard', '-z'], engineDir);
|
|
219
|
-
for (const path of `${worktreeDiff}\0${untracked}`.split('\0')) {
|
|
220
|
-
if (path.length > 0)
|
|
221
|
-
dirtyPaths.add(path);
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
const included = [...dirtyPaths].filter(includePath);
|
|
225
|
-
if (included.length === 0) {
|
|
226
|
-
return {};
|
|
227
|
-
}
|
|
228
|
-
const entries = await mapWithConcurrency(included, FINGERPRINT_IO_CONCURRENCY, async (relPath) => {
|
|
229
|
-
try {
|
|
230
|
-
const buffer = await readFile(join(engineDir, relPath));
|
|
231
|
-
return [relPath, sha256Hex(buffer)];
|
|
232
|
-
}
|
|
233
|
-
catch (fileError) {
|
|
234
|
-
if (getNodeErrorCode(fileError) === 'ENOENT') {
|
|
235
|
-
// A path reported by git but absent on disk is normally a tracked
|
|
236
|
-
// deletion, not a failed fingerprint. Recording the tombstone lets
|
|
237
|
-
// the next stale check prove that deletion was already built.
|
|
238
|
-
return [relPath, DELETED_FILE_FINGERPRINT];
|
|
239
|
-
}
|
|
240
|
-
// A file that disappeared between status probe and hash is
|
|
241
|
-
// expected in concurrent scenarios. Non-ENOENT failures remain
|
|
242
|
-
// untrusted and are skipped without failing the whole baseline write.
|
|
243
|
-
verbose(`Build baseline: skipping ${contextLabel} for ${relPath} — ${toError(fileError).message}`);
|
|
244
|
-
return undefined;
|
|
245
|
-
}
|
|
246
|
-
});
|
|
247
|
-
const fingerprints = {};
|
|
248
|
-
// Incomplete maps cannot prove retained test inputs unchanged.
|
|
249
|
-
if (entries.some((entry) => entry === undefined))
|
|
250
|
-
return undefined;
|
|
251
|
-
for (const entry of entries) {
|
|
252
|
-
if (entry !== undefined)
|
|
253
|
-
fingerprints[entry[0]] = entry[1];
|
|
254
|
-
}
|
|
255
|
-
return fingerprints;
|
|
256
|
-
}
|
|
257
|
-
catch (error) {
|
|
258
|
-
verbose(`Build baseline: ${contextLabel} probe failed — ${toError(error).message}`);
|
|
259
|
-
return undefined;
|
|
260
|
-
}
|
|
261
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Decides whether a changed `jar.mn` really forces the pre-test build to
|
|
3
|
-
* escalate from `mach build faster` to a full `mach build`.
|
|
4
|
-
*
|
|
5
|
-
* Escalating on every changed jar.mn (`any changed jar.mn ⇒ full build`)
|
|
6
|
-
* costs ~10 minutes against ~20 s for a chrome-only slice and is paid twice
|
|
7
|
-
* per green/no-change pair on a Furnace-touching slice. A downstream
|
|
8
|
-
* experiment (two clean runs, 2026-08-29) showed that rule is over-broad
|
|
9
|
-
* for the common case: a jar-only registration of a new content file added
|
|
10
|
-
* to an existing `dist/bin` manifest was installed by a plain
|
|
11
|
-
* `fireforge build --ui` both times: `faster/install_dist_bin_browser` named
|
|
12
|
-
* the destination, the file landed in `dist/bin/…/content/browser/` and in
|
|
13
|
-
* the `.app` bundle, and a plain `fireforge test` fetched it over
|
|
14
|
-
* `chrome://` at runtime. Neither run escalated, and neither needed to.
|
|
15
|
-
*
|
|
16
|
-
* What the experiment did not exercise, and what therefore still escalates:
|
|
17
|
-
*
|
|
18
|
-
* - a new `jar.mn` file. The install manifest for a manifest the backend
|
|
19
|
-
* has never seen does not exist yet, and `mach build faster` consumes
|
|
20
|
-
* install manifests rather than regenerating the backend that writes
|
|
21
|
-
* them.
|
|
22
|
-
* - a manifest whose jar declaration carries a bracketed base-directory
|
|
23
|
-
* prefix (`[some/dir] name.jar:`), which redirects the install
|
|
24
|
-
* destination away from the default chrome root. That redirect is the
|
|
25
|
-
* "non-dist/bin target" half nobody has run.
|
|
26
|
-
*
|
|
27
|
-
* Everything else about the rule is unchanged, and every failure to read or
|
|
28
|
-
* parse a manifest escalates: this narrows a conservative rule, so its
|
|
29
|
-
* error direction stays the slow-but-correct one.
|
|
30
|
-
*/
|
|
31
|
-
/** Why one changed `jar.mn` still forces a full build. */
|
|
32
|
-
export interface JarEscalationCause {
|
|
33
|
-
/** Engine-relative manifest path. */
|
|
34
|
-
path: string;
|
|
35
|
-
/** Operator-facing reason, printed with the escalation notice. */
|
|
36
|
-
reason: string;
|
|
37
|
-
}
|
|
38
|
-
/** Outcome of {@link evaluateJarManifestEscalation}. */
|
|
39
|
-
export interface JarEscalationDecision {
|
|
40
|
-
/** True when at least one changed manifest still needs a full build. */
|
|
41
|
-
escalate: boolean;
|
|
42
|
-
/** One entry per manifest that forces the escalation. */
|
|
43
|
-
causes: JarEscalationCause[];
|
|
44
|
-
/** Manifests the narrowing cleared. Kept for the verbose explanation. */
|
|
45
|
-
cleared: string[];
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Evaluates every changed `jar.mn` against the narrowed rule.
|
|
49
|
-
*
|
|
50
|
-
* @param engineDir - Absolute engine directory
|
|
51
|
-
* @param changedPaths - Engine-relative paths changed since the last
|
|
52
|
-
* successful build (non-`jar.mn` entries are ignored)
|
|
53
|
-
* @returns The escalation decision with per-manifest causes
|
|
54
|
-
*/
|
|
55
|
-
export declare function evaluateJarManifestEscalation(engineDir: string, changedPaths: readonly string[]): Promise<JarEscalationDecision>;
|
|
56
|
-
/**
|
|
57
|
-
* Renders the operator-facing escalation notice. Names the manifest and the
|
|
58
|
-
* reason: "a jar.mn changed" is the sentence that made the previous rule
|
|
59
|
-
* impossible to argue with from outside.
|
|
60
|
-
*/
|
|
61
|
-
export declare function formatJarEscalationNotice(decision: JarEscalationDecision): string;
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Decides whether a changed `jar.mn` really forces the pre-test build to
|
|
4
|
-
* escalate from `mach build faster` to a full `mach build`.
|
|
5
|
-
*
|
|
6
|
-
* Escalating on every changed jar.mn (`any changed jar.mn ⇒ full build`)
|
|
7
|
-
* costs ~10 minutes against ~20 s for a chrome-only slice and is paid twice
|
|
8
|
-
* per green/no-change pair on a Furnace-touching slice. A downstream
|
|
9
|
-
* experiment (two clean runs, 2026-08-29) showed that rule is over-broad
|
|
10
|
-
* for the common case: a jar-only registration of a new content file added
|
|
11
|
-
* to an existing `dist/bin` manifest was installed by a plain
|
|
12
|
-
* `fireforge build --ui` both times: `faster/install_dist_bin_browser` named
|
|
13
|
-
* the destination, the file landed in `dist/bin/…/content/browser/` and in
|
|
14
|
-
* the `.app` bundle, and a plain `fireforge test` fetched it over
|
|
15
|
-
* `chrome://` at runtime. Neither run escalated, and neither needed to.
|
|
16
|
-
*
|
|
17
|
-
* What the experiment did not exercise, and what therefore still escalates:
|
|
18
|
-
*
|
|
19
|
-
* - a new `jar.mn` file. The install manifest for a manifest the backend
|
|
20
|
-
* has never seen does not exist yet, and `mach build faster` consumes
|
|
21
|
-
* install manifests rather than regenerating the backend that writes
|
|
22
|
-
* them.
|
|
23
|
-
* - a manifest whose jar declaration carries a bracketed base-directory
|
|
24
|
-
* prefix (`[some/dir] name.jar:`), which redirects the install
|
|
25
|
-
* destination away from the default chrome root. That redirect is the
|
|
26
|
-
* "non-dist/bin target" half nobody has run.
|
|
27
|
-
*
|
|
28
|
-
* Everything else about the rule is unchanged, and every failure to read or
|
|
29
|
-
* parse a manifest escalates: this narrows a conservative rule, so its
|
|
30
|
-
* error direction stays the slow-but-correct one.
|
|
31
|
-
*/
|
|
32
|
-
import { join } from 'node:path';
|
|
33
|
-
import { toError } from '../utils/errors.js';
|
|
34
|
-
import { readText } from '../utils/fs.js';
|
|
35
|
-
import { verbose } from '../utils/logger.js';
|
|
36
|
-
import { isJarManifestPath } from './build-audit.js';
|
|
37
|
-
import { getUntrackedFilesInDir } from './git-status.js';
|
|
38
|
-
/**
|
|
39
|
-
* A jar declaration line: an optional bracketed base-directory prefix, then
|
|
40
|
-
* the jar name. Matched at column zero because entry lines inside a section
|
|
41
|
-
* are indented. An indented `foo.jar:` is content, not a declaration.
|
|
42
|
-
*/
|
|
43
|
-
const JAR_DECLARATION_PATTERN = /^(\[[^\]]*\]\s*)?[^\s[\]]+\.jar:\s*$/;
|
|
44
|
-
/** True when the jar declaration redirects the install base directory. */
|
|
45
|
-
function declaresNonDefaultBase(line) {
|
|
46
|
-
const match = JAR_DECLARATION_PATTERN.exec(line);
|
|
47
|
-
if (!match)
|
|
48
|
-
return false;
|
|
49
|
-
return match[1] !== undefined;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* True when a changed `jar.mn` is new to the last successful build.
|
|
53
|
-
*
|
|
54
|
-
* Untracked in the engine repo is the reliable signal: a fork's engine tree
|
|
55
|
-
* is a checkout of upstream with patches applied to the worktree, so a
|
|
56
|
-
* manifest a patch created is untracked and one that shipped upstream is
|
|
57
|
-
* tracked. The baseline's fingerprints cannot answer this on their own: they
|
|
58
|
-
* record only the paths that were dirty at the last build, so a clean
|
|
59
|
-
* pre-existing manifest has no entry either.
|
|
60
|
-
*/
|
|
61
|
-
async function isNewJarManifest(engineDir, path) {
|
|
62
|
-
const untracked = await getUntrackedFilesInDir(engineDir, path);
|
|
63
|
-
return untracked.includes(path);
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Evaluates every changed `jar.mn` against the narrowed rule.
|
|
67
|
-
*
|
|
68
|
-
* @param engineDir - Absolute engine directory
|
|
69
|
-
* @param changedPaths - Engine-relative paths changed since the last
|
|
70
|
-
* successful build (non-`jar.mn` entries are ignored)
|
|
71
|
-
* @returns The escalation decision with per-manifest causes
|
|
72
|
-
*/
|
|
73
|
-
export async function evaluateJarManifestEscalation(engineDir, changedPaths) {
|
|
74
|
-
const causes = [];
|
|
75
|
-
const cleared = [];
|
|
76
|
-
for (const path of changedPaths.filter(isJarManifestPath)) {
|
|
77
|
-
let isNew;
|
|
78
|
-
try {
|
|
79
|
-
isNew = await isNewJarManifest(engineDir, path);
|
|
80
|
-
}
|
|
81
|
-
catch (error) {
|
|
82
|
-
// Fail closed: an unanswerable "is this new?" keeps the old rule.
|
|
83
|
-
verbose(`jar escalation: could not classify engine/${path} (${toError(error).message}); escalating.`);
|
|
84
|
-
causes.push({ path, reason: 'could not determine whether the manifest is new' });
|
|
85
|
-
continue;
|
|
86
|
-
}
|
|
87
|
-
if (isNew) {
|
|
88
|
-
causes.push({ path, reason: 'new jar.mn (no install manifest exists for it yet)' });
|
|
89
|
-
continue;
|
|
90
|
-
}
|
|
91
|
-
let body;
|
|
92
|
-
try {
|
|
93
|
-
body = await readText(join(engineDir, path));
|
|
94
|
-
}
|
|
95
|
-
catch (error) {
|
|
96
|
-
verbose(`jar escalation: could not read engine/${path} (${toError(error).message}); escalating.`);
|
|
97
|
-
causes.push({ path, reason: 'manifest could not be read' });
|
|
98
|
-
continue;
|
|
99
|
-
}
|
|
100
|
-
const redirected = body
|
|
101
|
-
.split(/\r?\n/)
|
|
102
|
-
.filter((line) => declaresNonDefaultBase(line))
|
|
103
|
-
.map((line) => line.trim());
|
|
104
|
-
if (redirected.length > 0) {
|
|
105
|
-
causes.push({
|
|
106
|
-
path,
|
|
107
|
-
reason: `jar declaration redirects the install base directory (${redirected[0] ?? ''})`,
|
|
108
|
-
});
|
|
109
|
-
continue;
|
|
110
|
-
}
|
|
111
|
-
cleared.push(path);
|
|
112
|
-
}
|
|
113
|
-
return { escalate: causes.length > 0, causes, cleared };
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Renders the operator-facing escalation notice. Names the manifest and the
|
|
117
|
-
* reason: "a jar.mn changed" is the sentence that made the previous rule
|
|
118
|
-
* impossible to argue with from outside.
|
|
119
|
-
*/
|
|
120
|
-
export function formatJarEscalationNotice(decision) {
|
|
121
|
-
const detail = decision.causes.map((c) => `engine/${c.path} (${c.reason})`).join('; ');
|
|
122
|
-
return (`Escalating this pre-test build to a full mach build so new install-manifest destinations ` +
|
|
123
|
-
`are created: ${detail}. A changed jar.mn that merely adds entries to an existing ` +
|
|
124
|
-
`dist/bin manifest no longer escalates.`);
|
|
125
|
-
}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Loud guard against silently reverting unexported engine drift.
|
|
3
|
-
*
|
|
4
|
-
* `build-prepare` rewrites engine files from FireForge-owned sources before
|
|
5
|
-
* every build: the branding tree, every Furnace-managed component, and
|
|
6
|
-
* `mozconfig`. On a multi-session checkout that is a silent destructive
|
|
7
|
-
* write: one session edits a file in `engine/` while another holds the
|
|
8
|
-
* engine lock, the lock-holder's build rewrites it back to its patch
|
|
9
|
-
* baseline, and the editing session's later `re-export --wait-lock`
|
|
10
|
-
* captures a hybrid file that every gate then passes.
|
|
11
|
-
*
|
|
12
|
-
* This guard runs before the writes, classifies the engine's dirty files
|
|
13
|
-
* with the same classifier `fireforge status` uses, and reports the ones
|
|
14
|
-
* whose content is explained by neither a patch body nor the pristine
|
|
15
|
-
* baseline. Advisory by default (a warning naming every file), refusing
|
|
16
|
-
* under an explicit flag.
|
|
17
|
-
*
|
|
18
|
-
* A deployed Furnace file is checked against its component source as well
|
|
19
|
-
* (`deployed-unexported`): when the engine copy equals the Furnace-composed
|
|
20
|
-
* current source, differs from it only inside generated fragment
|
|
21
|
-
* expansions, or is exactly Furnace's last recorded deployment, the
|
|
22
|
-
* overwrite destroys nothing that is not a component source, so it is safe
|
|
23
|
-
* even though no patch records it yet. Without this, peers' deployed but
|
|
24
|
-
* unexported widgets refused every belted build on a shared checkout.
|
|
25
|
-
*/
|
|
26
|
-
import type { FireForgeConfig } from '../types/config.js';
|
|
27
|
-
import { type DeployedSourceMatch } from './furnace-composed-source.js';
|
|
28
|
-
import { type ClassifiedFile } from './status-classify.js';
|
|
29
|
-
/** One file whose unexported content a build-prepare overwrite would destroy. */
|
|
30
|
-
export interface UnexportedDriftAtRisk {
|
|
31
|
-
file: string;
|
|
32
|
-
classification: ClassifiedFile['classification'];
|
|
33
|
-
owner?: string | undefined;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* A deployed Furnace file no patch records yet whose content is its
|
|
37
|
-
* component source's (see {@link DeployedSourceMatch}), so the overwrite is
|
|
38
|
-
* safe. Its patch still owes a re-export.
|
|
39
|
-
*/
|
|
40
|
-
export interface DeployedUnexportedFile {
|
|
41
|
-
file: string;
|
|
42
|
-
classification: 'deployed-unexported';
|
|
43
|
-
match: DeployedSourceMatch;
|
|
44
|
-
owner?: string | undefined;
|
|
45
|
-
}
|
|
46
|
-
/** Outcome of {@link assessUnexportedDrift}. */
|
|
47
|
-
export interface UnexportedDriftAssessment {
|
|
48
|
-
/** Files whose content the overwrite would destroy unrecorded. */
|
|
49
|
-
atRisk: UnexportedDriftAtRisk[];
|
|
50
|
-
/** Files the overwrite rewrites from their own component source. */
|
|
51
|
-
deployedUnexported: DeployedUnexportedFile[];
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Finds engine files that build-prepare is about to overwrite and whose
|
|
55
|
-
* current content is recorded nowhere.
|
|
56
|
-
*
|
|
57
|
-
* Fail-open: any probe failure is reported verbosely and yields an empty
|
|
58
|
-
* list. A build must not fail because an advisory guard could not run.
|
|
59
|
-
*
|
|
60
|
-
* @internal The at-risk half of {@link assessUnexportedDrift}, kept for the
|
|
61
|
-
* guard's tests; build-prepare consumes the full assessment.
|
|
62
|
-
*
|
|
63
|
-
* @param projectRoot - Project root
|
|
64
|
-
* @param config - Loaded FireForge config (reads `binaryName`)
|
|
65
|
-
* @returns At-risk files, sorted by path
|
|
66
|
-
*/
|
|
67
|
-
export declare function findUnexportedDriftAtRisk(projectRoot: string, config: FireForgeConfig): Promise<UnexportedDriftAtRisk[]>;
|
|
68
|
-
/**
|
|
69
|
-
* Classifies the engine files build-prepare is about to overwrite into the
|
|
70
|
-
* ones whose content is recorded nowhere (`atRisk`) and the deployed
|
|
71
|
-
* Furnace files no patch records yet whose content is their component
|
|
72
|
-
* source's (`deployedUnexported`, safe to overwrite).
|
|
73
|
-
*
|
|
74
|
-
* Fail-open like {@link findUnexportedDriftAtRisk}: a probe failure yields
|
|
75
|
-
* an empty assessment.
|
|
76
|
-
*
|
|
77
|
-
* @param projectRoot - Project root
|
|
78
|
-
* @param config - Loaded FireForge config (reads `binaryName`)
|
|
79
|
-
* @returns Both lists, sorted by path
|
|
80
|
-
*/
|
|
81
|
-
export declare function assessUnexportedDrift(projectRoot: string, config: FireForgeConfig): Promise<UnexportedDriftAssessment>;
|
|
82
|
-
/**
|
|
83
|
-
* Renders the informational note for deployed Furnace files the overwrite
|
|
84
|
-
* rewrites from their own component source: safe for this build, but their
|
|
85
|
-
* patches still owe a re-export.
|
|
86
|
-
*/
|
|
87
|
-
export declare function formatDeployedUnexportedNote(files: readonly DeployedUnexportedFile[]): string;
|
|
88
|
-
/**
|
|
89
|
-
* Renders the operator-facing warning (or refusal body) naming every file
|
|
90
|
-
* whose unexported content the build is about to overwrite.
|
|
91
|
-
*/
|
|
92
|
-
export declare function formatUnexportedDriftWarning(files: readonly UnexportedDriftAtRisk[]): string;
|