@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,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `fireforge test --auto-ports` (or `test.mochitestPorts: "auto"`): let two
|
|
3
|
-
* checkouts run browser suites at the same time.
|
|
4
|
-
*
|
|
5
|
-
* Desktop `mach mochitest` has no `--http-port`/`--ssl-port` options; those
|
|
6
|
-
* exist only in the Android and iOS argument sets. What recent engines do
|
|
7
|
-
* have is a fallback inside `testing/mochitest/runtests.py`: before starting
|
|
8
|
-
* its servers the harness bind-probes the HTTP server, ssltunnel and
|
|
9
|
-
* WebSocket ports, and before launching the browser the Marionette port,
|
|
10
|
-
* and moves any that is busy to a free port, routing `mochi.test:8888`
|
|
11
|
-
* through its proxy to wherever the server actually landed. FireForge's
|
|
12
|
-
* own preflight refused before that fallback could run. In auto mode it
|
|
13
|
-
* steps aside for a holder that is not this checkout's own (a sibling
|
|
14
|
-
* checkout's live suite, or an unrelated listener), and keeps refusing for
|
|
15
|
-
* this checkout's own leftovers, exactly as in the default mode.
|
|
16
|
-
*
|
|
17
|
-
* Auto mode is opt-in, and it only takes effect when the engine's harness
|
|
18
|
-
* is seen to carry the fallback: on an engine without it, a busy port would
|
|
19
|
-
* still collide, so the default refusal stays in force there.
|
|
20
|
-
*/
|
|
21
|
-
import type { TestOptions } from '../types/commands/index.js';
|
|
22
|
-
import type { FireForgeConfig } from '../types/config.js';
|
|
23
|
-
import { type MarionettePortHolder } from './marionette-port.js';
|
|
24
|
-
/** Which busy-port fallbacks the engine's mochitest harness carries. */
|
|
25
|
-
export interface HarnessPortFallback {
|
|
26
|
-
/** HTTP server, ssltunnel and WebSocket ports (`startServers`). */
|
|
27
|
-
serverPorts: boolean;
|
|
28
|
-
/** The Marionette port (before the browser launch). */
|
|
29
|
-
marionettePort: boolean;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Reads the engine's `runtests.py` for the busy-port fallbacks. An
|
|
33
|
-
* unreadable file reports neither, which keeps the default refusal.
|
|
34
|
-
*/
|
|
35
|
-
export declare function detectHarnessPortFallback(engineDir: string): Promise<HarnessPortFallback>;
|
|
36
|
-
/** True when the operator asked for auto ports, by flag or by config. */
|
|
37
|
-
export declare function autoPortsRequested(options: TestOptions, config: FireForgeConfig): boolean;
|
|
38
|
-
/**
|
|
39
|
-
* True when the holder's command line points into THIS checkout's engine
|
|
40
|
-
* directory: our own leftover, which auto mode never steps aside for.
|
|
41
|
-
*/
|
|
42
|
-
export declare function isThisCheckoutsHolder(holder: MarionettePortHolder, engineDir: string): boolean;
|
|
43
|
-
/**
|
|
44
|
-
* Resolves the effective auto-ports posture for a browser run: what the
|
|
45
|
-
* engine's harness can fall back from, or `undefined` when auto mode is
|
|
46
|
-
* off or the engine cannot honour it (in which case the default refusal
|
|
47
|
-
* stays, and an explicit request says why).
|
|
48
|
-
*/
|
|
49
|
-
export declare function resolveAutoPorts(engineDir: string, options: TestOptions, config: FireForgeConfig): Promise<HarnessPortFallback | undefined>;
|
|
50
|
-
/**
|
|
51
|
-
* Steps aside for a busy port the harness will fall back from. Returns true
|
|
52
|
-
* (after a notice naming the holder) when the port is held by anything that
|
|
53
|
-
* is not this checkout's own process, false when the port is free or the
|
|
54
|
-
* holder is ours, so the caller's normal preflight runs.
|
|
55
|
-
*
|
|
56
|
-
* @param port - The default port the harness would use
|
|
57
|
-
* @param label - Human name of the port for the notice
|
|
58
|
-
* @param engineDir - This checkout's engine directory
|
|
59
|
-
*/
|
|
60
|
-
export declare function deferBusyPortToHarness(port: number, label: string, engineDir: string): Promise<boolean>;
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* `fireforge test --auto-ports` (or `test.mochitestPorts: "auto"`): let two
|
|
4
|
-
* checkouts run browser suites at the same time.
|
|
5
|
-
*
|
|
6
|
-
* Desktop `mach mochitest` has no `--http-port`/`--ssl-port` options; those
|
|
7
|
-
* exist only in the Android and iOS argument sets. What recent engines do
|
|
8
|
-
* have is a fallback inside `testing/mochitest/runtests.py`: before starting
|
|
9
|
-
* its servers the harness bind-probes the HTTP server, ssltunnel and
|
|
10
|
-
* WebSocket ports, and before launching the browser the Marionette port,
|
|
11
|
-
* and moves any that is busy to a free port, routing `mochi.test:8888`
|
|
12
|
-
* through its proxy to wherever the server actually landed. FireForge's
|
|
13
|
-
* own preflight refused before that fallback could run. In auto mode it
|
|
14
|
-
* steps aside for a holder that is not this checkout's own (a sibling
|
|
15
|
-
* checkout's live suite, or an unrelated listener), and keeps refusing for
|
|
16
|
-
* this checkout's own leftovers, exactly as in the default mode.
|
|
17
|
-
*
|
|
18
|
-
* Auto mode is opt-in, and it only takes effect when the engine's harness
|
|
19
|
-
* is seen to carry the fallback: on an engine without it, a busy port would
|
|
20
|
-
* still collide, so the default refusal stays in force there.
|
|
21
|
-
*/
|
|
22
|
-
import { readFile } from 'node:fs/promises';
|
|
23
|
-
import { join } from 'node:path';
|
|
24
|
-
import { notice } from '../utils/logger.js';
|
|
25
|
-
import { isExplicitAbsolutePath, isPathInsideRoot } from '../utils/paths.js';
|
|
26
|
-
import { probeMarionettePort } from './marionette-port.js';
|
|
27
|
-
const RUNTESTS_PATH = 'testing/mochitest/runtests.py';
|
|
28
|
-
/**
|
|
29
|
-
* Reads the engine's `runtests.py` for the busy-port fallbacks. An
|
|
30
|
-
* unreadable file reports neither, which keeps the default refusal.
|
|
31
|
-
*/
|
|
32
|
-
export async function detectHarnessPortFallback(engineDir) {
|
|
33
|
-
let source;
|
|
34
|
-
try {
|
|
35
|
-
source = await readFile(join(engineDir, RUNTESTS_PATH), 'utf8');
|
|
36
|
-
}
|
|
37
|
-
catch {
|
|
38
|
-
return { serverPorts: false, marionettePort: false };
|
|
39
|
-
}
|
|
40
|
-
const fallsBack = /falling back to port/.test(source);
|
|
41
|
-
return {
|
|
42
|
-
serverPorts: fallsBack && /\("httpPort",/.test(source) && /_port_in_use\(port\)/.test(source),
|
|
43
|
-
marionettePort: fallsBack && /_port_in_use\(marionette_port\)/.test(source),
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
/** True when the operator asked for auto ports, by flag or by config. */
|
|
47
|
-
export function autoPortsRequested(options, config) {
|
|
48
|
-
return options.autoPorts === true || config.test?.mochitestPorts === 'auto';
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* True when the holder's command line points into THIS checkout's engine
|
|
52
|
-
* directory: our own leftover, which auto mode never steps aside for.
|
|
53
|
-
*/
|
|
54
|
-
export function isThisCheckoutsHolder(holder, engineDir) {
|
|
55
|
-
return holder.commandLine
|
|
56
|
-
.split(/\s+/)
|
|
57
|
-
.filter(isExplicitAbsolutePath)
|
|
58
|
-
.some((token) => isPathInsideRoot(engineDir, token));
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Resolves the effective auto-ports posture for a browser run: what the
|
|
62
|
-
* engine's harness can fall back from, or `undefined` when auto mode is
|
|
63
|
-
* off or the engine cannot honour it (in which case the default refusal
|
|
64
|
-
* stays, and an explicit request says why).
|
|
65
|
-
*/
|
|
66
|
-
export async function resolveAutoPorts(engineDir, options, config) {
|
|
67
|
-
if (!autoPortsRequested(options, config))
|
|
68
|
-
return undefined;
|
|
69
|
-
const fallback = await detectHarnessPortFallback(engineDir);
|
|
70
|
-
if (!fallback.serverPorts && !fallback.marionettePort) {
|
|
71
|
-
notice(`Auto ports requested, but engine/${RUNTESTS_PATH} has no busy-port fallback, so a busy ` +
|
|
72
|
-
'mochitest or Marionette port is still refused as in the default mode.');
|
|
73
|
-
return undefined;
|
|
74
|
-
}
|
|
75
|
-
return fallback;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Steps aside for a busy port the harness will fall back from. Returns true
|
|
79
|
-
* (after a notice naming the holder) when the port is held by anything that
|
|
80
|
-
* is not this checkout's own process, false when the port is free or the
|
|
81
|
-
* holder is ours, so the caller's normal preflight runs.
|
|
82
|
-
*
|
|
83
|
-
* @param port - The default port the harness would use
|
|
84
|
-
* @param label - Human name of the port for the notice
|
|
85
|
-
* @param engineDir - This checkout's engine directory
|
|
86
|
-
*/
|
|
87
|
-
export async function deferBusyPortToHarness(port, label, engineDir) {
|
|
88
|
-
const probe = await probeMarionettePort(port);
|
|
89
|
-
if (!probe.inUse || !probe.holder)
|
|
90
|
-
return false;
|
|
91
|
-
if (isThisCheckoutsHolder(probe.holder, engineDir))
|
|
92
|
-
return false;
|
|
93
|
-
notice(`${label} port ${port} is held by ${probe.holder.command} (PID ${probe.holder.pid}), which is ` +
|
|
94
|
-
"not this checkout's. Auto ports: the harness moves this run to a free port instead.");
|
|
95
|
-
return true;
|
|
96
|
-
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Mochitest server ports for `fireforge test --jobs <n>`: placeholder
|
|
3
|
-
* listeners that push every parallel harness instance onto its own ports,
|
|
4
|
-
* and the parse of the ports each instance actually took.
|
|
5
|
-
*
|
|
6
|
-
* Desktop `mach mochitest` has no `--http-port`, `--ssl-port` or
|
|
7
|
-
* `--websocket-port`. Its `startServers` (`testing/mochitest/runtests.py`)
|
|
8
|
-
* bind-probes the HTTP server, ssltunnel and WebSocket ports (8888, 4443,
|
|
9
|
-
* 9988) and moves only a busy one to a free port; see
|
|
10
|
-
* `harness-port-fallback.ts`. Instances started at the same moment all
|
|
11
|
-
* pass that probe on a free 8888, then race to bind it: the losers die with
|
|
12
|
-
* `could not start server on port 8888` before any test runs. Holding the
|
|
13
|
-
* three ports for the whole parallel run makes every instance's probe fail,
|
|
14
|
-
* so each one falls back to an OS-assigned port of its own.
|
|
15
|
-
*/
|
|
16
|
-
/** Which mochitest server a port belongs to, as the verdict line names it. */
|
|
17
|
-
export type HarnessServerPortKey = 'http' | 'ssl' | 'ws';
|
|
18
|
-
/** Placeholder listeners held for a parallel run. */
|
|
19
|
-
export interface HarnessPortReservation {
|
|
20
|
-
/** Ports this process now holds. A port that was already busy is not listed. */
|
|
21
|
-
held: number[];
|
|
22
|
-
/** Closes every placeholder. Safe to call more than once. */
|
|
23
|
-
release(): Promise<void>;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Holds a placeholder listener on `127.0.0.1` on each mochitest server
|
|
27
|
-
* port, so the harness's busy-port probe moves every instance elsewhere.
|
|
28
|
-
* A port that cannot be bound is skipped, not refused: whatever holds it
|
|
29
|
-
* already makes the probe fail, which is all the placeholder is for (the
|
|
30
|
-
* preflight has already ruled out this checkout's own stale httpd).
|
|
31
|
-
*
|
|
32
|
-
* @param ports - Ports to hold (default: {@link HARNESS_SERVER_PORTS})
|
|
33
|
-
*/
|
|
34
|
-
export declare function reserveHarnessServerPorts(ports?: readonly number[]): Promise<HarnessPortReservation>;
|
|
35
|
-
/** The server ports one harness invocation reported, by server. */
|
|
36
|
-
export type HarnessServerPorts = Partial<Record<HarnessServerPortKey, number>>;
|
|
37
|
-
/**
|
|
38
|
-
* Records the port one output line reports, if it reports one: the
|
|
39
|
-
* fallback port of a "falling back" line, or the port itself otherwise.
|
|
40
|
-
*
|
|
41
|
-
* @param line - One line of harness output
|
|
42
|
-
* @param into - Collected ports; a later line for the same server wins
|
|
43
|
-
*/
|
|
44
|
-
export declare function recordHarnessServerPortLine(line: string, into: HarnessServerPorts): void;
|
|
45
|
-
/** Collects server ports from streamed output chunks. */
|
|
46
|
-
export interface HarnessPortTracker {
|
|
47
|
-
onChunk(stream: 'stdout' | 'stderr', chunk: string): void;
|
|
48
|
-
/** The ports seen so far, including an unterminated last line. */
|
|
49
|
-
ports(): HarnessServerPorts;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* A tracker over the full output stream. The ports are printed at harness
|
|
53
|
-
* start, so the capped capture tail a long run keeps would lose them.
|
|
54
|
-
*/
|
|
55
|
-
export declare function createHarnessPortTracker(): HarnessPortTracker;
|
|
56
|
-
/**
|
|
57
|
-
* The `http:N,ssl:N,ws:N` value of a `ports=` key, in probe order, or
|
|
58
|
-
* undefined when no port is known.
|
|
59
|
-
*/
|
|
60
|
-
export declare function formatHarnessServerPorts(ports: HarnessServerPorts | undefined): string | undefined;
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Mochitest server ports for `fireforge test --jobs <n>`: placeholder
|
|
4
|
-
* listeners that push every parallel harness instance onto its own ports,
|
|
5
|
-
* and the parse of the ports each instance actually took.
|
|
6
|
-
*
|
|
7
|
-
* Desktop `mach mochitest` has no `--http-port`, `--ssl-port` or
|
|
8
|
-
* `--websocket-port`. Its `startServers` (`testing/mochitest/runtests.py`)
|
|
9
|
-
* bind-probes the HTTP server, ssltunnel and WebSocket ports (8888, 4443,
|
|
10
|
-
* 9988) and moves only a busy one to a free port; see
|
|
11
|
-
* `harness-port-fallback.ts`. Instances started at the same moment all
|
|
12
|
-
* pass that probe on a free 8888, then race to bind it: the losers die with
|
|
13
|
-
* `could not start server on port 8888` before any test runs. Holding the
|
|
14
|
-
* three ports for the whole parallel run makes every instance's probe fail,
|
|
15
|
-
* so each one falls back to an OS-assigned port of its own.
|
|
16
|
-
*/
|
|
17
|
-
import { createServer } from 'node:net';
|
|
18
|
-
/**
|
|
19
|
-
* The ports `startServers` probes, in the order it probes them. Desktop
|
|
20
|
-
* mochitest cannot configure them, so the engine defaults are the ports.
|
|
21
|
-
*/
|
|
22
|
-
const HARNESS_SERVER_PORTS = [
|
|
23
|
-
{ key: 'http', port: 8888, label: 'HTTP test server' },
|
|
24
|
-
{ key: 'ssl', port: 4443, label: 'ssltunnel' },
|
|
25
|
-
{ key: 'ws', port: 9988, label: 'WebSocket server' },
|
|
26
|
-
];
|
|
27
|
-
/** Listens on `127.0.0.1:port`, or resolves undefined when the bind fails. */
|
|
28
|
-
async function holdPort(port) {
|
|
29
|
-
return new Promise((resolve) => {
|
|
30
|
-
const server = createServer((socket) => {
|
|
31
|
-
// Nothing should connect: the harness only probes with a bind. Anyone
|
|
32
|
-
// who does gets a closed socket instead of a hang.
|
|
33
|
-
socket.destroy();
|
|
34
|
-
});
|
|
35
|
-
server.once('error', () => {
|
|
36
|
-
resolve(undefined);
|
|
37
|
-
});
|
|
38
|
-
server.listen({ port, host: '127.0.0.1', exclusive: true }, () => {
|
|
39
|
-
server.unref();
|
|
40
|
-
resolve(server);
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Holds a placeholder listener on `127.0.0.1` on each mochitest server
|
|
46
|
-
* port, so the harness's busy-port probe moves every instance elsewhere.
|
|
47
|
-
* A port that cannot be bound is skipped, not refused: whatever holds it
|
|
48
|
-
* already makes the probe fail, which is all the placeholder is for (the
|
|
49
|
-
* preflight has already ruled out this checkout's own stale httpd).
|
|
50
|
-
*
|
|
51
|
-
* @param ports - Ports to hold (default: {@link HARNESS_SERVER_PORTS})
|
|
52
|
-
*/
|
|
53
|
-
export async function reserveHarnessServerPorts(ports = HARNESS_SERVER_PORTS.map((spec) => spec.port)) {
|
|
54
|
-
const servers = (await Promise.all(ports.map(holdPort))).filter((server) => server !== undefined);
|
|
55
|
-
const held = servers.map((server) => {
|
|
56
|
-
const address = server.address();
|
|
57
|
-
return typeof address === 'object' && address !== null ? address.port : 0;
|
|
58
|
-
});
|
|
59
|
-
let released = false;
|
|
60
|
-
return {
|
|
61
|
-
held,
|
|
62
|
-
async release() {
|
|
63
|
-
if (released)
|
|
64
|
-
return;
|
|
65
|
-
released = true;
|
|
66
|
-
await Promise.all(servers.map((server) => new Promise((resolve) => {
|
|
67
|
-
server.close(() => {
|
|
68
|
-
resolve();
|
|
69
|
-
});
|
|
70
|
-
})));
|
|
71
|
-
},
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
const PORT_LINE_PATTERN = /\b(HTTP test server|ssltunnel|WebSocket server) port (\d+)(?: already in use, falling back to port (\d+))?/;
|
|
75
|
-
/**
|
|
76
|
-
* Records the port one output line reports, if it reports one: the
|
|
77
|
-
* fallback port of a "falling back" line, or the port itself otherwise.
|
|
78
|
-
*
|
|
79
|
-
* @param line - One line of harness output
|
|
80
|
-
* @param into - Collected ports; a later line for the same server wins
|
|
81
|
-
*/
|
|
82
|
-
export function recordHarnessServerPortLine(line, into) {
|
|
83
|
-
const match = PORT_LINE_PATTERN.exec(line);
|
|
84
|
-
if (match === null)
|
|
85
|
-
return;
|
|
86
|
-
const spec = HARNESS_SERVER_PORTS.find((entry) => entry.label === match[1]);
|
|
87
|
-
const port = Number.parseInt(match[3] ?? match[2] ?? '', 10);
|
|
88
|
-
if (spec !== undefined && Number.isInteger(port))
|
|
89
|
-
into[spec.key] = port;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* A tracker over the full output stream. The ports are printed at harness
|
|
93
|
-
* start, so the capped capture tail a long run keeps would lose them.
|
|
94
|
-
*/
|
|
95
|
-
export function createHarnessPortTracker() {
|
|
96
|
-
const collected = {};
|
|
97
|
-
const pending = { stdout: '', stderr: '' };
|
|
98
|
-
return {
|
|
99
|
-
onChunk(stream, chunk) {
|
|
100
|
-
const lines = `${pending[stream]}${chunk}`.split(/\r?\n/);
|
|
101
|
-
pending[stream] = lines.pop() ?? '';
|
|
102
|
-
for (const line of lines)
|
|
103
|
-
recordHarnessServerPortLine(line, collected);
|
|
104
|
-
},
|
|
105
|
-
ports() {
|
|
106
|
-
const result = { ...collected };
|
|
107
|
-
recordHarnessServerPortLine(pending.stdout, result);
|
|
108
|
-
recordHarnessServerPortLine(pending.stderr, result);
|
|
109
|
-
return result;
|
|
110
|
-
},
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* The `http:N,ssl:N,ws:N` value of a `ports=` key, in probe order, or
|
|
115
|
-
* undefined when no port is known.
|
|
116
|
-
*/
|
|
117
|
-
export function formatHarnessServerPorts(ports) {
|
|
118
|
-
if (ports === undefined)
|
|
119
|
-
return undefined;
|
|
120
|
-
const parts = HARNESS_SERVER_PORTS.flatMap(({ key }) => ports[key] === undefined ? [] : [`${key}:${ports[key]}`]);
|
|
121
|
-
return parts.length > 0 ? parts.join(',') : undefined;
|
|
122
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/** Filename of a history log inside `patches/`, which is moved out of the queue. */
|
|
2
|
-
export declare const LEGACY_HISTORY_LOG_FILENAME = ".fireforge-history.jsonl";
|
|
3
|
-
/** Default history log location, relative to the project root. */
|
|
4
|
-
export declare const DEFAULT_HISTORY_LOG_PATH: string;
|
|
5
|
-
/** Environment variable a caller sets to tag every record of its session. */
|
|
6
|
-
export declare const HISTORY_SESSION_ENV = "FIREFORGE_SESSION_ID";
|
|
7
|
-
/** Who wrote a history record. */
|
|
8
|
-
export interface HistoryRecordIdentity {
|
|
9
|
-
/** One id per FireForge process: every record one command writes shares it. */
|
|
10
|
-
invocationId: string;
|
|
11
|
-
/** The caller's `FIREFORGE_SESSION_ID`, when set. */
|
|
12
|
-
sessionId?: string;
|
|
13
|
-
pid: number;
|
|
14
|
-
ppid: number;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Identity fields stamped on every history record: one id per FireForge
|
|
18
|
-
* process (every record one command writes shares it), the process and its
|
|
19
|
-
* parent, and the caller's `FIREFORGE_SESSION_ID` when set. The parent PID
|
|
20
|
-
* is a weak hint (usually the shell); the environment variable is the
|
|
21
|
-
* reliable way for a session to tag its own lines.
|
|
22
|
-
*/
|
|
23
|
-
export declare function historyRecordIdentity(): HistoryRecordIdentity;
|
|
24
|
-
/**
|
|
25
|
-
* Resolves the history log path for a project.
|
|
26
|
-
*
|
|
27
|
-
* @param projectRoot - Project root containing `fireforge.json`
|
|
28
|
-
* @returns Absolute path of the history log
|
|
29
|
-
*/
|
|
30
|
-
export declare function resolveHistoryLogPath(projectRoot: string): Promise<string>;
|
|
31
|
-
/**
|
|
32
|
-
* Moves a history log found at the `patches/` path to `target`.
|
|
33
|
-
*
|
|
34
|
-
* Records are never dropped, whatever else is happening:
|
|
35
|
-
* - The in-queue file is first claimed by renaming it aside, so of two
|
|
36
|
-
* commands migrating at once exactly one does the work and neither
|
|
37
|
-
* duplicates it.
|
|
38
|
-
* - When `target` does not exist yet (the first run), the claimed file is
|
|
39
|
-
* hard-linked into place, which cannot overwrite a log another command
|
|
40
|
-
* created in the meantime, and keeps a large log a constant-time move.
|
|
41
|
-
* - When both exist (a log reappeared at the `patches/` path after a
|
|
42
|
-
* migration, or `history.path` changed), the in-queue records are
|
|
43
|
-
* appended to the target in one write. They then follow newer records;
|
|
44
|
-
* every record carries its own `ts`.
|
|
45
|
-
*
|
|
46
|
-
* A crash between the claim and the move leaves the records in a
|
|
47
|
-
* `.migrating-*` file next to the in-queue path, never deleted.
|
|
48
|
-
*
|
|
49
|
-
* @param patchesDir - The patches directory that may hold an in-queue log
|
|
50
|
-
* @param target - Absolute path of the history log
|
|
51
|
-
*/
|
|
52
|
-
export declare function migrateLegacyHistoryLog(patchesDir: string, target: string): Promise<void>;
|
|
53
|
-
/**
|
|
54
|
-
* Appends one serialized record to the project's history log, first moving
|
|
55
|
-
* a log found inside `patches/`.
|
|
56
|
-
*
|
|
57
|
-
* @param patchesDir - The project's `patches/` directory; the project root is
|
|
58
|
-
* its parent, as every caller derives it from `getProjectPaths`
|
|
59
|
-
* @param line - One JSON record, without the trailing newline
|
|
60
|
-
*/
|
|
61
|
-
export declare function appendHistoryLine(patchesDir: string, line: string): Promise<void>;
|
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Where the patch history log lives, and who wrote each record.
|
|
4
|
-
*
|
|
5
|
-
* The log defaults to `.fireforge/history.jsonl` (FireForge's own untracked
|
|
6
|
-
* data directory), or `fireforge.json#history.path` when a project sets one.
|
|
7
|
-
* It stays out of the tracked patch queue because it grows to tens of
|
|
8
|
-
* megabytes and would otherwise be committed with every export. A log found
|
|
9
|
-
* at `patches/.fireforge-history.jsonl`, inside the queue, is moved on the
|
|
10
|
-
* first append.
|
|
11
|
-
*
|
|
12
|
-
* Several sessions sharing one checkout all append to the same log, so each
|
|
13
|
-
* record carries the invocation that wrote it, plus a session hint, letting
|
|
14
|
-
* a session select its own lines mechanically.
|
|
15
|
-
*/
|
|
16
|
-
import { randomUUID } from 'node:crypto';
|
|
17
|
-
import { appendFile, link, readFile, rename, rm, stat } from 'node:fs/promises';
|
|
18
|
-
import { dirname, join, resolve } from 'node:path';
|
|
19
|
-
import { getNodeErrorCode, toError } from '../utils/errors.js';
|
|
20
|
-
import { ensureDir, pathExists } from '../utils/fs.js';
|
|
21
|
-
import { info, verbose } from '../utils/logger.js';
|
|
22
|
-
import { FIREFORGE_DIR } from './config-paths.js';
|
|
23
|
-
import { isValidHistoryPath } from './config-validate-history.js';
|
|
24
|
-
/** Filename of a history log inside `patches/`, which is moved out of the queue. */
|
|
25
|
-
export const LEGACY_HISTORY_LOG_FILENAME = '.fireforge-history.jsonl';
|
|
26
|
-
/** Default history log location, relative to the project root. */
|
|
27
|
-
export const DEFAULT_HISTORY_LOG_PATH = join(FIREFORGE_DIR, 'history.jsonl');
|
|
28
|
-
/** Environment variable a caller sets to tag every record of its session. */
|
|
29
|
-
export const HISTORY_SESSION_ENV = 'FIREFORGE_SESSION_ID';
|
|
30
|
-
let invocationId;
|
|
31
|
-
/**
|
|
32
|
-
* Identity fields stamped on every history record: one id per FireForge
|
|
33
|
-
* process (every record one command writes shares it), the process and its
|
|
34
|
-
* parent, and the caller's `FIREFORGE_SESSION_ID` when set. The parent PID
|
|
35
|
-
* is a weak hint (usually the shell); the environment variable is the
|
|
36
|
-
* reliable way for a session to tag its own lines.
|
|
37
|
-
*/
|
|
38
|
-
export function historyRecordIdentity() {
|
|
39
|
-
invocationId ??= randomUUID();
|
|
40
|
-
const session = process.env[HISTORY_SESSION_ENV]?.trim();
|
|
41
|
-
return {
|
|
42
|
-
invocationId,
|
|
43
|
-
...(session !== undefined && session !== '' ? { sessionId: session } : {}),
|
|
44
|
-
pid: process.pid,
|
|
45
|
-
ppid: process.ppid,
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Reads `history.path` from the project's raw `fireforge.json`.
|
|
50
|
-
*
|
|
51
|
-
* Fail-open: the writer runs after a mutation has already committed, so a
|
|
52
|
-
* missing or unreadable config means "use the default", never an error. An
|
|
53
|
-
* invalid value is refused by config validation when the command loads its
|
|
54
|
-
* config; here it also falls back to the default rather than writing
|
|
55
|
-
* somewhere validation would not allow.
|
|
56
|
-
*/
|
|
57
|
-
async function readConfiguredHistoryPath(projectRoot) {
|
|
58
|
-
let data;
|
|
59
|
-
try {
|
|
60
|
-
data = JSON.parse(await readFile(join(projectRoot, 'fireforge.json'), 'utf-8'));
|
|
61
|
-
}
|
|
62
|
-
catch {
|
|
63
|
-
return undefined;
|
|
64
|
-
}
|
|
65
|
-
if (typeof data !== 'object' || data === null)
|
|
66
|
-
return undefined;
|
|
67
|
-
const history = data['history'];
|
|
68
|
-
if (typeof history !== 'object' || history === null)
|
|
69
|
-
return undefined;
|
|
70
|
-
const path = history['path'];
|
|
71
|
-
if (path === undefined)
|
|
72
|
-
return undefined;
|
|
73
|
-
if (!isValidHistoryPath(path)) {
|
|
74
|
-
verbose(`Ignoring invalid history.path in fireforge.json; using ${DEFAULT_HISTORY_LOG_PATH}`);
|
|
75
|
-
return undefined;
|
|
76
|
-
}
|
|
77
|
-
return path;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Resolves the history log path for a project.
|
|
81
|
-
*
|
|
82
|
-
* @param projectRoot - Project root containing `fireforge.json`
|
|
83
|
-
* @returns Absolute path of the history log
|
|
84
|
-
*/
|
|
85
|
-
export async function resolveHistoryLogPath(projectRoot) {
|
|
86
|
-
const configured = await readConfiguredHistoryPath(projectRoot);
|
|
87
|
-
return resolve(projectRoot, configured ?? DEFAULT_HISTORY_LOG_PATH);
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Moves a history log found at the `patches/` path to `target`.
|
|
91
|
-
*
|
|
92
|
-
* Records are never dropped, whatever else is happening:
|
|
93
|
-
* - The in-queue file is first claimed by renaming it aside, so of two
|
|
94
|
-
* commands migrating at once exactly one does the work and neither
|
|
95
|
-
* duplicates it.
|
|
96
|
-
* - When `target` does not exist yet (the first run), the claimed file is
|
|
97
|
-
* hard-linked into place, which cannot overwrite a log another command
|
|
98
|
-
* created in the meantime, and keeps a large log a constant-time move.
|
|
99
|
-
* - When both exist (a log reappeared at the `patches/` path after a
|
|
100
|
-
* migration, or `history.path` changed), the in-queue records are
|
|
101
|
-
* appended to the target in one write. They then follow newer records;
|
|
102
|
-
* every record carries its own `ts`.
|
|
103
|
-
*
|
|
104
|
-
* A crash between the claim and the move leaves the records in a
|
|
105
|
-
* `.migrating-*` file next to the in-queue path, never deleted.
|
|
106
|
-
*
|
|
107
|
-
* @param patchesDir - The patches directory that may hold an in-queue log
|
|
108
|
-
* @param target - Absolute path of the history log
|
|
109
|
-
*/
|
|
110
|
-
export async function migrateLegacyHistoryLog(patchesDir, target) {
|
|
111
|
-
const legacy = join(patchesDir, LEGACY_HISTORY_LOG_FILENAME);
|
|
112
|
-
if (resolve(legacy) === resolve(target))
|
|
113
|
-
return;
|
|
114
|
-
try {
|
|
115
|
-
await stat(legacy);
|
|
116
|
-
}
|
|
117
|
-
catch {
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
const claimed = `${legacy}.migrating-${process.pid}-${randomUUID()}`;
|
|
121
|
-
try {
|
|
122
|
-
await rename(legacy, claimed);
|
|
123
|
-
}
|
|
124
|
-
catch (error) {
|
|
125
|
-
if (getNodeErrorCode(error) === 'ENOENT')
|
|
126
|
-
return;
|
|
127
|
-
throw error;
|
|
128
|
-
}
|
|
129
|
-
await ensureDir(dirname(target));
|
|
130
|
-
try {
|
|
131
|
-
await link(claimed, target);
|
|
132
|
-
}
|
|
133
|
-
catch (error) {
|
|
134
|
-
// Windows can report two racing renames of one file as both
|
|
135
|
-
// succeeding, the file ending under the other claimant's name. That
|
|
136
|
-
// claimant holds the records and moves them, so this one stands down.
|
|
137
|
-
if (getNodeErrorCode(error) === 'ENOENT' && !(await pathExists(claimed))) {
|
|
138
|
-
verbose('History log migration lost the claim to a concurrent command');
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
// EEXIST: both logs exist. Anything else (a filesystem without hard
|
|
142
|
-
// links, a target on another device): the append below creates the
|
|
143
|
-
// target when it is missing, so it covers that case too.
|
|
144
|
-
verbose(`History log migration falls back to appending (${toError(error).message})`);
|
|
145
|
-
await appendFile(target, await readFile(claimed));
|
|
146
|
-
}
|
|
147
|
-
await rm(claimed, { force: true });
|
|
148
|
-
info(`Moved the patch history log from ${legacy} to ${target}. ` +
|
|
149
|
-
'Nothing reads it back; it is an audit trail only.');
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Appends one serialized record to the project's history log, first moving
|
|
153
|
-
* a log found inside `patches/`.
|
|
154
|
-
*
|
|
155
|
-
* @param patchesDir - The project's `patches/` directory; the project root is
|
|
156
|
-
* its parent, as every caller derives it from `getProjectPaths`
|
|
157
|
-
* @param line - One JSON record, without the trailing newline
|
|
158
|
-
*/
|
|
159
|
-
export async function appendHistoryLine(patchesDir, line) {
|
|
160
|
-
const target = await resolveHistoryLogPath(dirname(resolve(patchesDir)));
|
|
161
|
-
await migrateLegacyHistoryLog(patchesDir, target);
|
|
162
|
-
await ensureDir(dirname(target));
|
|
163
|
-
await appendFile(target, `${line}\n`, 'utf-8');
|
|
164
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { HistoryEntry } from './destructive.js';
|
|
2
|
-
/**
|
|
3
|
-
* Appends a history entry for a mutation that has already committed, degrading
|
|
4
|
-
* to a warning when the log cannot be written.
|
|
5
|
-
*
|
|
6
|
-
* This is the one `try { await appendHistory(...) } catch { warn(...) }`
|
|
7
|
-
* block for every call site across `export-flow` and the `patch` subcommands.
|
|
8
|
-
* The swallow is intentional: the patch files and the manifest
|
|
9
|
-
* are already on disk by the time this runs, so letting a failed log write
|
|
10
|
-
* reject would report a completed, irreversible mutation as a failure and send
|
|
11
|
-
* the operator looking for damage that is not there. Because that reasoning is
|
|
12
|
-
* easy to lose in a copy, it lives in one place.
|
|
13
|
-
* @param patchesDir - The project's `patches/` directory (the log itself lives
|
|
14
|
-
* under `.fireforge/` or `history.path`; see `history-log-file.ts`).
|
|
15
|
-
* @param entry - The entry to append.
|
|
16
|
-
* @param context - What just committed, rendered into
|
|
17
|
-
* `History log append failed after <context>: <reason>`, e.g.
|
|
18
|
-
* `patch tier committed (007-foo.patch)`.
|
|
19
|
-
*/
|
|
20
|
-
export declare function appendHistoryBestEffort(patchesDir: string, entry: HistoryEntry, context: string): Promise<void>;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { toError } from '../utils/errors.js';
|
|
3
|
-
import { warn } from '../utils/logger.js';
|
|
4
|
-
import { appendHistory } from './destructive.js';
|
|
5
|
-
/**
|
|
6
|
-
* Appends a history entry for a mutation that has already committed, degrading
|
|
7
|
-
* to a warning when the log cannot be written.
|
|
8
|
-
*
|
|
9
|
-
* This is the one `try { await appendHistory(...) } catch { warn(...) }`
|
|
10
|
-
* block for every call site across `export-flow` and the `patch` subcommands.
|
|
11
|
-
* The swallow is intentional: the patch files and the manifest
|
|
12
|
-
* are already on disk by the time this runs, so letting a failed log write
|
|
13
|
-
* reject would report a completed, irreversible mutation as a failure and send
|
|
14
|
-
* the operator looking for damage that is not there. Because that reasoning is
|
|
15
|
-
* easy to lose in a copy, it lives in one place.
|
|
16
|
-
* @param patchesDir - The project's `patches/` directory (the log itself lives
|
|
17
|
-
* under `.fireforge/` or `history.path`; see `history-log-file.ts`).
|
|
18
|
-
* @param entry - The entry to append.
|
|
19
|
-
* @param context - What just committed, rendered into
|
|
20
|
-
* `History log append failed after <context>: <reason>`, e.g.
|
|
21
|
-
* `patch tier committed (007-foo.patch)`.
|
|
22
|
-
*/
|
|
23
|
-
export async function appendHistoryBestEffort(patchesDir, entry, context) {
|
|
24
|
-
try {
|
|
25
|
-
await appendHistory(patchesDir, entry);
|
|
26
|
-
}
|
|
27
|
-
catch (historyError) {
|
|
28
|
-
warn(`History log append failed after ${context}: ${toError(historyError).message}`);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Format-preserving rewrites of a JSON document.
|
|
3
|
-
*
|
|
4
|
-
* `fireforge source set`, `fireforge config` and `furnace init` change a
|
|
5
|
-
* few keys of `fireforge.json`. Re-serializing the whole document with
|
|
6
|
-
* `JSON.stringify` expands every compact object and array the project keeps
|
|
7
|
-
* on one line, so a one-key change becomes a diff across unrelated policy
|
|
8
|
-
* sections. This module diffs the document on disk against the wanted one
|
|
9
|
-
* and edits only the values that differ, in place, keeping every other byte
|
|
10
|
-
* (indentation, compact containers, key order, trailing newline).
|
|
11
|
-
*
|
|
12
|
-
* Inserted values follow the style of the container they land in: one line
|
|
13
|
-
* inside a one-line container, the container's own indentation otherwise.
|
|
14
|
-
*/
|
|
15
|
-
import type { JsonObject } from '../types/json.js';
|
|
16
|
-
/**
|
|
17
|
-
* Rewrites `text` so it parses to `next`, editing only the values that
|
|
18
|
-
* differ. Returns `undefined` when `text` is not a JSON object or the edit
|
|
19
|
-
* cannot be proven equivalent, so the caller can fall back to a full
|
|
20
|
-
* re-serialization.
|
|
21
|
-
*/
|
|
22
|
-
export declare function rewriteJsonPreservingFormat(text: string, next: JsonObject): string | undefined;
|