@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
package/dist/src/core/config.js
DELETED
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Project configuration barrel module.
|
|
4
|
-
*
|
|
5
|
-
* Re-exports from focused sub-modules:
|
|
6
|
-
* config-paths.ts: constants and project path derivation
|
|
7
|
-
* config-validate.ts: fireforge.json schema validation
|
|
8
|
-
* config-mutate.ts: immutable config mutation
|
|
9
|
-
* config-state.ts: state file management
|
|
10
|
-
*/
|
|
11
|
-
import { basename } from 'node:path';
|
|
12
|
-
import { ConfigError, ConfigNotFoundError } from '../errors/config.js';
|
|
13
|
-
import { toError } from '../utils/errors.js';
|
|
14
|
-
import * as fsUtils from '../utils/fs.js';
|
|
15
|
-
import { isObject } from '../utils/validation.js';
|
|
16
|
-
import { getProjectPaths } from './config-paths.js';
|
|
17
|
-
import { validateConfig } from './config-validate.js';
|
|
18
|
-
import { createSiblingLockPath, withFileLock } from './file-lock.js';
|
|
19
|
-
import { rewriteJsonPreservingFormat } from './json-preserving-edit.js';
|
|
20
|
-
// ---- re-exports ----
|
|
21
|
-
export { mutateConfig } from './config-mutate.js';
|
|
22
|
-
export { FIREFORGE_DIR, getProjectPaths, SUPPORTED_CONFIG_PATHS, SUPPORTED_CONFIG_ROOT_KEYS, } from './config-paths.js';
|
|
23
|
-
export { loadState, updateState } from './config-state.js';
|
|
24
|
-
export { validateConfig } from './config-validate.js';
|
|
25
|
-
// ---- config I/O (stays here because it bridges paths + validation) ----
|
|
26
|
-
/**
|
|
27
|
-
* Checks if a fireforge.json exists in the given directory.
|
|
28
|
-
* @param root - Root directory to check
|
|
29
|
-
* @returns True if fireforge.json exists
|
|
30
|
-
*/
|
|
31
|
-
export async function configExists(root) {
|
|
32
|
-
const paths = getProjectPaths(root);
|
|
33
|
-
// Strict probe: a permission error on `fireforge.json` must propagate
|
|
34
|
-
// rather than read as "no config here", which plain `pathExists` reports.
|
|
35
|
-
return fsUtils.pathExistsStrict(paths.config);
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Loads and validates the fireforge.json configuration.
|
|
39
|
-
* @param root - Root directory of the project
|
|
40
|
-
* @returns Validated FireForgeConfig
|
|
41
|
-
* @throws Error if config doesn't exist or is invalid
|
|
42
|
-
*/
|
|
43
|
-
export async function loadConfig(root) {
|
|
44
|
-
const paths = getProjectPaths(root);
|
|
45
|
-
// Strict probe: a permission error on `fireforge.json` must propagate
|
|
46
|
-
// rather than read as "no config here", which plain `pathExists` reports.
|
|
47
|
-
if (!(await fsUtils.pathExistsStrict(paths.config))) {
|
|
48
|
-
throw new ConfigNotFoundError(paths.config);
|
|
49
|
-
}
|
|
50
|
-
try {
|
|
51
|
-
const data = await fsUtils.readJson(paths.config);
|
|
52
|
-
return validateConfig(data);
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
if (error instanceof ConfigError) {
|
|
56
|
-
throw error;
|
|
57
|
-
}
|
|
58
|
-
throw new ConfigError(`Invalid fireforge.json at ${paths.config}: ${toError(error).message}`);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Reads the raw `fireforge.json` document without running it through
|
|
63
|
-
* {@link validateConfig}. Returns every persisted key, including keys
|
|
64
|
-
* written via `fireforge config <key> --force` that `validateConfig`
|
|
65
|
-
* would strip from the typed result.
|
|
66
|
-
*
|
|
67
|
-
* Callers that need the validated, typed shape must still use
|
|
68
|
-
* {@link loadConfig}. This helper exists specifically for the `config`
|
|
69
|
-
* read path so `fireforge config <key>` can surface keys the write path
|
|
70
|
-
* accepted under `--force`.
|
|
71
|
-
*
|
|
72
|
-
* @param root - Root directory of the project
|
|
73
|
-
* @returns Raw config object as persisted on disk
|
|
74
|
-
* @throws ConfigNotFoundError when fireforge.json is missing
|
|
75
|
-
* @throws ConfigError when the file is not valid JSON
|
|
76
|
-
*/
|
|
77
|
-
export async function loadRawConfigDocument(root) {
|
|
78
|
-
const paths = getProjectPaths(root);
|
|
79
|
-
// Strict probe: a permission error on `fireforge.json` must propagate
|
|
80
|
-
// rather than read as "no config here", which plain `pathExists` reports.
|
|
81
|
-
if (!(await fsUtils.pathExistsStrict(paths.config))) {
|
|
82
|
-
throw new ConfigNotFoundError(paths.config);
|
|
83
|
-
}
|
|
84
|
-
try {
|
|
85
|
-
const data = await fsUtils.readJson(paths.config);
|
|
86
|
-
if (!isObject(data)) {
|
|
87
|
-
throw new ConfigError(`Invalid fireforge.json at ${paths.config}: expected an object`);
|
|
88
|
-
}
|
|
89
|
-
// `data` came out of JSON.parse, which can only ever produce JSON
|
|
90
|
-
// values, so with the object check above the JsonObject contract holds.
|
|
91
|
-
return data;
|
|
92
|
-
}
|
|
93
|
-
catch (error) {
|
|
94
|
-
if (error instanceof ConfigError || error instanceof ConfigNotFoundError) {
|
|
95
|
-
throw error;
|
|
96
|
-
}
|
|
97
|
-
throw new ConfigError(`Invalid fireforge.json at ${paths.config}: ${toError(error).message}`);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Writes a configuration to fireforge.json.
|
|
102
|
-
* @param root - Root directory of the project
|
|
103
|
-
* @param config - Configuration to write
|
|
104
|
-
*/
|
|
105
|
-
export async function writeConfig(root, config) {
|
|
106
|
-
await writeConfigDocument(root, config);
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Writes a raw config document to fireforge.json.
|
|
110
|
-
* This is used by CLI `config --force`, where callers may intentionally write
|
|
111
|
-
* keys or value shapes outside the validated FireForgeConfig schema.
|
|
112
|
-
*
|
|
113
|
-
* An existing file is edited in place: only the values that differ from the
|
|
114
|
-
* document on disk are rewritten, so a one-key change keeps the file's
|
|
115
|
-
* formatting (compact objects and arrays, indentation, key order) and stays
|
|
116
|
-
* a one-hunk diff. A missing or unparseable file is written in full.
|
|
117
|
-
*
|
|
118
|
-
* Individual writes are atomic via {@link writeJson} (temp file + rename),
|
|
119
|
-
* but atomicity alone does not prevent lost updates across concurrent
|
|
120
|
-
* writers: each writer reads an old copy, mutates its own in-memory view,
|
|
121
|
-
* and writes it back, so the second writer's rename clobbers the first
|
|
122
|
-
* writer's changes. Callers that do read → mutate → write must hold
|
|
123
|
-
* {@link withConfigFileLock} for the full round-trip to serialise
|
|
124
|
-
* against other writers.
|
|
125
|
-
*/
|
|
126
|
-
export async function writeConfigDocument(root, config) {
|
|
127
|
-
const paths = getProjectPaths(root);
|
|
128
|
-
if (await fsUtils.pathExists(paths.config)) {
|
|
129
|
-
const current = await fsUtils.readText(paths.config);
|
|
130
|
-
// `FireForgeConfig` is plain parsed-config data, so it is a JSON object.
|
|
131
|
-
const edited = rewriteJsonPreservingFormat(current, config);
|
|
132
|
-
if (edited !== undefined) {
|
|
133
|
-
if (edited !== current)
|
|
134
|
-
await fsUtils.writeText(paths.config, edited);
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
await fsUtils.writeJson(paths.config, config);
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Runs an operation while holding a sidecar lock on `fireforge.json`.
|
|
142
|
-
*
|
|
143
|
-
* Two concurrent `fireforge config <key> <value>` invocations each run
|
|
144
|
-
* load → mutate → writeJson against the same document. Without this lock
|
|
145
|
-
* the second rename lands after the first and silently drops the first
|
|
146
|
-
* writer's key, with both commands exiting 0.
|
|
147
|
-
*
|
|
148
|
-
* Reads (`loadConfig`, `loadRawConfigDocument`) stay lock-free: writers
|
|
149
|
-
* always use `writeJson`'s atomic temp-file + rename, so a reader observes
|
|
150
|
-
* either the pre- or post-write document but never a torn file. The lock
|
|
151
|
-
* only serialises writers against other writers.
|
|
152
|
-
*
|
|
153
|
-
* The lock is a sidecar directory `${config}.fireforge-config.lock`, and
|
|
154
|
-
* `withFileLock` handles stale-lock recovery (PID-alive probe, age-based
|
|
155
|
-
* fallback), so a crashed writer does not permanently block future writes.
|
|
156
|
-
*
|
|
157
|
-
* @param root - Root directory of the project
|
|
158
|
-
* @param operation - Async function to run while holding the lock
|
|
159
|
-
* @returns Whatever the operation returns
|
|
160
|
-
*/
|
|
161
|
-
export async function withConfigFileLock(root, operation) {
|
|
162
|
-
const paths = getProjectPaths(root);
|
|
163
|
-
return withFileLock(createSiblingLockPath(paths.config, '.fireforge-config.lock'), operation, {
|
|
164
|
-
onTimeoutMessage: `Timed out waiting to update ${basename(paths.config)}. ` +
|
|
165
|
-
'If no other fireforge process is running, remove the stale lock directory and retry.',
|
|
166
|
-
onStaleLockMessage: (ageMs) => `Removing stale FireForge config lock for ${basename(paths.config)} ` +
|
|
167
|
-
`(age: ${Math.round(ageMs / 1000)}s). A previous fireforge process may have crashed.`,
|
|
168
|
-
});
|
|
169
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Dispatch-time half of per-path coverage. A scoped build that followed a
|
|
3
|
-
* full build carries the full build's anchor forward instead of collapsing
|
|
4
|
-
* the claim to its own paths. A requested path outside the scoped list is
|
|
5
|
-
* then still covered while its own staging inputs are unchanged against
|
|
6
|
-
* that anchor, and a refusal names the inputs that did change.
|
|
7
|
-
*/
|
|
8
|
-
import type { BuildBaseline } from './build-baseline-types.js';
|
|
9
|
-
/** A requested path no recorded claim covers, with the inputs that explain it. */
|
|
10
|
-
export interface UncoveredRequest {
|
|
11
|
-
path: string;
|
|
12
|
-
/** Staging inputs changed since the carried full build. Empty when unknown. */
|
|
13
|
-
changed: string[];
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Re-checks the paths the scoped list does not cover against the carried
|
|
17
|
-
* full-build anchor. Returns the paths that stay uncovered.
|
|
18
|
-
*
|
|
19
|
-
* @param engineDir - Path to the engine directory
|
|
20
|
-
* @param baseline - Last successful build's baseline
|
|
21
|
-
* @param uncovered - Request paths outside the scoped list
|
|
22
|
-
* @param fullSuite - The sentinel standing for a path-less (full-suite) request
|
|
23
|
-
*/
|
|
24
|
-
export declare function filterByCarriedFullCoverage(engineDir: string, baseline: BuildBaseline | undefined, uncovered: readonly string[], fullSuite: string): Promise<UncoveredRequest[]>;
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Dispatch-time half of per-path coverage. A scoped build that followed a
|
|
4
|
-
* full build carries the full build's anchor forward instead of collapsing
|
|
5
|
-
* the claim to its own paths. A requested path outside the scoped list is
|
|
6
|
-
* then still covered while its own staging inputs are unchanged against
|
|
7
|
-
* that anchor, and a refusal names the inputs that did change.
|
|
8
|
-
*/
|
|
9
|
-
import { toError } from '../utils/errors.js';
|
|
10
|
-
import { verbose } from '../utils/logger.js';
|
|
11
|
-
import { collectStagingInputs, findChangedInputs, hashEngineFile, readEngineContentState, } from './coverage-records.js';
|
|
12
|
-
/**
|
|
13
|
-
* Re-checks the paths the scoped list does not cover against the carried
|
|
14
|
-
* full-build anchor. Returns the paths that stay uncovered.
|
|
15
|
-
*
|
|
16
|
-
* @param engineDir - Path to the engine directory
|
|
17
|
-
* @param baseline - Last successful build's baseline
|
|
18
|
-
* @param uncovered - Request paths outside the scoped list
|
|
19
|
-
* @param fullSuite - The sentinel standing for a path-less (full-suite) request
|
|
20
|
-
*/
|
|
21
|
-
export async function filterByCarriedFullCoverage(engineDir, baseline, uncovered, fullSuite) {
|
|
22
|
-
const unresolved = uncovered.map((path) => ({ path, changed: [] }));
|
|
23
|
-
const anchor = baseline?.fullCoverageAnchor;
|
|
24
|
-
if (anchor === undefined || uncovered.length === 0)
|
|
25
|
-
return unresolved;
|
|
26
|
-
if ((await hashEngineFile(engineDir, 'mozconfig')) !== anchor.mozconfigHash)
|
|
27
|
-
return unresolved;
|
|
28
|
-
let state;
|
|
29
|
-
try {
|
|
30
|
-
state = await readEngineContentState(engineDir);
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
verbose(`Coverage check: engine state unreadable — ${toError(error).message}`);
|
|
34
|
-
return unresolved;
|
|
35
|
-
}
|
|
36
|
-
const remaining = [];
|
|
37
|
-
for (const path of uncovered) {
|
|
38
|
-
const inputs = path === fullSuite ? undefined : await collectStagingInputs(engineDir, path);
|
|
39
|
-
const changed = await findChangedInputs(state, anchor, inputs);
|
|
40
|
-
if (changed === undefined || changed.length > 0)
|
|
41
|
-
remaining.push({ path, changed: changed ?? [] });
|
|
42
|
-
}
|
|
43
|
-
return remaining;
|
|
44
|
-
}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Decides which earlier packaging claims a scoped `fireforge test --build`
|
|
3
|
-
* keeps. Retention is per staged path (see `coverage-records.ts`): an
|
|
4
|
-
* earlier path stays covered while its own staging inputs are unchanged,
|
|
5
|
-
* whatever moved elsewhere in the engine, and a full claim narrows to
|
|
6
|
-
* per-path checks once something outside the new scope changed instead of
|
|
7
|
-
* collapsing to this build's paths. `--extend-coverage` turns any drop into
|
|
8
|
-
* a refusal before the build.
|
|
9
|
-
*
|
|
10
|
-
* Fingerprints must be complete: a record of packageable inputs only cannot
|
|
11
|
-
* prove that a test fixture or manifest still matches its staged copy.
|
|
12
|
-
*/
|
|
13
|
-
import type { BuildBaseline, CoverageAnchor, CoverageRecord, TestPackagingCoverage } from './build-baseline-types.js';
|
|
14
|
-
export { hashEngineFile } from './coverage-records.js';
|
|
15
|
-
/** What a dropped full claim is called in notices and refusals. */
|
|
16
|
-
export declare const FULL_CLAIM_LABEL = "full coverage";
|
|
17
|
-
/** An earlier claim this build cannot keep, and why. */
|
|
18
|
-
export interface DroppedClaim {
|
|
19
|
-
/** Request path, or {@link FULL_CLAIM_LABEL}. */
|
|
20
|
-
path: string;
|
|
21
|
-
/** Staging inputs whose content changed since the claim was staged. */
|
|
22
|
-
changed: string[];
|
|
23
|
-
/** Why the claim cannot be verified at all, when no input list explains it. */
|
|
24
|
-
reason?: string;
|
|
25
|
-
}
|
|
26
|
-
/** What a scoped build keeps of the recorded coverage. */
|
|
27
|
-
export interface CoverageRetentionPlan {
|
|
28
|
-
/** The previous claim was full and nothing outside this build's scope moved. */
|
|
29
|
-
keepFull: boolean;
|
|
30
|
-
/** Earlier per-path records kept, refreshed for this build's paths. */
|
|
31
|
-
retained: Record<string, CoverageRecord>;
|
|
32
|
-
/** Full-build anchor carried for dispatch-time per-path checks. */
|
|
33
|
-
fullAnchor: CoverageAnchor | undefined;
|
|
34
|
-
/** Changed inputs that narrowed a full claim to per-path checks. */
|
|
35
|
-
narrowedBy: string[];
|
|
36
|
-
/** Earlier claims this build cannot keep. */
|
|
37
|
-
dropped: DroppedClaim[];
|
|
38
|
-
}
|
|
39
|
-
/** The baseline-wide anchor a baseline's own fields describe, when complete. */
|
|
40
|
-
export declare function baselineAnchor(baseline: BuildBaseline): CoverageAnchor | undefined;
|
|
41
|
-
/**
|
|
42
|
-
* Plans which earlier claims a scoped build over `requested` keeps. Runs
|
|
43
|
-
* before the build lock, so a refusal costs neither build time nor the
|
|
44
|
-
* lock. The mozconfig half runs later, via {@link applyMozconfigAnchor}.
|
|
45
|
-
*
|
|
46
|
-
* @param engineDir - Path to the engine directory
|
|
47
|
-
* @param previous - Baseline recorded by the previous build
|
|
48
|
-
* @param requested - Normalized request paths this build packages
|
|
49
|
-
*/
|
|
50
|
-
export declare function planCoverageRetention(engineDir: string, previous: BuildBaseline | undefined, requested: string[]): Promise<CoverageRetentionPlan>;
|
|
51
|
-
/**
|
|
52
|
-
* Applies the mozconfig half of the anchor: a claim staged under a different
|
|
53
|
-
* `engine/mozconfig` is dropped. Runs after `prepareBuildEnvironment`
|
|
54
|
-
* regenerated the file this build configures with, and before mach.
|
|
55
|
-
*
|
|
56
|
-
* @param engineDir - Path to the engine directory
|
|
57
|
-
* @param plan - Plan from {@link planCoverageRetention}
|
|
58
|
-
*/
|
|
59
|
-
export declare function applyMozconfigAnchor(engineDir: string, plan: CoverageRetentionPlan): Promise<CoverageRetentionPlan>;
|
|
60
|
-
/** Fields a scoped build writes onto its baseline. */
|
|
61
|
-
export interface RecordedCoverage {
|
|
62
|
-
testPackagingCoverage: TestPackagingCoverage;
|
|
63
|
-
testCoverageRecords?: Record<string, CoverageRecord>;
|
|
64
|
-
fullCoverageAnchor?: CoverageAnchor;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* The coverage a green scoped build records: `'full'` when the plan kept a
|
|
68
|
-
* full claim, otherwise this build's paths with fresh records plus every
|
|
69
|
-
* retained earlier path, and the carried full anchor.
|
|
70
|
-
*
|
|
71
|
-
* @param engineDir - Path to the engine directory
|
|
72
|
-
* @param plan - Plan after {@link applyMozconfigAnchor}
|
|
73
|
-
* @param requestedPaths - Request paths this build packaged. Normalized
|
|
74
|
-
* here (no trailing slash, no `./`): the baseline validator rejects the
|
|
75
|
-
* raw CLI shapes, and a baseline it rejects refuses every later run.
|
|
76
|
-
*/
|
|
77
|
-
export declare function recordScopedCoverage(engineDir: string, plan: CoverageRetentionPlan, requestedPaths: string[]): Promise<RecordedCoverage>;
|
|
78
|
-
/** Renders one dropped claim with its cause. */
|
|
79
|
-
export declare function describeDroppedClaim(claim: DroppedClaim): string;
|
|
80
|
-
/**
|
|
81
|
-
* The notice a scoped build prints about earlier coverage, or undefined
|
|
82
|
-
* when nothing was dropped or narrowed.
|
|
83
|
-
*/
|
|
84
|
-
export declare function formatCoverageRetentionNotice(plan: CoverageRetentionPlan): string | undefined;
|
|
85
|
-
/**
|
|
86
|
-
* The `--extend-coverage` refusal: the flag asks that no earlier claim be
|
|
87
|
-
* dropped, and the plan would drop some.
|
|
88
|
-
*/
|
|
89
|
-
export declare function formatExtendCoverageRefusal(dropped: readonly DroppedClaim[]): string;
|
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Decides which earlier packaging claims a scoped `fireforge test --build`
|
|
4
|
-
* keeps. Retention is per staged path (see `coverage-records.ts`): an
|
|
5
|
-
* earlier path stays covered while its own staging inputs are unchanged,
|
|
6
|
-
* whatever moved elsewhere in the engine, and a full claim narrows to
|
|
7
|
-
* per-path checks once something outside the new scope changed instead of
|
|
8
|
-
* collapsing to this build's paths. `--extend-coverage` turns any drop into
|
|
9
|
-
* a refusal before the build.
|
|
10
|
-
*
|
|
11
|
-
* Fingerprints must be complete: a record of packageable inputs only cannot
|
|
12
|
-
* prove that a test fixture or manifest still matches its staged copy.
|
|
13
|
-
*/
|
|
14
|
-
import { toError } from '../utils/errors.js';
|
|
15
|
-
import { verbose } from '../utils/logger.js';
|
|
16
|
-
import { collectStagingInputs, createCoverageRecord, findChangedInputs, hashEngineFile, isUnderPath, narrowAnchor, normalizeRequestPath, readEngineContentState, refreshAnchor, widenWithRestagedManifests, } from './coverage-records.js';
|
|
17
|
-
export { hashEngineFile } from './coverage-records.js';
|
|
18
|
-
/** Filename of the generated mozconfig, relative to the engine directory. */
|
|
19
|
-
const MOZCONFIG_FILENAME = 'mozconfig';
|
|
20
|
-
/** How many paths a notice or refusal names before truncating. */
|
|
21
|
-
const MAX_PATHS_REPORTED = 5;
|
|
22
|
-
/** What a dropped full claim is called in notices and refusals. */
|
|
23
|
-
export const FULL_CLAIM_LABEL = 'full coverage';
|
|
24
|
-
const UNVERIFIABLE = 'engine HEAD or the recorded anchor cannot be compared';
|
|
25
|
-
const NO_FINGERPRINTS = 'the record has no complete staging-input fingerprints';
|
|
26
|
-
/** The baseline-wide anchor a baseline's own fields describe, when complete. */
|
|
27
|
-
export function baselineAnchor(baseline) {
|
|
28
|
-
if (baseline.testInputFingerprints === undefined || baseline.mozconfigHash === undefined) {
|
|
29
|
-
return undefined;
|
|
30
|
-
}
|
|
31
|
-
return {
|
|
32
|
-
engineHeadSha: baseline.engineHeadSha,
|
|
33
|
-
mozconfigHash: baseline.mozconfigHash,
|
|
34
|
-
fingerprints: baseline.testInputFingerprints,
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
function emptyPlan() {
|
|
38
|
-
return { keepFull: false, retained: {}, fullAnchor: undefined, narrowedBy: [], dropped: [] };
|
|
39
|
-
}
|
|
40
|
-
/** True when a request path in `requested` stages `path` afresh. */
|
|
41
|
-
function rebuiltBy(path, rebuilt) {
|
|
42
|
-
const normalized = normalizeRequestPath(path);
|
|
43
|
-
return rebuilt.some((request) => isUnderPath(normalized, request));
|
|
44
|
-
}
|
|
45
|
-
async function planFullClaim(state, previous, requested) {
|
|
46
|
-
const plan = emptyPlan();
|
|
47
|
-
const anchor = previous.fullCoverageAnchor ?? baselineAnchor(previous);
|
|
48
|
-
if (anchor === undefined) {
|
|
49
|
-
plan.dropped.push({ path: FULL_CLAIM_LABEL, changed: [], reason: NO_FINGERPRINTS });
|
|
50
|
-
return plan;
|
|
51
|
-
}
|
|
52
|
-
const changed = await findChangedInputs(state, anchor, undefined, requested);
|
|
53
|
-
const refreshed = changed === undefined ? undefined : await refreshAnchor(state, anchor, requested);
|
|
54
|
-
if (changed === undefined || refreshed === undefined) {
|
|
55
|
-
plan.dropped.push({ path: FULL_CLAIM_LABEL, changed: [], reason: UNVERIFIABLE });
|
|
56
|
-
return plan;
|
|
57
|
-
}
|
|
58
|
-
plan.keepFull = changed.length === 0;
|
|
59
|
-
plan.fullAnchor = refreshed;
|
|
60
|
-
plan.narrowedBy = changed;
|
|
61
|
-
return plan;
|
|
62
|
-
}
|
|
63
|
-
async function retainRecord(state, previous, path, requested) {
|
|
64
|
-
let record = previous.testCoverageRecords?.[path];
|
|
65
|
-
if (record === undefined) {
|
|
66
|
-
// A path recorded before per-path anchors existed: the baseline-wide
|
|
67
|
-
// anchor, restricted to the path's own inputs, says the same thing.
|
|
68
|
-
const anchor = baselineAnchor(previous);
|
|
69
|
-
if (anchor === undefined)
|
|
70
|
-
return { path, changed: [], reason: NO_FINGERPRINTS };
|
|
71
|
-
const inputs = await collectStagingInputs(state.engineDir, path);
|
|
72
|
-
record = await narrowAnchor(state, anchor, inputs);
|
|
73
|
-
if (record === undefined)
|
|
74
|
-
return { path, changed: [], reason: UNVERIFIABLE };
|
|
75
|
-
}
|
|
76
|
-
const changed = await findChangedInputs(state, record, record.inputs, requested);
|
|
77
|
-
if (changed === undefined)
|
|
78
|
-
return { path, changed: [], reason: UNVERIFIABLE };
|
|
79
|
-
if (changed.length > 0)
|
|
80
|
-
return { path, changed };
|
|
81
|
-
const refreshed = await refreshAnchor(state, record, requested);
|
|
82
|
-
return refreshed === undefined
|
|
83
|
-
? { path, changed: [], reason: UNVERIFIABLE }
|
|
84
|
-
: { record: refreshed };
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Plans which earlier claims a scoped build over `requested` keeps. Runs
|
|
88
|
-
* before the build lock, so a refusal costs neither build time nor the
|
|
89
|
-
* lock. The mozconfig half runs later, via {@link applyMozconfigAnchor}.
|
|
90
|
-
*
|
|
91
|
-
* @param engineDir - Path to the engine directory
|
|
92
|
-
* @param previous - Baseline recorded by the previous build
|
|
93
|
-
* @param requested - Normalized request paths this build packages
|
|
94
|
-
*/
|
|
95
|
-
export async function planCoverageRetention(engineDir, previous, requested) {
|
|
96
|
-
if (previous === undefined)
|
|
97
|
-
return emptyPlan();
|
|
98
|
-
const coverage = previous.testPackagingCoverage ?? 'full';
|
|
99
|
-
const rebuilt = await widenWithRestagedManifests(engineDir, requested.map(normalizeRequestPath).filter((path) => path !== ''));
|
|
100
|
-
let state;
|
|
101
|
-
try {
|
|
102
|
-
state = await readEngineContentState(engineDir);
|
|
103
|
-
}
|
|
104
|
-
catch (error) {
|
|
105
|
-
verbose(`Coverage retention: engine state unreadable — ${toError(error).message}`);
|
|
106
|
-
const paths = coverage === 'full' ? [FULL_CLAIM_LABEL] : coverage;
|
|
107
|
-
return {
|
|
108
|
-
...emptyPlan(),
|
|
109
|
-
dropped: paths.map((path) => ({ path, changed: [], reason: UNVERIFIABLE })),
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
if (coverage === 'full')
|
|
113
|
-
return planFullClaim(state, previous, rebuilt);
|
|
114
|
-
const plan = emptyPlan();
|
|
115
|
-
if (previous.fullCoverageAnchor !== undefined) {
|
|
116
|
-
plan.fullAnchor = await refreshAnchor(state, previous.fullCoverageAnchor, rebuilt);
|
|
117
|
-
if (plan.fullAnchor === undefined) {
|
|
118
|
-
plan.dropped.push({ path: FULL_CLAIM_LABEL, changed: [], reason: UNVERIFIABLE });
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
for (const path of coverage) {
|
|
122
|
-
if (rebuiltBy(path, rebuilt))
|
|
123
|
-
continue;
|
|
124
|
-
const outcome = await retainRecord(state, previous, path, rebuilt);
|
|
125
|
-
if ('record' in outcome)
|
|
126
|
-
plan.retained[path] = outcome.record;
|
|
127
|
-
else
|
|
128
|
-
plan.dropped.push(outcome);
|
|
129
|
-
}
|
|
130
|
-
return plan;
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Applies the mozconfig half of the anchor: a claim staged under a different
|
|
134
|
-
* `engine/mozconfig` is dropped. Runs after `prepareBuildEnvironment`
|
|
135
|
-
* regenerated the file this build configures with, and before mach.
|
|
136
|
-
*
|
|
137
|
-
* @param engineDir - Path to the engine directory
|
|
138
|
-
* @param plan - Plan from {@link planCoverageRetention}
|
|
139
|
-
*/
|
|
140
|
-
export async function applyMozconfigAnchor(engineDir, plan) {
|
|
141
|
-
const live = await hashEngineFile(engineDir, MOZCONFIG_FILENAME);
|
|
142
|
-
const reason = 'engine/mozconfig differs from the build that staged it';
|
|
143
|
-
const next = { ...plan, retained: {}, dropped: [...plan.dropped] };
|
|
144
|
-
for (const [path, record] of Object.entries(plan.retained)) {
|
|
145
|
-
if (live !== undefined && record.mozconfigHash === live)
|
|
146
|
-
next.retained[path] = record;
|
|
147
|
-
else
|
|
148
|
-
next.dropped.push({ path, changed: [], reason });
|
|
149
|
-
}
|
|
150
|
-
if (plan.fullAnchor !== undefined &&
|
|
151
|
-
(live === undefined || plan.fullAnchor.mozconfigHash !== live)) {
|
|
152
|
-
next.fullAnchor = undefined;
|
|
153
|
-
next.keepFull = false;
|
|
154
|
-
next.narrowedBy = [];
|
|
155
|
-
next.dropped.push({ path: FULL_CLAIM_LABEL, changed: [], reason });
|
|
156
|
-
}
|
|
157
|
-
return next;
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* The coverage a green scoped build records: `'full'` when the plan kept a
|
|
161
|
-
* full claim, otherwise this build's paths with fresh records plus every
|
|
162
|
-
* retained earlier path, and the carried full anchor.
|
|
163
|
-
*
|
|
164
|
-
* @param engineDir - Path to the engine directory
|
|
165
|
-
* @param plan - Plan after {@link applyMozconfigAnchor}
|
|
166
|
-
* @param requestedPaths - Request paths this build packaged. Normalized
|
|
167
|
-
* here (no trailing slash, no `./`): the baseline validator rejects the
|
|
168
|
-
* raw CLI shapes, and a baseline it rejects refuses every later run.
|
|
169
|
-
*/
|
|
170
|
-
export async function recordScopedCoverage(engineDir, plan, requestedPaths) {
|
|
171
|
-
if (plan.keepFull)
|
|
172
|
-
return { testPackagingCoverage: 'full' };
|
|
173
|
-
const requested = [
|
|
174
|
-
...new Set(requestedPaths.map(normalizeRequestPath).filter((path) => path.length > 0)),
|
|
175
|
-
];
|
|
176
|
-
const records = { ...plan.retained };
|
|
177
|
-
try {
|
|
178
|
-
const state = await readEngineContentState(engineDir);
|
|
179
|
-
const mozconfigHash = await hashEngineFile(engineDir, MOZCONFIG_FILENAME);
|
|
180
|
-
for (const path of requested) {
|
|
181
|
-
const record = mozconfigHash === undefined
|
|
182
|
-
? undefined
|
|
183
|
-
: await createCoverageRecord(state, path, mozconfigHash);
|
|
184
|
-
if (record !== undefined)
|
|
185
|
-
records[path] = record;
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
catch (error) {
|
|
189
|
-
verbose(`Coverage records: could not anchor this build's paths — ${toError(error).message}`);
|
|
190
|
-
}
|
|
191
|
-
const kept = Object.keys(plan.retained);
|
|
192
|
-
const coverage = kept.length === 0 ? [...requested] : [...new Set([...kept, ...requested])].sort();
|
|
193
|
-
return {
|
|
194
|
-
testPackagingCoverage: coverage,
|
|
195
|
-
...(Object.keys(records).length > 0 ? { testCoverageRecords: records } : {}),
|
|
196
|
-
...(plan.fullAnchor !== undefined ? { fullCoverageAnchor: plan.fullAnchor } : {}),
|
|
197
|
-
};
|
|
198
|
-
}
|
|
199
|
-
function capList(paths) {
|
|
200
|
-
const head = paths.slice(0, MAX_PATHS_REPORTED).join(', ');
|
|
201
|
-
const extra = paths.length - Math.min(paths.length, MAX_PATHS_REPORTED);
|
|
202
|
-
return extra > 0 ? `${head}, … (+${extra} more)` : head;
|
|
203
|
-
}
|
|
204
|
-
/** Renders one dropped claim with its cause. */
|
|
205
|
-
export function describeDroppedClaim(claim) {
|
|
206
|
-
const cause = claim.changed.length > 0
|
|
207
|
-
? `staging inputs changed: ${capList(claim.changed)}`
|
|
208
|
-
: (claim.reason ?? UNVERIFIABLE);
|
|
209
|
-
return `${claim.path} (${cause})`;
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* The notice a scoped build prints about earlier coverage, or undefined
|
|
213
|
-
* when nothing was dropped or narrowed.
|
|
214
|
-
*/
|
|
215
|
-
export function formatCoverageRetentionNotice(plan) {
|
|
216
|
-
const lines = [];
|
|
217
|
-
if (plan.dropped.length > 0) {
|
|
218
|
-
const kept = Object.keys(plan.retained);
|
|
219
|
-
lines.push(`Scoped build drops previous packaging coverage for ${plan.dropped.map(describeDroppedClaim).join('; ')}.` +
|
|
220
|
-
(kept.length > 0 ? ` Kept: ${capList(kept)}.` : '') +
|
|
221
|
-
' Rebuild a dropped path (alone or with this one) before running it without --build.');
|
|
222
|
-
}
|
|
223
|
-
if (!plan.keepFull && plan.fullAnchor !== undefined && plan.narrowedBy.length > 0) {
|
|
224
|
-
lines.push(`Full packaging coverage is now checked per path: ${capList(plan.narrowedBy)} changed outside ` +
|
|
225
|
-
"this build's scope, so a later run is refused only for paths whose own staging inputs include a changed file.");
|
|
226
|
-
}
|
|
227
|
-
return lines.length > 0 ? lines.join('\n') : undefined;
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* The `--extend-coverage` refusal: the flag asks that no earlier claim be
|
|
231
|
-
* dropped, and the plan would drop some.
|
|
232
|
-
*/
|
|
233
|
-
export function formatExtendCoverageRefusal(dropped) {
|
|
234
|
-
return (`--extend-coverage refused: this build would drop earlier packaging coverage for ` +
|
|
235
|
-
`${dropped.length} claim(s): ${dropped.map(describeDroppedClaim).join('; ')}. ` +
|
|
236
|
-
'Extending would vouch for staging that obj-*/_tests/ no longer matches. Rebuild those paths ' +
|
|
237
|
-
'together with this one, or drop the flag: without it the dropped claims are named and the ' +
|
|
238
|
-
'rest of the coverage is kept.');
|
|
239
|
-
}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Per-path packaging-coverage anchors for scoped `fireforge test --build`.
|
|
3
|
-
*
|
|
4
|
-
* Each staged request path carries its own anchor restricted to its own
|
|
5
|
-
* staging inputs, and a claim is dropped only when one of those inputs
|
|
6
|
-
* changed. One claim anchored to the whole engine would be replaced by any
|
|
7
|
-
* edit outside the new scope (a peer's, on a shared engine, nearly always).
|
|
8
|
-
*
|
|
9
|
-
* The staging inputs of a request path are its manifest directory (the
|
|
10
|
-
* nearest directory at or above it that holds a test manifest) plus every
|
|
11
|
-
* path a manifest there names outside that directory (`support-files`,
|
|
12
|
-
* `head`, `!/`-rooted shared fixtures). Without the full mozbuild graph
|
|
13
|
-
* that is the closest sound boundary: an edit outside it cannot change
|
|
14
|
-
* what the harness stages for that path.
|
|
15
|
-
*/
|
|
16
|
-
import { type CoverageAnchor, type CoverageRecord } from './build-baseline-types.js';
|
|
17
|
-
/**
|
|
18
|
-
* Hex-encoded SHA-256 of an engine-relative file, matching the digest the
|
|
19
|
-
* baseline writer produces. A missing file hashes to
|
|
20
|
-
* {@link DELETED_FILE_FINGERPRINT}. `undefined` on any other IO error,
|
|
21
|
-
* which every caller treats as "cannot prove unchanged".
|
|
22
|
-
* @param engineDir - Path to the engine directory
|
|
23
|
-
* @param relPath - Engine-relative POSIX path
|
|
24
|
-
*/
|
|
25
|
-
export declare function hashEngineFile(engineDir: string, relPath: string): Promise<string | undefined>;
|
|
26
|
-
/** True for a test manifest path (by basename). */
|
|
27
|
-
export declare function isTestManifestPath(path: string): boolean;
|
|
28
|
-
/** Normalizes a request path: forward slashes, no `./`, no trailing slash. */
|
|
29
|
-
export declare function normalizeRequestPath(path: string): string;
|
|
30
|
-
/** True when `file` is `prefix` or sits beneath it. The empty prefix is the whole tree. */
|
|
31
|
-
export declare function isUnderPath(file: string, prefix: string): boolean;
|
|
32
|
-
/**
|
|
33
|
-
* Engine state one coverage decision reads. Shared across every anchor a
|
|
34
|
-
* decision verifies, so the git probes run once and each file is hashed
|
|
35
|
-
* once.
|
|
36
|
-
*/
|
|
37
|
-
export interface EngineContentState {
|
|
38
|
-
engineDir: string;
|
|
39
|
-
/** Current engine HEAD, or undefined for an unborn branch. */
|
|
40
|
-
head: string | undefined;
|
|
41
|
-
/** Engine-relative paths dirty against HEAD (tracked and untracked). */
|
|
42
|
-
dirty: ReadonlySet<string>;
|
|
43
|
-
hashes: Map<string, Promise<string | undefined>>;
|
|
44
|
-
diffs: Map<string, Promise<ReadonlySet<string> | undefined>>;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Reads HEAD and the dirty set. Throws on a git failure other than an
|
|
48
|
-
* unborn HEAD: callers treat that as "nothing can be proven unchanged".
|
|
49
|
-
* @param engineDir - Path to the engine directory
|
|
50
|
-
*/
|
|
51
|
-
export declare function readEngineContentState(engineDir: string): Promise<EngineContentState>;
|
|
52
|
-
/**
|
|
53
|
-
* Inputs whose live content differs from what the anchor staged, sorted.
|
|
54
|
-
* Undefined when the anchor cannot be compared, which every caller treats as
|
|
55
|
-
* "changed".
|
|
56
|
-
*
|
|
57
|
-
* @param state - Engine state from {@link readEngineContentState}
|
|
58
|
-
* @param anchor - The claim's anchor
|
|
59
|
-
* @param inputs - Staging inputs to compare, or undefined for the whole tree
|
|
60
|
-
* @param rebuilt - Request paths the current build stages afresh
|
|
61
|
-
*/
|
|
62
|
-
export declare function findChangedInputs(state: EngineContentState, anchor: CoverageAnchor, inputs: readonly string[] | undefined, rebuilt?: readonly string[]): Promise<string[] | undefined>;
|
|
63
|
-
/**
|
|
64
|
-
* The anchor after the current build restaged `rebuilt`: recorded content
|
|
65
|
-
* for those paths becomes their live content. Undefined when that content
|
|
66
|
-
* cannot be read or the anchor cannot be compared.
|
|
67
|
-
*/
|
|
68
|
-
export declare function refreshAnchor<T extends CoverageAnchor>(state: EngineContentState, anchor: T, rebuilt: readonly string[]): Promise<T | undefined>;
|
|
69
|
-
/**
|
|
70
|
-
* The request paths a scoped build restages, widened by the test manifests
|
|
71
|
-
* of every requested file: packaging one file of a manifest re-processes
|
|
72
|
-
* the manifest itself, so a manifest that gained an entry for that file is
|
|
73
|
-
* restaged too, and must not count as a changed input of the manifest's
|
|
74
|
-
* other files afterwards.
|
|
75
|
-
*
|
|
76
|
-
* @param engineDir - Path to the engine directory
|
|
77
|
-
* @param requested - Normalized request paths of the build
|
|
78
|
-
*/
|
|
79
|
-
export declare function widenWithRestagedManifests(engineDir: string, requested: readonly string[]): Promise<string[]>;
|
|
80
|
-
/**
|
|
81
|
-
* Engine-relative paths a manifest names outside its own directory. Bare
|
|
82
|
-
* names stay inside it. `!/` and `/` prefixes are engine-root relative, as
|
|
83
|
-
* in mozbuild manifests. A glob keeps the directory part before its first
|
|
84
|
-
* wildcard segment.
|
|
85
|
-
*/
|
|
86
|
-
export declare function manifestExternalReferences(manifestPath: string, text: string): string[];
|
|
87
|
-
/**
|
|
88
|
-
* Staging inputs of one request path. See the module comment.
|
|
89
|
-
* @param engineDir - Path to the engine directory
|
|
90
|
-
* @param requestPath - Engine-relative request path (file or directory)
|
|
91
|
-
*/
|
|
92
|
-
export declare function collectStagingInputs(engineDir: string, requestPath: string): Promise<string[]>;
|
|
93
|
-
/**
|
|
94
|
-
* Records the anchor of a request path this build staged. Undefined when
|
|
95
|
-
* HEAD is unborn or an input's content cannot be read: the path is still
|
|
96
|
-
* claimed, and later retention falls back to the baseline-wide anchor.
|
|
97
|
-
*
|
|
98
|
-
* @param state - Engine state after the build
|
|
99
|
-
* @param requestPath - Engine-relative request path
|
|
100
|
-
* @param mozconfigHash - Hash of the mozconfig the build configured with
|
|
101
|
-
*/
|
|
102
|
-
export declare function createCoverageRecord(state: EngineContentState, requestPath: string, mozconfigHash: string): Promise<CoverageRecord | undefined>;
|
|
103
|
-
/**
|
|
104
|
-
* Restricts an anchor to `inputs`. `extraDirty` adds paths whose live content
|
|
105
|
-
* becomes the recorded one (the dirty set of a record being created).
|
|
106
|
-
*/
|
|
107
|
-
export declare function narrowAnchor(state: EngineContentState, anchor: CoverageAnchor, inputs: string[], extraDirty?: readonly string[]): Promise<CoverageRecord | undefined>;
|