@hominis/fireforge 0.55.0 → 0.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +233 -6
- package/README.md +51 -17
- package/dist/bin/fireforge.js +34 -129
- package/dist/build-info.json +4 -4
- package/dist/src/check/check.js +394 -0
- package/dist/src/check/gate.js +448 -0
- package/dist/src/check/index.js +10 -0
- package/dist/src/check/record.js +155 -0
- package/dist/src/cli/command.js +286 -0
- package/dist/src/cli/output.js +96 -0
- package/dist/src/cli/program.js +231 -0
- package/dist/src/cli/stdio.js +59 -0
- package/dist/src/cli/version.js +99 -0
- package/dist/src/commands/bootstrap.js +17 -102
- package/dist/src/commands/build.js +34 -456
- package/dist/src/commands/check.js +44 -157
- package/dist/src/commands/config.js +50 -226
- package/dist/src/commands/discard.js +38 -215
- package/dist/src/commands/doctor.js +29 -456
- package/dist/src/commands/download.js +35 -499
- package/dist/src/commands/export.js +42 -431
- package/dist/src/commands/furnace.js +220 -0
- package/dist/src/commands/gate.js +127 -0
- package/dist/src/commands/import.js +44 -445
- package/dist/src/commands/index.js +86 -0
- package/dist/src/commands/lint.js +44 -546
- package/dist/src/commands/merge-driver.js +56 -0
- package/dist/src/commands/migrate.js +75 -0
- package/dist/src/commands/override.js +43 -0
- package/dist/src/commands/package.js +48 -77
- package/dist/src/commands/patch.js +221 -0
- package/dist/src/commands/re-export.js +55 -359
- package/dist/src/commands/rebase.js +69 -0
- package/dist/src/commands/register.js +62 -103
- package/dist/src/commands/reset.js +28 -91
- package/dist/src/commands/resolve.js +20 -167
- package/dist/src/commands/restore.js +19 -0
- package/dist/src/commands/run.js +60 -382
- package/dist/src/commands/setup.js +78 -90
- package/dist/src/commands/status.js +44 -413
- package/dist/src/commands/test.js +97 -423
- package/dist/src/commands/token.js +185 -228
- package/dist/src/commands/typecheck.js +59 -241
- package/dist/src/commands/verify.js +28 -334
- package/dist/src/commands/version.js +14 -0
- package/dist/src/commands/watch.js +20 -218
- package/dist/src/commands/wire.js +60 -349
- package/dist/src/commands/workspace.js +117 -0
- package/dist/src/config/edit.js +237 -0
- package/dist/src/config/index.js +15 -0
- package/dist/src/config/load.js +59 -0
- package/dist/src/config/previous.js +404 -0
- package/dist/src/config/schema/build.js +63 -0
- package/dist/src/config/schema/check.js +113 -0
- package/dist/src/config/schema/common.js +71 -0
- package/dist/src/config/schema/export-queue.js +36 -0
- package/dist/src/config/schema/firefox.js +69 -0
- package/dist/src/config/schema/gate.js +199 -0
- package/dist/src/config/schema/identity.js +55 -0
- package/dist/src/config/schema/index.js +45 -0
- package/dist/src/config/schema/lint.js +297 -0
- package/dist/src/config/schema/policy.js +111 -0
- package/dist/src/config/schema/source.js +90 -0
- package/dist/src/config/schema/test.js +17 -0
- package/dist/src/config/schema/toolchains.js +17 -0
- package/dist/src/config/schema/typecheck.js +29 -0
- package/dist/src/config/schema/wire.js +15 -0
- package/dist/src/diff/apply.js +129 -0
- package/dist/src/diff/index.js +16 -0
- package/dist/src/diff/model.js +267 -0
- package/dist/src/diff/query.js +65 -0
- package/dist/src/doctor/index.js +240 -0
- package/dist/src/engine/archive.js +396 -0
- package/dist/src/engine/audit.js +66 -0
- package/dist/src/engine/build.js +150 -0
- package/dist/src/engine/hostLocks.js +66 -0
- package/dist/src/engine/index.js +26 -0
- package/dist/src/engine/installManifests.js +147 -0
- package/dist/src/engine/mach.js +97 -0
- package/dist/src/engine/machHints.js +80 -0
- package/dist/src/engine/mozconfig.js +110 -0
- package/dist/src/engine/objdir.js +124 -0
- package/dist/src/engine/package.js +169 -0
- package/dist/src/engine/pin.js +12 -0
- package/dist/src/engine/pool.js +423 -0
- package/dist/src/engine/pristine.js +281 -0
- package/dist/src/engine/python.js +68 -0
- package/dist/src/engine/resourceGuard.js +582 -0
- package/dist/src/engine/run.js +259 -0
- package/dist/src/engine/smoke.js +204 -0
- package/dist/src/engine/staleness.js +229 -0
- package/dist/src/engine/watch.js +82 -0
- package/dist/src/engine/workspace.js +85 -0
- package/dist/src/furnace/config.js +360 -0
- package/dist/src/furnace/deploy.js +414 -0
- package/dist/src/furnace/diff.js +59 -0
- package/dist/src/furnace/edit.js +64 -0
- package/dist/src/furnace/fragments.js +53 -0
- package/dist/src/furnace/index.js +19 -0
- package/dist/src/furnace/operations.js +283 -0
- package/dist/src/furnace/registration.js +220 -0
- package/dist/src/furnace/scaffold.js +311 -0
- package/dist/src/furnace/typing.js +252 -0
- package/dist/src/furnace/validate.js +662 -0
- package/dist/src/git/apply.js +129 -0
- package/dist/src/git/diff.js +143 -0
- package/dist/src/git/index.js +33 -0
- package/dist/src/git/objects.js +201 -0
- package/dist/src/git/refs.js +85 -0
- package/dist/src/git/repo.js +222 -0
- package/dist/src/git/run.js +242 -0
- package/dist/src/git/status.js +156 -0
- package/dist/src/kernel/errors.js +123 -0
- package/dist/src/kernel/fs.js +515 -0
- package/dist/src/kernel/glob.js +63 -0
- package/dist/src/kernel/hash.js +28 -0
- package/dist/src/kernel/journal.js +524 -0
- package/dist/src/kernel/json-edit.js +198 -0
- package/dist/src/kernel/json.js +101 -0
- package/dist/src/kernel/lock.js +589 -0
- package/dist/src/kernel/log.js +154 -0
- package/dist/src/kernel/process/identity.js +313 -0
- package/dist/src/kernel/process/index.js +8 -0
- package/dist/src/kernel/process/listing.js +128 -0
- package/dist/src/kernel/process/spawn.js +430 -0
- package/dist/src/kernel/process/tree.js +301 -0
- package/dist/src/kernel/schema.js +308 -0
- package/dist/src/kernel/signals.js +171 -0
- package/dist/src/kernel/text.js +151 -0
- package/dist/src/kernel/time.js +83 -0
- package/dist/src/kernel/tty.js +84 -0
- package/dist/src/lint/cache.js +77 -0
- package/dist/src/lint/checkjs.js +400 -0
- package/dist/src/lint/index.js +3 -0
- package/dist/src/lint/input.js +100 -0
- package/dist/src/lint/report.js +107 -0
- package/dist/src/lint/rule.js +41 -0
- package/dist/src/lint/rules/css.js +308 -0
- package/dist/src/lint/rules/javascript.js +299 -0
- package/dist/src/lint/rules/jsdoc.js +249 -0
- package/dist/src/lint/rules/license.js +93 -0
- package/dist/src/lint/rules/policy.js +201 -0
- package/dist/src/lint/rules/registration.js +264 -0
- package/dist/src/lint/rules/size.js +299 -0
- package/dist/src/lint/run.js +126 -0
- package/dist/src/lint/shim.js +323 -0
- package/dist/src/lint/typescript.js +186 -0
- package/dist/src/lint/waivers.js +93 -0
- package/dist/src/mode/changes.js +264 -0
- package/dist/src/mode/diagnose.js +173 -0
- package/dist/src/mode/export.js +147 -0
- package/dist/src/mode/index.js +23 -0
- package/dist/src/mode/migrate.js +181 -0
- package/dist/src/mode/previousWaivers.js +206 -0
- package/dist/src/mode/pristine.js +61 -0
- package/dist/src/mode/rebase.js +197 -0
- package/dist/src/mode/report.js +157 -0
- package/dist/src/mode/setup.js +103 -0
- package/dist/src/mode/tracked.js +116 -0
- package/dist/src/mode/upgrade.js +281 -0
- package/dist/src/mode/watch.js +83 -0
- package/dist/src/mode/workspace.js +189 -0
- package/dist/src/mozbuild/index.js +6 -0
- package/dist/src/mozbuild/jar.js +366 -0
- package/dist/src/mozbuild/mozbuild.js +321 -0
- package/dist/src/mozbuild/paths.js +96 -0
- package/dist/src/mozbuild/references.js +39 -0
- package/dist/src/mozbuild/testManifest.js +343 -0
- package/dist/src/mozbuild/text.js +142 -0
- package/dist/src/project/changes.js +145 -0
- package/dist/src/project/checkout.js +66 -0
- package/dist/src/project/index.js +11 -0
- package/dist/src/project/license.js +119 -0
- package/dist/src/project/project.js +111 -0
- package/dist/src/project/state.js +85 -0
- package/dist/src/project/tracked.js +1 -0
- package/dist/src/queue/apply.js +270 -0
- package/dist/src/queue/attribute.js +159 -0
- package/dist/src/queue/baseline.js +409 -0
- package/dist/src/queue/capture.js +298 -0
- package/dist/src/queue/changes.js +234 -0
- package/dist/src/queue/index.js +50 -0
- package/dist/src/queue/manifest.js +341 -0
- package/dist/src/queue/operations.js +454 -0
- package/dist/src/queue/placement.js +220 -0
- package/dist/src/queue/queue.js +359 -0
- package/dist/src/queue/restore.js +103 -0
- package/dist/src/queue/session.js +685 -0
- package/dist/src/queue/status.js +137 -0
- package/dist/src/register/files.js +39 -0
- package/dist/src/register/index.js +8 -0
- package/dist/src/register/js.js +217 -0
- package/dist/src/register/register.js +359 -0
- package/dist/src/register/wire.js +146 -0
- package/dist/src/source/adopt.js +99 -0
- package/dist/src/source/changes.js +132 -0
- package/dist/src/source/edit.js +278 -0
- package/dist/src/source/export.js +70 -0
- package/dist/src/source/groups.js +131 -0
- package/dist/src/source/index.js +20 -0
- package/dist/src/source/materialize.js +382 -0
- package/dist/src/source/merge.js +255 -0
- package/dist/src/source/objects.js +102 -0
- package/dist/src/source/previous.js +166 -0
- package/dist/src/source/records.js +138 -0
- package/dist/src/source/refresh.js +264 -0
- package/dist/src/source/tree.js +337 -0
- package/dist/src/syntax/css.js +215 -0
- package/dist/src/syntax/fragments.js +63 -0
- package/dist/src/syntax/index.js +10 -0
- package/dist/src/syntax/js.js +270 -0
- package/dist/src/test/classify.js +826 -0
- package/dist/src/test/control.js +236 -0
- package/dist/src/test/host.js +266 -0
- package/dist/src/test/index.js +11 -0
- package/dist/src/test/plan.js +347 -0
- package/dist/src/test/rawLog.js +138 -0
- package/dist/src/test/run.js +404 -0
- package/dist/src/test/verdict.js +420 -0
- package/dist/src/test/xpcshell.js +143 -0
- package/dist/src/tokens/add.js +304 -0
- package/dist/src/tokens/coverage.js +65 -0
- package/dist/src/tokens/css.js +58 -0
- package/dist/src/tokens/index.js +12 -0
- package/dist/src/tokens/lint.js +96 -0
- package/dist/src/tokens/model.js +118 -0
- package/dist/src/tokens/settings.js +87 -0
- package/dist/src/tokens/siblings.js +104 -0
- package/dist/src/typecheck/explain.js +123 -0
- package/dist/src/typecheck/index.js +8 -0
- package/dist/src/typecheck/typecheck.js +332 -0
- package/docs/README.md +23 -28
- package/docs/authoring.md +97 -0
- package/docs/configuration.md +307 -766
- package/docs/exit-codes.md +76 -94
- package/docs/furnace.md +111 -221
- package/docs/gate.md +205 -0
- package/docs/getting-started.md +165 -0
- package/docs/machine-output.md +201 -290
- package/docs/migrating.md +261 -0
- package/docs/patch-workflow.md +159 -723
- package/docs/quality.md +220 -0
- package/docs/source-workflow.md +228 -0
- package/docs/testing.md +101 -719
- package/docs/workspaces.md +187 -0
- package/package.json +22 -30
- package/templates/configs/common.mozconfig +8 -2
- package/templates/configs/darwin.mozconfig +6 -7
- package/templates/configs/linux.mozconfig +5 -8
- package/templates/configs/win32.mozconfig +3 -9
- package/dist/bin/fireforge.d.ts +0 -9
- package/dist/src/cli-usage-error.d.ts +0 -46
- package/dist/src/cli-usage-error.js +0 -81
- package/dist/src/cli.d.ts +0 -41
- package/dist/src/cli.js +0 -380
- package/dist/src/commands/bootstrap-checks.d.ts +0 -16
- package/dist/src/commands/bootstrap-checks.js +0 -66
- package/dist/src/commands/bootstrap.d.ts +0 -10
- package/dist/src/commands/build-prelock.d.ts +0 -20
- package/dist/src/commands/build-prelock.js +0 -50
- package/dist/src/commands/build.d.ts +0 -13
- package/dist/src/commands/check-report.d.ts +0 -41
- package/dist/src/commands/check-report.js +0 -98
- package/dist/src/commands/check-run.d.ts +0 -44
- package/dist/src/commands/check-run.js +0 -125
- package/dist/src/commands/check-steps.d.ts +0 -75
- package/dist/src/commands/check-steps.js +0 -200
- package/dist/src/commands/check.d.ts +0 -32
- package/dist/src/commands/config.d.ts +0 -13
- package/dist/src/commands/declarations-report.d.ts +0 -49
- package/dist/src/commands/declarations-report.js +0 -83
- package/dist/src/commands/destructive-decision.d.ts +0 -19
- package/dist/src/commands/destructive-decision.js +0 -31
- package/dist/src/commands/discard.d.ts +0 -12
- package/dist/src/commands/doctor-check-core.d.ts +0 -110
- package/dist/src/commands/doctor-check-core.js +0 -24
- package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
- package/dist/src/commands/doctor-engine-eslint.js +0 -17
- package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
- package/dist/src/commands/doctor-external-toolchains.js +0 -56
- package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
- package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
- package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
- package/dist/src/commands/doctor-furnace-jar.js +0 -44
- package/dist/src/commands/doctor-furnace.d.ts +0 -8
- package/dist/src/commands/doctor-furnace.js +0 -514
- package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
- package/dist/src/commands/doctor-macos-sdk.js +0 -158
- package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
- package/dist/src/commands/doctor-orphaned-harness.js +0 -98
- package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
- package/dist/src/commands/doctor-patch-manifest.js +0 -156
- package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
- package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
- package/dist/src/commands/doctor-source-pin.d.ts +0 -29
- package/dist/src/commands/doctor-source-pin.js +0 -91
- package/dist/src/commands/doctor-working-tree.d.ts +0 -27
- package/dist/src/commands/doctor-working-tree.js +0 -89
- package/dist/src/commands/doctor.d.ts +0 -49
- package/dist/src/commands/download.d.ts +0 -11
- package/dist/src/commands/export-adopt-check.d.ts +0 -37
- package/dist/src/commands/export-adopt-check.js +0 -97
- package/dist/src/commands/export-all.d.ts +0 -11
- package/dist/src/commands/export-all.js +0 -361
- package/dist/src/commands/export-flow.d.ts +0 -124
- package/dist/src/commands/export-flow.js +0 -423
- package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
- package/dist/src/commands/export-placement-conflicts.js +0 -75
- package/dist/src/commands/export-placement-gate.d.ts +0 -42
- package/dist/src/commands/export-placement-gate.js +0 -107
- package/dist/src/commands/export-placement-policy.d.ts +0 -22
- package/dist/src/commands/export-placement-policy.js +0 -54
- package/dist/src/commands/export-shared.d.ts +0 -152
- package/dist/src/commands/export-shared.js +0 -396
- package/dist/src/commands/export-staged-registration.d.ts +0 -46
- package/dist/src/commands/export-staged-registration.js +0 -91
- package/dist/src/commands/export.d.ts +0 -13
- package/dist/src/commands/forward-import-remedy.d.ts +0 -31
- package/dist/src/commands/forward-import-remedy.js +0 -62
- package/dist/src/commands/furnace/apply.d.ts +0 -8
- package/dist/src/commands/furnace/apply.js +0 -327
- package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
- package/dist/src/commands/furnace/authoring-config.js +0 -19
- package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
- package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
- package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
- package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
- package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
- package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
- package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
- package/dist/src/commands/furnace/chrome-doc.js +0 -365
- package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
- package/dist/src/commands/furnace/create-browser-test.js +0 -179
- package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
- package/dist/src/commands/furnace/create-dry-run.js +0 -107
- package/dist/src/commands/furnace/create-features.d.ts +0 -24
- package/dist/src/commands/furnace/create-features.js +0 -55
- package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
- package/dist/src/commands/furnace/create-mochikit.js +0 -75
- package/dist/src/commands/furnace/create-readback.d.ts +0 -22
- package/dist/src/commands/furnace/create-readback.js +0 -32
- package/dist/src/commands/furnace/create-templates.d.ts +0 -119
- package/dist/src/commands/furnace/create-templates.js +0 -283
- package/dist/src/commands/furnace/create-validation.d.ts +0 -6
- package/dist/src/commands/furnace/create-validation.js +0 -59
- package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
- package/dist/src/commands/furnace/create-xpcshell.js +0 -80
- package/dist/src/commands/furnace/create.d.ts +0 -24
- package/dist/src/commands/furnace/create.js +0 -407
- package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
- package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
- package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
- package/dist/src/commands/furnace/deploy-named.js +0 -107
- package/dist/src/commands/furnace/deploy.d.ts +0 -9
- package/dist/src/commands/furnace/deploy.js +0 -229
- package/dist/src/commands/furnace/diff.d.ts +0 -11
- package/dist/src/commands/furnace/diff.js +0 -238
- package/dist/src/commands/furnace/index.d.ts +0 -4
- package/dist/src/commands/furnace/index.js +0 -283
- package/dist/src/commands/furnace/init.d.ts +0 -11
- package/dist/src/commands/furnace/init.js +0 -287
- package/dist/src/commands/furnace/list.d.ts +0 -8
- package/dist/src/commands/furnace/list.js +0 -104
- package/dist/src/commands/furnace/override.d.ts +0 -16
- package/dist/src/commands/furnace/override.js +0 -454
- package/dist/src/commands/furnace/preview.d.ts +0 -19
- package/dist/src/commands/furnace/preview.js +0 -349
- package/dist/src/commands/furnace/refresh.d.ts +0 -10
- package/dist/src/commands/furnace/refresh.js +0 -303
- package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
- package/dist/src/commands/furnace/remove-mutations.js +0 -168
- package/dist/src/commands/furnace/remove-state.d.ts +0 -20
- package/dist/src/commands/furnace/remove-state.js +0 -60
- package/dist/src/commands/furnace/remove.d.ts +0 -8
- package/dist/src/commands/furnace/remove.js +0 -415
- package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
- package/dist/src/commands/furnace/rename-browser-test.js +0 -68
- package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
- package/dist/src/commands/furnace/rename-dry-run.js +0 -127
- package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
- package/dist/src/commands/furnace/rename-helpers.js +0 -85
- package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
- package/dist/src/commands/furnace/rename-registrations.js +0 -98
- package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
- package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
- package/dist/src/commands/furnace/rename.d.ts +0 -6
- package/dist/src/commands/furnace/rename.js +0 -400
- package/dist/src/commands/furnace/scan.d.ts +0 -14
- package/dist/src/commands/furnace/scan.js +0 -192
- package/dist/src/commands/furnace/status.d.ts +0 -7
- package/dist/src/commands/furnace/status.js +0 -209
- package/dist/src/commands/furnace/sync.d.ts +0 -12
- package/dist/src/commands/furnace/sync.js +0 -145
- package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
- package/dist/src/commands/furnace/test-file-name.js +0 -39
- package/dist/src/commands/furnace/validate-report.d.ts +0 -45
- package/dist/src/commands/furnace/validate-report.js +0 -91
- package/dist/src/commands/furnace/validate.d.ts +0 -8
- package/dist/src/commands/furnace/validate.js +0 -309
- package/dist/src/commands/furnace/validation-output.d.ts +0 -47
- package/dist/src/commands/furnace/validation-output.js +0 -161
- package/dist/src/commands/import.d.ts +0 -11
- package/dist/src/commands/lint-per-patch.d.ts +0 -10
- package/dist/src/commands/lint-per-patch.js +0 -428
- package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
- package/dist/src/commands/lint-per-run-checkjs.js +0 -102
- package/dist/src/commands/lint-report.d.ts +0 -25
- package/dist/src/commands/lint-report.js +0 -76
- package/dist/src/commands/lint.d.ts +0 -47
- package/dist/src/commands/manifest.d.ts +0 -38
- package/dist/src/commands/manifest.js +0 -68
- package/dist/src/commands/package.d.ts +0 -11
- package/dist/src/commands/park.d.ts +0 -22
- package/dist/src/commands/park.js +0 -232
- package/dist/src/commands/patch/body.d.ts +0 -29
- package/dist/src/commands/patch/body.js +0 -60
- package/dist/src/commands/patch/compact.d.ts +0 -28
- package/dist/src/commands/patch/compact.js +0 -208
- package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
- package/dist/src/commands/patch/delete-gap-notice.js +0 -48
- package/dist/src/commands/patch/delete.d.ts +0 -28
- package/dist/src/commands/patch/delete.js +0 -131
- package/dist/src/commands/patch/entry-projection.d.ts +0 -13
- package/dist/src/commands/patch/entry-projection.js +0 -24
- package/dist/src/commands/patch/index.d.ts +0 -16
- package/dist/src/commands/patch/index.js +0 -54
- package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
- package/dist/src/commands/patch/lint-ignore-from.js +0 -141
- package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
- package/dist/src/commands/patch/lint-ignore.js +0 -263
- package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
- package/dist/src/commands/patch/move-files-adopt.js +0 -65
- package/dist/src/commands/patch/move-files-create.d.ts +0 -19
- package/dist/src/commands/patch/move-files-create.js +0 -187
- package/dist/src/commands/patch/move-files-into.d.ts +0 -65
- package/dist/src/commands/patch/move-files-into.js +0 -325
- package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
- package/dist/src/commands/patch/move-files-retire.js +0 -91
- package/dist/src/commands/patch/move-files.d.ts +0 -28
- package/dist/src/commands/patch/move-files.js +0 -224
- package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
- package/dist/src/commands/patch/move-size-tier.js +0 -66
- package/dist/src/commands/patch/patch-context.d.ts +0 -40
- package/dist/src/commands/patch/patch-context.js +0 -51
- package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
- package/dist/src/commands/patch/removal-created-files.js +0 -83
- package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
- package/dist/src/commands/patch/removal-dependents.js +0 -133
- package/dist/src/commands/patch/rename.d.ts +0 -35
- package/dist/src/commands/patch/rename.js +0 -378
- package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
- package/dist/src/commands/patch/reorder-projection.js +0 -49
- package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
- package/dist/src/commands/patch/reorder-shift.js +0 -307
- package/dist/src/commands/patch/reorder.d.ts +0 -34
- package/dist/src/commands/patch/reorder.js +0 -375
- package/dist/src/commands/patch/reserve.d.ts +0 -33
- package/dist/src/commands/patch/reserve.js +0 -152
- package/dist/src/commands/patch/retire.d.ts +0 -34
- package/dist/src/commands/patch/retire.js +0 -133
- package/dist/src/commands/patch/split-plan.d.ts +0 -125
- package/dist/src/commands/patch/split-plan.js +0 -313
- package/dist/src/commands/patch/split-staged.d.ts +0 -108
- package/dist/src/commands/patch/split-staged.js +0 -202
- package/dist/src/commands/patch/split.d.ts +0 -43
- package/dist/src/commands/patch/split.js +0 -367
- package/dist/src/commands/patch/stage.d.ts +0 -34
- package/dist/src/commands/patch/stage.js +0 -153
- package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
- package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
- package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
- package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
- package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
- package/dist/src/commands/patch/staged-dependency-from.js +0 -114
- package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
- package/dist/src/commands/patch/staged-dependency-remove.js +0 -114
- package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -27
- package/dist/src/commands/patch/staged-dependency-validate.js +0 -78
- package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
- package/dist/src/commands/patch/staged-dependency.js +0 -251
- package/dist/src/commands/patch/tier.d.ts +0 -34
- package/dist/src/commands/patch/tier.js +0 -125
- package/dist/src/commands/patch-rename-map.d.ts +0 -30
- package/dist/src/commands/patch-rename-map.js +0 -54
- package/dist/src/commands/pending-resolution.d.ts +0 -15
- package/dist/src/commands/pending-resolution.js +0 -25
- package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
- package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
- package/dist/src/commands/re-export-adjacent.d.ts +0 -111
- package/dist/src/commands/re-export-adjacent.js +0 -285
- package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
- package/dist/src/commands/re-export-bulk-scan.js +0 -233
- package/dist/src/commands/re-export-drift.d.ts +0 -110
- package/dist/src/commands/re-export-drift.js +0 -358
- package/dist/src/commands/re-export-each.d.ts +0 -46
- package/dist/src/commands/re-export-each.js +0 -110
- package/dist/src/commands/re-export-files.d.ts +0 -15
- package/dist/src/commands/re-export-files.js +0 -307
- package/dist/src/commands/re-export-hunks.d.ts +0 -37
- package/dist/src/commands/re-export-hunks.js +0 -264
- package/dist/src/commands/re-export-lint.d.ts +0 -137
- package/dist/src/commands/re-export-lint.js +0 -303
- package/dist/src/commands/re-export-options.d.ts +0 -29
- package/dist/src/commands/re-export-options.js +0 -192
- package/dist/src/commands/re-export-preflight.d.ts +0 -23
- package/dist/src/commands/re-export-preflight.js +0 -159
- package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
- package/dist/src/commands/re-export-purity-scope.js +0 -137
- package/dist/src/commands/re-export-register.d.ts +0 -12
- package/dist/src/commands/re-export-register.js +0 -99
- package/dist/src/commands/re-export-removed.d.ts +0 -15
- package/dist/src/commands/re-export-removed.js +0 -94
- package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
- package/dist/src/commands/re-export-retired-declarations.js +0 -113
- package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
- package/dist/src/commands/re-export-scan-owner.js +0 -116
- package/dist/src/commands/re-export-scan.d.ts +0 -72
- package/dist/src/commands/re-export-scan.js +0 -265
- package/dist/src/commands/re-export-single.d.ts +0 -53
- package/dist/src/commands/re-export-single.js +0 -426
- package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
- package/dist/src/commands/re-export-stale-registrations.js +0 -106
- package/dist/src/commands/re-export-summary.d.ts +0 -44
- package/dist/src/commands/re-export-summary.js +0 -59
- package/dist/src/commands/re-export.d.ts +0 -8
- package/dist/src/commands/rebase/abort.d.ts +0 -7
- package/dist/src/commands/rebase/abort.js +0 -67
- package/dist/src/commands/rebase/confirm.d.ts +0 -42
- package/dist/src/commands/rebase/confirm.js +0 -36
- package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
- package/dist/src/commands/rebase/conflict-summary.js +0 -37
- package/dist/src/commands/rebase/continue.d.ts +0 -7
- package/dist/src/commands/rebase/continue.js +0 -119
- package/dist/src/commands/rebase/index.d.ts +0 -22
- package/dist/src/commands/rebase/index.js +0 -209
- package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
- package/dist/src/commands/rebase/patch-loop.js +0 -289
- package/dist/src/commands/rebase/summary.d.ts +0 -8
- package/dist/src/commands/rebase/summary.js +0 -47
- package/dist/src/commands/register.d.ts +0 -13
- package/dist/src/commands/reset.d.ts +0 -11
- package/dist/src/commands/resolve.d.ts +0 -36
- package/dist/src/commands/run.d.ts +0 -10
- package/dist/src/commands/setup-support.d.ts +0 -35
- package/dist/src/commands/setup-support.js +0 -386
- package/dist/src/commands/setup.d.ts +0 -11
- package/dist/src/commands/source.d.ts +0 -9
- package/dist/src/commands/source.js +0 -120
- package/dist/src/commands/status-check.d.ts +0 -87
- package/dist/src/commands/status-check.js +0 -161
- package/dist/src/commands/status-json.d.ts +0 -45
- package/dist/src/commands/status-json.js +0 -97
- package/dist/src/commands/status-output.d.ts +0 -23
- package/dist/src/commands/status-output.js +0 -231
- package/dist/src/commands/status-ownership.d.ts +0 -54
- package/dist/src/commands/status-ownership.js +0 -59
- package/dist/src/commands/status-scope.d.ts +0 -37
- package/dist/src/commands/status-scope.js +0 -54
- package/dist/src/commands/status.d.ts +0 -11
- package/dist/src/commands/test-appdir.d.ts +0 -6
- package/dist/src/commands/test-appdir.js +0 -29
- package/dist/src/commands/test-browser-preflight.d.ts +0 -28
- package/dist/src/commands/test-browser-preflight.js +0 -197
- package/dist/src/commands/test-build-furnace.d.ts +0 -21
- package/dist/src/commands/test-build-furnace.js +0 -53
- package/dist/src/commands/test-build-phase.d.ts +0 -34
- package/dist/src/commands/test-build-phase.js +0 -291
- package/dist/src/commands/test-checkjs.d.ts +0 -3
- package/dist/src/commands/test-checkjs.js +0 -35
- package/dist/src/commands/test-control-restore.d.ts +0 -40
- package/dist/src/commands/test-control-restore.js +0 -86
- package/dist/src/commands/test-diagnose.d.ts +0 -23
- package/dist/src/commands/test-diagnose.js +0 -317
- package/dist/src/commands/test-dispatch.d.ts +0 -39
- package/dist/src/commands/test-dispatch.js +0 -281
- package/dist/src/commands/test-furnace-reach.d.ts +0 -37
- package/dist/src/commands/test-furnace-reach.js +0 -132
- package/dist/src/commands/test-harness-env.d.ts +0 -23
- package/dist/src/commands/test-harness-env.js +0 -81
- package/dist/src/commands/test-harness-teardown.d.ts +0 -62
- package/dist/src/commands/test-harness-teardown.js +0 -128
- package/dist/src/commands/test-modes.d.ts +0 -57
- package/dist/src/commands/test-modes.js +0 -158
- package/dist/src/commands/test-multi-verdict.d.ts +0 -61
- package/dist/src/commands/test-multi-verdict.js +0 -112
- package/dist/src/commands/test-orchestrate.d.ts +0 -70
- package/dist/src/commands/test-orchestrate.js +0 -277
- package/dist/src/commands/test-perf-scope.d.ts +0 -50
- package/dist/src/commands/test-perf-scope.js +0 -138
- package/dist/src/commands/test-prelock.d.ts +0 -61
- package/dist/src/commands/test-prelock.js +0 -301
- package/dist/src/commands/test-register.d.ts +0 -4
- package/dist/src/commands/test-register.js +0 -181
- package/dist/src/commands/test-results.d.ts +0 -71
- package/dist/src/commands/test-results.js +0 -79
- package/dist/src/commands/test-run.d.ts +0 -89
- package/dist/src/commands/test-run.js +0 -251
- package/dist/src/commands/test-shards.d.ts +0 -114
- package/dist/src/commands/test-shards.js +0 -272
- package/dist/src/commands/test-stale-gate.d.ts +0 -56
- package/dist/src/commands/test-stale-gate.js +0 -208
- package/dist/src/commands/test-verdict.d.ts +0 -102
- package/dist/src/commands/test-verdict.js +0 -176
- package/dist/src/commands/test.d.ts +0 -22
- package/dist/src/commands/token-coverage.d.ts +0 -5
- package/dist/src/commands/token-coverage.js +0 -170
- package/dist/src/commands/token-lint.d.ts +0 -14
- package/dist/src/commands/token-lint.js +0 -151
- package/dist/src/commands/token-list.d.ts +0 -26
- package/dist/src/commands/token-list.js +0 -153
- package/dist/src/commands/token.d.ts +0 -14
- package/dist/src/commands/tree.d.ts +0 -19
- package/dist/src/commands/tree.js +0 -341
- package/dist/src/commands/typecheck-explain.d.ts +0 -13
- package/dist/src/commands/typecheck-explain.js +0 -100
- package/dist/src/commands/typecheck.d.ts +0 -61
- package/dist/src/commands/verify-scope.d.ts +0 -28
- package/dist/src/commands/verify-scope.js +0 -67
- package/dist/src/commands/verify.d.ts +0 -58
- package/dist/src/commands/watch.d.ts +0 -9
- package/dist/src/commands/wire.d.ts +0 -13
- package/dist/src/core/ast-utils.d.ts +0 -73
- package/dist/src/core/ast-utils.js +0 -105
- package/dist/src/core/brand-validation.d.ts +0 -7
- package/dist/src/core/brand-validation.js +0 -14
- package/dist/src/core/branding.d.ts +0 -86
- package/dist/src/core/branding.js +0 -371
- package/dist/src/core/browser-wire.d.ts +0 -48
- package/dist/src/core/browser-wire.js +0 -133
- package/dist/src/core/build-audit-platform.d.ts +0 -67
- package/dist/src/core/build-audit-platform.js +0 -373
- package/dist/src/core/build-audit-registration.d.ts +0 -80
- package/dist/src/core/build-audit-registration.js +0 -181
- package/dist/src/core/build-audit-resolve.d.ts +0 -78
- package/dist/src/core/build-audit-resolve.js +0 -240
- package/dist/src/core/build-audit-skip.d.ts +0 -57
- package/dist/src/core/build-audit-skip.js +0 -112
- package/dist/src/core/build-audit-transforms.d.ts +0 -23
- package/dist/src/core/build-audit-transforms.js +0 -92
- package/dist/src/core/build-audit.d.ts +0 -93
- package/dist/src/core/build-audit.js +0 -633
- package/dist/src/core/build-baseline-types.d.ts +0 -225
- package/dist/src/core/build-baseline-types.js +0 -10
- package/dist/src/core/build-baseline-validate.d.ts +0 -32
- package/dist/src/core/build-baseline-validate.js +0 -173
- package/dist/src/core/build-baseline.d.ts +0 -103
- package/dist/src/core/build-baseline.js +0 -261
- package/dist/src/core/build-jar-escalation.d.ts +0 -61
- package/dist/src/core/build-jar-escalation.js +0 -125
- package/dist/src/core/build-overwrite-guard.d.ts +0 -92
- package/dist/src/core/build-overwrite-guard.js +0 -235
- package/dist/src/core/build-prepare.d.ts +0 -83
- package/dist/src/core/build-prepare.js +0 -414
- package/dist/src/core/build-run-record.d.ts +0 -74
- package/dist/src/core/build-run-record.js +0 -136
- package/dist/src/core/checkjs-support-heads.d.ts +0 -41
- package/dist/src/core/checkjs-support-heads.js +0 -104
- package/dist/src/core/component-source-guard.d.ts +0 -20
- package/dist/src/core/component-source-guard.js +0 -68
- package/dist/src/core/config-mutate.d.ts +0 -16
- package/dist/src/core/config-mutate.js +0 -76
- package/dist/src/core/config-paths.d.ts +0 -16
- package/dist/src/core/config-paths.js +0 -106
- package/dist/src/core/config-state.d.ts +0 -16
- package/dist/src/core/config-state.js +0 -141
- package/dist/src/core/config-validate-build-audit.d.ts +0 -8
- package/dist/src/core/config-validate-build-audit.js +0 -80
- package/dist/src/core/config-validate-check.d.ts +0 -8
- package/dist/src/core/config-validate-check.js +0 -219
- package/dist/src/core/config-validate-file-size.d.ts +0 -15
- package/dist/src/core/config-validate-file-size.js +0 -154
- package/dist/src/core/config-validate-history.d.ts +0 -11
- package/dist/src/core/config-validate-history.js +0 -38
- package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
- package/dist/src/core/config-validate-patch-policy.js +0 -284
- package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
- package/dist/src/core/config-validate-test-toolchains.js +0 -133
- package/dist/src/core/config-validate-token-scales.d.ts +0 -9
- package/dist/src/core/config-validate-token-scales.js +0 -125
- package/dist/src/core/config-validate.d.ts +0 -11
- package/dist/src/core/config-validate.js +0 -509
- package/dist/src/core/config.d.ts +0 -92
- package/dist/src/core/config.js +0 -169
- package/dist/src/core/coverage-dispatch.d.ts +0 -24
- package/dist/src/core/coverage-dispatch.js +0 -44
- package/dist/src/core/coverage-extend.d.ts +0 -89
- package/dist/src/core/coverage-extend.js +0 -239
- package/dist/src/core/coverage-records.d.ts +0 -107
- package/dist/src/core/coverage-records.js +0 -383
- package/dist/src/core/destructive.d.ts +0 -144
- package/dist/src/core/destructive.js +0 -182
- package/dist/src/core/dev-profile.d.ts +0 -28
- package/dist/src/core/dev-profile.js +0 -58
- package/dist/src/core/diff-hunks.d.ts +0 -73
- package/dist/src/core/diff-hunks.js +0 -286
- package/dist/src/core/discard-baseline.d.ts +0 -60
- package/dist/src/core/discard-baseline.js +0 -247
- package/dist/src/core/display-state.d.ts +0 -50
- package/dist/src/core/display-state.js +0 -87
- package/dist/src/core/engine-changes.d.ts +0 -40
- package/dist/src/core/engine-changes.js +0 -95
- package/dist/src/core/engine-precondition.d.ts +0 -42
- package/dist/src/core/engine-precondition.js +0 -60
- package/dist/src/core/engine-session-lock.d.ts +0 -119
- package/dist/src/core/engine-session-lock.js +0 -374
- package/dist/src/core/engine-write-boundary.d.ts +0 -5
- package/dist/src/core/engine-write-boundary.js +0 -41
- package/dist/src/core/export-moved-code-shape.d.ts +0 -98
- package/dist/src/core/export-moved-code-shape.js +0 -220
- package/dist/src/core/file-lock-owner.d.ts +0 -103
- package/dist/src/core/file-lock-owner.js +0 -259
- package/dist/src/core/file-lock-queue.d.ts +0 -67
- package/dist/src/core/file-lock-queue.js +0 -219
- package/dist/src/core/file-lock-shared.d.ts +0 -57
- package/dist/src/core/file-lock-shared.js +0 -117
- package/dist/src/core/file-lock.d.ts +0 -143
- package/dist/src/core/file-lock.js +0 -531
- package/dist/src/core/firefox-archive.d.ts +0 -45
- package/dist/src/core/firefox-archive.js +0 -96
- package/dist/src/core/firefox-cache.d.ts +0 -30
- package/dist/src/core/firefox-cache.js +0 -248
- package/dist/src/core/firefox-download.d.ts +0 -30
- package/dist/src/core/firefox-download.js +0 -152
- package/dist/src/core/firefox-extract.d.ts +0 -42
- package/dist/src/core/firefox-extract.js +0 -248
- package/dist/src/core/firefox-ignorefile.d.ts +0 -17
- package/dist/src/core/firefox-ignorefile.js +0 -30
- package/dist/src/core/firefox.d.ts +0 -66
- package/dist/src/core/firefox.js +0 -121
- package/dist/src/core/forward-registrations.d.ts +0 -33
- package/dist/src/core/forward-registrations.js +0 -16
- package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
- package/dist/src/core/furnace-apply-dry-run.js +0 -99
- package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
- package/dist/src/core/furnace-apply-ftl.js +0 -210
- package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
- package/dist/src/core/furnace-apply-helpers.js +0 -436
- package/dist/src/core/furnace-apply-output.d.ts +0 -36
- package/dist/src/core/furnace-apply-output.js +0 -111
- package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -67
- package/dist/src/core/furnace-apply-overwrite-warn.js +0 -131
- package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
- package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
- package/dist/src/core/furnace-apply.d.ts +0 -49
- package/dist/src/core/furnace-apply.js +0 -465
- package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
- package/dist/src/core/furnace-checksum-utils.js +0 -54
- package/dist/src/core/furnace-composed-source.d.ts +0 -76
- package/dist/src/core/furnace-composed-source.js +0 -167
- package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
- package/dist/src/core/furnace-config-array-utils.js +0 -26
- package/dist/src/core/furnace-config-custom.d.ts +0 -15
- package/dist/src/core/furnace-config-custom.js +0 -73
- package/dist/src/core/furnace-config-order.d.ts +0 -8
- package/dist/src/core/furnace-config-order.js +0 -90
- package/dist/src/core/furnace-config-tokens.d.ts +0 -17
- package/dist/src/core/furnace-config-tokens.js +0 -42
- package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
- package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
- package/dist/src/core/furnace-config-validate.d.ts +0 -32
- package/dist/src/core/furnace-config-validate.js +0 -167
- package/dist/src/core/furnace-config.d.ts +0 -139
- package/dist/src/core/furnace-config.js +0 -511
- package/dist/src/core/furnace-constants.d.ts +0 -81
- package/dist/src/core/furnace-constants.js +0 -125
- package/dist/src/core/furnace-css-fragments.d.ts +0 -96
- package/dist/src/core/furnace-css-fragments.js +0 -279
- package/dist/src/core/furnace-deploy-owner.d.ts +0 -29
- package/dist/src/core/furnace-deploy-owner.js +0 -116
- package/dist/src/core/furnace-dir-entry.d.ts +0 -20
- package/dist/src/core/furnace-dir-entry.js +0 -21
- package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
- package/dist/src/core/furnace-fragment-includers.js +0 -122
- package/dist/src/core/furnace-graph-utils.d.ts +0 -11
- package/dist/src/core/furnace-graph-utils.js +0 -93
- package/dist/src/core/furnace-jsconfig.d.ts +0 -87
- package/dist/src/core/furnace-jsconfig.js +0 -248
- package/dist/src/core/furnace-marker.d.ts +0 -15
- package/dist/src/core/furnace-marker.js +0 -21
- package/dist/src/core/furnace-operation.d.ts +0 -195
- package/dist/src/core/furnace-operation.js +0 -444
- package/dist/src/core/furnace-precondition.d.ts +0 -61
- package/dist/src/core/furnace-precondition.js +0 -67
- package/dist/src/core/furnace-refresh.d.ts +0 -28
- package/dist/src/core/furnace-refresh.js +0 -125
- package/dist/src/core/furnace-registration-ast.d.ts +0 -53
- package/dist/src/core/furnace-registration-ast.js +0 -402
- package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
- package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
- package/dist/src/core/furnace-registration-remove.d.ts +0 -56
- package/dist/src/core/furnace-registration-remove.js +0 -260
- package/dist/src/core/furnace-registration-rename.d.ts +0 -26
- package/dist/src/core/furnace-registration-rename.js +0 -77
- package/dist/src/core/furnace-registration-validate.d.ts +0 -53
- package/dist/src/core/furnace-registration-validate.js +0 -110
- package/dist/src/core/furnace-registration.d.ts +0 -112
- package/dist/src/core/furnace-registration.js +0 -348
- package/dist/src/core/furnace-rollback.d.ts +0 -48
- package/dist/src/core/furnace-rollback.js +0 -170
- package/dist/src/core/furnace-scanner.d.ts +0 -47
- package/dist/src/core/furnace-scanner.js +0 -236
- package/dist/src/core/furnace-stale-export.d.ts +0 -60
- package/dist/src/core/furnace-stale-export.js +0 -125
- package/dist/src/core/furnace-staleness.d.ts +0 -24
- package/dist/src/core/furnace-staleness.js +0 -67
- package/dist/src/core/furnace-state-persist.d.ts +0 -68
- package/dist/src/core/furnace-state-persist.js +0 -116
- package/dist/src/core/furnace-step-errors.d.ts +0 -23
- package/dist/src/core/furnace-step-errors.js +0 -25
- package/dist/src/core/furnace-stories.d.ts +0 -37
- package/dist/src/core/furnace-stories.js +0 -186
- package/dist/src/core/furnace-tag-map.d.ts +0 -47
- package/dist/src/core/furnace-tag-map.js +0 -182
- package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
- package/dist/src/core/furnace-validate-accessibility.js +0 -417
- package/dist/src/core/furnace-validate-checks.d.ts +0 -4
- package/dist/src/core/furnace-validate-checks.js +0 -6
- package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
- package/dist/src/core/furnace-validate-compatibility.js +0 -295
- package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
- package/dist/src/core/furnace-validate-exceptions.js +0 -98
- package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
- package/dist/src/core/furnace-validate-helpers.js +0 -4
- package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
- package/dist/src/core/furnace-validate-icon-button.js +0 -78
- package/dist/src/core/furnace-validate-registration.d.ts +0 -67
- package/dist/src/core/furnace-validate-registration.js +0 -487
- package/dist/src/core/furnace-validate-structure.d.ts +0 -22
- package/dist/src/core/furnace-validate-structure.js +0 -122
- package/dist/src/core/furnace-validate.d.ts +0 -41
- package/dist/src/core/furnace-validate.js +0 -331
- package/dist/src/core/furnace-version-drift.d.ts +0 -57
- package/dist/src/core/furnace-version-drift.js +0 -102
- package/dist/src/core/gecko-dom-types.d.ts +0 -2
- package/dist/src/core/gecko-dom-types.js +0 -17
- package/dist/src/core/git-base.d.ts +0 -101
- package/dist/src/core/git-base.js +0 -162
- package/dist/src/core/git-diff-new-file.d.ts +0 -40
- package/dist/src/core/git-diff-new-file.js +0 -118
- package/dist/src/core/git-diff.d.ts +0 -82
- package/dist/src/core/git-diff.js +0 -539
- package/dist/src/core/git-file-ops.d.ts +0 -108
- package/dist/src/core/git-file-ops.js +0 -280
- package/dist/src/core/git-readonly-index.d.ts +0 -91
- package/dist/src/core/git-readonly-index.js +0 -177
- package/dist/src/core/git-status.d.ts +0 -84
- package/dist/src/core/git-status.js +0 -208
- package/dist/src/core/git.d.ts +0 -114
- package/dist/src/core/git.js +0 -540
- package/dist/src/core/harness-helper-pids.d.ts +0 -98
- package/dist/src/core/harness-helper-pids.js +0 -240
- package/dist/src/core/harness-orphans.d.ts +0 -118
- package/dist/src/core/harness-orphans.js +0 -268
- package/dist/src/core/harness-port-fallback.d.ts +0 -60
- package/dist/src/core/harness-port-fallback.js +0 -96
- package/dist/src/core/harness-port-reservation.d.ts +0 -60
- package/dist/src/core/harness-port-reservation.js +0 -122
- package/dist/src/core/history-log-file.d.ts +0 -61
- package/dist/src/core/history-log-file.js +0 -164
- package/dist/src/core/history-log.d.ts +0 -20
- package/dist/src/core/history-log.js +0 -30
- package/dist/src/core/json-preserving-edit.d.ts +0 -22
- package/dist/src/core/json-preserving-edit.js +0 -199
- package/dist/src/core/launchable-build.d.ts +0 -39
- package/dist/src/core/launchable-build.js +0 -85
- package/dist/src/core/license-headers.d.ts +0 -103
- package/dist/src/core/license-headers.js +0 -328
- package/dist/src/core/line-prefixer.d.ts +0 -18
- package/dist/src/core/line-prefixer.js +0 -34
- package/dist/src/core/lit-template-regions.d.ts +0 -4
- package/dist/src/core/lit-template-regions.js +0 -50
- package/dist/src/core/mach-build-artifacts.d.ts +0 -176
- package/dist/src/core/mach-build-artifacts.js +0 -436
- package/dist/src/core/mach-error-hints.d.ts +0 -24
- package/dist/src/core/mach-error-hints.js +0 -135
- package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
- package/dist/src/core/mach-known-noise-filter.js +0 -257
- package/dist/src/core/mach-mozconfig.d.ts +0 -57
- package/dist/src/core/mach-mozconfig.js +0 -166
- package/dist/src/core/mach-python.d.ts +0 -19
- package/dist/src/core/mach-python.js +0 -131
- package/dist/src/core/mach-resource-shim.d.ts +0 -107
- package/dist/src/core/mach-resource-shim.js +0 -640
- package/dist/src/core/mach.d.ts +0 -284
- package/dist/src/core/mach.js +0 -445
- package/dist/src/core/marionette-port.d.ts +0 -153
- package/dist/src/core/marionette-port.js +0 -474
- package/dist/src/core/marionette-preflight.d.ts +0 -58
- package/dist/src/core/marionette-preflight.js +0 -332
- package/dist/src/core/markdown-table.d.ts +0 -104
- package/dist/src/core/markdown-table.js +0 -265
- package/dist/src/core/mochitest-server-port.d.ts +0 -81
- package/dist/src/core/mochitest-server-port.js +0 -175
- package/dist/src/core/module-resolution-preflight.d.ts +0 -65
- package/dist/src/core/module-resolution-preflight.js +0 -171
- package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
- package/dist/src/core/moz-manifest-helpers.js +0 -163
- package/dist/src/core/moz-manifest-register.d.ts +0 -19
- package/dist/src/core/moz-manifest-register.js +0 -51
- package/dist/src/core/moz-manifest-rules.d.ts +0 -58
- package/dist/src/core/moz-manifest-rules.js +0 -264
- package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
- package/dist/src/core/moz-manifest-tokenizers.js +0 -108
- package/dist/src/core/negative-control-compiled.d.ts +0 -46
- package/dist/src/core/negative-control-compiled.js +0 -109
- package/dist/src/core/negative-control-diff.d.ts +0 -51
- package/dist/src/core/negative-control-diff.js +0 -167
- package/dist/src/core/negative-control.d.ts +0 -150
- package/dist/src/core/negative-control.js +0 -399
- package/dist/src/core/objdir-install-manifests.d.ts +0 -73
- package/dist/src/core/objdir-install-manifests.js +0 -226
- package/dist/src/core/objdir-maintenance.d.ts +0 -10
- package/dist/src/core/objdir-maintenance.js +0 -167
- package/dist/src/core/ownership-table.d.ts +0 -53
- package/dist/src/core/ownership-table.js +0 -159
- package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
- package/dist/src/core/parent-exit-watchdog.js +0 -69
- package/dist/src/core/park-store.d.ts +0 -63
- package/dist/src/core/park-store.js +0 -216
- package/dist/src/core/parser-fallback.d.ts +0 -50
- package/dist/src/core/parser-fallback.js +0 -61
- package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
- package/dist/src/core/patch-apply-fuzz.js +0 -125
- package/dist/src/core/patch-apply.d.ts +0 -88
- package/dist/src/core/patch-apply.js +0 -435
- package/dist/src/core/patch-export-coverage.d.ts +0 -49
- package/dist/src/core/patch-export-coverage.js +0 -73
- package/dist/src/core/patch-export-metadata.d.ts +0 -46
- package/dist/src/core/patch-export-metadata.js +0 -47
- package/dist/src/core/patch-export-update.d.ts +0 -55
- package/dist/src/core/patch-export-update.js +0 -95
- package/dist/src/core/patch-export.d.ts +0 -175
- package/dist/src/core/patch-export.js +0 -312
- package/dist/src/core/patch-files.d.ts +0 -17
- package/dist/src/core/patch-files.js +0 -59
- package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
- package/dist/src/core/patch-identifier-suggest.js +0 -135
- package/dist/src/core/patch-lint-binary.d.ts +0 -45
- package/dist/src/core/patch-lint-binary.js +0 -39
- package/dist/src/core/patch-lint-cache-checkjs.d.ts +0 -45
- package/dist/src/core/patch-lint-cache-checkjs.js +0 -195
- package/dist/src/core/patch-lint-cache.d.ts +0 -79
- package/dist/src/core/patch-lint-cache.js +0 -247
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -57
- package/dist/src/core/patch-lint-checkjs-any-import.js +0 -91
- package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
- package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
- package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
- package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
- package/dist/src/core/patch-lint-checkjs-resolve.d.ts +0 -31
- package/dist/src/core/patch-lint-checkjs-resolve.js +0 -86
- package/dist/src/core/patch-lint-checkjs.d.ts +0 -182
- package/dist/src/core/patch-lint-checkjs.js +0 -563
- package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
- package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
- package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
- package/dist/src/core/patch-lint-code-lines.js +0 -105
- package/dist/src/core/patch-lint-creators.d.ts +0 -26
- package/dist/src/core/patch-lint-creators.js +0 -45
- package/dist/src/core/patch-lint-cross.d.ts +0 -232
- package/dist/src/core/patch-lint-cross.js +0 -590
- package/dist/src/core/patch-lint-css.d.ts +0 -27
- package/dist/src/core/patch-lint-css.js +0 -228
- package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
- package/dist/src/core/patch-lint-diff-tag.js +0 -105
- package/dist/src/core/patch-lint-diff.d.ts +0 -42
- package/dist/src/core/patch-lint-diff.js +0 -100
- package/dist/src/core/patch-lint-file-size.d.ts +0 -57
- package/dist/src/core/patch-lint-file-size.js +0 -62
- package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
- package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
- package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
- package/dist/src/core/patch-lint-forward-registration.js +0 -266
- package/dist/src/core/patch-lint-ignore.d.ts +0 -196
- package/dist/src/core/patch-lint-ignore.js +0 -429
- package/dist/src/core/patch-lint-imports.d.ts +0 -9
- package/dist/src/core/patch-lint-imports.js +0 -90
- package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
- package/dist/src/core/patch-lint-jsdoc.js +0 -471
- package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
- package/dist/src/core/patch-lint-module-registration.js +0 -97
- package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
- package/dist/src/core/patch-lint-mozbuild.js +0 -192
- package/dist/src/core/patch-lint-observer.d.ts +0 -37
- package/dist/src/core/patch-lint-observer.js +0 -167
- package/dist/src/core/patch-lint-ownership.d.ts +0 -74
- package/dist/src/core/patch-lint-ownership.js +0 -125
- package/dist/src/core/patch-lint-prettier.d.ts +0 -34
- package/dist/src/core/patch-lint-prettier.js +0 -124
- package/dist/src/core/patch-lint-projection.d.ts +0 -25
- package/dist/src/core/patch-lint-projection.js +0 -43
- package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
- package/dist/src/core/patch-lint-queue-types.js +0 -12
- package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
- package/dist/src/core/patch-lint-size-thresholds.js +0 -110
- package/dist/src/core/patch-lint-size.d.ts +0 -117
- package/dist/src/core/patch-lint-size.js +0 -331
- package/dist/src/core/patch-lint-staged-registration.d.ts +0 -98
- package/dist/src/core/patch-lint-staged-registration.js +0 -128
- package/dist/src/core/patch-lint-token-scale.d.ts +0 -65
- package/dist/src/core/patch-lint-token-scale.js +0 -304
- package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
- package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
- package/dist/src/core/patch-lint.d.ts +0 -206
- package/dist/src/core/patch-lint.js +0 -533
- package/dist/src/core/patch-lock.d.ts +0 -40
- package/dist/src/core/patch-lock.js +0 -129
- package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
- package/dist/src/core/patch-manifest-consistency.js +0 -256
- package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
- package/dist/src/core/patch-manifest-files-affected.js +0 -77
- package/dist/src/core/patch-manifest-io.d.ts +0 -199
- package/dist/src/core/patch-manifest-io.js +0 -556
- package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
- package/dist/src/core/patch-manifest-key-order.js +0 -60
- package/dist/src/core/patch-manifest-query.d.ts +0 -55
- package/dist/src/core/patch-manifest-query.js +0 -139
- package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
- package/dist/src/core/patch-manifest-resolve.js +0 -35
- package/dist/src/core/patch-manifest-stage.d.ts +0 -46
- package/dist/src/core/patch-manifest-stage.js +0 -96
- package/dist/src/core/patch-manifest-validate.d.ts +0 -20
- package/dist/src/core/patch-manifest-validate.js +0 -240
- package/dist/src/core/patch-manifest.d.ts +0 -12
- package/dist/src/core/patch-manifest.js +0 -13
- package/dist/src/core/patch-order-legal.d.ts +0 -26
- package/dist/src/core/patch-order-legal.js +0 -88
- package/dist/src/core/patch-parse.d.ts +0 -176
- package/dist/src/core/patch-parse.js +0 -416
- package/dist/src/core/patch-policy-content.d.ts +0 -40
- package/dist/src/core/patch-policy-content.js +0 -219
- package/dist/src/core/patch-policy.d.ts +0 -80
- package/dist/src/core/patch-policy.js +0 -394
- package/dist/src/core/patch-registration-refs.d.ts +0 -41
- package/dist/src/core/patch-registration-refs.js +0 -107
- package/dist/src/core/patch-retired.d.ts +0 -57
- package/dist/src/core/patch-retired.js +0 -92
- package/dist/src/core/patch-source-metadata.d.ts +0 -6
- package/dist/src/core/patch-source-metadata.js +0 -12
- package/dist/src/core/patch-subset.d.ts +0 -18
- package/dist/src/core/patch-subset.js +0 -67
- package/dist/src/core/patch-transform.d.ts +0 -61
- package/dist/src/core/patch-transform.js +0 -198
- package/dist/src/core/preflight-wait.d.ts +0 -22
- package/dist/src/core/preflight-wait.js +0 -62
- package/dist/src/core/process-cpu-time.d.ts +0 -12
- package/dist/src/core/process-cpu-time.js +0 -52
- package/dist/src/core/process-owner.d.ts +0 -9
- package/dist/src/core/process-owner.js +0 -43
- package/dist/src/core/rebase-dry-run.d.ts +0 -48
- package/dist/src/core/rebase-dry-run.js +0 -105
- package/dist/src/core/rebase-from-version.d.ts +0 -46
- package/dist/src/core/rebase-from-version.js +0 -71
- package/dist/src/core/rebase-session.d.ts +0 -100
- package/dist/src/core/rebase-session.js +0 -174
- package/dist/src/core/register-browser-content.d.ts +0 -11
- package/dist/src/core/register-browser-content.js +0 -52
- package/dist/src/core/register-browser-test.d.ts +0 -18
- package/dist/src/core/register-browser-test.js +0 -66
- package/dist/src/core/register-module.d.ts +0 -11
- package/dist/src/core/register-module.js +0 -56
- package/dist/src/core/register-result.d.ts +0 -30
- package/dist/src/core/register-result.js +0 -8
- package/dist/src/core/register-scaffold.d.ts +0 -55
- package/dist/src/core/register-scaffold.js +0 -146
- package/dist/src/core/register-shared-css.d.ts +0 -36
- package/dist/src/core/register-shared-css.js +0 -112
- package/dist/src/core/register-xpcshell-test.d.ts +0 -50
- package/dist/src/core/register-xpcshell-test.js +0 -143
- package/dist/src/core/run-log-redact.d.ts +0 -38
- package/dist/src/core/run-log-redact.js +0 -69
- package/dist/src/core/run-log.d.ts +0 -97
- package/dist/src/core/run-log.js +0 -334
- package/dist/src/core/run-profile.d.ts +0 -57
- package/dist/src/core/run-profile.js +0 -137
- package/dist/src/core/shared-ftl.d.ts +0 -28
- package/dist/src/core/shared-ftl.js +0 -49
- package/dist/src/core/signal-critical.d.ts +0 -38
- package/dist/src/core/signal-critical.js +0 -62
- package/dist/src/core/smoke-patterns.d.ts +0 -81
- package/dist/src/core/smoke-patterns.js +0 -176
- package/dist/src/core/state-file.d.ts +0 -60
- package/dist/src/core/state-file.js +0 -71
- package/dist/src/core/status-binary.d.ts +0 -62
- package/dist/src/core/status-binary.js +0 -133
- package/dist/src/core/status-classify.d.ts +0 -96
- package/dist/src/core/status-classify.js +0 -244
- package/dist/src/core/test-changed-prefs.d.ts +0 -30
- package/dist/src/core/test-changed-prefs.js +0 -93
- package/dist/src/core/test-harness-crash.d.ts +0 -251
- package/dist/src/core/test-harness-crash.js +0 -780
- package/dist/src/core/test-harness-infra.d.ts +0 -32
- package/dist/src/core/test-harness-infra.js +0 -69
- package/dist/src/core/test-harness-output.d.ts +0 -45
- package/dist/src/core/test-harness-output.js +0 -119
- package/dist/src/core/test-harness-signature.d.ts +0 -57
- package/dist/src/core/test-harness-signature.js +0 -35
- package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
- package/dist/src/core/test-harness-verdict-notes.js +0 -48
- package/dist/src/core/test-host-state.d.ts +0 -14
- package/dist/src/core/test-host-state.js +0 -80
- package/dist/src/core/test-path-scope.d.ts +0 -59
- package/dist/src/core/test-path-scope.js +0 -147
- package/dist/src/core/test-profile-files.d.ts +0 -17
- package/dist/src/core/test-profile-files.js +0 -75
- package/dist/src/core/test-raw-log.d.ts +0 -66
- package/dist/src/core/test-raw-log.js +0 -122
- package/dist/src/core/test-run-completeness.d.ts +0 -97
- package/dist/src/core/test-run-completeness.js +0 -191
- package/dist/src/core/test-stale-check.d.ts +0 -213
- package/dist/src/core/test-stale-check.js +0 -396
- package/dist/src/core/test-stale-exempt.d.ts +0 -40
- package/dist/src/core/test-stale-exempt.js +0 -70
- package/dist/src/core/test-stale-symlink.d.ts +0 -12
- package/dist/src/core/test-stale-symlink.js +0 -39
- package/dist/src/core/test-stall-triage.d.ts +0 -51
- package/dist/src/core/test-stall-triage.js +0 -142
- package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
- package/dist/src/core/test-xpcshell-retry.js +0 -31
- package/dist/src/core/token-category.d.ts +0 -54
- package/dist/src/core/token-category.js +0 -299
- package/dist/src/core/token-coverage.d.ts +0 -12
- package/dist/src/core/token-coverage.js +0 -96
- package/dist/src/core/token-dark-mode.d.ts +0 -64
- package/dist/src/core/token-dark-mode.js +0 -186
- package/dist/src/core/token-docs.d.ts +0 -34
- package/dist/src/core/token-docs.js +0 -102
- package/dist/src/core/token-inventory.d.ts +0 -56
- package/dist/src/core/token-inventory.js +0 -114
- package/dist/src/core/token-lint.d.ts +0 -53
- package/dist/src/core/token-lint.js +0 -131
- package/dist/src/core/token-manager.d.ts +0 -87
- package/dist/src/core/token-manager.js +0 -407
- package/dist/src/core/token-scaffold.d.ts +0 -36
- package/dist/src/core/token-scaffold.js +0 -73
- package/dist/src/core/token-sibling-sheets.d.ts +0 -46
- package/dist/src/core/token-sibling-sheets.js +0 -119
- package/dist/src/core/token-variant.d.ts +0 -90
- package/dist/src/core/token-variant.js +0 -327
- package/dist/src/core/toolchain-preflight.d.ts +0 -90
- package/dist/src/core/toolchain-preflight.js +0 -251
- package/dist/src/core/tree-cow.d.ts +0 -16
- package/dist/src/core/tree-cow.js +0 -71
- package/dist/src/core/tree-guard.d.ts +0 -35
- package/dist/src/core/tree-guard.js +0 -194
- package/dist/src/core/tree-store.d.ts +0 -143
- package/dist/src/core/tree-store.js +0 -478
- package/dist/src/core/typecheck-explain.d.ts +0 -93
- package/dist/src/core/typecheck-explain.js +0 -213
- package/dist/src/core/typecheck-shim.d.ts +0 -90
- package/dist/src/core/typecheck-shim.js +0 -508
- package/dist/src/core/typecheck.d.ts +0 -97
- package/dist/src/core/typecheck.js +0 -457
- package/dist/src/core/wire-destroy.d.ts +0 -25
- package/dist/src/core/wire-destroy.js +0 -126
- package/dist/src/core/wire-dom-fragment.d.ts +0 -44
- package/dist/src/core/wire-dom-fragment.js +0 -139
- package/dist/src/core/wire-init.d.ts +0 -28
- package/dist/src/core/wire-init.js +0 -219
- package/dist/src/core/wire-subscript.d.ts +0 -23
- package/dist/src/core/wire-subscript.js +0 -145
- package/dist/src/core/wire-utils.d.ts +0 -149
- package/dist/src/core/wire-utils.js +0 -338
- package/dist/src/core/xpcshell-appdir.d.ts +0 -157
- package/dist/src/core/xpcshell-appdir.js +0 -299
- package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
- package/dist/src/core/xpcshell-profile-dir.js +0 -45
- package/dist/src/errors/base.d.ts +0 -217
- package/dist/src/errors/base.js +0 -279
- package/dist/src/errors/build.d.ts +0 -92
- package/dist/src/errors/build.js +0 -166
- package/dist/src/errors/codes.d.ts +0 -74
- package/dist/src/errors/codes.js +0 -74
- package/dist/src/errors/config.d.ts +0 -17
- package/dist/src/errors/config.js +0 -39
- package/dist/src/errors/download.d.ts +0 -66
- package/dist/src/errors/download.js +0 -160
- package/dist/src/errors/furnace.d.ts +0 -20
- package/dist/src/errors/furnace.js +0 -28
- package/dist/src/errors/git.d.ts +0 -65
- package/dist/src/errors/git.js +0 -140
- package/dist/src/errors/patch.d.ts +0 -27
- package/dist/src/errors/patch.js +0 -52
- package/dist/src/errors/rebase.d.ts +0 -42
- package/dist/src/errors/rebase.js +0 -71
- package/dist/src/errors/run.d.ts +0 -16
- package/dist/src/errors/run.js +0 -22
- package/dist/src/index.d.ts +0 -42
- package/dist/src/index.js +0 -32
- package/dist/src/types/cli.d.ts +0 -14
- package/dist/src/types/commands/index.d.ts +0 -6
- package/dist/src/types/commands/index.js +0 -5
- package/dist/src/types/commands/options.d.ts +0 -1372
- package/dist/src/types/commands/options.js +0 -5
- package/dist/src/types/commands/patches.d.ts +0 -352
- package/dist/src/types/commands/patches.js +0 -5
- package/dist/src/types/commands/project.d.ts +0 -51
- package/dist/src/types/commands/project.js +0 -5
- package/dist/src/types/config.d.ts +0 -732
- package/dist/src/types/config.js +0 -15
- package/dist/src/types/furnace.d.ts +0 -422
- package/dist/src/types/furnace.js +0 -26
- package/dist/src/types/index.d.ts +0 -5
- package/dist/src/types/index.js +0 -5
- package/dist/src/types/json.d.ts +0 -22
- package/dist/src/types/json.js +0 -11
- package/dist/src/types/typecheck.d.ts +0 -51
- package/dist/src/types/typecheck.js +0 -14
- package/dist/src/utils/assert.d.ts +0 -34
- package/dist/src/utils/assert.js +0 -61
- package/dist/src/utils/build-info.d.ts +0 -30
- package/dist/src/utils/build-info.js +0 -99
- package/dist/src/utils/child-env.d.ts +0 -28
- package/dist/src/utils/child-env.js +0 -27
- package/dist/src/utils/concurrency.d.ts +0 -8
- package/dist/src/utils/concurrency.js +0 -32
- package/dist/src/utils/elapsed.d.ts +0 -2
- package/dist/src/utils/elapsed.js +0 -23
- package/dist/src/utils/errors.d.ts +0 -39
- package/dist/src/utils/errors.js +0 -67
- package/dist/src/utils/fs.d.ts +0 -113
- package/dist/src/utils/fs.js +0 -337
- package/dist/src/utils/hash.d.ts +0 -12
- package/dist/src/utils/hash.js +0 -16
- package/dist/src/utils/line-dispatch.d.ts +0 -15
- package/dist/src/utils/line-dispatch.js +0 -48
- package/dist/src/utils/logger.d.ts +0 -109
- package/dist/src/utils/logger.js +0 -270
- package/dist/src/utils/machine-output.d.ts +0 -12
- package/dist/src/utils/machine-output.js +0 -33
- package/dist/src/utils/options.d.ts +0 -155
- package/dist/src/utils/options.js +0 -312
- package/dist/src/utils/package-root.d.ts +0 -21
- package/dist/src/utils/package-root.js +0 -70
- package/dist/src/utils/parse.d.ts +0 -117
- package/dist/src/utils/parse.js +0 -214
- package/dist/src/utils/path-glob.d.ts +0 -15
- package/dist/src/utils/path-glob.js +0 -47
- package/dist/src/utils/paths.d.ts +0 -31
- package/dist/src/utils/paths.js +0 -80
- package/dist/src/utils/platform.d.ts +0 -9
- package/dist/src/utils/platform.js +0 -14
- package/dist/src/utils/process-group.d.ts +0 -42
- package/dist/src/utils/process-group.js +0 -190
- package/dist/src/utils/process-input.d.ts +0 -27
- package/dist/src/utils/process-input.js +0 -46
- package/dist/src/utils/process.d.ts +0 -293
- package/dist/src/utils/process.js +0 -593
- package/dist/src/utils/ps-duration.d.ts +0 -31
- package/dist/src/utils/ps-duration.js +0 -70
- package/dist/src/utils/regex.d.ts +0 -39
- package/dist/src/utils/regex.js +0 -109
- package/dist/src/utils/sleep.d.ts +0 -25
- package/dist/src/utils/sleep.js +0 -30
- package/dist/src/utils/stdio-drain.d.ts +0 -28
- package/dist/src/utils/stdio-drain.js +0 -54
- package/dist/src/utils/validation.d.ts +0 -182
- package/dist/src/utils/validation.js +0 -394
- package/docs/lifecycle-invariants.md +0 -523
- package/docs/run-logs.md +0 -122
- package/docs/verification-trees.md +0 -49
- /package/dist/src/{types/cli.js → cli/context.js} +0 -0
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/** Directory-name prefix of every FireForge-owned temporary run profile. */
|
|
2
|
-
export declare const RUN_PROFILE_PREFIX = "fireforge-run-profile-";
|
|
3
|
-
/** The profile a run launches with, and how to release it afterwards. */
|
|
4
|
-
export interface RunProfile {
|
|
5
|
-
/** Program parameters to append to `mach run` (empty for mach's default). */
|
|
6
|
-
args: string[];
|
|
7
|
-
/** Absolute profile directory, when one was chosen. */
|
|
8
|
-
dir?: string;
|
|
9
|
-
/** Whether FireForge created the directory and will delete it. */
|
|
10
|
-
temporary: boolean;
|
|
11
|
-
/** Removes a temporary profile. A no-op otherwise. Never throws. */
|
|
12
|
-
dispose: () => Promise<void>;
|
|
13
|
-
}
|
|
14
|
-
/** Inputs to {@link resolveRunProfile}. */
|
|
15
|
-
export interface RunProfileRequest {
|
|
16
|
-
/** `--profile <path>`: launch with this directory, left in place. */
|
|
17
|
-
profile?: string | undefined;
|
|
18
|
-
/** `--temp-profile`: launch with a fresh directory removed afterwards. */
|
|
19
|
-
tempProfile?: boolean | undefined;
|
|
20
|
-
/**
|
|
21
|
-
* Whether a named `profile` launches with `-purgecaches` (default `true`).
|
|
22
|
-
* A UI build does not change the build id the profile's startup cache is
|
|
23
|
-
* keyed on, so without it a kept profile runs the chrome scripts an
|
|
24
|
-
* earlier build cached. Temporary profiles start without a cache.
|
|
25
|
-
*/
|
|
26
|
-
purgeCaches?: boolean | undefined;
|
|
27
|
-
/**
|
|
28
|
-
* Whether this is a `--smoke-exit` run. A smoke run with neither flag gets
|
|
29
|
-
* a temporary profile: the step exists to prove what the build does on a
|
|
30
|
-
* clean start, and the developer's profile-default carries whatever state
|
|
31
|
-
* the last session left.
|
|
32
|
-
*/
|
|
33
|
-
smoke: boolean;
|
|
34
|
-
/** Base directory for temporary profiles (defaults to the OS tmpdir). */
|
|
35
|
-
tempRoot?: string | undefined;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Removes every temporary run profile this process still holds. Called by
|
|
39
|
-
* the CLI entry point's signal handler after child shutdown. Never throws.
|
|
40
|
-
*/
|
|
41
|
-
export declare function removeActiveRunProfiles(): Promise<void>;
|
|
42
|
-
/**
|
|
43
|
-
* Chooses the profile for a run.
|
|
44
|
-
* @param request - The run's profile flags
|
|
45
|
-
* @returns The profile arguments and their release handle
|
|
46
|
-
*/
|
|
47
|
-
export declare function resolveRunProfile(request: RunProfileRequest): Promise<RunProfile>;
|
|
48
|
-
/**
|
|
49
|
-
* Removes temporary run profiles whose owning FireForge process is gone.
|
|
50
|
-
* The `finally` that releases a profile covers a clean exit, a failed run
|
|
51
|
-
* and a forwarded SIGINT/SIGTERM, but not a SIGKILL of FireForge itself;
|
|
52
|
-
* this sweep is the backstop for that case. A directory whose marker is
|
|
53
|
-
* missing or unreadable is left alone: nothing proves it is abandoned.
|
|
54
|
-
* @param tempRoot - Base directory to sweep (defaults to the OS tmpdir)
|
|
55
|
-
* @returns The number of directories removed
|
|
56
|
-
*/
|
|
57
|
-
export declare function sweepAbandonedRunProfiles(tempRoot?: string): Promise<number>;
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Profile selection for `fireforge run`.
|
|
4
|
-
*
|
|
5
|
-
* `mach run` on desktop has no `--profile` option of its own: its parser's
|
|
6
|
-
* `--profile/-P` belongs to the Android run parser. On desktop a profile
|
|
7
|
-
* reaches Firefox as a program parameter (`-profile <dir>`), and mach skips
|
|
8
|
-
* creating the objdir's `tmp/profile-default` when it sees one among the
|
|
9
|
-
* params.
|
|
10
|
-
* Mach's `--temp-profile` does mint a fresh directory, but inside the objdir
|
|
11
|
-
* and never removes it, so FireForge owns the temporary profile instead:
|
|
12
|
-
* it creates the directory, seeds the two prefs mach would have written,
|
|
13
|
-
* passes it as `-profile`, and deletes it when the run ends.
|
|
14
|
-
*/
|
|
15
|
-
import { mkdtemp, readdir, readFile, rm, writeFile } from 'node:fs/promises';
|
|
16
|
-
import { tmpdir } from 'node:os';
|
|
17
|
-
import { join, resolve } from 'node:path';
|
|
18
|
-
import { InvalidArgumentError } from '../errors/base.js';
|
|
19
|
-
import { isProcessAlive, toError } from '../utils/errors.js';
|
|
20
|
-
import { verbose, warn } from '../utils/logger.js';
|
|
21
|
-
/** Directory-name prefix of every FireForge-owned temporary run profile. */
|
|
22
|
-
export const RUN_PROFILE_PREFIX = 'fireforge-run-profile-';
|
|
23
|
-
/** Marker file naming the pid of the FireForge process that owns the profile. */
|
|
24
|
-
const OWNER_MARKER = '.fireforge-run-owner';
|
|
25
|
-
/**
|
|
26
|
-
* The prefs `mach run` writes into the profiles it creates itself. A profile
|
|
27
|
-
* passed with `-profile` gets none of them, and a first-run default-browser
|
|
28
|
-
* prompt would sit in a headed smoke window.
|
|
29
|
-
*/
|
|
30
|
-
const SEEDED_USER_JS = 'user_pref("browser.shell.checkDefaultBrowser", false);\n' +
|
|
31
|
-
'user_pref("browser.aboutConfig.showWarning", false);\n';
|
|
32
|
-
/**
|
|
33
|
-
* Temporary profiles this process created and has not yet removed. The
|
|
34
|
-
* command's own `finally` loses the race to the entry point's signal
|
|
35
|
-
* handler, whose `process.exit` never lets it run, so the handler removes
|
|
36
|
-
* these itself once the browser tree has shut down.
|
|
37
|
-
*/
|
|
38
|
-
const activeTemporaryProfiles = new Set();
|
|
39
|
-
async function removeTemporaryProfile(dir) {
|
|
40
|
-
try {
|
|
41
|
-
await rm(dir, { recursive: true, force: true });
|
|
42
|
-
activeTemporaryProfiles.delete(dir);
|
|
43
|
-
}
|
|
44
|
-
catch (error) {
|
|
45
|
-
warn(`Could not remove temporary run profile ${dir}: ${toError(error).message}`);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Removes every temporary run profile this process still holds. Called by
|
|
50
|
-
* the CLI entry point's signal handler after child shutdown. Never throws.
|
|
51
|
-
*/
|
|
52
|
-
export async function removeActiveRunProfiles() {
|
|
53
|
-
await Promise.all([...activeTemporaryProfiles].map((dir) => removeTemporaryProfile(dir)));
|
|
54
|
-
}
|
|
55
|
-
const NO_PROFILE = {
|
|
56
|
-
args: [],
|
|
57
|
-
temporary: false,
|
|
58
|
-
dispose: () => Promise.resolve(),
|
|
59
|
-
};
|
|
60
|
-
/**
|
|
61
|
-
* Chooses the profile for a run.
|
|
62
|
-
* @param request - The run's profile flags
|
|
63
|
-
* @returns The profile arguments and their release handle
|
|
64
|
-
*/
|
|
65
|
-
export async function resolveRunProfile(request) {
|
|
66
|
-
if (request.profile !== undefined && request.tempProfile === true) {
|
|
67
|
-
throw new InvalidArgumentError('--profile and --temp-profile are mutually exclusive: name a profile or ask for a fresh one.', 'profile');
|
|
68
|
-
}
|
|
69
|
-
if (request.profile !== undefined) {
|
|
70
|
-
const dir = resolve(request.profile);
|
|
71
|
-
const purge = request.purgeCaches === false ? [] : ['-purgecaches'];
|
|
72
|
-
return {
|
|
73
|
-
args: ['-profile', dir, ...purge],
|
|
74
|
-
dir,
|
|
75
|
-
temporary: false,
|
|
76
|
-
dispose: NO_PROFILE.dispose,
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
if (request.tempProfile !== true && !request.smoke) {
|
|
80
|
-
return NO_PROFILE;
|
|
81
|
-
}
|
|
82
|
-
const dir = await mkdtemp(join(request.tempRoot ?? tmpdir(), RUN_PROFILE_PREFIX));
|
|
83
|
-
activeTemporaryProfiles.add(dir);
|
|
84
|
-
// The owner marker goes in first, so a FireForge killed past this point
|
|
85
|
-
// leaves a directory the next run can prove abandoned.
|
|
86
|
-
await writeFile(join(dir, OWNER_MARKER), `${process.pid}\n`);
|
|
87
|
-
await writeFile(join(dir, 'user.js'), SEEDED_USER_JS);
|
|
88
|
-
verbose(`Temporary run profile: ${dir}`);
|
|
89
|
-
return {
|
|
90
|
-
args: ['-profile', dir],
|
|
91
|
-
dir,
|
|
92
|
-
temporary: true,
|
|
93
|
-
dispose: () => removeTemporaryProfile(dir),
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Removes temporary run profiles whose owning FireForge process is gone.
|
|
98
|
-
* The `finally` that releases a profile covers a clean exit, a failed run
|
|
99
|
-
* and a forwarded SIGINT/SIGTERM, but not a SIGKILL of FireForge itself;
|
|
100
|
-
* this sweep is the backstop for that case. A directory whose marker is
|
|
101
|
-
* missing or unreadable is left alone: nothing proves it is abandoned.
|
|
102
|
-
* @param tempRoot - Base directory to sweep (defaults to the OS tmpdir)
|
|
103
|
-
* @returns The number of directories removed
|
|
104
|
-
*/
|
|
105
|
-
export async function sweepAbandonedRunProfiles(tempRoot = tmpdir()) {
|
|
106
|
-
let entries;
|
|
107
|
-
try {
|
|
108
|
-
entries = await readdir(tempRoot);
|
|
109
|
-
}
|
|
110
|
-
catch {
|
|
111
|
-
return 0;
|
|
112
|
-
}
|
|
113
|
-
let removed = 0;
|
|
114
|
-
for (const entry of entries) {
|
|
115
|
-
if (!entry.startsWith(RUN_PROFILE_PREFIX))
|
|
116
|
-
continue;
|
|
117
|
-
const dir = join(tempRoot, entry);
|
|
118
|
-
let pid;
|
|
119
|
-
try {
|
|
120
|
-
pid = Number.parseInt((await readFile(join(dir, OWNER_MARKER), 'utf8')).trim(), 10);
|
|
121
|
-
}
|
|
122
|
-
catch {
|
|
123
|
-
continue;
|
|
124
|
-
}
|
|
125
|
-
if (!Number.isInteger(pid) || pid <= 0 || pid === process.pid || isProcessAlive(pid)) {
|
|
126
|
-
continue;
|
|
127
|
-
}
|
|
128
|
-
try {
|
|
129
|
-
await rm(dir, { recursive: true, force: true });
|
|
130
|
-
removed += 1;
|
|
131
|
-
}
|
|
132
|
-
catch (error) {
|
|
133
|
-
verbose(`Could not remove abandoned run profile ${dir}: ${toError(error).message}`);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
return removed;
|
|
137
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Structural rules for the `sharedFtl` field on a custom component.
|
|
3
|
-
*
|
|
4
|
-
* Both the `--shared-ftl` CLI flag path (`furnace create`) and the
|
|
5
|
-
* furnace.json parser apply the same rules. Extracting them here
|
|
6
|
-
* avoids drift between the two entry points and lets the `.mjs`
|
|
7
|
-
* template generator assume the value is safe to interpolate verbatim.
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Outcome of {@link validateSharedFtl}. `ok: true` carries the trimmed
|
|
11
|
-
* (operator-safe) value. `ok: false` carries a human-readable message
|
|
12
|
-
* suitable for throwing as a `FurnaceError` or `InvalidArgumentError`.
|
|
13
|
-
*/
|
|
14
|
-
export type SharedFtlValidation = {
|
|
15
|
-
ok: true;
|
|
16
|
-
value: string;
|
|
17
|
-
} | {
|
|
18
|
-
ok: false;
|
|
19
|
-
reason: string;
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* Validates a candidate `sharedFtl` value. Returns the trimmed value
|
|
23
|
-
* when well-formed, or a structured reason when not. Callers throw the
|
|
24
|
-
* error type appropriate to their context (CLI vs config parser).
|
|
25
|
-
*/
|
|
26
|
-
export declare function validateSharedFtl(raw: unknown, context: {
|
|
27
|
-
localized: boolean;
|
|
28
|
-
}): SharedFtlValidation;
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Structural rules for the `sharedFtl` field on a custom component.
|
|
4
|
-
*
|
|
5
|
-
* Both the `--shared-ftl` CLI flag path (`furnace create`) and the
|
|
6
|
-
* furnace.json parser apply the same rules. Extracting them here
|
|
7
|
-
* avoids drift between the two entry points and lets the `.mjs`
|
|
8
|
-
* template generator assume the value is safe to interpolate verbatim.
|
|
9
|
-
*/
|
|
10
|
-
/**
|
|
11
|
-
* Characters that must not appear in `sharedFtl`.
|
|
12
|
-
*
|
|
13
|
-
* This is a policy rule about what a sensible FTL path looks like, not the
|
|
14
|
-
* safety boundary for the generated `.mjs`. The scaffold escapes the value at
|
|
15
|
-
* its sink with `JSON.stringify` (`commands/furnace/create-templates.ts`),
|
|
16
|
-
* which is what actually makes interpolation safe, and what covers the two
|
|
17
|
-
* inputs this rule never catches: a `"` and a raw newline.
|
|
18
|
-
*
|
|
19
|
-
* Kept because each remains a real sign of a malformed path:
|
|
20
|
-
* - `\` is a path-escape we do not want to interpret.
|
|
21
|
-
* - Backticks and `${` are inert in the current double-quoted sink, but a
|
|
22
|
-
* template-literal sink is one refactor away and they are not valid in a
|
|
23
|
-
* chrome:// FTL path regardless.
|
|
24
|
-
*/
|
|
25
|
-
const UNSAFE_CHARS = /[`\\]|\$\{/;
|
|
26
|
-
/**
|
|
27
|
-
* Validates a candidate `sharedFtl` value. Returns the trimmed value
|
|
28
|
-
* when well-formed, or a structured reason when not. Callers throw the
|
|
29
|
-
* error type appropriate to their context (CLI vs config parser).
|
|
30
|
-
*/
|
|
31
|
-
export function validateSharedFtl(raw, context) {
|
|
32
|
-
if (typeof raw !== 'string') {
|
|
33
|
-
return { ok: false, reason: 'must be a string when set' };
|
|
34
|
-
}
|
|
35
|
-
const value = raw.trim();
|
|
36
|
-
if (value.length === 0) {
|
|
37
|
-
return { ok: false, reason: 'must not be empty' };
|
|
38
|
-
}
|
|
39
|
-
if (UNSAFE_CHARS.test(value)) {
|
|
40
|
-
return {
|
|
41
|
-
ok: false,
|
|
42
|
-
reason: 'must not contain backticks, backslashes, or ${ (would break the generated .mjs)',
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
if (!context.localized) {
|
|
46
|
-
return { ok: false, reason: 'requires localized to be true' };
|
|
47
|
-
}
|
|
48
|
-
return { ok: true, value };
|
|
49
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Signal-deferred critical sections.
|
|
3
|
-
*
|
|
4
|
-
* Commands that perform a compound mutation (e.g. "apply a patch to the
|
|
5
|
-
* engine, then persist progress to a session file on disk") need to finish
|
|
6
|
-
* the pair atomically with respect to SIGINT / SIGTERM. The furnace rollback
|
|
7
|
-
* mechanism is not the right tool here: rebase-style operations intentionally
|
|
8
|
-
* leave the engine mutated and only need the on-disk bookkeeping write to
|
|
9
|
-
* complete before the process exits.
|
|
10
|
-
*
|
|
11
|
-
* `runInSignalCriticalSection(fn)` wraps a short body in a registry slot.
|
|
12
|
-
* While the body runs, the CLI entry point's SIGINT / SIGTERM handlers wait
|
|
13
|
-
* for the slot to clear before calling `process.exit`, so a signal that
|
|
14
|
-
* lands mid-body is held until the body's state write finishes.
|
|
15
|
-
*
|
|
16
|
-
* This module is a pure runtime registry. It installs no signal handlers
|
|
17
|
-
* itself. The bin entry point is responsible for awaiting
|
|
18
|
-
* `waitForActiveCriticalSections` before terminating.
|
|
19
|
-
*/
|
|
20
|
-
/**
|
|
21
|
-
* Runs `fn` inside a signal-deferred critical section. The CLI entry point's
|
|
22
|
-
* signal handlers `await` every active section before exiting, so a SIGINT or
|
|
23
|
-
* SIGTERM that arrives during `fn` will hold exit until `fn` returns (or
|
|
24
|
-
* rejects).
|
|
25
|
-
*
|
|
26
|
-
* `fn` should be short. Anything that takes longer than the bounded wait in
|
|
27
|
-
* the bin handler (`SIGNAL_CRITICAL_SECTION_TIMEOUT_MS`) will time out and
|
|
28
|
-
* the handler will exit anyway. The intent is "guard the apply + state
|
|
29
|
-
* persist pair," not "postpone exit indefinitely."
|
|
30
|
-
*/
|
|
31
|
-
export declare function runInSignalCriticalSection<T>(label: string, fn: () => Promise<T>): Promise<T>;
|
|
32
|
-
/**
|
|
33
|
-
* Waits for every active critical section to complete or for `timeoutMs` to
|
|
34
|
-
* elapse, whichever comes first. Never rejects: a section that throws still
|
|
35
|
-
* resolves from the registry's perspective because `runInSignalCriticalSection`
|
|
36
|
-
* cleans up in `finally`.
|
|
37
|
-
*/
|
|
38
|
-
export declare function waitForActiveCriticalSections(timeoutMs: number): Promise<void>;
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Signal-deferred critical sections.
|
|
4
|
-
*
|
|
5
|
-
* Commands that perform a compound mutation (e.g. "apply a patch to the
|
|
6
|
-
* engine, then persist progress to a session file on disk") need to finish
|
|
7
|
-
* the pair atomically with respect to SIGINT / SIGTERM. The furnace rollback
|
|
8
|
-
* mechanism is not the right tool here: rebase-style operations intentionally
|
|
9
|
-
* leave the engine mutated and only need the on-disk bookkeeping write to
|
|
10
|
-
* complete before the process exits.
|
|
11
|
-
*
|
|
12
|
-
* `runInSignalCriticalSection(fn)` wraps a short body in a registry slot.
|
|
13
|
-
* While the body runs, the CLI entry point's SIGINT / SIGTERM handlers wait
|
|
14
|
-
* for the slot to clear before calling `process.exit`, so a signal that
|
|
15
|
-
* lands mid-body is held until the body's state write finishes.
|
|
16
|
-
*
|
|
17
|
-
* This module is a pure runtime registry. It installs no signal handlers
|
|
18
|
-
* itself. The bin entry point is responsible for awaiting
|
|
19
|
-
* `waitForActiveCriticalSections` before terminating.
|
|
20
|
-
*/
|
|
21
|
-
import { sleep } from '../utils/sleep.js';
|
|
22
|
-
const activeSections = new Set();
|
|
23
|
-
/**
|
|
24
|
-
* Runs `fn` inside a signal-deferred critical section. The CLI entry point's
|
|
25
|
-
* signal handlers `await` every active section before exiting, so a SIGINT or
|
|
26
|
-
* SIGTERM that arrives during `fn` will hold exit until `fn` returns (or
|
|
27
|
-
* rejects).
|
|
28
|
-
*
|
|
29
|
-
* `fn` should be short. Anything that takes longer than the bounded wait in
|
|
30
|
-
* the bin handler (`SIGNAL_CRITICAL_SECTION_TIMEOUT_MS`) will time out and
|
|
31
|
-
* the handler will exit anyway. The intent is "guard the apply + state
|
|
32
|
-
* persist pair," not "postpone exit indefinitely."
|
|
33
|
-
*/
|
|
34
|
-
export async function runInSignalCriticalSection(label, fn) {
|
|
35
|
-
let resolver = () => undefined;
|
|
36
|
-
const section = {
|
|
37
|
-
label,
|
|
38
|
-
promise: new Promise((resolve) => {
|
|
39
|
-
resolver = resolve;
|
|
40
|
-
}),
|
|
41
|
-
};
|
|
42
|
-
activeSections.add(section);
|
|
43
|
-
try {
|
|
44
|
-
return await fn();
|
|
45
|
-
}
|
|
46
|
-
finally {
|
|
47
|
-
activeSections.delete(section);
|
|
48
|
-
resolver();
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Waits for every active critical section to complete or for `timeoutMs` to
|
|
53
|
-
* elapse, whichever comes first. Never rejects: a section that throws still
|
|
54
|
-
* resolves from the registry's perspective because `runInSignalCriticalSection`
|
|
55
|
-
* cleans up in `finally`.
|
|
56
|
-
*/
|
|
57
|
-
export async function waitForActiveCriticalSections(timeoutMs) {
|
|
58
|
-
if (activeSections.size === 0)
|
|
59
|
-
return;
|
|
60
|
-
const snapshot = [...activeSections].map((s) => s.promise);
|
|
61
|
-
await Promise.race([Promise.allSettled(snapshot).then(() => undefined), sleep(timeoutMs)]);
|
|
62
|
-
}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared regex library for `fireforge run --smoke-exit`. Used by the smoke
|
|
3
|
-
* runner to decide whether a console line from the real chrome counts as a
|
|
4
|
-
* runtime error. Kept separate from the runner so the patterns can be
|
|
5
|
-
* exercised in isolation and amended without touching process-group logic.
|
|
6
|
-
*
|
|
7
|
-
* Matching is anchored at the start of the line (`^`) on purpose: a runtime
|
|
8
|
-
* error leaves a canonical prefix that Firefox's logging layer prints at
|
|
9
|
-
* column zero. Embedded mentions of the same string inside an unrelated
|
|
10
|
-
* warning (e.g. `"pending JavaScript error cleanup"`) do not start with
|
|
11
|
-
* the prefix and should not trip the scanner.
|
|
12
|
-
*/
|
|
13
|
-
/**
|
|
14
|
-
* Returns `true` when `line` matches any pattern in
|
|
15
|
-
* {@link SMOKE_ERROR_PATTERNS}. Does not consult the allowlist. That step
|
|
16
|
-
* lives in {@link matchAllowlist}, so the smoke runner can count
|
|
17
|
-
* allowlisted hits separately from raw error matches for its summary.
|
|
18
|
-
*/
|
|
19
|
-
export declare function matchesSmokeError(line: string): boolean;
|
|
20
|
-
/**
|
|
21
|
-
* Returns `true` when `line` is console output from the browser rather than
|
|
22
|
-
* mach's own timestamped log. A blank line is neither.
|
|
23
|
-
*/
|
|
24
|
-
export declare function isBrowserConsoleLine(line: string): boolean;
|
|
25
|
-
/**
|
|
26
|
-
* One compiled allowlist entry with its provenance retained so the smoke
|
|
27
|
-
* summary can attribute hits per entry. An entry that silently
|
|
28
|
-
* stops matching (its suppressed shape changed upstream) is only
|
|
29
|
-
* detectable when zero-hit entries are visible.
|
|
30
|
-
*/
|
|
31
|
-
export interface CompiledAllowlistEntry {
|
|
32
|
-
pattern: RegExp;
|
|
33
|
-
/** Verbatim source text of the entry. */
|
|
34
|
-
source: string;
|
|
35
|
-
/** Human-readable origin: `allow.txt:12` or `--console-allow #2`. */
|
|
36
|
-
origin: string;
|
|
37
|
-
/**
|
|
38
|
-
* Ceiling from a `# max-hits: N` directive above the entry: how often the
|
|
39
|
-
* suppressed cause can physically fire in one boot. More hits than this
|
|
40
|
-
* is a flood wearing an allowlisted shape, and fails the run.
|
|
41
|
-
*/
|
|
42
|
-
maxHits?: number;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Returns the index of the FIRST entry in `allow` matching `line`, or -1.
|
|
46
|
-
* First-match attribution is deterministic and cheap. A line matching
|
|
47
|
-
* several entries credits the earliest one. Safe to call with an empty
|
|
48
|
-
* allowlist (always returns -1).
|
|
49
|
-
*/
|
|
50
|
-
export declare function matchAllowlist(line: string, allow: readonly CompiledAllowlistEntry[]): number;
|
|
51
|
-
/**
|
|
52
|
-
* Parses a newline-delimited allowlist file body. Lines are trimmed. Blank
|
|
53
|
-
* lines and `#`-prefixed comments are skipped. Each remaining line is
|
|
54
|
-
* compiled as a RegExp with its `<file>:<line>` origin retained. A bad
|
|
55
|
-
* pattern throws immediately: better to fail fast at CLI parse time than
|
|
56
|
-
* to silently let a typo match nothing.
|
|
57
|
-
*
|
|
58
|
-
* A `# max-hits: N` comment sets the ceiling of the entry that follows it
|
|
59
|
-
* (other comment lines may sit between). A blank line or end of file with
|
|
60
|
-
* no entry after the directive is an error rather than a silently dropped
|
|
61
|
-
* cap, since a cap the operator wrote and the run ignored is the exact
|
|
62
|
-
* shape of failure this directive exists to prevent.
|
|
63
|
-
*/
|
|
64
|
-
export declare function compileAllowlistFromFile(body: string, sourcePath: string): CompiledAllowlistEntry[];
|
|
65
|
-
/** An allowlist entry that matched more lines than its `# max-hits` ceiling. */
|
|
66
|
-
export interface OverCapAllowlistEntry {
|
|
67
|
-
entry: CompiledAllowlistEntry;
|
|
68
|
-
hits: number;
|
|
69
|
-
maxHits: number;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Entries whose per-entry hit count (every matched line, error-class or
|
|
73
|
-
* not: the `N×` number the attribution block prints and the operator tunes
|
|
74
|
-
* against) exceeds their ceiling. Entries without a ceiling never appear.
|
|
75
|
-
*/
|
|
76
|
-
export declare function findOverCapAllowlistEntries(allow: readonly CompiledAllowlistEntry[], hits: readonly number[]): OverCapAllowlistEntry[];
|
|
77
|
-
/**
|
|
78
|
-
* Compiles an array of regex-string inputs (e.g. repeated `--console-allow`
|
|
79
|
-
* flag values). Same fail-fast semantics as {@link compileAllowlistFromFile}.
|
|
80
|
-
*/
|
|
81
|
-
export declare function compileAllowlistFromStrings(sources: readonly string[]): CompiledAllowlistEntry[];
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Shared regex library for `fireforge run --smoke-exit`. Used by the smoke
|
|
4
|
-
* runner to decide whether a console line from the real chrome counts as a
|
|
5
|
-
* runtime error. Kept separate from the runner so the patterns can be
|
|
6
|
-
* exercised in isolation and amended without touching process-group logic.
|
|
7
|
-
*
|
|
8
|
-
* Matching is anchored at the start of the line (`^`) on purpose: a runtime
|
|
9
|
-
* error leaves a canonical prefix that Firefox's logging layer prints at
|
|
10
|
-
* column zero. Embedded mentions of the same string inside an unrelated
|
|
11
|
-
* warning (e.g. `"pending JavaScript error cleanup"`) do not start with
|
|
12
|
-
* the prefix and should not trip the scanner.
|
|
13
|
-
*/
|
|
14
|
-
/**
|
|
15
|
-
* Line prefixes that signal an actual runtime error in a Firefox chrome
|
|
16
|
-
* process. A hit on any of these patterns is a smoke failure unless the
|
|
17
|
-
* line also matches the caller-supplied allowlist.
|
|
18
|
-
*
|
|
19
|
-
* Additions here should be conservative. False positives turn every
|
|
20
|
-
* smoke run into noise for operators and every CI run into flake.
|
|
21
|
-
*/
|
|
22
|
-
import { toError } from '../utils/errors.js';
|
|
23
|
-
const SMOKE_ERROR_PATTERNS = [
|
|
24
|
-
// Firefox chrome error lines: `JavaScript error: chrome://…, line N: TypeError: …`.
|
|
25
|
-
/^\s*JavaScript error:/i,
|
|
26
|
-
// Some log paths prefix browser-console `console.error(...)` with the literal label below.
|
|
27
|
-
/^\s*console\.error:/i,
|
|
28
|
-
// Older bracketed-prefix variant still seen in some chrome logs / test runs.
|
|
29
|
-
/^\s*\[JavaScript (Error|Warning)\]/i,
|
|
30
|
-
// IPC-layer fatal assertions. Firefox prints `###!!! [Parent] Error: …` on content-process crashes.
|
|
31
|
-
/^\s*###!!! \[Parent\]/,
|
|
32
|
-
// A chrome:// or resource:// URL that resolves to nothing. Outside
|
|
33
|
-
// automation Gecko only PRINTS this (printf_stderr in
|
|
34
|
-
// `CheckForBrokenChromeURL`, netwerk/base/nsNetUtil.cpp). Under
|
|
35
|
-
// `xpc::IsInAutomation()` the same condition is a
|
|
36
|
-
// `MOZ_CRASH_UNSAFE_PRINTF` in whichever process opened the channel. So
|
|
37
|
-
// the smoke probe, which runs outside automation, sees the printed
|
|
38
|
-
// line for the same defect that hard-crashes every harness run, and a
|
|
39
|
-
// probe that exits 0 on it reports "startup is healthy" for a build that
|
|
40
|
-
// hangs at "Waiting for browser…". Both spellings are matched: the
|
|
41
|
-
// non-automation singular `URL:` and the automation plural `URLs:`.
|
|
42
|
-
// Allowlistable through `--console-allow` like any other pattern.
|
|
43
|
-
/^\s*Missing chrome or resource URLs?:/,
|
|
44
|
-
];
|
|
45
|
-
/**
|
|
46
|
-
* Returns `true` when `line` matches any pattern in
|
|
47
|
-
* {@link SMOKE_ERROR_PATTERNS}. Does not consult the allowlist. That step
|
|
48
|
-
* lives in {@link matchAllowlist}, so the smoke runner can count
|
|
49
|
-
* allowlisted hits separately from raw error matches for its summary.
|
|
50
|
-
*/
|
|
51
|
-
export function matchesSmokeError(line) {
|
|
52
|
-
for (const pattern of SMOKE_ERROR_PATTERNS) {
|
|
53
|
-
if (pattern.test(line)) {
|
|
54
|
-
return true;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Mach's own log lines carry an elapsed-time prefix (` 0:00.42 <message>`),
|
|
61
|
-
* the first of which echoes the browser command line. They prove mach ran,
|
|
62
|
-
* not that the browser printed anything.
|
|
63
|
-
*/
|
|
64
|
-
const MACH_LOG_LINE = /^\s*\d+:\d{2}\.\d{2} /;
|
|
65
|
-
/**
|
|
66
|
-
* Returns `true` when `line` is console output from the browser rather than
|
|
67
|
-
* mach's own timestamped log. A blank line is neither.
|
|
68
|
-
*/
|
|
69
|
-
export function isBrowserConsoleLine(line) {
|
|
70
|
-
return line.trim() !== '' && !MACH_LOG_LINE.test(line);
|
|
71
|
-
}
|
|
72
|
-
/** `# max-hits: N` on its own comment line, case-insensitive. */
|
|
73
|
-
const MAX_HITS_DIRECTIVE = /^#\s*max-hits:\s*(\S+)\s*$/i;
|
|
74
|
-
function parseMaxHitsDirective(raw, at) {
|
|
75
|
-
if (!/^[1-9]\d*$/.test(raw)) {
|
|
76
|
-
throw new Error(`Invalid allowlist max-hits directive at ${at}: expected a positive integer (got "${raw}")`);
|
|
77
|
-
}
|
|
78
|
-
return Number.parseInt(raw, 10);
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Returns the index of the FIRST entry in `allow` matching `line`, or -1.
|
|
82
|
-
* First-match attribution is deterministic and cheap. A line matching
|
|
83
|
-
* several entries credits the earliest one. Safe to call with an empty
|
|
84
|
-
* allowlist (always returns -1).
|
|
85
|
-
*/
|
|
86
|
-
export function matchAllowlist(line, allow) {
|
|
87
|
-
return allow.findIndex((entry) => entry.pattern.test(line));
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Parses a newline-delimited allowlist file body. Lines are trimmed. Blank
|
|
91
|
-
* lines and `#`-prefixed comments are skipped. Each remaining line is
|
|
92
|
-
* compiled as a RegExp with its `<file>:<line>` origin retained. A bad
|
|
93
|
-
* pattern throws immediately: better to fail fast at CLI parse time than
|
|
94
|
-
* to silently let a typo match nothing.
|
|
95
|
-
*
|
|
96
|
-
* A `# max-hits: N` comment sets the ceiling of the entry that follows it
|
|
97
|
-
* (other comment lines may sit between). A blank line or end of file with
|
|
98
|
-
* no entry after the directive is an error rather than a silently dropped
|
|
99
|
-
* cap, since a cap the operator wrote and the run ignored is the exact
|
|
100
|
-
* shape of failure this directive exists to prevent.
|
|
101
|
-
*/
|
|
102
|
-
export function compileAllowlistFromFile(body, sourcePath) {
|
|
103
|
-
const lines = body.split(/\r?\n/);
|
|
104
|
-
const compiled = [];
|
|
105
|
-
let pending;
|
|
106
|
-
const assertNoOrphanDirective = () => {
|
|
107
|
-
if (pending) {
|
|
108
|
-
throw new Error(`Invalid allowlist max-hits directive at ${pending.at}: no entry follows it (the ceiling applies to the next non-comment line)`);
|
|
109
|
-
}
|
|
110
|
-
};
|
|
111
|
-
lines.forEach((raw, index) => {
|
|
112
|
-
const line = raw.trim();
|
|
113
|
-
const at = `${sourcePath}:${index + 1}`;
|
|
114
|
-
if (!line) {
|
|
115
|
-
assertNoOrphanDirective();
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
if (line.startsWith('#')) {
|
|
119
|
-
const directive = MAX_HITS_DIRECTIVE.exec(line);
|
|
120
|
-
if (directive)
|
|
121
|
-
pending = { maxHits: parseMaxHitsDirective(directive[1] ?? '', at), at };
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
try {
|
|
125
|
-
compiled.push({
|
|
126
|
-
pattern: new RegExp(line),
|
|
127
|
-
source: line,
|
|
128
|
-
origin: at,
|
|
129
|
-
...(pending ? { maxHits: pending.maxHits } : {}),
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
catch (error) {
|
|
133
|
-
const message = toError(error).message;
|
|
134
|
-
throw new Error(`Invalid allowlist regex at ${at}: ${message}`, { cause: error });
|
|
135
|
-
}
|
|
136
|
-
pending = undefined;
|
|
137
|
-
});
|
|
138
|
-
assertNoOrphanDirective();
|
|
139
|
-
return compiled;
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Entries whose per-entry hit count (every matched line, error-class or
|
|
143
|
-
* not: the `N×` number the attribution block prints and the operator tunes
|
|
144
|
-
* against) exceeds their ceiling. Entries without a ceiling never appear.
|
|
145
|
-
*/
|
|
146
|
-
export function findOverCapAllowlistEntries(allow, hits) {
|
|
147
|
-
const over = [];
|
|
148
|
-
allow.forEach((entry, index) => {
|
|
149
|
-
const count = hits[index] ?? 0;
|
|
150
|
-
if (entry.maxHits !== undefined && count > entry.maxHits) {
|
|
151
|
-
over.push({ entry, hits: count, maxHits: entry.maxHits });
|
|
152
|
-
}
|
|
153
|
-
});
|
|
154
|
-
return over;
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Compiles an array of regex-string inputs (e.g. repeated `--console-allow`
|
|
158
|
-
* flag values). Same fail-fast semantics as {@link compileAllowlistFromFile}.
|
|
159
|
-
*/
|
|
160
|
-
export function compileAllowlistFromStrings(sources) {
|
|
161
|
-
const compiled = [];
|
|
162
|
-
sources.forEach((source, index) => {
|
|
163
|
-
try {
|
|
164
|
-
compiled.push({
|
|
165
|
-
pattern: new RegExp(source),
|
|
166
|
-
source,
|
|
167
|
-
origin: `--console-allow #${index + 1}`,
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
catch (error) {
|
|
171
|
-
const message = toError(error).message;
|
|
172
|
-
throw new Error(`Invalid --console-allow regex at position ${index + 1} ("${source}"): ${message}`, { cause: error });
|
|
173
|
-
}
|
|
174
|
-
});
|
|
175
|
-
return compiled;
|
|
176
|
-
}
|