@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/utils/parse.js
DELETED
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Lightweight runtime object parsing and field extraction helpers.
|
|
4
|
-
*
|
|
5
|
-
* Reduces repetitive "validate unknown → cast" boilerplate across
|
|
6
|
-
* config validation, manifest parsing, and metadata validation.
|
|
7
|
-
*/
|
|
8
|
-
import { isArray, isNumber, isObject, isString } from './validation.js';
|
|
9
|
-
/**
|
|
10
|
-
* A parsed record wrapper that provides typed field extraction
|
|
11
|
-
* with clear error messages. Construct via {@link parseObject}.
|
|
12
|
-
*/
|
|
13
|
-
export class ParsedRecord {
|
|
14
|
-
#data;
|
|
15
|
-
#label;
|
|
16
|
-
constructor(data, label) {
|
|
17
|
-
this.#data = data;
|
|
18
|
-
this.#label = label;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Extracts a required string field.
|
|
22
|
-
* @param key - Field name
|
|
23
|
-
* @returns The string value
|
|
24
|
-
* @throws Error if the field is missing or not a string
|
|
25
|
-
*/
|
|
26
|
-
string(key) {
|
|
27
|
-
const value = this.#data[key];
|
|
28
|
-
if (!isString(value)) {
|
|
29
|
-
throw new Error(`${this.#label}.${key} must be a string`);
|
|
30
|
-
}
|
|
31
|
-
return value;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Extracts an optional string field.
|
|
35
|
-
* @param key - Field name
|
|
36
|
-
* @returns The string value or undefined
|
|
37
|
-
* @throws Error if the field is present but not a string
|
|
38
|
-
*/
|
|
39
|
-
optionalString(key) {
|
|
40
|
-
const value = this.#data[key];
|
|
41
|
-
if (value === undefined)
|
|
42
|
-
return undefined;
|
|
43
|
-
if (!isString(value)) {
|
|
44
|
-
throw new Error(`${this.#label}.${key} must be a string`);
|
|
45
|
-
}
|
|
46
|
-
return value;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Extracts a required number field.
|
|
50
|
-
* @param key - Field name
|
|
51
|
-
* @returns The number value
|
|
52
|
-
* @throws Error if the field is missing or not a number
|
|
53
|
-
*/
|
|
54
|
-
number(key) {
|
|
55
|
-
const value = this.#data[key];
|
|
56
|
-
if (!isNumber(value)) {
|
|
57
|
-
throw new Error(`${this.#label}.${key} must be a number`);
|
|
58
|
-
}
|
|
59
|
-
return value;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Extracts an optional number field.
|
|
63
|
-
* @param key - Field name
|
|
64
|
-
* @returns The number value or undefined
|
|
65
|
-
* @throws Error if the field is present but not a number
|
|
66
|
-
*/
|
|
67
|
-
optionalNumber(key) {
|
|
68
|
-
const value = this.#data[key];
|
|
69
|
-
if (value === undefined)
|
|
70
|
-
return undefined;
|
|
71
|
-
if (!isNumber(value)) {
|
|
72
|
-
throw new Error(`${this.#label}.${key} must be a number`);
|
|
73
|
-
}
|
|
74
|
-
return value;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Extracts a required non-negative integer field.
|
|
78
|
-
* @param key - Field name
|
|
79
|
-
* @returns The integer value
|
|
80
|
-
* @throws Error if the field is missing, not a number, or negative
|
|
81
|
-
*/
|
|
82
|
-
nonNegativeInteger(key) {
|
|
83
|
-
const value = this.#data[key];
|
|
84
|
-
if (typeof value !== 'number' || !Number.isInteger(value) || value < 0) {
|
|
85
|
-
throw new Error(`${this.#label}.${key} must be a non-negative integer`);
|
|
86
|
-
}
|
|
87
|
-
return value;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Extracts an optional non-negative integer field.
|
|
91
|
-
* @param key - Field name
|
|
92
|
-
* @returns The integer value or undefined
|
|
93
|
-
* @throws Error if the field is present but not a non-negative integer
|
|
94
|
-
*/
|
|
95
|
-
optionalNonNegativeInteger(key) {
|
|
96
|
-
const value = this.#data[key];
|
|
97
|
-
if (value === undefined)
|
|
98
|
-
return undefined;
|
|
99
|
-
if (!isNumber(value) || !Number.isInteger(value) || value < 0) {
|
|
100
|
-
throw new Error(`${this.#label}.${key} must be a non-negative integer`);
|
|
101
|
-
}
|
|
102
|
-
return value;
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Extracts a required string field and validates it against a predicate.
|
|
106
|
-
* @param key - Field name
|
|
107
|
-
* @param predicate - Validation function
|
|
108
|
-
* @param allowed - Description of allowed values for the error message
|
|
109
|
-
* @returns The validated string value
|
|
110
|
-
*/
|
|
111
|
-
stringEnum(key, predicate, allowed) {
|
|
112
|
-
const value = this.string(key);
|
|
113
|
-
if (!predicate(value)) {
|
|
114
|
-
throw new Error(`${this.#label}.${key} must be ${allowed}`);
|
|
115
|
-
}
|
|
116
|
-
return value;
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Extracts a required string field and validates it with a custom check.
|
|
120
|
-
* @param key - Field name
|
|
121
|
-
* @param check - Validation function returning true if valid
|
|
122
|
-
* @param constraint - Description of the constraint for the error message
|
|
123
|
-
* @returns The validated string value
|
|
124
|
-
*/
|
|
125
|
-
validatedString(key, check, constraint) {
|
|
126
|
-
const value = this.string(key);
|
|
127
|
-
if (!check(value)) {
|
|
128
|
-
throw new Error(`${this.#label}.${key} must be ${constraint}`);
|
|
129
|
-
}
|
|
130
|
-
return value;
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Extracts a required array-of-strings field.
|
|
134
|
-
* @param key - Field name
|
|
135
|
-
* @returns The string array
|
|
136
|
-
* @throws Error if the field is missing or not an array of strings
|
|
137
|
-
*/
|
|
138
|
-
stringArray(key) {
|
|
139
|
-
const value = this.#data[key];
|
|
140
|
-
if (!isArray(value) || !value.every(isString)) {
|
|
141
|
-
throw new Error(`${this.#label}.${key} must be an array of strings`);
|
|
142
|
-
}
|
|
143
|
-
return [...value];
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Extracts an optional array-of-strings field.
|
|
147
|
-
* @param key - Field name
|
|
148
|
-
* @returns The string array (fresh copy) or undefined when absent
|
|
149
|
-
* @throws Error if the field is present but not an array of strings
|
|
150
|
-
*/
|
|
151
|
-
optionalStringArray(key) {
|
|
152
|
-
const value = this.#data[key];
|
|
153
|
-
if (value === undefined)
|
|
154
|
-
return undefined;
|
|
155
|
-
if (!isArray(value) || !value.every(isString)) {
|
|
156
|
-
throw new Error(`${this.#label}.${key} must be an array of strings`);
|
|
157
|
-
}
|
|
158
|
-
return [...value];
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Extracts a required nested object field.
|
|
162
|
-
* @param key - Field name
|
|
163
|
-
* @returns A new ParsedRecord wrapping the nested object
|
|
164
|
-
* @throws Error if the field is missing or not an object
|
|
165
|
-
*/
|
|
166
|
-
object(key) {
|
|
167
|
-
const value = this.#data[key];
|
|
168
|
-
if (!isObject(value)) {
|
|
169
|
-
throw new Error(`${this.#label}.${key} must be an object`);
|
|
170
|
-
}
|
|
171
|
-
return new ParsedRecord(value, `${this.#label}.${key}`);
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* Extracts an optional nested object field.
|
|
175
|
-
* @param key - Field name
|
|
176
|
-
* @returns A new ParsedRecord wrapping the nested object, or undefined
|
|
177
|
-
* @throws Error if the field is present but not an object
|
|
178
|
-
*/
|
|
179
|
-
optionalObject(key) {
|
|
180
|
-
const value = this.#data[key];
|
|
181
|
-
if (value === undefined)
|
|
182
|
-
return undefined;
|
|
183
|
-
if (!isObject(value)) {
|
|
184
|
-
throw new Error(`${this.#label}.${key} must be an object`);
|
|
185
|
-
}
|
|
186
|
-
return new ParsedRecord(value, `${this.#label}.${key}`);
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Returns the raw value of a field without validation.
|
|
190
|
-
* @param key - Field name
|
|
191
|
-
*/
|
|
192
|
-
raw(key) {
|
|
193
|
-
return this.#data[key];
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Returns all keys in the underlying record.
|
|
197
|
-
*/
|
|
198
|
-
keys() {
|
|
199
|
-
return Object.keys(this.#data);
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
/**
|
|
203
|
-
* Wraps an unknown value as a ParsedRecord after verifying it is an object.
|
|
204
|
-
* @param data - The unknown value to parse
|
|
205
|
-
* @param label - Label for error messages (e.g. "Config", "patches[0]")
|
|
206
|
-
* @returns A ParsedRecord for typed field extraction
|
|
207
|
-
* @throws Error if data is not a plain object
|
|
208
|
-
*/
|
|
209
|
-
export function parseObject(data, label) {
|
|
210
|
-
if (!isObject(data)) {
|
|
211
|
-
throw new Error(`${label} must be an object`);
|
|
212
|
-
}
|
|
213
|
-
return new ParsedRecord(data, label);
|
|
214
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Minimal path globs for policy config: `*` matches within one path segment,
|
|
3
|
-
* `?` one character of a segment, and `**` any number of whole segments
|
|
4
|
-
* (`a/**` is everything under `a/`, `**\/x` is `x` in any directory). A
|
|
5
|
-
* pattern is anchored at both ends against an engine-relative POSIX path;
|
|
6
|
-
* there is no basename-anywhere matching, so `*.toml` matches only top-level
|
|
7
|
-
* files and `**\/*.toml` matches them everywhere.
|
|
8
|
-
*
|
|
9
|
-
* Hand-rolled because the policy surface needs exactly this much and the
|
|
10
|
-
* package keeps its dependency list short.
|
|
11
|
-
*/
|
|
12
|
-
/** Compiles one glob to an anchored regular expression. */
|
|
13
|
-
export declare function globToRegExp(glob: string): RegExp;
|
|
14
|
-
/** True when `path` matches at least one of `globs`. */
|
|
15
|
-
export declare function matchesAnyGlob(path: string, globs: readonly string[]): boolean;
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Minimal path globs for policy config: `*` matches within one path segment,
|
|
4
|
-
* `?` one character of a segment, and `**` any number of whole segments
|
|
5
|
-
* (`a/**` is everything under `a/`, `**\/x` is `x` in any directory). A
|
|
6
|
-
* pattern is anchored at both ends against an engine-relative POSIX path;
|
|
7
|
-
* there is no basename-anywhere matching, so `*.toml` matches only top-level
|
|
8
|
-
* files and `**\/*.toml` matches them everywhere.
|
|
9
|
-
*
|
|
10
|
-
* Hand-rolled because the policy surface needs exactly this much and the
|
|
11
|
-
* package keeps its dependency list short.
|
|
12
|
-
*/
|
|
13
|
-
import { escapeRegex } from './regex.js';
|
|
14
|
-
/** Compiles one glob to an anchored regular expression. */
|
|
15
|
-
export function globToRegExp(glob) {
|
|
16
|
-
let source = '';
|
|
17
|
-
for (let i = 0; i < glob.length; i++) {
|
|
18
|
-
const char = glob[i] ?? '';
|
|
19
|
-
if (char === '*' && glob[i + 1] === '*') {
|
|
20
|
-
const atSegmentStart = i === 0 || glob[i - 1] === '/';
|
|
21
|
-
const followedBySlash = glob[i + 2] === '/';
|
|
22
|
-
if (atSegmentStart && followedBySlash) {
|
|
23
|
-
// `**/` : zero or more leading directories.
|
|
24
|
-
source += '(?:[^/]+/)*';
|
|
25
|
-
i += 2;
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
source += '.*';
|
|
29
|
-
i += 1;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
else if (char === '*') {
|
|
33
|
-
source += '[^/]*';
|
|
34
|
-
}
|
|
35
|
-
else if (char === '?') {
|
|
36
|
-
source += '[^/]';
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
source += escapeRegex(char);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return new RegExp(`^${source}$`);
|
|
43
|
-
}
|
|
44
|
-
/** True when `path` matches at least one of `globs`. */
|
|
45
|
-
export function matchesAnyGlob(path, globs) {
|
|
46
|
-
return globs.some((glob) => globToRegExp(glob).test(path));
|
|
47
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/** Converts Windows path separators to forward slashes for stable comparisons. */
|
|
2
|
-
export declare function normalizePathSlashes(path: string): string;
|
|
3
|
-
/**
|
|
4
|
-
* Strips a leading `engine/` (or `engine\\`) segment from a user-supplied
|
|
5
|
-
* path so the same command invocation accepts both repo-root-relative paths
|
|
6
|
-
* (`engine/browser/base/content/foo.js`) and engine-relative paths
|
|
7
|
-
* (`browser/base/content/foo.js`).
|
|
8
|
-
*
|
|
9
|
-
* The match is case-insensitive because default macOS and Windows
|
|
10
|
-
* filesystems treat `Engine/` and `engine/` as the same directory. A
|
|
11
|
-
* literal lowercase-only check leaves `mach` and the manifest writers
|
|
12
|
-
* resolving against a wrongly-cased prefix. Leading whitespace is ignored so
|
|
13
|
-
* tab-completed inputs do not slip past the strip.
|
|
14
|
-
*
|
|
15
|
-
* The return value is trimmed of that leading whitespace when the prefix
|
|
16
|
-
* matched, and otherwise passed through verbatim. Callers that care about
|
|
17
|
-
* internal whitespace can trim on their side.
|
|
18
|
-
*
|
|
19
|
-
* @param filePath Path as provided by the user
|
|
20
|
-
* @returns Path relative to the engine directory (or the original when the
|
|
21
|
-
* prefix was absent)
|
|
22
|
-
*/
|
|
23
|
-
export declare function stripEnginePrefix(filePath: string): string;
|
|
24
|
-
/** Checks whether a path is explicitly absolute on either POSIX or Windows. */
|
|
25
|
-
export declare function isExplicitAbsolutePath(path: string): boolean;
|
|
26
|
-
/** Resolves a candidate path and returns whether it stays within the given root. */
|
|
27
|
-
export declare function isPathInsideRoot(root: string, candidate: string): boolean;
|
|
28
|
-
/** Checks whether a relative path stays contained within an arbitrary root. */
|
|
29
|
-
export declare function isContainedRelativePath(path: string): boolean;
|
|
30
|
-
/** Converts a candidate path to a normalized root-relative path, rejecting escapes. */
|
|
31
|
-
export declare function toRootRelativePath(root: string, candidate: string): string;
|
package/dist/src/utils/paths.js
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { isAbsolute, relative, resolve, sep } from 'node:path';
|
|
3
|
-
const WINDOWS_ABSOLUTE_PATH = /^[a-zA-Z]:[\\/]/;
|
|
4
|
-
const RELATIVE_PATH_ROOT = resolve('/__fireforge_path_root__');
|
|
5
|
-
/**
|
|
6
|
-
* Matches a leading `engine/` or `engine\\` segment (case-insensitive,
|
|
7
|
-
* tolerates leading whitespace). Shared between `register`, `test`, `lint`,
|
|
8
|
-
* and `export` so every command that takes an engine-relative path accepts
|
|
9
|
-
* both the repo-root form (`engine/browser/...`) and the engine-relative
|
|
10
|
-
* form (`browser/...`) without diverging.
|
|
11
|
-
*/
|
|
12
|
-
const ENGINE_PREFIX_PATTERN = /^\s*engine[/\\]/i;
|
|
13
|
-
/** Converts Windows path separators to forward slashes for stable comparisons. */
|
|
14
|
-
export function normalizePathSlashes(path) {
|
|
15
|
-
return path.replace(/\\/g, '/');
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Strips a leading `engine/` (or `engine\\`) segment from a user-supplied
|
|
19
|
-
* path so the same command invocation accepts both repo-root-relative paths
|
|
20
|
-
* (`engine/browser/base/content/foo.js`) and engine-relative paths
|
|
21
|
-
* (`browser/base/content/foo.js`).
|
|
22
|
-
*
|
|
23
|
-
* The match is case-insensitive because default macOS and Windows
|
|
24
|
-
* filesystems treat `Engine/` and `engine/` as the same directory. A
|
|
25
|
-
* literal lowercase-only check leaves `mach` and the manifest writers
|
|
26
|
-
* resolving against a wrongly-cased prefix. Leading whitespace is ignored so
|
|
27
|
-
* tab-completed inputs do not slip past the strip.
|
|
28
|
-
*
|
|
29
|
-
* The return value is trimmed of that leading whitespace when the prefix
|
|
30
|
-
* matched, and otherwise passed through verbatim. Callers that care about
|
|
31
|
-
* internal whitespace can trim on their side.
|
|
32
|
-
*
|
|
33
|
-
* @param filePath Path as provided by the user
|
|
34
|
-
* @returns Path relative to the engine directory (or the original when the
|
|
35
|
-
* prefix was absent)
|
|
36
|
-
*/
|
|
37
|
-
export function stripEnginePrefix(filePath) {
|
|
38
|
-
const match = ENGINE_PREFIX_PATTERN.exec(filePath);
|
|
39
|
-
if (match) {
|
|
40
|
-
return filePath.slice(match[0].length);
|
|
41
|
-
}
|
|
42
|
-
return filePath;
|
|
43
|
-
}
|
|
44
|
-
/** Checks whether a path is explicitly absolute on either POSIX or Windows. */
|
|
45
|
-
export function isExplicitAbsolutePath(path) {
|
|
46
|
-
return isAbsolute(path) || WINDOWS_ABSOLUTE_PATH.test(path);
|
|
47
|
-
}
|
|
48
|
-
/** Resolves a candidate path and returns whether it stays within the given root. */
|
|
49
|
-
export function isPathInsideRoot(root, candidate) {
|
|
50
|
-
if (candidate.includes('\0'))
|
|
51
|
-
return false;
|
|
52
|
-
const resolvedRoot = resolve(root);
|
|
53
|
-
const resolvedCandidate = isExplicitAbsolutePath(candidate)
|
|
54
|
-
? resolve(candidate)
|
|
55
|
-
: resolve(resolvedRoot, candidate);
|
|
56
|
-
const relativePath = relative(resolvedRoot, resolvedCandidate);
|
|
57
|
-
return (relativePath === '' ||
|
|
58
|
-
(relativePath !== '..' &&
|
|
59
|
-
!relativePath.startsWith(`..${sep}`) &&
|
|
60
|
-
!isAbsolute(relativePath) &&
|
|
61
|
-
!WINDOWS_ABSOLUTE_PATH.test(relativePath)));
|
|
62
|
-
}
|
|
63
|
-
/** Checks whether a relative path stays contained within an arbitrary root. */
|
|
64
|
-
export function isContainedRelativePath(path) {
|
|
65
|
-
if (isExplicitAbsolutePath(path) || path.includes('\0')) {
|
|
66
|
-
return false;
|
|
67
|
-
}
|
|
68
|
-
return isPathInsideRoot(RELATIVE_PATH_ROOT, path);
|
|
69
|
-
}
|
|
70
|
-
/** Converts a candidate path to a normalized root-relative path, rejecting escapes. */
|
|
71
|
-
export function toRootRelativePath(root, candidate) {
|
|
72
|
-
const resolvedRoot = resolve(root);
|
|
73
|
-
const resolvedCandidate = isExplicitAbsolutePath(candidate)
|
|
74
|
-
? resolve(candidate)
|
|
75
|
-
: resolve(resolvedRoot, candidate);
|
|
76
|
-
if (!isPathInsideRoot(resolvedRoot, resolvedCandidate)) {
|
|
77
|
-
throw new Error(`Path escapes root: ${candidate}`);
|
|
78
|
-
}
|
|
79
|
-
return normalizePathSlashes(relative(resolvedRoot, resolvedCandidate));
|
|
80
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Supported operating system platforms.
|
|
3
|
-
*/
|
|
4
|
-
export type Platform = 'darwin' | 'linux' | 'win32';
|
|
5
|
-
/**
|
|
6
|
-
* Gets the current operating system platform.
|
|
7
|
-
* @throws Error if running on an unsupported platform
|
|
8
|
-
*/
|
|
9
|
-
export declare function getPlatform(): Platform;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { platform } from 'node:os';
|
|
3
|
-
import { GeneralError } from '../errors/base.js';
|
|
4
|
-
/**
|
|
5
|
-
* Gets the current operating system platform.
|
|
6
|
-
* @throws Error if running on an unsupported platform
|
|
7
|
-
*/
|
|
8
|
-
export function getPlatform() {
|
|
9
|
-
const p = platform();
|
|
10
|
-
if (p === 'darwin' || p === 'linux' || p === 'win32') {
|
|
11
|
-
return p;
|
|
12
|
-
}
|
|
13
|
-
throw new GeneralError(`Unsupported platform: ${p}. FireForge supports darwin, linux, and win32.`);
|
|
14
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Process-group kill and post-run sweep helpers for the exec layer.
|
|
3
|
-
* Spawn-based rather than `exec`-based so the two modules do not import
|
|
4
|
-
* each other cyclically.
|
|
5
|
-
*/
|
|
6
|
-
import { type ChildProcess } from 'node:child_process';
|
|
7
|
-
/**
|
|
8
|
-
* Sends `signal` to the child's whole tree: the process group on POSIX
|
|
9
|
-
* (negative-PID kill, which reaches mach → python → firefox →
|
|
10
|
-
* content-process chains), or a `taskkill /T /F` tree kill plus a direct
|
|
11
|
-
* `child.kill` fallback on Windows. No-ops once the direct child has exited (group
|
|
12
|
-
* survivors after exit are the post-run sweep's job, not this function's).
|
|
13
|
-
*
|
|
14
|
-
* A failed group kill falls through to a direct `child.kill` on POSIX too:
|
|
15
|
-
* ESRCH/EPERM on the negative PID means the group is gone or was never
|
|
16
|
-
* created, and signalling the direct child is strictly better than
|
|
17
|
-
* returning silently.
|
|
18
|
-
*/
|
|
19
|
-
export declare function killProcessTree(child: ChildProcess, signal: NodeJS.Signals, usesProcessGroup: boolean): void;
|
|
20
|
-
/** One process still alive in a swept group. */
|
|
21
|
-
interface ProcessGroupSurvivor {
|
|
22
|
-
/** PID, or -1 when pgrep was unavailable and only a liveness probe ran. */
|
|
23
|
-
pid: number;
|
|
24
|
-
/** Command line (pgrep -lf output), best-effort. */
|
|
25
|
-
command: string;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Post-run reaper for a process group FireForge itself spawned (`pgid` is
|
|
29
|
-
* the PID of a child started with `detached: true`): lists survivors,
|
|
30
|
-
* SIGTERMs the group, waits a short grace, escalates to SIGKILL, and warns
|
|
31
|
-
* about anything that still refuses to die. POSIX only (no-op on win32).
|
|
32
|
-
* The only kill target is `-pgid`, never anything outside the group.
|
|
33
|
-
* A healthy run costs exactly one `pgrep`.
|
|
34
|
-
*
|
|
35
|
-
* `context` names why the group is being reaped in the warning; the default
|
|
36
|
-
* is the post-close sweep. The parent-exit watchdog passes its own, because
|
|
37
|
-
* there the group is still running when the sweep begins.
|
|
38
|
-
*/
|
|
39
|
-
export declare function sweepProcessGroup(pgid: number, graceMs?: number, context?: string): Promise<{
|
|
40
|
-
survivors: ProcessGroupSurvivor[];
|
|
41
|
-
}>;
|
|
42
|
-
export {};
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Process-group kill and post-run sweep helpers for the exec layer.
|
|
4
|
-
* Spawn-based rather than `exec`-based so the two modules do not import
|
|
5
|
-
* each other cyclically.
|
|
6
|
-
*/
|
|
7
|
-
import { spawn } from 'node:child_process';
|
|
8
|
-
import { getNodeErrorCode } from './errors.js';
|
|
9
|
-
import { verbose, warn } from './logger.js';
|
|
10
|
-
import { sleep } from './sleep.js';
|
|
11
|
-
/**
|
|
12
|
-
* Sends `signal` to the child's whole tree: the process group on POSIX
|
|
13
|
-
* (negative-PID kill, which reaches mach → python → firefox →
|
|
14
|
-
* content-process chains), or a `taskkill /T /F` tree kill plus a direct
|
|
15
|
-
* `child.kill` fallback on Windows. No-ops once the direct child has exited (group
|
|
16
|
-
* survivors after exit are the post-run sweep's job, not this function's).
|
|
17
|
-
*
|
|
18
|
-
* A failed group kill falls through to a direct `child.kill` on POSIX too:
|
|
19
|
-
* ESRCH/EPERM on the negative PID means the group is gone or was never
|
|
20
|
-
* created, and signalling the direct child is strictly better than
|
|
21
|
-
* returning silently.
|
|
22
|
-
*/
|
|
23
|
-
export function killProcessTree(child, signal, usesProcessGroup) {
|
|
24
|
-
if (child.exitCode !== null || child.signalCode !== null)
|
|
25
|
-
return;
|
|
26
|
-
const targetPid = child.pid;
|
|
27
|
-
if (targetPid === undefined)
|
|
28
|
-
return;
|
|
29
|
-
try {
|
|
30
|
-
if (usesProcessGroup) {
|
|
31
|
-
// Negative PID routes to the process group, killing the Python
|
|
32
|
-
// wrapper, the firefox it forked, and every content process
|
|
33
|
-
// that inherited the group.
|
|
34
|
-
try {
|
|
35
|
-
process.kill(-targetPid, signal);
|
|
36
|
-
}
|
|
37
|
-
catch {
|
|
38
|
-
// ESRCH/EPERM: the group is gone, or was never created because the
|
|
39
|
-
// platform ignored `detached`. Signal the direct child rather than
|
|
40
|
-
// doing nothing, since it may well still be alive. Without this
|
|
41
|
-
// fall-through a failed group kill left the child running.
|
|
42
|
-
child.kill(signal);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
// No process group on Windows, so taskkill /T walks the descendant
|
|
47
|
-
// tree instead. Always forced (/F): there is no SIGTERM analogue,
|
|
48
|
-
// so the grace window only exists on POSIX.
|
|
49
|
-
spawn('taskkill', ['/pid', String(targetPid), '/T', '/F'], {
|
|
50
|
-
stdio: 'ignore',
|
|
51
|
-
}).on('error', () => {
|
|
52
|
-
// taskkill unavailable, so nothing more we can do beyond the
|
|
53
|
-
// direct-child kill below.
|
|
54
|
-
});
|
|
55
|
-
child.kill(signal);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
catch {
|
|
59
|
-
// Already gone. Nothing to do.
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
const SWEEP_GRACE_MS = 2000;
|
|
63
|
-
const MULTIPROCESSING_WORKER_PATTERN = /multiprocessing\.(?:spawn|forkserver)|resource_tracker/;
|
|
64
|
-
/**
|
|
65
|
-
* Minimal spawn-based pgrep runner. exitCode -1 means pgrep itself was
|
|
66
|
-
* unavailable or errored (distinct from exit 1 = "no matches").
|
|
67
|
-
*/
|
|
68
|
-
async function runPgrep(args) {
|
|
69
|
-
return new Promise((resolve) => {
|
|
70
|
-
const child = spawn('pgrep', args, { stdio: ['ignore', 'pipe', 'ignore'] });
|
|
71
|
-
let stdout = '';
|
|
72
|
-
child.stdout.on('data', (data) => {
|
|
73
|
-
stdout += data.toString('utf8');
|
|
74
|
-
});
|
|
75
|
-
child.on('error', () => {
|
|
76
|
-
resolve({ exitCode: -1, stdout: '' });
|
|
77
|
-
});
|
|
78
|
-
child.on('close', (code) => {
|
|
79
|
-
resolve({ exitCode: code ?? -1, stdout });
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
/** Lists processes still in `pgid` via `pgrep -g -lf`, with a kill(0) fallback. */
|
|
84
|
-
async function listGroupSurvivors(pgid) {
|
|
85
|
-
const result = await runPgrep(['-g', String(pgid), '-lf']);
|
|
86
|
-
if (result.exitCode === 0) {
|
|
87
|
-
return result.stdout
|
|
88
|
-
.split('\n')
|
|
89
|
-
.map((line) => line.trim())
|
|
90
|
-
.filter((line) => line.length > 0)
|
|
91
|
-
.map((line) => {
|
|
92
|
-
const match = /^(\d+)\s+(.*)$/.exec(line);
|
|
93
|
-
return match
|
|
94
|
-
? { pid: Number(match[1]), command: match[2] ?? '' }
|
|
95
|
-
: { pid: -1, command: line };
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
if (result.exitCode === 1)
|
|
99
|
-
return []; // no matches
|
|
100
|
-
// pgrep unavailable/broken: fall back to a group liveness probe.
|
|
101
|
-
try {
|
|
102
|
-
process.kill(-pgid, 0);
|
|
103
|
-
return [{ pid: -1, command: 'unknown (pgrep unavailable; group still has live members)' }];
|
|
104
|
-
}
|
|
105
|
-
catch (error) {
|
|
106
|
-
// Same errno semantics as `isProcessAlive` (which cannot be called here,
|
|
107
|
-
// since it probes a single positive pid): only ESRCH proves the group is
|
|
108
|
-
// gone. EPERM means it exists under another uid, and an unrecognized
|
|
109
|
-
// failure is not evidence of absence, so report survivors in both cases.
|
|
110
|
-
if (getNodeErrorCode(error) === 'ESRCH')
|
|
111
|
-
return [];
|
|
112
|
-
return [{ pid: -1, command: 'unknown (pgrep unavailable; group liveness probe denied)' }];
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
function describeSurvivors(list) {
|
|
116
|
-
return list
|
|
117
|
-
.map((s) => {
|
|
118
|
-
const tag = MULTIPROCESSING_WORKER_PATTERN.test(s.command)
|
|
119
|
-
? ' [multiprocessing worker — the known busy-spin orphan shape]'
|
|
120
|
-
: '';
|
|
121
|
-
return `PID ${s.pid}: ${s.command}${tag}`;
|
|
122
|
-
})
|
|
123
|
-
.join('; ');
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Post-run reaper for a process group FireForge itself spawned (`pgid` is
|
|
127
|
-
* the PID of a child started with `detached: true`): lists survivors,
|
|
128
|
-
* SIGTERMs the group, waits a short grace, escalates to SIGKILL, and warns
|
|
129
|
-
* about anything that still refuses to die. POSIX only (no-op on win32).
|
|
130
|
-
* The only kill target is `-pgid`, never anything outside the group.
|
|
131
|
-
* A healthy run costs exactly one `pgrep`.
|
|
132
|
-
*
|
|
133
|
-
* `context` names why the group is being reaped in the warning; the default
|
|
134
|
-
* is the post-close sweep. The parent-exit watchdog passes its own, because
|
|
135
|
-
* there the group is still running when the sweep begins.
|
|
136
|
-
*/
|
|
137
|
-
export async function sweepProcessGroup(pgid, graceMs = SWEEP_GRACE_MS, context = 'after exit') {
|
|
138
|
-
if (process.platform === 'win32')
|
|
139
|
-
return { survivors: [] };
|
|
140
|
-
const survivors = await listGroupSurvivors(pgid);
|
|
141
|
-
if (survivors.length === 0)
|
|
142
|
-
return { survivors };
|
|
143
|
-
warn(`Harness process group ${pgid} has ${survivors.length} live ` +
|
|
144
|
-
`process(es) ${context} — reaping the group. ${describeSurvivors(survivors)}`);
|
|
145
|
-
try {
|
|
146
|
-
process.kill(-pgid, 'SIGTERM');
|
|
147
|
-
}
|
|
148
|
-
catch {
|
|
149
|
-
// The group vanished between the listing and the signal, so there is
|
|
150
|
-
// nothing left to escalate against. Report the survivors collected so far.
|
|
151
|
-
return { survivors };
|
|
152
|
-
}
|
|
153
|
-
// Ref'd (sleep's default): this wait sits between the group
|
|
154
|
-
// SIGTERM and the post-grace re-list/SIGKILL escalation, awaited from a
|
|
155
|
-
// child 'close' handler after the signal forwarder is disposed. With an
|
|
156
|
-
// unref'd timer nothing keeps the event loop alive, so Node could exit
|
|
157
|
-
// mid-grace and skip the escalation entirely. Healthy runs never reach
|
|
158
|
-
// here (sweepProcessGroup early-returns on zero survivors).
|
|
159
|
-
await sleep(graceMs);
|
|
160
|
-
let remaining = await listGroupSurvivors(pgid);
|
|
161
|
-
if (remaining.length > 0) {
|
|
162
|
-
try {
|
|
163
|
-
process.kill(-pgid, 'SIGKILL');
|
|
164
|
-
}
|
|
165
|
-
catch {
|
|
166
|
-
// The group died during the grace period, so the SIGKILL escalation has
|
|
167
|
-
// nothing to signal.
|
|
168
|
-
return { survivors };
|
|
169
|
-
}
|
|
170
|
-
// Ref'd (sleep's default): this wait sits between the group
|
|
171
|
-
// SIGTERM and the post-grace re-list/SIGKILL escalation, awaited from a
|
|
172
|
-
// child 'close' handler after the signal forwarder is disposed. With an
|
|
173
|
-
// unref'd timer nothing keeps the event loop alive, so Node could exit
|
|
174
|
-
// mid-grace and skip the escalation entirely. Healthy runs never reach
|
|
175
|
-
// here (sweepProcessGroup early-returns on zero survivors).
|
|
176
|
-
await sleep(Math.min(200, graceMs));
|
|
177
|
-
remaining = await listGroupSurvivors(pgid);
|
|
178
|
-
if (remaining.length > 0) {
|
|
179
|
-
warn(`Process group ${pgid} still has survivors after SIGKILL: ${describeSurvivors(remaining)}. ` +
|
|
180
|
-
'Inspect manually (ps -axo pid,ppid,time,command) and kill by PID.');
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
verbose(`Process group ${pgid} reaped after SIGKILL escalation.`);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
else {
|
|
187
|
-
verbose(`Process group ${pgid} reaped cleanly with SIGTERM.`);
|
|
188
|
-
}
|
|
189
|
-
return { survivors };
|
|
190
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/** Options for {@link execWithInput}. */
|
|
2
|
-
export interface ExecWithInputOptions {
|
|
3
|
-
/** Working directory for the command */
|
|
4
|
-
cwd?: string;
|
|
5
|
-
/** Environment variables merged over `process.env` */
|
|
6
|
-
env?: Record<string, string>;
|
|
7
|
-
}
|
|
8
|
-
/** Result of {@link execWithInput}: stdout stays raw bytes. */
|
|
9
|
-
export interface ExecBufferResult {
|
|
10
|
-
/** Standard output, uncapped and undecoded */
|
|
11
|
-
stdout: Buffer;
|
|
12
|
-
/** Standard error, decoded as UTF-8 */
|
|
13
|
-
stderr: string;
|
|
14
|
-
/** Process exit code */
|
|
15
|
-
exitCode: number;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Runs a command, writes `input` to its stdin, and returns stdout as raw
|
|
19
|
-
* bytes. For batch protocols (`git cat-file --batch`) whose framing counts
|
|
20
|
-
* bytes: the decoded, 50 MB-capped collector `exec` uses would corrupt
|
|
21
|
-
* both. The caller bounds the input, and so the output.
|
|
22
|
-
* @param command - Command to execute
|
|
23
|
-
* @param args - Command arguments
|
|
24
|
-
* @param input - Bytes written to stdin, which is then closed
|
|
25
|
-
* @param options - Execution options
|
|
26
|
-
*/
|
|
27
|
-
export declare function execWithInput(command: string, args: string[], input: string | Buffer, options?: ExecWithInputOptions): Promise<ExecBufferResult>;
|