@hominis/fireforge 0.55.0 → 0.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +233 -6
- package/README.md +51 -17
- package/dist/bin/fireforge.js +34 -129
- package/dist/build-info.json +4 -4
- package/dist/src/check/check.js +394 -0
- package/dist/src/check/gate.js +448 -0
- package/dist/src/check/index.js +10 -0
- package/dist/src/check/record.js +155 -0
- package/dist/src/cli/command.js +286 -0
- package/dist/src/cli/output.js +96 -0
- package/dist/src/cli/program.js +231 -0
- package/dist/src/cli/stdio.js +59 -0
- package/dist/src/cli/version.js +99 -0
- package/dist/src/commands/bootstrap.js +17 -102
- package/dist/src/commands/build.js +34 -456
- package/dist/src/commands/check.js +44 -157
- package/dist/src/commands/config.js +50 -226
- package/dist/src/commands/discard.js +38 -215
- package/dist/src/commands/doctor.js +29 -456
- package/dist/src/commands/download.js +35 -499
- package/dist/src/commands/export.js +42 -431
- package/dist/src/commands/furnace.js +220 -0
- package/dist/src/commands/gate.js +127 -0
- package/dist/src/commands/import.js +44 -445
- package/dist/src/commands/index.js +86 -0
- package/dist/src/commands/lint.js +44 -546
- package/dist/src/commands/merge-driver.js +56 -0
- package/dist/src/commands/migrate.js +75 -0
- package/dist/src/commands/override.js +43 -0
- package/dist/src/commands/package.js +48 -77
- package/dist/src/commands/patch.js +221 -0
- package/dist/src/commands/re-export.js +55 -359
- package/dist/src/commands/rebase.js +69 -0
- package/dist/src/commands/register.js +62 -103
- package/dist/src/commands/reset.js +28 -91
- package/dist/src/commands/resolve.js +20 -167
- package/dist/src/commands/restore.js +19 -0
- package/dist/src/commands/run.js +60 -382
- package/dist/src/commands/setup.js +78 -90
- package/dist/src/commands/status.js +44 -413
- package/dist/src/commands/test.js +97 -423
- package/dist/src/commands/token.js +185 -228
- package/dist/src/commands/typecheck.js +59 -241
- package/dist/src/commands/verify.js +28 -334
- package/dist/src/commands/version.js +14 -0
- package/dist/src/commands/watch.js +20 -218
- package/dist/src/commands/wire.js +60 -349
- package/dist/src/commands/workspace.js +117 -0
- package/dist/src/config/edit.js +237 -0
- package/dist/src/config/index.js +15 -0
- package/dist/src/config/load.js +59 -0
- package/dist/src/config/previous.js +404 -0
- package/dist/src/config/schema/build.js +63 -0
- package/dist/src/config/schema/check.js +113 -0
- package/dist/src/config/schema/common.js +71 -0
- package/dist/src/config/schema/export-queue.js +36 -0
- package/dist/src/config/schema/firefox.js +69 -0
- package/dist/src/config/schema/gate.js +199 -0
- package/dist/src/config/schema/identity.js +55 -0
- package/dist/src/config/schema/index.js +45 -0
- package/dist/src/config/schema/lint.js +297 -0
- package/dist/src/config/schema/policy.js +111 -0
- package/dist/src/config/schema/source.js +90 -0
- package/dist/src/config/schema/test.js +17 -0
- package/dist/src/config/schema/toolchains.js +17 -0
- package/dist/src/config/schema/typecheck.js +29 -0
- package/dist/src/config/schema/wire.js +15 -0
- package/dist/src/diff/apply.js +129 -0
- package/dist/src/diff/index.js +16 -0
- package/dist/src/diff/model.js +267 -0
- package/dist/src/diff/query.js +65 -0
- package/dist/src/doctor/index.js +240 -0
- package/dist/src/engine/archive.js +396 -0
- package/dist/src/engine/audit.js +66 -0
- package/dist/src/engine/build.js +150 -0
- package/dist/src/engine/hostLocks.js +66 -0
- package/dist/src/engine/index.js +26 -0
- package/dist/src/engine/installManifests.js +147 -0
- package/dist/src/engine/mach.js +97 -0
- package/dist/src/engine/machHints.js +80 -0
- package/dist/src/engine/mozconfig.js +110 -0
- package/dist/src/engine/objdir.js +124 -0
- package/dist/src/engine/package.js +169 -0
- package/dist/src/engine/pin.js +12 -0
- package/dist/src/engine/pool.js +423 -0
- package/dist/src/engine/pristine.js +281 -0
- package/dist/src/engine/python.js +68 -0
- package/dist/src/engine/resourceGuard.js +582 -0
- package/dist/src/engine/run.js +259 -0
- package/dist/src/engine/smoke.js +204 -0
- package/dist/src/engine/staleness.js +229 -0
- package/dist/src/engine/watch.js +82 -0
- package/dist/src/engine/workspace.js +85 -0
- package/dist/src/furnace/config.js +360 -0
- package/dist/src/furnace/deploy.js +414 -0
- package/dist/src/furnace/diff.js +59 -0
- package/dist/src/furnace/edit.js +64 -0
- package/dist/src/furnace/fragments.js +53 -0
- package/dist/src/furnace/index.js +19 -0
- package/dist/src/furnace/operations.js +283 -0
- package/dist/src/furnace/registration.js +220 -0
- package/dist/src/furnace/scaffold.js +311 -0
- package/dist/src/furnace/typing.js +252 -0
- package/dist/src/furnace/validate.js +662 -0
- package/dist/src/git/apply.js +129 -0
- package/dist/src/git/diff.js +143 -0
- package/dist/src/git/index.js +33 -0
- package/dist/src/git/objects.js +201 -0
- package/dist/src/git/refs.js +85 -0
- package/dist/src/git/repo.js +222 -0
- package/dist/src/git/run.js +242 -0
- package/dist/src/git/status.js +156 -0
- package/dist/src/kernel/errors.js +123 -0
- package/dist/src/kernel/fs.js +515 -0
- package/dist/src/kernel/glob.js +63 -0
- package/dist/src/kernel/hash.js +28 -0
- package/dist/src/kernel/journal.js +524 -0
- package/dist/src/kernel/json-edit.js +198 -0
- package/dist/src/kernel/json.js +101 -0
- package/dist/src/kernel/lock.js +589 -0
- package/dist/src/kernel/log.js +154 -0
- package/dist/src/kernel/process/identity.js +313 -0
- package/dist/src/kernel/process/index.js +8 -0
- package/dist/src/kernel/process/listing.js +128 -0
- package/dist/src/kernel/process/spawn.js +430 -0
- package/dist/src/kernel/process/tree.js +301 -0
- package/dist/src/kernel/schema.js +308 -0
- package/dist/src/kernel/signals.js +171 -0
- package/dist/src/kernel/text.js +151 -0
- package/dist/src/kernel/time.js +83 -0
- package/dist/src/kernel/tty.js +84 -0
- package/dist/src/lint/cache.js +77 -0
- package/dist/src/lint/checkjs.js +400 -0
- package/dist/src/lint/index.js +3 -0
- package/dist/src/lint/input.js +100 -0
- package/dist/src/lint/report.js +107 -0
- package/dist/src/lint/rule.js +41 -0
- package/dist/src/lint/rules/css.js +308 -0
- package/dist/src/lint/rules/javascript.js +299 -0
- package/dist/src/lint/rules/jsdoc.js +249 -0
- package/dist/src/lint/rules/license.js +93 -0
- package/dist/src/lint/rules/policy.js +201 -0
- package/dist/src/lint/rules/registration.js +264 -0
- package/dist/src/lint/rules/size.js +299 -0
- package/dist/src/lint/run.js +126 -0
- package/dist/src/lint/shim.js +323 -0
- package/dist/src/lint/typescript.js +186 -0
- package/dist/src/lint/waivers.js +93 -0
- package/dist/src/mode/changes.js +264 -0
- package/dist/src/mode/diagnose.js +173 -0
- package/dist/src/mode/export.js +147 -0
- package/dist/src/mode/index.js +23 -0
- package/dist/src/mode/migrate.js +181 -0
- package/dist/src/mode/previousWaivers.js +206 -0
- package/dist/src/mode/pristine.js +61 -0
- package/dist/src/mode/rebase.js +197 -0
- package/dist/src/mode/report.js +157 -0
- package/dist/src/mode/setup.js +103 -0
- package/dist/src/mode/tracked.js +116 -0
- package/dist/src/mode/upgrade.js +281 -0
- package/dist/src/mode/watch.js +83 -0
- package/dist/src/mode/workspace.js +189 -0
- package/dist/src/mozbuild/index.js +6 -0
- package/dist/src/mozbuild/jar.js +366 -0
- package/dist/src/mozbuild/mozbuild.js +321 -0
- package/dist/src/mozbuild/paths.js +96 -0
- package/dist/src/mozbuild/references.js +39 -0
- package/dist/src/mozbuild/testManifest.js +343 -0
- package/dist/src/mozbuild/text.js +142 -0
- package/dist/src/project/changes.js +145 -0
- package/dist/src/project/checkout.js +66 -0
- package/dist/src/project/index.js +11 -0
- package/dist/src/project/license.js +119 -0
- package/dist/src/project/project.js +111 -0
- package/dist/src/project/state.js +85 -0
- package/dist/src/project/tracked.js +1 -0
- package/dist/src/queue/apply.js +270 -0
- package/dist/src/queue/attribute.js +159 -0
- package/dist/src/queue/baseline.js +409 -0
- package/dist/src/queue/capture.js +298 -0
- package/dist/src/queue/changes.js +234 -0
- package/dist/src/queue/index.js +50 -0
- package/dist/src/queue/manifest.js +341 -0
- package/dist/src/queue/operations.js +454 -0
- package/dist/src/queue/placement.js +220 -0
- package/dist/src/queue/queue.js +359 -0
- package/dist/src/queue/restore.js +103 -0
- package/dist/src/queue/session.js +685 -0
- package/dist/src/queue/status.js +137 -0
- package/dist/src/register/files.js +39 -0
- package/dist/src/register/index.js +8 -0
- package/dist/src/register/js.js +217 -0
- package/dist/src/register/register.js +359 -0
- package/dist/src/register/wire.js +146 -0
- package/dist/src/source/adopt.js +99 -0
- package/dist/src/source/changes.js +132 -0
- package/dist/src/source/edit.js +278 -0
- package/dist/src/source/export.js +70 -0
- package/dist/src/source/groups.js +131 -0
- package/dist/src/source/index.js +20 -0
- package/dist/src/source/materialize.js +382 -0
- package/dist/src/source/merge.js +255 -0
- package/dist/src/source/objects.js +102 -0
- package/dist/src/source/previous.js +166 -0
- package/dist/src/source/records.js +138 -0
- package/dist/src/source/refresh.js +264 -0
- package/dist/src/source/tree.js +337 -0
- package/dist/src/syntax/css.js +215 -0
- package/dist/src/syntax/fragments.js +63 -0
- package/dist/src/syntax/index.js +10 -0
- package/dist/src/syntax/js.js +270 -0
- package/dist/src/test/classify.js +826 -0
- package/dist/src/test/control.js +236 -0
- package/dist/src/test/host.js +266 -0
- package/dist/src/test/index.js +11 -0
- package/dist/src/test/plan.js +347 -0
- package/dist/src/test/rawLog.js +138 -0
- package/dist/src/test/run.js +404 -0
- package/dist/src/test/verdict.js +420 -0
- package/dist/src/test/xpcshell.js +143 -0
- package/dist/src/tokens/add.js +304 -0
- package/dist/src/tokens/coverage.js +65 -0
- package/dist/src/tokens/css.js +58 -0
- package/dist/src/tokens/index.js +12 -0
- package/dist/src/tokens/lint.js +96 -0
- package/dist/src/tokens/model.js +118 -0
- package/dist/src/tokens/settings.js +87 -0
- package/dist/src/tokens/siblings.js +104 -0
- package/dist/src/typecheck/explain.js +123 -0
- package/dist/src/typecheck/index.js +8 -0
- package/dist/src/typecheck/typecheck.js +332 -0
- package/docs/README.md +23 -28
- package/docs/authoring.md +97 -0
- package/docs/configuration.md +307 -766
- package/docs/exit-codes.md +76 -94
- package/docs/furnace.md +111 -221
- package/docs/gate.md +205 -0
- package/docs/getting-started.md +165 -0
- package/docs/machine-output.md +201 -290
- package/docs/migrating.md +261 -0
- package/docs/patch-workflow.md +159 -723
- package/docs/quality.md +220 -0
- package/docs/source-workflow.md +228 -0
- package/docs/testing.md +101 -719
- package/docs/workspaces.md +187 -0
- package/package.json +22 -30
- package/templates/configs/common.mozconfig +8 -2
- package/templates/configs/darwin.mozconfig +6 -7
- package/templates/configs/linux.mozconfig +5 -8
- package/templates/configs/win32.mozconfig +3 -9
- package/dist/bin/fireforge.d.ts +0 -9
- package/dist/src/cli-usage-error.d.ts +0 -46
- package/dist/src/cli-usage-error.js +0 -81
- package/dist/src/cli.d.ts +0 -41
- package/dist/src/cli.js +0 -380
- package/dist/src/commands/bootstrap-checks.d.ts +0 -16
- package/dist/src/commands/bootstrap-checks.js +0 -66
- package/dist/src/commands/bootstrap.d.ts +0 -10
- package/dist/src/commands/build-prelock.d.ts +0 -20
- package/dist/src/commands/build-prelock.js +0 -50
- package/dist/src/commands/build.d.ts +0 -13
- package/dist/src/commands/check-report.d.ts +0 -41
- package/dist/src/commands/check-report.js +0 -98
- package/dist/src/commands/check-run.d.ts +0 -44
- package/dist/src/commands/check-run.js +0 -125
- package/dist/src/commands/check-steps.d.ts +0 -75
- package/dist/src/commands/check-steps.js +0 -200
- package/dist/src/commands/check.d.ts +0 -32
- package/dist/src/commands/config.d.ts +0 -13
- package/dist/src/commands/declarations-report.d.ts +0 -49
- package/dist/src/commands/declarations-report.js +0 -83
- package/dist/src/commands/destructive-decision.d.ts +0 -19
- package/dist/src/commands/destructive-decision.js +0 -31
- package/dist/src/commands/discard.d.ts +0 -12
- package/dist/src/commands/doctor-check-core.d.ts +0 -110
- package/dist/src/commands/doctor-check-core.js +0 -24
- package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
- package/dist/src/commands/doctor-engine-eslint.js +0 -17
- package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
- package/dist/src/commands/doctor-external-toolchains.js +0 -56
- package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
- package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
- package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
- package/dist/src/commands/doctor-furnace-jar.js +0 -44
- package/dist/src/commands/doctor-furnace.d.ts +0 -8
- package/dist/src/commands/doctor-furnace.js +0 -514
- package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
- package/dist/src/commands/doctor-macos-sdk.js +0 -158
- package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
- package/dist/src/commands/doctor-orphaned-harness.js +0 -98
- package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
- package/dist/src/commands/doctor-patch-manifest.js +0 -156
- package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
- package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
- package/dist/src/commands/doctor-source-pin.d.ts +0 -29
- package/dist/src/commands/doctor-source-pin.js +0 -91
- package/dist/src/commands/doctor-working-tree.d.ts +0 -27
- package/dist/src/commands/doctor-working-tree.js +0 -89
- package/dist/src/commands/doctor.d.ts +0 -49
- package/dist/src/commands/download.d.ts +0 -11
- package/dist/src/commands/export-adopt-check.d.ts +0 -37
- package/dist/src/commands/export-adopt-check.js +0 -97
- package/dist/src/commands/export-all.d.ts +0 -11
- package/dist/src/commands/export-all.js +0 -361
- package/dist/src/commands/export-flow.d.ts +0 -124
- package/dist/src/commands/export-flow.js +0 -423
- package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
- package/dist/src/commands/export-placement-conflicts.js +0 -75
- package/dist/src/commands/export-placement-gate.d.ts +0 -42
- package/dist/src/commands/export-placement-gate.js +0 -107
- package/dist/src/commands/export-placement-policy.d.ts +0 -22
- package/dist/src/commands/export-placement-policy.js +0 -54
- package/dist/src/commands/export-shared.d.ts +0 -152
- package/dist/src/commands/export-shared.js +0 -396
- package/dist/src/commands/export-staged-registration.d.ts +0 -46
- package/dist/src/commands/export-staged-registration.js +0 -91
- package/dist/src/commands/export.d.ts +0 -13
- package/dist/src/commands/forward-import-remedy.d.ts +0 -31
- package/dist/src/commands/forward-import-remedy.js +0 -62
- package/dist/src/commands/furnace/apply.d.ts +0 -8
- package/dist/src/commands/furnace/apply.js +0 -327
- package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
- package/dist/src/commands/furnace/authoring-config.js +0 -19
- package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
- package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
- package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
- package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
- package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
- package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
- package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
- package/dist/src/commands/furnace/chrome-doc.js +0 -365
- package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
- package/dist/src/commands/furnace/create-browser-test.js +0 -179
- package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
- package/dist/src/commands/furnace/create-dry-run.js +0 -107
- package/dist/src/commands/furnace/create-features.d.ts +0 -24
- package/dist/src/commands/furnace/create-features.js +0 -55
- package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
- package/dist/src/commands/furnace/create-mochikit.js +0 -75
- package/dist/src/commands/furnace/create-readback.d.ts +0 -22
- package/dist/src/commands/furnace/create-readback.js +0 -32
- package/dist/src/commands/furnace/create-templates.d.ts +0 -119
- package/dist/src/commands/furnace/create-templates.js +0 -283
- package/dist/src/commands/furnace/create-validation.d.ts +0 -6
- package/dist/src/commands/furnace/create-validation.js +0 -59
- package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
- package/dist/src/commands/furnace/create-xpcshell.js +0 -80
- package/dist/src/commands/furnace/create.d.ts +0 -24
- package/dist/src/commands/furnace/create.js +0 -407
- package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
- package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
- package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
- package/dist/src/commands/furnace/deploy-named.js +0 -107
- package/dist/src/commands/furnace/deploy.d.ts +0 -9
- package/dist/src/commands/furnace/deploy.js +0 -229
- package/dist/src/commands/furnace/diff.d.ts +0 -11
- package/dist/src/commands/furnace/diff.js +0 -238
- package/dist/src/commands/furnace/index.d.ts +0 -4
- package/dist/src/commands/furnace/index.js +0 -283
- package/dist/src/commands/furnace/init.d.ts +0 -11
- package/dist/src/commands/furnace/init.js +0 -287
- package/dist/src/commands/furnace/list.d.ts +0 -8
- package/dist/src/commands/furnace/list.js +0 -104
- package/dist/src/commands/furnace/override.d.ts +0 -16
- package/dist/src/commands/furnace/override.js +0 -454
- package/dist/src/commands/furnace/preview.d.ts +0 -19
- package/dist/src/commands/furnace/preview.js +0 -349
- package/dist/src/commands/furnace/refresh.d.ts +0 -10
- package/dist/src/commands/furnace/refresh.js +0 -303
- package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
- package/dist/src/commands/furnace/remove-mutations.js +0 -168
- package/dist/src/commands/furnace/remove-state.d.ts +0 -20
- package/dist/src/commands/furnace/remove-state.js +0 -60
- package/dist/src/commands/furnace/remove.d.ts +0 -8
- package/dist/src/commands/furnace/remove.js +0 -415
- package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
- package/dist/src/commands/furnace/rename-browser-test.js +0 -68
- package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
- package/dist/src/commands/furnace/rename-dry-run.js +0 -127
- package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
- package/dist/src/commands/furnace/rename-helpers.js +0 -85
- package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
- package/dist/src/commands/furnace/rename-registrations.js +0 -98
- package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
- package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
- package/dist/src/commands/furnace/rename.d.ts +0 -6
- package/dist/src/commands/furnace/rename.js +0 -400
- package/dist/src/commands/furnace/scan.d.ts +0 -14
- package/dist/src/commands/furnace/scan.js +0 -192
- package/dist/src/commands/furnace/status.d.ts +0 -7
- package/dist/src/commands/furnace/status.js +0 -209
- package/dist/src/commands/furnace/sync.d.ts +0 -12
- package/dist/src/commands/furnace/sync.js +0 -145
- package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
- package/dist/src/commands/furnace/test-file-name.js +0 -39
- package/dist/src/commands/furnace/validate-report.d.ts +0 -45
- package/dist/src/commands/furnace/validate-report.js +0 -91
- package/dist/src/commands/furnace/validate.d.ts +0 -8
- package/dist/src/commands/furnace/validate.js +0 -309
- package/dist/src/commands/furnace/validation-output.d.ts +0 -47
- package/dist/src/commands/furnace/validation-output.js +0 -161
- package/dist/src/commands/import.d.ts +0 -11
- package/dist/src/commands/lint-per-patch.d.ts +0 -10
- package/dist/src/commands/lint-per-patch.js +0 -428
- package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
- package/dist/src/commands/lint-per-run-checkjs.js +0 -102
- package/dist/src/commands/lint-report.d.ts +0 -25
- package/dist/src/commands/lint-report.js +0 -76
- package/dist/src/commands/lint.d.ts +0 -47
- package/dist/src/commands/manifest.d.ts +0 -38
- package/dist/src/commands/manifest.js +0 -68
- package/dist/src/commands/package.d.ts +0 -11
- package/dist/src/commands/park.d.ts +0 -22
- package/dist/src/commands/park.js +0 -232
- package/dist/src/commands/patch/body.d.ts +0 -29
- package/dist/src/commands/patch/body.js +0 -60
- package/dist/src/commands/patch/compact.d.ts +0 -28
- package/dist/src/commands/patch/compact.js +0 -208
- package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
- package/dist/src/commands/patch/delete-gap-notice.js +0 -48
- package/dist/src/commands/patch/delete.d.ts +0 -28
- package/dist/src/commands/patch/delete.js +0 -131
- package/dist/src/commands/patch/entry-projection.d.ts +0 -13
- package/dist/src/commands/patch/entry-projection.js +0 -24
- package/dist/src/commands/patch/index.d.ts +0 -16
- package/dist/src/commands/patch/index.js +0 -54
- package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
- package/dist/src/commands/patch/lint-ignore-from.js +0 -141
- package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
- package/dist/src/commands/patch/lint-ignore.js +0 -263
- package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
- package/dist/src/commands/patch/move-files-adopt.js +0 -65
- package/dist/src/commands/patch/move-files-create.d.ts +0 -19
- package/dist/src/commands/patch/move-files-create.js +0 -187
- package/dist/src/commands/patch/move-files-into.d.ts +0 -65
- package/dist/src/commands/patch/move-files-into.js +0 -325
- package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
- package/dist/src/commands/patch/move-files-retire.js +0 -91
- package/dist/src/commands/patch/move-files.d.ts +0 -28
- package/dist/src/commands/patch/move-files.js +0 -224
- package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
- package/dist/src/commands/patch/move-size-tier.js +0 -66
- package/dist/src/commands/patch/patch-context.d.ts +0 -40
- package/dist/src/commands/patch/patch-context.js +0 -51
- package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
- package/dist/src/commands/patch/removal-created-files.js +0 -83
- package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
- package/dist/src/commands/patch/removal-dependents.js +0 -133
- package/dist/src/commands/patch/rename.d.ts +0 -35
- package/dist/src/commands/patch/rename.js +0 -378
- package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
- package/dist/src/commands/patch/reorder-projection.js +0 -49
- package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
- package/dist/src/commands/patch/reorder-shift.js +0 -307
- package/dist/src/commands/patch/reorder.d.ts +0 -34
- package/dist/src/commands/patch/reorder.js +0 -375
- package/dist/src/commands/patch/reserve.d.ts +0 -33
- package/dist/src/commands/patch/reserve.js +0 -152
- package/dist/src/commands/patch/retire.d.ts +0 -34
- package/dist/src/commands/patch/retire.js +0 -133
- package/dist/src/commands/patch/split-plan.d.ts +0 -125
- package/dist/src/commands/patch/split-plan.js +0 -313
- package/dist/src/commands/patch/split-staged.d.ts +0 -108
- package/dist/src/commands/patch/split-staged.js +0 -202
- package/dist/src/commands/patch/split.d.ts +0 -43
- package/dist/src/commands/patch/split.js +0 -367
- package/dist/src/commands/patch/stage.d.ts +0 -34
- package/dist/src/commands/patch/stage.js +0 -153
- package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
- package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
- package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
- package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
- package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
- package/dist/src/commands/patch/staged-dependency-from.js +0 -114
- package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
- package/dist/src/commands/patch/staged-dependency-remove.js +0 -114
- package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -27
- package/dist/src/commands/patch/staged-dependency-validate.js +0 -78
- package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
- package/dist/src/commands/patch/staged-dependency.js +0 -251
- package/dist/src/commands/patch/tier.d.ts +0 -34
- package/dist/src/commands/patch/tier.js +0 -125
- package/dist/src/commands/patch-rename-map.d.ts +0 -30
- package/dist/src/commands/patch-rename-map.js +0 -54
- package/dist/src/commands/pending-resolution.d.ts +0 -15
- package/dist/src/commands/pending-resolution.js +0 -25
- package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
- package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
- package/dist/src/commands/re-export-adjacent.d.ts +0 -111
- package/dist/src/commands/re-export-adjacent.js +0 -285
- package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
- package/dist/src/commands/re-export-bulk-scan.js +0 -233
- package/dist/src/commands/re-export-drift.d.ts +0 -110
- package/dist/src/commands/re-export-drift.js +0 -358
- package/dist/src/commands/re-export-each.d.ts +0 -46
- package/dist/src/commands/re-export-each.js +0 -110
- package/dist/src/commands/re-export-files.d.ts +0 -15
- package/dist/src/commands/re-export-files.js +0 -307
- package/dist/src/commands/re-export-hunks.d.ts +0 -37
- package/dist/src/commands/re-export-hunks.js +0 -264
- package/dist/src/commands/re-export-lint.d.ts +0 -137
- package/dist/src/commands/re-export-lint.js +0 -303
- package/dist/src/commands/re-export-options.d.ts +0 -29
- package/dist/src/commands/re-export-options.js +0 -192
- package/dist/src/commands/re-export-preflight.d.ts +0 -23
- package/dist/src/commands/re-export-preflight.js +0 -159
- package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
- package/dist/src/commands/re-export-purity-scope.js +0 -137
- package/dist/src/commands/re-export-register.d.ts +0 -12
- package/dist/src/commands/re-export-register.js +0 -99
- package/dist/src/commands/re-export-removed.d.ts +0 -15
- package/dist/src/commands/re-export-removed.js +0 -94
- package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
- package/dist/src/commands/re-export-retired-declarations.js +0 -113
- package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
- package/dist/src/commands/re-export-scan-owner.js +0 -116
- package/dist/src/commands/re-export-scan.d.ts +0 -72
- package/dist/src/commands/re-export-scan.js +0 -265
- package/dist/src/commands/re-export-single.d.ts +0 -53
- package/dist/src/commands/re-export-single.js +0 -426
- package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
- package/dist/src/commands/re-export-stale-registrations.js +0 -106
- package/dist/src/commands/re-export-summary.d.ts +0 -44
- package/dist/src/commands/re-export-summary.js +0 -59
- package/dist/src/commands/re-export.d.ts +0 -8
- package/dist/src/commands/rebase/abort.d.ts +0 -7
- package/dist/src/commands/rebase/abort.js +0 -67
- package/dist/src/commands/rebase/confirm.d.ts +0 -42
- package/dist/src/commands/rebase/confirm.js +0 -36
- package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
- package/dist/src/commands/rebase/conflict-summary.js +0 -37
- package/dist/src/commands/rebase/continue.d.ts +0 -7
- package/dist/src/commands/rebase/continue.js +0 -119
- package/dist/src/commands/rebase/index.d.ts +0 -22
- package/dist/src/commands/rebase/index.js +0 -209
- package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
- package/dist/src/commands/rebase/patch-loop.js +0 -289
- package/dist/src/commands/rebase/summary.d.ts +0 -8
- package/dist/src/commands/rebase/summary.js +0 -47
- package/dist/src/commands/register.d.ts +0 -13
- package/dist/src/commands/reset.d.ts +0 -11
- package/dist/src/commands/resolve.d.ts +0 -36
- package/dist/src/commands/run.d.ts +0 -10
- package/dist/src/commands/setup-support.d.ts +0 -35
- package/dist/src/commands/setup-support.js +0 -386
- package/dist/src/commands/setup.d.ts +0 -11
- package/dist/src/commands/source.d.ts +0 -9
- package/dist/src/commands/source.js +0 -120
- package/dist/src/commands/status-check.d.ts +0 -87
- package/dist/src/commands/status-check.js +0 -161
- package/dist/src/commands/status-json.d.ts +0 -45
- package/dist/src/commands/status-json.js +0 -97
- package/dist/src/commands/status-output.d.ts +0 -23
- package/dist/src/commands/status-output.js +0 -231
- package/dist/src/commands/status-ownership.d.ts +0 -54
- package/dist/src/commands/status-ownership.js +0 -59
- package/dist/src/commands/status-scope.d.ts +0 -37
- package/dist/src/commands/status-scope.js +0 -54
- package/dist/src/commands/status.d.ts +0 -11
- package/dist/src/commands/test-appdir.d.ts +0 -6
- package/dist/src/commands/test-appdir.js +0 -29
- package/dist/src/commands/test-browser-preflight.d.ts +0 -28
- package/dist/src/commands/test-browser-preflight.js +0 -197
- package/dist/src/commands/test-build-furnace.d.ts +0 -21
- package/dist/src/commands/test-build-furnace.js +0 -53
- package/dist/src/commands/test-build-phase.d.ts +0 -34
- package/dist/src/commands/test-build-phase.js +0 -291
- package/dist/src/commands/test-checkjs.d.ts +0 -3
- package/dist/src/commands/test-checkjs.js +0 -35
- package/dist/src/commands/test-control-restore.d.ts +0 -40
- package/dist/src/commands/test-control-restore.js +0 -86
- package/dist/src/commands/test-diagnose.d.ts +0 -23
- package/dist/src/commands/test-diagnose.js +0 -317
- package/dist/src/commands/test-dispatch.d.ts +0 -39
- package/dist/src/commands/test-dispatch.js +0 -281
- package/dist/src/commands/test-furnace-reach.d.ts +0 -37
- package/dist/src/commands/test-furnace-reach.js +0 -132
- package/dist/src/commands/test-harness-env.d.ts +0 -23
- package/dist/src/commands/test-harness-env.js +0 -81
- package/dist/src/commands/test-harness-teardown.d.ts +0 -62
- package/dist/src/commands/test-harness-teardown.js +0 -128
- package/dist/src/commands/test-modes.d.ts +0 -57
- package/dist/src/commands/test-modes.js +0 -158
- package/dist/src/commands/test-multi-verdict.d.ts +0 -61
- package/dist/src/commands/test-multi-verdict.js +0 -112
- package/dist/src/commands/test-orchestrate.d.ts +0 -70
- package/dist/src/commands/test-orchestrate.js +0 -277
- package/dist/src/commands/test-perf-scope.d.ts +0 -50
- package/dist/src/commands/test-perf-scope.js +0 -138
- package/dist/src/commands/test-prelock.d.ts +0 -61
- package/dist/src/commands/test-prelock.js +0 -301
- package/dist/src/commands/test-register.d.ts +0 -4
- package/dist/src/commands/test-register.js +0 -181
- package/dist/src/commands/test-results.d.ts +0 -71
- package/dist/src/commands/test-results.js +0 -79
- package/dist/src/commands/test-run.d.ts +0 -89
- package/dist/src/commands/test-run.js +0 -251
- package/dist/src/commands/test-shards.d.ts +0 -114
- package/dist/src/commands/test-shards.js +0 -272
- package/dist/src/commands/test-stale-gate.d.ts +0 -56
- package/dist/src/commands/test-stale-gate.js +0 -208
- package/dist/src/commands/test-verdict.d.ts +0 -102
- package/dist/src/commands/test-verdict.js +0 -176
- package/dist/src/commands/test.d.ts +0 -22
- package/dist/src/commands/token-coverage.d.ts +0 -5
- package/dist/src/commands/token-coverage.js +0 -170
- package/dist/src/commands/token-lint.d.ts +0 -14
- package/dist/src/commands/token-lint.js +0 -151
- package/dist/src/commands/token-list.d.ts +0 -26
- package/dist/src/commands/token-list.js +0 -153
- package/dist/src/commands/token.d.ts +0 -14
- package/dist/src/commands/tree.d.ts +0 -19
- package/dist/src/commands/tree.js +0 -341
- package/dist/src/commands/typecheck-explain.d.ts +0 -13
- package/dist/src/commands/typecheck-explain.js +0 -100
- package/dist/src/commands/typecheck.d.ts +0 -61
- package/dist/src/commands/verify-scope.d.ts +0 -28
- package/dist/src/commands/verify-scope.js +0 -67
- package/dist/src/commands/verify.d.ts +0 -58
- package/dist/src/commands/watch.d.ts +0 -9
- package/dist/src/commands/wire.d.ts +0 -13
- package/dist/src/core/ast-utils.d.ts +0 -73
- package/dist/src/core/ast-utils.js +0 -105
- package/dist/src/core/brand-validation.d.ts +0 -7
- package/dist/src/core/brand-validation.js +0 -14
- package/dist/src/core/branding.d.ts +0 -86
- package/dist/src/core/branding.js +0 -371
- package/dist/src/core/browser-wire.d.ts +0 -48
- package/dist/src/core/browser-wire.js +0 -133
- package/dist/src/core/build-audit-platform.d.ts +0 -67
- package/dist/src/core/build-audit-platform.js +0 -373
- package/dist/src/core/build-audit-registration.d.ts +0 -80
- package/dist/src/core/build-audit-registration.js +0 -181
- package/dist/src/core/build-audit-resolve.d.ts +0 -78
- package/dist/src/core/build-audit-resolve.js +0 -240
- package/dist/src/core/build-audit-skip.d.ts +0 -57
- package/dist/src/core/build-audit-skip.js +0 -112
- package/dist/src/core/build-audit-transforms.d.ts +0 -23
- package/dist/src/core/build-audit-transforms.js +0 -92
- package/dist/src/core/build-audit.d.ts +0 -93
- package/dist/src/core/build-audit.js +0 -633
- package/dist/src/core/build-baseline-types.d.ts +0 -225
- package/dist/src/core/build-baseline-types.js +0 -10
- package/dist/src/core/build-baseline-validate.d.ts +0 -32
- package/dist/src/core/build-baseline-validate.js +0 -173
- package/dist/src/core/build-baseline.d.ts +0 -103
- package/dist/src/core/build-baseline.js +0 -261
- package/dist/src/core/build-jar-escalation.d.ts +0 -61
- package/dist/src/core/build-jar-escalation.js +0 -125
- package/dist/src/core/build-overwrite-guard.d.ts +0 -92
- package/dist/src/core/build-overwrite-guard.js +0 -235
- package/dist/src/core/build-prepare.d.ts +0 -83
- package/dist/src/core/build-prepare.js +0 -414
- package/dist/src/core/build-run-record.d.ts +0 -74
- package/dist/src/core/build-run-record.js +0 -136
- package/dist/src/core/checkjs-support-heads.d.ts +0 -41
- package/dist/src/core/checkjs-support-heads.js +0 -104
- package/dist/src/core/component-source-guard.d.ts +0 -20
- package/dist/src/core/component-source-guard.js +0 -68
- package/dist/src/core/config-mutate.d.ts +0 -16
- package/dist/src/core/config-mutate.js +0 -76
- package/dist/src/core/config-paths.d.ts +0 -16
- package/dist/src/core/config-paths.js +0 -106
- package/dist/src/core/config-state.d.ts +0 -16
- package/dist/src/core/config-state.js +0 -141
- package/dist/src/core/config-validate-build-audit.d.ts +0 -8
- package/dist/src/core/config-validate-build-audit.js +0 -80
- package/dist/src/core/config-validate-check.d.ts +0 -8
- package/dist/src/core/config-validate-check.js +0 -219
- package/dist/src/core/config-validate-file-size.d.ts +0 -15
- package/dist/src/core/config-validate-file-size.js +0 -154
- package/dist/src/core/config-validate-history.d.ts +0 -11
- package/dist/src/core/config-validate-history.js +0 -38
- package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
- package/dist/src/core/config-validate-patch-policy.js +0 -284
- package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
- package/dist/src/core/config-validate-test-toolchains.js +0 -133
- package/dist/src/core/config-validate-token-scales.d.ts +0 -9
- package/dist/src/core/config-validate-token-scales.js +0 -125
- package/dist/src/core/config-validate.d.ts +0 -11
- package/dist/src/core/config-validate.js +0 -509
- package/dist/src/core/config.d.ts +0 -92
- package/dist/src/core/config.js +0 -169
- package/dist/src/core/coverage-dispatch.d.ts +0 -24
- package/dist/src/core/coverage-dispatch.js +0 -44
- package/dist/src/core/coverage-extend.d.ts +0 -89
- package/dist/src/core/coverage-extend.js +0 -239
- package/dist/src/core/coverage-records.d.ts +0 -107
- package/dist/src/core/coverage-records.js +0 -383
- package/dist/src/core/destructive.d.ts +0 -144
- package/dist/src/core/destructive.js +0 -182
- package/dist/src/core/dev-profile.d.ts +0 -28
- package/dist/src/core/dev-profile.js +0 -58
- package/dist/src/core/diff-hunks.d.ts +0 -73
- package/dist/src/core/diff-hunks.js +0 -286
- package/dist/src/core/discard-baseline.d.ts +0 -60
- package/dist/src/core/discard-baseline.js +0 -247
- package/dist/src/core/display-state.d.ts +0 -50
- package/dist/src/core/display-state.js +0 -87
- package/dist/src/core/engine-changes.d.ts +0 -40
- package/dist/src/core/engine-changes.js +0 -95
- package/dist/src/core/engine-precondition.d.ts +0 -42
- package/dist/src/core/engine-precondition.js +0 -60
- package/dist/src/core/engine-session-lock.d.ts +0 -119
- package/dist/src/core/engine-session-lock.js +0 -374
- package/dist/src/core/engine-write-boundary.d.ts +0 -5
- package/dist/src/core/engine-write-boundary.js +0 -41
- package/dist/src/core/export-moved-code-shape.d.ts +0 -98
- package/dist/src/core/export-moved-code-shape.js +0 -220
- package/dist/src/core/file-lock-owner.d.ts +0 -103
- package/dist/src/core/file-lock-owner.js +0 -259
- package/dist/src/core/file-lock-queue.d.ts +0 -67
- package/dist/src/core/file-lock-queue.js +0 -219
- package/dist/src/core/file-lock-shared.d.ts +0 -57
- package/dist/src/core/file-lock-shared.js +0 -117
- package/dist/src/core/file-lock.d.ts +0 -143
- package/dist/src/core/file-lock.js +0 -531
- package/dist/src/core/firefox-archive.d.ts +0 -45
- package/dist/src/core/firefox-archive.js +0 -96
- package/dist/src/core/firefox-cache.d.ts +0 -30
- package/dist/src/core/firefox-cache.js +0 -248
- package/dist/src/core/firefox-download.d.ts +0 -30
- package/dist/src/core/firefox-download.js +0 -152
- package/dist/src/core/firefox-extract.d.ts +0 -42
- package/dist/src/core/firefox-extract.js +0 -248
- package/dist/src/core/firefox-ignorefile.d.ts +0 -17
- package/dist/src/core/firefox-ignorefile.js +0 -30
- package/dist/src/core/firefox.d.ts +0 -66
- package/dist/src/core/firefox.js +0 -121
- package/dist/src/core/forward-registrations.d.ts +0 -33
- package/dist/src/core/forward-registrations.js +0 -16
- package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
- package/dist/src/core/furnace-apply-dry-run.js +0 -99
- package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
- package/dist/src/core/furnace-apply-ftl.js +0 -210
- package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
- package/dist/src/core/furnace-apply-helpers.js +0 -436
- package/dist/src/core/furnace-apply-output.d.ts +0 -36
- package/dist/src/core/furnace-apply-output.js +0 -111
- package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -67
- package/dist/src/core/furnace-apply-overwrite-warn.js +0 -131
- package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
- package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
- package/dist/src/core/furnace-apply.d.ts +0 -49
- package/dist/src/core/furnace-apply.js +0 -465
- package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
- package/dist/src/core/furnace-checksum-utils.js +0 -54
- package/dist/src/core/furnace-composed-source.d.ts +0 -76
- package/dist/src/core/furnace-composed-source.js +0 -167
- package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
- package/dist/src/core/furnace-config-array-utils.js +0 -26
- package/dist/src/core/furnace-config-custom.d.ts +0 -15
- package/dist/src/core/furnace-config-custom.js +0 -73
- package/dist/src/core/furnace-config-order.d.ts +0 -8
- package/dist/src/core/furnace-config-order.js +0 -90
- package/dist/src/core/furnace-config-tokens.d.ts +0 -17
- package/dist/src/core/furnace-config-tokens.js +0 -42
- package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
- package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
- package/dist/src/core/furnace-config-validate.d.ts +0 -32
- package/dist/src/core/furnace-config-validate.js +0 -167
- package/dist/src/core/furnace-config.d.ts +0 -139
- package/dist/src/core/furnace-config.js +0 -511
- package/dist/src/core/furnace-constants.d.ts +0 -81
- package/dist/src/core/furnace-constants.js +0 -125
- package/dist/src/core/furnace-css-fragments.d.ts +0 -96
- package/dist/src/core/furnace-css-fragments.js +0 -279
- package/dist/src/core/furnace-deploy-owner.d.ts +0 -29
- package/dist/src/core/furnace-deploy-owner.js +0 -116
- package/dist/src/core/furnace-dir-entry.d.ts +0 -20
- package/dist/src/core/furnace-dir-entry.js +0 -21
- package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
- package/dist/src/core/furnace-fragment-includers.js +0 -122
- package/dist/src/core/furnace-graph-utils.d.ts +0 -11
- package/dist/src/core/furnace-graph-utils.js +0 -93
- package/dist/src/core/furnace-jsconfig.d.ts +0 -87
- package/dist/src/core/furnace-jsconfig.js +0 -248
- package/dist/src/core/furnace-marker.d.ts +0 -15
- package/dist/src/core/furnace-marker.js +0 -21
- package/dist/src/core/furnace-operation.d.ts +0 -195
- package/dist/src/core/furnace-operation.js +0 -444
- package/dist/src/core/furnace-precondition.d.ts +0 -61
- package/dist/src/core/furnace-precondition.js +0 -67
- package/dist/src/core/furnace-refresh.d.ts +0 -28
- package/dist/src/core/furnace-refresh.js +0 -125
- package/dist/src/core/furnace-registration-ast.d.ts +0 -53
- package/dist/src/core/furnace-registration-ast.js +0 -402
- package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
- package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
- package/dist/src/core/furnace-registration-remove.d.ts +0 -56
- package/dist/src/core/furnace-registration-remove.js +0 -260
- package/dist/src/core/furnace-registration-rename.d.ts +0 -26
- package/dist/src/core/furnace-registration-rename.js +0 -77
- package/dist/src/core/furnace-registration-validate.d.ts +0 -53
- package/dist/src/core/furnace-registration-validate.js +0 -110
- package/dist/src/core/furnace-registration.d.ts +0 -112
- package/dist/src/core/furnace-registration.js +0 -348
- package/dist/src/core/furnace-rollback.d.ts +0 -48
- package/dist/src/core/furnace-rollback.js +0 -170
- package/dist/src/core/furnace-scanner.d.ts +0 -47
- package/dist/src/core/furnace-scanner.js +0 -236
- package/dist/src/core/furnace-stale-export.d.ts +0 -60
- package/dist/src/core/furnace-stale-export.js +0 -125
- package/dist/src/core/furnace-staleness.d.ts +0 -24
- package/dist/src/core/furnace-staleness.js +0 -67
- package/dist/src/core/furnace-state-persist.d.ts +0 -68
- package/dist/src/core/furnace-state-persist.js +0 -116
- package/dist/src/core/furnace-step-errors.d.ts +0 -23
- package/dist/src/core/furnace-step-errors.js +0 -25
- package/dist/src/core/furnace-stories.d.ts +0 -37
- package/dist/src/core/furnace-stories.js +0 -186
- package/dist/src/core/furnace-tag-map.d.ts +0 -47
- package/dist/src/core/furnace-tag-map.js +0 -182
- package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
- package/dist/src/core/furnace-validate-accessibility.js +0 -417
- package/dist/src/core/furnace-validate-checks.d.ts +0 -4
- package/dist/src/core/furnace-validate-checks.js +0 -6
- package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
- package/dist/src/core/furnace-validate-compatibility.js +0 -295
- package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
- package/dist/src/core/furnace-validate-exceptions.js +0 -98
- package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
- package/dist/src/core/furnace-validate-helpers.js +0 -4
- package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
- package/dist/src/core/furnace-validate-icon-button.js +0 -78
- package/dist/src/core/furnace-validate-registration.d.ts +0 -67
- package/dist/src/core/furnace-validate-registration.js +0 -487
- package/dist/src/core/furnace-validate-structure.d.ts +0 -22
- package/dist/src/core/furnace-validate-structure.js +0 -122
- package/dist/src/core/furnace-validate.d.ts +0 -41
- package/dist/src/core/furnace-validate.js +0 -331
- package/dist/src/core/furnace-version-drift.d.ts +0 -57
- package/dist/src/core/furnace-version-drift.js +0 -102
- package/dist/src/core/gecko-dom-types.d.ts +0 -2
- package/dist/src/core/gecko-dom-types.js +0 -17
- package/dist/src/core/git-base.d.ts +0 -101
- package/dist/src/core/git-base.js +0 -162
- package/dist/src/core/git-diff-new-file.d.ts +0 -40
- package/dist/src/core/git-diff-new-file.js +0 -118
- package/dist/src/core/git-diff.d.ts +0 -82
- package/dist/src/core/git-diff.js +0 -539
- package/dist/src/core/git-file-ops.d.ts +0 -108
- package/dist/src/core/git-file-ops.js +0 -280
- package/dist/src/core/git-readonly-index.d.ts +0 -91
- package/dist/src/core/git-readonly-index.js +0 -177
- package/dist/src/core/git-status.d.ts +0 -84
- package/dist/src/core/git-status.js +0 -208
- package/dist/src/core/git.d.ts +0 -114
- package/dist/src/core/git.js +0 -540
- package/dist/src/core/harness-helper-pids.d.ts +0 -98
- package/dist/src/core/harness-helper-pids.js +0 -240
- package/dist/src/core/harness-orphans.d.ts +0 -118
- package/dist/src/core/harness-orphans.js +0 -268
- package/dist/src/core/harness-port-fallback.d.ts +0 -60
- package/dist/src/core/harness-port-fallback.js +0 -96
- package/dist/src/core/harness-port-reservation.d.ts +0 -60
- package/dist/src/core/harness-port-reservation.js +0 -122
- package/dist/src/core/history-log-file.d.ts +0 -61
- package/dist/src/core/history-log-file.js +0 -164
- package/dist/src/core/history-log.d.ts +0 -20
- package/dist/src/core/history-log.js +0 -30
- package/dist/src/core/json-preserving-edit.d.ts +0 -22
- package/dist/src/core/json-preserving-edit.js +0 -199
- package/dist/src/core/launchable-build.d.ts +0 -39
- package/dist/src/core/launchable-build.js +0 -85
- package/dist/src/core/license-headers.d.ts +0 -103
- package/dist/src/core/license-headers.js +0 -328
- package/dist/src/core/line-prefixer.d.ts +0 -18
- package/dist/src/core/line-prefixer.js +0 -34
- package/dist/src/core/lit-template-regions.d.ts +0 -4
- package/dist/src/core/lit-template-regions.js +0 -50
- package/dist/src/core/mach-build-artifacts.d.ts +0 -176
- package/dist/src/core/mach-build-artifacts.js +0 -436
- package/dist/src/core/mach-error-hints.d.ts +0 -24
- package/dist/src/core/mach-error-hints.js +0 -135
- package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
- package/dist/src/core/mach-known-noise-filter.js +0 -257
- package/dist/src/core/mach-mozconfig.d.ts +0 -57
- package/dist/src/core/mach-mozconfig.js +0 -166
- package/dist/src/core/mach-python.d.ts +0 -19
- package/dist/src/core/mach-python.js +0 -131
- package/dist/src/core/mach-resource-shim.d.ts +0 -107
- package/dist/src/core/mach-resource-shim.js +0 -640
- package/dist/src/core/mach.d.ts +0 -284
- package/dist/src/core/mach.js +0 -445
- package/dist/src/core/marionette-port.d.ts +0 -153
- package/dist/src/core/marionette-port.js +0 -474
- package/dist/src/core/marionette-preflight.d.ts +0 -58
- package/dist/src/core/marionette-preflight.js +0 -332
- package/dist/src/core/markdown-table.d.ts +0 -104
- package/dist/src/core/markdown-table.js +0 -265
- package/dist/src/core/mochitest-server-port.d.ts +0 -81
- package/dist/src/core/mochitest-server-port.js +0 -175
- package/dist/src/core/module-resolution-preflight.d.ts +0 -65
- package/dist/src/core/module-resolution-preflight.js +0 -171
- package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
- package/dist/src/core/moz-manifest-helpers.js +0 -163
- package/dist/src/core/moz-manifest-register.d.ts +0 -19
- package/dist/src/core/moz-manifest-register.js +0 -51
- package/dist/src/core/moz-manifest-rules.d.ts +0 -58
- package/dist/src/core/moz-manifest-rules.js +0 -264
- package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
- package/dist/src/core/moz-manifest-tokenizers.js +0 -108
- package/dist/src/core/negative-control-compiled.d.ts +0 -46
- package/dist/src/core/negative-control-compiled.js +0 -109
- package/dist/src/core/negative-control-diff.d.ts +0 -51
- package/dist/src/core/negative-control-diff.js +0 -167
- package/dist/src/core/negative-control.d.ts +0 -150
- package/dist/src/core/negative-control.js +0 -399
- package/dist/src/core/objdir-install-manifests.d.ts +0 -73
- package/dist/src/core/objdir-install-manifests.js +0 -226
- package/dist/src/core/objdir-maintenance.d.ts +0 -10
- package/dist/src/core/objdir-maintenance.js +0 -167
- package/dist/src/core/ownership-table.d.ts +0 -53
- package/dist/src/core/ownership-table.js +0 -159
- package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
- package/dist/src/core/parent-exit-watchdog.js +0 -69
- package/dist/src/core/park-store.d.ts +0 -63
- package/dist/src/core/park-store.js +0 -216
- package/dist/src/core/parser-fallback.d.ts +0 -50
- package/dist/src/core/parser-fallback.js +0 -61
- package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
- package/dist/src/core/patch-apply-fuzz.js +0 -125
- package/dist/src/core/patch-apply.d.ts +0 -88
- package/dist/src/core/patch-apply.js +0 -435
- package/dist/src/core/patch-export-coverage.d.ts +0 -49
- package/dist/src/core/patch-export-coverage.js +0 -73
- package/dist/src/core/patch-export-metadata.d.ts +0 -46
- package/dist/src/core/patch-export-metadata.js +0 -47
- package/dist/src/core/patch-export-update.d.ts +0 -55
- package/dist/src/core/patch-export-update.js +0 -95
- package/dist/src/core/patch-export.d.ts +0 -175
- package/dist/src/core/patch-export.js +0 -312
- package/dist/src/core/patch-files.d.ts +0 -17
- package/dist/src/core/patch-files.js +0 -59
- package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
- package/dist/src/core/patch-identifier-suggest.js +0 -135
- package/dist/src/core/patch-lint-binary.d.ts +0 -45
- package/dist/src/core/patch-lint-binary.js +0 -39
- package/dist/src/core/patch-lint-cache-checkjs.d.ts +0 -45
- package/dist/src/core/patch-lint-cache-checkjs.js +0 -195
- package/dist/src/core/patch-lint-cache.d.ts +0 -79
- package/dist/src/core/patch-lint-cache.js +0 -247
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -57
- package/dist/src/core/patch-lint-checkjs-any-import.js +0 -91
- package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
- package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
- package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
- package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
- package/dist/src/core/patch-lint-checkjs-resolve.d.ts +0 -31
- package/dist/src/core/patch-lint-checkjs-resolve.js +0 -86
- package/dist/src/core/patch-lint-checkjs.d.ts +0 -182
- package/dist/src/core/patch-lint-checkjs.js +0 -563
- package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
- package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
- package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
- package/dist/src/core/patch-lint-code-lines.js +0 -105
- package/dist/src/core/patch-lint-creators.d.ts +0 -26
- package/dist/src/core/patch-lint-creators.js +0 -45
- package/dist/src/core/patch-lint-cross.d.ts +0 -232
- package/dist/src/core/patch-lint-cross.js +0 -590
- package/dist/src/core/patch-lint-css.d.ts +0 -27
- package/dist/src/core/patch-lint-css.js +0 -228
- package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
- package/dist/src/core/patch-lint-diff-tag.js +0 -105
- package/dist/src/core/patch-lint-diff.d.ts +0 -42
- package/dist/src/core/patch-lint-diff.js +0 -100
- package/dist/src/core/patch-lint-file-size.d.ts +0 -57
- package/dist/src/core/patch-lint-file-size.js +0 -62
- package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
- package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
- package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
- package/dist/src/core/patch-lint-forward-registration.js +0 -266
- package/dist/src/core/patch-lint-ignore.d.ts +0 -196
- package/dist/src/core/patch-lint-ignore.js +0 -429
- package/dist/src/core/patch-lint-imports.d.ts +0 -9
- package/dist/src/core/patch-lint-imports.js +0 -90
- package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
- package/dist/src/core/patch-lint-jsdoc.js +0 -471
- package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
- package/dist/src/core/patch-lint-module-registration.js +0 -97
- package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
- package/dist/src/core/patch-lint-mozbuild.js +0 -192
- package/dist/src/core/patch-lint-observer.d.ts +0 -37
- package/dist/src/core/patch-lint-observer.js +0 -167
- package/dist/src/core/patch-lint-ownership.d.ts +0 -74
- package/dist/src/core/patch-lint-ownership.js +0 -125
- package/dist/src/core/patch-lint-prettier.d.ts +0 -34
- package/dist/src/core/patch-lint-prettier.js +0 -124
- package/dist/src/core/patch-lint-projection.d.ts +0 -25
- package/dist/src/core/patch-lint-projection.js +0 -43
- package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
- package/dist/src/core/patch-lint-queue-types.js +0 -12
- package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
- package/dist/src/core/patch-lint-size-thresholds.js +0 -110
- package/dist/src/core/patch-lint-size.d.ts +0 -117
- package/dist/src/core/patch-lint-size.js +0 -331
- package/dist/src/core/patch-lint-staged-registration.d.ts +0 -98
- package/dist/src/core/patch-lint-staged-registration.js +0 -128
- package/dist/src/core/patch-lint-token-scale.d.ts +0 -65
- package/dist/src/core/patch-lint-token-scale.js +0 -304
- package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
- package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
- package/dist/src/core/patch-lint.d.ts +0 -206
- package/dist/src/core/patch-lint.js +0 -533
- package/dist/src/core/patch-lock.d.ts +0 -40
- package/dist/src/core/patch-lock.js +0 -129
- package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
- package/dist/src/core/patch-manifest-consistency.js +0 -256
- package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
- package/dist/src/core/patch-manifest-files-affected.js +0 -77
- package/dist/src/core/patch-manifest-io.d.ts +0 -199
- package/dist/src/core/patch-manifest-io.js +0 -556
- package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
- package/dist/src/core/patch-manifest-key-order.js +0 -60
- package/dist/src/core/patch-manifest-query.d.ts +0 -55
- package/dist/src/core/patch-manifest-query.js +0 -139
- package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
- package/dist/src/core/patch-manifest-resolve.js +0 -35
- package/dist/src/core/patch-manifest-stage.d.ts +0 -46
- package/dist/src/core/patch-manifest-stage.js +0 -96
- package/dist/src/core/patch-manifest-validate.d.ts +0 -20
- package/dist/src/core/patch-manifest-validate.js +0 -240
- package/dist/src/core/patch-manifest.d.ts +0 -12
- package/dist/src/core/patch-manifest.js +0 -13
- package/dist/src/core/patch-order-legal.d.ts +0 -26
- package/dist/src/core/patch-order-legal.js +0 -88
- package/dist/src/core/patch-parse.d.ts +0 -176
- package/dist/src/core/patch-parse.js +0 -416
- package/dist/src/core/patch-policy-content.d.ts +0 -40
- package/dist/src/core/patch-policy-content.js +0 -219
- package/dist/src/core/patch-policy.d.ts +0 -80
- package/dist/src/core/patch-policy.js +0 -394
- package/dist/src/core/patch-registration-refs.d.ts +0 -41
- package/dist/src/core/patch-registration-refs.js +0 -107
- package/dist/src/core/patch-retired.d.ts +0 -57
- package/dist/src/core/patch-retired.js +0 -92
- package/dist/src/core/patch-source-metadata.d.ts +0 -6
- package/dist/src/core/patch-source-metadata.js +0 -12
- package/dist/src/core/patch-subset.d.ts +0 -18
- package/dist/src/core/patch-subset.js +0 -67
- package/dist/src/core/patch-transform.d.ts +0 -61
- package/dist/src/core/patch-transform.js +0 -198
- package/dist/src/core/preflight-wait.d.ts +0 -22
- package/dist/src/core/preflight-wait.js +0 -62
- package/dist/src/core/process-cpu-time.d.ts +0 -12
- package/dist/src/core/process-cpu-time.js +0 -52
- package/dist/src/core/process-owner.d.ts +0 -9
- package/dist/src/core/process-owner.js +0 -43
- package/dist/src/core/rebase-dry-run.d.ts +0 -48
- package/dist/src/core/rebase-dry-run.js +0 -105
- package/dist/src/core/rebase-from-version.d.ts +0 -46
- package/dist/src/core/rebase-from-version.js +0 -71
- package/dist/src/core/rebase-session.d.ts +0 -100
- package/dist/src/core/rebase-session.js +0 -174
- package/dist/src/core/register-browser-content.d.ts +0 -11
- package/dist/src/core/register-browser-content.js +0 -52
- package/dist/src/core/register-browser-test.d.ts +0 -18
- package/dist/src/core/register-browser-test.js +0 -66
- package/dist/src/core/register-module.d.ts +0 -11
- package/dist/src/core/register-module.js +0 -56
- package/dist/src/core/register-result.d.ts +0 -30
- package/dist/src/core/register-result.js +0 -8
- package/dist/src/core/register-scaffold.d.ts +0 -55
- package/dist/src/core/register-scaffold.js +0 -146
- package/dist/src/core/register-shared-css.d.ts +0 -36
- package/dist/src/core/register-shared-css.js +0 -112
- package/dist/src/core/register-xpcshell-test.d.ts +0 -50
- package/dist/src/core/register-xpcshell-test.js +0 -143
- package/dist/src/core/run-log-redact.d.ts +0 -38
- package/dist/src/core/run-log-redact.js +0 -69
- package/dist/src/core/run-log.d.ts +0 -97
- package/dist/src/core/run-log.js +0 -334
- package/dist/src/core/run-profile.d.ts +0 -57
- package/dist/src/core/run-profile.js +0 -137
- package/dist/src/core/shared-ftl.d.ts +0 -28
- package/dist/src/core/shared-ftl.js +0 -49
- package/dist/src/core/signal-critical.d.ts +0 -38
- package/dist/src/core/signal-critical.js +0 -62
- package/dist/src/core/smoke-patterns.d.ts +0 -81
- package/dist/src/core/smoke-patterns.js +0 -176
- package/dist/src/core/state-file.d.ts +0 -60
- package/dist/src/core/state-file.js +0 -71
- package/dist/src/core/status-binary.d.ts +0 -62
- package/dist/src/core/status-binary.js +0 -133
- package/dist/src/core/status-classify.d.ts +0 -96
- package/dist/src/core/status-classify.js +0 -244
- package/dist/src/core/test-changed-prefs.d.ts +0 -30
- package/dist/src/core/test-changed-prefs.js +0 -93
- package/dist/src/core/test-harness-crash.d.ts +0 -251
- package/dist/src/core/test-harness-crash.js +0 -780
- package/dist/src/core/test-harness-infra.d.ts +0 -32
- package/dist/src/core/test-harness-infra.js +0 -69
- package/dist/src/core/test-harness-output.d.ts +0 -45
- package/dist/src/core/test-harness-output.js +0 -119
- package/dist/src/core/test-harness-signature.d.ts +0 -57
- package/dist/src/core/test-harness-signature.js +0 -35
- package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
- package/dist/src/core/test-harness-verdict-notes.js +0 -48
- package/dist/src/core/test-host-state.d.ts +0 -14
- package/dist/src/core/test-host-state.js +0 -80
- package/dist/src/core/test-path-scope.d.ts +0 -59
- package/dist/src/core/test-path-scope.js +0 -147
- package/dist/src/core/test-profile-files.d.ts +0 -17
- package/dist/src/core/test-profile-files.js +0 -75
- package/dist/src/core/test-raw-log.d.ts +0 -66
- package/dist/src/core/test-raw-log.js +0 -122
- package/dist/src/core/test-run-completeness.d.ts +0 -97
- package/dist/src/core/test-run-completeness.js +0 -191
- package/dist/src/core/test-stale-check.d.ts +0 -213
- package/dist/src/core/test-stale-check.js +0 -396
- package/dist/src/core/test-stale-exempt.d.ts +0 -40
- package/dist/src/core/test-stale-exempt.js +0 -70
- package/dist/src/core/test-stale-symlink.d.ts +0 -12
- package/dist/src/core/test-stale-symlink.js +0 -39
- package/dist/src/core/test-stall-triage.d.ts +0 -51
- package/dist/src/core/test-stall-triage.js +0 -142
- package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
- package/dist/src/core/test-xpcshell-retry.js +0 -31
- package/dist/src/core/token-category.d.ts +0 -54
- package/dist/src/core/token-category.js +0 -299
- package/dist/src/core/token-coverage.d.ts +0 -12
- package/dist/src/core/token-coverage.js +0 -96
- package/dist/src/core/token-dark-mode.d.ts +0 -64
- package/dist/src/core/token-dark-mode.js +0 -186
- package/dist/src/core/token-docs.d.ts +0 -34
- package/dist/src/core/token-docs.js +0 -102
- package/dist/src/core/token-inventory.d.ts +0 -56
- package/dist/src/core/token-inventory.js +0 -114
- package/dist/src/core/token-lint.d.ts +0 -53
- package/dist/src/core/token-lint.js +0 -131
- package/dist/src/core/token-manager.d.ts +0 -87
- package/dist/src/core/token-manager.js +0 -407
- package/dist/src/core/token-scaffold.d.ts +0 -36
- package/dist/src/core/token-scaffold.js +0 -73
- package/dist/src/core/token-sibling-sheets.d.ts +0 -46
- package/dist/src/core/token-sibling-sheets.js +0 -119
- package/dist/src/core/token-variant.d.ts +0 -90
- package/dist/src/core/token-variant.js +0 -327
- package/dist/src/core/toolchain-preflight.d.ts +0 -90
- package/dist/src/core/toolchain-preflight.js +0 -251
- package/dist/src/core/tree-cow.d.ts +0 -16
- package/dist/src/core/tree-cow.js +0 -71
- package/dist/src/core/tree-guard.d.ts +0 -35
- package/dist/src/core/tree-guard.js +0 -194
- package/dist/src/core/tree-store.d.ts +0 -143
- package/dist/src/core/tree-store.js +0 -478
- package/dist/src/core/typecheck-explain.d.ts +0 -93
- package/dist/src/core/typecheck-explain.js +0 -213
- package/dist/src/core/typecheck-shim.d.ts +0 -90
- package/dist/src/core/typecheck-shim.js +0 -508
- package/dist/src/core/typecheck.d.ts +0 -97
- package/dist/src/core/typecheck.js +0 -457
- package/dist/src/core/wire-destroy.d.ts +0 -25
- package/dist/src/core/wire-destroy.js +0 -126
- package/dist/src/core/wire-dom-fragment.d.ts +0 -44
- package/dist/src/core/wire-dom-fragment.js +0 -139
- package/dist/src/core/wire-init.d.ts +0 -28
- package/dist/src/core/wire-init.js +0 -219
- package/dist/src/core/wire-subscript.d.ts +0 -23
- package/dist/src/core/wire-subscript.js +0 -145
- package/dist/src/core/wire-utils.d.ts +0 -149
- package/dist/src/core/wire-utils.js +0 -338
- package/dist/src/core/xpcshell-appdir.d.ts +0 -157
- package/dist/src/core/xpcshell-appdir.js +0 -299
- package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
- package/dist/src/core/xpcshell-profile-dir.js +0 -45
- package/dist/src/errors/base.d.ts +0 -217
- package/dist/src/errors/base.js +0 -279
- package/dist/src/errors/build.d.ts +0 -92
- package/dist/src/errors/build.js +0 -166
- package/dist/src/errors/codes.d.ts +0 -74
- package/dist/src/errors/codes.js +0 -74
- package/dist/src/errors/config.d.ts +0 -17
- package/dist/src/errors/config.js +0 -39
- package/dist/src/errors/download.d.ts +0 -66
- package/dist/src/errors/download.js +0 -160
- package/dist/src/errors/furnace.d.ts +0 -20
- package/dist/src/errors/furnace.js +0 -28
- package/dist/src/errors/git.d.ts +0 -65
- package/dist/src/errors/git.js +0 -140
- package/dist/src/errors/patch.d.ts +0 -27
- package/dist/src/errors/patch.js +0 -52
- package/dist/src/errors/rebase.d.ts +0 -42
- package/dist/src/errors/rebase.js +0 -71
- package/dist/src/errors/run.d.ts +0 -16
- package/dist/src/errors/run.js +0 -22
- package/dist/src/index.d.ts +0 -42
- package/dist/src/index.js +0 -32
- package/dist/src/types/cli.d.ts +0 -14
- package/dist/src/types/commands/index.d.ts +0 -6
- package/dist/src/types/commands/index.js +0 -5
- package/dist/src/types/commands/options.d.ts +0 -1372
- package/dist/src/types/commands/options.js +0 -5
- package/dist/src/types/commands/patches.d.ts +0 -352
- package/dist/src/types/commands/patches.js +0 -5
- package/dist/src/types/commands/project.d.ts +0 -51
- package/dist/src/types/commands/project.js +0 -5
- package/dist/src/types/config.d.ts +0 -732
- package/dist/src/types/config.js +0 -15
- package/dist/src/types/furnace.d.ts +0 -422
- package/dist/src/types/furnace.js +0 -26
- package/dist/src/types/index.d.ts +0 -5
- package/dist/src/types/index.js +0 -5
- package/dist/src/types/json.d.ts +0 -22
- package/dist/src/types/json.js +0 -11
- package/dist/src/types/typecheck.d.ts +0 -51
- package/dist/src/types/typecheck.js +0 -14
- package/dist/src/utils/assert.d.ts +0 -34
- package/dist/src/utils/assert.js +0 -61
- package/dist/src/utils/build-info.d.ts +0 -30
- package/dist/src/utils/build-info.js +0 -99
- package/dist/src/utils/child-env.d.ts +0 -28
- package/dist/src/utils/child-env.js +0 -27
- package/dist/src/utils/concurrency.d.ts +0 -8
- package/dist/src/utils/concurrency.js +0 -32
- package/dist/src/utils/elapsed.d.ts +0 -2
- package/dist/src/utils/elapsed.js +0 -23
- package/dist/src/utils/errors.d.ts +0 -39
- package/dist/src/utils/errors.js +0 -67
- package/dist/src/utils/fs.d.ts +0 -113
- package/dist/src/utils/fs.js +0 -337
- package/dist/src/utils/hash.d.ts +0 -12
- package/dist/src/utils/hash.js +0 -16
- package/dist/src/utils/line-dispatch.d.ts +0 -15
- package/dist/src/utils/line-dispatch.js +0 -48
- package/dist/src/utils/logger.d.ts +0 -109
- package/dist/src/utils/logger.js +0 -270
- package/dist/src/utils/machine-output.d.ts +0 -12
- package/dist/src/utils/machine-output.js +0 -33
- package/dist/src/utils/options.d.ts +0 -155
- package/dist/src/utils/options.js +0 -312
- package/dist/src/utils/package-root.d.ts +0 -21
- package/dist/src/utils/package-root.js +0 -70
- package/dist/src/utils/parse.d.ts +0 -117
- package/dist/src/utils/parse.js +0 -214
- package/dist/src/utils/path-glob.d.ts +0 -15
- package/dist/src/utils/path-glob.js +0 -47
- package/dist/src/utils/paths.d.ts +0 -31
- package/dist/src/utils/paths.js +0 -80
- package/dist/src/utils/platform.d.ts +0 -9
- package/dist/src/utils/platform.js +0 -14
- package/dist/src/utils/process-group.d.ts +0 -42
- package/dist/src/utils/process-group.js +0 -190
- package/dist/src/utils/process-input.d.ts +0 -27
- package/dist/src/utils/process-input.js +0 -46
- package/dist/src/utils/process.d.ts +0 -293
- package/dist/src/utils/process.js +0 -593
- package/dist/src/utils/ps-duration.d.ts +0 -31
- package/dist/src/utils/ps-duration.js +0 -70
- package/dist/src/utils/regex.d.ts +0 -39
- package/dist/src/utils/regex.js +0 -109
- package/dist/src/utils/sleep.d.ts +0 -25
- package/dist/src/utils/sleep.js +0 -30
- package/dist/src/utils/stdio-drain.d.ts +0 -28
- package/dist/src/utils/stdio-drain.js +0 -54
- package/dist/src/utils/validation.d.ts +0 -182
- package/dist/src/utils/validation.js +0 -394
- package/docs/lifecycle-invariants.md +0 -523
- package/docs/run-logs.md +0 -122
- package/docs/verification-trees.md +0 -49
- /package/dist/src/{types/cli.js → cli/context.js} +0 -0
|
@@ -1,265 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Minimal Markdown pipe-table parser/writer used by token-manager.
|
|
4
|
-
*
|
|
5
|
-
* This is not a general Markdown parser. It understands exactly the
|
|
6
|
-
* slice of GitHub-flavoured Markdown that FireForge emits into token docs:
|
|
7
|
-
*
|
|
8
|
-
* - Leading `|` per row, trailing `|` optional.
|
|
9
|
-
* - A separator row of `|---|---|...|` immediately after the header.
|
|
10
|
-
* - Fenced code blocks (``` / ~~~) are recognised and skipped so that
|
|
11
|
-
* literal `|` lines inside code samples are never mistaken for rows.
|
|
12
|
-
* - A table ends on the first non-pipe line (blank line, heading, prose).
|
|
13
|
-
* - Literal `|` and `\` inside a cell are expressed as `\|` and `\\`
|
|
14
|
-
* respectively. The parser treats any other backslash as a literal
|
|
15
|
-
* so prose-style backslashes in cell values (e.g. a Windows path)
|
|
16
|
-
* still round-trip. Unescaping happens at split time. Serialization
|
|
17
|
-
* re-applies escapes so round-trips are exact for well-formed input.
|
|
18
|
-
*
|
|
19
|
-
* The parser returns positional metadata (`startLine`, `endLine`) so
|
|
20
|
-
* callers can splice the table back into the surrounding document by
|
|
21
|
-
* range instead of hand-rolled line counters. Mutation operations return
|
|
22
|
-
* a fresh line array rather than mutating in place, matching the rest of
|
|
23
|
-
* the file-patching code in this codebase.
|
|
24
|
-
*
|
|
25
|
-
* Fallback tolerance: rows with more cells than the header get their
|
|
26
|
-
* overflow merged into the last column (using a literal `|` separator
|
|
27
|
-
* between the merged values). This is for the rare case where a FireForge
|
|
28
|
-
* writer emits an unescaped pipe. The parser still produces a consistent
|
|
29
|
-
* cell count rather than desynchronising the table. On re-serialize the
|
|
30
|
-
* merged cell's literal pipes are escaped, so a malformed input becomes
|
|
31
|
-
* a well-formed output after one round trip.
|
|
32
|
-
*/
|
|
33
|
-
/**
|
|
34
|
-
* Matches the table separator row: optional leading pipe, one or more
|
|
35
|
-
* dash-only cells (with optional `:` alignment hints) separated by pipes,
|
|
36
|
-
* optional trailing pipe, allowing whitespace around each cell.
|
|
37
|
-
*/
|
|
38
|
-
const SEPARATOR_ROW = /^\s*\|?\s*:?-+:?\s*(\|\s*:?-+:?\s*)+\|?\s*$/;
|
|
39
|
-
/**
|
|
40
|
-
* Returns `true` if the given line looks like a table row (starts with
|
|
41
|
-
* `|`, ignoring leading whitespace). Does not validate cell contents.
|
|
42
|
-
* That is the caller's job.
|
|
43
|
-
*/
|
|
44
|
-
function isPipeRow(line) {
|
|
45
|
-
return /^\s*\|/.test(line);
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Splits a pipe-delimited row into trimmed cell strings.
|
|
49
|
-
*
|
|
50
|
-
* Tolerates both `| a | b |` and `| a | b` (no trailing pipe). Leading
|
|
51
|
-
* empty cells (from a leading `|`) are dropped. A trailing empty cell
|
|
52
|
-
* (from a trailing `|`) is also dropped so that rows with and without
|
|
53
|
-
* the trailing pipe produce the same cell count.
|
|
54
|
-
*
|
|
55
|
-
* Escape handling: `\|` is consumed as a literal `|` inside a cell, and
|
|
56
|
-
* `\\` as a literal `\`. Any other backslash stays literal so prose-style
|
|
57
|
-
* uses of `\` survive untouched. Splitting and unescaping happen in the
|
|
58
|
-
* same pass so the returned cells are ready to hand back to callers.
|
|
59
|
-
*/
|
|
60
|
-
function splitRow(row) {
|
|
61
|
-
const trimmed = row.trim();
|
|
62
|
-
const cells = [];
|
|
63
|
-
let current = '';
|
|
64
|
-
for (let i = 0; i < trimmed.length; i++) {
|
|
65
|
-
const ch = trimmed[i];
|
|
66
|
-
if (ch === '\\' && i + 1 < trimmed.length) {
|
|
67
|
-
const next = trimmed[i + 1];
|
|
68
|
-
if (next === '|' || next === '\\') {
|
|
69
|
-
current += next;
|
|
70
|
-
i++;
|
|
71
|
-
continue;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
if (ch === '|') {
|
|
75
|
-
cells.push(current);
|
|
76
|
-
current = '';
|
|
77
|
-
continue;
|
|
78
|
-
}
|
|
79
|
-
current += ch ?? '';
|
|
80
|
-
}
|
|
81
|
-
cells.push(current);
|
|
82
|
-
// Leading `|` gives an empty first segment, so drop it.
|
|
83
|
-
if (cells.length > 0 && cells[0] === '') {
|
|
84
|
-
cells.shift();
|
|
85
|
-
}
|
|
86
|
-
// Trailing `|` gives an empty last segment, so drop it.
|
|
87
|
-
if (cells.length > 0 && cells[cells.length - 1] === '') {
|
|
88
|
-
cells.pop();
|
|
89
|
-
}
|
|
90
|
-
return cells.map((cell) => cell.trim());
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Escapes a cell value so `serializeRow`'s pipe delimiters can be told
|
|
94
|
-
* apart from literal `|` inside a cell on re-parse. `\` is escaped first
|
|
95
|
-
* (to `\\`) so that the subsequent `|` → `\|` substitution cannot produce
|
|
96
|
-
* an already-escaped sequence by accident. A cell containing
|
|
97
|
-
* literal `\` followed by literal `|` round-trips as `\\\|`, which
|
|
98
|
-
* unescape-on-split reads back as `\` + `|`, not as `\|`.
|
|
99
|
-
*/
|
|
100
|
-
function escapeCell(cell) {
|
|
101
|
-
return cell.replace(/\\/g, '\\\\').replace(/\|/g, '\\|');
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Fits a row of cells against a target column count. Extra cells are
|
|
105
|
-
* merged into the last column (so a stray `|` in a cell's value does not
|
|
106
|
-
* desynchronise the table), and missing cells are padded with `''`.
|
|
107
|
-
*/
|
|
108
|
-
function fitRowToColumns(cells, columnCount) {
|
|
109
|
-
if (columnCount <= 0)
|
|
110
|
-
return [];
|
|
111
|
-
if (cells.length === columnCount) {
|
|
112
|
-
return cells;
|
|
113
|
-
}
|
|
114
|
-
if (cells.length < columnCount) {
|
|
115
|
-
return [...cells, ...Array(columnCount - cells.length).fill('')];
|
|
116
|
-
}
|
|
117
|
-
// cells.length > columnCount: merge overflow into the last column.
|
|
118
|
-
const kept = cells.slice(0, columnCount - 1);
|
|
119
|
-
const tail = cells.slice(columnCount - 1).join(' | ');
|
|
120
|
-
return [...kept, tail];
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Locates the next Markdown table in `lines` starting at or after
|
|
124
|
-
* `fromLine`, skipping fenced code blocks. Returns `null` when no table
|
|
125
|
-
* is found.
|
|
126
|
-
*
|
|
127
|
-
* @param lines - The full document split by newline
|
|
128
|
-
* @param fromLine - Line index to start scanning from (inclusive)
|
|
129
|
-
*/
|
|
130
|
-
export function findNextTable(lines, fromLine) {
|
|
131
|
-
let inFence = false;
|
|
132
|
-
let fenceMarker = null;
|
|
133
|
-
for (let i = fromLine; i < lines.length; i++) {
|
|
134
|
-
const line = lines[i] ?? '';
|
|
135
|
-
const fenceMatch = /^\s*(```|~~~)/.exec(line);
|
|
136
|
-
if (fenceMatch) {
|
|
137
|
-
if (!inFence) {
|
|
138
|
-
inFence = true;
|
|
139
|
-
fenceMarker = fenceMatch[1] ?? '```';
|
|
140
|
-
}
|
|
141
|
-
else if (fenceMarker && line.trim().startsWith(fenceMarker)) {
|
|
142
|
-
inFence = false;
|
|
143
|
-
fenceMarker = null;
|
|
144
|
-
}
|
|
145
|
-
continue;
|
|
146
|
-
}
|
|
147
|
-
if (inFence)
|
|
148
|
-
continue;
|
|
149
|
-
if (!isPipeRow(line))
|
|
150
|
-
continue;
|
|
151
|
-
const separatorLine = lines[i + 1];
|
|
152
|
-
if (separatorLine === undefined || !SEPARATOR_ROW.test(separatorLine))
|
|
153
|
-
continue;
|
|
154
|
-
const headers = splitRow(line);
|
|
155
|
-
if (headers.length === 0)
|
|
156
|
-
continue;
|
|
157
|
-
const rows = [];
|
|
158
|
-
let endLine = i + 2;
|
|
159
|
-
for (let j = i + 2; j < lines.length; j++) {
|
|
160
|
-
const rowLine = lines[j] ?? '';
|
|
161
|
-
if (!isPipeRow(rowLine))
|
|
162
|
-
break;
|
|
163
|
-
// Another separator line would signal a malformed table, so bail.
|
|
164
|
-
if (SEPARATOR_ROW.test(rowLine))
|
|
165
|
-
break;
|
|
166
|
-
rows.push(fitRowToColumns(splitRow(rowLine), headers.length));
|
|
167
|
-
endLine = j + 1;
|
|
168
|
-
}
|
|
169
|
-
return { headers, rows, startLine: i, endLine };
|
|
170
|
-
}
|
|
171
|
-
return null;
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* Returns the first table whose header contains all of the provided
|
|
175
|
-
* column names (case-sensitive, order-insensitive). Useful when several
|
|
176
|
-
* pipe tables share a document and you want to select "the one with a
|
|
177
|
-
* Mode column".
|
|
178
|
-
*/
|
|
179
|
-
export function findTableByColumns(lines, requiredColumns) {
|
|
180
|
-
let cursor = 0;
|
|
181
|
-
for (;;) {
|
|
182
|
-
const table = findNextTable(lines, cursor);
|
|
183
|
-
if (!table)
|
|
184
|
-
return null;
|
|
185
|
-
const headerSet = new Set(table.headers);
|
|
186
|
-
const matches = requiredColumns.every((column) => headerSet.has(column));
|
|
187
|
-
if (matches)
|
|
188
|
-
return table;
|
|
189
|
-
cursor = table.endLine;
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* Returns the first table that appears after a heading matching the
|
|
194
|
-
* given regex. The heading regex is applied to raw lines (no trimming)
|
|
195
|
-
* so callers that want leading whitespace flexibility should include
|
|
196
|
-
* `^\s*` or `^#+\s*` as appropriate.
|
|
197
|
-
*/
|
|
198
|
-
export function findTableAfterHeading(lines, headingPattern) {
|
|
199
|
-
for (let i = 0; i < lines.length; i++) {
|
|
200
|
-
if (headingPattern.test(lines[i] ?? '')) {
|
|
201
|
-
return findNextTable(lines, i + 1);
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
return null;
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* Serialises a single row using the same `| a | b | c |` layout the rest
|
|
208
|
-
* of the token docs use. The leading and trailing pipes are always emitted
|
|
209
|
-
* so that concatenated rows line up consistently. Cell values containing
|
|
210
|
-
* literal `|` or `\` are escaped as `\|` and `\\` respectively so the
|
|
211
|
-
* output survives a round-trip through {@link findNextTable}.
|
|
212
|
-
*/
|
|
213
|
-
export function serializeRow(cells) {
|
|
214
|
-
if (cells.length === 0)
|
|
215
|
-
return '|';
|
|
216
|
-
return `| ${cells.map(escapeCell).join(' | ')} |`;
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Inserts a new row into `table.rows` at the given zero-based index. A
|
|
220
|
-
* negative index counts from the end. `Infinity` appends. Mutates the
|
|
221
|
-
* table object so callers using {@link rewriteTableRows} see the update.
|
|
222
|
-
*/
|
|
223
|
-
export function insertRow(table, cells, index) {
|
|
224
|
-
const fitted = fitRowToColumns(cells, table.headers.length);
|
|
225
|
-
const target = Math.max(0, Math.min(index, table.rows.length));
|
|
226
|
-
table.rows.splice(target, 0, fitted);
|
|
227
|
-
}
|
|
228
|
-
/**
|
|
229
|
-
* Produces a new `lines` array with the given table region replaced by a
|
|
230
|
-
* freshly-serialized version of the table's current headers + rows. The
|
|
231
|
-
* separator row is regenerated from the current header count so edits
|
|
232
|
-
* that change the column count stay consistent.
|
|
233
|
-
*/
|
|
234
|
-
export function rewriteTableRows(lines, table) {
|
|
235
|
-
const headerLine = serializeRow(table.headers);
|
|
236
|
-
const separatorLine = serializeRow(table.headers.map(() => '---'));
|
|
237
|
-
const rowLines = table.rows.map((row) => serializeRow(row));
|
|
238
|
-
return [
|
|
239
|
-
...lines.slice(0, table.startLine),
|
|
240
|
-
headerLine,
|
|
241
|
-
separatorLine,
|
|
242
|
-
...rowLines,
|
|
243
|
-
...lines.slice(table.endLine),
|
|
244
|
-
];
|
|
245
|
-
}
|
|
246
|
-
/**
|
|
247
|
-
* Updates a specific cell in the first row whose `keyColumn` cell matches
|
|
248
|
-
* `keyValue`. Returns `true` when a row was updated.
|
|
249
|
-
*
|
|
250
|
-
* Used by token-manager to bump the mode-count table without relying on
|
|
251
|
-
* brittle regex patterns that assume specific whitespace.
|
|
252
|
-
*/
|
|
253
|
-
export function updateCellByKey(table, keyColumn, keyValue, targetColumn, newValue) {
|
|
254
|
-
const keyIndex = table.headers.indexOf(keyColumn);
|
|
255
|
-
const targetIndex = table.headers.indexOf(targetColumn);
|
|
256
|
-
if (keyIndex === -1 || targetIndex === -1)
|
|
257
|
-
return false;
|
|
258
|
-
for (const row of table.rows) {
|
|
259
|
-
if (row[keyIndex] === keyValue) {
|
|
260
|
-
row[targetIndex] = newValue;
|
|
261
|
-
return true;
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
return false;
|
|
265
|
-
}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { type MarionettePortHolder } from './marionette-port.js';
|
|
2
|
-
/** Default port the mochitest harness binds its httpd to. */
|
|
3
|
-
export declare const DEFAULT_MOCHITEST_SERVER_PORT = 8888;
|
|
4
|
-
/**
|
|
5
|
-
* True when the holder is recognizably the mochitest harness's own
|
|
6
|
-
* `server.js`, launched from an objdir.
|
|
7
|
-
*
|
|
8
|
-
* Both halves are required. `server.js` alone is one of the most common
|
|
9
|
-
* filenames there is, and a developer's unrelated Node service must never
|
|
10
|
-
* be mistaken for harness debris and offered up for termination. So the
|
|
11
|
-
* command line must also show the xpcshell/objdir provenance that only the
|
|
12
|
-
* harness's httpd has.
|
|
13
|
-
*/
|
|
14
|
-
export declare function isMochitestServerHolder(holder: MarionettePortHolder): boolean;
|
|
15
|
-
/**
|
|
16
|
-
* How a recognized harness httpd relates to the checkout about to run.
|
|
17
|
-
*
|
|
18
|
-
* `this-checkout` is debris from one of OUR interrupted runs and may be
|
|
19
|
-
* offered for termination. `foreign-checkout` is the same harness serving a
|
|
20
|
-
* LIVE run in a sibling worktree: `server.js` plus objdir provenance is
|
|
21
|
-
* exactly what a peer's in-flight suite looks like, and the only thing
|
|
22
|
-
* separating the two is whose objdir the command line points into.
|
|
23
|
-
* `unrecognized` is not the harness at all.
|
|
24
|
-
*/
|
|
25
|
-
export type MochitestServerHolderClass = 'this-checkout' | 'foreign-checkout' | 'unrecognized';
|
|
26
|
-
/**
|
|
27
|
-
* Classifies the holder against this project's engine directory. Every
|
|
28
|
-
* absolute path on the command line is tested with {@link isPathInsideRoot}
|
|
29
|
-
* (a token test, not a substring test, so `/a/hominis/engine` does not claim
|
|
30
|
-
* a holder living under `/a/hominis-2/engine`). On POSIX the command line is
|
|
31
|
-
* the full `ps -o args=` output, so the objdir path is always present for a
|
|
32
|
-
* harness httpd; a holder whose paths all lie elsewhere belongs to another
|
|
33
|
-
* checkout.
|
|
34
|
-
*
|
|
35
|
-
* @param holder - The listener found on the port
|
|
36
|
-
* @param engineDir - Absolute engine directory of THIS project
|
|
37
|
-
*/
|
|
38
|
-
export declare function classifyMochitestServerHolder(holder: MarionettePortHolder, engineDir: string): MochitestServerHolderClass;
|
|
39
|
-
/**
|
|
40
|
-
* The objdir a foreign holder is serving from, for the refusal text: the
|
|
41
|
-
* first absolute command-line token with an `obj-…` segment, cut at that
|
|
42
|
-
* segment. Falls back to the first absolute token, then to a placeholder.
|
|
43
|
-
*/
|
|
44
|
-
export declare function describeHolderObjdir(commandLine: string): string;
|
|
45
|
-
/**
|
|
46
|
-
* Refuses a mochitest dispatch when the harness's server port is held. It
|
|
47
|
-
* terminates the holder first only for a recognized stale harness httpd,
|
|
48
|
-
* and only when the operator opted in.
|
|
49
|
-
*
|
|
50
|
-
* An unrecognized listener is a refusal too, never a kill. Refusing is the
|
|
51
|
-
* kinder outcome: mochitest cannot bind the port either way, so the choice
|
|
52
|
-
* is between a one-line refusal now and a 370 s stall whose signature says
|
|
53
|
-
* nothing about ports. But FireForge has no business killing a process it
|
|
54
|
-
* cannot attribute to the harness.
|
|
55
|
-
*
|
|
56
|
-
* Best effort: {@link probeMarionettePort} reports an
|
|
57
|
-
* unprobeable port as free, so a host without `lsof` runs exactly as before.
|
|
58
|
-
*
|
|
59
|
-
* A recognized httpd from ANOTHER checkout is a refusal and never a kill
|
|
60
|
-
* either, flag or no flag: it is a peer's live suite, not our debris. The
|
|
61
|
-
* browser-side probe draws the same line for a bare launch it cannot
|
|
62
|
-
* attribute; this one can attribute, because the objdir is on the command
|
|
63
|
-
* line, so it names the other checkout instead of offering `kill -9`.
|
|
64
|
-
*
|
|
65
|
-
* @param port - Port to probe (default {@link DEFAULT_MOCHITEST_SERVER_PORT})
|
|
66
|
-
* @param options - `engineDir` is this project's absolute engine directory,
|
|
67
|
-
* the ownership boundary; `killStaleServer` opts into terminating a holder
|
|
68
|
-
* recognized as THIS checkout's debris
|
|
69
|
-
*/
|
|
70
|
-
export declare function ensureMochitestServerPortAvailable(port: number | undefined, options: {
|
|
71
|
-
engineDir: string;
|
|
72
|
-
killStaleServer?: boolean;
|
|
73
|
-
}): Promise<void>;
|
|
74
|
-
/**
|
|
75
|
-
* Builds the operator-facing refusal. Exported for direct unit testing.
|
|
76
|
-
*
|
|
77
|
-
* @param port - The probed port
|
|
78
|
-
* @param holder - The listener found on it
|
|
79
|
-
* @param holderClass - Whose harness `server.js` it is, if it is one at all
|
|
80
|
-
*/
|
|
81
|
-
export declare function describeMochitestServerRefusal(port: number, holder: MarionettePortHolder, holderClass: MochitestServerHolderClass, parentPid?: number): string;
|
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Mochitest HTTP server port preflight.
|
|
4
|
-
*
|
|
5
|
-
* The mochitest harness serves its test manifest from an xpcshell-hosted
|
|
6
|
-
* httpd (`server.js`) on `127.0.0.1:8888`. When a previous run is killed
|
|
7
|
-
* between browser launch and teardown, that server can survive (sometimes
|
|
8
|
-
* wedged at 100% CPU and unkillable by the harness's own SIGKILL) and it
|
|
9
|
-
* keeps the port.
|
|
10
|
-
*
|
|
11
|
-
* The next run then does something much worse than failing: its fresh
|
|
12
|
-
* browser connects to the zombie server, which cannot serve the new
|
|
13
|
-
* manifest, so the run stalls between browser startup and `TEST_START` and
|
|
14
|
-
* dies on the 370 s no-output timeout with `Ran 0 checks`. Nothing in that
|
|
15
|
-
* signature names the port, so the failure survives fresh builds and reads
|
|
16
|
-
* as a defect in the change under test. One downstream report spent a
|
|
17
|
-
* multi-hour bisect on it before `lsof -nP -iTCP:8888` gave the answer in
|
|
18
|
-
* one line.
|
|
19
|
-
*
|
|
20
|
-
* `--kill-stale-marionette` never covered this: it clears the browser and
|
|
21
|
-
* the Marionette control port, and the httpd is neither. This preflight is
|
|
22
|
-
* the missing half, and it reuses {@link probeMarionettePort}, which is
|
|
23
|
-
* port-generic, rather than growing a second probe.
|
|
24
|
-
*/
|
|
25
|
-
import { PreflightRefusalError } from '../errors/base.js';
|
|
26
|
-
import { isExplicitAbsolutePath, isPathInsideRoot } from '../utils/paths.js';
|
|
27
|
-
import { probeMarionettePort } from './marionette-port.js';
|
|
28
|
-
import { waitForPreflight } from './preflight-wait.js';
|
|
29
|
-
import { isStillOrphanedProcess, readProcessOwner } from './process-owner.js';
|
|
30
|
-
/** Default port the mochitest harness binds its httpd to. */
|
|
31
|
-
export const DEFAULT_MOCHITEST_SERVER_PORT = 8888;
|
|
32
|
-
/**
|
|
33
|
-
* True when the holder is recognizably the mochitest harness's own
|
|
34
|
-
* `server.js`, launched from an objdir.
|
|
35
|
-
*
|
|
36
|
-
* Both halves are required. `server.js` alone is one of the most common
|
|
37
|
-
* filenames there is, and a developer's unrelated Node service must never
|
|
38
|
-
* be mistaken for harness debris and offered up for termination. So the
|
|
39
|
-
* command line must also show the xpcshell/objdir provenance that only the
|
|
40
|
-
* harness's httpd has.
|
|
41
|
-
*/
|
|
42
|
-
export function isMochitestServerHolder(holder) {
|
|
43
|
-
const line = holder.commandLine;
|
|
44
|
-
if (!/\bserver\.js\b/.test(line))
|
|
45
|
-
return false;
|
|
46
|
-
return /\bxpcshell\b/.test(line) || /\/obj-[^/\s]*\//.test(line) || /\b_tests\b/.test(line);
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Classifies the holder against this project's engine directory. Every
|
|
50
|
-
* absolute path on the command line is tested with {@link isPathInsideRoot}
|
|
51
|
-
* (a token test, not a substring test, so `/a/hominis/engine` does not claim
|
|
52
|
-
* a holder living under `/a/hominis-2/engine`). On POSIX the command line is
|
|
53
|
-
* the full `ps -o args=` output, so the objdir path is always present for a
|
|
54
|
-
* harness httpd; a holder whose paths all lie elsewhere belongs to another
|
|
55
|
-
* checkout.
|
|
56
|
-
*
|
|
57
|
-
* @param holder - The listener found on the port
|
|
58
|
-
* @param engineDir - Absolute engine directory of THIS project
|
|
59
|
-
*/
|
|
60
|
-
export function classifyMochitestServerHolder(holder, engineDir) {
|
|
61
|
-
if (!isMochitestServerHolder(holder))
|
|
62
|
-
return 'unrecognized';
|
|
63
|
-
const absoluteTokens = holder.commandLine.split(/\s+/).filter(isExplicitAbsolutePath);
|
|
64
|
-
return absoluteTokens.some((token) => isPathInsideRoot(engineDir, token))
|
|
65
|
-
? 'this-checkout'
|
|
66
|
-
: 'foreign-checkout';
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* The objdir a foreign holder is serving from, for the refusal text: the
|
|
70
|
-
* first absolute command-line token with an `obj-…` segment, cut at that
|
|
71
|
-
* segment. Falls back to the first absolute token, then to a placeholder.
|
|
72
|
-
*/
|
|
73
|
-
export function describeHolderObjdir(commandLine) {
|
|
74
|
-
const tokens = commandLine.split(/\s+/).filter(isExplicitAbsolutePath);
|
|
75
|
-
for (const token of tokens) {
|
|
76
|
-
const match = /^(.*?[/\\]obj-[^/\\]*)(?:[/\\]|$)/.exec(token);
|
|
77
|
-
if (match?.[1])
|
|
78
|
-
return match[1];
|
|
79
|
-
}
|
|
80
|
-
return tokens[0] ?? '(no path visible on the command line)';
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Refuses a mochitest dispatch when the harness's server port is held. It
|
|
84
|
-
* terminates the holder first only for a recognized stale harness httpd,
|
|
85
|
-
* and only when the operator opted in.
|
|
86
|
-
*
|
|
87
|
-
* An unrecognized listener is a refusal too, never a kill. Refusing is the
|
|
88
|
-
* kinder outcome: mochitest cannot bind the port either way, so the choice
|
|
89
|
-
* is between a one-line refusal now and a 370 s stall whose signature says
|
|
90
|
-
* nothing about ports. But FireForge has no business killing a process it
|
|
91
|
-
* cannot attribute to the harness.
|
|
92
|
-
*
|
|
93
|
-
* Best effort: {@link probeMarionettePort} reports an
|
|
94
|
-
* unprobeable port as free, so a host without `lsof` runs exactly as before.
|
|
95
|
-
*
|
|
96
|
-
* A recognized httpd from ANOTHER checkout is a refusal and never a kill
|
|
97
|
-
* either, flag or no flag: it is a peer's live suite, not our debris. The
|
|
98
|
-
* browser-side probe draws the same line for a bare launch it cannot
|
|
99
|
-
* attribute; this one can attribute, because the objdir is on the command
|
|
100
|
-
* line, so it names the other checkout instead of offering `kill -9`.
|
|
101
|
-
*
|
|
102
|
-
* @param port - Port to probe (default {@link DEFAULT_MOCHITEST_SERVER_PORT})
|
|
103
|
-
* @param options - `engineDir` is this project's absolute engine directory,
|
|
104
|
-
* the ownership boundary; `killStaleServer` opts into terminating a holder
|
|
105
|
-
* recognized as THIS checkout's debris
|
|
106
|
-
*/
|
|
107
|
-
export async function ensureMochitestServerPortAvailable(port = DEFAULT_MOCHITEST_SERVER_PORT, options) {
|
|
108
|
-
const probe = await probeMarionettePort(port);
|
|
109
|
-
if (!probe.inUse || !probe.holder)
|
|
110
|
-
return;
|
|
111
|
-
const holder = probe.holder;
|
|
112
|
-
const holderClass = classifyMochitestServerHolder(holder, options.engineDir);
|
|
113
|
-
const owner = await readProcessOwner(holder.pid);
|
|
114
|
-
if (holderClass === 'this-checkout' &&
|
|
115
|
-
owner?.parentPid === 1 &&
|
|
116
|
-
options.killStaleServer === true &&
|
|
117
|
-
(await isStillOrphanedProcess(holder.pid, holder.commandLine))) {
|
|
118
|
-
try {
|
|
119
|
-
process.kill(holder.pid, 'SIGTERM');
|
|
120
|
-
await waitForPreflight(async () => {
|
|
121
|
-
if ((await probeMarionettePort(port)).inUse)
|
|
122
|
-
throw new PreflightRefusalError(`Mochitest port ${port} remains busy after orphan cleanup; wait for the holder to exit.`, 'mochitest-port-busy');
|
|
123
|
-
}, 2);
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
catch {
|
|
127
|
-
// Fall through to the refusal: a wedged httpd is exactly the case
|
|
128
|
-
// that ignores SIGTERM, and reporting it is more useful than
|
|
129
|
-
// pretending the port is now free.
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
throw new PreflightRefusalError(describeMochitestServerRefusal(port, holder, holderClass, owner?.parentPid) +
|
|
133
|
-
`\n Parent: ${owner?.parentPid ?? 'unknown'} (${owner?.owner ?? 'unavailable'}). Use --wait-port [seconds] to queue.`, 'mochitest-port-busy');
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Builds the operator-facing refusal. Exported for direct unit testing.
|
|
137
|
-
*
|
|
138
|
-
* @param port - The probed port
|
|
139
|
-
* @param holder - The listener found on it
|
|
140
|
-
* @param holderClass - Whose harness `server.js` it is, if it is one at all
|
|
141
|
-
*/
|
|
142
|
-
export function describeMochitestServerRefusal(port, holder, holderClass, parentPid) {
|
|
143
|
-
const killHint = process.platform === 'win32'
|
|
144
|
-
? `Stop-Process -Id ${holder.pid} -Force`
|
|
145
|
-
: `kill -9 ${holder.pid}`;
|
|
146
|
-
const evidence = `The mochitest server port ${port} is already held by ${holder.command} ` +
|
|
147
|
-
`(PID ${holder.pid}).\n` +
|
|
148
|
-
` command: ${holder.commandLine}\n` +
|
|
149
|
-
" A browser launched now would connect to THAT server, which cannot serve this run's " +
|
|
150
|
-
'manifest — the run would stall before TEST_START and die on the no-output timeout with ' +
|
|
151
|
-
'"Ran 0 checks".\n';
|
|
152
|
-
if (holderClass === 'this-checkout') {
|
|
153
|
-
if (parentPid !== 1)
|
|
154
|
-
return (evidence +
|
|
155
|
-
' This checkout has a live or unattributed harness server. Wait for its owner to finish; --wait-port [seconds] queues behind it.');
|
|
156
|
-
return (evidence +
|
|
157
|
-
" This is the mochitest harness's own server.js from THIS checkout's objdir, so it is " +
|
|
158
|
-
'possibly debris from an interrupted run. For a dead parent, retry with "--kill-stale-marionette" to have FireForge ' +
|
|
159
|
-
`stop it, or stop it yourself with "${killHint}" (a wedged httpd can ignore SIGTERM).`);
|
|
160
|
-
}
|
|
161
|
-
if (holderClass === 'foreign-checkout') {
|
|
162
|
-
// No kill hint on this branch, on purpose: the PID is a peer's live
|
|
163
|
-
// suite, and "kill -9 <pid>" is exactly the instruction that would have
|
|
164
|
-
// destroyed it.
|
|
165
|
-
return (evidence +
|
|
166
|
-
` This is a mochitest httpd from ANOTHER checkout: ${describeHolderObjdir(holder.commandLine)}. ` +
|
|
167
|
-
'It is serving a live run there, so FireForge will not stop it and "--kill-stale-marionette" ' +
|
|
168
|
-
'will not either. Wait for that run to finish or free the port yourself, then retry. ' +
|
|
169
|
-
`Diagnose with "lsof -nP -iTCP:${port}".`);
|
|
170
|
-
}
|
|
171
|
-
return (evidence +
|
|
172
|
-
" This is NOT the mochitest harness's server.js, so FireForge will not offer to kill it. " +
|
|
173
|
-
`Stop the holder yourself with "${killHint}" if it is yours, or free the port, then retry. ` +
|
|
174
|
-
`Diagnose with "lsof -nP -iTCP:${port}".`);
|
|
175
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Engine-aware resolution preflight for queue-owned system modules.
|
|
3
|
-
*
|
|
4
|
-
* An `.sys.mjs` that a packaged module imports but whose `EXTRA_JS_MODULES`
|
|
5
|
-
* registration never landed kills every xpcshell suite with `xpcshell return
|
|
6
|
-
* code: -11` and no output at all: no import error, no stack, nothing. The
|
|
7
|
-
* queue-level `unregistered-system-module` check catches one shape of this:
|
|
8
|
-
* a module newly created by a patch in the projected queue. The other shape,
|
|
9
|
-
* modules imported from an already-existing module before their moz.build
|
|
10
|
-
* lines land, slips past it entirely.
|
|
11
|
-
*
|
|
12
|
-
* This preflight closes that gap by asking the question against the engine
|
|
13
|
-
* rather than against a projected diff: for every `resource:///modules/…`
|
|
14
|
-
* specifier imported by any queue-owned module, does the module it names
|
|
15
|
-
* exist, and is it registered in a moz.build that covers it?
|
|
16
|
-
*
|
|
17
|
-
* Scope is the queue-owned file set on purpose. A specifier that resolves to
|
|
18
|
-
* no owned file is an upstream Firefox module, which FireForge does not
|
|
19
|
-
* police and cannot cheaply enumerate. Policing only what the fork owns is
|
|
20
|
-
* both the actionable set and the one that produces real incidents.
|
|
21
|
-
*
|
|
22
|
-
* An unscoped `verify` widens that set with the engine worktree: changed
|
|
23
|
-
* files import, and untracked files are targets. A chrome script's lazy
|
|
24
|
-
* getter for a new, not yet exported `.sys.mjs` with no moz.build line
|
|
25
|
-
* SIGSEGVed every start of a shared objdir, and neither file was in the
|
|
26
|
-
* queue yet, so the queue-only scan could not see it.
|
|
27
|
-
*/
|
|
28
|
-
/** Why a queue-owned module import does not resolve to a packaged module. */
|
|
29
|
-
export type UnresolvedModuleReason = 'missing-file' | 'unregistered';
|
|
30
|
-
/** One unresolvable or unregistered system-module import. */
|
|
31
|
-
export interface UnresolvedModuleImport {
|
|
32
|
-
/** Engine-relative path of the module the specifier names. */
|
|
33
|
-
module: string;
|
|
34
|
-
/** The `resource://` specifier as written. */
|
|
35
|
-
specifier: string;
|
|
36
|
-
/** Engine-relative paths of the files that import it, sorted. */
|
|
37
|
-
importers: string[];
|
|
38
|
-
reason: UnresolvedModuleReason;
|
|
39
|
-
}
|
|
40
|
-
/** Engine worktree files the preflight also judges, beside the queue's. */
|
|
41
|
-
export interface WorktreeModuleFiles {
|
|
42
|
-
/** Changed or untracked files: scanned for imports. */
|
|
43
|
-
changed: readonly string[];
|
|
44
|
-
/** Untracked files: new modules the fork has not exported yet. */
|
|
45
|
-
untracked: readonly string[];
|
|
46
|
-
}
|
|
47
|
-
/** Lists the engine's changed and untracked files for the worktree scan. */
|
|
48
|
-
export declare function collectWorktreeModuleFiles(engineDir: string): Promise<WorktreeModuleFiles>;
|
|
49
|
-
/**
|
|
50
|
-
* Resolves every `resource://` system-module import made by the
|
|
51
|
-
* queue-owned files (and, given `worktree`, by changed engine files) and
|
|
52
|
-
* reports the ones a packaged browser could not load.
|
|
53
|
-
*
|
|
54
|
-
* @param engineDir - Path to the engine checkout
|
|
55
|
-
* @param ownedFiles - Engine-relative paths the patch queue owns
|
|
56
|
-
* @param worktree - Changed and untracked engine files to judge as well
|
|
57
|
-
* @returns Findings sorted by module path. Empty when everything resolves
|
|
58
|
-
*/
|
|
59
|
-
export declare function findUnresolvedSystemModuleImports(engineDir: string, ownedFiles: readonly string[], worktree?: WorktreeModuleFiles): Promise<UnresolvedModuleImport[]>;
|
|
60
|
-
/**
|
|
61
|
-
* Renders findings as operator-facing lines, naming the unregistered or
|
|
62
|
-
* unresolvable module, so the failure is a sentence instead of a bare
|
|
63
|
-
* `-11`.
|
|
64
|
-
*/
|
|
65
|
-
export declare function formatUnresolvedSystemModuleImports(findings: readonly UnresolvedModuleImport[]): string[];
|