@hominis/fireforge 0.55.0 → 0.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +233 -6
- package/README.md +51 -17
- package/dist/bin/fireforge.js +34 -129
- package/dist/build-info.json +4 -4
- package/dist/src/check/check.js +394 -0
- package/dist/src/check/gate.js +448 -0
- package/dist/src/check/index.js +10 -0
- package/dist/src/check/record.js +155 -0
- package/dist/src/cli/command.js +286 -0
- package/dist/src/cli/output.js +96 -0
- package/dist/src/cli/program.js +231 -0
- package/dist/src/cli/stdio.js +59 -0
- package/dist/src/cli/version.js +99 -0
- package/dist/src/commands/bootstrap.js +17 -102
- package/dist/src/commands/build.js +34 -456
- package/dist/src/commands/check.js +44 -157
- package/dist/src/commands/config.js +50 -226
- package/dist/src/commands/discard.js +38 -215
- package/dist/src/commands/doctor.js +29 -456
- package/dist/src/commands/download.js +35 -499
- package/dist/src/commands/export.js +42 -431
- package/dist/src/commands/furnace.js +220 -0
- package/dist/src/commands/gate.js +127 -0
- package/dist/src/commands/import.js +44 -445
- package/dist/src/commands/index.js +86 -0
- package/dist/src/commands/lint.js +44 -546
- package/dist/src/commands/merge-driver.js +56 -0
- package/dist/src/commands/migrate.js +75 -0
- package/dist/src/commands/override.js +43 -0
- package/dist/src/commands/package.js +48 -77
- package/dist/src/commands/patch.js +221 -0
- package/dist/src/commands/re-export.js +55 -359
- package/dist/src/commands/rebase.js +69 -0
- package/dist/src/commands/register.js +62 -103
- package/dist/src/commands/reset.js +28 -91
- package/dist/src/commands/resolve.js +20 -167
- package/dist/src/commands/restore.js +19 -0
- package/dist/src/commands/run.js +60 -382
- package/dist/src/commands/setup.js +78 -90
- package/dist/src/commands/status.js +44 -413
- package/dist/src/commands/test.js +97 -423
- package/dist/src/commands/token.js +185 -228
- package/dist/src/commands/typecheck.js +59 -241
- package/dist/src/commands/verify.js +28 -334
- package/dist/src/commands/version.js +14 -0
- package/dist/src/commands/watch.js +20 -218
- package/dist/src/commands/wire.js +60 -349
- package/dist/src/commands/workspace.js +117 -0
- package/dist/src/config/edit.js +237 -0
- package/dist/src/config/index.js +15 -0
- package/dist/src/config/load.js +59 -0
- package/dist/src/config/previous.js +404 -0
- package/dist/src/config/schema/build.js +63 -0
- package/dist/src/config/schema/check.js +113 -0
- package/dist/src/config/schema/common.js +71 -0
- package/dist/src/config/schema/export-queue.js +36 -0
- package/dist/src/config/schema/firefox.js +69 -0
- package/dist/src/config/schema/gate.js +199 -0
- package/dist/src/config/schema/identity.js +55 -0
- package/dist/src/config/schema/index.js +45 -0
- package/dist/src/config/schema/lint.js +297 -0
- package/dist/src/config/schema/policy.js +111 -0
- package/dist/src/config/schema/source.js +90 -0
- package/dist/src/config/schema/test.js +17 -0
- package/dist/src/config/schema/toolchains.js +17 -0
- package/dist/src/config/schema/typecheck.js +29 -0
- package/dist/src/config/schema/wire.js +15 -0
- package/dist/src/diff/apply.js +129 -0
- package/dist/src/diff/index.js +16 -0
- package/dist/src/diff/model.js +267 -0
- package/dist/src/diff/query.js +65 -0
- package/dist/src/doctor/index.js +240 -0
- package/dist/src/engine/archive.js +396 -0
- package/dist/src/engine/audit.js +66 -0
- package/dist/src/engine/build.js +150 -0
- package/dist/src/engine/hostLocks.js +66 -0
- package/dist/src/engine/index.js +26 -0
- package/dist/src/engine/installManifests.js +147 -0
- package/dist/src/engine/mach.js +97 -0
- package/dist/src/engine/machHints.js +80 -0
- package/dist/src/engine/mozconfig.js +110 -0
- package/dist/src/engine/objdir.js +124 -0
- package/dist/src/engine/package.js +169 -0
- package/dist/src/engine/pin.js +12 -0
- package/dist/src/engine/pool.js +423 -0
- package/dist/src/engine/pristine.js +281 -0
- package/dist/src/engine/python.js +68 -0
- package/dist/src/engine/resourceGuard.js +582 -0
- package/dist/src/engine/run.js +259 -0
- package/dist/src/engine/smoke.js +204 -0
- package/dist/src/engine/staleness.js +229 -0
- package/dist/src/engine/watch.js +82 -0
- package/dist/src/engine/workspace.js +85 -0
- package/dist/src/furnace/config.js +360 -0
- package/dist/src/furnace/deploy.js +414 -0
- package/dist/src/furnace/diff.js +59 -0
- package/dist/src/furnace/edit.js +64 -0
- package/dist/src/furnace/fragments.js +53 -0
- package/dist/src/furnace/index.js +19 -0
- package/dist/src/furnace/operations.js +283 -0
- package/dist/src/furnace/registration.js +220 -0
- package/dist/src/furnace/scaffold.js +311 -0
- package/dist/src/furnace/typing.js +252 -0
- package/dist/src/furnace/validate.js +662 -0
- package/dist/src/git/apply.js +129 -0
- package/dist/src/git/diff.js +143 -0
- package/dist/src/git/index.js +33 -0
- package/dist/src/git/objects.js +201 -0
- package/dist/src/git/refs.js +85 -0
- package/dist/src/git/repo.js +222 -0
- package/dist/src/git/run.js +242 -0
- package/dist/src/git/status.js +156 -0
- package/dist/src/kernel/errors.js +123 -0
- package/dist/src/kernel/fs.js +515 -0
- package/dist/src/kernel/glob.js +63 -0
- package/dist/src/kernel/hash.js +28 -0
- package/dist/src/kernel/journal.js +524 -0
- package/dist/src/kernel/json-edit.js +198 -0
- package/dist/src/kernel/json.js +101 -0
- package/dist/src/kernel/lock.js +589 -0
- package/dist/src/kernel/log.js +154 -0
- package/dist/src/kernel/process/identity.js +313 -0
- package/dist/src/kernel/process/index.js +8 -0
- package/dist/src/kernel/process/listing.js +128 -0
- package/dist/src/kernel/process/spawn.js +430 -0
- package/dist/src/kernel/process/tree.js +301 -0
- package/dist/src/kernel/schema.js +308 -0
- package/dist/src/kernel/signals.js +171 -0
- package/dist/src/kernel/text.js +151 -0
- package/dist/src/kernel/time.js +83 -0
- package/dist/src/kernel/tty.js +84 -0
- package/dist/src/lint/cache.js +77 -0
- package/dist/src/lint/checkjs.js +400 -0
- package/dist/src/lint/index.js +3 -0
- package/dist/src/lint/input.js +100 -0
- package/dist/src/lint/report.js +107 -0
- package/dist/src/lint/rule.js +41 -0
- package/dist/src/lint/rules/css.js +308 -0
- package/dist/src/lint/rules/javascript.js +299 -0
- package/dist/src/lint/rules/jsdoc.js +249 -0
- package/dist/src/lint/rules/license.js +93 -0
- package/dist/src/lint/rules/policy.js +201 -0
- package/dist/src/lint/rules/registration.js +264 -0
- package/dist/src/lint/rules/size.js +299 -0
- package/dist/src/lint/run.js +126 -0
- package/dist/src/lint/shim.js +323 -0
- package/dist/src/lint/typescript.js +186 -0
- package/dist/src/lint/waivers.js +93 -0
- package/dist/src/mode/changes.js +264 -0
- package/dist/src/mode/diagnose.js +173 -0
- package/dist/src/mode/export.js +147 -0
- package/dist/src/mode/index.js +23 -0
- package/dist/src/mode/migrate.js +181 -0
- package/dist/src/mode/previousWaivers.js +206 -0
- package/dist/src/mode/pristine.js +61 -0
- package/dist/src/mode/rebase.js +197 -0
- package/dist/src/mode/report.js +157 -0
- package/dist/src/mode/setup.js +103 -0
- package/dist/src/mode/tracked.js +116 -0
- package/dist/src/mode/upgrade.js +281 -0
- package/dist/src/mode/watch.js +83 -0
- package/dist/src/mode/workspace.js +189 -0
- package/dist/src/mozbuild/index.js +6 -0
- package/dist/src/mozbuild/jar.js +366 -0
- package/dist/src/mozbuild/mozbuild.js +321 -0
- package/dist/src/mozbuild/paths.js +96 -0
- package/dist/src/mozbuild/references.js +39 -0
- package/dist/src/mozbuild/testManifest.js +343 -0
- package/dist/src/mozbuild/text.js +142 -0
- package/dist/src/project/changes.js +145 -0
- package/dist/src/project/checkout.js +66 -0
- package/dist/src/project/index.js +11 -0
- package/dist/src/project/license.js +119 -0
- package/dist/src/project/project.js +111 -0
- package/dist/src/project/state.js +85 -0
- package/dist/src/project/tracked.js +1 -0
- package/dist/src/queue/apply.js +270 -0
- package/dist/src/queue/attribute.js +159 -0
- package/dist/src/queue/baseline.js +409 -0
- package/dist/src/queue/capture.js +298 -0
- package/dist/src/queue/changes.js +234 -0
- package/dist/src/queue/index.js +50 -0
- package/dist/src/queue/manifest.js +341 -0
- package/dist/src/queue/operations.js +454 -0
- package/dist/src/queue/placement.js +220 -0
- package/dist/src/queue/queue.js +359 -0
- package/dist/src/queue/restore.js +103 -0
- package/dist/src/queue/session.js +685 -0
- package/dist/src/queue/status.js +137 -0
- package/dist/src/register/files.js +39 -0
- package/dist/src/register/index.js +8 -0
- package/dist/src/register/js.js +217 -0
- package/dist/src/register/register.js +359 -0
- package/dist/src/register/wire.js +146 -0
- package/dist/src/source/adopt.js +99 -0
- package/dist/src/source/changes.js +132 -0
- package/dist/src/source/edit.js +278 -0
- package/dist/src/source/export.js +70 -0
- package/dist/src/source/groups.js +131 -0
- package/dist/src/source/index.js +20 -0
- package/dist/src/source/materialize.js +382 -0
- package/dist/src/source/merge.js +255 -0
- package/dist/src/source/objects.js +102 -0
- package/dist/src/source/previous.js +166 -0
- package/dist/src/source/records.js +138 -0
- package/dist/src/source/refresh.js +264 -0
- package/dist/src/source/tree.js +337 -0
- package/dist/src/syntax/css.js +215 -0
- package/dist/src/syntax/fragments.js +63 -0
- package/dist/src/syntax/index.js +10 -0
- package/dist/src/syntax/js.js +270 -0
- package/dist/src/test/classify.js +826 -0
- package/dist/src/test/control.js +236 -0
- package/dist/src/test/host.js +266 -0
- package/dist/src/test/index.js +11 -0
- package/dist/src/test/plan.js +347 -0
- package/dist/src/test/rawLog.js +138 -0
- package/dist/src/test/run.js +404 -0
- package/dist/src/test/verdict.js +420 -0
- package/dist/src/test/xpcshell.js +143 -0
- package/dist/src/tokens/add.js +304 -0
- package/dist/src/tokens/coverage.js +65 -0
- package/dist/src/tokens/css.js +58 -0
- package/dist/src/tokens/index.js +12 -0
- package/dist/src/tokens/lint.js +96 -0
- package/dist/src/tokens/model.js +118 -0
- package/dist/src/tokens/settings.js +87 -0
- package/dist/src/tokens/siblings.js +104 -0
- package/dist/src/typecheck/explain.js +123 -0
- package/dist/src/typecheck/index.js +8 -0
- package/dist/src/typecheck/typecheck.js +332 -0
- package/docs/README.md +23 -28
- package/docs/authoring.md +97 -0
- package/docs/configuration.md +307 -766
- package/docs/exit-codes.md +76 -94
- package/docs/furnace.md +111 -221
- package/docs/gate.md +205 -0
- package/docs/getting-started.md +165 -0
- package/docs/machine-output.md +201 -290
- package/docs/migrating.md +261 -0
- package/docs/patch-workflow.md +159 -723
- package/docs/quality.md +220 -0
- package/docs/source-workflow.md +228 -0
- package/docs/testing.md +101 -719
- package/docs/workspaces.md +187 -0
- package/package.json +22 -30
- package/templates/configs/common.mozconfig +8 -2
- package/templates/configs/darwin.mozconfig +6 -7
- package/templates/configs/linux.mozconfig +5 -8
- package/templates/configs/win32.mozconfig +3 -9
- package/dist/bin/fireforge.d.ts +0 -9
- package/dist/src/cli-usage-error.d.ts +0 -46
- package/dist/src/cli-usage-error.js +0 -81
- package/dist/src/cli.d.ts +0 -41
- package/dist/src/cli.js +0 -380
- package/dist/src/commands/bootstrap-checks.d.ts +0 -16
- package/dist/src/commands/bootstrap-checks.js +0 -66
- package/dist/src/commands/bootstrap.d.ts +0 -10
- package/dist/src/commands/build-prelock.d.ts +0 -20
- package/dist/src/commands/build-prelock.js +0 -50
- package/dist/src/commands/build.d.ts +0 -13
- package/dist/src/commands/check-report.d.ts +0 -41
- package/dist/src/commands/check-report.js +0 -98
- package/dist/src/commands/check-run.d.ts +0 -44
- package/dist/src/commands/check-run.js +0 -125
- package/dist/src/commands/check-steps.d.ts +0 -75
- package/dist/src/commands/check-steps.js +0 -200
- package/dist/src/commands/check.d.ts +0 -32
- package/dist/src/commands/config.d.ts +0 -13
- package/dist/src/commands/declarations-report.d.ts +0 -49
- package/dist/src/commands/declarations-report.js +0 -83
- package/dist/src/commands/destructive-decision.d.ts +0 -19
- package/dist/src/commands/destructive-decision.js +0 -31
- package/dist/src/commands/discard.d.ts +0 -12
- package/dist/src/commands/doctor-check-core.d.ts +0 -110
- package/dist/src/commands/doctor-check-core.js +0 -24
- package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
- package/dist/src/commands/doctor-engine-eslint.js +0 -17
- package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
- package/dist/src/commands/doctor-external-toolchains.js +0 -56
- package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
- package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
- package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
- package/dist/src/commands/doctor-furnace-jar.js +0 -44
- package/dist/src/commands/doctor-furnace.d.ts +0 -8
- package/dist/src/commands/doctor-furnace.js +0 -514
- package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
- package/dist/src/commands/doctor-macos-sdk.js +0 -158
- package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
- package/dist/src/commands/doctor-orphaned-harness.js +0 -98
- package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
- package/dist/src/commands/doctor-patch-manifest.js +0 -156
- package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
- package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
- package/dist/src/commands/doctor-source-pin.d.ts +0 -29
- package/dist/src/commands/doctor-source-pin.js +0 -91
- package/dist/src/commands/doctor-working-tree.d.ts +0 -27
- package/dist/src/commands/doctor-working-tree.js +0 -89
- package/dist/src/commands/doctor.d.ts +0 -49
- package/dist/src/commands/download.d.ts +0 -11
- package/dist/src/commands/export-adopt-check.d.ts +0 -37
- package/dist/src/commands/export-adopt-check.js +0 -97
- package/dist/src/commands/export-all.d.ts +0 -11
- package/dist/src/commands/export-all.js +0 -361
- package/dist/src/commands/export-flow.d.ts +0 -124
- package/dist/src/commands/export-flow.js +0 -423
- package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
- package/dist/src/commands/export-placement-conflicts.js +0 -75
- package/dist/src/commands/export-placement-gate.d.ts +0 -42
- package/dist/src/commands/export-placement-gate.js +0 -107
- package/dist/src/commands/export-placement-policy.d.ts +0 -22
- package/dist/src/commands/export-placement-policy.js +0 -54
- package/dist/src/commands/export-shared.d.ts +0 -152
- package/dist/src/commands/export-shared.js +0 -396
- package/dist/src/commands/export-staged-registration.d.ts +0 -46
- package/dist/src/commands/export-staged-registration.js +0 -91
- package/dist/src/commands/export.d.ts +0 -13
- package/dist/src/commands/forward-import-remedy.d.ts +0 -31
- package/dist/src/commands/forward-import-remedy.js +0 -62
- package/dist/src/commands/furnace/apply.d.ts +0 -8
- package/dist/src/commands/furnace/apply.js +0 -327
- package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
- package/dist/src/commands/furnace/authoring-config.js +0 -19
- package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
- package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
- package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
- package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
- package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
- package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
- package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
- package/dist/src/commands/furnace/chrome-doc.js +0 -365
- package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
- package/dist/src/commands/furnace/create-browser-test.js +0 -179
- package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
- package/dist/src/commands/furnace/create-dry-run.js +0 -107
- package/dist/src/commands/furnace/create-features.d.ts +0 -24
- package/dist/src/commands/furnace/create-features.js +0 -55
- package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
- package/dist/src/commands/furnace/create-mochikit.js +0 -75
- package/dist/src/commands/furnace/create-readback.d.ts +0 -22
- package/dist/src/commands/furnace/create-readback.js +0 -32
- package/dist/src/commands/furnace/create-templates.d.ts +0 -119
- package/dist/src/commands/furnace/create-templates.js +0 -283
- package/dist/src/commands/furnace/create-validation.d.ts +0 -6
- package/dist/src/commands/furnace/create-validation.js +0 -59
- package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
- package/dist/src/commands/furnace/create-xpcshell.js +0 -80
- package/dist/src/commands/furnace/create.d.ts +0 -24
- package/dist/src/commands/furnace/create.js +0 -407
- package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
- package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
- package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
- package/dist/src/commands/furnace/deploy-named.js +0 -107
- package/dist/src/commands/furnace/deploy.d.ts +0 -9
- package/dist/src/commands/furnace/deploy.js +0 -229
- package/dist/src/commands/furnace/diff.d.ts +0 -11
- package/dist/src/commands/furnace/diff.js +0 -238
- package/dist/src/commands/furnace/index.d.ts +0 -4
- package/dist/src/commands/furnace/index.js +0 -283
- package/dist/src/commands/furnace/init.d.ts +0 -11
- package/dist/src/commands/furnace/init.js +0 -287
- package/dist/src/commands/furnace/list.d.ts +0 -8
- package/dist/src/commands/furnace/list.js +0 -104
- package/dist/src/commands/furnace/override.d.ts +0 -16
- package/dist/src/commands/furnace/override.js +0 -454
- package/dist/src/commands/furnace/preview.d.ts +0 -19
- package/dist/src/commands/furnace/preview.js +0 -349
- package/dist/src/commands/furnace/refresh.d.ts +0 -10
- package/dist/src/commands/furnace/refresh.js +0 -303
- package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
- package/dist/src/commands/furnace/remove-mutations.js +0 -168
- package/dist/src/commands/furnace/remove-state.d.ts +0 -20
- package/dist/src/commands/furnace/remove-state.js +0 -60
- package/dist/src/commands/furnace/remove.d.ts +0 -8
- package/dist/src/commands/furnace/remove.js +0 -415
- package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
- package/dist/src/commands/furnace/rename-browser-test.js +0 -68
- package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
- package/dist/src/commands/furnace/rename-dry-run.js +0 -127
- package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
- package/dist/src/commands/furnace/rename-helpers.js +0 -85
- package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
- package/dist/src/commands/furnace/rename-registrations.js +0 -98
- package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
- package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
- package/dist/src/commands/furnace/rename.d.ts +0 -6
- package/dist/src/commands/furnace/rename.js +0 -400
- package/dist/src/commands/furnace/scan.d.ts +0 -14
- package/dist/src/commands/furnace/scan.js +0 -192
- package/dist/src/commands/furnace/status.d.ts +0 -7
- package/dist/src/commands/furnace/status.js +0 -209
- package/dist/src/commands/furnace/sync.d.ts +0 -12
- package/dist/src/commands/furnace/sync.js +0 -145
- package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
- package/dist/src/commands/furnace/test-file-name.js +0 -39
- package/dist/src/commands/furnace/validate-report.d.ts +0 -45
- package/dist/src/commands/furnace/validate-report.js +0 -91
- package/dist/src/commands/furnace/validate.d.ts +0 -8
- package/dist/src/commands/furnace/validate.js +0 -309
- package/dist/src/commands/furnace/validation-output.d.ts +0 -47
- package/dist/src/commands/furnace/validation-output.js +0 -161
- package/dist/src/commands/import.d.ts +0 -11
- package/dist/src/commands/lint-per-patch.d.ts +0 -10
- package/dist/src/commands/lint-per-patch.js +0 -428
- package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
- package/dist/src/commands/lint-per-run-checkjs.js +0 -102
- package/dist/src/commands/lint-report.d.ts +0 -25
- package/dist/src/commands/lint-report.js +0 -76
- package/dist/src/commands/lint.d.ts +0 -47
- package/dist/src/commands/manifest.d.ts +0 -38
- package/dist/src/commands/manifest.js +0 -68
- package/dist/src/commands/package.d.ts +0 -11
- package/dist/src/commands/park.d.ts +0 -22
- package/dist/src/commands/park.js +0 -232
- package/dist/src/commands/patch/body.d.ts +0 -29
- package/dist/src/commands/patch/body.js +0 -60
- package/dist/src/commands/patch/compact.d.ts +0 -28
- package/dist/src/commands/patch/compact.js +0 -208
- package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
- package/dist/src/commands/patch/delete-gap-notice.js +0 -48
- package/dist/src/commands/patch/delete.d.ts +0 -28
- package/dist/src/commands/patch/delete.js +0 -131
- package/dist/src/commands/patch/entry-projection.d.ts +0 -13
- package/dist/src/commands/patch/entry-projection.js +0 -24
- package/dist/src/commands/patch/index.d.ts +0 -16
- package/dist/src/commands/patch/index.js +0 -54
- package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
- package/dist/src/commands/patch/lint-ignore-from.js +0 -141
- package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
- package/dist/src/commands/patch/lint-ignore.js +0 -263
- package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
- package/dist/src/commands/patch/move-files-adopt.js +0 -65
- package/dist/src/commands/patch/move-files-create.d.ts +0 -19
- package/dist/src/commands/patch/move-files-create.js +0 -187
- package/dist/src/commands/patch/move-files-into.d.ts +0 -65
- package/dist/src/commands/patch/move-files-into.js +0 -325
- package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
- package/dist/src/commands/patch/move-files-retire.js +0 -91
- package/dist/src/commands/patch/move-files.d.ts +0 -28
- package/dist/src/commands/patch/move-files.js +0 -224
- package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
- package/dist/src/commands/patch/move-size-tier.js +0 -66
- package/dist/src/commands/patch/patch-context.d.ts +0 -40
- package/dist/src/commands/patch/patch-context.js +0 -51
- package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
- package/dist/src/commands/patch/removal-created-files.js +0 -83
- package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
- package/dist/src/commands/patch/removal-dependents.js +0 -133
- package/dist/src/commands/patch/rename.d.ts +0 -35
- package/dist/src/commands/patch/rename.js +0 -378
- package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
- package/dist/src/commands/patch/reorder-projection.js +0 -49
- package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
- package/dist/src/commands/patch/reorder-shift.js +0 -307
- package/dist/src/commands/patch/reorder.d.ts +0 -34
- package/dist/src/commands/patch/reorder.js +0 -375
- package/dist/src/commands/patch/reserve.d.ts +0 -33
- package/dist/src/commands/patch/reserve.js +0 -152
- package/dist/src/commands/patch/retire.d.ts +0 -34
- package/dist/src/commands/patch/retire.js +0 -133
- package/dist/src/commands/patch/split-plan.d.ts +0 -125
- package/dist/src/commands/patch/split-plan.js +0 -313
- package/dist/src/commands/patch/split-staged.d.ts +0 -108
- package/dist/src/commands/patch/split-staged.js +0 -202
- package/dist/src/commands/patch/split.d.ts +0 -43
- package/dist/src/commands/patch/split.js +0 -367
- package/dist/src/commands/patch/stage.d.ts +0 -34
- package/dist/src/commands/patch/stage.js +0 -153
- package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
- package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
- package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
- package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
- package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
- package/dist/src/commands/patch/staged-dependency-from.js +0 -114
- package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
- package/dist/src/commands/patch/staged-dependency-remove.js +0 -114
- package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -27
- package/dist/src/commands/patch/staged-dependency-validate.js +0 -78
- package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
- package/dist/src/commands/patch/staged-dependency.js +0 -251
- package/dist/src/commands/patch/tier.d.ts +0 -34
- package/dist/src/commands/patch/tier.js +0 -125
- package/dist/src/commands/patch-rename-map.d.ts +0 -30
- package/dist/src/commands/patch-rename-map.js +0 -54
- package/dist/src/commands/pending-resolution.d.ts +0 -15
- package/dist/src/commands/pending-resolution.js +0 -25
- package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
- package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
- package/dist/src/commands/re-export-adjacent.d.ts +0 -111
- package/dist/src/commands/re-export-adjacent.js +0 -285
- package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
- package/dist/src/commands/re-export-bulk-scan.js +0 -233
- package/dist/src/commands/re-export-drift.d.ts +0 -110
- package/dist/src/commands/re-export-drift.js +0 -358
- package/dist/src/commands/re-export-each.d.ts +0 -46
- package/dist/src/commands/re-export-each.js +0 -110
- package/dist/src/commands/re-export-files.d.ts +0 -15
- package/dist/src/commands/re-export-files.js +0 -307
- package/dist/src/commands/re-export-hunks.d.ts +0 -37
- package/dist/src/commands/re-export-hunks.js +0 -264
- package/dist/src/commands/re-export-lint.d.ts +0 -137
- package/dist/src/commands/re-export-lint.js +0 -303
- package/dist/src/commands/re-export-options.d.ts +0 -29
- package/dist/src/commands/re-export-options.js +0 -192
- package/dist/src/commands/re-export-preflight.d.ts +0 -23
- package/dist/src/commands/re-export-preflight.js +0 -159
- package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
- package/dist/src/commands/re-export-purity-scope.js +0 -137
- package/dist/src/commands/re-export-register.d.ts +0 -12
- package/dist/src/commands/re-export-register.js +0 -99
- package/dist/src/commands/re-export-removed.d.ts +0 -15
- package/dist/src/commands/re-export-removed.js +0 -94
- package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
- package/dist/src/commands/re-export-retired-declarations.js +0 -113
- package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
- package/dist/src/commands/re-export-scan-owner.js +0 -116
- package/dist/src/commands/re-export-scan.d.ts +0 -72
- package/dist/src/commands/re-export-scan.js +0 -265
- package/dist/src/commands/re-export-single.d.ts +0 -53
- package/dist/src/commands/re-export-single.js +0 -426
- package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
- package/dist/src/commands/re-export-stale-registrations.js +0 -106
- package/dist/src/commands/re-export-summary.d.ts +0 -44
- package/dist/src/commands/re-export-summary.js +0 -59
- package/dist/src/commands/re-export.d.ts +0 -8
- package/dist/src/commands/rebase/abort.d.ts +0 -7
- package/dist/src/commands/rebase/abort.js +0 -67
- package/dist/src/commands/rebase/confirm.d.ts +0 -42
- package/dist/src/commands/rebase/confirm.js +0 -36
- package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
- package/dist/src/commands/rebase/conflict-summary.js +0 -37
- package/dist/src/commands/rebase/continue.d.ts +0 -7
- package/dist/src/commands/rebase/continue.js +0 -119
- package/dist/src/commands/rebase/index.d.ts +0 -22
- package/dist/src/commands/rebase/index.js +0 -209
- package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
- package/dist/src/commands/rebase/patch-loop.js +0 -289
- package/dist/src/commands/rebase/summary.d.ts +0 -8
- package/dist/src/commands/rebase/summary.js +0 -47
- package/dist/src/commands/register.d.ts +0 -13
- package/dist/src/commands/reset.d.ts +0 -11
- package/dist/src/commands/resolve.d.ts +0 -36
- package/dist/src/commands/run.d.ts +0 -10
- package/dist/src/commands/setup-support.d.ts +0 -35
- package/dist/src/commands/setup-support.js +0 -386
- package/dist/src/commands/setup.d.ts +0 -11
- package/dist/src/commands/source.d.ts +0 -9
- package/dist/src/commands/source.js +0 -120
- package/dist/src/commands/status-check.d.ts +0 -87
- package/dist/src/commands/status-check.js +0 -161
- package/dist/src/commands/status-json.d.ts +0 -45
- package/dist/src/commands/status-json.js +0 -97
- package/dist/src/commands/status-output.d.ts +0 -23
- package/dist/src/commands/status-output.js +0 -231
- package/dist/src/commands/status-ownership.d.ts +0 -54
- package/dist/src/commands/status-ownership.js +0 -59
- package/dist/src/commands/status-scope.d.ts +0 -37
- package/dist/src/commands/status-scope.js +0 -54
- package/dist/src/commands/status.d.ts +0 -11
- package/dist/src/commands/test-appdir.d.ts +0 -6
- package/dist/src/commands/test-appdir.js +0 -29
- package/dist/src/commands/test-browser-preflight.d.ts +0 -28
- package/dist/src/commands/test-browser-preflight.js +0 -197
- package/dist/src/commands/test-build-furnace.d.ts +0 -21
- package/dist/src/commands/test-build-furnace.js +0 -53
- package/dist/src/commands/test-build-phase.d.ts +0 -34
- package/dist/src/commands/test-build-phase.js +0 -291
- package/dist/src/commands/test-checkjs.d.ts +0 -3
- package/dist/src/commands/test-checkjs.js +0 -35
- package/dist/src/commands/test-control-restore.d.ts +0 -40
- package/dist/src/commands/test-control-restore.js +0 -86
- package/dist/src/commands/test-diagnose.d.ts +0 -23
- package/dist/src/commands/test-diagnose.js +0 -317
- package/dist/src/commands/test-dispatch.d.ts +0 -39
- package/dist/src/commands/test-dispatch.js +0 -281
- package/dist/src/commands/test-furnace-reach.d.ts +0 -37
- package/dist/src/commands/test-furnace-reach.js +0 -132
- package/dist/src/commands/test-harness-env.d.ts +0 -23
- package/dist/src/commands/test-harness-env.js +0 -81
- package/dist/src/commands/test-harness-teardown.d.ts +0 -62
- package/dist/src/commands/test-harness-teardown.js +0 -128
- package/dist/src/commands/test-modes.d.ts +0 -57
- package/dist/src/commands/test-modes.js +0 -158
- package/dist/src/commands/test-multi-verdict.d.ts +0 -61
- package/dist/src/commands/test-multi-verdict.js +0 -112
- package/dist/src/commands/test-orchestrate.d.ts +0 -70
- package/dist/src/commands/test-orchestrate.js +0 -277
- package/dist/src/commands/test-perf-scope.d.ts +0 -50
- package/dist/src/commands/test-perf-scope.js +0 -138
- package/dist/src/commands/test-prelock.d.ts +0 -61
- package/dist/src/commands/test-prelock.js +0 -301
- package/dist/src/commands/test-register.d.ts +0 -4
- package/dist/src/commands/test-register.js +0 -181
- package/dist/src/commands/test-results.d.ts +0 -71
- package/dist/src/commands/test-results.js +0 -79
- package/dist/src/commands/test-run.d.ts +0 -89
- package/dist/src/commands/test-run.js +0 -251
- package/dist/src/commands/test-shards.d.ts +0 -114
- package/dist/src/commands/test-shards.js +0 -272
- package/dist/src/commands/test-stale-gate.d.ts +0 -56
- package/dist/src/commands/test-stale-gate.js +0 -208
- package/dist/src/commands/test-verdict.d.ts +0 -102
- package/dist/src/commands/test-verdict.js +0 -176
- package/dist/src/commands/test.d.ts +0 -22
- package/dist/src/commands/token-coverage.d.ts +0 -5
- package/dist/src/commands/token-coverage.js +0 -170
- package/dist/src/commands/token-lint.d.ts +0 -14
- package/dist/src/commands/token-lint.js +0 -151
- package/dist/src/commands/token-list.d.ts +0 -26
- package/dist/src/commands/token-list.js +0 -153
- package/dist/src/commands/token.d.ts +0 -14
- package/dist/src/commands/tree.d.ts +0 -19
- package/dist/src/commands/tree.js +0 -341
- package/dist/src/commands/typecheck-explain.d.ts +0 -13
- package/dist/src/commands/typecheck-explain.js +0 -100
- package/dist/src/commands/typecheck.d.ts +0 -61
- package/dist/src/commands/verify-scope.d.ts +0 -28
- package/dist/src/commands/verify-scope.js +0 -67
- package/dist/src/commands/verify.d.ts +0 -58
- package/dist/src/commands/watch.d.ts +0 -9
- package/dist/src/commands/wire.d.ts +0 -13
- package/dist/src/core/ast-utils.d.ts +0 -73
- package/dist/src/core/ast-utils.js +0 -105
- package/dist/src/core/brand-validation.d.ts +0 -7
- package/dist/src/core/brand-validation.js +0 -14
- package/dist/src/core/branding.d.ts +0 -86
- package/dist/src/core/branding.js +0 -371
- package/dist/src/core/browser-wire.d.ts +0 -48
- package/dist/src/core/browser-wire.js +0 -133
- package/dist/src/core/build-audit-platform.d.ts +0 -67
- package/dist/src/core/build-audit-platform.js +0 -373
- package/dist/src/core/build-audit-registration.d.ts +0 -80
- package/dist/src/core/build-audit-registration.js +0 -181
- package/dist/src/core/build-audit-resolve.d.ts +0 -78
- package/dist/src/core/build-audit-resolve.js +0 -240
- package/dist/src/core/build-audit-skip.d.ts +0 -57
- package/dist/src/core/build-audit-skip.js +0 -112
- package/dist/src/core/build-audit-transforms.d.ts +0 -23
- package/dist/src/core/build-audit-transforms.js +0 -92
- package/dist/src/core/build-audit.d.ts +0 -93
- package/dist/src/core/build-audit.js +0 -633
- package/dist/src/core/build-baseline-types.d.ts +0 -225
- package/dist/src/core/build-baseline-types.js +0 -10
- package/dist/src/core/build-baseline-validate.d.ts +0 -32
- package/dist/src/core/build-baseline-validate.js +0 -173
- package/dist/src/core/build-baseline.d.ts +0 -103
- package/dist/src/core/build-baseline.js +0 -261
- package/dist/src/core/build-jar-escalation.d.ts +0 -61
- package/dist/src/core/build-jar-escalation.js +0 -125
- package/dist/src/core/build-overwrite-guard.d.ts +0 -92
- package/dist/src/core/build-overwrite-guard.js +0 -235
- package/dist/src/core/build-prepare.d.ts +0 -83
- package/dist/src/core/build-prepare.js +0 -414
- package/dist/src/core/build-run-record.d.ts +0 -74
- package/dist/src/core/build-run-record.js +0 -136
- package/dist/src/core/checkjs-support-heads.d.ts +0 -41
- package/dist/src/core/checkjs-support-heads.js +0 -104
- package/dist/src/core/component-source-guard.d.ts +0 -20
- package/dist/src/core/component-source-guard.js +0 -68
- package/dist/src/core/config-mutate.d.ts +0 -16
- package/dist/src/core/config-mutate.js +0 -76
- package/dist/src/core/config-paths.d.ts +0 -16
- package/dist/src/core/config-paths.js +0 -106
- package/dist/src/core/config-state.d.ts +0 -16
- package/dist/src/core/config-state.js +0 -141
- package/dist/src/core/config-validate-build-audit.d.ts +0 -8
- package/dist/src/core/config-validate-build-audit.js +0 -80
- package/dist/src/core/config-validate-check.d.ts +0 -8
- package/dist/src/core/config-validate-check.js +0 -219
- package/dist/src/core/config-validate-file-size.d.ts +0 -15
- package/dist/src/core/config-validate-file-size.js +0 -154
- package/dist/src/core/config-validate-history.d.ts +0 -11
- package/dist/src/core/config-validate-history.js +0 -38
- package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
- package/dist/src/core/config-validate-patch-policy.js +0 -284
- package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
- package/dist/src/core/config-validate-test-toolchains.js +0 -133
- package/dist/src/core/config-validate-token-scales.d.ts +0 -9
- package/dist/src/core/config-validate-token-scales.js +0 -125
- package/dist/src/core/config-validate.d.ts +0 -11
- package/dist/src/core/config-validate.js +0 -509
- package/dist/src/core/config.d.ts +0 -92
- package/dist/src/core/config.js +0 -169
- package/dist/src/core/coverage-dispatch.d.ts +0 -24
- package/dist/src/core/coverage-dispatch.js +0 -44
- package/dist/src/core/coverage-extend.d.ts +0 -89
- package/dist/src/core/coverage-extend.js +0 -239
- package/dist/src/core/coverage-records.d.ts +0 -107
- package/dist/src/core/coverage-records.js +0 -383
- package/dist/src/core/destructive.d.ts +0 -144
- package/dist/src/core/destructive.js +0 -182
- package/dist/src/core/dev-profile.d.ts +0 -28
- package/dist/src/core/dev-profile.js +0 -58
- package/dist/src/core/diff-hunks.d.ts +0 -73
- package/dist/src/core/diff-hunks.js +0 -286
- package/dist/src/core/discard-baseline.d.ts +0 -60
- package/dist/src/core/discard-baseline.js +0 -247
- package/dist/src/core/display-state.d.ts +0 -50
- package/dist/src/core/display-state.js +0 -87
- package/dist/src/core/engine-changes.d.ts +0 -40
- package/dist/src/core/engine-changes.js +0 -95
- package/dist/src/core/engine-precondition.d.ts +0 -42
- package/dist/src/core/engine-precondition.js +0 -60
- package/dist/src/core/engine-session-lock.d.ts +0 -119
- package/dist/src/core/engine-session-lock.js +0 -374
- package/dist/src/core/engine-write-boundary.d.ts +0 -5
- package/dist/src/core/engine-write-boundary.js +0 -41
- package/dist/src/core/export-moved-code-shape.d.ts +0 -98
- package/dist/src/core/export-moved-code-shape.js +0 -220
- package/dist/src/core/file-lock-owner.d.ts +0 -103
- package/dist/src/core/file-lock-owner.js +0 -259
- package/dist/src/core/file-lock-queue.d.ts +0 -67
- package/dist/src/core/file-lock-queue.js +0 -219
- package/dist/src/core/file-lock-shared.d.ts +0 -57
- package/dist/src/core/file-lock-shared.js +0 -117
- package/dist/src/core/file-lock.d.ts +0 -143
- package/dist/src/core/file-lock.js +0 -531
- package/dist/src/core/firefox-archive.d.ts +0 -45
- package/dist/src/core/firefox-archive.js +0 -96
- package/dist/src/core/firefox-cache.d.ts +0 -30
- package/dist/src/core/firefox-cache.js +0 -248
- package/dist/src/core/firefox-download.d.ts +0 -30
- package/dist/src/core/firefox-download.js +0 -152
- package/dist/src/core/firefox-extract.d.ts +0 -42
- package/dist/src/core/firefox-extract.js +0 -248
- package/dist/src/core/firefox-ignorefile.d.ts +0 -17
- package/dist/src/core/firefox-ignorefile.js +0 -30
- package/dist/src/core/firefox.d.ts +0 -66
- package/dist/src/core/firefox.js +0 -121
- package/dist/src/core/forward-registrations.d.ts +0 -33
- package/dist/src/core/forward-registrations.js +0 -16
- package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
- package/dist/src/core/furnace-apply-dry-run.js +0 -99
- package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
- package/dist/src/core/furnace-apply-ftl.js +0 -210
- package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
- package/dist/src/core/furnace-apply-helpers.js +0 -436
- package/dist/src/core/furnace-apply-output.d.ts +0 -36
- package/dist/src/core/furnace-apply-output.js +0 -111
- package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -67
- package/dist/src/core/furnace-apply-overwrite-warn.js +0 -131
- package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
- package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
- package/dist/src/core/furnace-apply.d.ts +0 -49
- package/dist/src/core/furnace-apply.js +0 -465
- package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
- package/dist/src/core/furnace-checksum-utils.js +0 -54
- package/dist/src/core/furnace-composed-source.d.ts +0 -76
- package/dist/src/core/furnace-composed-source.js +0 -167
- package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
- package/dist/src/core/furnace-config-array-utils.js +0 -26
- package/dist/src/core/furnace-config-custom.d.ts +0 -15
- package/dist/src/core/furnace-config-custom.js +0 -73
- package/dist/src/core/furnace-config-order.d.ts +0 -8
- package/dist/src/core/furnace-config-order.js +0 -90
- package/dist/src/core/furnace-config-tokens.d.ts +0 -17
- package/dist/src/core/furnace-config-tokens.js +0 -42
- package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
- package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
- package/dist/src/core/furnace-config-validate.d.ts +0 -32
- package/dist/src/core/furnace-config-validate.js +0 -167
- package/dist/src/core/furnace-config.d.ts +0 -139
- package/dist/src/core/furnace-config.js +0 -511
- package/dist/src/core/furnace-constants.d.ts +0 -81
- package/dist/src/core/furnace-constants.js +0 -125
- package/dist/src/core/furnace-css-fragments.d.ts +0 -96
- package/dist/src/core/furnace-css-fragments.js +0 -279
- package/dist/src/core/furnace-deploy-owner.d.ts +0 -29
- package/dist/src/core/furnace-deploy-owner.js +0 -116
- package/dist/src/core/furnace-dir-entry.d.ts +0 -20
- package/dist/src/core/furnace-dir-entry.js +0 -21
- package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
- package/dist/src/core/furnace-fragment-includers.js +0 -122
- package/dist/src/core/furnace-graph-utils.d.ts +0 -11
- package/dist/src/core/furnace-graph-utils.js +0 -93
- package/dist/src/core/furnace-jsconfig.d.ts +0 -87
- package/dist/src/core/furnace-jsconfig.js +0 -248
- package/dist/src/core/furnace-marker.d.ts +0 -15
- package/dist/src/core/furnace-marker.js +0 -21
- package/dist/src/core/furnace-operation.d.ts +0 -195
- package/dist/src/core/furnace-operation.js +0 -444
- package/dist/src/core/furnace-precondition.d.ts +0 -61
- package/dist/src/core/furnace-precondition.js +0 -67
- package/dist/src/core/furnace-refresh.d.ts +0 -28
- package/dist/src/core/furnace-refresh.js +0 -125
- package/dist/src/core/furnace-registration-ast.d.ts +0 -53
- package/dist/src/core/furnace-registration-ast.js +0 -402
- package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
- package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
- package/dist/src/core/furnace-registration-remove.d.ts +0 -56
- package/dist/src/core/furnace-registration-remove.js +0 -260
- package/dist/src/core/furnace-registration-rename.d.ts +0 -26
- package/dist/src/core/furnace-registration-rename.js +0 -77
- package/dist/src/core/furnace-registration-validate.d.ts +0 -53
- package/dist/src/core/furnace-registration-validate.js +0 -110
- package/dist/src/core/furnace-registration.d.ts +0 -112
- package/dist/src/core/furnace-registration.js +0 -348
- package/dist/src/core/furnace-rollback.d.ts +0 -48
- package/dist/src/core/furnace-rollback.js +0 -170
- package/dist/src/core/furnace-scanner.d.ts +0 -47
- package/dist/src/core/furnace-scanner.js +0 -236
- package/dist/src/core/furnace-stale-export.d.ts +0 -60
- package/dist/src/core/furnace-stale-export.js +0 -125
- package/dist/src/core/furnace-staleness.d.ts +0 -24
- package/dist/src/core/furnace-staleness.js +0 -67
- package/dist/src/core/furnace-state-persist.d.ts +0 -68
- package/dist/src/core/furnace-state-persist.js +0 -116
- package/dist/src/core/furnace-step-errors.d.ts +0 -23
- package/dist/src/core/furnace-step-errors.js +0 -25
- package/dist/src/core/furnace-stories.d.ts +0 -37
- package/dist/src/core/furnace-stories.js +0 -186
- package/dist/src/core/furnace-tag-map.d.ts +0 -47
- package/dist/src/core/furnace-tag-map.js +0 -182
- package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
- package/dist/src/core/furnace-validate-accessibility.js +0 -417
- package/dist/src/core/furnace-validate-checks.d.ts +0 -4
- package/dist/src/core/furnace-validate-checks.js +0 -6
- package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
- package/dist/src/core/furnace-validate-compatibility.js +0 -295
- package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
- package/dist/src/core/furnace-validate-exceptions.js +0 -98
- package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
- package/dist/src/core/furnace-validate-helpers.js +0 -4
- package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
- package/dist/src/core/furnace-validate-icon-button.js +0 -78
- package/dist/src/core/furnace-validate-registration.d.ts +0 -67
- package/dist/src/core/furnace-validate-registration.js +0 -487
- package/dist/src/core/furnace-validate-structure.d.ts +0 -22
- package/dist/src/core/furnace-validate-structure.js +0 -122
- package/dist/src/core/furnace-validate.d.ts +0 -41
- package/dist/src/core/furnace-validate.js +0 -331
- package/dist/src/core/furnace-version-drift.d.ts +0 -57
- package/dist/src/core/furnace-version-drift.js +0 -102
- package/dist/src/core/gecko-dom-types.d.ts +0 -2
- package/dist/src/core/gecko-dom-types.js +0 -17
- package/dist/src/core/git-base.d.ts +0 -101
- package/dist/src/core/git-base.js +0 -162
- package/dist/src/core/git-diff-new-file.d.ts +0 -40
- package/dist/src/core/git-diff-new-file.js +0 -118
- package/dist/src/core/git-diff.d.ts +0 -82
- package/dist/src/core/git-diff.js +0 -539
- package/dist/src/core/git-file-ops.d.ts +0 -108
- package/dist/src/core/git-file-ops.js +0 -280
- package/dist/src/core/git-readonly-index.d.ts +0 -91
- package/dist/src/core/git-readonly-index.js +0 -177
- package/dist/src/core/git-status.d.ts +0 -84
- package/dist/src/core/git-status.js +0 -208
- package/dist/src/core/git.d.ts +0 -114
- package/dist/src/core/git.js +0 -540
- package/dist/src/core/harness-helper-pids.d.ts +0 -98
- package/dist/src/core/harness-helper-pids.js +0 -240
- package/dist/src/core/harness-orphans.d.ts +0 -118
- package/dist/src/core/harness-orphans.js +0 -268
- package/dist/src/core/harness-port-fallback.d.ts +0 -60
- package/dist/src/core/harness-port-fallback.js +0 -96
- package/dist/src/core/harness-port-reservation.d.ts +0 -60
- package/dist/src/core/harness-port-reservation.js +0 -122
- package/dist/src/core/history-log-file.d.ts +0 -61
- package/dist/src/core/history-log-file.js +0 -164
- package/dist/src/core/history-log.d.ts +0 -20
- package/dist/src/core/history-log.js +0 -30
- package/dist/src/core/json-preserving-edit.d.ts +0 -22
- package/dist/src/core/json-preserving-edit.js +0 -199
- package/dist/src/core/launchable-build.d.ts +0 -39
- package/dist/src/core/launchable-build.js +0 -85
- package/dist/src/core/license-headers.d.ts +0 -103
- package/dist/src/core/license-headers.js +0 -328
- package/dist/src/core/line-prefixer.d.ts +0 -18
- package/dist/src/core/line-prefixer.js +0 -34
- package/dist/src/core/lit-template-regions.d.ts +0 -4
- package/dist/src/core/lit-template-regions.js +0 -50
- package/dist/src/core/mach-build-artifacts.d.ts +0 -176
- package/dist/src/core/mach-build-artifacts.js +0 -436
- package/dist/src/core/mach-error-hints.d.ts +0 -24
- package/dist/src/core/mach-error-hints.js +0 -135
- package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
- package/dist/src/core/mach-known-noise-filter.js +0 -257
- package/dist/src/core/mach-mozconfig.d.ts +0 -57
- package/dist/src/core/mach-mozconfig.js +0 -166
- package/dist/src/core/mach-python.d.ts +0 -19
- package/dist/src/core/mach-python.js +0 -131
- package/dist/src/core/mach-resource-shim.d.ts +0 -107
- package/dist/src/core/mach-resource-shim.js +0 -640
- package/dist/src/core/mach.d.ts +0 -284
- package/dist/src/core/mach.js +0 -445
- package/dist/src/core/marionette-port.d.ts +0 -153
- package/dist/src/core/marionette-port.js +0 -474
- package/dist/src/core/marionette-preflight.d.ts +0 -58
- package/dist/src/core/marionette-preflight.js +0 -332
- package/dist/src/core/markdown-table.d.ts +0 -104
- package/dist/src/core/markdown-table.js +0 -265
- package/dist/src/core/mochitest-server-port.d.ts +0 -81
- package/dist/src/core/mochitest-server-port.js +0 -175
- package/dist/src/core/module-resolution-preflight.d.ts +0 -65
- package/dist/src/core/module-resolution-preflight.js +0 -171
- package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
- package/dist/src/core/moz-manifest-helpers.js +0 -163
- package/dist/src/core/moz-manifest-register.d.ts +0 -19
- package/dist/src/core/moz-manifest-register.js +0 -51
- package/dist/src/core/moz-manifest-rules.d.ts +0 -58
- package/dist/src/core/moz-manifest-rules.js +0 -264
- package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
- package/dist/src/core/moz-manifest-tokenizers.js +0 -108
- package/dist/src/core/negative-control-compiled.d.ts +0 -46
- package/dist/src/core/negative-control-compiled.js +0 -109
- package/dist/src/core/negative-control-diff.d.ts +0 -51
- package/dist/src/core/negative-control-diff.js +0 -167
- package/dist/src/core/negative-control.d.ts +0 -150
- package/dist/src/core/negative-control.js +0 -399
- package/dist/src/core/objdir-install-manifests.d.ts +0 -73
- package/dist/src/core/objdir-install-manifests.js +0 -226
- package/dist/src/core/objdir-maintenance.d.ts +0 -10
- package/dist/src/core/objdir-maintenance.js +0 -167
- package/dist/src/core/ownership-table.d.ts +0 -53
- package/dist/src/core/ownership-table.js +0 -159
- package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
- package/dist/src/core/parent-exit-watchdog.js +0 -69
- package/dist/src/core/park-store.d.ts +0 -63
- package/dist/src/core/park-store.js +0 -216
- package/dist/src/core/parser-fallback.d.ts +0 -50
- package/dist/src/core/parser-fallback.js +0 -61
- package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
- package/dist/src/core/patch-apply-fuzz.js +0 -125
- package/dist/src/core/patch-apply.d.ts +0 -88
- package/dist/src/core/patch-apply.js +0 -435
- package/dist/src/core/patch-export-coverage.d.ts +0 -49
- package/dist/src/core/patch-export-coverage.js +0 -73
- package/dist/src/core/patch-export-metadata.d.ts +0 -46
- package/dist/src/core/patch-export-metadata.js +0 -47
- package/dist/src/core/patch-export-update.d.ts +0 -55
- package/dist/src/core/patch-export-update.js +0 -95
- package/dist/src/core/patch-export.d.ts +0 -175
- package/dist/src/core/patch-export.js +0 -312
- package/dist/src/core/patch-files.d.ts +0 -17
- package/dist/src/core/patch-files.js +0 -59
- package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
- package/dist/src/core/patch-identifier-suggest.js +0 -135
- package/dist/src/core/patch-lint-binary.d.ts +0 -45
- package/dist/src/core/patch-lint-binary.js +0 -39
- package/dist/src/core/patch-lint-cache-checkjs.d.ts +0 -45
- package/dist/src/core/patch-lint-cache-checkjs.js +0 -195
- package/dist/src/core/patch-lint-cache.d.ts +0 -79
- package/dist/src/core/patch-lint-cache.js +0 -247
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -57
- package/dist/src/core/patch-lint-checkjs-any-import.js +0 -91
- package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
- package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
- package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
- package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
- package/dist/src/core/patch-lint-checkjs-resolve.d.ts +0 -31
- package/dist/src/core/patch-lint-checkjs-resolve.js +0 -86
- package/dist/src/core/patch-lint-checkjs.d.ts +0 -182
- package/dist/src/core/patch-lint-checkjs.js +0 -563
- package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
- package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
- package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
- package/dist/src/core/patch-lint-code-lines.js +0 -105
- package/dist/src/core/patch-lint-creators.d.ts +0 -26
- package/dist/src/core/patch-lint-creators.js +0 -45
- package/dist/src/core/patch-lint-cross.d.ts +0 -232
- package/dist/src/core/patch-lint-cross.js +0 -590
- package/dist/src/core/patch-lint-css.d.ts +0 -27
- package/dist/src/core/patch-lint-css.js +0 -228
- package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
- package/dist/src/core/patch-lint-diff-tag.js +0 -105
- package/dist/src/core/patch-lint-diff.d.ts +0 -42
- package/dist/src/core/patch-lint-diff.js +0 -100
- package/dist/src/core/patch-lint-file-size.d.ts +0 -57
- package/dist/src/core/patch-lint-file-size.js +0 -62
- package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
- package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
- package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
- package/dist/src/core/patch-lint-forward-registration.js +0 -266
- package/dist/src/core/patch-lint-ignore.d.ts +0 -196
- package/dist/src/core/patch-lint-ignore.js +0 -429
- package/dist/src/core/patch-lint-imports.d.ts +0 -9
- package/dist/src/core/patch-lint-imports.js +0 -90
- package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
- package/dist/src/core/patch-lint-jsdoc.js +0 -471
- package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
- package/dist/src/core/patch-lint-module-registration.js +0 -97
- package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
- package/dist/src/core/patch-lint-mozbuild.js +0 -192
- package/dist/src/core/patch-lint-observer.d.ts +0 -37
- package/dist/src/core/patch-lint-observer.js +0 -167
- package/dist/src/core/patch-lint-ownership.d.ts +0 -74
- package/dist/src/core/patch-lint-ownership.js +0 -125
- package/dist/src/core/patch-lint-prettier.d.ts +0 -34
- package/dist/src/core/patch-lint-prettier.js +0 -124
- package/dist/src/core/patch-lint-projection.d.ts +0 -25
- package/dist/src/core/patch-lint-projection.js +0 -43
- package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
- package/dist/src/core/patch-lint-queue-types.js +0 -12
- package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
- package/dist/src/core/patch-lint-size-thresholds.js +0 -110
- package/dist/src/core/patch-lint-size.d.ts +0 -117
- package/dist/src/core/patch-lint-size.js +0 -331
- package/dist/src/core/patch-lint-staged-registration.d.ts +0 -98
- package/dist/src/core/patch-lint-staged-registration.js +0 -128
- package/dist/src/core/patch-lint-token-scale.d.ts +0 -65
- package/dist/src/core/patch-lint-token-scale.js +0 -304
- package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
- package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
- package/dist/src/core/patch-lint.d.ts +0 -206
- package/dist/src/core/patch-lint.js +0 -533
- package/dist/src/core/patch-lock.d.ts +0 -40
- package/dist/src/core/patch-lock.js +0 -129
- package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
- package/dist/src/core/patch-manifest-consistency.js +0 -256
- package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
- package/dist/src/core/patch-manifest-files-affected.js +0 -77
- package/dist/src/core/patch-manifest-io.d.ts +0 -199
- package/dist/src/core/patch-manifest-io.js +0 -556
- package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
- package/dist/src/core/patch-manifest-key-order.js +0 -60
- package/dist/src/core/patch-manifest-query.d.ts +0 -55
- package/dist/src/core/patch-manifest-query.js +0 -139
- package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
- package/dist/src/core/patch-manifest-resolve.js +0 -35
- package/dist/src/core/patch-manifest-stage.d.ts +0 -46
- package/dist/src/core/patch-manifest-stage.js +0 -96
- package/dist/src/core/patch-manifest-validate.d.ts +0 -20
- package/dist/src/core/patch-manifest-validate.js +0 -240
- package/dist/src/core/patch-manifest.d.ts +0 -12
- package/dist/src/core/patch-manifest.js +0 -13
- package/dist/src/core/patch-order-legal.d.ts +0 -26
- package/dist/src/core/patch-order-legal.js +0 -88
- package/dist/src/core/patch-parse.d.ts +0 -176
- package/dist/src/core/patch-parse.js +0 -416
- package/dist/src/core/patch-policy-content.d.ts +0 -40
- package/dist/src/core/patch-policy-content.js +0 -219
- package/dist/src/core/patch-policy.d.ts +0 -80
- package/dist/src/core/patch-policy.js +0 -394
- package/dist/src/core/patch-registration-refs.d.ts +0 -41
- package/dist/src/core/patch-registration-refs.js +0 -107
- package/dist/src/core/patch-retired.d.ts +0 -57
- package/dist/src/core/patch-retired.js +0 -92
- package/dist/src/core/patch-source-metadata.d.ts +0 -6
- package/dist/src/core/patch-source-metadata.js +0 -12
- package/dist/src/core/patch-subset.d.ts +0 -18
- package/dist/src/core/patch-subset.js +0 -67
- package/dist/src/core/patch-transform.d.ts +0 -61
- package/dist/src/core/patch-transform.js +0 -198
- package/dist/src/core/preflight-wait.d.ts +0 -22
- package/dist/src/core/preflight-wait.js +0 -62
- package/dist/src/core/process-cpu-time.d.ts +0 -12
- package/dist/src/core/process-cpu-time.js +0 -52
- package/dist/src/core/process-owner.d.ts +0 -9
- package/dist/src/core/process-owner.js +0 -43
- package/dist/src/core/rebase-dry-run.d.ts +0 -48
- package/dist/src/core/rebase-dry-run.js +0 -105
- package/dist/src/core/rebase-from-version.d.ts +0 -46
- package/dist/src/core/rebase-from-version.js +0 -71
- package/dist/src/core/rebase-session.d.ts +0 -100
- package/dist/src/core/rebase-session.js +0 -174
- package/dist/src/core/register-browser-content.d.ts +0 -11
- package/dist/src/core/register-browser-content.js +0 -52
- package/dist/src/core/register-browser-test.d.ts +0 -18
- package/dist/src/core/register-browser-test.js +0 -66
- package/dist/src/core/register-module.d.ts +0 -11
- package/dist/src/core/register-module.js +0 -56
- package/dist/src/core/register-result.d.ts +0 -30
- package/dist/src/core/register-result.js +0 -8
- package/dist/src/core/register-scaffold.d.ts +0 -55
- package/dist/src/core/register-scaffold.js +0 -146
- package/dist/src/core/register-shared-css.d.ts +0 -36
- package/dist/src/core/register-shared-css.js +0 -112
- package/dist/src/core/register-xpcshell-test.d.ts +0 -50
- package/dist/src/core/register-xpcshell-test.js +0 -143
- package/dist/src/core/run-log-redact.d.ts +0 -38
- package/dist/src/core/run-log-redact.js +0 -69
- package/dist/src/core/run-log.d.ts +0 -97
- package/dist/src/core/run-log.js +0 -334
- package/dist/src/core/run-profile.d.ts +0 -57
- package/dist/src/core/run-profile.js +0 -137
- package/dist/src/core/shared-ftl.d.ts +0 -28
- package/dist/src/core/shared-ftl.js +0 -49
- package/dist/src/core/signal-critical.d.ts +0 -38
- package/dist/src/core/signal-critical.js +0 -62
- package/dist/src/core/smoke-patterns.d.ts +0 -81
- package/dist/src/core/smoke-patterns.js +0 -176
- package/dist/src/core/state-file.d.ts +0 -60
- package/dist/src/core/state-file.js +0 -71
- package/dist/src/core/status-binary.d.ts +0 -62
- package/dist/src/core/status-binary.js +0 -133
- package/dist/src/core/status-classify.d.ts +0 -96
- package/dist/src/core/status-classify.js +0 -244
- package/dist/src/core/test-changed-prefs.d.ts +0 -30
- package/dist/src/core/test-changed-prefs.js +0 -93
- package/dist/src/core/test-harness-crash.d.ts +0 -251
- package/dist/src/core/test-harness-crash.js +0 -780
- package/dist/src/core/test-harness-infra.d.ts +0 -32
- package/dist/src/core/test-harness-infra.js +0 -69
- package/dist/src/core/test-harness-output.d.ts +0 -45
- package/dist/src/core/test-harness-output.js +0 -119
- package/dist/src/core/test-harness-signature.d.ts +0 -57
- package/dist/src/core/test-harness-signature.js +0 -35
- package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
- package/dist/src/core/test-harness-verdict-notes.js +0 -48
- package/dist/src/core/test-host-state.d.ts +0 -14
- package/dist/src/core/test-host-state.js +0 -80
- package/dist/src/core/test-path-scope.d.ts +0 -59
- package/dist/src/core/test-path-scope.js +0 -147
- package/dist/src/core/test-profile-files.d.ts +0 -17
- package/dist/src/core/test-profile-files.js +0 -75
- package/dist/src/core/test-raw-log.d.ts +0 -66
- package/dist/src/core/test-raw-log.js +0 -122
- package/dist/src/core/test-run-completeness.d.ts +0 -97
- package/dist/src/core/test-run-completeness.js +0 -191
- package/dist/src/core/test-stale-check.d.ts +0 -213
- package/dist/src/core/test-stale-check.js +0 -396
- package/dist/src/core/test-stale-exempt.d.ts +0 -40
- package/dist/src/core/test-stale-exempt.js +0 -70
- package/dist/src/core/test-stale-symlink.d.ts +0 -12
- package/dist/src/core/test-stale-symlink.js +0 -39
- package/dist/src/core/test-stall-triage.d.ts +0 -51
- package/dist/src/core/test-stall-triage.js +0 -142
- package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
- package/dist/src/core/test-xpcshell-retry.js +0 -31
- package/dist/src/core/token-category.d.ts +0 -54
- package/dist/src/core/token-category.js +0 -299
- package/dist/src/core/token-coverage.d.ts +0 -12
- package/dist/src/core/token-coverage.js +0 -96
- package/dist/src/core/token-dark-mode.d.ts +0 -64
- package/dist/src/core/token-dark-mode.js +0 -186
- package/dist/src/core/token-docs.d.ts +0 -34
- package/dist/src/core/token-docs.js +0 -102
- package/dist/src/core/token-inventory.d.ts +0 -56
- package/dist/src/core/token-inventory.js +0 -114
- package/dist/src/core/token-lint.d.ts +0 -53
- package/dist/src/core/token-lint.js +0 -131
- package/dist/src/core/token-manager.d.ts +0 -87
- package/dist/src/core/token-manager.js +0 -407
- package/dist/src/core/token-scaffold.d.ts +0 -36
- package/dist/src/core/token-scaffold.js +0 -73
- package/dist/src/core/token-sibling-sheets.d.ts +0 -46
- package/dist/src/core/token-sibling-sheets.js +0 -119
- package/dist/src/core/token-variant.d.ts +0 -90
- package/dist/src/core/token-variant.js +0 -327
- package/dist/src/core/toolchain-preflight.d.ts +0 -90
- package/dist/src/core/toolchain-preflight.js +0 -251
- package/dist/src/core/tree-cow.d.ts +0 -16
- package/dist/src/core/tree-cow.js +0 -71
- package/dist/src/core/tree-guard.d.ts +0 -35
- package/dist/src/core/tree-guard.js +0 -194
- package/dist/src/core/tree-store.d.ts +0 -143
- package/dist/src/core/tree-store.js +0 -478
- package/dist/src/core/typecheck-explain.d.ts +0 -93
- package/dist/src/core/typecheck-explain.js +0 -213
- package/dist/src/core/typecheck-shim.d.ts +0 -90
- package/dist/src/core/typecheck-shim.js +0 -508
- package/dist/src/core/typecheck.d.ts +0 -97
- package/dist/src/core/typecheck.js +0 -457
- package/dist/src/core/wire-destroy.d.ts +0 -25
- package/dist/src/core/wire-destroy.js +0 -126
- package/dist/src/core/wire-dom-fragment.d.ts +0 -44
- package/dist/src/core/wire-dom-fragment.js +0 -139
- package/dist/src/core/wire-init.d.ts +0 -28
- package/dist/src/core/wire-init.js +0 -219
- package/dist/src/core/wire-subscript.d.ts +0 -23
- package/dist/src/core/wire-subscript.js +0 -145
- package/dist/src/core/wire-utils.d.ts +0 -149
- package/dist/src/core/wire-utils.js +0 -338
- package/dist/src/core/xpcshell-appdir.d.ts +0 -157
- package/dist/src/core/xpcshell-appdir.js +0 -299
- package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
- package/dist/src/core/xpcshell-profile-dir.js +0 -45
- package/dist/src/errors/base.d.ts +0 -217
- package/dist/src/errors/base.js +0 -279
- package/dist/src/errors/build.d.ts +0 -92
- package/dist/src/errors/build.js +0 -166
- package/dist/src/errors/codes.d.ts +0 -74
- package/dist/src/errors/codes.js +0 -74
- package/dist/src/errors/config.d.ts +0 -17
- package/dist/src/errors/config.js +0 -39
- package/dist/src/errors/download.d.ts +0 -66
- package/dist/src/errors/download.js +0 -160
- package/dist/src/errors/furnace.d.ts +0 -20
- package/dist/src/errors/furnace.js +0 -28
- package/dist/src/errors/git.d.ts +0 -65
- package/dist/src/errors/git.js +0 -140
- package/dist/src/errors/patch.d.ts +0 -27
- package/dist/src/errors/patch.js +0 -52
- package/dist/src/errors/rebase.d.ts +0 -42
- package/dist/src/errors/rebase.js +0 -71
- package/dist/src/errors/run.d.ts +0 -16
- package/dist/src/errors/run.js +0 -22
- package/dist/src/index.d.ts +0 -42
- package/dist/src/index.js +0 -32
- package/dist/src/types/cli.d.ts +0 -14
- package/dist/src/types/commands/index.d.ts +0 -6
- package/dist/src/types/commands/index.js +0 -5
- package/dist/src/types/commands/options.d.ts +0 -1372
- package/dist/src/types/commands/options.js +0 -5
- package/dist/src/types/commands/patches.d.ts +0 -352
- package/dist/src/types/commands/patches.js +0 -5
- package/dist/src/types/commands/project.d.ts +0 -51
- package/dist/src/types/commands/project.js +0 -5
- package/dist/src/types/config.d.ts +0 -732
- package/dist/src/types/config.js +0 -15
- package/dist/src/types/furnace.d.ts +0 -422
- package/dist/src/types/furnace.js +0 -26
- package/dist/src/types/index.d.ts +0 -5
- package/dist/src/types/index.js +0 -5
- package/dist/src/types/json.d.ts +0 -22
- package/dist/src/types/json.js +0 -11
- package/dist/src/types/typecheck.d.ts +0 -51
- package/dist/src/types/typecheck.js +0 -14
- package/dist/src/utils/assert.d.ts +0 -34
- package/dist/src/utils/assert.js +0 -61
- package/dist/src/utils/build-info.d.ts +0 -30
- package/dist/src/utils/build-info.js +0 -99
- package/dist/src/utils/child-env.d.ts +0 -28
- package/dist/src/utils/child-env.js +0 -27
- package/dist/src/utils/concurrency.d.ts +0 -8
- package/dist/src/utils/concurrency.js +0 -32
- package/dist/src/utils/elapsed.d.ts +0 -2
- package/dist/src/utils/elapsed.js +0 -23
- package/dist/src/utils/errors.d.ts +0 -39
- package/dist/src/utils/errors.js +0 -67
- package/dist/src/utils/fs.d.ts +0 -113
- package/dist/src/utils/fs.js +0 -337
- package/dist/src/utils/hash.d.ts +0 -12
- package/dist/src/utils/hash.js +0 -16
- package/dist/src/utils/line-dispatch.d.ts +0 -15
- package/dist/src/utils/line-dispatch.js +0 -48
- package/dist/src/utils/logger.d.ts +0 -109
- package/dist/src/utils/logger.js +0 -270
- package/dist/src/utils/machine-output.d.ts +0 -12
- package/dist/src/utils/machine-output.js +0 -33
- package/dist/src/utils/options.d.ts +0 -155
- package/dist/src/utils/options.js +0 -312
- package/dist/src/utils/package-root.d.ts +0 -21
- package/dist/src/utils/package-root.js +0 -70
- package/dist/src/utils/parse.d.ts +0 -117
- package/dist/src/utils/parse.js +0 -214
- package/dist/src/utils/path-glob.d.ts +0 -15
- package/dist/src/utils/path-glob.js +0 -47
- package/dist/src/utils/paths.d.ts +0 -31
- package/dist/src/utils/paths.js +0 -80
- package/dist/src/utils/platform.d.ts +0 -9
- package/dist/src/utils/platform.js +0 -14
- package/dist/src/utils/process-group.d.ts +0 -42
- package/dist/src/utils/process-group.js +0 -190
- package/dist/src/utils/process-input.d.ts +0 -27
- package/dist/src/utils/process-input.js +0 -46
- package/dist/src/utils/process.d.ts +0 -293
- package/dist/src/utils/process.js +0 -593
- package/dist/src/utils/ps-duration.d.ts +0 -31
- package/dist/src/utils/ps-duration.js +0 -70
- package/dist/src/utils/regex.d.ts +0 -39
- package/dist/src/utils/regex.js +0 -109
- package/dist/src/utils/sleep.d.ts +0 -25
- package/dist/src/utils/sleep.js +0 -30
- package/dist/src/utils/stdio-drain.d.ts +0 -28
- package/dist/src/utils/stdio-drain.js +0 -54
- package/dist/src/utils/validation.d.ts +0 -182
- package/dist/src/utils/validation.js +0 -394
- package/docs/lifecycle-invariants.md +0 -523
- package/docs/run-logs.md +0 -122
- package/docs/verification-trees.md +0 -49
- /package/dist/src/{types/cli.js → cli/context.js} +0 -0
package/dist/src/core/mach.js
DELETED
|
@@ -1,445 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { basename, dirname, join } from 'node:path';
|
|
3
|
-
import { MachNotFoundError } from '../errors/build.js';
|
|
4
|
-
import { pathExists } from '../utils/fs.js';
|
|
5
|
-
import { info, warn } from '../utils/logger.js';
|
|
6
|
-
import { exec, execInherit, execInheritCapture, execSmokeRun, execStream, } from '../utils/process.js';
|
|
7
|
-
import { withBuildRunRecord } from './build-run-record.js';
|
|
8
|
-
import { createSiblingLockPath, withFileLock } from './file-lock.js';
|
|
9
|
-
import { ensureFirefoxIgnorefileCompatibility } from './firefox-ignorefile.js';
|
|
10
|
-
import { createLinePrefixer } from './line-prefixer.js';
|
|
11
|
-
import { explainMachError } from './mach-error-hints.js';
|
|
12
|
-
import { createKnownTeardownNoiseFilter, createTeardownNoiseContext, hasKnownTeardownNoise, KNOWN_TEARDOWN_NOISE_BUILD_NOTE, } from './mach-known-noise-filter.js';
|
|
13
|
-
import { getPython } from './mach-python.js';
|
|
14
|
-
import { installMachResourceGuard } from './mach-resource-shim.js';
|
|
15
|
-
import { teeToRunLog, writeToActiveRunLog } from './run-log.js';
|
|
16
|
-
import { detectHarnessCrashSignature } from './test-harness-crash.js';
|
|
17
|
-
// Re-export sub-modules so existing `from './mach.js'` imports keep working.
|
|
18
|
-
// This block is a frozen compatibility list, not a barrel to grow: every name
|
|
19
|
-
// here already had a `from './mach.js'` import when the module was split.
|
|
20
|
-
// New helpers belong in their own sub-module and are imported from it
|
|
21
|
-
// directly. Adding to this list pulls the whole sub-module into every suite
|
|
22
|
-
// that mocks `mach.js`.
|
|
23
|
-
export { attemptMozinfoRewrite, buildArtifactMismatchMessage, hasBuildArtifacts, hasRunnableBundle, } from './mach-build-artifacts.js';
|
|
24
|
-
export { generateMozconfig } from './mach-mozconfig.js';
|
|
25
|
-
export { ensurePython } from './mach-python.js';
|
|
26
|
-
/**
|
|
27
|
-
* Ensures mach is available in the engine directory.
|
|
28
|
-
* @param engineDir - Path to the engine directory
|
|
29
|
-
* @throws MachNotFoundError if mach is not found
|
|
30
|
-
*/
|
|
31
|
-
export async function ensureMach(engineDir) {
|
|
32
|
-
const machPath = join(engineDir, 'mach');
|
|
33
|
-
if (!(await pathExists(machPath))) {
|
|
34
|
-
throw new MachNotFoundError(engineDir);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Runs a mach command in the engine directory.
|
|
39
|
-
* @param args - mach command and arguments
|
|
40
|
-
* @param engineDir - Path to the engine directory
|
|
41
|
-
* @param options - Command options
|
|
42
|
-
* @returns Exit code
|
|
43
|
-
*/
|
|
44
|
-
export async function runMach(args, engineDir, options = {}) {
|
|
45
|
-
const python = await getPython(engineDir);
|
|
46
|
-
await ensureMach(engineDir);
|
|
47
|
-
await ensureFirefoxIgnorefileCompatibility(engineDir);
|
|
48
|
-
const machPath = join(engineDir, 'mach');
|
|
49
|
-
const execOptions = {
|
|
50
|
-
cwd: engineDir,
|
|
51
|
-
...(options.env ? { env: options.env } : {}),
|
|
52
|
-
};
|
|
53
|
-
if (options.inherit) {
|
|
54
|
-
// Group-reap every long-lived inherited mach dispatch (bootstrap, run,
|
|
55
|
-
// watch): a mach dying at startup must not strand multiprocessing
|
|
56
|
-
// workers. Short-lived metadata queries below stay on plain exec().
|
|
57
|
-
// Adding groups there would touch every non-mach exec consumer's path
|
|
58
|
-
// for no reaping benefit.
|
|
59
|
-
return execInherit(python, [machPath, ...args], { ...execOptions, processGroup: true });
|
|
60
|
-
}
|
|
61
|
-
const result = await exec(python, [machPath, ...args], execOptions);
|
|
62
|
-
return result.exitCode;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Maximum bytes retained per stream in `runMachCapture`. Only the tail of
|
|
66
|
-
* output is kept so long-lived processes (Storybook, `mach build`) do not
|
|
67
|
-
* grow the Node heap without bound. 2 MB is enough for post-run error
|
|
68
|
-
* diagnosis while staying well below the 50 MB cap in `createStreamCollector`.
|
|
69
|
-
*/
|
|
70
|
-
const CAPTURE_TAIL_LIMIT = 2 * 1024 * 1024;
|
|
71
|
-
/**
|
|
72
|
-
* Runs a mach command while streaming output to the terminal and capturing
|
|
73
|
-
* the tail of stdout/stderr for post-run diagnostics. Output beyond
|
|
74
|
-
* {@link CAPTURE_TAIL_LIMIT} is discarded from the head to prevent unbounded
|
|
75
|
-
* memory growth during long-lived processes like Storybook.
|
|
76
|
-
*/
|
|
77
|
-
export async function runMachCapture(args, engineDir, options = {}) {
|
|
78
|
-
const python = await getPython(engineDir);
|
|
79
|
-
await ensureMach(engineDir);
|
|
80
|
-
await ensureFirefoxIgnorefileCompatibility(engineDir);
|
|
81
|
-
const machPath = join(engineDir, 'mach');
|
|
82
|
-
let stdout = '';
|
|
83
|
-
let stderr = '';
|
|
84
|
-
// Echo-path filters only: the captured strings above accumulate raw so the
|
|
85
|
-
// classifier still sees the full teardown traceback. When the option is
|
|
86
|
-
// off, the filters are absent and echo is a straight write (unchanged).
|
|
87
|
-
// One shutdown context per run, shared by both stream filters: the
|
|
88
|
-
// SUITE_END marker usually arrives on stdout while the teardown traceback
|
|
89
|
-
// lands on stderr, so the shutdown-seen flag must span the pair.
|
|
90
|
-
const noiseContext = options.annotateKnownTeardownNoise === true ? createTeardownNoiseContext() : undefined;
|
|
91
|
-
const stdoutFilter = noiseContext && createKnownTeardownNoiseFilter(noiseContext);
|
|
92
|
-
const stderrFilter = noiseContext && createKnownTeardownNoiseFilter(noiseContext);
|
|
93
|
-
const prefix = options.outputPrefix;
|
|
94
|
-
const prefixers = prefix === undefined
|
|
95
|
-
? undefined
|
|
96
|
-
: {
|
|
97
|
-
stdoutLog: createLinePrefixer(prefix),
|
|
98
|
-
stdoutEcho: createLinePrefixer(prefix),
|
|
99
|
-
stderrLog: createLinePrefixer(prefix),
|
|
100
|
-
stderrEcho: createLinePrefixer(prefix),
|
|
101
|
-
};
|
|
102
|
-
const exitCode = await execStream(python, [machPath, ...args], {
|
|
103
|
-
cwd: engineDir,
|
|
104
|
-
...(options.env ? { env: options.env } : {}),
|
|
105
|
-
...(options.envUnset ? { envUnset: options.envUnset } : {}),
|
|
106
|
-
// Every capture dispatch (test suites, protected builds, package,
|
|
107
|
-
// storybook) runs as a process-group leader and is group-reaped on
|
|
108
|
-
// exit/abort. See ExecOptions.processGroup.
|
|
109
|
-
processGroup: true,
|
|
110
|
-
...(options.onProcessGroup ? { onProcessGroup: options.onProcessGroup } : {}),
|
|
111
|
-
...(options.postCloseSweep ? { postCloseSweep: options.postCloseSweep } : {}),
|
|
112
|
-
onStdout: (data) => {
|
|
113
|
-
options.onOutputChunk?.('stdout', data);
|
|
114
|
-
stdout += data;
|
|
115
|
-
if (stdout.length > CAPTURE_TAIL_LIMIT) {
|
|
116
|
-
stdout = stdout.slice(-CAPTURE_TAIL_LIMIT);
|
|
117
|
-
}
|
|
118
|
-
// Raw into the log, filtered into the echo. The log exists to be
|
|
119
|
-
// re-read after the fact by whoever is diagnosing the run, and the
|
|
120
|
-
// echo filter only exists to shorten what a human scrolls past.
|
|
121
|
-
// Collapsing a traceback in the artifact would reintroduce the loss
|
|
122
|
-
// this log exists to prevent.
|
|
123
|
-
writeToActiveRunLog(prefixers ? prefixers.stdoutLog.transform(data) : data);
|
|
124
|
-
const echo = stdoutFilter ? stdoutFilter.transform(data) : data;
|
|
125
|
-
process.stdout.write(prefixers ? prefixers.stdoutEcho.transform(echo) : echo);
|
|
126
|
-
},
|
|
127
|
-
onStderr: (data) => {
|
|
128
|
-
options.onOutputChunk?.('stderr', data);
|
|
129
|
-
stderr += data;
|
|
130
|
-
if (stderr.length > CAPTURE_TAIL_LIMIT) {
|
|
131
|
-
stderr = stderr.slice(-CAPTURE_TAIL_LIMIT);
|
|
132
|
-
}
|
|
133
|
-
writeToActiveRunLog(prefixers ? prefixers.stderrLog.transform(data) : data);
|
|
134
|
-
const echo = stderrFilter ? stderrFilter.transform(data) : data;
|
|
135
|
-
process.stderr.write(prefixers ? prefixers.stderrEcho.transform(echo) : echo);
|
|
136
|
-
},
|
|
137
|
-
});
|
|
138
|
-
if (stdoutFilter) {
|
|
139
|
-
const residue = stdoutFilter.flush();
|
|
140
|
-
if (residue.length > 0) {
|
|
141
|
-
process.stdout.write(prefixers ? prefixers.stdoutEcho.transform(residue) : residue);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
if (stderrFilter) {
|
|
145
|
-
const residue = stderrFilter.flush();
|
|
146
|
-
if (residue.length > 0) {
|
|
147
|
-
process.stderr.write(prefixers ? prefixers.stderrEcho.transform(residue) : residue);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
return { stdout, stderr, exitCode };
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Runs a mach command while inheriting stdin, streaming output live, and
|
|
154
|
-
* capturing stdout/stderr for post-run diagnostics.
|
|
155
|
-
*/
|
|
156
|
-
export async function runMachInheritCapture(args, engineDir, options = {}) {
|
|
157
|
-
const python = await getPython(engineDir);
|
|
158
|
-
await ensureMach(engineDir);
|
|
159
|
-
await ensureFirefoxIgnorefileCompatibility(engineDir);
|
|
160
|
-
const machPath = join(engineDir, 'mach');
|
|
161
|
-
return execInheritCapture(python, [machPath, ...args], {
|
|
162
|
-
cwd: engineDir,
|
|
163
|
-
...(options.env ? { env: options.env } : {}),
|
|
164
|
-
...(options.envUnset ? { envUnset: options.envUnset } : {}),
|
|
165
|
-
// This path streams through the collectors' mirror rather than per-chunk
|
|
166
|
-
// callbacks, so the run-log tee rides the mirror. `mach build` is here.
|
|
167
|
-
mirror: { stdout: teeToRunLog(process.stdout), stderr: teeToRunLog(process.stderr) },
|
|
168
|
-
processGroup: true,
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Runs mach bootstrap while preserving stdin and capturing the emitted output.
|
|
173
|
-
* @param engineDir - Path to the engine directory
|
|
174
|
-
* @returns Captured output and exit code
|
|
175
|
-
*/
|
|
176
|
-
export async function bootstrapWithOutput(engineDir) {
|
|
177
|
-
return runMachInheritCapture(['bootstrap', '--application-choice', 'browser'], engineDir);
|
|
178
|
-
}
|
|
179
|
-
/**
|
|
180
|
-
* Prints any matched {@link MachErrorHint} hints for the captured mach
|
|
181
|
-
* output. No-op when nothing matches. Always called before a non-zero exit
|
|
182
|
-
* propagates so the hint sits immediately below the raw mach error in the
|
|
183
|
-
* operator's terminal.
|
|
184
|
-
*
|
|
185
|
-
* The scanner is passed the concatenation of stderr and stdout because mach
|
|
186
|
-
* streams its subcommand output through a timestamp-prefixing wrapper that
|
|
187
|
-
* writes both streams to whatever FD the subprocess chose, so `rustc` errors
|
|
188
|
-
* from `mach build` can land on stdout, so feeding only `result.stderr`
|
|
189
|
-
* silently loses the match.
|
|
190
|
-
*/
|
|
191
|
-
function surfaceMachErrorHints(result) {
|
|
192
|
-
const combined = `${result.stderr}\n${result.stdout}`;
|
|
193
|
-
const hints = explainMachError(combined);
|
|
194
|
-
if (hints.length === 0)
|
|
195
|
-
return;
|
|
196
|
-
for (const hint of hints) {
|
|
197
|
-
warn(`Hint: ${hint}`);
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Uniform recognized-crash retry budget for the protected mach build
|
|
202
|
-
* dispatches (`fireforge build`, `build --ui`, and the pre-test `--build`
|
|
203
|
-
* step). Matches the test harness default so every mach dispatch retries
|
|
204
|
-
* the same crash family the same number of times.
|
|
205
|
-
*/
|
|
206
|
-
const DEFAULT_BUILD_CRASH_RETRIES = 2;
|
|
207
|
-
/**
|
|
208
|
-
* Names the known mozsystemmonitor teardown traceback when a build carried
|
|
209
|
-
* it. The test path collapses this signature in the echo. A build cannot
|
|
210
|
-
* (see `mach-known-noise-filter.ts`), so it reached operators as an
|
|
211
|
-
* unexplained traceback in a build log: a recognized, documented upstream
|
|
212
|
-
* defect wearing the appearance of a new one. The output is left verbatim
|
|
213
|
-
* and this one line is added beside it, so the same signature reads the same
|
|
214
|
-
* in both phases.
|
|
215
|
-
*/
|
|
216
|
-
function noteKnownTeardownNoiseInBuild(result) {
|
|
217
|
-
if (!hasKnownTeardownNoise(`${result.stdout}\n${result.stderr}`))
|
|
218
|
-
return;
|
|
219
|
-
info(KNOWN_TEARDOWN_NOISE_BUILD_NOTE);
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* The single protected path every FireForge mach build dispatch routes
|
|
223
|
-
* through. `build`, `build --ui`, and the pre-test `--build` step all use
|
|
224
|
-
* it, so no entry point is left unprotected with a different retry budget:
|
|
225
|
-
*
|
|
226
|
-
* 1. installs the resource-monitor degrade guard in the mach virtualenvs
|
|
227
|
-
* (plus the PYTHONPATH fallback), re-installed before every attempt, so
|
|
228
|
-
* a venv materialized by a crashed first attempt is guarded on the next
|
|
229
|
-
* one instead of every retry dying on the same wedged state.
|
|
230
|
-
* 2. spawns a fresh mach process per attempt.
|
|
231
|
-
* 3. retries only the recognized harness-crash family (resource monitor /
|
|
232
|
-
* psutil startup tracebacks) up to the uniform budget. An ordinary
|
|
233
|
-
* compile error is never retried.
|
|
234
|
-
*
|
|
235
|
-
* The protected path never runs `mach configure`, never clobbers, and never
|
|
236
|
-
* widens the requested build kind: a `faster` dispatch retries as
|
|
237
|
-
* `mach build faster`, so it cannot invalidate more of the objdir than the
|
|
238
|
-
* command the operator asked for.
|
|
239
|
-
*/
|
|
240
|
-
export async function runProtectedMachBuild(kind, engineDir, options = {}) {
|
|
241
|
-
const args = kind === 'faster' ? ['build', 'faster'] : ['build'];
|
|
242
|
-
if (kind === 'full' && options.jobs !== undefined) {
|
|
243
|
-
args.push('-j', String(options.jobs));
|
|
244
|
-
}
|
|
245
|
-
// The run record lets any session see why a bundle is missing after this
|
|
246
|
-
// build dies part-way (see build-run-record.ts). The engine directory is
|
|
247
|
-
// always `<projectRoot>/engine`.
|
|
248
|
-
return withBuildRunRecord(dirname(engineDir), `mach ${args.join(' ')}`, () => runProtectedMachBuildAttempts(args, kind, engineDir, options));
|
|
249
|
-
}
|
|
250
|
-
async function runProtectedMachBuildAttempts(args, kind, engineDir, options) {
|
|
251
|
-
const maxAttempts = Math.max(1, (options.retries ?? DEFAULT_BUILD_CRASH_RETRIES) + 1);
|
|
252
|
-
for (let attempt = 1;; attempt += 1) {
|
|
253
|
-
const { env } = await installMachResourceGuard(engineDir);
|
|
254
|
-
const result = await runMachInheritCapture(args, engineDir, { env });
|
|
255
|
-
if (result.exitCode === 0) {
|
|
256
|
-
noteKnownTeardownNoiseInBuild(result);
|
|
257
|
-
return { ...result, attempts: attempt };
|
|
258
|
-
}
|
|
259
|
-
const signature = detectHarnessCrashSignature(`${result.stdout}\n${result.stderr}`);
|
|
260
|
-
if (signature && attempt < maxAttempts) {
|
|
261
|
-
options.onRetry?.(signature, attempt + 1, maxAttempts);
|
|
262
|
-
warn(`mach ${kind === 'faster' ? 'build faster' : 'build'} hit a recognized harness crash ` +
|
|
263
|
-
`(${signature.reason}): ${signature.line}\n` +
|
|
264
|
-
`Retrying with a fresh process (attempt ${attempt + 1} of ${maxAttempts})...`);
|
|
265
|
-
continue;
|
|
266
|
-
}
|
|
267
|
-
surfaceMachErrorHints(result);
|
|
268
|
-
noteKnownTeardownNoiseInBuild(result);
|
|
269
|
-
return { ...result, attempts: attempt, ...(signature ? { crashSignature: signature } : {}) };
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
/**
|
|
273
|
-
* Runs a full mach build through the protected dispatch path (resource
|
|
274
|
-
* guard + recognized-crash retries). On a non-zero exit, any matched error
|
|
275
|
-
* hints are surfaced on top of the raw mach output so operators get an
|
|
276
|
-
* actionable nudge alongside the cryptic mozbuild traceback. Returns the
|
|
277
|
-
* captured result so the caller (e.g. `fireforge build`) can inspect the
|
|
278
|
-
* tail for post-build diagnostics that mach prints after "Your build was
|
|
279
|
-
* successful!", notably the stale `config.status is out of date`
|
|
280
|
-
* notice that mach emits when a tool-managed edit landed on
|
|
281
|
-
* `moz.configure` before the build.
|
|
282
|
-
* @param engineDir - Path to the engine directory
|
|
283
|
-
* @param jobs - Number of parallel jobs (optional)
|
|
284
|
-
* @returns Captured mach result (stdout tail, stderr tail, exit code)
|
|
285
|
-
*/
|
|
286
|
-
export async function build(engineDir, jobs) {
|
|
287
|
-
return runProtectedMachBuild('full', engineDir, { jobs });
|
|
288
|
-
}
|
|
289
|
-
/**
|
|
290
|
-
* Runs a fast UI-only build through the same protected dispatch path as
|
|
291
|
-
* {@link build}. See {@link build} for why the full captured result is
|
|
292
|
-
* returned rather than just the exit code.
|
|
293
|
-
* @param engineDir - Path to the engine directory
|
|
294
|
-
* @returns Captured mach result
|
|
295
|
-
*/
|
|
296
|
-
export async function buildUI(engineDir) {
|
|
297
|
-
return runProtectedMachBuild('faster', engineDir);
|
|
298
|
-
}
|
|
299
|
-
/**
|
|
300
|
-
* Runs an operation while holding a sidecar build lock keyed on the project
|
|
301
|
-
* root. Concurrent `fireforge build` / `fireforge build --ui` invocations
|
|
302
|
-
* against the same tree serialise instead of racing through the mach
|
|
303
|
-
* obj-dir.
|
|
304
|
-
*
|
|
305
|
-
* Without it, a `build --ui` started while a full `build` is still in flight
|
|
306
|
-
* hands off to `mach build faster` and fails almost immediately with `No
|
|
307
|
-
* rule to make target 'XUL'`, the real problem being that the first build
|
|
308
|
-
* has not yet materialised the full backend, with nothing in the low-level
|
|
309
|
-
* make error pointing at the concurrent run. The lock intercepts the second
|
|
310
|
-
* invocation before it touches mach, and the refusal names the PID holding
|
|
311
|
-
* the lock so the operator can decide whether to wait or investigate.
|
|
312
|
-
*
|
|
313
|
-
* Stale-lock recovery: the lock stores the owner PID. A crashed build
|
|
314
|
-
* (SIGINT, SIGTERM, or a kernel kill) leaves the lock dir behind but not the
|
|
315
|
-
* owning process, and `withFileLock` removes the lock on the next attempt
|
|
316
|
-
* when `process.kill(pid, 0)` shows the owner is gone.
|
|
317
|
-
*
|
|
318
|
-
* The project-root variant is the right granularity: a single machine may
|
|
319
|
-
* have several FireForge projects side by side and nothing says they cannot
|
|
320
|
-
* build in parallel. The lock serialises *within* one project.
|
|
321
|
-
*
|
|
322
|
-
* Returns whatever the inner operation returns.
|
|
323
|
-
*/
|
|
324
|
-
export async function withBuildLock(projectRoot, operation) {
|
|
325
|
-
const lockPath = createSiblingLockPath(join(projectRoot, '.fireforge-build'), '.lock');
|
|
326
|
-
return withFileLock(lockPath, operation, {
|
|
327
|
-
// Default lock timeout is 30s. Bump it to 24h so a slow full build
|
|
328
|
-
// does not trip the timeout while the second invocation waits. A real
|
|
329
|
-
// operator will ^C long before 24h elapses. The ceiling is there
|
|
330
|
-
// purely so a forgotten lock cannot wedge the command forever.
|
|
331
|
-
timeoutMs: 24 * 60 * 60 * 1000,
|
|
332
|
-
onTimeoutMessage: `Timed out waiting for the FireForge build lock at ${lockPath}. ` +
|
|
333
|
-
'If no other `fireforge build` is running, remove the lock directory and retry.',
|
|
334
|
-
onStaleLockMessage: (ageMs) => `Removing stale FireForge build lock ${basename(lockPath)} (age: ${Math.round(ageMs / 1000)}s). A previous build process may have crashed.`,
|
|
335
|
-
});
|
|
336
|
-
}
|
|
337
|
-
/**
|
|
338
|
-
* Runs the built browser.
|
|
339
|
-
* @param engineDir - Path to the engine directory
|
|
340
|
-
* @param args - Additional arguments to pass to the browser
|
|
341
|
-
* @returns Exit code
|
|
342
|
-
*/
|
|
343
|
-
export async function run(engineDir, args = []) {
|
|
344
|
-
return runMach(['run', ...args], engineDir, { inherit: true });
|
|
345
|
-
}
|
|
346
|
-
/**
|
|
347
|
-
* Launches `mach run` under the smoke-run wrapper: streams line-by-line,
|
|
348
|
-
* enforces a deadline by SIGTERMing the whole process group, and returns
|
|
349
|
-
* the captured output alongside a `timedOut` flag.
|
|
350
|
-
*
|
|
351
|
-
* Unlike {@link run}, this variant does not inherit stdio. The child
|
|
352
|
-
* stdout/stderr are piped back through the line callbacks so the caller
|
|
353
|
-
* can scan for `JavaScript error:` / `console.error:` without coupling
|
|
354
|
-
* the runner to chrome-specific pattern logic.
|
|
355
|
-
*/
|
|
356
|
-
export async function runMachSmoke(args, engineDir, options) {
|
|
357
|
-
const python = await getPython(engineDir);
|
|
358
|
-
await ensureMach(engineDir);
|
|
359
|
-
await ensureFirefoxIgnorefileCompatibility(engineDir);
|
|
360
|
-
const machPath = join(engineDir, 'mach');
|
|
361
|
-
return execSmokeRun(python, [machPath, ...args], {
|
|
362
|
-
cwd: engineDir,
|
|
363
|
-
...(options.env ? { env: options.env } : {}),
|
|
364
|
-
smokeTimeoutMs: options.smokeTimeoutMs,
|
|
365
|
-
...(options.killGraceMs !== undefined ? { killGraceMs: options.killGraceMs } : {}),
|
|
366
|
-
...(options.onStdoutLine ? { onStdoutLine: options.onStdoutLine } : {}),
|
|
367
|
-
...(options.onStderrLine ? { onStderrLine: options.onStderrLine } : {}),
|
|
368
|
-
...(options.mirror ? { mirror: options.mirror } : {}),
|
|
369
|
-
});
|
|
370
|
-
}
|
|
371
|
-
/**
|
|
372
|
-
* Creates a distribution package while streaming output to the terminal
|
|
373
|
-
* and capturing the stderr tail for post-run diagnostics, so callers can
|
|
374
|
-
* consult {@link explainMachError} on failure.
|
|
375
|
-
*
|
|
376
|
-
* @param engineDir - Path to the engine directory
|
|
377
|
-
* @returns Captured mach result (stdout tail, stderr tail, exit code)
|
|
378
|
-
*/
|
|
379
|
-
export async function machPackageCapture(engineDir) {
|
|
380
|
-
return runMachCapture(['package'], engineDir);
|
|
381
|
-
}
|
|
382
|
-
/**
|
|
383
|
-
* Runs mach watch while preserving stdin and capturing emitted output.
|
|
384
|
-
*
|
|
385
|
-
* `env` is threaded through so the caller can prepend the resolved watchman
|
|
386
|
-
* directory to PATH in a way mach inherits: `fireforge watch` can locate
|
|
387
|
-
* `watchman` via `which`, but the mach subprocess spawns with the parent's
|
|
388
|
-
* PATH only, and on macOS that typically omits `/opt/homebrew/bin`, so
|
|
389
|
-
* `mach watch` fails at the `watch-project` subscription step.
|
|
390
|
-
*
|
|
391
|
-
* @param engineDir - Path to the engine directory
|
|
392
|
-
* @param options - Optional environment overrides merged into the mach
|
|
393
|
-
* subprocess env
|
|
394
|
-
* @returns Captured output and exit code
|
|
395
|
-
*/
|
|
396
|
-
export async function watchWithOutput(engineDir, options = {}) {
|
|
397
|
-
return runMachInheritCapture(['watch'], engineDir, options.env ? { env: options.env } : {});
|
|
398
|
-
}
|
|
399
|
-
/**
|
|
400
|
-
* Environment markers mozbuild reads to decide it is running under a coding
|
|
401
|
-
* agent (`mozbuild.util.is_running_under_coding_agent`), which quiets
|
|
402
|
-
* terminal output to warnings and errors.
|
|
403
|
-
*
|
|
404
|
-
* The quieting is genuinely useful for builds, which are most of what an
|
|
405
|
-
* agent session prints, but it applies to test runs too, where it removes
|
|
406
|
-
* `TEST_START` and console INFO: exactly the lines a hang or stall
|
|
407
|
-
* diagnosis needs, and the ones FireForge's own classifier reads
|
|
408
|
-
* (`Ran N checks`, `Unexpected results:`, `TEST-UNEXPECTED-*`). Unsetting
|
|
409
|
-
* the variable globally would give up the build half as well, so the
|
|
410
|
-
* dispatchers below unset it per test dispatch and leave the build path
|
|
411
|
-
* alone.
|
|
412
|
-
*/
|
|
413
|
-
const CODING_AGENT_ENV_MARKERS = ['CLAUDECODE'];
|
|
414
|
-
/**
|
|
415
|
-
* The `envUnset` list for a test dispatch: the coding-agent markers when
|
|
416
|
-
* full verbosity was requested, nothing otherwise.
|
|
417
|
-
*
|
|
418
|
-
* Opt-in rather than unconditional: this changes how much a third party
|
|
419
|
-
* prints, and an operator who wants mozbuild's quieting should keep it.
|
|
420
|
-
*/
|
|
421
|
-
function testVerbosityEnvUnset(fullOutput) {
|
|
422
|
-
return fullOutput === true ? CODING_AGENT_ENV_MARKERS : undefined;
|
|
423
|
-
}
|
|
424
|
-
/**
|
|
425
|
-
* Runs one mach test command (`mach test` / `mach xpcshell-test` / `mach
|
|
426
|
-
* mochitest`) while capturing streamed output for better diagnostics. The
|
|
427
|
-
* three commands share every other detail of the dispatch (resource guard,
|
|
428
|
-
* verbosity env, teardown-noise annotation), so they share one entry point
|
|
429
|
-
* keyed by `kind` rather than three copies that drift.
|
|
430
|
-
*
|
|
431
|
-
* @param kind - Which mach command to run
|
|
432
|
-
* @param options - Engine checkout, test paths, extra args, env, verbosity
|
|
433
|
-
*/
|
|
434
|
-
export async function runMachTestSuite(kind, options) {
|
|
435
|
-
const { engineDir, testPaths = [], args = [], env, fullOutput, teardown, outputPrefix } = options;
|
|
436
|
-
const guard = await installMachResourceGuard(engineDir);
|
|
437
|
-
const envUnset = testVerbosityEnvUnset(fullOutput);
|
|
438
|
-
return runMachCapture([kind, ...testPaths, ...args], engineDir, {
|
|
439
|
-
env: { ...guard.env, ...env },
|
|
440
|
-
...(envUnset ? { envUnset } : {}),
|
|
441
|
-
...teardown,
|
|
442
|
-
...(outputPrefix === undefined ? {} : { outputPrefix }),
|
|
443
|
-
annotateKnownTeardownNoise: true,
|
|
444
|
-
});
|
|
445
|
-
}
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
/** Default Marionette control port set by `-marionette`. */
|
|
2
|
-
export declare const DEFAULT_MARIONETTE_PORT = 2828;
|
|
3
|
-
/**
|
|
4
|
-
* Information about a process holding the Marionette port.
|
|
5
|
-
*/
|
|
6
|
-
export interface MarionettePortHolder {
|
|
7
|
-
/** OS process ID. */
|
|
8
|
-
pid: number;
|
|
9
|
-
/** Process basename (e.g. `forgefresh`, `firefox`). */
|
|
10
|
-
command: string;
|
|
11
|
-
/**
|
|
12
|
-
* Full command line the holder was launched with, when the probe
|
|
13
|
-
* can recover it. `lsof` by itself only returns the basename, so
|
|
14
|
-
* POSIX callers see `command === commandLine`. Windows callers
|
|
15
|
-
* recover the full command line via `Get-Process`. Used to detect
|
|
16
|
-
* the `-marionette` flag, which positively identifies a stale
|
|
17
|
-
* browser rather than an unrelated listener.
|
|
18
|
-
*/
|
|
19
|
-
commandLine: string;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Result of a Marionette port probe.
|
|
23
|
-
*/
|
|
24
|
-
export interface MarionettePortProbeResult {
|
|
25
|
-
/** True when something is listening on the probed port. */
|
|
26
|
-
inUse: boolean;
|
|
27
|
-
/** Details about the holder, when the probe recovered them. */
|
|
28
|
-
holder?: MarionettePortHolder;
|
|
29
|
-
}
|
|
30
|
-
/** A Firefox-family process launched from this project's built bundle. */
|
|
31
|
-
export interface RunningBundleProcess {
|
|
32
|
-
pid: number;
|
|
33
|
-
commandLine: string;
|
|
34
|
-
/**
|
|
35
|
-
* Elapsed wall-clock seconds since the process started, from `ps
|
|
36
|
-
* etime=`. `NaN` when the field was absent or unparseable, and callers must
|
|
37
|
-
* omit the clause rather than print a zero, because "started 0s ago" is
|
|
38
|
-
* exactly the wrong attribution for a peer session's long-lived browser.
|
|
39
|
-
*/
|
|
40
|
-
elapsedSeconds: number;
|
|
41
|
-
parentPid?: number;
|
|
42
|
-
owner?: string;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Pure parser kept exported so platform output handling is
|
|
46
|
-
* regression-testable.
|
|
47
|
-
*
|
|
48
|
-
* Reads `pid etime args` where the middle field is a `ps` duration. The
|
|
49
|
-
* elapsed field is parsed optimistically: a listing produced without
|
|
50
|
-
* `etime=` still parses, with the duration reported as `NaN` and the whole
|
|
51
|
-
* second field folded back into the command line, so a caller that lost the
|
|
52
|
-
* column degrades to the old behaviour instead of dropping the process.
|
|
53
|
-
*/
|
|
54
|
-
export declare function parseProcessList(stdout: string, launchableBinary: string): RunningBundleProcess[];
|
|
55
|
-
/**
|
|
56
|
-
* Refuses a browser-harness launch when this objdir's app is already alive,
|
|
57
|
-
* or terminates the parent when the operator explicitly opted into stale
|
|
58
|
-
* browser cleanup. This closes the no-listening-port variant of the stale
|
|
59
|
-
* Marionette process failure.
|
|
60
|
-
*/
|
|
61
|
-
export declare function ensureLaunchableBrowserNotRunning(launchableBinary: string, options?: {
|
|
62
|
-
killStaleBrowser?: boolean;
|
|
63
|
-
}): Promise<void>;
|
|
64
|
-
/**
|
|
65
|
-
* Builds the refusal for a running objdir browser.
|
|
66
|
-
*
|
|
67
|
-
* Reports the evidence rather than a bare PID: the elapsed time and the
|
|
68
|
-
* command line are what let an operator on a shared checkout decide whose
|
|
69
|
-
* process it is, without reconstructing PID ancestry by hand. A downstream
|
|
70
|
-
* fork hit exactly this: the message named a PID belonging to a peer
|
|
71
|
-
* session's live browser and offered a flag that would have killed a
|
|
72
|
-
* multi-hour evaluation run.
|
|
73
|
-
*
|
|
74
|
-
* So `--kill-stale-marionette` is offered only for a marionette-driven
|
|
75
|
-
* browser. For a bare launch the message says what it found and stops:
|
|
76
|
-
* FireForge cannot tell a dead run's orphan from someone's live window, and
|
|
77
|
-
* the flag is the right manual clear once ownership is verified, never an
|
|
78
|
-
* automatic one.
|
|
79
|
-
*
|
|
80
|
-
* Exported for direct unit testing.
|
|
81
|
-
*/
|
|
82
|
-
export declare function describeRunningBundleRefusal(holder: RunningBundleProcess): string;
|
|
83
|
-
/**
|
|
84
|
-
* Probes whether the Marionette port is currently bound by a
|
|
85
|
-
* listener. The probe is best-effort: missing tooling returns
|
|
86
|
-
* `{ inUse: false }` without failing.
|
|
87
|
-
*
|
|
88
|
-
* @param port - Port to probe (default {@link DEFAULT_MARIONETTE_PORT}).
|
|
89
|
-
*/
|
|
90
|
-
export declare function probeMarionettePort(port?: number): Promise<MarionettePortProbeResult>;
|
|
91
|
-
/**
|
|
92
|
-
* Raises a targeted {@link GeneralError} when the Marionette port
|
|
93
|
-
* is held by a browser process. Raises a softer warning-shaped
|
|
94
|
-
* error when the holder is unrelated (so the operator still sees
|
|
95
|
-
* a useful signal but can decide whether to wait it out).
|
|
96
|
-
*
|
|
97
|
-
* @param port - Port to probe (default {@link DEFAULT_MARIONETTE_PORT}).
|
|
98
|
-
* @param options - Extra context for the error message (the project's
|
|
99
|
-
* `binaryName` is used to recognise fork-branded browser binaries).
|
|
100
|
-
*/
|
|
101
|
-
export declare function assertMarionettePortAvailable(port?: number, options?: {
|
|
102
|
-
binaryName?: string;
|
|
103
|
-
}): Promise<void>;
|
|
104
|
-
/**
|
|
105
|
-
* Ensures the Marionette port is usable, optionally terminating a stale
|
|
106
|
-
* Firefox-family browser holder first. Unrelated listeners still fail.
|
|
107
|
-
*/
|
|
108
|
-
export declare function ensureMarionettePortAvailable(port?: number, options?: {
|
|
109
|
-
binaryName?: string;
|
|
110
|
-
killStaleBrowser?: boolean;
|
|
111
|
-
}): Promise<void>;
|
|
112
|
-
/**
|
|
113
|
-
* Extracts a `--marionette-port=N` (or `--marionette-port N`) argument from
|
|
114
|
-
* a list of forwarded mach args, if present. Used so an operator passing the
|
|
115
|
-
* port via `--mach-arg --marionette-port=NNNN` gets the same preflight
|
|
116
|
-
* override they would from a first-class `--marionette-port` option, rather
|
|
117
|
-
* than the wrapper probing the default port and refusing.
|
|
118
|
-
*
|
|
119
|
-
* Also recognises `--setpref=marionette.port=NNNN` since that is the path
|
|
120
|
-
* the test command auto-forwards to mach.
|
|
121
|
-
*
|
|
122
|
-
* @param machArgs - Forwarded mach args as they would appear on the command
|
|
123
|
-
* line (one element per token, with `--foo=bar` and `--foo bar` both
|
|
124
|
-
* supported).
|
|
125
|
-
* @returns The integer port if a recognised arg is present and parses,
|
|
126
|
-
* otherwise `undefined`.
|
|
127
|
-
*/
|
|
128
|
-
export declare function extractForwardedMarionettePort(machArgs: string[]): number | undefined;
|
|
129
|
-
/**
|
|
130
|
-
* True when forwarded mach args already set a Marionette **client** address
|
|
131
|
-
* for mach/mochitest (`--marionette=host:port` or `--marionette host:port`).
|
|
132
|
-
* Used only to avoid duplicating FireForge's auto-injected
|
|
133
|
-
* `--marionette=127.0.0.1:<n>`. This is not a full URL validator (IPv6,
|
|
134
|
-
* etc.).
|
|
135
|
-
*
|
|
136
|
-
* Does not treat `--marionette-port` as a client endpoint.
|
|
137
|
-
*/
|
|
138
|
-
export declare function forwardedMachArgsIncludeMarionetteClient(machArgs: string[]): boolean;
|
|
139
|
-
/**
|
|
140
|
-
* True when forwarded mach args explicitly select the xpcshell harness.
|
|
141
|
-
* Used so `--marionette-port` auto-forward skips `--setpref=marionette.port`
|
|
142
|
-
* for runs where the pref is ignored anyway.
|
|
143
|
-
*/
|
|
144
|
-
export declare function hasExplicitXpcshellFlavor(machArgs: string[]): boolean;
|
|
145
|
-
/**
|
|
146
|
-
* Whether `fireforge test` should append `--setpref=marionette.port=<n>` and
|
|
147
|
-
* `--marionette=127.0.0.1:<n>` when the operator passed `--marionette-port`.
|
|
148
|
-
* Forwards for every harness except an explicit `--flavor=xpcshell` /
|
|
149
|
-
* `xpcshell-tests` (toolkit widget mochitests under `toolkit/content/tests/`
|
|
150
|
-
* do not match the older path-only heuristic but still launch a
|
|
151
|
-
* Marionette-driven browser).
|
|
152
|
-
*/
|
|
153
|
-
export declare function shouldAutoForwardMarionettePortToMach(machArgs: string[]): boolean;
|