@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
package/dist/src/core/run-log.js
DELETED
|
@@ -1,334 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Per-run output logs under `.fireforge/logs/`.
|
|
4
|
-
*
|
|
5
|
-
* Without a log, a run's diagnosis exists in exactly one place: the terminal.
|
|
6
|
-
* Piping through `tail`/`grep`, the ergonomic default when output is long,
|
|
7
|
-
* keeps the summary and discards the `TEST-UNEXPECTED-FAIL` lines that say
|
|
8
|
-
* what broke, and it launders the exit code besides. An operator rule
|
|
9
|
-
* ("never pipe a run") does not hold in practice, so this is not an operator
|
|
10
|
-
* problem: the tool is the only party that can make the log survive the
|
|
11
|
-
* mistake.
|
|
12
|
-
*
|
|
13
|
-
* So `test` and `build` write their own complete copy as they stream, and the
|
|
14
|
-
* `FIREFORGE-VERDICT:` line names the path. A piped, truncated, or
|
|
15
|
-
* backgrounded run then still leaves a re-readable artifact.
|
|
16
|
-
*
|
|
17
|
-
* Everything here is best-effort. A log is a diagnostic aid, and a run must
|
|
18
|
-
* never fail because one could not be opened, written, or pruned.
|
|
19
|
-
* Every entry point swallows its errors and degrades to "no log", which is
|
|
20
|
-
* exactly the behaviour of a run without this module.
|
|
21
|
-
*/
|
|
22
|
-
import { createWriteStream } from 'node:fs';
|
|
23
|
-
import { mkdir, readdir, stat, unlink } from 'node:fs/promises';
|
|
24
|
-
import { basename as basenameOf, dirname, join, resolve } from 'node:path';
|
|
25
|
-
import { Writable } from 'node:stream';
|
|
26
|
-
import { toError } from '../utils/errors.js';
|
|
27
|
-
import { verbose } from '../utils/logger.js';
|
|
28
|
-
import { FIREFORGE_DIR } from './config-paths.js';
|
|
29
|
-
import { redactRunLogText } from './run-log-redact.js';
|
|
30
|
-
import { fileSafeTimestamp } from './state-file.js';
|
|
31
|
-
/** Directory under `.fireforge/` holding run logs. */
|
|
32
|
-
const LOGS_DIRNAME = 'logs';
|
|
33
|
-
/**
|
|
34
|
-
* How many logs to keep per command kind. Retention is per-kind so a busy
|
|
35
|
-
* `test` loop cannot evict every `build` log, which is the pair an operator
|
|
36
|
-
* most often needs to read together.
|
|
37
|
-
*/
|
|
38
|
-
const RETAINED_LOGS_PER_COMMAND = 20;
|
|
39
|
-
/**
|
|
40
|
-
* Cap on the partial line held back between writes. A child emitting one
|
|
41
|
-
* enormous unterminated line (a minified dump on stderr) would otherwise
|
|
42
|
-
* grow the buffer without bound (and, because each write rebuilds
|
|
43
|
-
* `pending + chunk`, quadratically), with nothing reaching disk until
|
|
44
|
-
* close. Past the cap the tail is redacted and written as-is. A `KEY=value`
|
|
45
|
-
* split exactly at the cap boundary is the accepted cost. Same figure as
|
|
46
|
-
* `line-dispatch.ts` uses for the stream matchers.
|
|
47
|
-
*/
|
|
48
|
-
const MAX_PENDING_LINE_SIZE = 1024 * 1024;
|
|
49
|
-
/**
|
|
50
|
-
* Index just past the last line terminator in `text`, or -1 when there is
|
|
51
|
-
* none. `\n` and lone `\r` both terminate: progress-bar output (mach,
|
|
52
|
-
* cargo) repaints a line with carriage returns and may never send a
|
|
53
|
-
* newline, which would otherwise pin the whole run in `pending`. A single
|
|
54
|
-
* trailing `\r` is not a terminator yet: it may be the first half of a
|
|
55
|
-
* `\r\n` split across chunks.
|
|
56
|
-
*/
|
|
57
|
-
function lastLineEnd(text) {
|
|
58
|
-
const lastNewline = text.lastIndexOf('\n');
|
|
59
|
-
const lastReturn = text.lastIndexOf('\r');
|
|
60
|
-
const cut = lastReturn > lastNewline && lastReturn < text.length - 1 ? lastReturn : lastNewline;
|
|
61
|
-
return cut === -1 ? -1 : cut + 1;
|
|
62
|
-
}
|
|
63
|
-
/** `.fireforge/logs` under `projectRoot`. */
|
|
64
|
-
export function getRunLogDir(projectRoot) {
|
|
65
|
-
return join(projectRoot, FIREFORGE_DIR, LOGS_DIRNAME);
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Makes room for one new log by deleting the oldest, so that at most
|
|
69
|
-
* {@link RETAINED_LOGS_PER_COMMAND} logs for `command` exist once the new
|
|
70
|
-
* one is created. Pruning runs before the file is opened, hence the
|
|
71
|
-
* `- 1`, without which the directory settles at N + 1.
|
|
72
|
-
*
|
|
73
|
-
* Best-effort: a failure here must not stop the run that is about to be
|
|
74
|
-
* logged.
|
|
75
|
-
*/
|
|
76
|
-
async function pruneRunLogs(dir, command) {
|
|
77
|
-
const keep = RETAINED_LOGS_PER_COMMAND - 1;
|
|
78
|
-
try {
|
|
79
|
-
const entries = await readdir(dir);
|
|
80
|
-
const mine = entries.filter((name) => name.startsWith(`${command}-`) && name.endsWith('.log'));
|
|
81
|
-
if (mine.length <= keep)
|
|
82
|
-
return;
|
|
83
|
-
// Names embed a lexically-sortable timestamp, so sorting is ordering by
|
|
84
|
-
// age without stat-ing every file.
|
|
85
|
-
const stale = mine.sort().slice(0, mine.length - keep);
|
|
86
|
-
await Promise.all(stale.map(async (name) => {
|
|
87
|
-
try {
|
|
88
|
-
await unlink(join(dir, name));
|
|
89
|
-
}
|
|
90
|
-
catch {
|
|
91
|
-
// A concurrent run may have pruned it already.
|
|
92
|
-
}
|
|
93
|
-
}));
|
|
94
|
-
}
|
|
95
|
-
catch (error) {
|
|
96
|
-
verbose(`Run-log pruning skipped: ${toError(error).message}`);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Opens `.fireforge/logs/<command>-<timestamp>.log` for a run, pruning older
|
|
101
|
-
* logs of the same kind first.
|
|
102
|
-
*
|
|
103
|
-
* @param projectRoot - Project root directory
|
|
104
|
-
* @param command - Command kind, e.g. `test` or `build`
|
|
105
|
-
* @param now - Clock injection point for deterministic tests
|
|
106
|
-
* @returns The sink, or undefined when no log could be opened
|
|
107
|
-
*/
|
|
108
|
-
export async function openRunLog(projectRoot, command, now = new Date()) {
|
|
109
|
-
const dir = getRunLogDir(projectRoot);
|
|
110
|
-
const path = join(dir, `${command}-${fileSafeTimestamp(now)}.log`);
|
|
111
|
-
try {
|
|
112
|
-
await mkdir(dir, { recursive: true });
|
|
113
|
-
await pruneRunLogs(dir, command);
|
|
114
|
-
}
|
|
115
|
-
catch (error) {
|
|
116
|
-
verbose(`Run log unavailable (${path}): ${toError(error).message}`);
|
|
117
|
-
return undefined;
|
|
118
|
-
}
|
|
119
|
-
return openRunLogSink(path);
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Opens one redacting log file at `path`, creating its directory.
|
|
123
|
-
*
|
|
124
|
-
* @param path - Absolute file path
|
|
125
|
-
* @returns The sink, or undefined when the file could not be opened
|
|
126
|
-
*/
|
|
127
|
-
async function openRunLogSink(path) {
|
|
128
|
-
let stream;
|
|
129
|
-
try {
|
|
130
|
-
await mkdir(dirname(path), { recursive: true });
|
|
131
|
-
stream = createWriteStream(path, { flags: 'a' });
|
|
132
|
-
}
|
|
133
|
-
catch (error) {
|
|
134
|
-
verbose(`Run log unavailable (${path}): ${toError(error).message}`);
|
|
135
|
-
return undefined;
|
|
136
|
-
}
|
|
137
|
-
// A stream error after open (disk full, a removed directory) must not
|
|
138
|
-
// become an unhandled 'error' event and kill the run the log exists to
|
|
139
|
-
// describe. Latch it and drop every later write.
|
|
140
|
-
let broken = false;
|
|
141
|
-
stream.on('error', (error) => {
|
|
142
|
-
broken = true;
|
|
143
|
-
verbose(`Run log write failed (${path}): ${error.message}`);
|
|
144
|
-
});
|
|
145
|
-
// Redaction is per LINE, and chunks arrive at arbitrary byte boundaries,
|
|
146
|
-
// so a `KEY=value` split across two chunks would slip past a per-chunk
|
|
147
|
-
// pass. Hold the trailing partial line until its terminator arrives (or
|
|
148
|
-
// it outgrows MAX_PENDING_LINE_SIZE, or the log is closed).
|
|
149
|
-
let pending = '';
|
|
150
|
-
const emit = (text) => {
|
|
151
|
-
if (broken || text.length === 0)
|
|
152
|
-
return;
|
|
153
|
-
try {
|
|
154
|
-
stream.write(redactRunLogText(text));
|
|
155
|
-
}
|
|
156
|
-
catch {
|
|
157
|
-
broken = true;
|
|
158
|
-
}
|
|
159
|
-
};
|
|
160
|
-
return {
|
|
161
|
-
path,
|
|
162
|
-
write: (chunk) => {
|
|
163
|
-
if (broken)
|
|
164
|
-
return;
|
|
165
|
-
const buffered = pending + chunk;
|
|
166
|
-
const lineEnd = lastLineEnd(buffered);
|
|
167
|
-
if (lineEnd === -1) {
|
|
168
|
-
pending = buffered;
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
pending = buffered.slice(lineEnd);
|
|
172
|
-
emit(buffered.slice(0, lineEnd));
|
|
173
|
-
}
|
|
174
|
-
if (pending.length > MAX_PENDING_LINE_SIZE) {
|
|
175
|
-
emit(pending);
|
|
176
|
-
pending = '';
|
|
177
|
-
}
|
|
178
|
-
},
|
|
179
|
-
close: async () => {
|
|
180
|
-
const tail = pending;
|
|
181
|
-
pending = '';
|
|
182
|
-
emit(tail);
|
|
183
|
-
await new Promise((resolve) => {
|
|
184
|
-
stream.end(() => {
|
|
185
|
-
resolve();
|
|
186
|
-
});
|
|
187
|
-
});
|
|
188
|
-
},
|
|
189
|
-
};
|
|
190
|
-
}
|
|
191
|
-
/** Environment variable naming where every run's log is also kept. */
|
|
192
|
-
const LOG_KEEP_ENV_VAR = 'FIREFORGE_LOG_KEEP';
|
|
193
|
-
/**
|
|
194
|
-
* Where a run's kept copy goes: `--keep-log <path>` when given, else
|
|
195
|
-
* {@link LOG_KEEP_ENV_VAR}, else nowhere. A value that ends in a path
|
|
196
|
-
* separator or names an existing directory receives the log under its own
|
|
197
|
-
* `.fireforge/logs/` basename, so a session-wide directory collects one
|
|
198
|
-
* file per run. Any other value is the file itself. Relative values resolve
|
|
199
|
-
* against the caller's working directory.
|
|
200
|
-
*
|
|
201
|
-
* @param flag - The `--keep-log` value, if any
|
|
202
|
-
* @param basename - The run log's own file name
|
|
203
|
-
* @returns The absolute destination, or undefined when none was asked for
|
|
204
|
-
*/
|
|
205
|
-
async function resolveRunLogKeepPath(flag, basename) {
|
|
206
|
-
const raw = flag ?? process.env[LOG_KEEP_ENV_VAR]?.trim();
|
|
207
|
-
if (raw === undefined || raw.length === 0)
|
|
208
|
-
return undefined;
|
|
209
|
-
const target = resolve(raw);
|
|
210
|
-
let directory = /[\\/]$/.test(raw);
|
|
211
|
-
if (!directory) {
|
|
212
|
-
try {
|
|
213
|
-
directory = (await stat(target)).isDirectory();
|
|
214
|
-
}
|
|
215
|
-
catch {
|
|
216
|
-
directory = false;
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
return directory ? join(target, basename) : target;
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Tees a run log into a caller-chosen copy (`--keep-log`,
|
|
223
|
-
* {@link LOG_KEEP_ENV_VAR}) that retention never prunes.
|
|
224
|
-
*
|
|
225
|
-
* `.fireforge/logs/` keeps twenty logs per command kind for EVERY session
|
|
226
|
-
* on the checkout, so on a shared checkout a log named by a verdict line
|
|
227
|
-
* can be gone within the hour, and a failure recorded only by its log path
|
|
228
|
-
* cannot be read later. The copy is written live, line for line with the
|
|
229
|
-
* same redaction, rather than copied at the end: a killed run keeps what it
|
|
230
|
-
* had written, like the primary log does.
|
|
231
|
-
*
|
|
232
|
-
* The primary path stays the one `log=` names. When the primary could not
|
|
233
|
-
* be opened the copy stands in for it.
|
|
234
|
-
*
|
|
235
|
-
* @param log - The primary run log, if one opened
|
|
236
|
-
* @param flag - The `--keep-log` value, if any
|
|
237
|
-
* @param command - Command kind, naming a copy that has no primary
|
|
238
|
-
* @returns A sink writing to both, or whichever one opened
|
|
239
|
-
*/
|
|
240
|
-
export async function keepRunLogCopy(log, flag, command) {
|
|
241
|
-
const basename = log === undefined ? `${command}-${fileSafeTimestamp(new Date())}.log` : basenameOf(log.path);
|
|
242
|
-
const keepPath = await resolveRunLogKeepPath(flag, basename);
|
|
243
|
-
if (keepPath === undefined || keepPath === log?.path)
|
|
244
|
-
return log;
|
|
245
|
-
const copy = await openRunLogSink(keepPath);
|
|
246
|
-
if (copy === undefined)
|
|
247
|
-
return log;
|
|
248
|
-
if (log === undefined)
|
|
249
|
-
return copy;
|
|
250
|
-
return {
|
|
251
|
-
path: log.path,
|
|
252
|
-
write: (chunk) => {
|
|
253
|
-
log.write(chunk);
|
|
254
|
-
copy.write(chunk);
|
|
255
|
-
},
|
|
256
|
-
close: async () => {
|
|
257
|
-
await Promise.all([log.close(), copy.close()]);
|
|
258
|
-
},
|
|
259
|
-
};
|
|
260
|
-
}
|
|
261
|
-
/**
|
|
262
|
-
* The run log for the command currently executing, if any.
|
|
263
|
-
*
|
|
264
|
-
* Module state rather than a threaded parameter, for the same reason
|
|
265
|
-
* `test-verdict.ts` keeps its emitted-once flag here: the sink has to be
|
|
266
|
-
* reachable from `mach.ts`'s stream callbacks, which sit five frames below
|
|
267
|
-
* the command that opened it, behind dispatch signatures that exist to
|
|
268
|
-
* describe TESTS rather than logging. Threading it would have touched every
|
|
269
|
-
* dispatcher, the retry wrapper and the shard loop to deliver one pointer.
|
|
270
|
-
*
|
|
271
|
-
* One command runs per process, so a single slot is the whole lifetime.
|
|
272
|
-
*/
|
|
273
|
-
let activeRunLog;
|
|
274
|
-
/** Newlines written to the active log so far, for line references into it. */
|
|
275
|
-
let activeRunLogNewlines = 0;
|
|
276
|
-
/** Installs (or clears, with `undefined`) the run log for this process. */
|
|
277
|
-
export function setActiveRunLog(log) {
|
|
278
|
-
activeRunLog = log;
|
|
279
|
-
activeRunLogNewlines = 0;
|
|
280
|
-
}
|
|
281
|
-
/**
|
|
282
|
-
* The 1-based line of the active run log the next write starts on.
|
|
283
|
-
* Redaction rewrites within a line and never adds or drops one, so the
|
|
284
|
-
* number holds for the file on disk.
|
|
285
|
-
*/
|
|
286
|
-
export function activeRunLogLine() {
|
|
287
|
-
return activeRunLogNewlines + 1;
|
|
288
|
-
}
|
|
289
|
-
/** Absolute path of the active run log, or undefined when none is open. */
|
|
290
|
-
export function getActiveRunLogPath() {
|
|
291
|
-
return activeRunLog?.path;
|
|
292
|
-
}
|
|
293
|
-
/** Appends to the active run log. A no-op when none is open. */
|
|
294
|
-
export function writeToActiveRunLog(chunk) {
|
|
295
|
-
if (activeRunLog === undefined)
|
|
296
|
-
return;
|
|
297
|
-
for (let index = chunk.indexOf('\n'); index !== -1; index = chunk.indexOf('\n', index + 1)) {
|
|
298
|
-
activeRunLogNewlines += 1;
|
|
299
|
-
}
|
|
300
|
-
activeRunLog.write(chunk);
|
|
301
|
-
}
|
|
302
|
-
/**
|
|
303
|
-
* Closes and clears the active run log. Resolves even when none is open.
|
|
304
|
-
*
|
|
305
|
-
* Also called from the entry point's SIGINT/SIGTERM path: the held partial
|
|
306
|
-
* line and anything queued in the stream would otherwise be lost across
|
|
307
|
-
* `process.exit`, and a killed run's last line is usually the one that
|
|
308
|
-
* says what it was doing.
|
|
309
|
-
*/
|
|
310
|
-
export async function closeActiveRunLog() {
|
|
311
|
-
const log = activeRunLog;
|
|
312
|
-
activeRunLog = undefined;
|
|
313
|
-
await log?.close();
|
|
314
|
-
}
|
|
315
|
-
/**
|
|
316
|
-
* A writable that forwards to `base` and to the active run log.
|
|
317
|
-
*
|
|
318
|
-
* Used by the stdio-inheriting capture path, whose collectors take a mirror
|
|
319
|
-
* stream rather than per-chunk callbacks, so the tee reuses the mirror the
|
|
320
|
-
* exec layer already supports instead of growing a second hook.
|
|
321
|
-
*
|
|
322
|
-
* @param base - The stream to forward to (normally `process.stdout`)
|
|
323
|
-
* @returns A writable teeing into `base` and the run log
|
|
324
|
-
*/
|
|
325
|
-
export function teeToRunLog(base) {
|
|
326
|
-
return new Writable({
|
|
327
|
-
write(chunk, _encoding, callback) {
|
|
328
|
-
const text = typeof chunk === 'string' ? chunk : chunk.toString('utf8');
|
|
329
|
-
base.write(text);
|
|
330
|
-
writeToActiveRunLog(text);
|
|
331
|
-
callback();
|
|
332
|
-
},
|
|
333
|
-
});
|
|
334
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/** Directory-name prefix of every FireForge-owned temporary run profile. */
|
|
2
|
-
export declare const RUN_PROFILE_PREFIX = "fireforge-run-profile-";
|
|
3
|
-
/** The profile a run launches with, and how to release it afterwards. */
|
|
4
|
-
export interface RunProfile {
|
|
5
|
-
/** Program parameters to append to `mach run` (empty for mach's default). */
|
|
6
|
-
args: string[];
|
|
7
|
-
/** Absolute profile directory, when one was chosen. */
|
|
8
|
-
dir?: string;
|
|
9
|
-
/** Whether FireForge created the directory and will delete it. */
|
|
10
|
-
temporary: boolean;
|
|
11
|
-
/** Removes a temporary profile. A no-op otherwise. Never throws. */
|
|
12
|
-
dispose: () => Promise<void>;
|
|
13
|
-
}
|
|
14
|
-
/** Inputs to {@link resolveRunProfile}. */
|
|
15
|
-
export interface RunProfileRequest {
|
|
16
|
-
/** `--profile <path>`: launch with this directory, left in place. */
|
|
17
|
-
profile?: string | undefined;
|
|
18
|
-
/** `--temp-profile`: launch with a fresh directory removed afterwards. */
|
|
19
|
-
tempProfile?: boolean | undefined;
|
|
20
|
-
/**
|
|
21
|
-
* Whether a named `profile` launches with `-purgecaches` (default `true`).
|
|
22
|
-
* A UI build does not change the build id the profile's startup cache is
|
|
23
|
-
* keyed on, so without it a kept profile runs the chrome scripts an
|
|
24
|
-
* earlier build cached. Temporary profiles start without a cache.
|
|
25
|
-
*/
|
|
26
|
-
purgeCaches?: boolean | undefined;
|
|
27
|
-
/**
|
|
28
|
-
* Whether this is a `--smoke-exit` run. A smoke run with neither flag gets
|
|
29
|
-
* a temporary profile: the step exists to prove what the build does on a
|
|
30
|
-
* clean start, and the developer's profile-default carries whatever state
|
|
31
|
-
* the last session left.
|
|
32
|
-
*/
|
|
33
|
-
smoke: boolean;
|
|
34
|
-
/** Base directory for temporary profiles (defaults to the OS tmpdir). */
|
|
35
|
-
tempRoot?: string | undefined;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Removes every temporary run profile this process still holds. Called by
|
|
39
|
-
* the CLI entry point's signal handler after child shutdown. Never throws.
|
|
40
|
-
*/
|
|
41
|
-
export declare function removeActiveRunProfiles(): Promise<void>;
|
|
42
|
-
/**
|
|
43
|
-
* Chooses the profile for a run.
|
|
44
|
-
* @param request - The run's profile flags
|
|
45
|
-
* @returns The profile arguments and their release handle
|
|
46
|
-
*/
|
|
47
|
-
export declare function resolveRunProfile(request: RunProfileRequest): Promise<RunProfile>;
|
|
48
|
-
/**
|
|
49
|
-
* Removes temporary run profiles whose owning FireForge process is gone.
|
|
50
|
-
* The `finally` that releases a profile covers a clean exit, a failed run
|
|
51
|
-
* and a forwarded SIGINT/SIGTERM, but not a SIGKILL of FireForge itself;
|
|
52
|
-
* this sweep is the backstop for that case. A directory whose marker is
|
|
53
|
-
* missing or unreadable is left alone: nothing proves it is abandoned.
|
|
54
|
-
* @param tempRoot - Base directory to sweep (defaults to the OS tmpdir)
|
|
55
|
-
* @returns The number of directories removed
|
|
56
|
-
*/
|
|
57
|
-
export declare function sweepAbandonedRunProfiles(tempRoot?: string): Promise<number>;
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Profile selection for `fireforge run`.
|
|
4
|
-
*
|
|
5
|
-
* `mach run` on desktop has no `--profile` option of its own: its parser's
|
|
6
|
-
* `--profile/-P` belongs to the Android run parser. On desktop a profile
|
|
7
|
-
* reaches Firefox as a program parameter (`-profile <dir>`), and mach skips
|
|
8
|
-
* creating the objdir's `tmp/profile-default` when it sees one among the
|
|
9
|
-
* params.
|
|
10
|
-
* Mach's `--temp-profile` does mint a fresh directory, but inside the objdir
|
|
11
|
-
* and never removes it, so FireForge owns the temporary profile instead:
|
|
12
|
-
* it creates the directory, seeds the two prefs mach would have written,
|
|
13
|
-
* passes it as `-profile`, and deletes it when the run ends.
|
|
14
|
-
*/
|
|
15
|
-
import { mkdtemp, readdir, readFile, rm, writeFile } from 'node:fs/promises';
|
|
16
|
-
import { tmpdir } from 'node:os';
|
|
17
|
-
import { join, resolve } from 'node:path';
|
|
18
|
-
import { InvalidArgumentError } from '../errors/base.js';
|
|
19
|
-
import { isProcessAlive, toError } from '../utils/errors.js';
|
|
20
|
-
import { verbose, warn } from '../utils/logger.js';
|
|
21
|
-
/** Directory-name prefix of every FireForge-owned temporary run profile. */
|
|
22
|
-
export const RUN_PROFILE_PREFIX = 'fireforge-run-profile-';
|
|
23
|
-
/** Marker file naming the pid of the FireForge process that owns the profile. */
|
|
24
|
-
const OWNER_MARKER = '.fireforge-run-owner';
|
|
25
|
-
/**
|
|
26
|
-
* The prefs `mach run` writes into the profiles it creates itself. A profile
|
|
27
|
-
* passed with `-profile` gets none of them, and a first-run default-browser
|
|
28
|
-
* prompt would sit in a headed smoke window.
|
|
29
|
-
*/
|
|
30
|
-
const SEEDED_USER_JS = 'user_pref("browser.shell.checkDefaultBrowser", false);\n' +
|
|
31
|
-
'user_pref("browser.aboutConfig.showWarning", false);\n';
|
|
32
|
-
/**
|
|
33
|
-
* Temporary profiles this process created and has not yet removed. The
|
|
34
|
-
* command's own `finally` loses the race to the entry point's signal
|
|
35
|
-
* handler, whose `process.exit` never lets it run, so the handler removes
|
|
36
|
-
* these itself once the browser tree has shut down.
|
|
37
|
-
*/
|
|
38
|
-
const activeTemporaryProfiles = new Set();
|
|
39
|
-
async function removeTemporaryProfile(dir) {
|
|
40
|
-
try {
|
|
41
|
-
await rm(dir, { recursive: true, force: true });
|
|
42
|
-
activeTemporaryProfiles.delete(dir);
|
|
43
|
-
}
|
|
44
|
-
catch (error) {
|
|
45
|
-
warn(`Could not remove temporary run profile ${dir}: ${toError(error).message}`);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Removes every temporary run profile this process still holds. Called by
|
|
50
|
-
* the CLI entry point's signal handler after child shutdown. Never throws.
|
|
51
|
-
*/
|
|
52
|
-
export async function removeActiveRunProfiles() {
|
|
53
|
-
await Promise.all([...activeTemporaryProfiles].map((dir) => removeTemporaryProfile(dir)));
|
|
54
|
-
}
|
|
55
|
-
const NO_PROFILE = {
|
|
56
|
-
args: [],
|
|
57
|
-
temporary: false,
|
|
58
|
-
dispose: () => Promise.resolve(),
|
|
59
|
-
};
|
|
60
|
-
/**
|
|
61
|
-
* Chooses the profile for a run.
|
|
62
|
-
* @param request - The run's profile flags
|
|
63
|
-
* @returns The profile arguments and their release handle
|
|
64
|
-
*/
|
|
65
|
-
export async function resolveRunProfile(request) {
|
|
66
|
-
if (request.profile !== undefined && request.tempProfile === true) {
|
|
67
|
-
throw new InvalidArgumentError('--profile and --temp-profile are mutually exclusive: name a profile or ask for a fresh one.', 'profile');
|
|
68
|
-
}
|
|
69
|
-
if (request.profile !== undefined) {
|
|
70
|
-
const dir = resolve(request.profile);
|
|
71
|
-
const purge = request.purgeCaches === false ? [] : ['-purgecaches'];
|
|
72
|
-
return {
|
|
73
|
-
args: ['-profile', dir, ...purge],
|
|
74
|
-
dir,
|
|
75
|
-
temporary: false,
|
|
76
|
-
dispose: NO_PROFILE.dispose,
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
if (request.tempProfile !== true && !request.smoke) {
|
|
80
|
-
return NO_PROFILE;
|
|
81
|
-
}
|
|
82
|
-
const dir = await mkdtemp(join(request.tempRoot ?? tmpdir(), RUN_PROFILE_PREFIX));
|
|
83
|
-
activeTemporaryProfiles.add(dir);
|
|
84
|
-
// The owner marker goes in first, so a FireForge killed past this point
|
|
85
|
-
// leaves a directory the next run can prove abandoned.
|
|
86
|
-
await writeFile(join(dir, OWNER_MARKER), `${process.pid}\n`);
|
|
87
|
-
await writeFile(join(dir, 'user.js'), SEEDED_USER_JS);
|
|
88
|
-
verbose(`Temporary run profile: ${dir}`);
|
|
89
|
-
return {
|
|
90
|
-
args: ['-profile', dir],
|
|
91
|
-
dir,
|
|
92
|
-
temporary: true,
|
|
93
|
-
dispose: () => removeTemporaryProfile(dir),
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Removes temporary run profiles whose owning FireForge process is gone.
|
|
98
|
-
* The `finally` that releases a profile covers a clean exit, a failed run
|
|
99
|
-
* and a forwarded SIGINT/SIGTERM, but not a SIGKILL of FireForge itself;
|
|
100
|
-
* this sweep is the backstop for that case. A directory whose marker is
|
|
101
|
-
* missing or unreadable is left alone: nothing proves it is abandoned.
|
|
102
|
-
* @param tempRoot - Base directory to sweep (defaults to the OS tmpdir)
|
|
103
|
-
* @returns The number of directories removed
|
|
104
|
-
*/
|
|
105
|
-
export async function sweepAbandonedRunProfiles(tempRoot = tmpdir()) {
|
|
106
|
-
let entries;
|
|
107
|
-
try {
|
|
108
|
-
entries = await readdir(tempRoot);
|
|
109
|
-
}
|
|
110
|
-
catch {
|
|
111
|
-
return 0;
|
|
112
|
-
}
|
|
113
|
-
let removed = 0;
|
|
114
|
-
for (const entry of entries) {
|
|
115
|
-
if (!entry.startsWith(RUN_PROFILE_PREFIX))
|
|
116
|
-
continue;
|
|
117
|
-
const dir = join(tempRoot, entry);
|
|
118
|
-
let pid;
|
|
119
|
-
try {
|
|
120
|
-
pid = Number.parseInt((await readFile(join(dir, OWNER_MARKER), 'utf8')).trim(), 10);
|
|
121
|
-
}
|
|
122
|
-
catch {
|
|
123
|
-
continue;
|
|
124
|
-
}
|
|
125
|
-
if (!Number.isInteger(pid) || pid <= 0 || pid === process.pid || isProcessAlive(pid)) {
|
|
126
|
-
continue;
|
|
127
|
-
}
|
|
128
|
-
try {
|
|
129
|
-
await rm(dir, { recursive: true, force: true });
|
|
130
|
-
removed += 1;
|
|
131
|
-
}
|
|
132
|
-
catch (error) {
|
|
133
|
-
verbose(`Could not remove abandoned run profile ${dir}: ${toError(error).message}`);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
return removed;
|
|
137
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Structural rules for the `sharedFtl` field on a custom component.
|
|
3
|
-
*
|
|
4
|
-
* Both the `--shared-ftl` CLI flag path (`furnace create`) and the
|
|
5
|
-
* furnace.json parser apply the same rules. Extracting them here
|
|
6
|
-
* avoids drift between the two entry points and lets the `.mjs`
|
|
7
|
-
* template generator assume the value is safe to interpolate verbatim.
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Outcome of {@link validateSharedFtl}. `ok: true` carries the trimmed
|
|
11
|
-
* (operator-safe) value. `ok: false` carries a human-readable message
|
|
12
|
-
* suitable for throwing as a `FurnaceError` or `InvalidArgumentError`.
|
|
13
|
-
*/
|
|
14
|
-
export type SharedFtlValidation = {
|
|
15
|
-
ok: true;
|
|
16
|
-
value: string;
|
|
17
|
-
} | {
|
|
18
|
-
ok: false;
|
|
19
|
-
reason: string;
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* Validates a candidate `sharedFtl` value. Returns the trimmed value
|
|
23
|
-
* when well-formed, or a structured reason when not. Callers throw the
|
|
24
|
-
* error type appropriate to their context (CLI vs config parser).
|
|
25
|
-
*/
|
|
26
|
-
export declare function validateSharedFtl(raw: unknown, context: {
|
|
27
|
-
localized: boolean;
|
|
28
|
-
}): SharedFtlValidation;
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Structural rules for the `sharedFtl` field on a custom component.
|
|
4
|
-
*
|
|
5
|
-
* Both the `--shared-ftl` CLI flag path (`furnace create`) and the
|
|
6
|
-
* furnace.json parser apply the same rules. Extracting them here
|
|
7
|
-
* avoids drift between the two entry points and lets the `.mjs`
|
|
8
|
-
* template generator assume the value is safe to interpolate verbatim.
|
|
9
|
-
*/
|
|
10
|
-
/**
|
|
11
|
-
* Characters that must not appear in `sharedFtl`.
|
|
12
|
-
*
|
|
13
|
-
* This is a policy rule about what a sensible FTL path looks like, not the
|
|
14
|
-
* safety boundary for the generated `.mjs`. The scaffold escapes the value at
|
|
15
|
-
* its sink with `JSON.stringify` (`commands/furnace/create-templates.ts`),
|
|
16
|
-
* which is what actually makes interpolation safe, and what covers the two
|
|
17
|
-
* inputs this rule never catches: a `"` and a raw newline.
|
|
18
|
-
*
|
|
19
|
-
* Kept because each remains a real sign of a malformed path:
|
|
20
|
-
* - `\` is a path-escape we do not want to interpret.
|
|
21
|
-
* - Backticks and `${` are inert in the current double-quoted sink, but a
|
|
22
|
-
* template-literal sink is one refactor away and they are not valid in a
|
|
23
|
-
* chrome:// FTL path regardless.
|
|
24
|
-
*/
|
|
25
|
-
const UNSAFE_CHARS = /[`\\]|\$\{/;
|
|
26
|
-
/**
|
|
27
|
-
* Validates a candidate `sharedFtl` value. Returns the trimmed value
|
|
28
|
-
* when well-formed, or a structured reason when not. Callers throw the
|
|
29
|
-
* error type appropriate to their context (CLI vs config parser).
|
|
30
|
-
*/
|
|
31
|
-
export function validateSharedFtl(raw, context) {
|
|
32
|
-
if (typeof raw !== 'string') {
|
|
33
|
-
return { ok: false, reason: 'must be a string when set' };
|
|
34
|
-
}
|
|
35
|
-
const value = raw.trim();
|
|
36
|
-
if (value.length === 0) {
|
|
37
|
-
return { ok: false, reason: 'must not be empty' };
|
|
38
|
-
}
|
|
39
|
-
if (UNSAFE_CHARS.test(value)) {
|
|
40
|
-
return {
|
|
41
|
-
ok: false,
|
|
42
|
-
reason: 'must not contain backticks, backslashes, or ${ (would break the generated .mjs)',
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
if (!context.localized) {
|
|
46
|
-
return { ok: false, reason: 'requires localized to be true' };
|
|
47
|
-
}
|
|
48
|
-
return { ok: true, value };
|
|
49
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Signal-deferred critical sections.
|
|
3
|
-
*
|
|
4
|
-
* Commands that perform a compound mutation (e.g. "apply a patch to the
|
|
5
|
-
* engine, then persist progress to a session file on disk") need to finish
|
|
6
|
-
* the pair atomically with respect to SIGINT / SIGTERM. The furnace rollback
|
|
7
|
-
* mechanism is not the right tool here: rebase-style operations intentionally
|
|
8
|
-
* leave the engine mutated and only need the on-disk bookkeeping write to
|
|
9
|
-
* complete before the process exits.
|
|
10
|
-
*
|
|
11
|
-
* `runInSignalCriticalSection(fn)` wraps a short body in a registry slot.
|
|
12
|
-
* While the body runs, the CLI entry point's SIGINT / SIGTERM handlers wait
|
|
13
|
-
* for the slot to clear before calling `process.exit`, so a signal that
|
|
14
|
-
* lands mid-body is held until the body's state write finishes.
|
|
15
|
-
*
|
|
16
|
-
* This module is a pure runtime registry. It installs no signal handlers
|
|
17
|
-
* itself. The bin entry point is responsible for awaiting
|
|
18
|
-
* `waitForActiveCriticalSections` before terminating.
|
|
19
|
-
*/
|
|
20
|
-
/**
|
|
21
|
-
* Runs `fn` inside a signal-deferred critical section. The CLI entry point's
|
|
22
|
-
* signal handlers `await` every active section before exiting, so a SIGINT or
|
|
23
|
-
* SIGTERM that arrives during `fn` will hold exit until `fn` returns (or
|
|
24
|
-
* rejects).
|
|
25
|
-
*
|
|
26
|
-
* `fn` should be short. Anything that takes longer than the bounded wait in
|
|
27
|
-
* the bin handler (`SIGNAL_CRITICAL_SECTION_TIMEOUT_MS`) will time out and
|
|
28
|
-
* the handler will exit anyway. The intent is "guard the apply + state
|
|
29
|
-
* persist pair," not "postpone exit indefinitely."
|
|
30
|
-
*/
|
|
31
|
-
export declare function runInSignalCriticalSection<T>(label: string, fn: () => Promise<T>): Promise<T>;
|
|
32
|
-
/**
|
|
33
|
-
* Waits for every active critical section to complete or for `timeoutMs` to
|
|
34
|
-
* elapse, whichever comes first. Never rejects: a section that throws still
|
|
35
|
-
* resolves from the registry's perspective because `runInSignalCriticalSection`
|
|
36
|
-
* cleans up in `finally`.
|
|
37
|
-
*/
|
|
38
|
-
export declare function waitForActiveCriticalSections(timeoutMs: number): Promise<void>;
|