@hominis/fireforge 0.55.0 → 0.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +233 -6
- package/README.md +51 -17
- package/dist/bin/fireforge.js +34 -129
- package/dist/build-info.json +4 -4
- package/dist/src/check/check.js +394 -0
- package/dist/src/check/gate.js +448 -0
- package/dist/src/check/index.js +10 -0
- package/dist/src/check/record.js +155 -0
- package/dist/src/cli/command.js +286 -0
- package/dist/src/cli/output.js +96 -0
- package/dist/src/cli/program.js +231 -0
- package/dist/src/cli/stdio.js +59 -0
- package/dist/src/cli/version.js +99 -0
- package/dist/src/commands/bootstrap.js +17 -102
- package/dist/src/commands/build.js +34 -456
- package/dist/src/commands/check.js +44 -157
- package/dist/src/commands/config.js +50 -226
- package/dist/src/commands/discard.js +38 -215
- package/dist/src/commands/doctor.js +29 -456
- package/dist/src/commands/download.js +35 -499
- package/dist/src/commands/export.js +42 -431
- package/dist/src/commands/furnace.js +220 -0
- package/dist/src/commands/gate.js +127 -0
- package/dist/src/commands/import.js +44 -445
- package/dist/src/commands/index.js +86 -0
- package/dist/src/commands/lint.js +44 -546
- package/dist/src/commands/merge-driver.js +56 -0
- package/dist/src/commands/migrate.js +75 -0
- package/dist/src/commands/override.js +43 -0
- package/dist/src/commands/package.js +48 -77
- package/dist/src/commands/patch.js +221 -0
- package/dist/src/commands/re-export.js +55 -359
- package/dist/src/commands/rebase.js +69 -0
- package/dist/src/commands/register.js +62 -103
- package/dist/src/commands/reset.js +28 -91
- package/dist/src/commands/resolve.js +20 -167
- package/dist/src/commands/restore.js +19 -0
- package/dist/src/commands/run.js +60 -382
- package/dist/src/commands/setup.js +78 -90
- package/dist/src/commands/status.js +44 -413
- package/dist/src/commands/test.js +97 -423
- package/dist/src/commands/token.js +185 -228
- package/dist/src/commands/typecheck.js +59 -241
- package/dist/src/commands/verify.js +28 -334
- package/dist/src/commands/version.js +14 -0
- package/dist/src/commands/watch.js +20 -218
- package/dist/src/commands/wire.js +60 -349
- package/dist/src/commands/workspace.js +117 -0
- package/dist/src/config/edit.js +237 -0
- package/dist/src/config/index.js +15 -0
- package/dist/src/config/load.js +59 -0
- package/dist/src/config/previous.js +404 -0
- package/dist/src/config/schema/build.js +63 -0
- package/dist/src/config/schema/check.js +113 -0
- package/dist/src/config/schema/common.js +71 -0
- package/dist/src/config/schema/export-queue.js +36 -0
- package/dist/src/config/schema/firefox.js +69 -0
- package/dist/src/config/schema/gate.js +199 -0
- package/dist/src/config/schema/identity.js +55 -0
- package/dist/src/config/schema/index.js +45 -0
- package/dist/src/config/schema/lint.js +297 -0
- package/dist/src/config/schema/policy.js +111 -0
- package/dist/src/config/schema/source.js +90 -0
- package/dist/src/config/schema/test.js +17 -0
- package/dist/src/config/schema/toolchains.js +17 -0
- package/dist/src/config/schema/typecheck.js +29 -0
- package/dist/src/config/schema/wire.js +15 -0
- package/dist/src/diff/apply.js +129 -0
- package/dist/src/diff/index.js +16 -0
- package/dist/src/diff/model.js +267 -0
- package/dist/src/diff/query.js +65 -0
- package/dist/src/doctor/index.js +240 -0
- package/dist/src/engine/archive.js +396 -0
- package/dist/src/engine/audit.js +66 -0
- package/dist/src/engine/build.js +150 -0
- package/dist/src/engine/hostLocks.js +66 -0
- package/dist/src/engine/index.js +26 -0
- package/dist/src/engine/installManifests.js +147 -0
- package/dist/src/engine/mach.js +97 -0
- package/dist/src/engine/machHints.js +80 -0
- package/dist/src/engine/mozconfig.js +110 -0
- package/dist/src/engine/objdir.js +124 -0
- package/dist/src/engine/package.js +169 -0
- package/dist/src/engine/pin.js +12 -0
- package/dist/src/engine/pool.js +423 -0
- package/dist/src/engine/pristine.js +281 -0
- package/dist/src/engine/python.js +68 -0
- package/dist/src/engine/resourceGuard.js +582 -0
- package/dist/src/engine/run.js +259 -0
- package/dist/src/engine/smoke.js +204 -0
- package/dist/src/engine/staleness.js +229 -0
- package/dist/src/engine/watch.js +82 -0
- package/dist/src/engine/workspace.js +85 -0
- package/dist/src/furnace/config.js +360 -0
- package/dist/src/furnace/deploy.js +414 -0
- package/dist/src/furnace/diff.js +59 -0
- package/dist/src/furnace/edit.js +64 -0
- package/dist/src/furnace/fragments.js +53 -0
- package/dist/src/furnace/index.js +19 -0
- package/dist/src/furnace/operations.js +283 -0
- package/dist/src/furnace/registration.js +220 -0
- package/dist/src/furnace/scaffold.js +311 -0
- package/dist/src/furnace/typing.js +252 -0
- package/dist/src/furnace/validate.js +662 -0
- package/dist/src/git/apply.js +129 -0
- package/dist/src/git/diff.js +143 -0
- package/dist/src/git/index.js +33 -0
- package/dist/src/git/objects.js +201 -0
- package/dist/src/git/refs.js +85 -0
- package/dist/src/git/repo.js +222 -0
- package/dist/src/git/run.js +242 -0
- package/dist/src/git/status.js +156 -0
- package/dist/src/kernel/errors.js +123 -0
- package/dist/src/kernel/fs.js +515 -0
- package/dist/src/kernel/glob.js +63 -0
- package/dist/src/kernel/hash.js +28 -0
- package/dist/src/kernel/journal.js +524 -0
- package/dist/src/kernel/json-edit.js +198 -0
- package/dist/src/kernel/json.js +101 -0
- package/dist/src/kernel/lock.js +589 -0
- package/dist/src/kernel/log.js +154 -0
- package/dist/src/kernel/process/identity.js +313 -0
- package/dist/src/kernel/process/index.js +8 -0
- package/dist/src/kernel/process/listing.js +128 -0
- package/dist/src/kernel/process/spawn.js +430 -0
- package/dist/src/kernel/process/tree.js +301 -0
- package/dist/src/kernel/schema.js +308 -0
- package/dist/src/kernel/signals.js +171 -0
- package/dist/src/kernel/text.js +151 -0
- package/dist/src/kernel/time.js +83 -0
- package/dist/src/kernel/tty.js +84 -0
- package/dist/src/lint/cache.js +77 -0
- package/dist/src/lint/checkjs.js +400 -0
- package/dist/src/lint/index.js +3 -0
- package/dist/src/lint/input.js +100 -0
- package/dist/src/lint/report.js +107 -0
- package/dist/src/lint/rule.js +41 -0
- package/dist/src/lint/rules/css.js +308 -0
- package/dist/src/lint/rules/javascript.js +299 -0
- package/dist/src/lint/rules/jsdoc.js +249 -0
- package/dist/src/lint/rules/license.js +93 -0
- package/dist/src/lint/rules/policy.js +201 -0
- package/dist/src/lint/rules/registration.js +264 -0
- package/dist/src/lint/rules/size.js +299 -0
- package/dist/src/lint/run.js +126 -0
- package/dist/src/lint/shim.js +323 -0
- package/dist/src/lint/typescript.js +186 -0
- package/dist/src/lint/waivers.js +93 -0
- package/dist/src/mode/changes.js +264 -0
- package/dist/src/mode/diagnose.js +173 -0
- package/dist/src/mode/export.js +147 -0
- package/dist/src/mode/index.js +23 -0
- package/dist/src/mode/migrate.js +181 -0
- package/dist/src/mode/previousWaivers.js +206 -0
- package/dist/src/mode/pristine.js +61 -0
- package/dist/src/mode/rebase.js +197 -0
- package/dist/src/mode/report.js +157 -0
- package/dist/src/mode/setup.js +103 -0
- package/dist/src/mode/tracked.js +116 -0
- package/dist/src/mode/upgrade.js +281 -0
- package/dist/src/mode/watch.js +83 -0
- package/dist/src/mode/workspace.js +189 -0
- package/dist/src/mozbuild/index.js +6 -0
- package/dist/src/mozbuild/jar.js +366 -0
- package/dist/src/mozbuild/mozbuild.js +321 -0
- package/dist/src/mozbuild/paths.js +96 -0
- package/dist/src/mozbuild/references.js +39 -0
- package/dist/src/mozbuild/testManifest.js +343 -0
- package/dist/src/mozbuild/text.js +142 -0
- package/dist/src/project/changes.js +145 -0
- package/dist/src/project/checkout.js +66 -0
- package/dist/src/project/index.js +11 -0
- package/dist/src/project/license.js +119 -0
- package/dist/src/project/project.js +111 -0
- package/dist/src/project/state.js +85 -0
- package/dist/src/project/tracked.js +1 -0
- package/dist/src/queue/apply.js +270 -0
- package/dist/src/queue/attribute.js +159 -0
- package/dist/src/queue/baseline.js +409 -0
- package/dist/src/queue/capture.js +298 -0
- package/dist/src/queue/changes.js +234 -0
- package/dist/src/queue/index.js +50 -0
- package/dist/src/queue/manifest.js +341 -0
- package/dist/src/queue/operations.js +454 -0
- package/dist/src/queue/placement.js +220 -0
- package/dist/src/queue/queue.js +359 -0
- package/dist/src/queue/restore.js +103 -0
- package/dist/src/queue/session.js +685 -0
- package/dist/src/queue/status.js +137 -0
- package/dist/src/register/files.js +39 -0
- package/dist/src/register/index.js +8 -0
- package/dist/src/register/js.js +217 -0
- package/dist/src/register/register.js +359 -0
- package/dist/src/register/wire.js +146 -0
- package/dist/src/source/adopt.js +99 -0
- package/dist/src/source/changes.js +132 -0
- package/dist/src/source/edit.js +278 -0
- package/dist/src/source/export.js +70 -0
- package/dist/src/source/groups.js +131 -0
- package/dist/src/source/index.js +20 -0
- package/dist/src/source/materialize.js +382 -0
- package/dist/src/source/merge.js +255 -0
- package/dist/src/source/objects.js +102 -0
- package/dist/src/source/previous.js +166 -0
- package/dist/src/source/records.js +138 -0
- package/dist/src/source/refresh.js +264 -0
- package/dist/src/source/tree.js +337 -0
- package/dist/src/syntax/css.js +215 -0
- package/dist/src/syntax/fragments.js +63 -0
- package/dist/src/syntax/index.js +10 -0
- package/dist/src/syntax/js.js +270 -0
- package/dist/src/test/classify.js +826 -0
- package/dist/src/test/control.js +236 -0
- package/dist/src/test/host.js +266 -0
- package/dist/src/test/index.js +11 -0
- package/dist/src/test/plan.js +347 -0
- package/dist/src/test/rawLog.js +138 -0
- package/dist/src/test/run.js +404 -0
- package/dist/src/test/verdict.js +420 -0
- package/dist/src/test/xpcshell.js +143 -0
- package/dist/src/tokens/add.js +304 -0
- package/dist/src/tokens/coverage.js +65 -0
- package/dist/src/tokens/css.js +58 -0
- package/dist/src/tokens/index.js +12 -0
- package/dist/src/tokens/lint.js +96 -0
- package/dist/src/tokens/model.js +118 -0
- package/dist/src/tokens/settings.js +87 -0
- package/dist/src/tokens/siblings.js +104 -0
- package/dist/src/typecheck/explain.js +123 -0
- package/dist/src/typecheck/index.js +8 -0
- package/dist/src/typecheck/typecheck.js +332 -0
- package/docs/README.md +23 -28
- package/docs/authoring.md +97 -0
- package/docs/configuration.md +307 -766
- package/docs/exit-codes.md +76 -94
- package/docs/furnace.md +111 -221
- package/docs/gate.md +205 -0
- package/docs/getting-started.md +165 -0
- package/docs/machine-output.md +201 -290
- package/docs/migrating.md +261 -0
- package/docs/patch-workflow.md +159 -723
- package/docs/quality.md +220 -0
- package/docs/source-workflow.md +228 -0
- package/docs/testing.md +101 -719
- package/docs/workspaces.md +187 -0
- package/package.json +22 -30
- package/templates/configs/common.mozconfig +8 -2
- package/templates/configs/darwin.mozconfig +6 -7
- package/templates/configs/linux.mozconfig +5 -8
- package/templates/configs/win32.mozconfig +3 -9
- package/dist/bin/fireforge.d.ts +0 -9
- package/dist/src/cli-usage-error.d.ts +0 -46
- package/dist/src/cli-usage-error.js +0 -81
- package/dist/src/cli.d.ts +0 -41
- package/dist/src/cli.js +0 -380
- package/dist/src/commands/bootstrap-checks.d.ts +0 -16
- package/dist/src/commands/bootstrap-checks.js +0 -66
- package/dist/src/commands/bootstrap.d.ts +0 -10
- package/dist/src/commands/build-prelock.d.ts +0 -20
- package/dist/src/commands/build-prelock.js +0 -50
- package/dist/src/commands/build.d.ts +0 -13
- package/dist/src/commands/check-report.d.ts +0 -41
- package/dist/src/commands/check-report.js +0 -98
- package/dist/src/commands/check-run.d.ts +0 -44
- package/dist/src/commands/check-run.js +0 -125
- package/dist/src/commands/check-steps.d.ts +0 -75
- package/dist/src/commands/check-steps.js +0 -200
- package/dist/src/commands/check.d.ts +0 -32
- package/dist/src/commands/config.d.ts +0 -13
- package/dist/src/commands/declarations-report.d.ts +0 -49
- package/dist/src/commands/declarations-report.js +0 -83
- package/dist/src/commands/destructive-decision.d.ts +0 -19
- package/dist/src/commands/destructive-decision.js +0 -31
- package/dist/src/commands/discard.d.ts +0 -12
- package/dist/src/commands/doctor-check-core.d.ts +0 -110
- package/dist/src/commands/doctor-check-core.js +0 -24
- package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
- package/dist/src/commands/doctor-engine-eslint.js +0 -17
- package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
- package/dist/src/commands/doctor-external-toolchains.js +0 -56
- package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
- package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
- package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
- package/dist/src/commands/doctor-furnace-jar.js +0 -44
- package/dist/src/commands/doctor-furnace.d.ts +0 -8
- package/dist/src/commands/doctor-furnace.js +0 -514
- package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
- package/dist/src/commands/doctor-macos-sdk.js +0 -158
- package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
- package/dist/src/commands/doctor-orphaned-harness.js +0 -98
- package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
- package/dist/src/commands/doctor-patch-manifest.js +0 -156
- package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
- package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
- package/dist/src/commands/doctor-source-pin.d.ts +0 -29
- package/dist/src/commands/doctor-source-pin.js +0 -91
- package/dist/src/commands/doctor-working-tree.d.ts +0 -27
- package/dist/src/commands/doctor-working-tree.js +0 -89
- package/dist/src/commands/doctor.d.ts +0 -49
- package/dist/src/commands/download.d.ts +0 -11
- package/dist/src/commands/export-adopt-check.d.ts +0 -37
- package/dist/src/commands/export-adopt-check.js +0 -97
- package/dist/src/commands/export-all.d.ts +0 -11
- package/dist/src/commands/export-all.js +0 -361
- package/dist/src/commands/export-flow.d.ts +0 -124
- package/dist/src/commands/export-flow.js +0 -423
- package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
- package/dist/src/commands/export-placement-conflicts.js +0 -75
- package/dist/src/commands/export-placement-gate.d.ts +0 -42
- package/dist/src/commands/export-placement-gate.js +0 -107
- package/dist/src/commands/export-placement-policy.d.ts +0 -22
- package/dist/src/commands/export-placement-policy.js +0 -54
- package/dist/src/commands/export-shared.d.ts +0 -152
- package/dist/src/commands/export-shared.js +0 -396
- package/dist/src/commands/export-staged-registration.d.ts +0 -46
- package/dist/src/commands/export-staged-registration.js +0 -91
- package/dist/src/commands/export.d.ts +0 -13
- package/dist/src/commands/forward-import-remedy.d.ts +0 -31
- package/dist/src/commands/forward-import-remedy.js +0 -62
- package/dist/src/commands/furnace/apply.d.ts +0 -8
- package/dist/src/commands/furnace/apply.js +0 -327
- package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
- package/dist/src/commands/furnace/authoring-config.js +0 -19
- package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
- package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
- package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
- package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
- package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
- package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
- package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
- package/dist/src/commands/furnace/chrome-doc.js +0 -365
- package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
- package/dist/src/commands/furnace/create-browser-test.js +0 -179
- package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
- package/dist/src/commands/furnace/create-dry-run.js +0 -107
- package/dist/src/commands/furnace/create-features.d.ts +0 -24
- package/dist/src/commands/furnace/create-features.js +0 -55
- package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
- package/dist/src/commands/furnace/create-mochikit.js +0 -75
- package/dist/src/commands/furnace/create-readback.d.ts +0 -22
- package/dist/src/commands/furnace/create-readback.js +0 -32
- package/dist/src/commands/furnace/create-templates.d.ts +0 -119
- package/dist/src/commands/furnace/create-templates.js +0 -283
- package/dist/src/commands/furnace/create-validation.d.ts +0 -6
- package/dist/src/commands/furnace/create-validation.js +0 -59
- package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
- package/dist/src/commands/furnace/create-xpcshell.js +0 -80
- package/dist/src/commands/furnace/create.d.ts +0 -24
- package/dist/src/commands/furnace/create.js +0 -407
- package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
- package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
- package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
- package/dist/src/commands/furnace/deploy-named.js +0 -107
- package/dist/src/commands/furnace/deploy.d.ts +0 -9
- package/dist/src/commands/furnace/deploy.js +0 -229
- package/dist/src/commands/furnace/diff.d.ts +0 -11
- package/dist/src/commands/furnace/diff.js +0 -238
- package/dist/src/commands/furnace/index.d.ts +0 -4
- package/dist/src/commands/furnace/index.js +0 -283
- package/dist/src/commands/furnace/init.d.ts +0 -11
- package/dist/src/commands/furnace/init.js +0 -287
- package/dist/src/commands/furnace/list.d.ts +0 -8
- package/dist/src/commands/furnace/list.js +0 -104
- package/dist/src/commands/furnace/override.d.ts +0 -16
- package/dist/src/commands/furnace/override.js +0 -454
- package/dist/src/commands/furnace/preview.d.ts +0 -19
- package/dist/src/commands/furnace/preview.js +0 -349
- package/dist/src/commands/furnace/refresh.d.ts +0 -10
- package/dist/src/commands/furnace/refresh.js +0 -303
- package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
- package/dist/src/commands/furnace/remove-mutations.js +0 -168
- package/dist/src/commands/furnace/remove-state.d.ts +0 -20
- package/dist/src/commands/furnace/remove-state.js +0 -60
- package/dist/src/commands/furnace/remove.d.ts +0 -8
- package/dist/src/commands/furnace/remove.js +0 -415
- package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
- package/dist/src/commands/furnace/rename-browser-test.js +0 -68
- package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
- package/dist/src/commands/furnace/rename-dry-run.js +0 -127
- package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
- package/dist/src/commands/furnace/rename-helpers.js +0 -85
- package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
- package/dist/src/commands/furnace/rename-registrations.js +0 -98
- package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
- package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
- package/dist/src/commands/furnace/rename.d.ts +0 -6
- package/dist/src/commands/furnace/rename.js +0 -400
- package/dist/src/commands/furnace/scan.d.ts +0 -14
- package/dist/src/commands/furnace/scan.js +0 -192
- package/dist/src/commands/furnace/status.d.ts +0 -7
- package/dist/src/commands/furnace/status.js +0 -209
- package/dist/src/commands/furnace/sync.d.ts +0 -12
- package/dist/src/commands/furnace/sync.js +0 -145
- package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
- package/dist/src/commands/furnace/test-file-name.js +0 -39
- package/dist/src/commands/furnace/validate-report.d.ts +0 -45
- package/dist/src/commands/furnace/validate-report.js +0 -91
- package/dist/src/commands/furnace/validate.d.ts +0 -8
- package/dist/src/commands/furnace/validate.js +0 -309
- package/dist/src/commands/furnace/validation-output.d.ts +0 -47
- package/dist/src/commands/furnace/validation-output.js +0 -161
- package/dist/src/commands/import.d.ts +0 -11
- package/dist/src/commands/lint-per-patch.d.ts +0 -10
- package/dist/src/commands/lint-per-patch.js +0 -428
- package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
- package/dist/src/commands/lint-per-run-checkjs.js +0 -102
- package/dist/src/commands/lint-report.d.ts +0 -25
- package/dist/src/commands/lint-report.js +0 -76
- package/dist/src/commands/lint.d.ts +0 -47
- package/dist/src/commands/manifest.d.ts +0 -38
- package/dist/src/commands/manifest.js +0 -68
- package/dist/src/commands/package.d.ts +0 -11
- package/dist/src/commands/park.d.ts +0 -22
- package/dist/src/commands/park.js +0 -232
- package/dist/src/commands/patch/body.d.ts +0 -29
- package/dist/src/commands/patch/body.js +0 -60
- package/dist/src/commands/patch/compact.d.ts +0 -28
- package/dist/src/commands/patch/compact.js +0 -208
- package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
- package/dist/src/commands/patch/delete-gap-notice.js +0 -48
- package/dist/src/commands/patch/delete.d.ts +0 -28
- package/dist/src/commands/patch/delete.js +0 -131
- package/dist/src/commands/patch/entry-projection.d.ts +0 -13
- package/dist/src/commands/patch/entry-projection.js +0 -24
- package/dist/src/commands/patch/index.d.ts +0 -16
- package/dist/src/commands/patch/index.js +0 -54
- package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
- package/dist/src/commands/patch/lint-ignore-from.js +0 -141
- package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
- package/dist/src/commands/patch/lint-ignore.js +0 -263
- package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
- package/dist/src/commands/patch/move-files-adopt.js +0 -65
- package/dist/src/commands/patch/move-files-create.d.ts +0 -19
- package/dist/src/commands/patch/move-files-create.js +0 -187
- package/dist/src/commands/patch/move-files-into.d.ts +0 -65
- package/dist/src/commands/patch/move-files-into.js +0 -325
- package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
- package/dist/src/commands/patch/move-files-retire.js +0 -91
- package/dist/src/commands/patch/move-files.d.ts +0 -28
- package/dist/src/commands/patch/move-files.js +0 -224
- package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
- package/dist/src/commands/patch/move-size-tier.js +0 -66
- package/dist/src/commands/patch/patch-context.d.ts +0 -40
- package/dist/src/commands/patch/patch-context.js +0 -51
- package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
- package/dist/src/commands/patch/removal-created-files.js +0 -83
- package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
- package/dist/src/commands/patch/removal-dependents.js +0 -133
- package/dist/src/commands/patch/rename.d.ts +0 -35
- package/dist/src/commands/patch/rename.js +0 -378
- package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
- package/dist/src/commands/patch/reorder-projection.js +0 -49
- package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
- package/dist/src/commands/patch/reorder-shift.js +0 -307
- package/dist/src/commands/patch/reorder.d.ts +0 -34
- package/dist/src/commands/patch/reorder.js +0 -375
- package/dist/src/commands/patch/reserve.d.ts +0 -33
- package/dist/src/commands/patch/reserve.js +0 -152
- package/dist/src/commands/patch/retire.d.ts +0 -34
- package/dist/src/commands/patch/retire.js +0 -133
- package/dist/src/commands/patch/split-plan.d.ts +0 -125
- package/dist/src/commands/patch/split-plan.js +0 -313
- package/dist/src/commands/patch/split-staged.d.ts +0 -108
- package/dist/src/commands/patch/split-staged.js +0 -202
- package/dist/src/commands/patch/split.d.ts +0 -43
- package/dist/src/commands/patch/split.js +0 -367
- package/dist/src/commands/patch/stage.d.ts +0 -34
- package/dist/src/commands/patch/stage.js +0 -153
- package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
- package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
- package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
- package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
- package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
- package/dist/src/commands/patch/staged-dependency-from.js +0 -114
- package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
- package/dist/src/commands/patch/staged-dependency-remove.js +0 -114
- package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -27
- package/dist/src/commands/patch/staged-dependency-validate.js +0 -78
- package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
- package/dist/src/commands/patch/staged-dependency.js +0 -251
- package/dist/src/commands/patch/tier.d.ts +0 -34
- package/dist/src/commands/patch/tier.js +0 -125
- package/dist/src/commands/patch-rename-map.d.ts +0 -30
- package/dist/src/commands/patch-rename-map.js +0 -54
- package/dist/src/commands/pending-resolution.d.ts +0 -15
- package/dist/src/commands/pending-resolution.js +0 -25
- package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
- package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
- package/dist/src/commands/re-export-adjacent.d.ts +0 -111
- package/dist/src/commands/re-export-adjacent.js +0 -285
- package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
- package/dist/src/commands/re-export-bulk-scan.js +0 -233
- package/dist/src/commands/re-export-drift.d.ts +0 -110
- package/dist/src/commands/re-export-drift.js +0 -358
- package/dist/src/commands/re-export-each.d.ts +0 -46
- package/dist/src/commands/re-export-each.js +0 -110
- package/dist/src/commands/re-export-files.d.ts +0 -15
- package/dist/src/commands/re-export-files.js +0 -307
- package/dist/src/commands/re-export-hunks.d.ts +0 -37
- package/dist/src/commands/re-export-hunks.js +0 -264
- package/dist/src/commands/re-export-lint.d.ts +0 -137
- package/dist/src/commands/re-export-lint.js +0 -303
- package/dist/src/commands/re-export-options.d.ts +0 -29
- package/dist/src/commands/re-export-options.js +0 -192
- package/dist/src/commands/re-export-preflight.d.ts +0 -23
- package/dist/src/commands/re-export-preflight.js +0 -159
- package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
- package/dist/src/commands/re-export-purity-scope.js +0 -137
- package/dist/src/commands/re-export-register.d.ts +0 -12
- package/dist/src/commands/re-export-register.js +0 -99
- package/dist/src/commands/re-export-removed.d.ts +0 -15
- package/dist/src/commands/re-export-removed.js +0 -94
- package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
- package/dist/src/commands/re-export-retired-declarations.js +0 -113
- package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
- package/dist/src/commands/re-export-scan-owner.js +0 -116
- package/dist/src/commands/re-export-scan.d.ts +0 -72
- package/dist/src/commands/re-export-scan.js +0 -265
- package/dist/src/commands/re-export-single.d.ts +0 -53
- package/dist/src/commands/re-export-single.js +0 -426
- package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
- package/dist/src/commands/re-export-stale-registrations.js +0 -106
- package/dist/src/commands/re-export-summary.d.ts +0 -44
- package/dist/src/commands/re-export-summary.js +0 -59
- package/dist/src/commands/re-export.d.ts +0 -8
- package/dist/src/commands/rebase/abort.d.ts +0 -7
- package/dist/src/commands/rebase/abort.js +0 -67
- package/dist/src/commands/rebase/confirm.d.ts +0 -42
- package/dist/src/commands/rebase/confirm.js +0 -36
- package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
- package/dist/src/commands/rebase/conflict-summary.js +0 -37
- package/dist/src/commands/rebase/continue.d.ts +0 -7
- package/dist/src/commands/rebase/continue.js +0 -119
- package/dist/src/commands/rebase/index.d.ts +0 -22
- package/dist/src/commands/rebase/index.js +0 -209
- package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
- package/dist/src/commands/rebase/patch-loop.js +0 -289
- package/dist/src/commands/rebase/summary.d.ts +0 -8
- package/dist/src/commands/rebase/summary.js +0 -47
- package/dist/src/commands/register.d.ts +0 -13
- package/dist/src/commands/reset.d.ts +0 -11
- package/dist/src/commands/resolve.d.ts +0 -36
- package/dist/src/commands/run.d.ts +0 -10
- package/dist/src/commands/setup-support.d.ts +0 -35
- package/dist/src/commands/setup-support.js +0 -386
- package/dist/src/commands/setup.d.ts +0 -11
- package/dist/src/commands/source.d.ts +0 -9
- package/dist/src/commands/source.js +0 -120
- package/dist/src/commands/status-check.d.ts +0 -87
- package/dist/src/commands/status-check.js +0 -161
- package/dist/src/commands/status-json.d.ts +0 -45
- package/dist/src/commands/status-json.js +0 -97
- package/dist/src/commands/status-output.d.ts +0 -23
- package/dist/src/commands/status-output.js +0 -231
- package/dist/src/commands/status-ownership.d.ts +0 -54
- package/dist/src/commands/status-ownership.js +0 -59
- package/dist/src/commands/status-scope.d.ts +0 -37
- package/dist/src/commands/status-scope.js +0 -54
- package/dist/src/commands/status.d.ts +0 -11
- package/dist/src/commands/test-appdir.d.ts +0 -6
- package/dist/src/commands/test-appdir.js +0 -29
- package/dist/src/commands/test-browser-preflight.d.ts +0 -28
- package/dist/src/commands/test-browser-preflight.js +0 -197
- package/dist/src/commands/test-build-furnace.d.ts +0 -21
- package/dist/src/commands/test-build-furnace.js +0 -53
- package/dist/src/commands/test-build-phase.d.ts +0 -34
- package/dist/src/commands/test-build-phase.js +0 -291
- package/dist/src/commands/test-checkjs.d.ts +0 -3
- package/dist/src/commands/test-checkjs.js +0 -35
- package/dist/src/commands/test-control-restore.d.ts +0 -40
- package/dist/src/commands/test-control-restore.js +0 -86
- package/dist/src/commands/test-diagnose.d.ts +0 -23
- package/dist/src/commands/test-diagnose.js +0 -317
- package/dist/src/commands/test-dispatch.d.ts +0 -39
- package/dist/src/commands/test-dispatch.js +0 -281
- package/dist/src/commands/test-furnace-reach.d.ts +0 -37
- package/dist/src/commands/test-furnace-reach.js +0 -132
- package/dist/src/commands/test-harness-env.d.ts +0 -23
- package/dist/src/commands/test-harness-env.js +0 -81
- package/dist/src/commands/test-harness-teardown.d.ts +0 -62
- package/dist/src/commands/test-harness-teardown.js +0 -128
- package/dist/src/commands/test-modes.d.ts +0 -57
- package/dist/src/commands/test-modes.js +0 -158
- package/dist/src/commands/test-multi-verdict.d.ts +0 -61
- package/dist/src/commands/test-multi-verdict.js +0 -112
- package/dist/src/commands/test-orchestrate.d.ts +0 -70
- package/dist/src/commands/test-orchestrate.js +0 -277
- package/dist/src/commands/test-perf-scope.d.ts +0 -50
- package/dist/src/commands/test-perf-scope.js +0 -138
- package/dist/src/commands/test-prelock.d.ts +0 -61
- package/dist/src/commands/test-prelock.js +0 -301
- package/dist/src/commands/test-register.d.ts +0 -4
- package/dist/src/commands/test-register.js +0 -181
- package/dist/src/commands/test-results.d.ts +0 -71
- package/dist/src/commands/test-results.js +0 -79
- package/dist/src/commands/test-run.d.ts +0 -89
- package/dist/src/commands/test-run.js +0 -251
- package/dist/src/commands/test-shards.d.ts +0 -114
- package/dist/src/commands/test-shards.js +0 -272
- package/dist/src/commands/test-stale-gate.d.ts +0 -56
- package/dist/src/commands/test-stale-gate.js +0 -208
- package/dist/src/commands/test-verdict.d.ts +0 -102
- package/dist/src/commands/test-verdict.js +0 -176
- package/dist/src/commands/test.d.ts +0 -22
- package/dist/src/commands/token-coverage.d.ts +0 -5
- package/dist/src/commands/token-coverage.js +0 -170
- package/dist/src/commands/token-lint.d.ts +0 -14
- package/dist/src/commands/token-lint.js +0 -151
- package/dist/src/commands/token-list.d.ts +0 -26
- package/dist/src/commands/token-list.js +0 -153
- package/dist/src/commands/token.d.ts +0 -14
- package/dist/src/commands/tree.d.ts +0 -19
- package/dist/src/commands/tree.js +0 -341
- package/dist/src/commands/typecheck-explain.d.ts +0 -13
- package/dist/src/commands/typecheck-explain.js +0 -100
- package/dist/src/commands/typecheck.d.ts +0 -61
- package/dist/src/commands/verify-scope.d.ts +0 -28
- package/dist/src/commands/verify-scope.js +0 -67
- package/dist/src/commands/verify.d.ts +0 -58
- package/dist/src/commands/watch.d.ts +0 -9
- package/dist/src/commands/wire.d.ts +0 -13
- package/dist/src/core/ast-utils.d.ts +0 -73
- package/dist/src/core/ast-utils.js +0 -105
- package/dist/src/core/brand-validation.d.ts +0 -7
- package/dist/src/core/brand-validation.js +0 -14
- package/dist/src/core/branding.d.ts +0 -86
- package/dist/src/core/branding.js +0 -371
- package/dist/src/core/browser-wire.d.ts +0 -48
- package/dist/src/core/browser-wire.js +0 -133
- package/dist/src/core/build-audit-platform.d.ts +0 -67
- package/dist/src/core/build-audit-platform.js +0 -373
- package/dist/src/core/build-audit-registration.d.ts +0 -80
- package/dist/src/core/build-audit-registration.js +0 -181
- package/dist/src/core/build-audit-resolve.d.ts +0 -78
- package/dist/src/core/build-audit-resolve.js +0 -240
- package/dist/src/core/build-audit-skip.d.ts +0 -57
- package/dist/src/core/build-audit-skip.js +0 -112
- package/dist/src/core/build-audit-transforms.d.ts +0 -23
- package/dist/src/core/build-audit-transforms.js +0 -92
- package/dist/src/core/build-audit.d.ts +0 -93
- package/dist/src/core/build-audit.js +0 -633
- package/dist/src/core/build-baseline-types.d.ts +0 -225
- package/dist/src/core/build-baseline-types.js +0 -10
- package/dist/src/core/build-baseline-validate.d.ts +0 -32
- package/dist/src/core/build-baseline-validate.js +0 -173
- package/dist/src/core/build-baseline.d.ts +0 -103
- package/dist/src/core/build-baseline.js +0 -261
- package/dist/src/core/build-jar-escalation.d.ts +0 -61
- package/dist/src/core/build-jar-escalation.js +0 -125
- package/dist/src/core/build-overwrite-guard.d.ts +0 -92
- package/dist/src/core/build-overwrite-guard.js +0 -235
- package/dist/src/core/build-prepare.d.ts +0 -83
- package/dist/src/core/build-prepare.js +0 -414
- package/dist/src/core/build-run-record.d.ts +0 -74
- package/dist/src/core/build-run-record.js +0 -136
- package/dist/src/core/checkjs-support-heads.d.ts +0 -41
- package/dist/src/core/checkjs-support-heads.js +0 -104
- package/dist/src/core/component-source-guard.d.ts +0 -20
- package/dist/src/core/component-source-guard.js +0 -68
- package/dist/src/core/config-mutate.d.ts +0 -16
- package/dist/src/core/config-mutate.js +0 -76
- package/dist/src/core/config-paths.d.ts +0 -16
- package/dist/src/core/config-paths.js +0 -106
- package/dist/src/core/config-state.d.ts +0 -16
- package/dist/src/core/config-state.js +0 -141
- package/dist/src/core/config-validate-build-audit.d.ts +0 -8
- package/dist/src/core/config-validate-build-audit.js +0 -80
- package/dist/src/core/config-validate-check.d.ts +0 -8
- package/dist/src/core/config-validate-check.js +0 -219
- package/dist/src/core/config-validate-file-size.d.ts +0 -15
- package/dist/src/core/config-validate-file-size.js +0 -154
- package/dist/src/core/config-validate-history.d.ts +0 -11
- package/dist/src/core/config-validate-history.js +0 -38
- package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
- package/dist/src/core/config-validate-patch-policy.js +0 -284
- package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
- package/dist/src/core/config-validate-test-toolchains.js +0 -133
- package/dist/src/core/config-validate-token-scales.d.ts +0 -9
- package/dist/src/core/config-validate-token-scales.js +0 -125
- package/dist/src/core/config-validate.d.ts +0 -11
- package/dist/src/core/config-validate.js +0 -509
- package/dist/src/core/config.d.ts +0 -92
- package/dist/src/core/config.js +0 -169
- package/dist/src/core/coverage-dispatch.d.ts +0 -24
- package/dist/src/core/coverage-dispatch.js +0 -44
- package/dist/src/core/coverage-extend.d.ts +0 -89
- package/dist/src/core/coverage-extend.js +0 -239
- package/dist/src/core/coverage-records.d.ts +0 -107
- package/dist/src/core/coverage-records.js +0 -383
- package/dist/src/core/destructive.d.ts +0 -144
- package/dist/src/core/destructive.js +0 -182
- package/dist/src/core/dev-profile.d.ts +0 -28
- package/dist/src/core/dev-profile.js +0 -58
- package/dist/src/core/diff-hunks.d.ts +0 -73
- package/dist/src/core/diff-hunks.js +0 -286
- package/dist/src/core/discard-baseline.d.ts +0 -60
- package/dist/src/core/discard-baseline.js +0 -247
- package/dist/src/core/display-state.d.ts +0 -50
- package/dist/src/core/display-state.js +0 -87
- package/dist/src/core/engine-changes.d.ts +0 -40
- package/dist/src/core/engine-changes.js +0 -95
- package/dist/src/core/engine-precondition.d.ts +0 -42
- package/dist/src/core/engine-precondition.js +0 -60
- package/dist/src/core/engine-session-lock.d.ts +0 -119
- package/dist/src/core/engine-session-lock.js +0 -374
- package/dist/src/core/engine-write-boundary.d.ts +0 -5
- package/dist/src/core/engine-write-boundary.js +0 -41
- package/dist/src/core/export-moved-code-shape.d.ts +0 -98
- package/dist/src/core/export-moved-code-shape.js +0 -220
- package/dist/src/core/file-lock-owner.d.ts +0 -103
- package/dist/src/core/file-lock-owner.js +0 -259
- package/dist/src/core/file-lock-queue.d.ts +0 -67
- package/dist/src/core/file-lock-queue.js +0 -219
- package/dist/src/core/file-lock-shared.d.ts +0 -57
- package/dist/src/core/file-lock-shared.js +0 -117
- package/dist/src/core/file-lock.d.ts +0 -143
- package/dist/src/core/file-lock.js +0 -531
- package/dist/src/core/firefox-archive.d.ts +0 -45
- package/dist/src/core/firefox-archive.js +0 -96
- package/dist/src/core/firefox-cache.d.ts +0 -30
- package/dist/src/core/firefox-cache.js +0 -248
- package/dist/src/core/firefox-download.d.ts +0 -30
- package/dist/src/core/firefox-download.js +0 -152
- package/dist/src/core/firefox-extract.d.ts +0 -42
- package/dist/src/core/firefox-extract.js +0 -248
- package/dist/src/core/firefox-ignorefile.d.ts +0 -17
- package/dist/src/core/firefox-ignorefile.js +0 -30
- package/dist/src/core/firefox.d.ts +0 -66
- package/dist/src/core/firefox.js +0 -121
- package/dist/src/core/forward-registrations.d.ts +0 -33
- package/dist/src/core/forward-registrations.js +0 -16
- package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
- package/dist/src/core/furnace-apply-dry-run.js +0 -99
- package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
- package/dist/src/core/furnace-apply-ftl.js +0 -210
- package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
- package/dist/src/core/furnace-apply-helpers.js +0 -436
- package/dist/src/core/furnace-apply-output.d.ts +0 -36
- package/dist/src/core/furnace-apply-output.js +0 -111
- package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -67
- package/dist/src/core/furnace-apply-overwrite-warn.js +0 -131
- package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
- package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
- package/dist/src/core/furnace-apply.d.ts +0 -49
- package/dist/src/core/furnace-apply.js +0 -465
- package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
- package/dist/src/core/furnace-checksum-utils.js +0 -54
- package/dist/src/core/furnace-composed-source.d.ts +0 -76
- package/dist/src/core/furnace-composed-source.js +0 -167
- package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
- package/dist/src/core/furnace-config-array-utils.js +0 -26
- package/dist/src/core/furnace-config-custom.d.ts +0 -15
- package/dist/src/core/furnace-config-custom.js +0 -73
- package/dist/src/core/furnace-config-order.d.ts +0 -8
- package/dist/src/core/furnace-config-order.js +0 -90
- package/dist/src/core/furnace-config-tokens.d.ts +0 -17
- package/dist/src/core/furnace-config-tokens.js +0 -42
- package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
- package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
- package/dist/src/core/furnace-config-validate.d.ts +0 -32
- package/dist/src/core/furnace-config-validate.js +0 -167
- package/dist/src/core/furnace-config.d.ts +0 -139
- package/dist/src/core/furnace-config.js +0 -511
- package/dist/src/core/furnace-constants.d.ts +0 -81
- package/dist/src/core/furnace-constants.js +0 -125
- package/dist/src/core/furnace-css-fragments.d.ts +0 -96
- package/dist/src/core/furnace-css-fragments.js +0 -279
- package/dist/src/core/furnace-deploy-owner.d.ts +0 -29
- package/dist/src/core/furnace-deploy-owner.js +0 -116
- package/dist/src/core/furnace-dir-entry.d.ts +0 -20
- package/dist/src/core/furnace-dir-entry.js +0 -21
- package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
- package/dist/src/core/furnace-fragment-includers.js +0 -122
- package/dist/src/core/furnace-graph-utils.d.ts +0 -11
- package/dist/src/core/furnace-graph-utils.js +0 -93
- package/dist/src/core/furnace-jsconfig.d.ts +0 -87
- package/dist/src/core/furnace-jsconfig.js +0 -248
- package/dist/src/core/furnace-marker.d.ts +0 -15
- package/dist/src/core/furnace-marker.js +0 -21
- package/dist/src/core/furnace-operation.d.ts +0 -195
- package/dist/src/core/furnace-operation.js +0 -444
- package/dist/src/core/furnace-precondition.d.ts +0 -61
- package/dist/src/core/furnace-precondition.js +0 -67
- package/dist/src/core/furnace-refresh.d.ts +0 -28
- package/dist/src/core/furnace-refresh.js +0 -125
- package/dist/src/core/furnace-registration-ast.d.ts +0 -53
- package/dist/src/core/furnace-registration-ast.js +0 -402
- package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
- package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
- package/dist/src/core/furnace-registration-remove.d.ts +0 -56
- package/dist/src/core/furnace-registration-remove.js +0 -260
- package/dist/src/core/furnace-registration-rename.d.ts +0 -26
- package/dist/src/core/furnace-registration-rename.js +0 -77
- package/dist/src/core/furnace-registration-validate.d.ts +0 -53
- package/dist/src/core/furnace-registration-validate.js +0 -110
- package/dist/src/core/furnace-registration.d.ts +0 -112
- package/dist/src/core/furnace-registration.js +0 -348
- package/dist/src/core/furnace-rollback.d.ts +0 -48
- package/dist/src/core/furnace-rollback.js +0 -170
- package/dist/src/core/furnace-scanner.d.ts +0 -47
- package/dist/src/core/furnace-scanner.js +0 -236
- package/dist/src/core/furnace-stale-export.d.ts +0 -60
- package/dist/src/core/furnace-stale-export.js +0 -125
- package/dist/src/core/furnace-staleness.d.ts +0 -24
- package/dist/src/core/furnace-staleness.js +0 -67
- package/dist/src/core/furnace-state-persist.d.ts +0 -68
- package/dist/src/core/furnace-state-persist.js +0 -116
- package/dist/src/core/furnace-step-errors.d.ts +0 -23
- package/dist/src/core/furnace-step-errors.js +0 -25
- package/dist/src/core/furnace-stories.d.ts +0 -37
- package/dist/src/core/furnace-stories.js +0 -186
- package/dist/src/core/furnace-tag-map.d.ts +0 -47
- package/dist/src/core/furnace-tag-map.js +0 -182
- package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
- package/dist/src/core/furnace-validate-accessibility.js +0 -417
- package/dist/src/core/furnace-validate-checks.d.ts +0 -4
- package/dist/src/core/furnace-validate-checks.js +0 -6
- package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
- package/dist/src/core/furnace-validate-compatibility.js +0 -295
- package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
- package/dist/src/core/furnace-validate-exceptions.js +0 -98
- package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
- package/dist/src/core/furnace-validate-helpers.js +0 -4
- package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
- package/dist/src/core/furnace-validate-icon-button.js +0 -78
- package/dist/src/core/furnace-validate-registration.d.ts +0 -67
- package/dist/src/core/furnace-validate-registration.js +0 -487
- package/dist/src/core/furnace-validate-structure.d.ts +0 -22
- package/dist/src/core/furnace-validate-structure.js +0 -122
- package/dist/src/core/furnace-validate.d.ts +0 -41
- package/dist/src/core/furnace-validate.js +0 -331
- package/dist/src/core/furnace-version-drift.d.ts +0 -57
- package/dist/src/core/furnace-version-drift.js +0 -102
- package/dist/src/core/gecko-dom-types.d.ts +0 -2
- package/dist/src/core/gecko-dom-types.js +0 -17
- package/dist/src/core/git-base.d.ts +0 -101
- package/dist/src/core/git-base.js +0 -162
- package/dist/src/core/git-diff-new-file.d.ts +0 -40
- package/dist/src/core/git-diff-new-file.js +0 -118
- package/dist/src/core/git-diff.d.ts +0 -82
- package/dist/src/core/git-diff.js +0 -539
- package/dist/src/core/git-file-ops.d.ts +0 -108
- package/dist/src/core/git-file-ops.js +0 -280
- package/dist/src/core/git-readonly-index.d.ts +0 -91
- package/dist/src/core/git-readonly-index.js +0 -177
- package/dist/src/core/git-status.d.ts +0 -84
- package/dist/src/core/git-status.js +0 -208
- package/dist/src/core/git.d.ts +0 -114
- package/dist/src/core/git.js +0 -540
- package/dist/src/core/harness-helper-pids.d.ts +0 -98
- package/dist/src/core/harness-helper-pids.js +0 -240
- package/dist/src/core/harness-orphans.d.ts +0 -118
- package/dist/src/core/harness-orphans.js +0 -268
- package/dist/src/core/harness-port-fallback.d.ts +0 -60
- package/dist/src/core/harness-port-fallback.js +0 -96
- package/dist/src/core/harness-port-reservation.d.ts +0 -60
- package/dist/src/core/harness-port-reservation.js +0 -122
- package/dist/src/core/history-log-file.d.ts +0 -61
- package/dist/src/core/history-log-file.js +0 -164
- package/dist/src/core/history-log.d.ts +0 -20
- package/dist/src/core/history-log.js +0 -30
- package/dist/src/core/json-preserving-edit.d.ts +0 -22
- package/dist/src/core/json-preserving-edit.js +0 -199
- package/dist/src/core/launchable-build.d.ts +0 -39
- package/dist/src/core/launchable-build.js +0 -85
- package/dist/src/core/license-headers.d.ts +0 -103
- package/dist/src/core/license-headers.js +0 -328
- package/dist/src/core/line-prefixer.d.ts +0 -18
- package/dist/src/core/line-prefixer.js +0 -34
- package/dist/src/core/lit-template-regions.d.ts +0 -4
- package/dist/src/core/lit-template-regions.js +0 -50
- package/dist/src/core/mach-build-artifacts.d.ts +0 -176
- package/dist/src/core/mach-build-artifacts.js +0 -436
- package/dist/src/core/mach-error-hints.d.ts +0 -24
- package/dist/src/core/mach-error-hints.js +0 -135
- package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
- package/dist/src/core/mach-known-noise-filter.js +0 -257
- package/dist/src/core/mach-mozconfig.d.ts +0 -57
- package/dist/src/core/mach-mozconfig.js +0 -166
- package/dist/src/core/mach-python.d.ts +0 -19
- package/dist/src/core/mach-python.js +0 -131
- package/dist/src/core/mach-resource-shim.d.ts +0 -107
- package/dist/src/core/mach-resource-shim.js +0 -640
- package/dist/src/core/mach.d.ts +0 -284
- package/dist/src/core/mach.js +0 -445
- package/dist/src/core/marionette-port.d.ts +0 -153
- package/dist/src/core/marionette-port.js +0 -474
- package/dist/src/core/marionette-preflight.d.ts +0 -58
- package/dist/src/core/marionette-preflight.js +0 -332
- package/dist/src/core/markdown-table.d.ts +0 -104
- package/dist/src/core/markdown-table.js +0 -265
- package/dist/src/core/mochitest-server-port.d.ts +0 -81
- package/dist/src/core/mochitest-server-port.js +0 -175
- package/dist/src/core/module-resolution-preflight.d.ts +0 -65
- package/dist/src/core/module-resolution-preflight.js +0 -171
- package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
- package/dist/src/core/moz-manifest-helpers.js +0 -163
- package/dist/src/core/moz-manifest-register.d.ts +0 -19
- package/dist/src/core/moz-manifest-register.js +0 -51
- package/dist/src/core/moz-manifest-rules.d.ts +0 -58
- package/dist/src/core/moz-manifest-rules.js +0 -264
- package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
- package/dist/src/core/moz-manifest-tokenizers.js +0 -108
- package/dist/src/core/negative-control-compiled.d.ts +0 -46
- package/dist/src/core/negative-control-compiled.js +0 -109
- package/dist/src/core/negative-control-diff.d.ts +0 -51
- package/dist/src/core/negative-control-diff.js +0 -167
- package/dist/src/core/negative-control.d.ts +0 -150
- package/dist/src/core/negative-control.js +0 -399
- package/dist/src/core/objdir-install-manifests.d.ts +0 -73
- package/dist/src/core/objdir-install-manifests.js +0 -226
- package/dist/src/core/objdir-maintenance.d.ts +0 -10
- package/dist/src/core/objdir-maintenance.js +0 -167
- package/dist/src/core/ownership-table.d.ts +0 -53
- package/dist/src/core/ownership-table.js +0 -159
- package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
- package/dist/src/core/parent-exit-watchdog.js +0 -69
- package/dist/src/core/park-store.d.ts +0 -63
- package/dist/src/core/park-store.js +0 -216
- package/dist/src/core/parser-fallback.d.ts +0 -50
- package/dist/src/core/parser-fallback.js +0 -61
- package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
- package/dist/src/core/patch-apply-fuzz.js +0 -125
- package/dist/src/core/patch-apply.d.ts +0 -88
- package/dist/src/core/patch-apply.js +0 -435
- package/dist/src/core/patch-export-coverage.d.ts +0 -49
- package/dist/src/core/patch-export-coverage.js +0 -73
- package/dist/src/core/patch-export-metadata.d.ts +0 -46
- package/dist/src/core/patch-export-metadata.js +0 -47
- package/dist/src/core/patch-export-update.d.ts +0 -55
- package/dist/src/core/patch-export-update.js +0 -95
- package/dist/src/core/patch-export.d.ts +0 -175
- package/dist/src/core/patch-export.js +0 -312
- package/dist/src/core/patch-files.d.ts +0 -17
- package/dist/src/core/patch-files.js +0 -59
- package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
- package/dist/src/core/patch-identifier-suggest.js +0 -135
- package/dist/src/core/patch-lint-binary.d.ts +0 -45
- package/dist/src/core/patch-lint-binary.js +0 -39
- package/dist/src/core/patch-lint-cache-checkjs.d.ts +0 -45
- package/dist/src/core/patch-lint-cache-checkjs.js +0 -195
- package/dist/src/core/patch-lint-cache.d.ts +0 -79
- package/dist/src/core/patch-lint-cache.js +0 -247
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -57
- package/dist/src/core/patch-lint-checkjs-any-import.js +0 -91
- package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
- package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
- package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
- package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
- package/dist/src/core/patch-lint-checkjs-resolve.d.ts +0 -31
- package/dist/src/core/patch-lint-checkjs-resolve.js +0 -86
- package/dist/src/core/patch-lint-checkjs.d.ts +0 -182
- package/dist/src/core/patch-lint-checkjs.js +0 -563
- package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
- package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
- package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
- package/dist/src/core/patch-lint-code-lines.js +0 -105
- package/dist/src/core/patch-lint-creators.d.ts +0 -26
- package/dist/src/core/patch-lint-creators.js +0 -45
- package/dist/src/core/patch-lint-cross.d.ts +0 -232
- package/dist/src/core/patch-lint-cross.js +0 -590
- package/dist/src/core/patch-lint-css.d.ts +0 -27
- package/dist/src/core/patch-lint-css.js +0 -228
- package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
- package/dist/src/core/patch-lint-diff-tag.js +0 -105
- package/dist/src/core/patch-lint-diff.d.ts +0 -42
- package/dist/src/core/patch-lint-diff.js +0 -100
- package/dist/src/core/patch-lint-file-size.d.ts +0 -57
- package/dist/src/core/patch-lint-file-size.js +0 -62
- package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
- package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
- package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
- package/dist/src/core/patch-lint-forward-registration.js +0 -266
- package/dist/src/core/patch-lint-ignore.d.ts +0 -196
- package/dist/src/core/patch-lint-ignore.js +0 -429
- package/dist/src/core/patch-lint-imports.d.ts +0 -9
- package/dist/src/core/patch-lint-imports.js +0 -90
- package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
- package/dist/src/core/patch-lint-jsdoc.js +0 -471
- package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
- package/dist/src/core/patch-lint-module-registration.js +0 -97
- package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
- package/dist/src/core/patch-lint-mozbuild.js +0 -192
- package/dist/src/core/patch-lint-observer.d.ts +0 -37
- package/dist/src/core/patch-lint-observer.js +0 -167
- package/dist/src/core/patch-lint-ownership.d.ts +0 -74
- package/dist/src/core/patch-lint-ownership.js +0 -125
- package/dist/src/core/patch-lint-prettier.d.ts +0 -34
- package/dist/src/core/patch-lint-prettier.js +0 -124
- package/dist/src/core/patch-lint-projection.d.ts +0 -25
- package/dist/src/core/patch-lint-projection.js +0 -43
- package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
- package/dist/src/core/patch-lint-queue-types.js +0 -12
- package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
- package/dist/src/core/patch-lint-size-thresholds.js +0 -110
- package/dist/src/core/patch-lint-size.d.ts +0 -117
- package/dist/src/core/patch-lint-size.js +0 -331
- package/dist/src/core/patch-lint-staged-registration.d.ts +0 -98
- package/dist/src/core/patch-lint-staged-registration.js +0 -128
- package/dist/src/core/patch-lint-token-scale.d.ts +0 -65
- package/dist/src/core/patch-lint-token-scale.js +0 -304
- package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
- package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
- package/dist/src/core/patch-lint.d.ts +0 -206
- package/dist/src/core/patch-lint.js +0 -533
- package/dist/src/core/patch-lock.d.ts +0 -40
- package/dist/src/core/patch-lock.js +0 -129
- package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
- package/dist/src/core/patch-manifest-consistency.js +0 -256
- package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
- package/dist/src/core/patch-manifest-files-affected.js +0 -77
- package/dist/src/core/patch-manifest-io.d.ts +0 -199
- package/dist/src/core/patch-manifest-io.js +0 -556
- package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
- package/dist/src/core/patch-manifest-key-order.js +0 -60
- package/dist/src/core/patch-manifest-query.d.ts +0 -55
- package/dist/src/core/patch-manifest-query.js +0 -139
- package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
- package/dist/src/core/patch-manifest-resolve.js +0 -35
- package/dist/src/core/patch-manifest-stage.d.ts +0 -46
- package/dist/src/core/patch-manifest-stage.js +0 -96
- package/dist/src/core/patch-manifest-validate.d.ts +0 -20
- package/dist/src/core/patch-manifest-validate.js +0 -240
- package/dist/src/core/patch-manifest.d.ts +0 -12
- package/dist/src/core/patch-manifest.js +0 -13
- package/dist/src/core/patch-order-legal.d.ts +0 -26
- package/dist/src/core/patch-order-legal.js +0 -88
- package/dist/src/core/patch-parse.d.ts +0 -176
- package/dist/src/core/patch-parse.js +0 -416
- package/dist/src/core/patch-policy-content.d.ts +0 -40
- package/dist/src/core/patch-policy-content.js +0 -219
- package/dist/src/core/patch-policy.d.ts +0 -80
- package/dist/src/core/patch-policy.js +0 -394
- package/dist/src/core/patch-registration-refs.d.ts +0 -41
- package/dist/src/core/patch-registration-refs.js +0 -107
- package/dist/src/core/patch-retired.d.ts +0 -57
- package/dist/src/core/patch-retired.js +0 -92
- package/dist/src/core/patch-source-metadata.d.ts +0 -6
- package/dist/src/core/patch-source-metadata.js +0 -12
- package/dist/src/core/patch-subset.d.ts +0 -18
- package/dist/src/core/patch-subset.js +0 -67
- package/dist/src/core/patch-transform.d.ts +0 -61
- package/dist/src/core/patch-transform.js +0 -198
- package/dist/src/core/preflight-wait.d.ts +0 -22
- package/dist/src/core/preflight-wait.js +0 -62
- package/dist/src/core/process-cpu-time.d.ts +0 -12
- package/dist/src/core/process-cpu-time.js +0 -52
- package/dist/src/core/process-owner.d.ts +0 -9
- package/dist/src/core/process-owner.js +0 -43
- package/dist/src/core/rebase-dry-run.d.ts +0 -48
- package/dist/src/core/rebase-dry-run.js +0 -105
- package/dist/src/core/rebase-from-version.d.ts +0 -46
- package/dist/src/core/rebase-from-version.js +0 -71
- package/dist/src/core/rebase-session.d.ts +0 -100
- package/dist/src/core/rebase-session.js +0 -174
- package/dist/src/core/register-browser-content.d.ts +0 -11
- package/dist/src/core/register-browser-content.js +0 -52
- package/dist/src/core/register-browser-test.d.ts +0 -18
- package/dist/src/core/register-browser-test.js +0 -66
- package/dist/src/core/register-module.d.ts +0 -11
- package/dist/src/core/register-module.js +0 -56
- package/dist/src/core/register-result.d.ts +0 -30
- package/dist/src/core/register-result.js +0 -8
- package/dist/src/core/register-scaffold.d.ts +0 -55
- package/dist/src/core/register-scaffold.js +0 -146
- package/dist/src/core/register-shared-css.d.ts +0 -36
- package/dist/src/core/register-shared-css.js +0 -112
- package/dist/src/core/register-xpcshell-test.d.ts +0 -50
- package/dist/src/core/register-xpcshell-test.js +0 -143
- package/dist/src/core/run-log-redact.d.ts +0 -38
- package/dist/src/core/run-log-redact.js +0 -69
- package/dist/src/core/run-log.d.ts +0 -97
- package/dist/src/core/run-log.js +0 -334
- package/dist/src/core/run-profile.d.ts +0 -57
- package/dist/src/core/run-profile.js +0 -137
- package/dist/src/core/shared-ftl.d.ts +0 -28
- package/dist/src/core/shared-ftl.js +0 -49
- package/dist/src/core/signal-critical.d.ts +0 -38
- package/dist/src/core/signal-critical.js +0 -62
- package/dist/src/core/smoke-patterns.d.ts +0 -81
- package/dist/src/core/smoke-patterns.js +0 -176
- package/dist/src/core/state-file.d.ts +0 -60
- package/dist/src/core/state-file.js +0 -71
- package/dist/src/core/status-binary.d.ts +0 -62
- package/dist/src/core/status-binary.js +0 -133
- package/dist/src/core/status-classify.d.ts +0 -96
- package/dist/src/core/status-classify.js +0 -244
- package/dist/src/core/test-changed-prefs.d.ts +0 -30
- package/dist/src/core/test-changed-prefs.js +0 -93
- package/dist/src/core/test-harness-crash.d.ts +0 -251
- package/dist/src/core/test-harness-crash.js +0 -780
- package/dist/src/core/test-harness-infra.d.ts +0 -32
- package/dist/src/core/test-harness-infra.js +0 -69
- package/dist/src/core/test-harness-output.d.ts +0 -45
- package/dist/src/core/test-harness-output.js +0 -119
- package/dist/src/core/test-harness-signature.d.ts +0 -57
- package/dist/src/core/test-harness-signature.js +0 -35
- package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
- package/dist/src/core/test-harness-verdict-notes.js +0 -48
- package/dist/src/core/test-host-state.d.ts +0 -14
- package/dist/src/core/test-host-state.js +0 -80
- package/dist/src/core/test-path-scope.d.ts +0 -59
- package/dist/src/core/test-path-scope.js +0 -147
- package/dist/src/core/test-profile-files.d.ts +0 -17
- package/dist/src/core/test-profile-files.js +0 -75
- package/dist/src/core/test-raw-log.d.ts +0 -66
- package/dist/src/core/test-raw-log.js +0 -122
- package/dist/src/core/test-run-completeness.d.ts +0 -97
- package/dist/src/core/test-run-completeness.js +0 -191
- package/dist/src/core/test-stale-check.d.ts +0 -213
- package/dist/src/core/test-stale-check.js +0 -396
- package/dist/src/core/test-stale-exempt.d.ts +0 -40
- package/dist/src/core/test-stale-exempt.js +0 -70
- package/dist/src/core/test-stale-symlink.d.ts +0 -12
- package/dist/src/core/test-stale-symlink.js +0 -39
- package/dist/src/core/test-stall-triage.d.ts +0 -51
- package/dist/src/core/test-stall-triage.js +0 -142
- package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
- package/dist/src/core/test-xpcshell-retry.js +0 -31
- package/dist/src/core/token-category.d.ts +0 -54
- package/dist/src/core/token-category.js +0 -299
- package/dist/src/core/token-coverage.d.ts +0 -12
- package/dist/src/core/token-coverage.js +0 -96
- package/dist/src/core/token-dark-mode.d.ts +0 -64
- package/dist/src/core/token-dark-mode.js +0 -186
- package/dist/src/core/token-docs.d.ts +0 -34
- package/dist/src/core/token-docs.js +0 -102
- package/dist/src/core/token-inventory.d.ts +0 -56
- package/dist/src/core/token-inventory.js +0 -114
- package/dist/src/core/token-lint.d.ts +0 -53
- package/dist/src/core/token-lint.js +0 -131
- package/dist/src/core/token-manager.d.ts +0 -87
- package/dist/src/core/token-manager.js +0 -407
- package/dist/src/core/token-scaffold.d.ts +0 -36
- package/dist/src/core/token-scaffold.js +0 -73
- package/dist/src/core/token-sibling-sheets.d.ts +0 -46
- package/dist/src/core/token-sibling-sheets.js +0 -119
- package/dist/src/core/token-variant.d.ts +0 -90
- package/dist/src/core/token-variant.js +0 -327
- package/dist/src/core/toolchain-preflight.d.ts +0 -90
- package/dist/src/core/toolchain-preflight.js +0 -251
- package/dist/src/core/tree-cow.d.ts +0 -16
- package/dist/src/core/tree-cow.js +0 -71
- package/dist/src/core/tree-guard.d.ts +0 -35
- package/dist/src/core/tree-guard.js +0 -194
- package/dist/src/core/tree-store.d.ts +0 -143
- package/dist/src/core/tree-store.js +0 -478
- package/dist/src/core/typecheck-explain.d.ts +0 -93
- package/dist/src/core/typecheck-explain.js +0 -213
- package/dist/src/core/typecheck-shim.d.ts +0 -90
- package/dist/src/core/typecheck-shim.js +0 -508
- package/dist/src/core/typecheck.d.ts +0 -97
- package/dist/src/core/typecheck.js +0 -457
- package/dist/src/core/wire-destroy.d.ts +0 -25
- package/dist/src/core/wire-destroy.js +0 -126
- package/dist/src/core/wire-dom-fragment.d.ts +0 -44
- package/dist/src/core/wire-dom-fragment.js +0 -139
- package/dist/src/core/wire-init.d.ts +0 -28
- package/dist/src/core/wire-init.js +0 -219
- package/dist/src/core/wire-subscript.d.ts +0 -23
- package/dist/src/core/wire-subscript.js +0 -145
- package/dist/src/core/wire-utils.d.ts +0 -149
- package/dist/src/core/wire-utils.js +0 -338
- package/dist/src/core/xpcshell-appdir.d.ts +0 -157
- package/dist/src/core/xpcshell-appdir.js +0 -299
- package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
- package/dist/src/core/xpcshell-profile-dir.js +0 -45
- package/dist/src/errors/base.d.ts +0 -217
- package/dist/src/errors/base.js +0 -279
- package/dist/src/errors/build.d.ts +0 -92
- package/dist/src/errors/build.js +0 -166
- package/dist/src/errors/codes.d.ts +0 -74
- package/dist/src/errors/codes.js +0 -74
- package/dist/src/errors/config.d.ts +0 -17
- package/dist/src/errors/config.js +0 -39
- package/dist/src/errors/download.d.ts +0 -66
- package/dist/src/errors/download.js +0 -160
- package/dist/src/errors/furnace.d.ts +0 -20
- package/dist/src/errors/furnace.js +0 -28
- package/dist/src/errors/git.d.ts +0 -65
- package/dist/src/errors/git.js +0 -140
- package/dist/src/errors/patch.d.ts +0 -27
- package/dist/src/errors/patch.js +0 -52
- package/dist/src/errors/rebase.d.ts +0 -42
- package/dist/src/errors/rebase.js +0 -71
- package/dist/src/errors/run.d.ts +0 -16
- package/dist/src/errors/run.js +0 -22
- package/dist/src/index.d.ts +0 -42
- package/dist/src/index.js +0 -32
- package/dist/src/types/cli.d.ts +0 -14
- package/dist/src/types/commands/index.d.ts +0 -6
- package/dist/src/types/commands/index.js +0 -5
- package/dist/src/types/commands/options.d.ts +0 -1372
- package/dist/src/types/commands/options.js +0 -5
- package/dist/src/types/commands/patches.d.ts +0 -352
- package/dist/src/types/commands/patches.js +0 -5
- package/dist/src/types/commands/project.d.ts +0 -51
- package/dist/src/types/commands/project.js +0 -5
- package/dist/src/types/config.d.ts +0 -732
- package/dist/src/types/config.js +0 -15
- package/dist/src/types/furnace.d.ts +0 -422
- package/dist/src/types/furnace.js +0 -26
- package/dist/src/types/index.d.ts +0 -5
- package/dist/src/types/index.js +0 -5
- package/dist/src/types/json.d.ts +0 -22
- package/dist/src/types/json.js +0 -11
- package/dist/src/types/typecheck.d.ts +0 -51
- package/dist/src/types/typecheck.js +0 -14
- package/dist/src/utils/assert.d.ts +0 -34
- package/dist/src/utils/assert.js +0 -61
- package/dist/src/utils/build-info.d.ts +0 -30
- package/dist/src/utils/build-info.js +0 -99
- package/dist/src/utils/child-env.d.ts +0 -28
- package/dist/src/utils/child-env.js +0 -27
- package/dist/src/utils/concurrency.d.ts +0 -8
- package/dist/src/utils/concurrency.js +0 -32
- package/dist/src/utils/elapsed.d.ts +0 -2
- package/dist/src/utils/elapsed.js +0 -23
- package/dist/src/utils/errors.d.ts +0 -39
- package/dist/src/utils/errors.js +0 -67
- package/dist/src/utils/fs.d.ts +0 -113
- package/dist/src/utils/fs.js +0 -337
- package/dist/src/utils/hash.d.ts +0 -12
- package/dist/src/utils/hash.js +0 -16
- package/dist/src/utils/line-dispatch.d.ts +0 -15
- package/dist/src/utils/line-dispatch.js +0 -48
- package/dist/src/utils/logger.d.ts +0 -109
- package/dist/src/utils/logger.js +0 -270
- package/dist/src/utils/machine-output.d.ts +0 -12
- package/dist/src/utils/machine-output.js +0 -33
- package/dist/src/utils/options.d.ts +0 -155
- package/dist/src/utils/options.js +0 -312
- package/dist/src/utils/package-root.d.ts +0 -21
- package/dist/src/utils/package-root.js +0 -70
- package/dist/src/utils/parse.d.ts +0 -117
- package/dist/src/utils/parse.js +0 -214
- package/dist/src/utils/path-glob.d.ts +0 -15
- package/dist/src/utils/path-glob.js +0 -47
- package/dist/src/utils/paths.d.ts +0 -31
- package/dist/src/utils/paths.js +0 -80
- package/dist/src/utils/platform.d.ts +0 -9
- package/dist/src/utils/platform.js +0 -14
- package/dist/src/utils/process-group.d.ts +0 -42
- package/dist/src/utils/process-group.js +0 -190
- package/dist/src/utils/process-input.d.ts +0 -27
- package/dist/src/utils/process-input.js +0 -46
- package/dist/src/utils/process.d.ts +0 -293
- package/dist/src/utils/process.js +0 -593
- package/dist/src/utils/ps-duration.d.ts +0 -31
- package/dist/src/utils/ps-duration.js +0 -70
- package/dist/src/utils/regex.d.ts +0 -39
- package/dist/src/utils/regex.js +0 -109
- package/dist/src/utils/sleep.d.ts +0 -25
- package/dist/src/utils/sleep.js +0 -30
- package/dist/src/utils/stdio-drain.d.ts +0 -28
- package/dist/src/utils/stdio-drain.js +0 -54
- package/dist/src/utils/validation.d.ts +0 -182
- package/dist/src/utils/validation.js +0 -394
- package/docs/lifecycle-invariants.md +0 -523
- package/docs/run-logs.md +0 -122
- package/docs/verification-trees.md +0 -49
- /package/dist/src/{types/cli.js → cli/context.js} +0 -0
|
@@ -1,396 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/*
|
|
3
|
-
* Stale-build preflight for `fireforge test`.
|
|
4
|
-
*
|
|
5
|
-
* Without this preflight, an operator who edits engine chrome / packaged
|
|
6
|
-
* resources (`jar.mn` entries, `.xhtml`/`.mjs`/`.css` under chrome trees,
|
|
7
|
-
* pref files) and then runs `fireforge test <path>` only discovers the build
|
|
8
|
-
* is stale after xpcshell / mach test starts and errors out with
|
|
9
|
-
* `NS_ERROR_FILE_NOT_FOUND` against a `chrome://browser/content/…` URI,
|
|
10
|
-
* which reads as a test bug rather than a rebuild prompt. Scaffolding a new
|
|
11
|
-
* top-level chrome document plus an xpcshell test is the canonical case: the
|
|
12
|
-
* test file exists, the manifests are registered, but `dist/` still holds
|
|
13
|
-
* the pre-edit bundle and chrome URIs resolve to nothing.
|
|
14
|
-
*
|
|
15
|
-
* This preflight diffs engine HEAD (or workdir) against the last-build
|
|
16
|
-
* baseline (`.fireforge/last-build.json`), filters to paths that imply
|
|
17
|
-
* packaging, and returns a compact summary. `fireforge test` prints a
|
|
18
|
-
* warning up-front so the operator sees "you edited X, Y, Z since the last
|
|
19
|
-
* build, rerun with `--build` to refresh" before mach test launches.
|
|
20
|
-
* Detection stays advisory (warn-only) because a fork that rebuilds
|
|
21
|
-
* out-of-band (a separate `./mach build` invocation, an IDE plugin) can
|
|
22
|
-
* legitimately have a fresh `dist/` with no FireForge-recorded baseline
|
|
23
|
-
* update.
|
|
24
|
-
*/
|
|
25
|
-
import { stat } from 'node:fs/promises';
|
|
26
|
-
import { join, relative } from 'node:path';
|
|
27
|
-
import { toError } from '../utils/errors.js';
|
|
28
|
-
import { verbose, warn } from '../utils/logger.js';
|
|
29
|
-
import { normalizePathSlashes } from '../utils/paths.js';
|
|
30
|
-
import { isPackageablePath, isXpcomManifestPath } from './build-audit.js';
|
|
31
|
-
import { readBuildBaseline } from './build-baseline.js';
|
|
32
|
-
import { hashEngineFile } from './coverage-extend.js';
|
|
33
|
-
import { isTestManifestPath } from './coverage-records.js';
|
|
34
|
-
import { collectChangedEnginePaths, dropPathsMatchingFingerprints } from './engine-changes.js';
|
|
35
|
-
import { readLinkedAt } from './launchable-build.js';
|
|
36
|
-
import { isCompiledSourcePath } from './negative-control-compiled.js';
|
|
37
|
-
import { formatStaleExemptions, partitionStaleCandidates, } from './test-stale-exempt.js';
|
|
38
|
-
/** Cap on the number of changed paths rendered inline. */
|
|
39
|
-
const STALE_PATHS_LIMIT = 10;
|
|
40
|
-
/**
|
|
41
|
-
* Probes the engine tree for packageable changes since the last successful
|
|
42
|
-
* `fireforge build`. Returns a summary the `fireforge test` handler renders
|
|
43
|
-
* as an up-front warning when `--build` was not passed. The probe never
|
|
44
|
-
* refuses a malformed persisted baseline. Git failures and a missing baseline
|
|
45
|
-
* degrade to `stale: false` because they provide no comparison anchor.
|
|
46
|
-
*
|
|
47
|
-
* @param projectRoot Root directory of the project.
|
|
48
|
-
* @param engineDir Path to the engine directory.
|
|
49
|
-
*/
|
|
50
|
-
export async function checkStaleBuildForTest(projectRoot, engineDir) {
|
|
51
|
-
const baseline = await readBuildBaseline(projectRoot, 'refuse');
|
|
52
|
-
if (!baseline) {
|
|
53
|
-
return { stale: false, changedPaths: [], truncated: 0, baseline: undefined };
|
|
54
|
-
}
|
|
55
|
-
const changed = await collectChangedEnginePaths(engineDir, baseline, 'Stale-build preflight');
|
|
56
|
-
let packageable = changed.filter((path) => isPackageablePath(path)).sort();
|
|
57
|
-
// Content-hash comparison: when the baseline carries a fingerprint set,
|
|
58
|
-
// fold each candidate path through a live re-hash and drop paths whose
|
|
59
|
-
// current content matches the baseline. Baselines without
|
|
60
|
-
// `packageableFingerprints` fall through to the path-only comparison,
|
|
61
|
-
// where every workdir-dirty packageable path reports as stale.
|
|
62
|
-
//
|
|
63
|
-
// This matters because a project with imported patches plus
|
|
64
|
-
// Furnace-applied components always has a persistent workdir diff against
|
|
65
|
-
// HEAD, so `git diff --name-only HEAD` returns that diff on every build
|
|
66
|
-
// and the stale check fires immediately after a successful one. The
|
|
67
|
-
// fingerprints capture "these files had this content when the build ran".
|
|
68
|
-
// A path stays stale only when its live hash diverges.
|
|
69
|
-
packageable = await dropPathsMatchingFingerprints(engineDir, packageable, baseline.packageableFingerprints);
|
|
70
|
-
// Edits the runtime already serves (symlinked into the objdir, or test
|
|
71
|
-
// files `mach test` restages at dispatch) cannot make the packaging stale.
|
|
72
|
-
const { stale, exempt } = await partitionStaleCandidates(engineDir, packageable);
|
|
73
|
-
if (stale.length === 0) {
|
|
74
|
-
return { stale: false, changedPaths: [], truncated: 0, baseline, exempt };
|
|
75
|
-
}
|
|
76
|
-
const head = stale.slice(0, STALE_PATHS_LIMIT);
|
|
77
|
-
const truncated = Math.max(0, stale.length - head.length);
|
|
78
|
-
return { stale: true, changedPaths: head, truncated, baseline, exempt };
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Formats a human-readable warning body from a {@link StaleBuildResult}.
|
|
82
|
-
* Kept separate from the probe so test code can assert on the structured
|
|
83
|
-
* result without matching the rendered copy.
|
|
84
|
-
*/
|
|
85
|
-
export function formatStaleBuildWarning(result) {
|
|
86
|
-
const tail = result.truncated > 0 ? `, … (+${result.truncated} more)` : '';
|
|
87
|
-
const list = result.changedPaths.join(', ') + tail;
|
|
88
|
-
const exempt = result.exempt ?? [];
|
|
89
|
-
const exemptLine = exempt.length > 0
|
|
90
|
-
? `\nNot counted as stale, because the runtime already serves them: ${formatStaleExemptions(exempt)}.`
|
|
91
|
-
: '';
|
|
92
|
-
return (`Engine tree has changed since the last successful fireforge build (${list}).\n` +
|
|
93
|
-
'The current obj-*/dist/ bundle may not reflect those edits. If your test reads ' +
|
|
94
|
-
'packaged chrome / jar.mn resources, rerun with "fireforge test --build" (or ' +
|
|
95
|
-
'"fireforge build --ui") first. Passing --build skips this check.' +
|
|
96
|
-
exemptLine);
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Path segments whose compiled sources never reach the binary under test
|
|
100
|
-
* (gtests, cppunittests, CI config YAML): an edit there must not make the
|
|
101
|
-
* browser read as stale.
|
|
102
|
-
*/
|
|
103
|
-
const NON_RUNTIME_SEGMENTS = new Set(['test', 'tests', 'gtest', 'testing', 'taskcluster']);
|
|
104
|
-
/**
|
|
105
|
-
* Changed compiled sources (C++, Rust, IDL, WebIDL, IPDL, StaticPrefList
|
|
106
|
-
* YAML, …) whose mtime is newer than the launchable build's last link.
|
|
107
|
-
* `mach build faster` compiles none of them, so such a run tests the
|
|
108
|
-
* binary from before the edit, which reads as a failed fix rather than a
|
|
109
|
-
* stale build. Candidates are the engine paths changed since the baseline
|
|
110
|
-
* plus every workdir edit; a fork's persistent patch diff is older than any
|
|
111
|
-
* build that followed it, so only genuine post-build edits remain.
|
|
112
|
-
* Returns undefined when there is nothing to compare against (no
|
|
113
|
-
* launchable binary).
|
|
114
|
-
*
|
|
115
|
-
* @param engineDir - Absolute engine directory
|
|
116
|
-
* @param baseline - Last-build baseline, when one exists
|
|
117
|
-
* @param launchablePath - Engine-relative launchable binary path
|
|
118
|
-
*/
|
|
119
|
-
export async function findCompiledSourcesNewerThanBinary(engineDir, baseline, launchablePath) {
|
|
120
|
-
if (launchablePath === undefined)
|
|
121
|
-
return undefined;
|
|
122
|
-
const linked = await readLinkedAt(engineDir, launchablePath);
|
|
123
|
-
if (linked === undefined)
|
|
124
|
-
return undefined;
|
|
125
|
-
const changed = await collectChangedEnginePaths(engineDir, baseline, 'Stale-compiled preflight');
|
|
126
|
-
const candidates = changed.filter((path) => isCompiledSourcePath(path) &&
|
|
127
|
-
!path.split('/').some((segment) => NON_RUNTIME_SEGMENTS.has(segment)));
|
|
128
|
-
const paths = [];
|
|
129
|
-
for (const path of candidates) {
|
|
130
|
-
try {
|
|
131
|
-
const { mtimeMs } = await stat(join(engineDir, path));
|
|
132
|
-
if (mtimeMs > linked.mtimeMs)
|
|
133
|
-
paths.push(path);
|
|
134
|
-
}
|
|
135
|
-
catch {
|
|
136
|
-
// A deleted source cannot be newer than anything; the build that
|
|
137
|
-
// drops it is the stale-build check's business.
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
return {
|
|
141
|
-
paths: paths.sort(),
|
|
142
|
-
linkedPath: normalizePathSlashes(relative(engineDir, linked.path)),
|
|
143
|
-
linkedAt: new Date(linked.mtimeMs),
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* The `stale-compiled` refusal (or, under `--allow-stale-build`, warning).
|
|
148
|
-
*
|
|
149
|
-
* @param result - A non-empty {@link StaleCompiledResult}
|
|
150
|
-
*/
|
|
151
|
-
export function formatStaleCompiledRefusal(result) {
|
|
152
|
-
const head = result.paths.slice(0, STALE_PATHS_LIMIT).map((path) => `engine/${path}`);
|
|
153
|
-
const truncated = result.paths.length - head.length;
|
|
154
|
-
const list = head.join(', ') + (truncated > 0 ? `, … (+${truncated} more)` : '');
|
|
155
|
-
return (`Compiled sources changed after the binary under test was linked ` +
|
|
156
|
-
`(engine/${result.linkedPath}, ${result.linkedAt.toISOString()}): ${list}.\n` +
|
|
157
|
-
'The run would test the binary from before those edits, so a red reads as a failed fix ' +
|
|
158
|
-
'and a green proves nothing about them. Run "fireforge build" first, or rerun with ' +
|
|
159
|
-
'"fireforge test --build", which escalates to a full mach build when compiled sources ' +
|
|
160
|
-
'changed. --allow-stale-build turns this refusal into a warning.');
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* The notice that explains why a `test --build` pre-test build escalated
|
|
164
|
-
* to a full `mach build` for stale compiled sources.
|
|
165
|
-
*
|
|
166
|
-
* @param result - A non-empty {@link StaleCompiledResult}
|
|
167
|
-
*/
|
|
168
|
-
export function formatStaleCompiledBuildNotice(result) {
|
|
169
|
-
const head = result.paths.slice(0, STALE_PATHS_LIMIT).map((path) => `engine/${path}`);
|
|
170
|
-
const truncated = result.paths.length - head.length;
|
|
171
|
-
return (`Compiled sources changed after the binary was linked (${head.join(', ')}` +
|
|
172
|
-
`${truncated > 0 ? `, … (+${truncated} more)` : ''}); escalating this pre-test build to a ` +
|
|
173
|
-
'full mach build, since mach build faster compiles nothing.');
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* Sentinel returned by {@link findUncoveredRequestPaths} when a full-suite
|
|
177
|
-
* request (no paths) is checked against a scoped coverage record.
|
|
178
|
-
*/
|
|
179
|
-
export const FULL_SUITE_REQUEST = '(entire suite)';
|
|
180
|
-
/**
|
|
181
|
-
* Compares the requested test paths against the packaged runtime's coverage
|
|
182
|
-
* claim recorded in the baseline. Returns the requested paths the recorded
|
|
183
|
-
* packaging does not cover: the runs that would dispatch against missing
|
|
184
|
-
* `_tests/` support fixtures and hang rather than fail.
|
|
185
|
-
*
|
|
186
|
-
* Coverage semantics: an absent claim and `'full'` cover everything. A
|
|
187
|
-
* scoped list covers a request path when the request equals a covered entry
|
|
188
|
-
* or sits beneath it. A file claim never widens to its containing directory:
|
|
189
|
-
* sibling files can belong to different manifests or harnesses, and a dot in
|
|
190
|
-
* a directory name does not make it a file. Both sides are normalized to forward
|
|
191
|
-
* slashes so Windows-style CLI input cannot defeat the prefix rule (baseline
|
|
192
|
-
* paths are POSIX by convention). A request with no paths is a full-suite
|
|
193
|
-
* run and is never covered by a scoped list, so the
|
|
194
|
-
* {@link FULL_SUITE_REQUEST} sentinel is returned and the refusal can name
|
|
195
|
-
* it.
|
|
196
|
-
*/
|
|
197
|
-
export function findUncoveredRequestPaths(coverage, requestedPaths) {
|
|
198
|
-
if (coverage === undefined || coverage === 'full') {
|
|
199
|
-
return [];
|
|
200
|
-
}
|
|
201
|
-
const covered = coverage.map(normalizeCoveragePath).filter((p) => p.length > 0);
|
|
202
|
-
if (requestedPaths.length === 0) {
|
|
203
|
-
return [FULL_SUITE_REQUEST];
|
|
204
|
-
}
|
|
205
|
-
return requestedPaths.filter((requested) => {
|
|
206
|
-
const path = normalizeCoveragePath(requested);
|
|
207
|
-
return !covered.some((c) => path === c || path.startsWith(`${c}/`));
|
|
208
|
-
});
|
|
209
|
-
}
|
|
210
|
-
/** Normalizes a path for coverage comparison: forward slashes, no trailing slash. */
|
|
211
|
-
function normalizeCoveragePath(path) {
|
|
212
|
-
return normalizePathSlashes(path.trim()).replace(/\/+$/, '');
|
|
213
|
-
}
|
|
214
|
-
/**
|
|
215
|
-
* Test manifests changed since the recorded build that sit in (or above)
|
|
216
|
-
* the directory of an uncovered request path, i.e. the manifests that
|
|
217
|
-
* explain why this run needs coverage the build never claimed.
|
|
218
|
-
*
|
|
219
|
-
* Best-effort: a probe failure returns an empty list, so the refusal
|
|
220
|
-
* degrades to exactly its previous text rather than failing differently.
|
|
221
|
-
*
|
|
222
|
-
* @param engineDir - Absolute engine directory
|
|
223
|
-
* @param baseline - Last successful build's baseline
|
|
224
|
-
* @param uncovered - Uncovered request paths from
|
|
225
|
-
* {@link findUncoveredRequestPaths}
|
|
226
|
-
* @returns Engine-relative manifest paths, capped at
|
|
227
|
-
* {@link STALE_PATHS_LIMIT}
|
|
228
|
-
*/
|
|
229
|
-
export async function findChangedTestManifestsForPaths(engineDir, baseline, uncovered) {
|
|
230
|
-
let changed;
|
|
231
|
-
try {
|
|
232
|
-
changed = await collectChangedEnginePaths(engineDir, baseline, 'Coverage refusal');
|
|
233
|
-
}
|
|
234
|
-
catch (error) {
|
|
235
|
-
verbose(`Coverage refusal: manifest probe failed — ${toError(error).message}`);
|
|
236
|
-
return [];
|
|
237
|
-
}
|
|
238
|
-
const requestDirs = uncovered.filter((p) => p !== FULL_SUITE_REQUEST).map(normalizeCoveragePath);
|
|
239
|
-
const hits = changed.filter((path) => {
|
|
240
|
-
if (!isTestManifestPath(path))
|
|
241
|
-
return false;
|
|
242
|
-
const dir = path.slice(0, Math.max(0, path.lastIndexOf('/')));
|
|
243
|
-
return requestDirs.some((req) => req === dir || req.startsWith(`${dir}/`));
|
|
244
|
-
});
|
|
245
|
-
return hits.slice(0, STALE_PATHS_LIMIT);
|
|
246
|
-
}
|
|
247
|
-
/** The refusal's sentence naming who wrote the coverage record. */
|
|
248
|
-
function formatCoverageHolder(detail) {
|
|
249
|
-
if (detail.recorder === undefined && detail.recordedBy === undefined)
|
|
250
|
-
return '';
|
|
251
|
-
const what = detail.recordedBy !== undefined ? `"${detail.recordedBy}"` : 'a build';
|
|
252
|
-
const when = detail.builtAt !== undefined ? ` at ${detail.builtAt}` : '';
|
|
253
|
-
const recorder = detail.recorder;
|
|
254
|
-
const who = recorder === undefined
|
|
255
|
-
? ''
|
|
256
|
-
: ` (pid ${recorder.pid}${detail.recorderAlive === true ? ', still running' : ''}` +
|
|
257
|
-
(recorder.sessionId !== undefined ? `, session ${recorder.sessionId}` : '') +
|
|
258
|
-
`, invocation ${recorder.invocationId})`;
|
|
259
|
-
return ` The current record was written by ${what}${when}${who}.`;
|
|
260
|
-
}
|
|
261
|
-
/**
|
|
262
|
-
* Formats the refusal shown when a non-`--build` run requests paths the
|
|
263
|
-
* packaged runtime's scoped `test --build` coverage does not include. It is
|
|
264
|
-
* enforced on every such run, with or without `--allow-stale-build`. Kept
|
|
265
|
-
* separate from the matcher so tests can pin structure and copy
|
|
266
|
-
* independently (same split as {@link formatStaleBuildWarning}).
|
|
267
|
-
*
|
|
268
|
-
* @param uncovered - Request paths the recorded packaging does not cover
|
|
269
|
-
* @param coverage - The recorded scoped coverage claim
|
|
270
|
-
* @param changedManifests - Test manifests changed since the recorded
|
|
271
|
-
* build that explain an uncovered path (from
|
|
272
|
-
* {@link findChangedTestManifestsForPaths}). Omitted or empty renders
|
|
273
|
-
* nothing
|
|
274
|
-
* @param detail - See {@link CoverageRefusalDetail}
|
|
275
|
-
*/
|
|
276
|
-
export function formatTestCoverageRefusal(uncovered, coverage, changedManifests = [], detail = {}) {
|
|
277
|
-
const cap = (paths) => {
|
|
278
|
-
const head = paths.slice(0, STALE_PATHS_LIMIT);
|
|
279
|
-
const truncated = paths.length - head.length;
|
|
280
|
-
return head.join(', ') + (truncated > 0 ? `, … (+${truncated} more)` : '');
|
|
281
|
-
};
|
|
282
|
-
const rebuildTargets = uncovered.filter((p) => p !== FULL_SUITE_REQUEST);
|
|
283
|
-
// Per-path retention is the default, so rebuilding only the uncovered
|
|
284
|
-
// paths costs no one else's claim. Saying so is what keeps a
|
|
285
|
-
// peer from rebuilding everything "to be safe".
|
|
286
|
-
const keepHint = rebuildTargets.length > 0
|
|
287
|
-
? ' That scoped build keeps every other recorded path whose own staging inputs (manifest directory and the fixtures its manifest names) and engine/mozconfig are unchanged.'
|
|
288
|
-
: '';
|
|
289
|
-
const rebuildHint = rebuildTargets.length > 0
|
|
290
|
-
? `Rerun "fireforge test --build ${rebuildTargets.slice(0, STALE_PATHS_LIMIT).join(' ')}" to package them (or "fireforge test --build-only ..." to package without running), or run "fireforge build" for full coverage.${keepHint}`
|
|
291
|
-
: 'Run "fireforge build" (or a path-less "fireforge test --build") for full coverage first.';
|
|
292
|
-
// Why this run needs new coverage, when a changed manifest explains it: a
|
|
293
|
-
// manifest that gained an entry is not covered by a build claim recorded
|
|
294
|
-
// for other paths, and a browser-chrome claim never covers xpcshell.
|
|
295
|
-
const manifestLine = changedManifests.length > 0
|
|
296
|
-
? ` This run needs coverage the recorded build never claimed because a test manifest changed since it: ${changedManifests.map((m) => `engine/${m}`).join(', ')} — a manifest that gained an entry stages new support fixtures, and a claim recorded for other paths (or another harness) does not cover them.`
|
|
297
|
-
: '';
|
|
298
|
-
const affected = Object.entries(detail.changedInputs ?? {}).filter(([, files]) => files.length > 0);
|
|
299
|
-
const affectedLine = affected.length > 0
|
|
300
|
-
? ` Staging inputs changed since the full build this record carries forward: ${affected.map(([path, files]) => `${path} (${cap(files)})`).join('; ')}.`
|
|
301
|
-
: '';
|
|
302
|
-
const scope = detail.carriesFullAnchor
|
|
303
|
-
? `${cap(coverage)}, plus earlier full coverage for paths whose own staging inputs are unchanged`
|
|
304
|
-
: cap(coverage);
|
|
305
|
-
return (`The packaged test runtime was produced by a scoped "fireforge test --build" covering only: ${scope}.\n` +
|
|
306
|
-
`The requested run needs ${cap(uncovered)}, which that packaging does not cover — support ` +
|
|
307
|
-
'fixtures for those manifests may be missing from obj-*/_tests/, and the run can hang ' +
|
|
308
|
-
`rather than fail.${formatCoverageHolder(detail)}${affectedLine}${manifestLine} ${rebuildHint} ` +
|
|
309
|
-
'(--allow-stale-build does not bypass this check — it accepts stale content, not missing coverage.)');
|
|
310
|
-
}
|
|
311
|
-
/**
|
|
312
|
-
* Probes whether any `components.conf` changed since the last full
|
|
313
|
-
* `fireforge build`, i.e. since the compiled StaticComponents table was
|
|
314
|
-
* last regenerated. `components.conf` entries bake into compiled code. A
|
|
315
|
-
* scoped `test --build` packages the file but the child process resolves the
|
|
316
|
-
* old table and fails with `NS_ERROR_MALFORMED_URI` that reads as a test
|
|
317
|
-
* bug.
|
|
318
|
-
*
|
|
319
|
-
* The diff anchors to the baseline's `staticComponentsBaseline` (the last
|
|
320
|
-
* full build's engine HEAD SHA), not the baseline's own `engineHeadSha`,
|
|
321
|
-
* which a scoped `test --build` advances. Dirty candidates are hash-checked
|
|
322
|
-
* against the anchor's fingerprints so only genuine content divergence
|
|
323
|
-
* counts. No baseline or no anchor means fresh. Never throws: the probes it
|
|
324
|
-
* composes degrade to verbose lines and empty results on git failure,
|
|
325
|
-
* matching {@link checkStaleBuildForTest}.
|
|
326
|
-
*/
|
|
327
|
-
export async function checkStaticComponentsStale(engineDir, baseline) {
|
|
328
|
-
const anchor = baseline?.staticComponentsBaseline;
|
|
329
|
-
if (baseline === undefined || anchor === undefined) {
|
|
330
|
-
return { stale: false, changedManifests: [] };
|
|
331
|
-
}
|
|
332
|
-
const changed = await collectChangedEnginePaths(engineDir, { ...baseline, engineHeadSha: anchor.engineHeadSha }, 'Static-components preflight');
|
|
333
|
-
const changedManifests = [];
|
|
334
|
-
for (const path of changed.filter((p) => isXpcomManifestPath(p))) {
|
|
335
|
-
const recorded = anchor.fingerprints[path];
|
|
336
|
-
const live = await hashEngineFile(engineDir, path);
|
|
337
|
-
if (recorded === undefined || live === undefined || recorded !== live) {
|
|
338
|
-
changedManifests.push(path);
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
return { stale: changedManifests.length > 0, changedManifests };
|
|
342
|
-
}
|
|
343
|
-
/**
|
|
344
|
-
* Formats the refusal shown when a run would dispatch against a stale
|
|
345
|
-
* compiled StaticComponents table. Same probe/copy split as
|
|
346
|
-
* {@link formatStaleBuildWarning} so tests can pin structure and wording
|
|
347
|
-
* independently.
|
|
348
|
-
*/
|
|
349
|
-
export function formatStaticComponentsRefusal(changedManifests) {
|
|
350
|
-
const head = changedManifests.slice(0, STALE_PATHS_LIMIT);
|
|
351
|
-
const truncated = changedManifests.length - head.length;
|
|
352
|
-
const list = head.join(', ') + (truncated > 0 ? `, … (+${truncated} more)` : '');
|
|
353
|
-
return (`The compiled StaticComponents table is stale: ${list} changed since the last full "fireforge build".\n` +
|
|
354
|
-
'components.conf registrations are baked into compiled code that only a FULL build ' +
|
|
355
|
-
'regenerates — a scoped "fireforge test --build" repackages files but the child process ' +
|
|
356
|
-
'resolves the old component table and fails with NS_ERROR_MALFORMED_URI that reads as a ' +
|
|
357
|
-
'test bug. Run "fireforge build" first. (--allow-stale-build does not bypass this check — ' +
|
|
358
|
-
'it accepts stale packaged content, not a stale compiled registration. Pass ' +
|
|
359
|
-
'--allow-stale-components only if you rebuilt out-of-band and accept the risk.)');
|
|
360
|
-
}
|
|
361
|
-
/**
|
|
362
|
-
* Formats the post-mutation advisory printed by `fireforge reset` /
|
|
363
|
-
* `fireforge import` when `components.conf` diverged from the last full
|
|
364
|
-
* build. Same probe as {@link formatStaticComponentsRefusal},
|
|
365
|
-
* different moment: this fires at mutation time so the operator learns a
|
|
366
|
-
* full build is needed before the next gate run refuses.
|
|
367
|
-
*/
|
|
368
|
-
export function formatPostMutationStaticComponentsWarning(changedManifests) {
|
|
369
|
-
const head = changedManifests.slice(0, STALE_PATHS_LIMIT);
|
|
370
|
-
const truncated = changedManifests.length - head.length;
|
|
371
|
-
const list = head.join(', ') + (truncated > 0 ? `, … (+${truncated} more)` : '');
|
|
372
|
-
return (`components.conf changed relative to the last full "fireforge build": ${list}.\n` +
|
|
373
|
-
'The compiled StaticComponents table in obj-* no longer matches the tree, so the next ' +
|
|
374
|
-
'"fireforge test" will require a full "fireforge build" first — a scoped ' +
|
|
375
|
-
'"fireforge test --build" cannot regenerate the compiled table.');
|
|
376
|
-
}
|
|
377
|
-
/**
|
|
378
|
-
* Post-mutation advisory used by `fireforge reset` / `fireforge import`:
|
|
379
|
-
* warns (never throws, never blocks) when `components.conf` now differs
|
|
380
|
-
* from the last full-build anchor. Silently skipped when no baseline or
|
|
381
|
-
* anchor exists, or when any probe fails.
|
|
382
|
-
*/
|
|
383
|
-
export async function warnIfStaticComponentsStale(projectRoot, engineDir) {
|
|
384
|
-
try {
|
|
385
|
-
const baseline = await readBuildBaseline(projectRoot);
|
|
386
|
-
if (baseline === undefined)
|
|
387
|
-
return;
|
|
388
|
-
const result = await checkStaticComponentsStale(engineDir, baseline);
|
|
389
|
-
if (!result.stale)
|
|
390
|
-
return;
|
|
391
|
-
warn(formatPostMutationStaticComponentsWarning(result.changedManifests));
|
|
392
|
-
}
|
|
393
|
-
catch (error) {
|
|
394
|
-
verbose(`Static-components post-mutation check skipped: ${toError(error).message}`);
|
|
395
|
-
}
|
|
396
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Edits the stale-build preflight must not count. A test file the build
|
|
3
|
-
* never packages is restaged by `mach test` at dispatch, and a file whose
|
|
4
|
-
* every objdir copy is a symlink back to the edited source is already what
|
|
5
|
-
* the runtime reads. Refusing on either made every iteration on a test (or
|
|
6
|
-
* on symlinked chrome) pay a packaging pass or reach for
|
|
7
|
-
* `--allow-stale-build`, the flag whose refusal text says not to.
|
|
8
|
-
*/
|
|
9
|
-
import { type InstallManifestIndex } from './objdir-install-manifests.js';
|
|
10
|
-
/** A changed path the preflight does not count as stale, and why. */
|
|
11
|
-
export interface StaleExemption {
|
|
12
|
-
path: string;
|
|
13
|
-
/**
|
|
14
|
-
* `symlinked`: every objdir copy is a symlink to the edited source.
|
|
15
|
-
* `test-only`: a test file the build does not package, restaged at dispatch.
|
|
16
|
-
*/
|
|
17
|
-
why: 'symlinked' | 'test-only';
|
|
18
|
-
}
|
|
19
|
-
/** The single `obj-*` directory under the engine, or undefined when zero or several exist. */
|
|
20
|
-
export declare function findSingleObjDir(engineDir: string): Promise<string | undefined>;
|
|
21
|
-
/**
|
|
22
|
-
* The objdir's install-manifest index, or undefined when there is no single
|
|
23
|
-
* objdir or nothing in it is readable.
|
|
24
|
-
* @param engineDir - Absolute engine directory
|
|
25
|
-
*/
|
|
26
|
-
export declare function loadEngineInstallIndex(engineDir: string): Promise<InstallManifestIndex | undefined>;
|
|
27
|
-
/**
|
|
28
|
-
* Splits changed packageable paths into the ones that make the packaged
|
|
29
|
-
* runtime stale and the ones it already serves. Without a readable objdir
|
|
30
|
-
* index every path stays stale, the behaviour before the exemption existed.
|
|
31
|
-
*
|
|
32
|
-
* @param engineDir - Absolute engine directory
|
|
33
|
-
* @param paths - Changed engine-relative paths, already fingerprint-filtered
|
|
34
|
-
*/
|
|
35
|
-
export declare function partitionStaleCandidates(engineDir: string, paths: readonly string[]): Promise<{
|
|
36
|
-
stale: string[];
|
|
37
|
-
exempt: StaleExemption[];
|
|
38
|
-
}>;
|
|
39
|
-
/** Renders exemptions for a notice or refusal: `a (symlinked), b (test file)`. */
|
|
40
|
-
export declare function formatStaleExemptions(exempt: readonly StaleExemption[], limit?: number): string;
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Edits the stale-build preflight must not count. A test file the build
|
|
4
|
-
* never packages is restaged by `mach test` at dispatch, and a file whose
|
|
5
|
-
* every objdir copy is a symlink back to the edited source is already what
|
|
6
|
-
* the runtime reads. Refusing on either made every iteration on a test (or
|
|
7
|
-
* on symlinked chrome) pay a packaging pass or reach for
|
|
8
|
-
* `--allow-stale-build`, the flag whose refusal text says not to.
|
|
9
|
-
*/
|
|
10
|
-
import { readdir } from 'node:fs/promises';
|
|
11
|
-
import { isTestPath } from './build-audit-resolve.js';
|
|
12
|
-
import { classifyRuntimeDelivery, loadInstallManifestIndex, } from './objdir-install-manifests.js';
|
|
13
|
-
/** The single `obj-*` directory under the engine, or undefined when zero or several exist. */
|
|
14
|
-
export async function findSingleObjDir(engineDir) {
|
|
15
|
-
try {
|
|
16
|
-
const entries = await readdir(engineDir, { withFileTypes: true });
|
|
17
|
-
const objDirs = entries.filter((entry) => entry.isDirectory() && entry.name.startsWith('obj-'));
|
|
18
|
-
return objDirs.length === 1 ? objDirs[0]?.name : undefined;
|
|
19
|
-
}
|
|
20
|
-
catch {
|
|
21
|
-
return undefined;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* The objdir's install-manifest index, or undefined when there is no single
|
|
26
|
-
* objdir or nothing in it is readable.
|
|
27
|
-
* @param engineDir - Absolute engine directory
|
|
28
|
-
*/
|
|
29
|
-
export async function loadEngineInstallIndex(engineDir) {
|
|
30
|
-
const objDir = await findSingleObjDir(engineDir);
|
|
31
|
-
return objDir === undefined ? undefined : loadInstallManifestIndex(engineDir, objDir);
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Splits changed packageable paths into the ones that make the packaged
|
|
35
|
-
* runtime stale and the ones it already serves. Without a readable objdir
|
|
36
|
-
* index every path stays stale, the behaviour before the exemption existed.
|
|
37
|
-
*
|
|
38
|
-
* @param engineDir - Absolute engine directory
|
|
39
|
-
* @param paths - Changed engine-relative paths, already fingerprint-filtered
|
|
40
|
-
*/
|
|
41
|
-
export async function partitionStaleCandidates(engineDir, paths) {
|
|
42
|
-
if (paths.length === 0)
|
|
43
|
-
return { stale: [], exempt: [] };
|
|
44
|
-
const index = await loadEngineInstallIndex(engineDir);
|
|
45
|
-
if (index === undefined)
|
|
46
|
-
return { stale: [...paths], exempt: [] };
|
|
47
|
-
const stale = [];
|
|
48
|
-
const exempt = [];
|
|
49
|
-
for (const path of paths) {
|
|
50
|
-
const delivery = await classifyRuntimeDelivery(index, engineDir, path);
|
|
51
|
-
if (delivery === 'live')
|
|
52
|
-
exempt.push({ path, why: 'symlinked' });
|
|
53
|
-
else if (delivery === 'at-dispatch' || (delivery === 'unlisted' && isTestPath(path))) {
|
|
54
|
-
exempt.push({ path, why: 'test-only' });
|
|
55
|
-
}
|
|
56
|
-
else
|
|
57
|
-
stale.push(path);
|
|
58
|
-
}
|
|
59
|
-
return { stale, exempt };
|
|
60
|
-
}
|
|
61
|
-
/** Renders exemptions for a notice or refusal: `a (symlinked), b (test file)`. */
|
|
62
|
-
export function formatStaleExemptions(exempt, limit = 10) {
|
|
63
|
-
const head = exempt
|
|
64
|
-
.slice(0, limit)
|
|
65
|
-
.map(({ path, why }) => why === 'symlinked'
|
|
66
|
-
? `${path} (objdir symlink to the source)`
|
|
67
|
-
: `${path} (test file, restaged at dispatch)`);
|
|
68
|
-
const extra = exempt.length - head.length;
|
|
69
|
-
return head.join(', ') + (extra > 0 ? `, … (+${extra} more)` : '');
|
|
70
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Safe stale test-harness symlink repair for xpcshell setup failures.
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Removes one stale xpcshell `_tests` symlink when mach reports a
|
|
6
|
-
* FileExistsError during test installation.
|
|
7
|
-
*
|
|
8
|
-
* The guard rails are narrow: only quoted FileExistsError
|
|
9
|
-
* destinations inside the active objdir's `_tests` tree are considered, and
|
|
10
|
-
* only when lstat confirms the destination itself is a symlink.
|
|
11
|
-
*/
|
|
12
|
-
export declare function tryRepairStaleXpcshellTestSymlink(engineDir: string, objDir: string | undefined, output: string): Promise<boolean>;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Safe stale test-harness symlink repair for xpcshell setup failures.
|
|
4
|
-
*/
|
|
5
|
-
import { isAbsolute, relative, resolve } from 'node:path';
|
|
6
|
-
import { isSymlink, removeFile } from '../utils/fs.js';
|
|
7
|
-
import { warn } from '../utils/logger.js';
|
|
8
|
-
function extractFileExistsDestination(output) {
|
|
9
|
-
const match = /FileExistsError[^\n]*File exists:\s+(?:(?:'[^']*'|"[^"]*")\s*->\s*)?['"]([^'"]+)['"]/i.exec(output);
|
|
10
|
-
return match?.[1];
|
|
11
|
-
}
|
|
12
|
-
function isInsideDirectory(parent, candidate) {
|
|
13
|
-
const rel = relative(parent, candidate);
|
|
14
|
-
return rel.length === 0 || (!rel.startsWith('..') && !isAbsolute(rel));
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Removes one stale xpcshell `_tests` symlink when mach reports a
|
|
18
|
-
* FileExistsError during test installation.
|
|
19
|
-
*
|
|
20
|
-
* The guard rails are narrow: only quoted FileExistsError
|
|
21
|
-
* destinations inside the active objdir's `_tests` tree are considered, and
|
|
22
|
-
* only when lstat confirms the destination itself is a symlink.
|
|
23
|
-
*/
|
|
24
|
-
export async function tryRepairStaleXpcshellTestSymlink(engineDir, objDir, output) {
|
|
25
|
-
if (!objDir || !/FileExistsError/i.test(output))
|
|
26
|
-
return false;
|
|
27
|
-
const destination = extractFileExistsDestination(output);
|
|
28
|
-
if (!destination)
|
|
29
|
-
return false;
|
|
30
|
-
const resolvedDestination = resolve(destination);
|
|
31
|
-
const testsRoot = resolve(engineDir, objDir, '_tests');
|
|
32
|
-
if (!isInsideDirectory(testsRoot, resolvedDestination))
|
|
33
|
-
return false;
|
|
34
|
-
if (!(await isSymlink(resolvedDestination)))
|
|
35
|
-
return false;
|
|
36
|
-
await removeFile(resolvedDestination);
|
|
37
|
-
warn(`Removed stale xpcshell harness symlink under ${objDir}/_tests and retrying mach test once: ${relative(resolve(engineDir), resolvedDestination)}`);
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Operator-facing triage for the `timed out … with no output` / `Ran 0
|
|
3
|
-
* checks` stall: the shape where the harness dies before any test output.
|
|
4
|
-
*
|
|
5
|
-
* Split out of `test-harness-crash.ts`, which classifies runs. This module
|
|
6
|
-
* only renders advice about one already-classified shape. Keeping the two
|
|
7
|
-
* apart matters because the census below carries claims of unequal
|
|
8
|
-
* evidential strength, and the rules for editing it are not the rules for
|
|
9
|
-
* editing a classifier: a pattern in the classifier is either matched by
|
|
10
|
-
* the output or not, while a cause in the census is an assertion about the
|
|
11
|
-
* world that an operator will act on.
|
|
12
|
-
*
|
|
13
|
-
* Everything here is pure. The platform and the probed display state are
|
|
14
|
-
* injected, so unit tests need no mocking.
|
|
15
|
-
*/
|
|
16
|
-
import type { DisplaySleepState } from './display-state.js';
|
|
17
|
-
import type { HarnessCrashSignature } from './test-harness-signature.js';
|
|
18
|
-
/**
|
|
19
|
-
* Optional hint appended to the harness-crash message when a headed run on
|
|
20
|
-
* macOS died at the no-output timeout.
|
|
21
|
-
*
|
|
22
|
-
* When `displayState` names a measured display state, the hint states it as
|
|
23
|
-
* fact rather than as one of three possibilities, which is what probing is
|
|
24
|
-
* for: an operator staring at a bare test failure should not have to
|
|
25
|
-
* rediscover that their machine dimmed. `caffeinate` is described accurately
|
|
26
|
-
* (it prevents sleep, and cannot wake an already-sleeping display), so
|
|
27
|
-
* operators are not sent to a command that could not have helped them.
|
|
28
|
-
*
|
|
29
|
-
* Pure. The platform and the probed state are injected so unit tests need
|
|
30
|
-
* no mocking.
|
|
31
|
-
*
|
|
32
|
-
* @param signature - The recognized crash shape
|
|
33
|
-
* @param context - Run mode, platform, and the probed display state
|
|
34
|
-
* @returns The hint text, or undefined when the shape does not apply
|
|
35
|
-
*/
|
|
36
|
-
export declare function headedNoOutputTimeoutHint(signature: HarnessCrashSignature, context: {
|
|
37
|
-
headless: boolean;
|
|
38
|
-
platform: string;
|
|
39
|
-
displayState?: DisplaySleepState;
|
|
40
|
-
}): string | undefined;
|
|
41
|
-
/**
|
|
42
|
-
* Verdict-line note for a headed no-output stall whose display was
|
|
43
|
-
* measured asleep. Returned as the parenthetical the verdict line carries,
|
|
44
|
-
* so the one greppable line an automated consumer reads already names the
|
|
45
|
-
* environmental cause instead of a bare `FAIL reason=crash`.
|
|
46
|
-
*/
|
|
47
|
-
export declare function headedDisplayAsleepVerdictNote(signature: HarnessCrashSignature, context: {
|
|
48
|
-
headless: boolean;
|
|
49
|
-
platform: string;
|
|
50
|
-
displayState: DisplaySleepState;
|
|
51
|
-
}): string | undefined;
|