@hominis/fireforge 0.54.0 → 0.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +287 -6
- package/README.md +51 -17
- package/dist/bin/fireforge.js +34 -129
- package/dist/build-info.json +4 -4
- package/dist/src/check/check.js +394 -0
- package/dist/src/check/gate.js +448 -0
- package/dist/src/check/index.js +10 -0
- package/dist/src/check/record.js +155 -0
- package/dist/src/cli/command.js +286 -0
- package/dist/src/cli/output.js +96 -0
- package/dist/src/cli/program.js +231 -0
- package/dist/src/cli/stdio.js +59 -0
- package/dist/src/cli/version.js +99 -0
- package/dist/src/commands/bootstrap.js +17 -102
- package/dist/src/commands/build.js +34 -438
- package/dist/src/commands/check.js +44 -157
- package/dist/src/commands/config.js +50 -226
- package/dist/src/commands/discard.js +38 -215
- package/dist/src/commands/doctor.js +29 -456
- package/dist/src/commands/download.js +35 -499
- package/dist/src/commands/export.js +42 -431
- package/dist/src/commands/furnace.js +220 -0
- package/dist/src/commands/gate.js +127 -0
- package/dist/src/commands/import.js +44 -445
- package/dist/src/commands/index.js +86 -0
- package/dist/src/commands/lint.js +44 -546
- package/dist/src/commands/merge-driver.js +56 -0
- package/dist/src/commands/migrate.js +75 -0
- package/dist/src/commands/override.js +43 -0
- package/dist/src/commands/package.js +48 -77
- package/dist/src/commands/patch.js +221 -0
- package/dist/src/commands/re-export.js +55 -332
- package/dist/src/commands/rebase.js +69 -0
- package/dist/src/commands/register.js +62 -103
- package/dist/src/commands/reset.js +28 -91
- package/dist/src/commands/resolve.js +20 -167
- package/dist/src/commands/restore.js +19 -0
- package/dist/src/commands/run.js +60 -420
- package/dist/src/commands/setup.js +78 -90
- package/dist/src/commands/status.js +44 -413
- package/dist/src/commands/test.js +97 -422
- package/dist/src/commands/token.js +185 -228
- package/dist/src/commands/typecheck.js +59 -208
- package/dist/src/commands/verify.js +28 -334
- package/dist/src/commands/version.js +14 -0
- package/dist/src/commands/watch.js +20 -218
- package/dist/src/commands/wire.js +60 -349
- package/dist/src/commands/workspace.js +117 -0
- package/dist/src/config/edit.js +237 -0
- package/dist/src/config/index.js +15 -0
- package/dist/src/config/load.js +59 -0
- package/dist/src/config/previous.js +404 -0
- package/dist/src/config/schema/build.js +63 -0
- package/dist/src/config/schema/check.js +113 -0
- package/dist/src/config/schema/common.js +71 -0
- package/dist/src/config/schema/export-queue.js +36 -0
- package/dist/src/config/schema/firefox.js +69 -0
- package/dist/src/config/schema/gate.js +199 -0
- package/dist/src/config/schema/identity.js +55 -0
- package/dist/src/config/schema/index.js +45 -0
- package/dist/src/config/schema/lint.js +297 -0
- package/dist/src/config/schema/policy.js +111 -0
- package/dist/src/config/schema/source.js +90 -0
- package/dist/src/config/schema/test.js +17 -0
- package/dist/src/config/schema/toolchains.js +17 -0
- package/dist/src/config/schema/typecheck.js +29 -0
- package/dist/src/config/schema/wire.js +15 -0
- package/dist/src/diff/apply.js +129 -0
- package/dist/src/diff/index.js +16 -0
- package/dist/src/diff/model.js +267 -0
- package/dist/src/diff/query.js +65 -0
- package/dist/src/doctor/index.js +240 -0
- package/dist/src/engine/archive.js +396 -0
- package/dist/src/engine/audit.js +66 -0
- package/dist/src/engine/build.js +150 -0
- package/dist/src/engine/hostLocks.js +66 -0
- package/dist/src/engine/index.js +26 -0
- package/dist/src/engine/installManifests.js +147 -0
- package/dist/src/engine/mach.js +97 -0
- package/dist/src/engine/machHints.js +80 -0
- package/dist/src/engine/mozconfig.js +110 -0
- package/dist/src/engine/objdir.js +124 -0
- package/dist/src/engine/package.js +169 -0
- package/dist/src/engine/pin.js +12 -0
- package/dist/src/engine/pool.js +423 -0
- package/dist/src/engine/pristine.js +281 -0
- package/dist/src/engine/python.js +68 -0
- package/dist/src/engine/resourceGuard.js +582 -0
- package/dist/src/engine/run.js +259 -0
- package/dist/src/engine/smoke.js +204 -0
- package/dist/src/engine/staleness.js +229 -0
- package/dist/src/engine/watch.js +82 -0
- package/dist/src/engine/workspace.js +85 -0
- package/dist/src/furnace/config.js +360 -0
- package/dist/src/furnace/deploy.js +414 -0
- package/dist/src/furnace/diff.js +59 -0
- package/dist/src/furnace/edit.js +64 -0
- package/dist/src/furnace/fragments.js +53 -0
- package/dist/src/furnace/index.js +19 -0
- package/dist/src/furnace/operations.js +283 -0
- package/dist/src/furnace/registration.js +220 -0
- package/dist/src/furnace/scaffold.js +311 -0
- package/dist/src/furnace/typing.js +252 -0
- package/dist/src/furnace/validate.js +662 -0
- package/dist/src/git/apply.js +129 -0
- package/dist/src/git/diff.js +143 -0
- package/dist/src/git/index.js +33 -0
- package/dist/src/git/objects.js +201 -0
- package/dist/src/git/refs.js +85 -0
- package/dist/src/git/repo.js +222 -0
- package/dist/src/git/run.js +242 -0
- package/dist/src/git/status.js +156 -0
- package/dist/src/kernel/errors.js +123 -0
- package/dist/src/kernel/fs.js +515 -0
- package/dist/src/kernel/glob.js +63 -0
- package/dist/src/kernel/hash.js +28 -0
- package/dist/src/kernel/journal.js +524 -0
- package/dist/src/kernel/json-edit.js +198 -0
- package/dist/src/kernel/json.js +101 -0
- package/dist/src/kernel/lock.js +589 -0
- package/dist/src/kernel/log.js +154 -0
- package/dist/src/kernel/process/identity.js +313 -0
- package/dist/src/kernel/process/index.js +8 -0
- package/dist/src/kernel/process/listing.js +128 -0
- package/dist/src/kernel/process/spawn.js +430 -0
- package/dist/src/kernel/process/tree.js +301 -0
- package/dist/src/kernel/schema.js +308 -0
- package/dist/src/kernel/signals.js +171 -0
- package/dist/src/kernel/text.js +151 -0
- package/dist/src/kernel/time.js +83 -0
- package/dist/src/kernel/tty.js +84 -0
- package/dist/src/lint/cache.js +77 -0
- package/dist/src/lint/checkjs.js +400 -0
- package/dist/src/lint/index.js +3 -0
- package/dist/src/lint/input.js +100 -0
- package/dist/src/lint/report.js +107 -0
- package/dist/src/lint/rule.js +41 -0
- package/dist/src/lint/rules/css.js +308 -0
- package/dist/src/lint/rules/javascript.js +299 -0
- package/dist/src/lint/rules/jsdoc.js +249 -0
- package/dist/src/lint/rules/license.js +93 -0
- package/dist/src/lint/rules/policy.js +201 -0
- package/dist/src/lint/rules/registration.js +264 -0
- package/dist/src/lint/rules/size.js +299 -0
- package/dist/src/lint/run.js +126 -0
- package/dist/src/lint/shim.js +323 -0
- package/dist/src/lint/typescript.js +186 -0
- package/dist/src/lint/waivers.js +93 -0
- package/dist/src/mode/changes.js +264 -0
- package/dist/src/mode/diagnose.js +173 -0
- package/dist/src/mode/export.js +147 -0
- package/dist/src/mode/index.js +23 -0
- package/dist/src/mode/migrate.js +181 -0
- package/dist/src/mode/previousWaivers.js +206 -0
- package/dist/src/mode/pristine.js +61 -0
- package/dist/src/mode/rebase.js +197 -0
- package/dist/src/mode/report.js +157 -0
- package/dist/src/mode/setup.js +103 -0
- package/dist/src/mode/tracked.js +116 -0
- package/dist/src/mode/upgrade.js +281 -0
- package/dist/src/mode/watch.js +83 -0
- package/dist/src/mode/workspace.js +189 -0
- package/dist/src/mozbuild/index.js +6 -0
- package/dist/src/mozbuild/jar.js +366 -0
- package/dist/src/mozbuild/mozbuild.js +321 -0
- package/dist/src/mozbuild/paths.js +96 -0
- package/dist/src/mozbuild/references.js +39 -0
- package/dist/src/mozbuild/testManifest.js +343 -0
- package/dist/src/mozbuild/text.js +142 -0
- package/dist/src/project/changes.js +145 -0
- package/dist/src/project/checkout.js +66 -0
- package/dist/src/project/index.js +11 -0
- package/dist/src/project/license.js +119 -0
- package/dist/src/project/project.js +111 -0
- package/dist/src/project/state.js +85 -0
- package/dist/src/project/tracked.js +1 -0
- package/dist/src/queue/apply.js +270 -0
- package/dist/src/queue/attribute.js +159 -0
- package/dist/src/queue/baseline.js +409 -0
- package/dist/src/queue/capture.js +298 -0
- package/dist/src/queue/changes.js +234 -0
- package/dist/src/queue/index.js +50 -0
- package/dist/src/queue/manifest.js +341 -0
- package/dist/src/queue/operations.js +454 -0
- package/dist/src/queue/placement.js +220 -0
- package/dist/src/queue/queue.js +359 -0
- package/dist/src/queue/restore.js +103 -0
- package/dist/src/queue/session.js +685 -0
- package/dist/src/queue/status.js +137 -0
- package/dist/src/register/files.js +39 -0
- package/dist/src/register/index.js +8 -0
- package/dist/src/register/js.js +217 -0
- package/dist/src/register/register.js +359 -0
- package/dist/src/register/wire.js +146 -0
- package/dist/src/source/adopt.js +99 -0
- package/dist/src/source/changes.js +132 -0
- package/dist/src/source/edit.js +278 -0
- package/dist/src/source/export.js +70 -0
- package/dist/src/source/groups.js +131 -0
- package/dist/src/source/index.js +20 -0
- package/dist/src/source/materialize.js +382 -0
- package/dist/src/source/merge.js +255 -0
- package/dist/src/source/objects.js +102 -0
- package/dist/src/source/previous.js +166 -0
- package/dist/src/source/records.js +138 -0
- package/dist/src/source/refresh.js +264 -0
- package/dist/src/source/tree.js +337 -0
- package/dist/src/syntax/css.js +215 -0
- package/dist/src/syntax/fragments.js +63 -0
- package/dist/src/syntax/index.js +10 -0
- package/dist/src/syntax/js.js +270 -0
- package/dist/src/test/classify.js +826 -0
- package/dist/src/test/control.js +236 -0
- package/dist/src/test/host.js +266 -0
- package/dist/src/test/index.js +11 -0
- package/dist/src/test/plan.js +347 -0
- package/dist/src/test/rawLog.js +138 -0
- package/dist/src/test/run.js +404 -0
- package/dist/src/test/verdict.js +420 -0
- package/dist/src/test/xpcshell.js +143 -0
- package/dist/src/tokens/add.js +304 -0
- package/dist/src/tokens/coverage.js +65 -0
- package/dist/src/tokens/css.js +58 -0
- package/dist/src/tokens/index.js +12 -0
- package/dist/src/tokens/lint.js +96 -0
- package/dist/src/tokens/model.js +118 -0
- package/dist/src/tokens/settings.js +87 -0
- package/dist/src/tokens/siblings.js +104 -0
- package/dist/src/typecheck/explain.js +123 -0
- package/dist/src/typecheck/index.js +8 -0
- package/dist/src/typecheck/typecheck.js +332 -0
- package/docs/README.md +23 -28
- package/docs/authoring.md +97 -0
- package/docs/configuration.md +307 -692
- package/docs/exit-codes.md +76 -94
- package/docs/furnace.md +113 -181
- package/docs/gate.md +205 -0
- package/docs/getting-started.md +165 -0
- package/docs/machine-output.md +201 -277
- package/docs/migrating.md +261 -0
- package/docs/patch-workflow.md +163 -653
- package/docs/quality.md +220 -0
- package/docs/source-workflow.md +228 -0
- package/docs/testing.md +101 -712
- package/docs/workspaces.md +187 -0
- package/package.json +22 -30
- package/templates/configs/common.mozconfig +8 -2
- package/templates/configs/darwin.mozconfig +6 -7
- package/templates/configs/linux.mozconfig +5 -8
- package/templates/configs/win32.mozconfig +3 -9
- package/dist/bin/fireforge.d.ts +0 -9
- package/dist/src/cli-usage-error.d.ts +0 -46
- package/dist/src/cli-usage-error.js +0 -81
- package/dist/src/cli.d.ts +0 -41
- package/dist/src/cli.js +0 -380
- package/dist/src/commands/bootstrap-checks.d.ts +0 -16
- package/dist/src/commands/bootstrap-checks.js +0 -66
- package/dist/src/commands/bootstrap.d.ts +0 -10
- package/dist/src/commands/build-prelock.d.ts +0 -20
- package/dist/src/commands/build-prelock.js +0 -50
- package/dist/src/commands/build.d.ts +0 -13
- package/dist/src/commands/check-report.d.ts +0 -41
- package/dist/src/commands/check-report.js +0 -91
- package/dist/src/commands/check-run.d.ts +0 -33
- package/dist/src/commands/check-run.js +0 -112
- package/dist/src/commands/check-steps.d.ts +0 -75
- package/dist/src/commands/check-steps.js +0 -200
- package/dist/src/commands/check.d.ts +0 -32
- package/dist/src/commands/config.d.ts +0 -13
- package/dist/src/commands/declarations-report.d.ts +0 -49
- package/dist/src/commands/declarations-report.js +0 -83
- package/dist/src/commands/destructive-decision.d.ts +0 -19
- package/dist/src/commands/destructive-decision.js +0 -31
- package/dist/src/commands/discard.d.ts +0 -12
- package/dist/src/commands/doctor-check-core.d.ts +0 -110
- package/dist/src/commands/doctor-check-core.js +0 -24
- package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
- package/dist/src/commands/doctor-engine-eslint.js +0 -17
- package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
- package/dist/src/commands/doctor-external-toolchains.js +0 -56
- package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
- package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
- package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
- package/dist/src/commands/doctor-furnace-jar.js +0 -44
- package/dist/src/commands/doctor-furnace.d.ts +0 -8
- package/dist/src/commands/doctor-furnace.js +0 -514
- package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
- package/dist/src/commands/doctor-macos-sdk.js +0 -158
- package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
- package/dist/src/commands/doctor-orphaned-harness.js +0 -98
- package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
- package/dist/src/commands/doctor-patch-manifest.js +0 -156
- package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
- package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
- package/dist/src/commands/doctor-source-pin.d.ts +0 -29
- package/dist/src/commands/doctor-source-pin.js +0 -91
- package/dist/src/commands/doctor-working-tree.d.ts +0 -27
- package/dist/src/commands/doctor-working-tree.js +0 -89
- package/dist/src/commands/doctor.d.ts +0 -49
- package/dist/src/commands/download.d.ts +0 -11
- package/dist/src/commands/export-adopt-check.d.ts +0 -37
- package/dist/src/commands/export-adopt-check.js +0 -97
- package/dist/src/commands/export-all.d.ts +0 -11
- package/dist/src/commands/export-all.js +0 -361
- package/dist/src/commands/export-flow.d.ts +0 -124
- package/dist/src/commands/export-flow.js +0 -423
- package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
- package/dist/src/commands/export-placement-conflicts.js +0 -75
- package/dist/src/commands/export-placement-gate.d.ts +0 -42
- package/dist/src/commands/export-placement-gate.js +0 -107
- package/dist/src/commands/export-placement-policy.d.ts +0 -22
- package/dist/src/commands/export-placement-policy.js +0 -54
- package/dist/src/commands/export-shared.d.ts +0 -152
- package/dist/src/commands/export-shared.js +0 -396
- package/dist/src/commands/export-staged-registration.d.ts +0 -46
- package/dist/src/commands/export-staged-registration.js +0 -91
- package/dist/src/commands/export.d.ts +0 -13
- package/dist/src/commands/forward-import-remedy.d.ts +0 -31
- package/dist/src/commands/forward-import-remedy.js +0 -62
- package/dist/src/commands/furnace/apply.d.ts +0 -8
- package/dist/src/commands/furnace/apply.js +0 -327
- package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
- package/dist/src/commands/furnace/authoring-config.js +0 -19
- package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
- package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
- package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
- package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
- package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
- package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
- package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
- package/dist/src/commands/furnace/chrome-doc.js +0 -365
- package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
- package/dist/src/commands/furnace/create-browser-test.js +0 -179
- package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
- package/dist/src/commands/furnace/create-dry-run.js +0 -107
- package/dist/src/commands/furnace/create-features.d.ts +0 -24
- package/dist/src/commands/furnace/create-features.js +0 -55
- package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
- package/dist/src/commands/furnace/create-mochikit.js +0 -75
- package/dist/src/commands/furnace/create-readback.d.ts +0 -22
- package/dist/src/commands/furnace/create-readback.js +0 -32
- package/dist/src/commands/furnace/create-templates.d.ts +0 -119
- package/dist/src/commands/furnace/create-templates.js +0 -283
- package/dist/src/commands/furnace/create-validation.d.ts +0 -6
- package/dist/src/commands/furnace/create-validation.js +0 -59
- package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
- package/dist/src/commands/furnace/create-xpcshell.js +0 -80
- package/dist/src/commands/furnace/create.d.ts +0 -24
- package/dist/src/commands/furnace/create.js +0 -407
- package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
- package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
- package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
- package/dist/src/commands/furnace/deploy-named.js +0 -107
- package/dist/src/commands/furnace/deploy.d.ts +0 -9
- package/dist/src/commands/furnace/deploy.js +0 -218
- package/dist/src/commands/furnace/diff.d.ts +0 -11
- package/dist/src/commands/furnace/diff.js +0 -238
- package/dist/src/commands/furnace/index.d.ts +0 -4
- package/dist/src/commands/furnace/index.js +0 -282
- package/dist/src/commands/furnace/init.d.ts +0 -11
- package/dist/src/commands/furnace/init.js +0 -287
- package/dist/src/commands/furnace/list.d.ts +0 -8
- package/dist/src/commands/furnace/list.js +0 -104
- package/dist/src/commands/furnace/override.d.ts +0 -16
- package/dist/src/commands/furnace/override.js +0 -454
- package/dist/src/commands/furnace/preview.d.ts +0 -19
- package/dist/src/commands/furnace/preview.js +0 -349
- package/dist/src/commands/furnace/refresh.d.ts +0 -10
- package/dist/src/commands/furnace/refresh.js +0 -303
- package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
- package/dist/src/commands/furnace/remove-mutations.js +0 -168
- package/dist/src/commands/furnace/remove-state.d.ts +0 -20
- package/dist/src/commands/furnace/remove-state.js +0 -60
- package/dist/src/commands/furnace/remove.d.ts +0 -8
- package/dist/src/commands/furnace/remove.js +0 -415
- package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
- package/dist/src/commands/furnace/rename-browser-test.js +0 -68
- package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
- package/dist/src/commands/furnace/rename-dry-run.js +0 -127
- package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
- package/dist/src/commands/furnace/rename-helpers.js +0 -85
- package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
- package/dist/src/commands/furnace/rename-registrations.js +0 -98
- package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
- package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
- package/dist/src/commands/furnace/rename.d.ts +0 -6
- package/dist/src/commands/furnace/rename.js +0 -400
- package/dist/src/commands/furnace/scan.d.ts +0 -14
- package/dist/src/commands/furnace/scan.js +0 -192
- package/dist/src/commands/furnace/status.d.ts +0 -7
- package/dist/src/commands/furnace/status.js +0 -209
- package/dist/src/commands/furnace/sync.d.ts +0 -12
- package/dist/src/commands/furnace/sync.js +0 -145
- package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
- package/dist/src/commands/furnace/test-file-name.js +0 -39
- package/dist/src/commands/furnace/validate-report.d.ts +0 -45
- package/dist/src/commands/furnace/validate-report.js +0 -91
- package/dist/src/commands/furnace/validate.d.ts +0 -8
- package/dist/src/commands/furnace/validate.js +0 -309
- package/dist/src/commands/furnace/validation-output.d.ts +0 -47
- package/dist/src/commands/furnace/validation-output.js +0 -161
- package/dist/src/commands/import.d.ts +0 -11
- package/dist/src/commands/lint-per-patch.d.ts +0 -10
- package/dist/src/commands/lint-per-patch.js +0 -428
- package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
- package/dist/src/commands/lint-per-run-checkjs.js +0 -102
- package/dist/src/commands/lint-report.d.ts +0 -25
- package/dist/src/commands/lint-report.js +0 -76
- package/dist/src/commands/lint.d.ts +0 -47
- package/dist/src/commands/manifest.d.ts +0 -38
- package/dist/src/commands/manifest.js +0 -68
- package/dist/src/commands/package.d.ts +0 -11
- package/dist/src/commands/park.d.ts +0 -22
- package/dist/src/commands/park.js +0 -232
- package/dist/src/commands/patch/compact.d.ts +0 -28
- package/dist/src/commands/patch/compact.js +0 -208
- package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
- package/dist/src/commands/patch/delete-gap-notice.js +0 -48
- package/dist/src/commands/patch/delete.d.ts +0 -28
- package/dist/src/commands/patch/delete.js +0 -131
- package/dist/src/commands/patch/entry-projection.d.ts +0 -13
- package/dist/src/commands/patch/entry-projection.js +0 -24
- package/dist/src/commands/patch/index.d.ts +0 -16
- package/dist/src/commands/patch/index.js +0 -52
- package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
- package/dist/src/commands/patch/lint-ignore-from.js +0 -141
- package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
- package/dist/src/commands/patch/lint-ignore.js +0 -261
- package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
- package/dist/src/commands/patch/move-files-adopt.js +0 -65
- package/dist/src/commands/patch/move-files-create.d.ts +0 -19
- package/dist/src/commands/patch/move-files-create.js +0 -187
- package/dist/src/commands/patch/move-files-into.d.ts +0 -65
- package/dist/src/commands/patch/move-files-into.js +0 -325
- package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
- package/dist/src/commands/patch/move-files-retire.js +0 -91
- package/dist/src/commands/patch/move-files.d.ts +0 -28
- package/dist/src/commands/patch/move-files.js +0 -224
- package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
- package/dist/src/commands/patch/move-size-tier.js +0 -66
- package/dist/src/commands/patch/patch-context.d.ts +0 -40
- package/dist/src/commands/patch/patch-context.js +0 -51
- package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
- package/dist/src/commands/patch/removal-created-files.js +0 -83
- package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
- package/dist/src/commands/patch/removal-dependents.js +0 -133
- package/dist/src/commands/patch/rename.d.ts +0 -35
- package/dist/src/commands/patch/rename.js +0 -378
- package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
- package/dist/src/commands/patch/reorder-projection.js +0 -49
- package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
- package/dist/src/commands/patch/reorder-shift.js +0 -307
- package/dist/src/commands/patch/reorder.d.ts +0 -34
- package/dist/src/commands/patch/reorder.js +0 -375
- package/dist/src/commands/patch/reserve.d.ts +0 -33
- package/dist/src/commands/patch/reserve.js +0 -152
- package/dist/src/commands/patch/retire.d.ts +0 -34
- package/dist/src/commands/patch/retire.js +0 -133
- package/dist/src/commands/patch/split-plan.d.ts +0 -125
- package/dist/src/commands/patch/split-plan.js +0 -313
- package/dist/src/commands/patch/split-staged.d.ts +0 -108
- package/dist/src/commands/patch/split-staged.js +0 -202
- package/dist/src/commands/patch/split.d.ts +0 -43
- package/dist/src/commands/patch/split.js +0 -367
- package/dist/src/commands/patch/stage.d.ts +0 -34
- package/dist/src/commands/patch/stage.js +0 -153
- package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
- package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
- package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
- package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
- package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
- package/dist/src/commands/patch/staged-dependency-from.js +0 -114
- package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
- package/dist/src/commands/patch/staged-dependency-remove.js +0 -117
- package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -15
- package/dist/src/commands/patch/staged-dependency-validate.js +0 -49
- package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
- package/dist/src/commands/patch/staged-dependency.js +0 -248
- package/dist/src/commands/patch/tier.d.ts +0 -34
- package/dist/src/commands/patch/tier.js +0 -125
- package/dist/src/commands/patch-rename-map.d.ts +0 -30
- package/dist/src/commands/patch-rename-map.js +0 -54
- package/dist/src/commands/pending-resolution.d.ts +0 -15
- package/dist/src/commands/pending-resolution.js +0 -25
- package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
- package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
- package/dist/src/commands/re-export-adjacent.d.ts +0 -111
- package/dist/src/commands/re-export-adjacent.js +0 -267
- package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
- package/dist/src/commands/re-export-bulk-scan.js +0 -233
- package/dist/src/commands/re-export-drift.d.ts +0 -110
- package/dist/src/commands/re-export-drift.js +0 -358
- package/dist/src/commands/re-export-files.d.ts +0 -15
- package/dist/src/commands/re-export-files.js +0 -307
- package/dist/src/commands/re-export-hunks.d.ts +0 -35
- package/dist/src/commands/re-export-hunks.js +0 -220
- package/dist/src/commands/re-export-lint.d.ts +0 -137
- package/dist/src/commands/re-export-lint.js +0 -303
- package/dist/src/commands/re-export-options.d.ts +0 -29
- package/dist/src/commands/re-export-options.js +0 -191
- package/dist/src/commands/re-export-preflight.d.ts +0 -23
- package/dist/src/commands/re-export-preflight.js +0 -159
- package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
- package/dist/src/commands/re-export-purity-scope.js +0 -137
- package/dist/src/commands/re-export-register.d.ts +0 -12
- package/dist/src/commands/re-export-register.js +0 -99
- package/dist/src/commands/re-export-removed.d.ts +0 -15
- package/dist/src/commands/re-export-removed.js +0 -94
- package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
- package/dist/src/commands/re-export-retired-declarations.js +0 -113
- package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
- package/dist/src/commands/re-export-scan-owner.js +0 -116
- package/dist/src/commands/re-export-scan.d.ts +0 -72
- package/dist/src/commands/re-export-scan.js +0 -265
- package/dist/src/commands/re-export-single.d.ts +0 -39
- package/dist/src/commands/re-export-single.js +0 -388
- package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
- package/dist/src/commands/re-export-stale-registrations.js +0 -106
- package/dist/src/commands/re-export-summary.d.ts +0 -28
- package/dist/src/commands/re-export-summary.js +0 -36
- package/dist/src/commands/re-export.d.ts +0 -8
- package/dist/src/commands/rebase/abort.d.ts +0 -7
- package/dist/src/commands/rebase/abort.js +0 -67
- package/dist/src/commands/rebase/confirm.d.ts +0 -42
- package/dist/src/commands/rebase/confirm.js +0 -36
- package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
- package/dist/src/commands/rebase/conflict-summary.js +0 -37
- package/dist/src/commands/rebase/continue.d.ts +0 -7
- package/dist/src/commands/rebase/continue.js +0 -119
- package/dist/src/commands/rebase/index.d.ts +0 -22
- package/dist/src/commands/rebase/index.js +0 -209
- package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
- package/dist/src/commands/rebase/patch-loop.js +0 -289
- package/dist/src/commands/rebase/summary.d.ts +0 -8
- package/dist/src/commands/rebase/summary.js +0 -47
- package/dist/src/commands/register.d.ts +0 -13
- package/dist/src/commands/reset.d.ts +0 -11
- package/dist/src/commands/resolve.d.ts +0 -36
- package/dist/src/commands/run.d.ts +0 -10
- package/dist/src/commands/setup-support.d.ts +0 -35
- package/dist/src/commands/setup-support.js +0 -386
- package/dist/src/commands/setup.d.ts +0 -11
- package/dist/src/commands/source.d.ts +0 -9
- package/dist/src/commands/source.js +0 -120
- package/dist/src/commands/status-check.d.ts +0 -87
- package/dist/src/commands/status-check.js +0 -161
- package/dist/src/commands/status-json.d.ts +0 -45
- package/dist/src/commands/status-json.js +0 -97
- package/dist/src/commands/status-output.d.ts +0 -23
- package/dist/src/commands/status-output.js +0 -231
- package/dist/src/commands/status-ownership.d.ts +0 -54
- package/dist/src/commands/status-ownership.js +0 -59
- package/dist/src/commands/status-scope.d.ts +0 -37
- package/dist/src/commands/status-scope.js +0 -54
- package/dist/src/commands/status.d.ts +0 -11
- package/dist/src/commands/test-appdir.d.ts +0 -6
- package/dist/src/commands/test-appdir.js +0 -29
- package/dist/src/commands/test-browser-preflight.d.ts +0 -28
- package/dist/src/commands/test-browser-preflight.js +0 -197
- package/dist/src/commands/test-build-furnace.d.ts +0 -21
- package/dist/src/commands/test-build-furnace.js +0 -53
- package/dist/src/commands/test-build-phase.d.ts +0 -29
- package/dist/src/commands/test-build-phase.js +0 -290
- package/dist/src/commands/test-checkjs.d.ts +0 -3
- package/dist/src/commands/test-checkjs.js +0 -35
- package/dist/src/commands/test-control-restore.d.ts +0 -40
- package/dist/src/commands/test-control-restore.js +0 -86
- package/dist/src/commands/test-diagnose.d.ts +0 -23
- package/dist/src/commands/test-diagnose.js +0 -317
- package/dist/src/commands/test-dispatch.d.ts +0 -39
- package/dist/src/commands/test-dispatch.js +0 -281
- package/dist/src/commands/test-furnace-reach.d.ts +0 -37
- package/dist/src/commands/test-furnace-reach.js +0 -132
- package/dist/src/commands/test-harness-env.d.ts +0 -23
- package/dist/src/commands/test-harness-env.js +0 -81
- package/dist/src/commands/test-harness-teardown.d.ts +0 -62
- package/dist/src/commands/test-harness-teardown.js +0 -128
- package/dist/src/commands/test-modes.d.ts +0 -57
- package/dist/src/commands/test-modes.js +0 -158
- package/dist/src/commands/test-multi-verdict.d.ts +0 -61
- package/dist/src/commands/test-multi-verdict.js +0 -112
- package/dist/src/commands/test-orchestrate.d.ts +0 -63
- package/dist/src/commands/test-orchestrate.js +0 -274
- package/dist/src/commands/test-perf-scope.d.ts +0 -50
- package/dist/src/commands/test-perf-scope.js +0 -138
- package/dist/src/commands/test-prelock.d.ts +0 -61
- package/dist/src/commands/test-prelock.js +0 -301
- package/dist/src/commands/test-register.d.ts +0 -4
- package/dist/src/commands/test-register.js +0 -181
- package/dist/src/commands/test-results.d.ts +0 -71
- package/dist/src/commands/test-results.js +0 -79
- package/dist/src/commands/test-run.d.ts +0 -89
- package/dist/src/commands/test-run.js +0 -251
- package/dist/src/commands/test-shards.d.ts +0 -114
- package/dist/src/commands/test-shards.js +0 -272
- package/dist/src/commands/test-stale-gate.d.ts +0 -52
- package/dist/src/commands/test-stale-gate.js +0 -165
- package/dist/src/commands/test-verdict.d.ts +0 -92
- package/dist/src/commands/test-verdict.js +0 -162
- package/dist/src/commands/test.d.ts +0 -22
- package/dist/src/commands/token-coverage.d.ts +0 -5
- package/dist/src/commands/token-coverage.js +0 -170
- package/dist/src/commands/token-lint.d.ts +0 -14
- package/dist/src/commands/token-lint.js +0 -151
- package/dist/src/commands/token-list.d.ts +0 -26
- package/dist/src/commands/token-list.js +0 -153
- package/dist/src/commands/token.d.ts +0 -14
- package/dist/src/commands/tree.d.ts +0 -19
- package/dist/src/commands/tree.js +0 -341
- package/dist/src/commands/typecheck.d.ts +0 -56
- package/dist/src/commands/verify-scope.d.ts +0 -28
- package/dist/src/commands/verify-scope.js +0 -67
- package/dist/src/commands/verify.d.ts +0 -58
- package/dist/src/commands/watch.d.ts +0 -9
- package/dist/src/commands/wire.d.ts +0 -13
- package/dist/src/core/ast-utils.d.ts +0 -73
- package/dist/src/core/ast-utils.js +0 -105
- package/dist/src/core/brand-validation.d.ts +0 -7
- package/dist/src/core/brand-validation.js +0 -14
- package/dist/src/core/branding.d.ts +0 -86
- package/dist/src/core/branding.js +0 -371
- package/dist/src/core/browser-wire.d.ts +0 -48
- package/dist/src/core/browser-wire.js +0 -133
- package/dist/src/core/build-audit-platform.d.ts +0 -67
- package/dist/src/core/build-audit-platform.js +0 -373
- package/dist/src/core/build-audit-registration.d.ts +0 -80
- package/dist/src/core/build-audit-registration.js +0 -181
- package/dist/src/core/build-audit-resolve.d.ts +0 -78
- package/dist/src/core/build-audit-resolve.js +0 -240
- package/dist/src/core/build-audit-skip.d.ts +0 -57
- package/dist/src/core/build-audit-skip.js +0 -112
- package/dist/src/core/build-audit-transforms.d.ts +0 -23
- package/dist/src/core/build-audit-transforms.js +0 -92
- package/dist/src/core/build-audit.d.ts +0 -93
- package/dist/src/core/build-audit.js +0 -633
- package/dist/src/core/build-baseline-types.d.ts +0 -225
- package/dist/src/core/build-baseline-types.js +0 -10
- package/dist/src/core/build-baseline-validate.d.ts +0 -32
- package/dist/src/core/build-baseline-validate.js +0 -173
- package/dist/src/core/build-baseline.d.ts +0 -103
- package/dist/src/core/build-baseline.js +0 -261
- package/dist/src/core/build-jar-escalation.d.ts +0 -61
- package/dist/src/core/build-jar-escalation.js +0 -125
- package/dist/src/core/build-overwrite-guard.d.ts +0 -92
- package/dist/src/core/build-overwrite-guard.js +0 -235
- package/dist/src/core/build-prepare.d.ts +0 -83
- package/dist/src/core/build-prepare.js +0 -414
- package/dist/src/core/build-run-record.d.ts +0 -74
- package/dist/src/core/build-run-record.js +0 -136
- package/dist/src/core/checkjs-support-heads.d.ts +0 -41
- package/dist/src/core/checkjs-support-heads.js +0 -104
- package/dist/src/core/component-source-guard.d.ts +0 -20
- package/dist/src/core/component-source-guard.js +0 -68
- package/dist/src/core/config-mutate.d.ts +0 -16
- package/dist/src/core/config-mutate.js +0 -76
- package/dist/src/core/config-paths.d.ts +0 -16
- package/dist/src/core/config-paths.js +0 -106
- package/dist/src/core/config-state.d.ts +0 -16
- package/dist/src/core/config-state.js +0 -141
- package/dist/src/core/config-validate-build-audit.d.ts +0 -8
- package/dist/src/core/config-validate-build-audit.js +0 -80
- package/dist/src/core/config-validate-check.d.ts +0 -8
- package/dist/src/core/config-validate-check.js +0 -219
- package/dist/src/core/config-validate-file-size.d.ts +0 -15
- package/dist/src/core/config-validate-file-size.js +0 -154
- package/dist/src/core/config-validate-history.d.ts +0 -11
- package/dist/src/core/config-validate-history.js +0 -38
- package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
- package/dist/src/core/config-validate-patch-policy.js +0 -274
- package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
- package/dist/src/core/config-validate-test-toolchains.js +0 -133
- package/dist/src/core/config-validate-token-scales.d.ts +0 -9
- package/dist/src/core/config-validate-token-scales.js +0 -92
- package/dist/src/core/config-validate.d.ts +0 -11
- package/dist/src/core/config-validate.js +0 -503
- package/dist/src/core/config.d.ts +0 -92
- package/dist/src/core/config.js +0 -169
- package/dist/src/core/coverage-dispatch.d.ts +0 -24
- package/dist/src/core/coverage-dispatch.js +0 -44
- package/dist/src/core/coverage-extend.d.ts +0 -89
- package/dist/src/core/coverage-extend.js +0 -239
- package/dist/src/core/coverage-records.d.ts +0 -107
- package/dist/src/core/coverage-records.js +0 -383
- package/dist/src/core/destructive.d.ts +0 -144
- package/dist/src/core/destructive.js +0 -182
- package/dist/src/core/diff-hunks.d.ts +0 -73
- package/dist/src/core/diff-hunks.js +0 -286
- package/dist/src/core/discard-baseline.d.ts +0 -60
- package/dist/src/core/discard-baseline.js +0 -247
- package/dist/src/core/display-state.d.ts +0 -50
- package/dist/src/core/display-state.js +0 -87
- package/dist/src/core/engine-changes.d.ts +0 -40
- package/dist/src/core/engine-changes.js +0 -95
- package/dist/src/core/engine-precondition.d.ts +0 -42
- package/dist/src/core/engine-precondition.js +0 -60
- package/dist/src/core/engine-session-lock.d.ts +0 -119
- package/dist/src/core/engine-session-lock.js +0 -374
- package/dist/src/core/engine-write-boundary.d.ts +0 -5
- package/dist/src/core/engine-write-boundary.js +0 -41
- package/dist/src/core/export-moved-code-shape.d.ts +0 -98
- package/dist/src/core/export-moved-code-shape.js +0 -220
- package/dist/src/core/file-lock-owner.d.ts +0 -103
- package/dist/src/core/file-lock-owner.js +0 -259
- package/dist/src/core/file-lock-queue.d.ts +0 -67
- package/dist/src/core/file-lock-queue.js +0 -219
- package/dist/src/core/file-lock-shared.d.ts +0 -57
- package/dist/src/core/file-lock-shared.js +0 -117
- package/dist/src/core/file-lock.d.ts +0 -143
- package/dist/src/core/file-lock.js +0 -531
- package/dist/src/core/firefox-archive.d.ts +0 -45
- package/dist/src/core/firefox-archive.js +0 -96
- package/dist/src/core/firefox-cache.d.ts +0 -30
- package/dist/src/core/firefox-cache.js +0 -248
- package/dist/src/core/firefox-download.d.ts +0 -30
- package/dist/src/core/firefox-download.js +0 -152
- package/dist/src/core/firefox-extract.d.ts +0 -42
- package/dist/src/core/firefox-extract.js +0 -248
- package/dist/src/core/firefox-ignorefile.d.ts +0 -17
- package/dist/src/core/firefox-ignorefile.js +0 -30
- package/dist/src/core/firefox.d.ts +0 -66
- package/dist/src/core/firefox.js +0 -121
- package/dist/src/core/forward-registrations.d.ts +0 -33
- package/dist/src/core/forward-registrations.js +0 -16
- package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
- package/dist/src/core/furnace-apply-dry-run.js +0 -99
- package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
- package/dist/src/core/furnace-apply-ftl.js +0 -210
- package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
- package/dist/src/core/furnace-apply-helpers.js +0 -436
- package/dist/src/core/furnace-apply-output.d.ts +0 -36
- package/dist/src/core/furnace-apply-output.js +0 -111
- package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -62
- package/dist/src/core/furnace-apply-overwrite-warn.js +0 -124
- package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
- package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
- package/dist/src/core/furnace-apply.d.ts +0 -49
- package/dist/src/core/furnace-apply.js +0 -465
- package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
- package/dist/src/core/furnace-checksum-utils.js +0 -54
- package/dist/src/core/furnace-composed-source.d.ts +0 -76
- package/dist/src/core/furnace-composed-source.js +0 -167
- package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
- package/dist/src/core/furnace-config-array-utils.js +0 -26
- package/dist/src/core/furnace-config-custom.d.ts +0 -15
- package/dist/src/core/furnace-config-custom.js +0 -73
- package/dist/src/core/furnace-config-order.d.ts +0 -8
- package/dist/src/core/furnace-config-order.js +0 -90
- package/dist/src/core/furnace-config-tokens.d.ts +0 -17
- package/dist/src/core/furnace-config-tokens.js +0 -42
- package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
- package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
- package/dist/src/core/furnace-config-validate.d.ts +0 -32
- package/dist/src/core/furnace-config-validate.js +0 -146
- package/dist/src/core/furnace-config.d.ts +0 -139
- package/dist/src/core/furnace-config.js +0 -511
- package/dist/src/core/furnace-constants.d.ts +0 -79
- package/dist/src/core/furnace-constants.js +0 -123
- package/dist/src/core/furnace-css-fragments.d.ts +0 -96
- package/dist/src/core/furnace-css-fragments.js +0 -279
- package/dist/src/core/furnace-dir-entry.d.ts +0 -20
- package/dist/src/core/furnace-dir-entry.js +0 -21
- package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
- package/dist/src/core/furnace-fragment-includers.js +0 -122
- package/dist/src/core/furnace-graph-utils.d.ts +0 -11
- package/dist/src/core/furnace-graph-utils.js +0 -93
- package/dist/src/core/furnace-jsconfig.d.ts +0 -61
- package/dist/src/core/furnace-jsconfig.js +0 -208
- package/dist/src/core/furnace-marker.d.ts +0 -15
- package/dist/src/core/furnace-marker.js +0 -21
- package/dist/src/core/furnace-operation.d.ts +0 -195
- package/dist/src/core/furnace-operation.js +0 -444
- package/dist/src/core/furnace-precondition.d.ts +0 -61
- package/dist/src/core/furnace-precondition.js +0 -67
- package/dist/src/core/furnace-refresh.d.ts +0 -28
- package/dist/src/core/furnace-refresh.js +0 -125
- package/dist/src/core/furnace-registration-ast.d.ts +0 -53
- package/dist/src/core/furnace-registration-ast.js +0 -402
- package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
- package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
- package/dist/src/core/furnace-registration-remove.d.ts +0 -56
- package/dist/src/core/furnace-registration-remove.js +0 -260
- package/dist/src/core/furnace-registration-rename.d.ts +0 -26
- package/dist/src/core/furnace-registration-rename.js +0 -77
- package/dist/src/core/furnace-registration-validate.d.ts +0 -53
- package/dist/src/core/furnace-registration-validate.js +0 -110
- package/dist/src/core/furnace-registration.d.ts +0 -112
- package/dist/src/core/furnace-registration.js +0 -348
- package/dist/src/core/furnace-rollback.d.ts +0 -48
- package/dist/src/core/furnace-rollback.js +0 -170
- package/dist/src/core/furnace-scanner.d.ts +0 -47
- package/dist/src/core/furnace-scanner.js +0 -236
- package/dist/src/core/furnace-stale-export.d.ts +0 -60
- package/dist/src/core/furnace-stale-export.js +0 -125
- package/dist/src/core/furnace-staleness.d.ts +0 -24
- package/dist/src/core/furnace-staleness.js +0 -67
- package/dist/src/core/furnace-state-persist.d.ts +0 -68
- package/dist/src/core/furnace-state-persist.js +0 -116
- package/dist/src/core/furnace-step-errors.d.ts +0 -23
- package/dist/src/core/furnace-step-errors.js +0 -25
- package/dist/src/core/furnace-stories.d.ts +0 -37
- package/dist/src/core/furnace-stories.js +0 -186
- package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
- package/dist/src/core/furnace-validate-accessibility.js +0 -417
- package/dist/src/core/furnace-validate-checks.d.ts +0 -4
- package/dist/src/core/furnace-validate-checks.js +0 -6
- package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
- package/dist/src/core/furnace-validate-compatibility.js +0 -295
- package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
- package/dist/src/core/furnace-validate-exceptions.js +0 -98
- package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
- package/dist/src/core/furnace-validate-helpers.js +0 -4
- package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
- package/dist/src/core/furnace-validate-icon-button.js +0 -78
- package/dist/src/core/furnace-validate-registration.d.ts +0 -67
- package/dist/src/core/furnace-validate-registration.js +0 -487
- package/dist/src/core/furnace-validate-structure.d.ts +0 -22
- package/dist/src/core/furnace-validate-structure.js +0 -122
- package/dist/src/core/furnace-validate.d.ts +0 -41
- package/dist/src/core/furnace-validate.js +0 -302
- package/dist/src/core/furnace-version-drift.d.ts +0 -57
- package/dist/src/core/furnace-version-drift.js +0 -102
- package/dist/src/core/gecko-dom-types.d.ts +0 -2
- package/dist/src/core/gecko-dom-types.js +0 -17
- package/dist/src/core/git-base.d.ts +0 -101
- package/dist/src/core/git-base.js +0 -162
- package/dist/src/core/git-diff-new-file.d.ts +0 -40
- package/dist/src/core/git-diff-new-file.js +0 -118
- package/dist/src/core/git-diff.d.ts +0 -82
- package/dist/src/core/git-diff.js +0 -539
- package/dist/src/core/git-file-ops.d.ts +0 -108
- package/dist/src/core/git-file-ops.js +0 -280
- package/dist/src/core/git-readonly-index.d.ts +0 -91
- package/dist/src/core/git-readonly-index.js +0 -177
- package/dist/src/core/git-status.d.ts +0 -84
- package/dist/src/core/git-status.js +0 -208
- package/dist/src/core/git.d.ts +0 -114
- package/dist/src/core/git.js +0 -540
- package/dist/src/core/harness-helper-pids.d.ts +0 -98
- package/dist/src/core/harness-helper-pids.js +0 -240
- package/dist/src/core/harness-orphans.d.ts +0 -118
- package/dist/src/core/harness-orphans.js +0 -268
- package/dist/src/core/harness-port-fallback.d.ts +0 -60
- package/dist/src/core/harness-port-fallback.js +0 -96
- package/dist/src/core/harness-port-reservation.d.ts +0 -60
- package/dist/src/core/harness-port-reservation.js +0 -122
- package/dist/src/core/history-log-file.d.ts +0 -61
- package/dist/src/core/history-log-file.js +0 -164
- package/dist/src/core/history-log.d.ts +0 -20
- package/dist/src/core/history-log.js +0 -30
- package/dist/src/core/json-preserving-edit.d.ts +0 -22
- package/dist/src/core/json-preserving-edit.js +0 -199
- package/dist/src/core/launchable-build.d.ts +0 -39
- package/dist/src/core/launchable-build.js +0 -85
- package/dist/src/core/license-headers.d.ts +0 -103
- package/dist/src/core/license-headers.js +0 -318
- package/dist/src/core/line-prefixer.d.ts +0 -18
- package/dist/src/core/line-prefixer.js +0 -34
- package/dist/src/core/lit-template-regions.d.ts +0 -4
- package/dist/src/core/lit-template-regions.js +0 -50
- package/dist/src/core/mach-build-artifacts.d.ts +0 -176
- package/dist/src/core/mach-build-artifacts.js +0 -436
- package/dist/src/core/mach-error-hints.d.ts +0 -24
- package/dist/src/core/mach-error-hints.js +0 -135
- package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
- package/dist/src/core/mach-known-noise-filter.js +0 -257
- package/dist/src/core/mach-mozconfig.d.ts +0 -57
- package/dist/src/core/mach-mozconfig.js +0 -166
- package/dist/src/core/mach-python.d.ts +0 -19
- package/dist/src/core/mach-python.js +0 -131
- package/dist/src/core/mach-resource-shim.d.ts +0 -107
- package/dist/src/core/mach-resource-shim.js +0 -640
- package/dist/src/core/mach.d.ts +0 -284
- package/dist/src/core/mach.js +0 -445
- package/dist/src/core/marionette-port.d.ts +0 -153
- package/dist/src/core/marionette-port.js +0 -474
- package/dist/src/core/marionette-preflight.d.ts +0 -58
- package/dist/src/core/marionette-preflight.js +0 -332
- package/dist/src/core/markdown-table.d.ts +0 -104
- package/dist/src/core/markdown-table.js +0 -265
- package/dist/src/core/mochitest-server-port.d.ts +0 -81
- package/dist/src/core/mochitest-server-port.js +0 -175
- package/dist/src/core/module-resolution-preflight.d.ts +0 -65
- package/dist/src/core/module-resolution-preflight.js +0 -171
- package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
- package/dist/src/core/moz-manifest-helpers.js +0 -163
- package/dist/src/core/moz-manifest-register.d.ts +0 -19
- package/dist/src/core/moz-manifest-register.js +0 -51
- package/dist/src/core/moz-manifest-rules.d.ts +0 -58
- package/dist/src/core/moz-manifest-rules.js +0 -264
- package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
- package/dist/src/core/moz-manifest-tokenizers.js +0 -108
- package/dist/src/core/negative-control-compiled.d.ts +0 -46
- package/dist/src/core/negative-control-compiled.js +0 -109
- package/dist/src/core/negative-control-diff.d.ts +0 -51
- package/dist/src/core/negative-control-diff.js +0 -204
- package/dist/src/core/negative-control.d.ts +0 -150
- package/dist/src/core/negative-control.js +0 -399
- package/dist/src/core/objdir-install-manifests.d.ts +0 -73
- package/dist/src/core/objdir-install-manifests.js +0 -226
- package/dist/src/core/objdir-maintenance.d.ts +0 -10
- package/dist/src/core/objdir-maintenance.js +0 -167
- package/dist/src/core/ownership-table.d.ts +0 -53
- package/dist/src/core/ownership-table.js +0 -159
- package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
- package/dist/src/core/parent-exit-watchdog.js +0 -69
- package/dist/src/core/park-store.d.ts +0 -63
- package/dist/src/core/park-store.js +0 -216
- package/dist/src/core/parser-fallback.d.ts +0 -50
- package/dist/src/core/parser-fallback.js +0 -61
- package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
- package/dist/src/core/patch-apply-fuzz.js +0 -125
- package/dist/src/core/patch-apply.d.ts +0 -88
- package/dist/src/core/patch-apply.js +0 -435
- package/dist/src/core/patch-export-coverage.d.ts +0 -49
- package/dist/src/core/patch-export-coverage.js +0 -73
- package/dist/src/core/patch-export-metadata.d.ts +0 -46
- package/dist/src/core/patch-export-metadata.js +0 -47
- package/dist/src/core/patch-export-update.d.ts +0 -55
- package/dist/src/core/patch-export-update.js +0 -95
- package/dist/src/core/patch-export.d.ts +0 -175
- package/dist/src/core/patch-export.js +0 -312
- package/dist/src/core/patch-files.d.ts +0 -17
- package/dist/src/core/patch-files.js +0 -59
- package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
- package/dist/src/core/patch-identifier-suggest.js +0 -135
- package/dist/src/core/patch-lint-binary.d.ts +0 -45
- package/dist/src/core/patch-lint-binary.js +0 -39
- package/dist/src/core/patch-lint-cache.d.ts +0 -78
- package/dist/src/core/patch-lint-cache.js +0 -233
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -39
- package/dist/src/core/patch-lint-checkjs-any-import.js +0 -63
- package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
- package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
- package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
- package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
- package/dist/src/core/patch-lint-checkjs.d.ts +0 -180
- package/dist/src/core/patch-lint-checkjs.js +0 -611
- package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
- package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
- package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
- package/dist/src/core/patch-lint-code-lines.js +0 -105
- package/dist/src/core/patch-lint-creators.d.ts +0 -26
- package/dist/src/core/patch-lint-creators.js +0 -45
- package/dist/src/core/patch-lint-cross.d.ts +0 -232
- package/dist/src/core/patch-lint-cross.js +0 -590
- package/dist/src/core/patch-lint-css.d.ts +0 -27
- package/dist/src/core/patch-lint-css.js +0 -228
- package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
- package/dist/src/core/patch-lint-diff-tag.js +0 -105
- package/dist/src/core/patch-lint-diff.d.ts +0 -42
- package/dist/src/core/patch-lint-diff.js +0 -100
- package/dist/src/core/patch-lint-file-size.d.ts +0 -57
- package/dist/src/core/patch-lint-file-size.js +0 -62
- package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
- package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
- package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
- package/dist/src/core/patch-lint-forward-registration.js +0 -266
- package/dist/src/core/patch-lint-ignore.d.ts +0 -196
- package/dist/src/core/patch-lint-ignore.js +0 -429
- package/dist/src/core/patch-lint-imports.d.ts +0 -5
- package/dist/src/core/patch-lint-imports.js +0 -67
- package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
- package/dist/src/core/patch-lint-jsdoc.js +0 -471
- package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
- package/dist/src/core/patch-lint-module-registration.js +0 -97
- package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
- package/dist/src/core/patch-lint-mozbuild.js +0 -192
- package/dist/src/core/patch-lint-observer.d.ts +0 -37
- package/dist/src/core/patch-lint-observer.js +0 -167
- package/dist/src/core/patch-lint-ownership.d.ts +0 -74
- package/dist/src/core/patch-lint-ownership.js +0 -125
- package/dist/src/core/patch-lint-prettier.d.ts +0 -34
- package/dist/src/core/patch-lint-prettier.js +0 -124
- package/dist/src/core/patch-lint-projection.d.ts +0 -25
- package/dist/src/core/patch-lint-projection.js +0 -43
- package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
- package/dist/src/core/patch-lint-queue-types.js +0 -12
- package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
- package/dist/src/core/patch-lint-size-thresholds.js +0 -110
- package/dist/src/core/patch-lint-size.d.ts +0 -117
- package/dist/src/core/patch-lint-size.js +0 -331
- package/dist/src/core/patch-lint-staged-registration.d.ts +0 -78
- package/dist/src/core/patch-lint-staged-registration.js +0 -110
- package/dist/src/core/patch-lint-token-scale.d.ts +0 -57
- package/dist/src/core/patch-lint-token-scale.js +0 -286
- package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
- package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
- package/dist/src/core/patch-lint.d.ts +0 -191
- package/dist/src/core/patch-lint.js +0 -529
- package/dist/src/core/patch-lock.d.ts +0 -40
- package/dist/src/core/patch-lock.js +0 -129
- package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
- package/dist/src/core/patch-manifest-consistency.js +0 -256
- package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
- package/dist/src/core/patch-manifest-files-affected.js +0 -77
- package/dist/src/core/patch-manifest-io.d.ts +0 -199
- package/dist/src/core/patch-manifest-io.js +0 -556
- package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
- package/dist/src/core/patch-manifest-key-order.js +0 -60
- package/dist/src/core/patch-manifest-query.d.ts +0 -55
- package/dist/src/core/patch-manifest-query.js +0 -139
- package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
- package/dist/src/core/patch-manifest-resolve.js +0 -35
- package/dist/src/core/patch-manifest-stage.d.ts +0 -46
- package/dist/src/core/patch-manifest-stage.js +0 -96
- package/dist/src/core/patch-manifest-validate.d.ts +0 -20
- package/dist/src/core/patch-manifest-validate.js +0 -240
- package/dist/src/core/patch-manifest.d.ts +0 -12
- package/dist/src/core/patch-manifest.js +0 -13
- package/dist/src/core/patch-order-legal.d.ts +0 -26
- package/dist/src/core/patch-order-legal.js +0 -88
- package/dist/src/core/patch-parse.d.ts +0 -161
- package/dist/src/core/patch-parse.js +0 -347
- package/dist/src/core/patch-policy-content.d.ts +0 -40
- package/dist/src/core/patch-policy-content.js +0 -216
- package/dist/src/core/patch-policy.d.ts +0 -80
- package/dist/src/core/patch-policy.js +0 -394
- package/dist/src/core/patch-registration-refs.d.ts +0 -41
- package/dist/src/core/patch-registration-refs.js +0 -107
- package/dist/src/core/patch-retired.d.ts +0 -57
- package/dist/src/core/patch-retired.js +0 -92
- package/dist/src/core/patch-source-metadata.d.ts +0 -6
- package/dist/src/core/patch-source-metadata.js +0 -12
- package/dist/src/core/patch-subset.d.ts +0 -18
- package/dist/src/core/patch-subset.js +0 -67
- package/dist/src/core/patch-transform.d.ts +0 -61
- package/dist/src/core/patch-transform.js +0 -198
- package/dist/src/core/preflight-wait.d.ts +0 -22
- package/dist/src/core/preflight-wait.js +0 -62
- package/dist/src/core/process-cpu-time.d.ts +0 -12
- package/dist/src/core/process-cpu-time.js +0 -52
- package/dist/src/core/process-owner.d.ts +0 -9
- package/dist/src/core/process-owner.js +0 -43
- package/dist/src/core/rebase-dry-run.d.ts +0 -48
- package/dist/src/core/rebase-dry-run.js +0 -105
- package/dist/src/core/rebase-from-version.d.ts +0 -46
- package/dist/src/core/rebase-from-version.js +0 -71
- package/dist/src/core/rebase-session.d.ts +0 -100
- package/dist/src/core/rebase-session.js +0 -174
- package/dist/src/core/register-browser-content.d.ts +0 -11
- package/dist/src/core/register-browser-content.js +0 -52
- package/dist/src/core/register-browser-test.d.ts +0 -18
- package/dist/src/core/register-browser-test.js +0 -66
- package/dist/src/core/register-module.d.ts +0 -11
- package/dist/src/core/register-module.js +0 -56
- package/dist/src/core/register-result.d.ts +0 -30
- package/dist/src/core/register-result.js +0 -8
- package/dist/src/core/register-scaffold.d.ts +0 -55
- package/dist/src/core/register-scaffold.js +0 -146
- package/dist/src/core/register-shared-css.d.ts +0 -36
- package/dist/src/core/register-shared-css.js +0 -112
- package/dist/src/core/register-xpcshell-test.d.ts +0 -50
- package/dist/src/core/register-xpcshell-test.js +0 -143
- package/dist/src/core/run-log-redact.d.ts +0 -38
- package/dist/src/core/run-log-redact.js +0 -69
- package/dist/src/core/run-log.d.ts +0 -97
- package/dist/src/core/run-log.js +0 -334
- package/dist/src/core/run-profile.d.ts +0 -57
- package/dist/src/core/run-profile.js +0 -137
- package/dist/src/core/shared-ftl.d.ts +0 -28
- package/dist/src/core/shared-ftl.js +0 -49
- package/dist/src/core/signal-critical.d.ts +0 -38
- package/dist/src/core/signal-critical.js +0 -62
- package/dist/src/core/smoke-patterns.d.ts +0 -81
- package/dist/src/core/smoke-patterns.js +0 -176
- package/dist/src/core/state-file.d.ts +0 -60
- package/dist/src/core/state-file.js +0 -71
- package/dist/src/core/status-binary.d.ts +0 -62
- package/dist/src/core/status-binary.js +0 -133
- package/dist/src/core/status-classify.d.ts +0 -96
- package/dist/src/core/status-classify.js +0 -244
- package/dist/src/core/test-changed-prefs.d.ts +0 -30
- package/dist/src/core/test-changed-prefs.js +0 -93
- package/dist/src/core/test-harness-crash.d.ts +0 -251
- package/dist/src/core/test-harness-crash.js +0 -780
- package/dist/src/core/test-harness-infra.d.ts +0 -32
- package/dist/src/core/test-harness-infra.js +0 -69
- package/dist/src/core/test-harness-output.d.ts +0 -45
- package/dist/src/core/test-harness-output.js +0 -119
- package/dist/src/core/test-harness-signature.d.ts +0 -57
- package/dist/src/core/test-harness-signature.js +0 -35
- package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
- package/dist/src/core/test-harness-verdict-notes.js +0 -48
- package/dist/src/core/test-host-state.d.ts +0 -14
- package/dist/src/core/test-host-state.js +0 -80
- package/dist/src/core/test-path-scope.d.ts +0 -59
- package/dist/src/core/test-path-scope.js +0 -147
- package/dist/src/core/test-profile-files.d.ts +0 -17
- package/dist/src/core/test-profile-files.js +0 -75
- package/dist/src/core/test-raw-log.d.ts +0 -66
- package/dist/src/core/test-raw-log.js +0 -122
- package/dist/src/core/test-run-completeness.d.ts +0 -97
- package/dist/src/core/test-run-completeness.js +0 -191
- package/dist/src/core/test-stale-check.d.ts +0 -213
- package/dist/src/core/test-stale-check.js +0 -396
- package/dist/src/core/test-stale-exempt.d.ts +0 -40
- package/dist/src/core/test-stale-exempt.js +0 -70
- package/dist/src/core/test-stale-symlink.d.ts +0 -12
- package/dist/src/core/test-stale-symlink.js +0 -39
- package/dist/src/core/test-stall-triage.d.ts +0 -51
- package/dist/src/core/test-stall-triage.js +0 -142
- package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
- package/dist/src/core/test-xpcshell-retry.js +0 -31
- package/dist/src/core/token-category.d.ts +0 -54
- package/dist/src/core/token-category.js +0 -299
- package/dist/src/core/token-coverage.d.ts +0 -12
- package/dist/src/core/token-coverage.js +0 -96
- package/dist/src/core/token-dark-mode.d.ts +0 -64
- package/dist/src/core/token-dark-mode.js +0 -186
- package/dist/src/core/token-docs.d.ts +0 -34
- package/dist/src/core/token-docs.js +0 -102
- package/dist/src/core/token-inventory.d.ts +0 -56
- package/dist/src/core/token-inventory.js +0 -114
- package/dist/src/core/token-lint.d.ts +0 -53
- package/dist/src/core/token-lint.js +0 -131
- package/dist/src/core/token-manager.d.ts +0 -87
- package/dist/src/core/token-manager.js +0 -407
- package/dist/src/core/token-scaffold.d.ts +0 -36
- package/dist/src/core/token-scaffold.js +0 -73
- package/dist/src/core/token-sibling-sheets.d.ts +0 -46
- package/dist/src/core/token-sibling-sheets.js +0 -119
- package/dist/src/core/token-variant.d.ts +0 -90
- package/dist/src/core/token-variant.js +0 -327
- package/dist/src/core/toolchain-preflight.d.ts +0 -90
- package/dist/src/core/toolchain-preflight.js +0 -251
- package/dist/src/core/tree-cow.d.ts +0 -16
- package/dist/src/core/tree-cow.js +0 -71
- package/dist/src/core/tree-guard.d.ts +0 -35
- package/dist/src/core/tree-guard.js +0 -194
- package/dist/src/core/tree-store.d.ts +0 -143
- package/dist/src/core/tree-store.js +0 -478
- package/dist/src/core/typecheck-shim.d.ts +0 -90
- package/dist/src/core/typecheck-shim.js +0 -507
- package/dist/src/core/typecheck.d.ts +0 -75
- package/dist/src/core/typecheck.js +0 -433
- package/dist/src/core/wire-destroy.d.ts +0 -25
- package/dist/src/core/wire-destroy.js +0 -126
- package/dist/src/core/wire-dom-fragment.d.ts +0 -44
- package/dist/src/core/wire-dom-fragment.js +0 -139
- package/dist/src/core/wire-init.d.ts +0 -28
- package/dist/src/core/wire-init.js +0 -219
- package/dist/src/core/wire-subscript.d.ts +0 -23
- package/dist/src/core/wire-subscript.js +0 -145
- package/dist/src/core/wire-utils.d.ts +0 -149
- package/dist/src/core/wire-utils.js +0 -338
- package/dist/src/core/xpcshell-appdir.d.ts +0 -157
- package/dist/src/core/xpcshell-appdir.js +0 -299
- package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
- package/dist/src/core/xpcshell-profile-dir.js +0 -45
- package/dist/src/errors/base.d.ts +0 -217
- package/dist/src/errors/base.js +0 -279
- package/dist/src/errors/build.d.ts +0 -92
- package/dist/src/errors/build.js +0 -166
- package/dist/src/errors/codes.d.ts +0 -74
- package/dist/src/errors/codes.js +0 -74
- package/dist/src/errors/config.d.ts +0 -17
- package/dist/src/errors/config.js +0 -39
- package/dist/src/errors/download.d.ts +0 -66
- package/dist/src/errors/download.js +0 -160
- package/dist/src/errors/furnace.d.ts +0 -20
- package/dist/src/errors/furnace.js +0 -28
- package/dist/src/errors/git.d.ts +0 -65
- package/dist/src/errors/git.js +0 -140
- package/dist/src/errors/patch.d.ts +0 -27
- package/dist/src/errors/patch.js +0 -52
- package/dist/src/errors/rebase.d.ts +0 -42
- package/dist/src/errors/rebase.js +0 -71
- package/dist/src/errors/run.d.ts +0 -16
- package/dist/src/errors/run.js +0 -22
- package/dist/src/index.d.ts +0 -42
- package/dist/src/index.js +0 -32
- package/dist/src/types/cli.d.ts +0 -14
- package/dist/src/types/commands/index.d.ts +0 -6
- package/dist/src/types/commands/index.js +0 -5
- package/dist/src/types/commands/options.d.ts +0 -1367
- package/dist/src/types/commands/options.js +0 -5
- package/dist/src/types/commands/patches.d.ts +0 -352
- package/dist/src/types/commands/patches.js +0 -5
- package/dist/src/types/commands/project.d.ts +0 -51
- package/dist/src/types/commands/project.js +0 -5
- package/dist/src/types/config.d.ts +0 -703
- package/dist/src/types/config.js +0 -15
- package/dist/src/types/furnace.d.ts +0 -415
- package/dist/src/types/furnace.js +0 -26
- package/dist/src/types/index.d.ts +0 -5
- package/dist/src/types/index.js +0 -5
- package/dist/src/types/json.d.ts +0 -22
- package/dist/src/types/json.js +0 -11
- package/dist/src/types/typecheck.d.ts +0 -51
- package/dist/src/types/typecheck.js +0 -14
- package/dist/src/utils/assert.d.ts +0 -34
- package/dist/src/utils/assert.js +0 -61
- package/dist/src/utils/build-info.d.ts +0 -30
- package/dist/src/utils/build-info.js +0 -99
- package/dist/src/utils/child-env.d.ts +0 -28
- package/dist/src/utils/child-env.js +0 -27
- package/dist/src/utils/concurrency.d.ts +0 -8
- package/dist/src/utils/concurrency.js +0 -32
- package/dist/src/utils/elapsed.d.ts +0 -2
- package/dist/src/utils/elapsed.js +0 -23
- package/dist/src/utils/errors.d.ts +0 -39
- package/dist/src/utils/errors.js +0 -67
- package/dist/src/utils/fs.d.ts +0 -113
- package/dist/src/utils/fs.js +0 -337
- package/dist/src/utils/hash.d.ts +0 -12
- package/dist/src/utils/hash.js +0 -16
- package/dist/src/utils/line-dispatch.d.ts +0 -15
- package/dist/src/utils/line-dispatch.js +0 -48
- package/dist/src/utils/logger.d.ts +0 -109
- package/dist/src/utils/logger.js +0 -270
- package/dist/src/utils/machine-output.d.ts +0 -12
- package/dist/src/utils/machine-output.js +0 -33
- package/dist/src/utils/options.d.ts +0 -155
- package/dist/src/utils/options.js +0 -312
- package/dist/src/utils/package-root.d.ts +0 -21
- package/dist/src/utils/package-root.js +0 -70
- package/dist/src/utils/parse.d.ts +0 -117
- package/dist/src/utils/parse.js +0 -214
- package/dist/src/utils/path-glob.d.ts +0 -15
- package/dist/src/utils/path-glob.js +0 -47
- package/dist/src/utils/paths.d.ts +0 -31
- package/dist/src/utils/paths.js +0 -80
- package/dist/src/utils/platform.d.ts +0 -9
- package/dist/src/utils/platform.js +0 -14
- package/dist/src/utils/process-group.d.ts +0 -42
- package/dist/src/utils/process-group.js +0 -190
- package/dist/src/utils/process-input.d.ts +0 -27
- package/dist/src/utils/process-input.js +0 -46
- package/dist/src/utils/process.d.ts +0 -293
- package/dist/src/utils/process.js +0 -593
- package/dist/src/utils/ps-duration.d.ts +0 -31
- package/dist/src/utils/ps-duration.js +0 -70
- package/dist/src/utils/regex.d.ts +0 -39
- package/dist/src/utils/regex.js +0 -109
- package/dist/src/utils/sleep.d.ts +0 -25
- package/dist/src/utils/sleep.js +0 -30
- package/dist/src/utils/stdio-drain.d.ts +0 -28
- package/dist/src/utils/stdio-drain.js +0 -54
- package/dist/src/utils/validation.d.ts +0 -182
- package/dist/src/utils/validation.js +0 -394
- package/docs/lifecycle-invariants.md +0 -523
- package/docs/run-logs.md +0 -122
- package/docs/verification-trees.md +0 -49
- /package/dist/src/{types/cli.js → cli/context.js} +0 -0
|
@@ -1,341 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* `fireforge tree`: copy-on-write verification clones.
|
|
4
|
-
*
|
|
5
|
-
* Trees enable concurrent read-mostly verification (lint, typecheck, status,
|
|
6
|
-
* verify, doctor, export dry-runs) beside a busy primary tree. Exports and
|
|
7
|
-
* every other mutation stay strictly serial in the primary, because a tree's
|
|
8
|
-
* patches/components are snapshots with no merge model, and the tree guard
|
|
9
|
-
* (cli.ts preAction + core/tree-guard.ts) refuses mutating commands inside a
|
|
10
|
-
* tree.
|
|
11
|
-
*
|
|
12
|
-
* `create --with-objdir` additionally clones the primary's built obj-*
|
|
13
|
-
* directory, rewrites its mozinfo.json to the tree, and runs `mach configure`
|
|
14
|
-
* inside the tree so the remaining configure output (config.status,
|
|
15
|
-
* backend.mk, Makefile, config/autoconf.mk) stops naming the primary. That is
|
|
16
|
-
* fail-closed by design (mach objdirs embed absolute source paths, and an
|
|
17
|
-
* unrelocated clone would silently operate against the primary), and it is
|
|
18
|
-
* what admits build-less `fireforge test` inside that tree.
|
|
19
|
-
*/
|
|
20
|
-
import { spawn } from 'node:child_process';
|
|
21
|
-
import { mkdir, rm } from 'node:fs/promises';
|
|
22
|
-
import { join } from 'node:path';
|
|
23
|
-
import { Command } from 'commander';
|
|
24
|
-
import { withEngineSessionLock } from '../core/engine-session-lock.js';
|
|
25
|
-
import { hasBuildArtifacts, runMach, withBuildLock } from '../core/mach.js';
|
|
26
|
-
import { assertBuildArtifacts, findObjdirRelocationViolation, } from '../core/mach-build-artifacts.js';
|
|
27
|
-
import { detectCowSupport } from '../core/tree-cow.js';
|
|
28
|
-
import { cloneTree, listTrees, removeTree } from '../core/tree-store.js';
|
|
29
|
-
import { assertValidTreeName, computePrimaryFingerprint, getTreeMarkerPath, getTreesDir, readTreeMarker, withTreeLifecycleLock, } from '../core/tree-store.js';
|
|
30
|
-
import { GeneralError, InvalidArgumentError } from '../errors/base.js';
|
|
31
|
-
import { BuildError } from '../errors/build.js';
|
|
32
|
-
import { toError } from '../utils/errors.js';
|
|
33
|
-
import { pathExists } from '../utils/fs.js';
|
|
34
|
-
import { info, intro, outro, setMachineOutputMode, setStdoutSealed, success, warn, } from '../utils/logger.js';
|
|
35
|
-
import { emitMachineError, MACHINE_OUTPUT_SCHEMA_VERSION } from '../utils/machine-output.js';
|
|
36
|
-
import { addWaitLockOption, resolveWaitLockSeconds } from '../utils/options.js';
|
|
37
|
-
function assertPosix() {
|
|
38
|
-
if (process.platform === 'win32') {
|
|
39
|
-
throw new GeneralError('fireforge tree is POSIX-only; copy-on-write cloning relies on clonefile/reflink, which are not available on Windows.');
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Resolves the primary objdir a `--with-objdir` clone will keep,
|
|
44
|
-
* refusing missing, incomplete, ambiguous, or already-mismatched builds
|
|
45
|
-
* before any copying starts.
|
|
46
|
-
*/
|
|
47
|
-
async function resolveObjdirForClone(projectRoot) {
|
|
48
|
-
const engineDir = join(projectRoot, 'engine');
|
|
49
|
-
const buildCheck = await hasBuildArtifacts(engineDir);
|
|
50
|
-
assertBuildArtifacts(engineDir, buildCheck, {
|
|
51
|
-
label: 'tree create --with-objdir',
|
|
52
|
-
requirement: 'tree create --with-objdir requires a completed primary build.',
|
|
53
|
-
remediation: 'Run "fireforge build" first, or create the tree without --with-objdir.',
|
|
54
|
-
requireExisting: true,
|
|
55
|
-
});
|
|
56
|
-
if (buildCheck.objDir === undefined) {
|
|
57
|
-
throw new GeneralError('tree create --with-objdir could not determine the primary obj-* directory.');
|
|
58
|
-
}
|
|
59
|
-
return buildCheck.objDir;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Runs `mach configure` inside the tree's engine so the configure-generated
|
|
63
|
-
* root files (config.status, backend.mk, Makefile, config/autoconf.mk) are
|
|
64
|
-
* regenerated against the tree's paths. The mozinfo rewrite alone leaves
|
|
65
|
-
* those naming the primary, and a build-less in-tree `test` must never
|
|
66
|
-
* consult primary state. Exit code 0 is not trusted on its own: configure
|
|
67
|
-
* obeys MOZCONFIG / MOZ_OBJDIR, so the postcondition is verified afterwards
|
|
68
|
-
* via `findObjdirRelocationViolation`: the intended objdir was configured,
|
|
69
|
-
* its mozinfo points into the tree, and none of those root files still
|
|
70
|
-
* names the primary engine (nested Makefiles are products of the verified
|
|
71
|
-
* config.status, and `.deps` build products are out of scope, see the
|
|
72
|
-
* checker's doc). A failure throws before `cloneTree` writes the marker,
|
|
73
|
-
* so the tree is removed and `clonedObjdir` is never recorded (fail-closed).
|
|
74
|
-
*/
|
|
75
|
-
async function reconfigureClonedObjdir(treeEngineDir, objDir, primaryEngineDir) {
|
|
76
|
-
info(' Running mach configure in the tree so no build metadata retains primary paths...');
|
|
77
|
-
let exitCode;
|
|
78
|
-
try {
|
|
79
|
-
exitCode = await runMach(['configure'], treeEngineDir);
|
|
80
|
-
}
|
|
81
|
-
catch (error) {
|
|
82
|
-
throw new BuildError('mach configure failed in the cloned tree; the tree was removed. ' +
|
|
83
|
-
'Re-run tree create, or create the tree without --with-objdir.', 'mach configure', error instanceof Error ? error : undefined);
|
|
84
|
-
}
|
|
85
|
-
if (exitCode !== 0) {
|
|
86
|
-
throw new BuildError(`mach configure exited non-zero (${exitCode}) in the cloned tree; the tree was removed. ` +
|
|
87
|
-
'Re-run tree create, or create the tree without --with-objdir.', 'mach configure');
|
|
88
|
-
}
|
|
89
|
-
const violation = await findObjdirRelocationViolation({
|
|
90
|
-
engineDir: treeEngineDir,
|
|
91
|
-
objDir,
|
|
92
|
-
forbiddenDir: primaryEngineDir,
|
|
93
|
-
});
|
|
94
|
-
if (violation !== undefined) {
|
|
95
|
-
throw new BuildError(`mach configure exited 0 in the cloned tree but did not relocate the objdir: ${violation}. ` +
|
|
96
|
-
'The tree was removed. Re-run tree create, or create the tree without --with-objdir.', 'mach configure');
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
/** Creates a verification tree under `.fireforge/trees/<name>`. */
|
|
100
|
-
export async function treeCreateCommand(projectRoot, name, options = {}) {
|
|
101
|
-
assertPosix();
|
|
102
|
-
intro('FireForge Tree Create');
|
|
103
|
-
assertValidTreeName(name);
|
|
104
|
-
// A marker we cannot parse still means "something claims this is a tree", so
|
|
105
|
-
// it must block nesting too. Otherwise a corrupt marker is a licence to
|
|
106
|
-
// clone a snapshot into itself.
|
|
107
|
-
const markerState = await readTreeMarker(projectRoot);
|
|
108
|
-
if (markerState.kind !== 'absent') {
|
|
109
|
-
throw new GeneralError(markerState.kind === 'valid'
|
|
110
|
-
? 'Verification trees cannot be nested: run tree create in the primary tree.'
|
|
111
|
-
: `${getTreeMarkerPath(projectRoot)} claims this directory is a verification tree, but ` +
|
|
112
|
-
`${markerState.reason}. Repair or delete the marker before creating a tree here.`);
|
|
113
|
-
}
|
|
114
|
-
const treesDir = getTreesDir(projectRoot);
|
|
115
|
-
const treeRoot = join(treesDir, name);
|
|
116
|
-
await withTreeLifecycleLock(projectRoot, async () => {
|
|
117
|
-
if (await pathExists(treeRoot)) {
|
|
118
|
-
throw new GeneralError(`A tree named "${name}" already exists. Remove it first (fireforge tree remove ${name}) — refresh is remove + create.`);
|
|
119
|
-
}
|
|
120
|
-
await mkdir(treesDir, { recursive: true });
|
|
121
|
-
const capability = await detectCowSupport(treesDir);
|
|
122
|
-
if (capability === 'none' && options.forceCopy !== true) {
|
|
123
|
-
throw new GeneralError('This filesystem cannot copy-on-write (APFS clonefile or btrfs/XFS reflink required), so a tree ' +
|
|
124
|
-
'would be a full physical copy of the applied engine tree — potentially tens of gigabytes. ' +
|
|
125
|
-
'Re-run with --force-copy to accept that explicitly.');
|
|
126
|
-
}
|
|
127
|
-
if (capability === 'none') {
|
|
128
|
-
warn('No copy-on-write support detected — performing a full physical copy (--force-copy).');
|
|
129
|
-
}
|
|
130
|
-
// Courtesy fast-fail: refuse obvious no-build cases before waiting on
|
|
131
|
-
// locks. The result is discarded: a build can still start before the
|
|
132
|
-
// locks below are held, so only the re-resolution under the build lock
|
|
133
|
-
// is authoritative for what actually gets cloned.
|
|
134
|
-
if (options.withObjdir === true) {
|
|
135
|
-
await resolveObjdirForClone(projectRoot);
|
|
136
|
-
}
|
|
137
|
-
// Snapshot under the primary engine-session lock so a mid-mutation
|
|
138
|
-
// state (half-applied export, furnace deploy) is never captured. An
|
|
139
|
-
// objdir snapshot additionally holds the primary build lock, under
|
|
140
|
-
// which the objdir is re-validated immediately before cloning so a
|
|
141
|
-
// concurrent `fireforge build` can neither tear the obj-* mid-write
|
|
142
|
-
// nor swap it after preflight. A failed clone (including the
|
|
143
|
-
// fail-closed mozinfo-rewrite refusal and a failed in-tree
|
|
144
|
-
// reconfigure) removes the partial tree so the name is immediately
|
|
145
|
-
// reusable.
|
|
146
|
-
const marker = await withEngineSessionLock(projectRoot, 'tree create', async () => {
|
|
147
|
-
const clone = (objDir) => cloneTree({
|
|
148
|
-
primaryRoot: projectRoot,
|
|
149
|
-
treeRoot,
|
|
150
|
-
name,
|
|
151
|
-
capability,
|
|
152
|
-
createdAt: new Date().toISOString(),
|
|
153
|
-
...(objDir === undefined
|
|
154
|
-
? {}
|
|
155
|
-
: {
|
|
156
|
-
withObjdir: {
|
|
157
|
-
objDir,
|
|
158
|
-
reconfigure: (treeEngineDir) => reconfigureClonedObjdir(treeEngineDir, objDir, join(projectRoot, 'engine')),
|
|
159
|
-
},
|
|
160
|
-
}),
|
|
161
|
-
});
|
|
162
|
-
try {
|
|
163
|
-
return options.withObjdir === true
|
|
164
|
-
? await withBuildLock(projectRoot, async () => clone(await resolveObjdirForClone(projectRoot)))
|
|
165
|
-
: await clone();
|
|
166
|
-
}
|
|
167
|
-
catch (error) {
|
|
168
|
-
await rm(treeRoot, { recursive: true, force: true });
|
|
169
|
-
throw error;
|
|
170
|
-
}
|
|
171
|
-
}, { waitLockSeconds: options.waitLockSeconds });
|
|
172
|
-
success(`Created verification tree "${name}" at ${treeRoot}`);
|
|
173
|
-
info(` Engine HEAD: ${marker.engineHead ?? '(no engine)'}`);
|
|
174
|
-
info(' Read-only: status, lint, typecheck, verify, doctor, and export/re-export --dry-run run inside it; mutation commands are refused.');
|
|
175
|
-
if (marker.clonedObjdir !== undefined) {
|
|
176
|
-
info(` Build cloned: ${marker.clonedObjdir} was kept and rewritten to this tree — build-less "fireforge test" runs inside it.`);
|
|
177
|
-
info(' Browser tests share Marionette port 2828 with the primary; pass --marionette-port for concurrent runs.');
|
|
178
|
-
}
|
|
179
|
-
});
|
|
180
|
-
outro('Tree created');
|
|
181
|
-
}
|
|
182
|
-
/** Prints the tree list with staleness against the current primary state. */
|
|
183
|
-
export async function treeListCommand(projectRoot, options = {}) {
|
|
184
|
-
if (options.json === true) {
|
|
185
|
-
// stdout belongs exclusively to the JSON payload: engage machine mode so
|
|
186
|
-
// any diagnostic, including a listTrees failure rendered later by
|
|
187
|
-
// withErrorHandling (which also resets the mode), routes to stderr.
|
|
188
|
-
setMachineOutputMode(true);
|
|
189
|
-
try {
|
|
190
|
-
const trees = await listTrees(projectRoot);
|
|
191
|
-
process.stdout.write(`${JSON.stringify({ schemaVersion: MACHINE_OUTPUT_SCHEMA_VERSION, trees }, null, 2)}\n`);
|
|
192
|
-
// Payload written: stdout is now spoken for. See docs/machine-output.md.
|
|
193
|
-
setStdoutSealed(true);
|
|
194
|
-
}
|
|
195
|
-
catch (error) {
|
|
196
|
-
// Same failure envelope `status --json` emits. Without it a scripted
|
|
197
|
-
// consumer got a parseable refusal from one command and a bare
|
|
198
|
-
// non-zero exit from the other. See docs/machine-output.md.
|
|
199
|
-
emitMachineError('tree-list-failed', toError(error).message);
|
|
200
|
-
}
|
|
201
|
-
finally {
|
|
202
|
-
setMachineOutputMode(false);
|
|
203
|
-
}
|
|
204
|
-
return;
|
|
205
|
-
}
|
|
206
|
-
const trees = await listTrees(projectRoot);
|
|
207
|
-
intro('FireForge Trees');
|
|
208
|
-
if (trees.length === 0) {
|
|
209
|
-
info('No verification trees. Create one with: fireforge tree create <name>');
|
|
210
|
-
outro('Done');
|
|
211
|
-
return;
|
|
212
|
-
}
|
|
213
|
-
for (const tree of trees) {
|
|
214
|
-
info(`${tree.name.padEnd(20)} ${tree.staleness.padEnd(24)} created ${tree.createdAt}`);
|
|
215
|
-
}
|
|
216
|
-
outro(`${trees.length} tree(s)`);
|
|
217
|
-
}
|
|
218
|
-
/** Removes one tree (or all of them with `--all`). */
|
|
219
|
-
export async function treeRemoveCommand(projectRoot, name, options = {}) {
|
|
220
|
-
assertPosix();
|
|
221
|
-
intro('FireForge Tree Remove');
|
|
222
|
-
if (options.all !== true && name === undefined) {
|
|
223
|
-
throw new InvalidArgumentError('Pass a tree name, or --all to remove every tree.', '--all');
|
|
224
|
-
}
|
|
225
|
-
await withTreeLifecycleLock(projectRoot, async () => {
|
|
226
|
-
const targets = options.all === true ? (await listTrees(projectRoot)).map((t) => t.name) : [name ?? ''];
|
|
227
|
-
if (targets.length === 0) {
|
|
228
|
-
info('No verification trees to remove.');
|
|
229
|
-
return;
|
|
230
|
-
}
|
|
231
|
-
for (const target of targets) {
|
|
232
|
-
await removeTree(projectRoot, target, { force: options.force === true });
|
|
233
|
-
success(`Removed verification tree "${target}"`);
|
|
234
|
-
}
|
|
235
|
-
});
|
|
236
|
-
outro('Tree removal complete');
|
|
237
|
-
}
|
|
238
|
-
/** Spawns `fireforge <args>` with the tree as its working directory. */
|
|
239
|
-
async function treeExecCommand(projectRoot, name, args) {
|
|
240
|
-
assertPosix();
|
|
241
|
-
assertValidTreeName(name);
|
|
242
|
-
const treeRoot = join(getTreesDir(projectRoot), name);
|
|
243
|
-
const state = await readTreeMarker(treeRoot);
|
|
244
|
-
if (state.kind === 'corrupt') {
|
|
245
|
-
// Collapsing corrupt into "no such tree" misdiagnoses: the directory IS
|
|
246
|
-
// there, claiming to be a tree, and "no tree named X" points the operator
|
|
247
|
-
// at the wrong remediation.
|
|
248
|
-
throw new GeneralError(`Tree "${name}" exists but its marker could not be read: ${state.reason}. ` +
|
|
249
|
-
'Recreate it (fireforge tree remove <name> && fireforge tree create <name>).');
|
|
250
|
-
}
|
|
251
|
-
if (state.kind === 'absent') {
|
|
252
|
-
throw new GeneralError(`No verification tree named "${name}". List trees with: fireforge tree list`);
|
|
253
|
-
}
|
|
254
|
-
if (state.kind === 'unsupported') {
|
|
255
|
-
throw new GeneralError(`Cannot inspect tree "${name}": ${state.reason}`);
|
|
256
|
-
}
|
|
257
|
-
const marker = state.marker;
|
|
258
|
-
const current = await computePrimaryFingerprint(projectRoot);
|
|
259
|
-
if (marker.engineHead !== current.engineHead) {
|
|
260
|
-
warn(`Tree "${name}" is stale (primary engine advanced since the snapshot).`);
|
|
261
|
-
}
|
|
262
|
-
else if (marker.engineFingerprint !== undefined &&
|
|
263
|
-
marker.engineFingerprint !== current.engineFingerprint) {
|
|
264
|
-
warn(`Tree "${name}" is stale (primary engine worktree changed since the snapshot).`);
|
|
265
|
-
}
|
|
266
|
-
else if (marker.patchesFingerprint !== current.patchesFingerprint) {
|
|
267
|
-
warn(`Tree "${name}" is stale (primary patches changed since the snapshot).`);
|
|
268
|
-
}
|
|
269
|
-
const cliEntry = process.argv[1];
|
|
270
|
-
if (cliEntry === undefined) {
|
|
271
|
-
throw new GeneralError('Cannot resolve the fireforge CLI entry point for tree exec.');
|
|
272
|
-
}
|
|
273
|
-
const exitCode = await new Promise((resolvePromise, rejectPromise) => {
|
|
274
|
-
const child = spawn(process.execPath, [cliEntry, ...args], {
|
|
275
|
-
cwd: treeRoot,
|
|
276
|
-
stdio: 'inherit',
|
|
277
|
-
});
|
|
278
|
-
child.on('error', rejectPromise);
|
|
279
|
-
child.on('exit', (code) => {
|
|
280
|
-
resolvePromise(code ?? 1);
|
|
281
|
-
});
|
|
282
|
-
}).finally(() => {
|
|
283
|
-
// With `stdio: 'inherit'` the child owned stdout, including any
|
|
284
|
-
// FIREFORGE-VERDICT line it emitted as its last stdout write. From here
|
|
285
|
-
// on the parent must not write stdout again, or its own refusal text
|
|
286
|
-
// (the GeneralError below, rendered by withErrorHandling) prints after
|
|
287
|
-
// the child's verdict and breaks the "verdict is the run's last stdout
|
|
288
|
-
// line" contract at the tree-exec boundary. Sealing routes the parent's
|
|
289
|
-
// remaining output to stderr. withErrorHandling's finally clears it.
|
|
290
|
-
setStdoutSealed(true);
|
|
291
|
-
});
|
|
292
|
-
if (exitCode !== 0) {
|
|
293
|
-
throw new GeneralError(`tree exec: fireforge ${args.join(' ')} exited with code ${exitCode}.`);
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
/** Registers the tree command group on the CLI program. */
|
|
297
|
-
export function registerTree(program, context) {
|
|
298
|
-
const { getProjectRoot, withErrorHandling } = context;
|
|
299
|
-
const tree = program
|
|
300
|
-
.command('tree')
|
|
301
|
-
.description('Manage copy-on-write verification clones of this project for concurrent read-mostly work (lint, typecheck, status, verify, export/re-export --dry-run; build-less test with create --with-objdir). Mutation commands are refused inside a tree.')
|
|
302
|
-
// No-subcommand contract shared with `patch`/`token`/`furnace`: help on
|
|
303
|
-
// stdout, exit 0 (see `handleParseError` for the groups without an action).
|
|
304
|
-
.action(() => {
|
|
305
|
-
tree.outputHelp();
|
|
306
|
-
});
|
|
307
|
-
addWaitLockOption(tree
|
|
308
|
-
.command('create <name>')
|
|
309
|
-
.description('Clone the project (engine included, obj-* excluded) into .fireforge/trees/<name> using filesystem copy-on-write (APFS clonefile / btrfs-XFS reflink). Refuses on filesystems without CoW support unless --force-copy explicitly accepts a full physical copy.')
|
|
310
|
-
.option('--force-copy', 'Allow a full physical copy when the filesystem cannot copy-on-write. This can copy tens of GB; never implied.')
|
|
311
|
-
.option('--with-objdir', 'Also clone the primary obj-* build and rewrite its mozinfo.json to the tree (fail-closed), enabling build-less "fireforge test" inside the tree. Requires a completed, unambiguous primary build.')).action(withErrorHandling(async (name, options) => {
|
|
312
|
-
// The flag is a CLI-layer concern: the command takes the resolved
|
|
313
|
-
// wait budget, matching how furnace routes its subcommand locks.
|
|
314
|
-
const { waitLock, ...rest } = options;
|
|
315
|
-
await treeCreateCommand(getProjectRoot(), name, {
|
|
316
|
-
...rest,
|
|
317
|
-
waitLockSeconds: resolveWaitLockSeconds(waitLock),
|
|
318
|
-
});
|
|
319
|
-
}));
|
|
320
|
-
tree
|
|
321
|
-
.command('list')
|
|
322
|
-
.description('List verification trees with creation time and staleness vs the primary tree (engine HEAD and patches.json fingerprint).')
|
|
323
|
-
.option('--json', 'Output the tree list as JSON')
|
|
324
|
-
.action(withErrorHandling(async (options) => {
|
|
325
|
-
await treeListCommand(getProjectRoot(), options);
|
|
326
|
-
}));
|
|
327
|
-
tree
|
|
328
|
-
.command('remove [name]')
|
|
329
|
-
.description("Delete a verification tree. Refuses while a live process holds the tree's build or engine-session lock, and when a lock exists whose owning process cannot be identified.")
|
|
330
|
-
.option('--all', 'Remove every verification tree')
|
|
331
|
-
.option('--force', "Delete even when a lock directory's owner cannot be identified. Only safe once you have confirmed no build or test is running against the tree.")
|
|
332
|
-
.action(withErrorHandling(async (name, options) => {
|
|
333
|
-
await treeRemoveCommand(getProjectRoot(), name, options);
|
|
334
|
-
}));
|
|
335
|
-
tree
|
|
336
|
-
.command('exec <name> [args...]')
|
|
337
|
-
.description('Run a fireforge command inside the named tree (equivalent to cd-ing into it). Example: fireforge tree exec shard-a -- lint --per-patch')
|
|
338
|
-
.action(withErrorHandling(async (name, args) => {
|
|
339
|
-
await treeExecCommand(getProjectRoot(), name, args);
|
|
340
|
-
}));
|
|
341
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `fireforge typecheck`: whole-project TypeScript type checking driven by
|
|
3
|
-
* user-supplied jsconfig.json paths.
|
|
4
|
-
*
|
|
5
|
-
* Distinct from `patchLint.checkJs`: that pass is patch-hygiene (scoped to
|
|
6
|
-
* patch-owned `.sys.mjs`, run automatically by `fireforge lint`). This
|
|
7
|
-
* command is CI-grade: it runs whole projects with the user's own compiler
|
|
8
|
-
* options. The two share their Firefox-globals shim and the same
|
|
9
|
-
* suppressed-diagnostic set so a file that lints clean cannot fail typecheck
|
|
10
|
-
* for a reason the operator could not have inferred from the docs.
|
|
11
|
-
*
|
|
12
|
-
* Exits non-zero on any error-severity diagnostic. Warnings print but do not
|
|
13
|
-
* fail.
|
|
14
|
-
*/
|
|
15
|
-
import { Command } from 'commander';
|
|
16
|
-
import type { CommandContext } from '../types/cli.js';
|
|
17
|
-
import type { PatchLintIssue } from '../types/commands/index.js';
|
|
18
|
-
import type { TypecheckConfig } from '../types/config.js';
|
|
19
|
-
import type { TypecheckProjectResult } from '../types/typecheck.js';
|
|
20
|
-
/** Command-line options Commander forwards from `fireforge typecheck`. */
|
|
21
|
-
export interface TypecheckCommandOptions {
|
|
22
|
-
/**
|
|
23
|
-
* Override `typecheck.projects` with a single jsconfig.json path
|
|
24
|
-
* for one-off verification. Replaces (does not augment) the config,
|
|
25
|
-
* which is useful to re-run a single project after fixing one of its
|
|
26
|
-
* issues without waiting for the full set.
|
|
27
|
-
*/
|
|
28
|
-
project?: string;
|
|
29
|
-
/**
|
|
30
|
-
* Build every project from scratch and write no incremental build info
|
|
31
|
-
* (`--no-cache`).
|
|
32
|
-
*/
|
|
33
|
-
noCache?: boolean;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Resolves the project list to type-check. `--project` wins over
|
|
37
|
-
* config. If neither is set, throws a clear error pointing at both
|
|
38
|
-
* paths to a fix (add the config field or pass --project).
|
|
39
|
-
*/
|
|
40
|
-
export declare function resolveTypecheckProjects(configTypecheck: TypecheckConfig | undefined, override: string | undefined): TypecheckConfig;
|
|
41
|
-
/**
|
|
42
|
-
* Top-level entry point invoked by the registered Commander action.
|
|
43
|
-
* Loads config, resolves projects, runs typecheck, prints the result,
|
|
44
|
-
* and throws `GeneralError` to set a non-zero exit on errors.
|
|
45
|
-
*/
|
|
46
|
-
export declare function typecheckCommand(projectRoot: string, options: TypecheckCommandOptions): Promise<void>;
|
|
47
|
-
/**
|
|
48
|
-
* Prints all issues, computes the per-project + total counts, and
|
|
49
|
-
* throws on errors. Extracted so it can be exercised directly by
|
|
50
|
-
* the CLI test without spawning a child process.
|
|
51
|
-
*/
|
|
52
|
-
export declare function reportResults(projectRoot: string, results: ReadonlyArray<TypecheckProjectResult>, patchLintIssues?: ReadonlyArray<PatchLintIssue>): void;
|
|
53
|
-
/**
|
|
54
|
-
* Registers the `typecheck` command on the CLI program.
|
|
55
|
-
*/
|
|
56
|
-
export declare function registerTypecheck(program: Command, { getProjectRoot, withErrorHandling }: CommandContext): void;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { PatchLintIssue, PatchMetadata } from '../types/commands/index.js';
|
|
2
|
-
/** The resolved scope: manifest filenames, and every path they claim. */
|
|
3
|
-
export interface VerifyScope {
|
|
4
|
-
patches: ReadonlySet<string>;
|
|
5
|
-
files: ReadonlySet<string>;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Resolves raw `--patches` values against the manifest. Returns undefined
|
|
9
|
-
* when the flag was not given and refuses a name that matches no patch.
|
|
10
|
-
*
|
|
11
|
-
* @param patchesDir - Absolute path to the patches directory
|
|
12
|
-
* @param requested - Raw `--patches` values (each may be a comma list)
|
|
13
|
-
*/
|
|
14
|
-
export declare function resolveVerifyScope(patchesDir: string, requested: readonly string[] | undefined): Promise<VerifyScope | undefined>;
|
|
15
|
-
/**
|
|
16
|
-
* True when a filename-keyed finding (manifest consistency, policy) is in
|
|
17
|
-
* scope: it names a scoped patch, or it names no patch at all.
|
|
18
|
-
*/
|
|
19
|
-
export declare function isFilenameInScope(scope: VerifyScope | undefined, filename: string): boolean;
|
|
20
|
-
/** True when any of the implicated patches is in scope. */
|
|
21
|
-
export declare function anyPatchInScope(scope: VerifyScope | undefined, filenames: readonly string[]): boolean;
|
|
22
|
-
/**
|
|
23
|
-
* Keeps the lint issues that implicate a scoped patch. An issue without a
|
|
24
|
-
* `patches` list is attributed through its file instead.
|
|
25
|
-
*/
|
|
26
|
-
export declare function scopeLintIssues(issues: PatchLintIssue[], scope: VerifyScope | undefined): PatchLintIssue[];
|
|
27
|
-
/** Keeps the manifest rows in scope. No scope keeps all. */
|
|
28
|
-
export declare function scopePatches<T extends Pick<PatchMetadata, 'filename'>>(patches: readonly T[], scope: VerifyScope | undefined): T[];
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* `verify --patches <list>`: judges only the named patches' findings. Split
|
|
4
|
-
* out of verify.ts so the per-group attribution rules sit in one place.
|
|
5
|
-
*
|
|
6
|
-
* A finding is in scope when it names a scoped patch: a manifest or policy
|
|
7
|
-
* issue by its filename, a cross-patch claim or lint issue by any patch it
|
|
8
|
-
* implicates, a drifted file by its owning patch, a dangling registration
|
|
9
|
-
* by the patch that registers it. Findings about the queue as a whole (a
|
|
10
|
-
* manifest that does not parse) are kept, because no patch can be judged
|
|
11
|
-
* past them. Unowned worktree changes belong to no patch and drop out.
|
|
12
|
-
*/
|
|
13
|
-
import { loadPatchesManifest } from '../core/patch-manifest.js';
|
|
14
|
-
import { selectPatchSubset } from '../core/patch-subset.js';
|
|
15
|
-
import { GeneralError } from '../errors/base.js';
|
|
16
|
-
/**
|
|
17
|
-
* Resolves raw `--patches` values against the manifest. Returns undefined
|
|
18
|
-
* when the flag was not given and refuses a name that matches no patch.
|
|
19
|
-
*
|
|
20
|
-
* @param patchesDir - Absolute path to the patches directory
|
|
21
|
-
* @param requested - Raw `--patches` values (each may be a comma list)
|
|
22
|
-
*/
|
|
23
|
-
export async function resolveVerifyScope(patchesDir, requested) {
|
|
24
|
-
if (requested === undefined || requested.length === 0)
|
|
25
|
-
return undefined;
|
|
26
|
-
const manifest = await loadPatchesManifest(patchesDir);
|
|
27
|
-
if (!manifest || manifest.patches.length === 0) {
|
|
28
|
-
throw new GeneralError('--patches needs a patch queue, but patches.json lists no patches.');
|
|
29
|
-
}
|
|
30
|
-
const subset = selectPatchSubset(manifest, requested, '--patches selects patches (filename, stem, order number, manifest name, or slug).');
|
|
31
|
-
return {
|
|
32
|
-
patches: new Set(subset.map((patch) => patch.filename)),
|
|
33
|
-
files: new Set(subset.flatMap((patch) => patch.filesAffected)),
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* True when a filename-keyed finding (manifest consistency, policy) is in
|
|
38
|
-
* scope: it names a scoped patch, or it names no patch at all.
|
|
39
|
-
*/
|
|
40
|
-
export function isFilenameInScope(scope, filename) {
|
|
41
|
-
if (scope === undefined)
|
|
42
|
-
return true;
|
|
43
|
-
return scope.patches.has(filename) || !filename.endsWith('.patch');
|
|
44
|
-
}
|
|
45
|
-
/** True when any of the implicated patches is in scope. */
|
|
46
|
-
export function anyPatchInScope(scope, filenames) {
|
|
47
|
-
if (scope === undefined)
|
|
48
|
-
return true;
|
|
49
|
-
return filenames.some((filename) => scope.patches.has(filename));
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Keeps the lint issues that implicate a scoped patch. An issue without a
|
|
53
|
-
* `patches` list is attributed through its file instead.
|
|
54
|
-
*/
|
|
55
|
-
export function scopeLintIssues(issues, scope) {
|
|
56
|
-
if (scope === undefined)
|
|
57
|
-
return issues;
|
|
58
|
-
return issues.filter((issue) => issue.patches !== undefined && issue.patches.length > 0
|
|
59
|
-
? anyPatchInScope(scope, issue.patches)
|
|
60
|
-
: scope.files.has(issue.file));
|
|
61
|
-
}
|
|
62
|
-
/** Keeps the manifest rows in scope. No scope keeps all. */
|
|
63
|
-
export function scopePatches(patches, scope) {
|
|
64
|
-
if (scope === undefined)
|
|
65
|
-
return [...patches];
|
|
66
|
-
return patches.filter((patch) => scope.patches.has(patch.filename));
|
|
67
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `fireforge verify`: read-only fsck for the patch queue.
|
|
3
|
-
*
|
|
4
|
-
* Combines the manifest consistency check (orphan files, missing entries,
|
|
5
|
-
* files-affected mismatch, duplicate entries) with the cross-patch lint
|
|
6
|
-
* rules (duplicate /dev/null creation, forward imports). Does not run
|
|
7
|
-
* `planExport` per patch. That is out of scope because it
|
|
8
|
-
* would couple verify to engine state and make the command too slow to be
|
|
9
|
-
* useful as a pre-flight gate. Engine-level patch application issues are
|
|
10
|
-
* still covered by the existing `fireforge doctor` and `fireforge import`
|
|
11
|
-
* paths.
|
|
12
|
-
*
|
|
13
|
-
* Exits non-zero when any error-severity finding is reported so CI can
|
|
14
|
-
* treat the output as pass/fail.
|
|
15
|
-
*/
|
|
16
|
-
import { Command } from 'commander';
|
|
17
|
-
import type { CommandContext } from '../types/cli.js';
|
|
18
|
-
import { type VerifyScope } from './verify-scope.js';
|
|
19
|
-
interface VerifyIssueGroup {
|
|
20
|
-
title: string;
|
|
21
|
-
issues: string[];
|
|
22
|
-
errorCount: number;
|
|
23
|
-
warningCount: number;
|
|
24
|
-
}
|
|
25
|
-
export interface PatchQueueHealth {
|
|
26
|
-
hasPatchesDirectory: boolean;
|
|
27
|
-
groups: VerifyIssueGroup[];
|
|
28
|
-
errorCount: number;
|
|
29
|
-
warningCount: number;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Collects the same queue-health findings reported by `fireforge verify`
|
|
33
|
-
* without printing. Used by doctor recovery paths that need a read-only
|
|
34
|
-
* "is this queue healthy?" decision before clearing stale state.
|
|
35
|
-
*
|
|
36
|
-
* @param projectRoot - Project root directory
|
|
37
|
-
* @param scope - `verify --patches`: keep only the findings that name these
|
|
38
|
-
* patches (see verify-scope.ts). Omitted, every finding counts.
|
|
39
|
-
*/
|
|
40
|
-
export declare function collectPatchQueueHealth(projectRoot: string, scope?: VerifyScope): Promise<PatchQueueHealth>;
|
|
41
|
-
/**
|
|
42
|
-
* Runs the `verify` command: manifest consistency + cross-patch lint.
|
|
43
|
-
* Read-only. Exits non-zero on any error-severity finding.
|
|
44
|
-
*
|
|
45
|
-
* @param projectRoot - Project root directory
|
|
46
|
-
* @param options - `patches`: the raw `--patches` values
|
|
47
|
-
*/
|
|
48
|
-
export declare function verifyCommand(projectRoot: string, options?: {
|
|
49
|
-
patches?: string[];
|
|
50
|
-
}): Promise<void>;
|
|
51
|
-
/**
|
|
52
|
-
* Registers the `verify` command on the CLI program.
|
|
53
|
-
*
|
|
54
|
-
* @param program - Commander root program
|
|
55
|
-
* @param context - Shared CLI registration context
|
|
56
|
-
*/
|
|
57
|
-
export declare function registerVerify(program: Command, { getProjectRoot, withErrorHandling }: CommandContext): void;
|
|
58
|
-
export {};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import type { CommandContext } from '../types/cli.js';
|
|
3
|
-
/**
|
|
4
|
-
* Runs the watch command for auto-rebuilding.
|
|
5
|
-
* @param projectRoot - Root directory of the project
|
|
6
|
-
*/
|
|
7
|
-
export declare function watchCommand(projectRoot: string): Promise<void>;
|
|
8
|
-
/** Registers the watch command on the CLI program. */
|
|
9
|
-
export declare function registerWatch(program: Command, { getProjectRoot, withErrorHandling }: CommandContext): void;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import type { CommandContext } from '../types/cli.js';
|
|
3
|
-
import type { WireOptions } from '../types/commands/index.js';
|
|
4
|
-
/**
|
|
5
|
-
* Wires a chrome subscript into the browser.
|
|
6
|
-
*
|
|
7
|
-
* @param projectRoot - Root directory of the project
|
|
8
|
-
* @param name - Subscript name (without .js extension)
|
|
9
|
-
* @param options - Command options
|
|
10
|
-
*/
|
|
11
|
-
export declare function wireCommand(projectRoot: string, name: string, options?: WireOptions): Promise<void>;
|
|
12
|
-
/** Registers the wire command on the CLI program. */
|
|
13
|
-
export declare function registerWire(program: Command, { getProjectRoot, withErrorHandling }: CommandContext): void;
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import * as acorn from 'acorn';
|
|
2
|
-
import type * as estree from 'estree';
|
|
3
|
-
import { walk } from 'estree-walker';
|
|
4
|
-
/**
|
|
5
|
-
* An ESTree node augmented with acorn's character-offset positions.
|
|
6
|
-
* At runtime `acorn.parse` produces objects that carry both the ESTree
|
|
7
|
-
* shape and `start`/`end` indices, but the type system doesn't know that.
|
|
8
|
-
* This intersection type bridges the gap so we can safely use both APIs.
|
|
9
|
-
*/
|
|
10
|
-
export type AcornESTreeNode<T extends estree.Node = estree.Node> = T & {
|
|
11
|
-
start: number;
|
|
12
|
-
end: number;
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* Parse JavaScript source as a script, not an ES module.
|
|
16
|
-
* All Mozilla chrome JS files (`browser-main.js`, `browser-init.js`,
|
|
17
|
-
* `customElements.js`, etc.) are scripts that run in a privileged scope.
|
|
18
|
-
*
|
|
19
|
-
* @param content - Source text to parse
|
|
20
|
-
* @param onComment - Optional array that acorn fills with comment nodes
|
|
21
|
-
* @returns Parsed program AST with character-offset positions
|
|
22
|
-
*/
|
|
23
|
-
export declare function parseScript(content: string, onComment?: acorn.Comment[]): AcornESTreeNode<estree.Program>;
|
|
24
|
-
/**
|
|
25
|
-
* Parse JavaScript source as an ES module.
|
|
26
|
-
* Used for `.sys.mjs` files which use static import/export syntax.
|
|
27
|
-
*
|
|
28
|
-
* @param content - Source text to parse
|
|
29
|
-
* @param onComment - Optional array that acorn fills with comment nodes
|
|
30
|
-
* @returns Parsed program AST with character-offset positions
|
|
31
|
-
*/
|
|
32
|
-
export declare function parseModule(content: string, onComment?: acorn.Comment[]): AcornESTreeNode<estree.Program>;
|
|
33
|
-
/**
|
|
34
|
-
* Convenience cast from `acorn.Node` (or the generic ESTree union returned
|
|
35
|
-
* by estree-walker callbacks) to a positioned, narrowly-typed node.
|
|
36
|
-
*
|
|
37
|
-
* Caller obligation: you must already have discriminated on `node.type`.
|
|
38
|
-
* This performs no runtime check. It exists to attach acorn's `start`/`end`
|
|
39
|
-
* offsets to a node the caller has already narrowed, typically inside an
|
|
40
|
-
* `if (node.type === 'CallExpression')` branch or an equivalent walker
|
|
41
|
-
* guard. Calling it on an undiscriminated node produces a value whose type
|
|
42
|
-
* is wrong.
|
|
43
|
-
*
|
|
44
|
-
* No runtime `type` assertion: every call site sits in the hot loop of a lint
|
|
45
|
-
* or registration walker and is already post-narrowing, so the check would
|
|
46
|
-
* cost traversal time on every node to re-prove what the enclosing branch
|
|
47
|
-
* established.
|
|
48
|
-
*/
|
|
49
|
-
export declare function asEstree<T extends estree.Node>(node: estree.Node): AcornESTreeNode<T>;
|
|
50
|
-
/**
|
|
51
|
-
* Type-safe wrapper around estree-walker's `walk()` that bridges the
|
|
52
|
-
* acorn→estree type gap. Centralises the single `as unknown as` cast so
|
|
53
|
-
* callers don't need it.
|
|
54
|
-
*/
|
|
55
|
-
export declare function walkAST(ast: AcornESTreeNode<estree.Program>, visitors: Parameters<typeof walk>[1]): ReturnType<typeof walk>;
|
|
56
|
-
/**
|
|
57
|
-
* Read backward from `position` to the preceding newline (or start of
|
|
58
|
-
* string) and return the leading whitespace. This is the "visual indent"
|
|
59
|
-
* of whatever token begins at `position`.
|
|
60
|
-
*
|
|
61
|
-
* ```
|
|
62
|
-
* " try {\n foo();\n }"
|
|
63
|
-
* ^ detectIndent(…, 26) → " "
|
|
64
|
-
* ```
|
|
65
|
-
*/
|
|
66
|
-
export declare function detectIndent(content: string, position: number): string;
|
|
67
|
-
/**
|
|
68
|
-
* Extract the raw source text for a node's range.
|
|
69
|
-
*/
|
|
70
|
-
export declare function getNodeSource(content: string, node: {
|
|
71
|
-
start: number;
|
|
72
|
-
end: number;
|
|
73
|
-
}): string;
|