@hominis/fireforge 0.54.0 → 0.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +287 -6
- package/README.md +51 -17
- package/dist/bin/fireforge.js +34 -129
- package/dist/build-info.json +4 -4
- package/dist/src/check/check.js +394 -0
- package/dist/src/check/gate.js +448 -0
- package/dist/src/check/index.js +10 -0
- package/dist/src/check/record.js +155 -0
- package/dist/src/cli/command.js +286 -0
- package/dist/src/cli/output.js +96 -0
- package/dist/src/cli/program.js +231 -0
- package/dist/src/cli/stdio.js +59 -0
- package/dist/src/cli/version.js +99 -0
- package/dist/src/commands/bootstrap.js +17 -102
- package/dist/src/commands/build.js +34 -438
- package/dist/src/commands/check.js +44 -157
- package/dist/src/commands/config.js +50 -226
- package/dist/src/commands/discard.js +38 -215
- package/dist/src/commands/doctor.js +29 -456
- package/dist/src/commands/download.js +35 -499
- package/dist/src/commands/export.js +42 -431
- package/dist/src/commands/furnace.js +220 -0
- package/dist/src/commands/gate.js +127 -0
- package/dist/src/commands/import.js +44 -445
- package/dist/src/commands/index.js +86 -0
- package/dist/src/commands/lint.js +44 -546
- package/dist/src/commands/merge-driver.js +56 -0
- package/dist/src/commands/migrate.js +75 -0
- package/dist/src/commands/override.js +43 -0
- package/dist/src/commands/package.js +48 -77
- package/dist/src/commands/patch.js +221 -0
- package/dist/src/commands/re-export.js +55 -332
- package/dist/src/commands/rebase.js +69 -0
- package/dist/src/commands/register.js +62 -103
- package/dist/src/commands/reset.js +28 -91
- package/dist/src/commands/resolve.js +20 -167
- package/dist/src/commands/restore.js +19 -0
- package/dist/src/commands/run.js +60 -420
- package/dist/src/commands/setup.js +78 -90
- package/dist/src/commands/status.js +44 -413
- package/dist/src/commands/test.js +97 -422
- package/dist/src/commands/token.js +185 -228
- package/dist/src/commands/typecheck.js +59 -208
- package/dist/src/commands/verify.js +28 -334
- package/dist/src/commands/version.js +14 -0
- package/dist/src/commands/watch.js +20 -218
- package/dist/src/commands/wire.js +60 -349
- package/dist/src/commands/workspace.js +117 -0
- package/dist/src/config/edit.js +237 -0
- package/dist/src/config/index.js +15 -0
- package/dist/src/config/load.js +59 -0
- package/dist/src/config/previous.js +404 -0
- package/dist/src/config/schema/build.js +63 -0
- package/dist/src/config/schema/check.js +113 -0
- package/dist/src/config/schema/common.js +71 -0
- package/dist/src/config/schema/export-queue.js +36 -0
- package/dist/src/config/schema/firefox.js +69 -0
- package/dist/src/config/schema/gate.js +199 -0
- package/dist/src/config/schema/identity.js +55 -0
- package/dist/src/config/schema/index.js +45 -0
- package/dist/src/config/schema/lint.js +297 -0
- package/dist/src/config/schema/policy.js +111 -0
- package/dist/src/config/schema/source.js +90 -0
- package/dist/src/config/schema/test.js +17 -0
- package/dist/src/config/schema/toolchains.js +17 -0
- package/dist/src/config/schema/typecheck.js +29 -0
- package/dist/src/config/schema/wire.js +15 -0
- package/dist/src/diff/apply.js +129 -0
- package/dist/src/diff/index.js +16 -0
- package/dist/src/diff/model.js +267 -0
- package/dist/src/diff/query.js +65 -0
- package/dist/src/doctor/index.js +240 -0
- package/dist/src/engine/archive.js +396 -0
- package/dist/src/engine/audit.js +66 -0
- package/dist/src/engine/build.js +150 -0
- package/dist/src/engine/hostLocks.js +66 -0
- package/dist/src/engine/index.js +26 -0
- package/dist/src/engine/installManifests.js +147 -0
- package/dist/src/engine/mach.js +97 -0
- package/dist/src/engine/machHints.js +80 -0
- package/dist/src/engine/mozconfig.js +110 -0
- package/dist/src/engine/objdir.js +124 -0
- package/dist/src/engine/package.js +169 -0
- package/dist/src/engine/pin.js +12 -0
- package/dist/src/engine/pool.js +423 -0
- package/dist/src/engine/pristine.js +281 -0
- package/dist/src/engine/python.js +68 -0
- package/dist/src/engine/resourceGuard.js +582 -0
- package/dist/src/engine/run.js +259 -0
- package/dist/src/engine/smoke.js +204 -0
- package/dist/src/engine/staleness.js +229 -0
- package/dist/src/engine/watch.js +82 -0
- package/dist/src/engine/workspace.js +85 -0
- package/dist/src/furnace/config.js +360 -0
- package/dist/src/furnace/deploy.js +414 -0
- package/dist/src/furnace/diff.js +59 -0
- package/dist/src/furnace/edit.js +64 -0
- package/dist/src/furnace/fragments.js +53 -0
- package/dist/src/furnace/index.js +19 -0
- package/dist/src/furnace/operations.js +283 -0
- package/dist/src/furnace/registration.js +220 -0
- package/dist/src/furnace/scaffold.js +311 -0
- package/dist/src/furnace/typing.js +252 -0
- package/dist/src/furnace/validate.js +662 -0
- package/dist/src/git/apply.js +129 -0
- package/dist/src/git/diff.js +143 -0
- package/dist/src/git/index.js +33 -0
- package/dist/src/git/objects.js +201 -0
- package/dist/src/git/refs.js +85 -0
- package/dist/src/git/repo.js +222 -0
- package/dist/src/git/run.js +242 -0
- package/dist/src/git/status.js +156 -0
- package/dist/src/kernel/errors.js +123 -0
- package/dist/src/kernel/fs.js +515 -0
- package/dist/src/kernel/glob.js +63 -0
- package/dist/src/kernel/hash.js +28 -0
- package/dist/src/kernel/journal.js +524 -0
- package/dist/src/kernel/json-edit.js +198 -0
- package/dist/src/kernel/json.js +101 -0
- package/dist/src/kernel/lock.js +589 -0
- package/dist/src/kernel/log.js +154 -0
- package/dist/src/kernel/process/identity.js +313 -0
- package/dist/src/kernel/process/index.js +8 -0
- package/dist/src/kernel/process/listing.js +128 -0
- package/dist/src/kernel/process/spawn.js +430 -0
- package/dist/src/kernel/process/tree.js +301 -0
- package/dist/src/kernel/schema.js +308 -0
- package/dist/src/kernel/signals.js +171 -0
- package/dist/src/kernel/text.js +151 -0
- package/dist/src/kernel/time.js +83 -0
- package/dist/src/kernel/tty.js +84 -0
- package/dist/src/lint/cache.js +77 -0
- package/dist/src/lint/checkjs.js +400 -0
- package/dist/src/lint/index.js +3 -0
- package/dist/src/lint/input.js +100 -0
- package/dist/src/lint/report.js +107 -0
- package/dist/src/lint/rule.js +41 -0
- package/dist/src/lint/rules/css.js +308 -0
- package/dist/src/lint/rules/javascript.js +299 -0
- package/dist/src/lint/rules/jsdoc.js +249 -0
- package/dist/src/lint/rules/license.js +93 -0
- package/dist/src/lint/rules/policy.js +201 -0
- package/dist/src/lint/rules/registration.js +264 -0
- package/dist/src/lint/rules/size.js +299 -0
- package/dist/src/lint/run.js +126 -0
- package/dist/src/lint/shim.js +323 -0
- package/dist/src/lint/typescript.js +186 -0
- package/dist/src/lint/waivers.js +93 -0
- package/dist/src/mode/changes.js +264 -0
- package/dist/src/mode/diagnose.js +173 -0
- package/dist/src/mode/export.js +147 -0
- package/dist/src/mode/index.js +23 -0
- package/dist/src/mode/migrate.js +181 -0
- package/dist/src/mode/previousWaivers.js +206 -0
- package/dist/src/mode/pristine.js +61 -0
- package/dist/src/mode/rebase.js +197 -0
- package/dist/src/mode/report.js +157 -0
- package/dist/src/mode/setup.js +103 -0
- package/dist/src/mode/tracked.js +116 -0
- package/dist/src/mode/upgrade.js +281 -0
- package/dist/src/mode/watch.js +83 -0
- package/dist/src/mode/workspace.js +189 -0
- package/dist/src/mozbuild/index.js +6 -0
- package/dist/src/mozbuild/jar.js +366 -0
- package/dist/src/mozbuild/mozbuild.js +321 -0
- package/dist/src/mozbuild/paths.js +96 -0
- package/dist/src/mozbuild/references.js +39 -0
- package/dist/src/mozbuild/testManifest.js +343 -0
- package/dist/src/mozbuild/text.js +142 -0
- package/dist/src/project/changes.js +145 -0
- package/dist/src/project/checkout.js +66 -0
- package/dist/src/project/index.js +11 -0
- package/dist/src/project/license.js +119 -0
- package/dist/src/project/project.js +111 -0
- package/dist/src/project/state.js +85 -0
- package/dist/src/project/tracked.js +1 -0
- package/dist/src/queue/apply.js +270 -0
- package/dist/src/queue/attribute.js +159 -0
- package/dist/src/queue/baseline.js +409 -0
- package/dist/src/queue/capture.js +298 -0
- package/dist/src/queue/changes.js +234 -0
- package/dist/src/queue/index.js +50 -0
- package/dist/src/queue/manifest.js +341 -0
- package/dist/src/queue/operations.js +454 -0
- package/dist/src/queue/placement.js +220 -0
- package/dist/src/queue/queue.js +359 -0
- package/dist/src/queue/restore.js +103 -0
- package/dist/src/queue/session.js +685 -0
- package/dist/src/queue/status.js +137 -0
- package/dist/src/register/files.js +39 -0
- package/dist/src/register/index.js +8 -0
- package/dist/src/register/js.js +217 -0
- package/dist/src/register/register.js +359 -0
- package/dist/src/register/wire.js +146 -0
- package/dist/src/source/adopt.js +99 -0
- package/dist/src/source/changes.js +132 -0
- package/dist/src/source/edit.js +278 -0
- package/dist/src/source/export.js +70 -0
- package/dist/src/source/groups.js +131 -0
- package/dist/src/source/index.js +20 -0
- package/dist/src/source/materialize.js +382 -0
- package/dist/src/source/merge.js +255 -0
- package/dist/src/source/objects.js +102 -0
- package/dist/src/source/previous.js +166 -0
- package/dist/src/source/records.js +138 -0
- package/dist/src/source/refresh.js +264 -0
- package/dist/src/source/tree.js +337 -0
- package/dist/src/syntax/css.js +215 -0
- package/dist/src/syntax/fragments.js +63 -0
- package/dist/src/syntax/index.js +10 -0
- package/dist/src/syntax/js.js +270 -0
- package/dist/src/test/classify.js +826 -0
- package/dist/src/test/control.js +236 -0
- package/dist/src/test/host.js +266 -0
- package/dist/src/test/index.js +11 -0
- package/dist/src/test/plan.js +347 -0
- package/dist/src/test/rawLog.js +138 -0
- package/dist/src/test/run.js +404 -0
- package/dist/src/test/verdict.js +420 -0
- package/dist/src/test/xpcshell.js +143 -0
- package/dist/src/tokens/add.js +304 -0
- package/dist/src/tokens/coverage.js +65 -0
- package/dist/src/tokens/css.js +58 -0
- package/dist/src/tokens/index.js +12 -0
- package/dist/src/tokens/lint.js +96 -0
- package/dist/src/tokens/model.js +118 -0
- package/dist/src/tokens/settings.js +87 -0
- package/dist/src/tokens/siblings.js +104 -0
- package/dist/src/typecheck/explain.js +123 -0
- package/dist/src/typecheck/index.js +8 -0
- package/dist/src/typecheck/typecheck.js +332 -0
- package/docs/README.md +23 -28
- package/docs/authoring.md +97 -0
- package/docs/configuration.md +307 -692
- package/docs/exit-codes.md +76 -94
- package/docs/furnace.md +113 -181
- package/docs/gate.md +205 -0
- package/docs/getting-started.md +165 -0
- package/docs/machine-output.md +201 -277
- package/docs/migrating.md +261 -0
- package/docs/patch-workflow.md +163 -653
- package/docs/quality.md +220 -0
- package/docs/source-workflow.md +228 -0
- package/docs/testing.md +101 -712
- package/docs/workspaces.md +187 -0
- package/package.json +22 -30
- package/templates/configs/common.mozconfig +8 -2
- package/templates/configs/darwin.mozconfig +6 -7
- package/templates/configs/linux.mozconfig +5 -8
- package/templates/configs/win32.mozconfig +3 -9
- package/dist/bin/fireforge.d.ts +0 -9
- package/dist/src/cli-usage-error.d.ts +0 -46
- package/dist/src/cli-usage-error.js +0 -81
- package/dist/src/cli.d.ts +0 -41
- package/dist/src/cli.js +0 -380
- package/dist/src/commands/bootstrap-checks.d.ts +0 -16
- package/dist/src/commands/bootstrap-checks.js +0 -66
- package/dist/src/commands/bootstrap.d.ts +0 -10
- package/dist/src/commands/build-prelock.d.ts +0 -20
- package/dist/src/commands/build-prelock.js +0 -50
- package/dist/src/commands/build.d.ts +0 -13
- package/dist/src/commands/check-report.d.ts +0 -41
- package/dist/src/commands/check-report.js +0 -91
- package/dist/src/commands/check-run.d.ts +0 -33
- package/dist/src/commands/check-run.js +0 -112
- package/dist/src/commands/check-steps.d.ts +0 -75
- package/dist/src/commands/check-steps.js +0 -200
- package/dist/src/commands/check.d.ts +0 -32
- package/dist/src/commands/config.d.ts +0 -13
- package/dist/src/commands/declarations-report.d.ts +0 -49
- package/dist/src/commands/declarations-report.js +0 -83
- package/dist/src/commands/destructive-decision.d.ts +0 -19
- package/dist/src/commands/destructive-decision.js +0 -31
- package/dist/src/commands/discard.d.ts +0 -12
- package/dist/src/commands/doctor-check-core.d.ts +0 -110
- package/dist/src/commands/doctor-check-core.js +0 -24
- package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
- package/dist/src/commands/doctor-engine-eslint.js +0 -17
- package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
- package/dist/src/commands/doctor-external-toolchains.js +0 -56
- package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
- package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
- package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
- package/dist/src/commands/doctor-furnace-jar.js +0 -44
- package/dist/src/commands/doctor-furnace.d.ts +0 -8
- package/dist/src/commands/doctor-furnace.js +0 -514
- package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
- package/dist/src/commands/doctor-macos-sdk.js +0 -158
- package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
- package/dist/src/commands/doctor-orphaned-harness.js +0 -98
- package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
- package/dist/src/commands/doctor-patch-manifest.js +0 -156
- package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
- package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
- package/dist/src/commands/doctor-source-pin.d.ts +0 -29
- package/dist/src/commands/doctor-source-pin.js +0 -91
- package/dist/src/commands/doctor-working-tree.d.ts +0 -27
- package/dist/src/commands/doctor-working-tree.js +0 -89
- package/dist/src/commands/doctor.d.ts +0 -49
- package/dist/src/commands/download.d.ts +0 -11
- package/dist/src/commands/export-adopt-check.d.ts +0 -37
- package/dist/src/commands/export-adopt-check.js +0 -97
- package/dist/src/commands/export-all.d.ts +0 -11
- package/dist/src/commands/export-all.js +0 -361
- package/dist/src/commands/export-flow.d.ts +0 -124
- package/dist/src/commands/export-flow.js +0 -423
- package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
- package/dist/src/commands/export-placement-conflicts.js +0 -75
- package/dist/src/commands/export-placement-gate.d.ts +0 -42
- package/dist/src/commands/export-placement-gate.js +0 -107
- package/dist/src/commands/export-placement-policy.d.ts +0 -22
- package/dist/src/commands/export-placement-policy.js +0 -54
- package/dist/src/commands/export-shared.d.ts +0 -152
- package/dist/src/commands/export-shared.js +0 -396
- package/dist/src/commands/export-staged-registration.d.ts +0 -46
- package/dist/src/commands/export-staged-registration.js +0 -91
- package/dist/src/commands/export.d.ts +0 -13
- package/dist/src/commands/forward-import-remedy.d.ts +0 -31
- package/dist/src/commands/forward-import-remedy.js +0 -62
- package/dist/src/commands/furnace/apply.d.ts +0 -8
- package/dist/src/commands/furnace/apply.js +0 -327
- package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
- package/dist/src/commands/furnace/authoring-config.js +0 -19
- package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
- package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
- package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
- package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
- package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
- package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
- package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
- package/dist/src/commands/furnace/chrome-doc.js +0 -365
- package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
- package/dist/src/commands/furnace/create-browser-test.js +0 -179
- package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
- package/dist/src/commands/furnace/create-dry-run.js +0 -107
- package/dist/src/commands/furnace/create-features.d.ts +0 -24
- package/dist/src/commands/furnace/create-features.js +0 -55
- package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
- package/dist/src/commands/furnace/create-mochikit.js +0 -75
- package/dist/src/commands/furnace/create-readback.d.ts +0 -22
- package/dist/src/commands/furnace/create-readback.js +0 -32
- package/dist/src/commands/furnace/create-templates.d.ts +0 -119
- package/dist/src/commands/furnace/create-templates.js +0 -283
- package/dist/src/commands/furnace/create-validation.d.ts +0 -6
- package/dist/src/commands/furnace/create-validation.js +0 -59
- package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
- package/dist/src/commands/furnace/create-xpcshell.js +0 -80
- package/dist/src/commands/furnace/create.d.ts +0 -24
- package/dist/src/commands/furnace/create.js +0 -407
- package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
- package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
- package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
- package/dist/src/commands/furnace/deploy-named.js +0 -107
- package/dist/src/commands/furnace/deploy.d.ts +0 -9
- package/dist/src/commands/furnace/deploy.js +0 -218
- package/dist/src/commands/furnace/diff.d.ts +0 -11
- package/dist/src/commands/furnace/diff.js +0 -238
- package/dist/src/commands/furnace/index.d.ts +0 -4
- package/dist/src/commands/furnace/index.js +0 -282
- package/dist/src/commands/furnace/init.d.ts +0 -11
- package/dist/src/commands/furnace/init.js +0 -287
- package/dist/src/commands/furnace/list.d.ts +0 -8
- package/dist/src/commands/furnace/list.js +0 -104
- package/dist/src/commands/furnace/override.d.ts +0 -16
- package/dist/src/commands/furnace/override.js +0 -454
- package/dist/src/commands/furnace/preview.d.ts +0 -19
- package/dist/src/commands/furnace/preview.js +0 -349
- package/dist/src/commands/furnace/refresh.d.ts +0 -10
- package/dist/src/commands/furnace/refresh.js +0 -303
- package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
- package/dist/src/commands/furnace/remove-mutations.js +0 -168
- package/dist/src/commands/furnace/remove-state.d.ts +0 -20
- package/dist/src/commands/furnace/remove-state.js +0 -60
- package/dist/src/commands/furnace/remove.d.ts +0 -8
- package/dist/src/commands/furnace/remove.js +0 -415
- package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
- package/dist/src/commands/furnace/rename-browser-test.js +0 -68
- package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
- package/dist/src/commands/furnace/rename-dry-run.js +0 -127
- package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
- package/dist/src/commands/furnace/rename-helpers.js +0 -85
- package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
- package/dist/src/commands/furnace/rename-registrations.js +0 -98
- package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
- package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
- package/dist/src/commands/furnace/rename.d.ts +0 -6
- package/dist/src/commands/furnace/rename.js +0 -400
- package/dist/src/commands/furnace/scan.d.ts +0 -14
- package/dist/src/commands/furnace/scan.js +0 -192
- package/dist/src/commands/furnace/status.d.ts +0 -7
- package/dist/src/commands/furnace/status.js +0 -209
- package/dist/src/commands/furnace/sync.d.ts +0 -12
- package/dist/src/commands/furnace/sync.js +0 -145
- package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
- package/dist/src/commands/furnace/test-file-name.js +0 -39
- package/dist/src/commands/furnace/validate-report.d.ts +0 -45
- package/dist/src/commands/furnace/validate-report.js +0 -91
- package/dist/src/commands/furnace/validate.d.ts +0 -8
- package/dist/src/commands/furnace/validate.js +0 -309
- package/dist/src/commands/furnace/validation-output.d.ts +0 -47
- package/dist/src/commands/furnace/validation-output.js +0 -161
- package/dist/src/commands/import.d.ts +0 -11
- package/dist/src/commands/lint-per-patch.d.ts +0 -10
- package/dist/src/commands/lint-per-patch.js +0 -428
- package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
- package/dist/src/commands/lint-per-run-checkjs.js +0 -102
- package/dist/src/commands/lint-report.d.ts +0 -25
- package/dist/src/commands/lint-report.js +0 -76
- package/dist/src/commands/lint.d.ts +0 -47
- package/dist/src/commands/manifest.d.ts +0 -38
- package/dist/src/commands/manifest.js +0 -68
- package/dist/src/commands/package.d.ts +0 -11
- package/dist/src/commands/park.d.ts +0 -22
- package/dist/src/commands/park.js +0 -232
- package/dist/src/commands/patch/compact.d.ts +0 -28
- package/dist/src/commands/patch/compact.js +0 -208
- package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
- package/dist/src/commands/patch/delete-gap-notice.js +0 -48
- package/dist/src/commands/patch/delete.d.ts +0 -28
- package/dist/src/commands/patch/delete.js +0 -131
- package/dist/src/commands/patch/entry-projection.d.ts +0 -13
- package/dist/src/commands/patch/entry-projection.js +0 -24
- package/dist/src/commands/patch/index.d.ts +0 -16
- package/dist/src/commands/patch/index.js +0 -52
- package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
- package/dist/src/commands/patch/lint-ignore-from.js +0 -141
- package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
- package/dist/src/commands/patch/lint-ignore.js +0 -261
- package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
- package/dist/src/commands/patch/move-files-adopt.js +0 -65
- package/dist/src/commands/patch/move-files-create.d.ts +0 -19
- package/dist/src/commands/patch/move-files-create.js +0 -187
- package/dist/src/commands/patch/move-files-into.d.ts +0 -65
- package/dist/src/commands/patch/move-files-into.js +0 -325
- package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
- package/dist/src/commands/patch/move-files-retire.js +0 -91
- package/dist/src/commands/patch/move-files.d.ts +0 -28
- package/dist/src/commands/patch/move-files.js +0 -224
- package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
- package/dist/src/commands/patch/move-size-tier.js +0 -66
- package/dist/src/commands/patch/patch-context.d.ts +0 -40
- package/dist/src/commands/patch/patch-context.js +0 -51
- package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
- package/dist/src/commands/patch/removal-created-files.js +0 -83
- package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
- package/dist/src/commands/patch/removal-dependents.js +0 -133
- package/dist/src/commands/patch/rename.d.ts +0 -35
- package/dist/src/commands/patch/rename.js +0 -378
- package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
- package/dist/src/commands/patch/reorder-projection.js +0 -49
- package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
- package/dist/src/commands/patch/reorder-shift.js +0 -307
- package/dist/src/commands/patch/reorder.d.ts +0 -34
- package/dist/src/commands/patch/reorder.js +0 -375
- package/dist/src/commands/patch/reserve.d.ts +0 -33
- package/dist/src/commands/patch/reserve.js +0 -152
- package/dist/src/commands/patch/retire.d.ts +0 -34
- package/dist/src/commands/patch/retire.js +0 -133
- package/dist/src/commands/patch/split-plan.d.ts +0 -125
- package/dist/src/commands/patch/split-plan.js +0 -313
- package/dist/src/commands/patch/split-staged.d.ts +0 -108
- package/dist/src/commands/patch/split-staged.js +0 -202
- package/dist/src/commands/patch/split.d.ts +0 -43
- package/dist/src/commands/patch/split.js +0 -367
- package/dist/src/commands/patch/stage.d.ts +0 -34
- package/dist/src/commands/patch/stage.js +0 -153
- package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
- package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
- package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
- package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
- package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
- package/dist/src/commands/patch/staged-dependency-from.js +0 -114
- package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
- package/dist/src/commands/patch/staged-dependency-remove.js +0 -117
- package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -15
- package/dist/src/commands/patch/staged-dependency-validate.js +0 -49
- package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
- package/dist/src/commands/patch/staged-dependency.js +0 -248
- package/dist/src/commands/patch/tier.d.ts +0 -34
- package/dist/src/commands/patch/tier.js +0 -125
- package/dist/src/commands/patch-rename-map.d.ts +0 -30
- package/dist/src/commands/patch-rename-map.js +0 -54
- package/dist/src/commands/pending-resolution.d.ts +0 -15
- package/dist/src/commands/pending-resolution.js +0 -25
- package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
- package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
- package/dist/src/commands/re-export-adjacent.d.ts +0 -111
- package/dist/src/commands/re-export-adjacent.js +0 -267
- package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
- package/dist/src/commands/re-export-bulk-scan.js +0 -233
- package/dist/src/commands/re-export-drift.d.ts +0 -110
- package/dist/src/commands/re-export-drift.js +0 -358
- package/dist/src/commands/re-export-files.d.ts +0 -15
- package/dist/src/commands/re-export-files.js +0 -307
- package/dist/src/commands/re-export-hunks.d.ts +0 -35
- package/dist/src/commands/re-export-hunks.js +0 -220
- package/dist/src/commands/re-export-lint.d.ts +0 -137
- package/dist/src/commands/re-export-lint.js +0 -303
- package/dist/src/commands/re-export-options.d.ts +0 -29
- package/dist/src/commands/re-export-options.js +0 -191
- package/dist/src/commands/re-export-preflight.d.ts +0 -23
- package/dist/src/commands/re-export-preflight.js +0 -159
- package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
- package/dist/src/commands/re-export-purity-scope.js +0 -137
- package/dist/src/commands/re-export-register.d.ts +0 -12
- package/dist/src/commands/re-export-register.js +0 -99
- package/dist/src/commands/re-export-removed.d.ts +0 -15
- package/dist/src/commands/re-export-removed.js +0 -94
- package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
- package/dist/src/commands/re-export-retired-declarations.js +0 -113
- package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
- package/dist/src/commands/re-export-scan-owner.js +0 -116
- package/dist/src/commands/re-export-scan.d.ts +0 -72
- package/dist/src/commands/re-export-scan.js +0 -265
- package/dist/src/commands/re-export-single.d.ts +0 -39
- package/dist/src/commands/re-export-single.js +0 -388
- package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
- package/dist/src/commands/re-export-stale-registrations.js +0 -106
- package/dist/src/commands/re-export-summary.d.ts +0 -28
- package/dist/src/commands/re-export-summary.js +0 -36
- package/dist/src/commands/re-export.d.ts +0 -8
- package/dist/src/commands/rebase/abort.d.ts +0 -7
- package/dist/src/commands/rebase/abort.js +0 -67
- package/dist/src/commands/rebase/confirm.d.ts +0 -42
- package/dist/src/commands/rebase/confirm.js +0 -36
- package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
- package/dist/src/commands/rebase/conflict-summary.js +0 -37
- package/dist/src/commands/rebase/continue.d.ts +0 -7
- package/dist/src/commands/rebase/continue.js +0 -119
- package/dist/src/commands/rebase/index.d.ts +0 -22
- package/dist/src/commands/rebase/index.js +0 -209
- package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
- package/dist/src/commands/rebase/patch-loop.js +0 -289
- package/dist/src/commands/rebase/summary.d.ts +0 -8
- package/dist/src/commands/rebase/summary.js +0 -47
- package/dist/src/commands/register.d.ts +0 -13
- package/dist/src/commands/reset.d.ts +0 -11
- package/dist/src/commands/resolve.d.ts +0 -36
- package/dist/src/commands/run.d.ts +0 -10
- package/dist/src/commands/setup-support.d.ts +0 -35
- package/dist/src/commands/setup-support.js +0 -386
- package/dist/src/commands/setup.d.ts +0 -11
- package/dist/src/commands/source.d.ts +0 -9
- package/dist/src/commands/source.js +0 -120
- package/dist/src/commands/status-check.d.ts +0 -87
- package/dist/src/commands/status-check.js +0 -161
- package/dist/src/commands/status-json.d.ts +0 -45
- package/dist/src/commands/status-json.js +0 -97
- package/dist/src/commands/status-output.d.ts +0 -23
- package/dist/src/commands/status-output.js +0 -231
- package/dist/src/commands/status-ownership.d.ts +0 -54
- package/dist/src/commands/status-ownership.js +0 -59
- package/dist/src/commands/status-scope.d.ts +0 -37
- package/dist/src/commands/status-scope.js +0 -54
- package/dist/src/commands/status.d.ts +0 -11
- package/dist/src/commands/test-appdir.d.ts +0 -6
- package/dist/src/commands/test-appdir.js +0 -29
- package/dist/src/commands/test-browser-preflight.d.ts +0 -28
- package/dist/src/commands/test-browser-preflight.js +0 -197
- package/dist/src/commands/test-build-furnace.d.ts +0 -21
- package/dist/src/commands/test-build-furnace.js +0 -53
- package/dist/src/commands/test-build-phase.d.ts +0 -29
- package/dist/src/commands/test-build-phase.js +0 -290
- package/dist/src/commands/test-checkjs.d.ts +0 -3
- package/dist/src/commands/test-checkjs.js +0 -35
- package/dist/src/commands/test-control-restore.d.ts +0 -40
- package/dist/src/commands/test-control-restore.js +0 -86
- package/dist/src/commands/test-diagnose.d.ts +0 -23
- package/dist/src/commands/test-diagnose.js +0 -317
- package/dist/src/commands/test-dispatch.d.ts +0 -39
- package/dist/src/commands/test-dispatch.js +0 -281
- package/dist/src/commands/test-furnace-reach.d.ts +0 -37
- package/dist/src/commands/test-furnace-reach.js +0 -132
- package/dist/src/commands/test-harness-env.d.ts +0 -23
- package/dist/src/commands/test-harness-env.js +0 -81
- package/dist/src/commands/test-harness-teardown.d.ts +0 -62
- package/dist/src/commands/test-harness-teardown.js +0 -128
- package/dist/src/commands/test-modes.d.ts +0 -57
- package/dist/src/commands/test-modes.js +0 -158
- package/dist/src/commands/test-multi-verdict.d.ts +0 -61
- package/dist/src/commands/test-multi-verdict.js +0 -112
- package/dist/src/commands/test-orchestrate.d.ts +0 -63
- package/dist/src/commands/test-orchestrate.js +0 -274
- package/dist/src/commands/test-perf-scope.d.ts +0 -50
- package/dist/src/commands/test-perf-scope.js +0 -138
- package/dist/src/commands/test-prelock.d.ts +0 -61
- package/dist/src/commands/test-prelock.js +0 -301
- package/dist/src/commands/test-register.d.ts +0 -4
- package/dist/src/commands/test-register.js +0 -181
- package/dist/src/commands/test-results.d.ts +0 -71
- package/dist/src/commands/test-results.js +0 -79
- package/dist/src/commands/test-run.d.ts +0 -89
- package/dist/src/commands/test-run.js +0 -251
- package/dist/src/commands/test-shards.d.ts +0 -114
- package/dist/src/commands/test-shards.js +0 -272
- package/dist/src/commands/test-stale-gate.d.ts +0 -52
- package/dist/src/commands/test-stale-gate.js +0 -165
- package/dist/src/commands/test-verdict.d.ts +0 -92
- package/dist/src/commands/test-verdict.js +0 -162
- package/dist/src/commands/test.d.ts +0 -22
- package/dist/src/commands/token-coverage.d.ts +0 -5
- package/dist/src/commands/token-coverage.js +0 -170
- package/dist/src/commands/token-lint.d.ts +0 -14
- package/dist/src/commands/token-lint.js +0 -151
- package/dist/src/commands/token-list.d.ts +0 -26
- package/dist/src/commands/token-list.js +0 -153
- package/dist/src/commands/token.d.ts +0 -14
- package/dist/src/commands/tree.d.ts +0 -19
- package/dist/src/commands/tree.js +0 -341
- package/dist/src/commands/typecheck.d.ts +0 -56
- package/dist/src/commands/verify-scope.d.ts +0 -28
- package/dist/src/commands/verify-scope.js +0 -67
- package/dist/src/commands/verify.d.ts +0 -58
- package/dist/src/commands/watch.d.ts +0 -9
- package/dist/src/commands/wire.d.ts +0 -13
- package/dist/src/core/ast-utils.d.ts +0 -73
- package/dist/src/core/ast-utils.js +0 -105
- package/dist/src/core/brand-validation.d.ts +0 -7
- package/dist/src/core/brand-validation.js +0 -14
- package/dist/src/core/branding.d.ts +0 -86
- package/dist/src/core/branding.js +0 -371
- package/dist/src/core/browser-wire.d.ts +0 -48
- package/dist/src/core/browser-wire.js +0 -133
- package/dist/src/core/build-audit-platform.d.ts +0 -67
- package/dist/src/core/build-audit-platform.js +0 -373
- package/dist/src/core/build-audit-registration.d.ts +0 -80
- package/dist/src/core/build-audit-registration.js +0 -181
- package/dist/src/core/build-audit-resolve.d.ts +0 -78
- package/dist/src/core/build-audit-resolve.js +0 -240
- package/dist/src/core/build-audit-skip.d.ts +0 -57
- package/dist/src/core/build-audit-skip.js +0 -112
- package/dist/src/core/build-audit-transforms.d.ts +0 -23
- package/dist/src/core/build-audit-transforms.js +0 -92
- package/dist/src/core/build-audit.d.ts +0 -93
- package/dist/src/core/build-audit.js +0 -633
- package/dist/src/core/build-baseline-types.d.ts +0 -225
- package/dist/src/core/build-baseline-types.js +0 -10
- package/dist/src/core/build-baseline-validate.d.ts +0 -32
- package/dist/src/core/build-baseline-validate.js +0 -173
- package/dist/src/core/build-baseline.d.ts +0 -103
- package/dist/src/core/build-baseline.js +0 -261
- package/dist/src/core/build-jar-escalation.d.ts +0 -61
- package/dist/src/core/build-jar-escalation.js +0 -125
- package/dist/src/core/build-overwrite-guard.d.ts +0 -92
- package/dist/src/core/build-overwrite-guard.js +0 -235
- package/dist/src/core/build-prepare.d.ts +0 -83
- package/dist/src/core/build-prepare.js +0 -414
- package/dist/src/core/build-run-record.d.ts +0 -74
- package/dist/src/core/build-run-record.js +0 -136
- package/dist/src/core/checkjs-support-heads.d.ts +0 -41
- package/dist/src/core/checkjs-support-heads.js +0 -104
- package/dist/src/core/component-source-guard.d.ts +0 -20
- package/dist/src/core/component-source-guard.js +0 -68
- package/dist/src/core/config-mutate.d.ts +0 -16
- package/dist/src/core/config-mutate.js +0 -76
- package/dist/src/core/config-paths.d.ts +0 -16
- package/dist/src/core/config-paths.js +0 -106
- package/dist/src/core/config-state.d.ts +0 -16
- package/dist/src/core/config-state.js +0 -141
- package/dist/src/core/config-validate-build-audit.d.ts +0 -8
- package/dist/src/core/config-validate-build-audit.js +0 -80
- package/dist/src/core/config-validate-check.d.ts +0 -8
- package/dist/src/core/config-validate-check.js +0 -219
- package/dist/src/core/config-validate-file-size.d.ts +0 -15
- package/dist/src/core/config-validate-file-size.js +0 -154
- package/dist/src/core/config-validate-history.d.ts +0 -11
- package/dist/src/core/config-validate-history.js +0 -38
- package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
- package/dist/src/core/config-validate-patch-policy.js +0 -274
- package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
- package/dist/src/core/config-validate-test-toolchains.js +0 -133
- package/dist/src/core/config-validate-token-scales.d.ts +0 -9
- package/dist/src/core/config-validate-token-scales.js +0 -92
- package/dist/src/core/config-validate.d.ts +0 -11
- package/dist/src/core/config-validate.js +0 -503
- package/dist/src/core/config.d.ts +0 -92
- package/dist/src/core/config.js +0 -169
- package/dist/src/core/coverage-dispatch.d.ts +0 -24
- package/dist/src/core/coverage-dispatch.js +0 -44
- package/dist/src/core/coverage-extend.d.ts +0 -89
- package/dist/src/core/coverage-extend.js +0 -239
- package/dist/src/core/coverage-records.d.ts +0 -107
- package/dist/src/core/coverage-records.js +0 -383
- package/dist/src/core/destructive.d.ts +0 -144
- package/dist/src/core/destructive.js +0 -182
- package/dist/src/core/diff-hunks.d.ts +0 -73
- package/dist/src/core/diff-hunks.js +0 -286
- package/dist/src/core/discard-baseline.d.ts +0 -60
- package/dist/src/core/discard-baseline.js +0 -247
- package/dist/src/core/display-state.d.ts +0 -50
- package/dist/src/core/display-state.js +0 -87
- package/dist/src/core/engine-changes.d.ts +0 -40
- package/dist/src/core/engine-changes.js +0 -95
- package/dist/src/core/engine-precondition.d.ts +0 -42
- package/dist/src/core/engine-precondition.js +0 -60
- package/dist/src/core/engine-session-lock.d.ts +0 -119
- package/dist/src/core/engine-session-lock.js +0 -374
- package/dist/src/core/engine-write-boundary.d.ts +0 -5
- package/dist/src/core/engine-write-boundary.js +0 -41
- package/dist/src/core/export-moved-code-shape.d.ts +0 -98
- package/dist/src/core/export-moved-code-shape.js +0 -220
- package/dist/src/core/file-lock-owner.d.ts +0 -103
- package/dist/src/core/file-lock-owner.js +0 -259
- package/dist/src/core/file-lock-queue.d.ts +0 -67
- package/dist/src/core/file-lock-queue.js +0 -219
- package/dist/src/core/file-lock-shared.d.ts +0 -57
- package/dist/src/core/file-lock-shared.js +0 -117
- package/dist/src/core/file-lock.d.ts +0 -143
- package/dist/src/core/file-lock.js +0 -531
- package/dist/src/core/firefox-archive.d.ts +0 -45
- package/dist/src/core/firefox-archive.js +0 -96
- package/dist/src/core/firefox-cache.d.ts +0 -30
- package/dist/src/core/firefox-cache.js +0 -248
- package/dist/src/core/firefox-download.d.ts +0 -30
- package/dist/src/core/firefox-download.js +0 -152
- package/dist/src/core/firefox-extract.d.ts +0 -42
- package/dist/src/core/firefox-extract.js +0 -248
- package/dist/src/core/firefox-ignorefile.d.ts +0 -17
- package/dist/src/core/firefox-ignorefile.js +0 -30
- package/dist/src/core/firefox.d.ts +0 -66
- package/dist/src/core/firefox.js +0 -121
- package/dist/src/core/forward-registrations.d.ts +0 -33
- package/dist/src/core/forward-registrations.js +0 -16
- package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
- package/dist/src/core/furnace-apply-dry-run.js +0 -99
- package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
- package/dist/src/core/furnace-apply-ftl.js +0 -210
- package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
- package/dist/src/core/furnace-apply-helpers.js +0 -436
- package/dist/src/core/furnace-apply-output.d.ts +0 -36
- package/dist/src/core/furnace-apply-output.js +0 -111
- package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -62
- package/dist/src/core/furnace-apply-overwrite-warn.js +0 -124
- package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
- package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
- package/dist/src/core/furnace-apply.d.ts +0 -49
- package/dist/src/core/furnace-apply.js +0 -465
- package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
- package/dist/src/core/furnace-checksum-utils.js +0 -54
- package/dist/src/core/furnace-composed-source.d.ts +0 -76
- package/dist/src/core/furnace-composed-source.js +0 -167
- package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
- package/dist/src/core/furnace-config-array-utils.js +0 -26
- package/dist/src/core/furnace-config-custom.d.ts +0 -15
- package/dist/src/core/furnace-config-custom.js +0 -73
- package/dist/src/core/furnace-config-order.d.ts +0 -8
- package/dist/src/core/furnace-config-order.js +0 -90
- package/dist/src/core/furnace-config-tokens.d.ts +0 -17
- package/dist/src/core/furnace-config-tokens.js +0 -42
- package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
- package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
- package/dist/src/core/furnace-config-validate.d.ts +0 -32
- package/dist/src/core/furnace-config-validate.js +0 -146
- package/dist/src/core/furnace-config.d.ts +0 -139
- package/dist/src/core/furnace-config.js +0 -511
- package/dist/src/core/furnace-constants.d.ts +0 -79
- package/dist/src/core/furnace-constants.js +0 -123
- package/dist/src/core/furnace-css-fragments.d.ts +0 -96
- package/dist/src/core/furnace-css-fragments.js +0 -279
- package/dist/src/core/furnace-dir-entry.d.ts +0 -20
- package/dist/src/core/furnace-dir-entry.js +0 -21
- package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
- package/dist/src/core/furnace-fragment-includers.js +0 -122
- package/dist/src/core/furnace-graph-utils.d.ts +0 -11
- package/dist/src/core/furnace-graph-utils.js +0 -93
- package/dist/src/core/furnace-jsconfig.d.ts +0 -61
- package/dist/src/core/furnace-jsconfig.js +0 -208
- package/dist/src/core/furnace-marker.d.ts +0 -15
- package/dist/src/core/furnace-marker.js +0 -21
- package/dist/src/core/furnace-operation.d.ts +0 -195
- package/dist/src/core/furnace-operation.js +0 -444
- package/dist/src/core/furnace-precondition.d.ts +0 -61
- package/dist/src/core/furnace-precondition.js +0 -67
- package/dist/src/core/furnace-refresh.d.ts +0 -28
- package/dist/src/core/furnace-refresh.js +0 -125
- package/dist/src/core/furnace-registration-ast.d.ts +0 -53
- package/dist/src/core/furnace-registration-ast.js +0 -402
- package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
- package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
- package/dist/src/core/furnace-registration-remove.d.ts +0 -56
- package/dist/src/core/furnace-registration-remove.js +0 -260
- package/dist/src/core/furnace-registration-rename.d.ts +0 -26
- package/dist/src/core/furnace-registration-rename.js +0 -77
- package/dist/src/core/furnace-registration-validate.d.ts +0 -53
- package/dist/src/core/furnace-registration-validate.js +0 -110
- package/dist/src/core/furnace-registration.d.ts +0 -112
- package/dist/src/core/furnace-registration.js +0 -348
- package/dist/src/core/furnace-rollback.d.ts +0 -48
- package/dist/src/core/furnace-rollback.js +0 -170
- package/dist/src/core/furnace-scanner.d.ts +0 -47
- package/dist/src/core/furnace-scanner.js +0 -236
- package/dist/src/core/furnace-stale-export.d.ts +0 -60
- package/dist/src/core/furnace-stale-export.js +0 -125
- package/dist/src/core/furnace-staleness.d.ts +0 -24
- package/dist/src/core/furnace-staleness.js +0 -67
- package/dist/src/core/furnace-state-persist.d.ts +0 -68
- package/dist/src/core/furnace-state-persist.js +0 -116
- package/dist/src/core/furnace-step-errors.d.ts +0 -23
- package/dist/src/core/furnace-step-errors.js +0 -25
- package/dist/src/core/furnace-stories.d.ts +0 -37
- package/dist/src/core/furnace-stories.js +0 -186
- package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
- package/dist/src/core/furnace-validate-accessibility.js +0 -417
- package/dist/src/core/furnace-validate-checks.d.ts +0 -4
- package/dist/src/core/furnace-validate-checks.js +0 -6
- package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
- package/dist/src/core/furnace-validate-compatibility.js +0 -295
- package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
- package/dist/src/core/furnace-validate-exceptions.js +0 -98
- package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
- package/dist/src/core/furnace-validate-helpers.js +0 -4
- package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
- package/dist/src/core/furnace-validate-icon-button.js +0 -78
- package/dist/src/core/furnace-validate-registration.d.ts +0 -67
- package/dist/src/core/furnace-validate-registration.js +0 -487
- package/dist/src/core/furnace-validate-structure.d.ts +0 -22
- package/dist/src/core/furnace-validate-structure.js +0 -122
- package/dist/src/core/furnace-validate.d.ts +0 -41
- package/dist/src/core/furnace-validate.js +0 -302
- package/dist/src/core/furnace-version-drift.d.ts +0 -57
- package/dist/src/core/furnace-version-drift.js +0 -102
- package/dist/src/core/gecko-dom-types.d.ts +0 -2
- package/dist/src/core/gecko-dom-types.js +0 -17
- package/dist/src/core/git-base.d.ts +0 -101
- package/dist/src/core/git-base.js +0 -162
- package/dist/src/core/git-diff-new-file.d.ts +0 -40
- package/dist/src/core/git-diff-new-file.js +0 -118
- package/dist/src/core/git-diff.d.ts +0 -82
- package/dist/src/core/git-diff.js +0 -539
- package/dist/src/core/git-file-ops.d.ts +0 -108
- package/dist/src/core/git-file-ops.js +0 -280
- package/dist/src/core/git-readonly-index.d.ts +0 -91
- package/dist/src/core/git-readonly-index.js +0 -177
- package/dist/src/core/git-status.d.ts +0 -84
- package/dist/src/core/git-status.js +0 -208
- package/dist/src/core/git.d.ts +0 -114
- package/dist/src/core/git.js +0 -540
- package/dist/src/core/harness-helper-pids.d.ts +0 -98
- package/dist/src/core/harness-helper-pids.js +0 -240
- package/dist/src/core/harness-orphans.d.ts +0 -118
- package/dist/src/core/harness-orphans.js +0 -268
- package/dist/src/core/harness-port-fallback.d.ts +0 -60
- package/dist/src/core/harness-port-fallback.js +0 -96
- package/dist/src/core/harness-port-reservation.d.ts +0 -60
- package/dist/src/core/harness-port-reservation.js +0 -122
- package/dist/src/core/history-log-file.d.ts +0 -61
- package/dist/src/core/history-log-file.js +0 -164
- package/dist/src/core/history-log.d.ts +0 -20
- package/dist/src/core/history-log.js +0 -30
- package/dist/src/core/json-preserving-edit.d.ts +0 -22
- package/dist/src/core/json-preserving-edit.js +0 -199
- package/dist/src/core/launchable-build.d.ts +0 -39
- package/dist/src/core/launchable-build.js +0 -85
- package/dist/src/core/license-headers.d.ts +0 -103
- package/dist/src/core/license-headers.js +0 -318
- package/dist/src/core/line-prefixer.d.ts +0 -18
- package/dist/src/core/line-prefixer.js +0 -34
- package/dist/src/core/lit-template-regions.d.ts +0 -4
- package/dist/src/core/lit-template-regions.js +0 -50
- package/dist/src/core/mach-build-artifacts.d.ts +0 -176
- package/dist/src/core/mach-build-artifacts.js +0 -436
- package/dist/src/core/mach-error-hints.d.ts +0 -24
- package/dist/src/core/mach-error-hints.js +0 -135
- package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
- package/dist/src/core/mach-known-noise-filter.js +0 -257
- package/dist/src/core/mach-mozconfig.d.ts +0 -57
- package/dist/src/core/mach-mozconfig.js +0 -166
- package/dist/src/core/mach-python.d.ts +0 -19
- package/dist/src/core/mach-python.js +0 -131
- package/dist/src/core/mach-resource-shim.d.ts +0 -107
- package/dist/src/core/mach-resource-shim.js +0 -640
- package/dist/src/core/mach.d.ts +0 -284
- package/dist/src/core/mach.js +0 -445
- package/dist/src/core/marionette-port.d.ts +0 -153
- package/dist/src/core/marionette-port.js +0 -474
- package/dist/src/core/marionette-preflight.d.ts +0 -58
- package/dist/src/core/marionette-preflight.js +0 -332
- package/dist/src/core/markdown-table.d.ts +0 -104
- package/dist/src/core/markdown-table.js +0 -265
- package/dist/src/core/mochitest-server-port.d.ts +0 -81
- package/dist/src/core/mochitest-server-port.js +0 -175
- package/dist/src/core/module-resolution-preflight.d.ts +0 -65
- package/dist/src/core/module-resolution-preflight.js +0 -171
- package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
- package/dist/src/core/moz-manifest-helpers.js +0 -163
- package/dist/src/core/moz-manifest-register.d.ts +0 -19
- package/dist/src/core/moz-manifest-register.js +0 -51
- package/dist/src/core/moz-manifest-rules.d.ts +0 -58
- package/dist/src/core/moz-manifest-rules.js +0 -264
- package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
- package/dist/src/core/moz-manifest-tokenizers.js +0 -108
- package/dist/src/core/negative-control-compiled.d.ts +0 -46
- package/dist/src/core/negative-control-compiled.js +0 -109
- package/dist/src/core/negative-control-diff.d.ts +0 -51
- package/dist/src/core/negative-control-diff.js +0 -204
- package/dist/src/core/negative-control.d.ts +0 -150
- package/dist/src/core/negative-control.js +0 -399
- package/dist/src/core/objdir-install-manifests.d.ts +0 -73
- package/dist/src/core/objdir-install-manifests.js +0 -226
- package/dist/src/core/objdir-maintenance.d.ts +0 -10
- package/dist/src/core/objdir-maintenance.js +0 -167
- package/dist/src/core/ownership-table.d.ts +0 -53
- package/dist/src/core/ownership-table.js +0 -159
- package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
- package/dist/src/core/parent-exit-watchdog.js +0 -69
- package/dist/src/core/park-store.d.ts +0 -63
- package/dist/src/core/park-store.js +0 -216
- package/dist/src/core/parser-fallback.d.ts +0 -50
- package/dist/src/core/parser-fallback.js +0 -61
- package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
- package/dist/src/core/patch-apply-fuzz.js +0 -125
- package/dist/src/core/patch-apply.d.ts +0 -88
- package/dist/src/core/patch-apply.js +0 -435
- package/dist/src/core/patch-export-coverage.d.ts +0 -49
- package/dist/src/core/patch-export-coverage.js +0 -73
- package/dist/src/core/patch-export-metadata.d.ts +0 -46
- package/dist/src/core/patch-export-metadata.js +0 -47
- package/dist/src/core/patch-export-update.d.ts +0 -55
- package/dist/src/core/patch-export-update.js +0 -95
- package/dist/src/core/patch-export.d.ts +0 -175
- package/dist/src/core/patch-export.js +0 -312
- package/dist/src/core/patch-files.d.ts +0 -17
- package/dist/src/core/patch-files.js +0 -59
- package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
- package/dist/src/core/patch-identifier-suggest.js +0 -135
- package/dist/src/core/patch-lint-binary.d.ts +0 -45
- package/dist/src/core/patch-lint-binary.js +0 -39
- package/dist/src/core/patch-lint-cache.d.ts +0 -78
- package/dist/src/core/patch-lint-cache.js +0 -233
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -39
- package/dist/src/core/patch-lint-checkjs-any-import.js +0 -63
- package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
- package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
- package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
- package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
- package/dist/src/core/patch-lint-checkjs.d.ts +0 -180
- package/dist/src/core/patch-lint-checkjs.js +0 -611
- package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
- package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
- package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
- package/dist/src/core/patch-lint-code-lines.js +0 -105
- package/dist/src/core/patch-lint-creators.d.ts +0 -26
- package/dist/src/core/patch-lint-creators.js +0 -45
- package/dist/src/core/patch-lint-cross.d.ts +0 -232
- package/dist/src/core/patch-lint-cross.js +0 -590
- package/dist/src/core/patch-lint-css.d.ts +0 -27
- package/dist/src/core/patch-lint-css.js +0 -228
- package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
- package/dist/src/core/patch-lint-diff-tag.js +0 -105
- package/dist/src/core/patch-lint-diff.d.ts +0 -42
- package/dist/src/core/patch-lint-diff.js +0 -100
- package/dist/src/core/patch-lint-file-size.d.ts +0 -57
- package/dist/src/core/patch-lint-file-size.js +0 -62
- package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
- package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
- package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
- package/dist/src/core/patch-lint-forward-registration.js +0 -266
- package/dist/src/core/patch-lint-ignore.d.ts +0 -196
- package/dist/src/core/patch-lint-ignore.js +0 -429
- package/dist/src/core/patch-lint-imports.d.ts +0 -5
- package/dist/src/core/patch-lint-imports.js +0 -67
- package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
- package/dist/src/core/patch-lint-jsdoc.js +0 -471
- package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
- package/dist/src/core/patch-lint-module-registration.js +0 -97
- package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
- package/dist/src/core/patch-lint-mozbuild.js +0 -192
- package/dist/src/core/patch-lint-observer.d.ts +0 -37
- package/dist/src/core/patch-lint-observer.js +0 -167
- package/dist/src/core/patch-lint-ownership.d.ts +0 -74
- package/dist/src/core/patch-lint-ownership.js +0 -125
- package/dist/src/core/patch-lint-prettier.d.ts +0 -34
- package/dist/src/core/patch-lint-prettier.js +0 -124
- package/dist/src/core/patch-lint-projection.d.ts +0 -25
- package/dist/src/core/patch-lint-projection.js +0 -43
- package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
- package/dist/src/core/patch-lint-queue-types.js +0 -12
- package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
- package/dist/src/core/patch-lint-size-thresholds.js +0 -110
- package/dist/src/core/patch-lint-size.d.ts +0 -117
- package/dist/src/core/patch-lint-size.js +0 -331
- package/dist/src/core/patch-lint-staged-registration.d.ts +0 -78
- package/dist/src/core/patch-lint-staged-registration.js +0 -110
- package/dist/src/core/patch-lint-token-scale.d.ts +0 -57
- package/dist/src/core/patch-lint-token-scale.js +0 -286
- package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
- package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
- package/dist/src/core/patch-lint.d.ts +0 -191
- package/dist/src/core/patch-lint.js +0 -529
- package/dist/src/core/patch-lock.d.ts +0 -40
- package/dist/src/core/patch-lock.js +0 -129
- package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
- package/dist/src/core/patch-manifest-consistency.js +0 -256
- package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
- package/dist/src/core/patch-manifest-files-affected.js +0 -77
- package/dist/src/core/patch-manifest-io.d.ts +0 -199
- package/dist/src/core/patch-manifest-io.js +0 -556
- package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
- package/dist/src/core/patch-manifest-key-order.js +0 -60
- package/dist/src/core/patch-manifest-query.d.ts +0 -55
- package/dist/src/core/patch-manifest-query.js +0 -139
- package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
- package/dist/src/core/patch-manifest-resolve.js +0 -35
- package/dist/src/core/patch-manifest-stage.d.ts +0 -46
- package/dist/src/core/patch-manifest-stage.js +0 -96
- package/dist/src/core/patch-manifest-validate.d.ts +0 -20
- package/dist/src/core/patch-manifest-validate.js +0 -240
- package/dist/src/core/patch-manifest.d.ts +0 -12
- package/dist/src/core/patch-manifest.js +0 -13
- package/dist/src/core/patch-order-legal.d.ts +0 -26
- package/dist/src/core/patch-order-legal.js +0 -88
- package/dist/src/core/patch-parse.d.ts +0 -161
- package/dist/src/core/patch-parse.js +0 -347
- package/dist/src/core/patch-policy-content.d.ts +0 -40
- package/dist/src/core/patch-policy-content.js +0 -216
- package/dist/src/core/patch-policy.d.ts +0 -80
- package/dist/src/core/patch-policy.js +0 -394
- package/dist/src/core/patch-registration-refs.d.ts +0 -41
- package/dist/src/core/patch-registration-refs.js +0 -107
- package/dist/src/core/patch-retired.d.ts +0 -57
- package/dist/src/core/patch-retired.js +0 -92
- package/dist/src/core/patch-source-metadata.d.ts +0 -6
- package/dist/src/core/patch-source-metadata.js +0 -12
- package/dist/src/core/patch-subset.d.ts +0 -18
- package/dist/src/core/patch-subset.js +0 -67
- package/dist/src/core/patch-transform.d.ts +0 -61
- package/dist/src/core/patch-transform.js +0 -198
- package/dist/src/core/preflight-wait.d.ts +0 -22
- package/dist/src/core/preflight-wait.js +0 -62
- package/dist/src/core/process-cpu-time.d.ts +0 -12
- package/dist/src/core/process-cpu-time.js +0 -52
- package/dist/src/core/process-owner.d.ts +0 -9
- package/dist/src/core/process-owner.js +0 -43
- package/dist/src/core/rebase-dry-run.d.ts +0 -48
- package/dist/src/core/rebase-dry-run.js +0 -105
- package/dist/src/core/rebase-from-version.d.ts +0 -46
- package/dist/src/core/rebase-from-version.js +0 -71
- package/dist/src/core/rebase-session.d.ts +0 -100
- package/dist/src/core/rebase-session.js +0 -174
- package/dist/src/core/register-browser-content.d.ts +0 -11
- package/dist/src/core/register-browser-content.js +0 -52
- package/dist/src/core/register-browser-test.d.ts +0 -18
- package/dist/src/core/register-browser-test.js +0 -66
- package/dist/src/core/register-module.d.ts +0 -11
- package/dist/src/core/register-module.js +0 -56
- package/dist/src/core/register-result.d.ts +0 -30
- package/dist/src/core/register-result.js +0 -8
- package/dist/src/core/register-scaffold.d.ts +0 -55
- package/dist/src/core/register-scaffold.js +0 -146
- package/dist/src/core/register-shared-css.d.ts +0 -36
- package/dist/src/core/register-shared-css.js +0 -112
- package/dist/src/core/register-xpcshell-test.d.ts +0 -50
- package/dist/src/core/register-xpcshell-test.js +0 -143
- package/dist/src/core/run-log-redact.d.ts +0 -38
- package/dist/src/core/run-log-redact.js +0 -69
- package/dist/src/core/run-log.d.ts +0 -97
- package/dist/src/core/run-log.js +0 -334
- package/dist/src/core/run-profile.d.ts +0 -57
- package/dist/src/core/run-profile.js +0 -137
- package/dist/src/core/shared-ftl.d.ts +0 -28
- package/dist/src/core/shared-ftl.js +0 -49
- package/dist/src/core/signal-critical.d.ts +0 -38
- package/dist/src/core/signal-critical.js +0 -62
- package/dist/src/core/smoke-patterns.d.ts +0 -81
- package/dist/src/core/smoke-patterns.js +0 -176
- package/dist/src/core/state-file.d.ts +0 -60
- package/dist/src/core/state-file.js +0 -71
- package/dist/src/core/status-binary.d.ts +0 -62
- package/dist/src/core/status-binary.js +0 -133
- package/dist/src/core/status-classify.d.ts +0 -96
- package/dist/src/core/status-classify.js +0 -244
- package/dist/src/core/test-changed-prefs.d.ts +0 -30
- package/dist/src/core/test-changed-prefs.js +0 -93
- package/dist/src/core/test-harness-crash.d.ts +0 -251
- package/dist/src/core/test-harness-crash.js +0 -780
- package/dist/src/core/test-harness-infra.d.ts +0 -32
- package/dist/src/core/test-harness-infra.js +0 -69
- package/dist/src/core/test-harness-output.d.ts +0 -45
- package/dist/src/core/test-harness-output.js +0 -119
- package/dist/src/core/test-harness-signature.d.ts +0 -57
- package/dist/src/core/test-harness-signature.js +0 -35
- package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
- package/dist/src/core/test-harness-verdict-notes.js +0 -48
- package/dist/src/core/test-host-state.d.ts +0 -14
- package/dist/src/core/test-host-state.js +0 -80
- package/dist/src/core/test-path-scope.d.ts +0 -59
- package/dist/src/core/test-path-scope.js +0 -147
- package/dist/src/core/test-profile-files.d.ts +0 -17
- package/dist/src/core/test-profile-files.js +0 -75
- package/dist/src/core/test-raw-log.d.ts +0 -66
- package/dist/src/core/test-raw-log.js +0 -122
- package/dist/src/core/test-run-completeness.d.ts +0 -97
- package/dist/src/core/test-run-completeness.js +0 -191
- package/dist/src/core/test-stale-check.d.ts +0 -213
- package/dist/src/core/test-stale-check.js +0 -396
- package/dist/src/core/test-stale-exempt.d.ts +0 -40
- package/dist/src/core/test-stale-exempt.js +0 -70
- package/dist/src/core/test-stale-symlink.d.ts +0 -12
- package/dist/src/core/test-stale-symlink.js +0 -39
- package/dist/src/core/test-stall-triage.d.ts +0 -51
- package/dist/src/core/test-stall-triage.js +0 -142
- package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
- package/dist/src/core/test-xpcshell-retry.js +0 -31
- package/dist/src/core/token-category.d.ts +0 -54
- package/dist/src/core/token-category.js +0 -299
- package/dist/src/core/token-coverage.d.ts +0 -12
- package/dist/src/core/token-coverage.js +0 -96
- package/dist/src/core/token-dark-mode.d.ts +0 -64
- package/dist/src/core/token-dark-mode.js +0 -186
- package/dist/src/core/token-docs.d.ts +0 -34
- package/dist/src/core/token-docs.js +0 -102
- package/dist/src/core/token-inventory.d.ts +0 -56
- package/dist/src/core/token-inventory.js +0 -114
- package/dist/src/core/token-lint.d.ts +0 -53
- package/dist/src/core/token-lint.js +0 -131
- package/dist/src/core/token-manager.d.ts +0 -87
- package/dist/src/core/token-manager.js +0 -407
- package/dist/src/core/token-scaffold.d.ts +0 -36
- package/dist/src/core/token-scaffold.js +0 -73
- package/dist/src/core/token-sibling-sheets.d.ts +0 -46
- package/dist/src/core/token-sibling-sheets.js +0 -119
- package/dist/src/core/token-variant.d.ts +0 -90
- package/dist/src/core/token-variant.js +0 -327
- package/dist/src/core/toolchain-preflight.d.ts +0 -90
- package/dist/src/core/toolchain-preflight.js +0 -251
- package/dist/src/core/tree-cow.d.ts +0 -16
- package/dist/src/core/tree-cow.js +0 -71
- package/dist/src/core/tree-guard.d.ts +0 -35
- package/dist/src/core/tree-guard.js +0 -194
- package/dist/src/core/tree-store.d.ts +0 -143
- package/dist/src/core/tree-store.js +0 -478
- package/dist/src/core/typecheck-shim.d.ts +0 -90
- package/dist/src/core/typecheck-shim.js +0 -507
- package/dist/src/core/typecheck.d.ts +0 -75
- package/dist/src/core/typecheck.js +0 -433
- package/dist/src/core/wire-destroy.d.ts +0 -25
- package/dist/src/core/wire-destroy.js +0 -126
- package/dist/src/core/wire-dom-fragment.d.ts +0 -44
- package/dist/src/core/wire-dom-fragment.js +0 -139
- package/dist/src/core/wire-init.d.ts +0 -28
- package/dist/src/core/wire-init.js +0 -219
- package/dist/src/core/wire-subscript.d.ts +0 -23
- package/dist/src/core/wire-subscript.js +0 -145
- package/dist/src/core/wire-utils.d.ts +0 -149
- package/dist/src/core/wire-utils.js +0 -338
- package/dist/src/core/xpcshell-appdir.d.ts +0 -157
- package/dist/src/core/xpcshell-appdir.js +0 -299
- package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
- package/dist/src/core/xpcshell-profile-dir.js +0 -45
- package/dist/src/errors/base.d.ts +0 -217
- package/dist/src/errors/base.js +0 -279
- package/dist/src/errors/build.d.ts +0 -92
- package/dist/src/errors/build.js +0 -166
- package/dist/src/errors/codes.d.ts +0 -74
- package/dist/src/errors/codes.js +0 -74
- package/dist/src/errors/config.d.ts +0 -17
- package/dist/src/errors/config.js +0 -39
- package/dist/src/errors/download.d.ts +0 -66
- package/dist/src/errors/download.js +0 -160
- package/dist/src/errors/furnace.d.ts +0 -20
- package/dist/src/errors/furnace.js +0 -28
- package/dist/src/errors/git.d.ts +0 -65
- package/dist/src/errors/git.js +0 -140
- package/dist/src/errors/patch.d.ts +0 -27
- package/dist/src/errors/patch.js +0 -52
- package/dist/src/errors/rebase.d.ts +0 -42
- package/dist/src/errors/rebase.js +0 -71
- package/dist/src/errors/run.d.ts +0 -16
- package/dist/src/errors/run.js +0 -22
- package/dist/src/index.d.ts +0 -42
- package/dist/src/index.js +0 -32
- package/dist/src/types/cli.d.ts +0 -14
- package/dist/src/types/commands/index.d.ts +0 -6
- package/dist/src/types/commands/index.js +0 -5
- package/dist/src/types/commands/options.d.ts +0 -1367
- package/dist/src/types/commands/options.js +0 -5
- package/dist/src/types/commands/patches.d.ts +0 -352
- package/dist/src/types/commands/patches.js +0 -5
- package/dist/src/types/commands/project.d.ts +0 -51
- package/dist/src/types/commands/project.js +0 -5
- package/dist/src/types/config.d.ts +0 -703
- package/dist/src/types/config.js +0 -15
- package/dist/src/types/furnace.d.ts +0 -415
- package/dist/src/types/furnace.js +0 -26
- package/dist/src/types/index.d.ts +0 -5
- package/dist/src/types/index.js +0 -5
- package/dist/src/types/json.d.ts +0 -22
- package/dist/src/types/json.js +0 -11
- package/dist/src/types/typecheck.d.ts +0 -51
- package/dist/src/types/typecheck.js +0 -14
- package/dist/src/utils/assert.d.ts +0 -34
- package/dist/src/utils/assert.js +0 -61
- package/dist/src/utils/build-info.d.ts +0 -30
- package/dist/src/utils/build-info.js +0 -99
- package/dist/src/utils/child-env.d.ts +0 -28
- package/dist/src/utils/child-env.js +0 -27
- package/dist/src/utils/concurrency.d.ts +0 -8
- package/dist/src/utils/concurrency.js +0 -32
- package/dist/src/utils/elapsed.d.ts +0 -2
- package/dist/src/utils/elapsed.js +0 -23
- package/dist/src/utils/errors.d.ts +0 -39
- package/dist/src/utils/errors.js +0 -67
- package/dist/src/utils/fs.d.ts +0 -113
- package/dist/src/utils/fs.js +0 -337
- package/dist/src/utils/hash.d.ts +0 -12
- package/dist/src/utils/hash.js +0 -16
- package/dist/src/utils/line-dispatch.d.ts +0 -15
- package/dist/src/utils/line-dispatch.js +0 -48
- package/dist/src/utils/logger.d.ts +0 -109
- package/dist/src/utils/logger.js +0 -270
- package/dist/src/utils/machine-output.d.ts +0 -12
- package/dist/src/utils/machine-output.js +0 -33
- package/dist/src/utils/options.d.ts +0 -155
- package/dist/src/utils/options.js +0 -312
- package/dist/src/utils/package-root.d.ts +0 -21
- package/dist/src/utils/package-root.js +0 -70
- package/dist/src/utils/parse.d.ts +0 -117
- package/dist/src/utils/parse.js +0 -214
- package/dist/src/utils/path-glob.d.ts +0 -15
- package/dist/src/utils/path-glob.js +0 -47
- package/dist/src/utils/paths.d.ts +0 -31
- package/dist/src/utils/paths.js +0 -80
- package/dist/src/utils/platform.d.ts +0 -9
- package/dist/src/utils/platform.js +0 -14
- package/dist/src/utils/process-group.d.ts +0 -42
- package/dist/src/utils/process-group.js +0 -190
- package/dist/src/utils/process-input.d.ts +0 -27
- package/dist/src/utils/process-input.js +0 -46
- package/dist/src/utils/process.d.ts +0 -293
- package/dist/src/utils/process.js +0 -593
- package/dist/src/utils/ps-duration.d.ts +0 -31
- package/dist/src/utils/ps-duration.js +0 -70
- package/dist/src/utils/regex.d.ts +0 -39
- package/dist/src/utils/regex.js +0 -109
- package/dist/src/utils/sleep.d.ts +0 -25
- package/dist/src/utils/sleep.js +0 -30
- package/dist/src/utils/stdio-drain.d.ts +0 -28
- package/dist/src/utils/stdio-drain.js +0 -54
- package/dist/src/utils/validation.d.ts +0 -182
- package/dist/src/utils/validation.js +0 -394
- package/docs/lifecycle-invariants.md +0 -523
- package/docs/run-logs.md +0 -122
- package/docs/verification-trees.md +0 -49
- /package/dist/src/{types/cli.js → cli/context.js} +0 -0
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Doctor check: can the bootstrapped clang link against the macOS SDK the
|
|
4
|
-
* build will use?
|
|
5
|
-
*
|
|
6
|
-
* An Xcode update can ship an SDK whose `.tbd` stubs the pinned toolchain
|
|
7
|
-
* cannot read (Xcode 27.0's `libSystem.tbd` lists `arm64e.x1-macos`
|
|
8
|
-
* targets that clang/lld 21.1.8 rejects as "unknown architecture"). `mach
|
|
9
|
-
* configure` then dies at "checking what kind of list files are supported
|
|
10
|
-
* by the linker" with exit 5, and neither `build` nor `doctor` named the
|
|
11
|
-
* cause: the operator had to read `config.log`. This check links a trivial
|
|
12
|
-
* C program with the bootstrapped clang against the SDK the mozconfig
|
|
13
|
-
* selects, and on failure names the mismatch and lists the SDKs installed.
|
|
14
|
-
*
|
|
15
|
-
* darwin only, and only when a bootstrapped clang exists. A warning, never
|
|
16
|
-
* a failure: the SDK may be one the operator is about to replace. Host SDK
|
|
17
|
-
* and mozconfig paths are built with `posix.join`: they are macOS paths
|
|
18
|
-
* whatever platform the module is loaded on.
|
|
19
|
-
*/
|
|
20
|
-
import { existsSync } from 'node:fs';
|
|
21
|
-
import { mkdtemp, readdir, rm, writeFile } from 'node:fs/promises';
|
|
22
|
-
import { tmpdir } from 'node:os';
|
|
23
|
-
import { join, posix } from 'node:path';
|
|
24
|
-
import { mozbuildStateDir } from '../core/toolchain-preflight.js';
|
|
25
|
-
import { toError } from '../utils/errors.js';
|
|
26
|
-
import { exec } from '../utils/process.js';
|
|
27
|
-
import { ok, warning } from './doctor-check-core.js';
|
|
28
|
-
const CHECK_NAME = 'macOS SDK links with the bootstrapped clang';
|
|
29
|
-
/** The bootstrapped clang mach uses on macOS. */
|
|
30
|
-
export function bootstrappedClangPath() {
|
|
31
|
-
return join(mozbuildStateDir(), 'clang', 'bin', 'clang');
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Sources a mozconfig with `ac_add_options` stubbed to print the
|
|
35
|
-
* `--with-macos-sdk=` value, which is how mach reads it. A mozconfig is a
|
|
36
|
-
* shell script: an SDK chosen by shell logic (the first of several
|
|
37
|
-
* candidates that exists) has no literal value to grep.
|
|
38
|
-
*/
|
|
39
|
-
const SDK_FROM_MOZCONFIG_SCRIPT = [
|
|
40
|
-
'ac_add_options() { for a in "$@"; do case "$a" in --with-macos-sdk=*) printf "%s\\n" "${a#--with-macos-sdk=}";; esac; done; }',
|
|
41
|
-
'mk_add_options() { :; }',
|
|
42
|
-
'. "$1"',
|
|
43
|
-
].join('\n');
|
|
44
|
-
/**
|
|
45
|
-
* Resolves the SDK the generated mozconfig selects (`--with-macos-sdk`),
|
|
46
|
-
* falling back to `xcrun --show-sdk-path`, which is what configure
|
|
47
|
-
* auto-detects when the mozconfig names none.
|
|
48
|
-
*/
|
|
49
|
-
async function resolveSelectedSdk(engineDir) {
|
|
50
|
-
const mozconfig = posix.join(engineDir, 'mozconfig');
|
|
51
|
-
if (existsSync(mozconfig)) {
|
|
52
|
-
const sourced = await exec('/bin/sh', ['-c', SDK_FROM_MOZCONFIG_SCRIPT, 'sh', mozconfig], {
|
|
53
|
-
cwd: engineDir,
|
|
54
|
-
env: { topsrcdir: engineDir },
|
|
55
|
-
timeout: 10_000,
|
|
56
|
-
});
|
|
57
|
-
if (sourced.exitCode !== 0) {
|
|
58
|
-
return {
|
|
59
|
-
error: `engine/mozconfig failed while selecting the SDK: ${firstLine(sourced.stderr) ?? `exit ${sourced.exitCode}`}`,
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
const selected = sourced.stdout
|
|
63
|
-
.split('\n')
|
|
64
|
-
.map((line) => line.trim())
|
|
65
|
-
.filter((line) => line.length > 0)
|
|
66
|
-
.pop();
|
|
67
|
-
if (selected !== undefined)
|
|
68
|
-
return { sdk: selected, source: 'mozconfig' };
|
|
69
|
-
}
|
|
70
|
-
const xcrun = await exec('xcrun', ['--show-sdk-path'], { timeout: 10_000 });
|
|
71
|
-
const path = xcrun.stdout.trim();
|
|
72
|
-
if (xcrun.exitCode !== 0 || path.length === 0) {
|
|
73
|
-
return { error: `xcrun --show-sdk-path failed: ${firstLine(xcrun.stderr) ?? 'no output'}` };
|
|
74
|
-
}
|
|
75
|
-
return { sdk: path, source: 'xcrun' };
|
|
76
|
-
}
|
|
77
|
-
function firstLine(text) {
|
|
78
|
-
return text
|
|
79
|
-
.split('\n')
|
|
80
|
-
.map((line) => line.trim())
|
|
81
|
-
.find((line) => line.length > 0);
|
|
82
|
-
}
|
|
83
|
-
/** Every macOS SDK directory on the host FireForge knows where to look for. */
|
|
84
|
-
async function listInstalledSdks() {
|
|
85
|
-
const roots = [mozbuildStateDir(), '/Library/Developer/CommandLineTools/SDKs'];
|
|
86
|
-
const developer = await exec('xcode-select', ['-p'], { timeout: 10_000 });
|
|
87
|
-
if (developer.exitCode === 0 && developer.stdout.trim().length > 0) {
|
|
88
|
-
roots.push(posix.join(developer.stdout.trim(), 'Platforms/MacOSX.platform/Developer/SDKs'));
|
|
89
|
-
}
|
|
90
|
-
const found = [];
|
|
91
|
-
for (const root of roots) {
|
|
92
|
-
try {
|
|
93
|
-
for (const entry of await readdir(root)) {
|
|
94
|
-
if (/^MacOSX.*\.sdk$/.test(entry))
|
|
95
|
-
found.push(posix.join(root, entry));
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
catch {
|
|
99
|
-
// A root that does not exist lists nothing.
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
return found;
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Links `int main(void){return 0;}` with the bootstrapped clang (through
|
|
106
|
-
* its bundled lld, as the build does) against `sdk`, in a temp directory.
|
|
107
|
-
* @returns undefined on success, else the first error line clang printed
|
|
108
|
-
*/
|
|
109
|
-
async function probeSdkLink(clang, sdk) {
|
|
110
|
-
const dir = await mkdtemp(join(tmpdir(), 'fireforge-sdk-probe-'));
|
|
111
|
-
try {
|
|
112
|
-
await writeFile(join(dir, 'probe.c'), 'int main(void) { return 0; }\n');
|
|
113
|
-
const lld = existsSync(join(clang, '..', 'ld64.lld')) ? ['-fuse-ld=lld'] : [];
|
|
114
|
-
const linked = await exec(clang, ['-isysroot', sdk, ...lld, '-o', join(dir, 'probe'), join(dir, 'probe.c')], { timeout: 30_000 });
|
|
115
|
-
if (linked.exitCode === 0)
|
|
116
|
-
return undefined;
|
|
117
|
-
const output = `${linked.stderr}\n${linked.stdout}`;
|
|
118
|
-
return (output
|
|
119
|
-
.split('\n')
|
|
120
|
-
.map((line) => line.trim())
|
|
121
|
-
.find((line) => /error:/.test(line)) ??
|
|
122
|
-
firstLine(output) ??
|
|
123
|
-
`exit ${linked.exitCode}`);
|
|
124
|
-
}
|
|
125
|
-
finally {
|
|
126
|
-
await rm(dir, { recursive: true, force: true });
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
/** Runs the check for one engine directory. */
|
|
130
|
-
export async function checkMacosSdkLink(engineDir) {
|
|
131
|
-
const selected = await resolveSelectedSdk(engineDir);
|
|
132
|
-
const fix = 'Pin an SDK the bootstrapped toolchain can link in configs/darwin.mozconfig ' +
|
|
133
|
-
'(ac_add_options --with-macos-sdk=<path>), then run fireforge build.';
|
|
134
|
-
if ('error' in selected) {
|
|
135
|
-
return warning(CHECK_NAME, selected.error, fix);
|
|
136
|
-
}
|
|
137
|
-
let failure;
|
|
138
|
-
try {
|
|
139
|
-
failure = await probeSdkLink(bootstrappedClangPath(), selected.sdk);
|
|
140
|
-
}
|
|
141
|
-
catch (error) {
|
|
142
|
-
failure = toError(error).message;
|
|
143
|
-
}
|
|
144
|
-
if (failure === undefined) {
|
|
145
|
-
return ok(CHECK_NAME, `OK (${selected.sdk}, from ${selected.source})`);
|
|
146
|
-
}
|
|
147
|
-
const installed = await listInstalledSdks();
|
|
148
|
-
return warning(CHECK_NAME, `The bootstrapped clang cannot link against ${selected.sdk} (from ${selected.source}): ${failure}. ` +
|
|
149
|
-
`mach configure fails at its linker probe the same way. Installed SDKs: ` +
|
|
150
|
-
(installed.length > 0 ? installed.join(', ') : 'none found') +
|
|
151
|
-
'.', fix);
|
|
152
|
-
}
|
|
153
|
-
/** Registry entry for the doctor runner. */
|
|
154
|
-
export const MACOS_SDK_LINK_DOCTOR_CHECK = {
|
|
155
|
-
name: CHECK_NAME,
|
|
156
|
-
skipIf: (ctx) => process.platform !== 'darwin' || !ctx.engineExists || !existsSync(bootstrappedClangPath()),
|
|
157
|
-
run: (ctx) => checkMacosSdkLink(ctx.paths.engine),
|
|
158
|
-
};
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Doctor check for pre-existing orphaned test-harness workers.
|
|
3
|
-
*
|
|
4
|
-
* A mach invocation that dies at harness startup can strand a Python
|
|
5
|
-
* `multiprocessing` spawn worker plus its resource tracker. The worker
|
|
6
|
-
* reparents to launchd (PPID 1) and busy-spins at 100% CPU indefinitely.
|
|
7
|
-
* The dispatch-side fix is the process-group reaping in `utils/process.ts`.
|
|
8
|
-
* This check covers orphans that predate it (or leaked from non-FireForge
|
|
9
|
-
* invocations), detecting them by PPID 1 + large accumulated CPU TIME + a
|
|
10
|
-
* `multiprocessing.spawn`/`resource_tracker` command line.
|
|
11
|
-
*
|
|
12
|
-
* Report-only: FireForge never kills pre-existing processes it did not
|
|
13
|
-
* spawn, so the check names each candidate and suggests the kill.
|
|
14
|
-
*
|
|
15
|
-
* Not wired into `test --canary`: a system-wide process scan on the canary
|
|
16
|
-
* hot path buys no coverage the doctor check does not already give.
|
|
17
|
-
*/
|
|
18
|
-
import type { DoctorCheckDefinition } from './doctor-check-core.js';
|
|
19
|
-
/** One process matching the orphaned-harness-worker shape. */
|
|
20
|
-
export interface OrphanedHarnessWorker {
|
|
21
|
-
pid: number;
|
|
22
|
-
ppid: number;
|
|
23
|
-
/** Raw TIME column as `ps` printed it. */
|
|
24
|
-
cpuTime: string;
|
|
25
|
-
/** Parsed accumulated CPU seconds. */
|
|
26
|
-
cpuSeconds: number;
|
|
27
|
-
command: string;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Scans `ps -axo pid=,ppid=,time=,command=` output for orphaned harness
|
|
31
|
-
* workers: PPID 1 (reparented to init/launchd), a multiprocessing
|
|
32
|
-
* worker/tracker command line, and at least `minCpuSeconds` of accumulated
|
|
33
|
-
* CPU time. Pure, so it is fixture-testable without spawning anything.
|
|
34
|
-
*/
|
|
35
|
-
export declare function findOrphanedHarnessWorkers(psOutput: string, minCpuSeconds?: number): OrphanedHarnessWorker[];
|
|
36
|
-
/**
|
|
37
|
-
* Doctor check reporting orphaned harness workers. Windows has no `ps`, so
|
|
38
|
-
* the check is skipped there (best-effort platform gap, matching the
|
|
39
|
-
* process-group reaper's POSIX-only sweep).
|
|
40
|
-
*/
|
|
41
|
-
export declare const ORPHANED_HARNESS_DOCTOR_CHECK: DoctorCheckDefinition;
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Doctor check for pre-existing orphaned test-harness workers.
|
|
4
|
-
*
|
|
5
|
-
* A mach invocation that dies at harness startup can strand a Python
|
|
6
|
-
* `multiprocessing` spawn worker plus its resource tracker. The worker
|
|
7
|
-
* reparents to launchd (PPID 1) and busy-spins at 100% CPU indefinitely.
|
|
8
|
-
* The dispatch-side fix is the process-group reaping in `utils/process.ts`.
|
|
9
|
-
* This check covers orphans that predate it (or leaked from non-FireForge
|
|
10
|
-
* invocations), detecting them by PPID 1 + large accumulated CPU TIME + a
|
|
11
|
-
* `multiprocessing.spawn`/`resource_tracker` command line.
|
|
12
|
-
*
|
|
13
|
-
* Report-only: FireForge never kills pre-existing processes it did not
|
|
14
|
-
* spawn, so the check names each candidate and suggests the kill.
|
|
15
|
-
*
|
|
16
|
-
* Not wired into `test --canary`: a system-wide process scan on the canary
|
|
17
|
-
* hot path buys no coverage the doctor check does not already give.
|
|
18
|
-
*/
|
|
19
|
-
import { toError } from '../utils/errors.js';
|
|
20
|
-
import { exec } from '../utils/process.js';
|
|
21
|
-
import { parsePsDuration } from '../utils/ps-duration.js';
|
|
22
|
-
import { ok, warning } from './doctor-check-core.js';
|
|
23
|
-
/**
|
|
24
|
-
* Command-line shapes of Python multiprocessing helper processes: the
|
|
25
|
-
* spawn/forkserver worker bootstrap (`from multiprocessing.spawn import
|
|
26
|
-
* spawn_main; spawn_main(...)`) and the resource tracker.
|
|
27
|
-
*/
|
|
28
|
-
const HARNESS_WORKER_COMMAND_PATTERN = /multiprocessing\.(?:spawn|forkserver)\b|multiprocessing\.resource_tracker|from multiprocessing\.\w+ import/;
|
|
29
|
-
/** Minimum accumulated CPU time before a match is reported (10 minutes). */
|
|
30
|
-
const DEFAULT_MIN_CPU_SECONDS = 600;
|
|
31
|
-
/**
|
|
32
|
-
* Scans `ps -axo pid=,ppid=,time=,command=` output for orphaned harness
|
|
33
|
-
* workers: PPID 1 (reparented to init/launchd), a multiprocessing
|
|
34
|
-
* worker/tracker command line, and at least `minCpuSeconds` of accumulated
|
|
35
|
-
* CPU time. Pure, so it is fixture-testable without spawning anything.
|
|
36
|
-
*/
|
|
37
|
-
export function findOrphanedHarnessWorkers(psOutput, minCpuSeconds = DEFAULT_MIN_CPU_SECONDS) {
|
|
38
|
-
const workers = [];
|
|
39
|
-
for (const line of psOutput.split('\n')) {
|
|
40
|
-
const match = /^\s*(\d+)\s+(\d+)\s+(\S+)\s+(.+)$/.exec(line);
|
|
41
|
-
if (!match)
|
|
42
|
-
continue;
|
|
43
|
-
const pid = Number(match[1]);
|
|
44
|
-
const ppid = Number(match[2]);
|
|
45
|
-
const cpuTime = match[3] ?? '';
|
|
46
|
-
const command = (match[4] ?? '').trim();
|
|
47
|
-
if (ppid !== 1)
|
|
48
|
-
continue;
|
|
49
|
-
if (!HARNESS_WORKER_COMMAND_PATTERN.test(command))
|
|
50
|
-
continue;
|
|
51
|
-
const cpuSeconds = parsePsDuration(cpuTime);
|
|
52
|
-
if (Number.isNaN(cpuSeconds) || cpuSeconds < minCpuSeconds)
|
|
53
|
-
continue;
|
|
54
|
-
workers.push({ pid, ppid, cpuTime, cpuSeconds, command });
|
|
55
|
-
}
|
|
56
|
-
return workers;
|
|
57
|
-
}
|
|
58
|
-
/** Thin exec wrapper for the process listing (tests mock `exec` instead). */
|
|
59
|
-
async function listSystemProcesses() {
|
|
60
|
-
const result = await exec('ps', ['-axo', 'pid=,ppid=,time=,command='], { timeout: 10000 });
|
|
61
|
-
if (result.exitCode !== 0) {
|
|
62
|
-
throw new Error(`ps exited ${result.exitCode}`);
|
|
63
|
-
}
|
|
64
|
-
return result.stdout;
|
|
65
|
-
}
|
|
66
|
-
const CHECK_NAME = 'Orphaned harness workers';
|
|
67
|
-
async function runOrphanedHarnessCheck() {
|
|
68
|
-
let psOutput;
|
|
69
|
-
try {
|
|
70
|
-
psOutput = await listSystemProcesses();
|
|
71
|
-
}
|
|
72
|
-
catch (error) {
|
|
73
|
-
return warning(CHECK_NAME, `Could not scan system processes (${toError(error).message}); skipping the orphaned-worker check.`);
|
|
74
|
-
}
|
|
75
|
-
const orphans = findOrphanedHarnessWorkers(psOutput);
|
|
76
|
-
if (orphans.length === 0) {
|
|
77
|
-
return ok(CHECK_NAME);
|
|
78
|
-
}
|
|
79
|
-
const rows = orphans
|
|
80
|
-
.map((w) => `PID ${w.pid} (CPU time ${w.cpuTime}): ${w.command.slice(0, 160)}`)
|
|
81
|
-
.join('; ');
|
|
82
|
-
const pids = orphans.map((w) => String(w.pid)).join(' ');
|
|
83
|
-
return warning(CHECK_NAME, `Found ${orphans.length} orphaned Python multiprocessing worker(s) — PPID 1 with ` +
|
|
84
|
-
`high accumulated CPU time, the shape a test harness that died at startup leaves behind ` +
|
|
85
|
-
`(field incident: one such worker busy-spun for ~26 days). ${rows}`, `These look like workers orphaned by a crashed test harness. Verify each command line, ` +
|
|
86
|
-
`then terminate with: kill ${pids} (or kill -9 if a process survives). ` +
|
|
87
|
-
'FireForge never kills pre-existing processes automatically.');
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Doctor check reporting orphaned harness workers. Windows has no `ps`, so
|
|
91
|
-
* the check is skipped there (best-effort platform gap, matching the
|
|
92
|
-
* process-group reaper's POSIX-only sweep).
|
|
93
|
-
*/
|
|
94
|
-
export const ORPHANED_HARNESS_DOCTOR_CHECK = {
|
|
95
|
-
name: CHECK_NAME,
|
|
96
|
-
skipIf: () => process.platform === 'win32',
|
|
97
|
-
run: runOrphanedHarnessCheck,
|
|
98
|
-
};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The patch-manifest consistency check and its two repair paths, split out of
|
|
3
|
-
* `doctor.ts` for the line budget. Exports a single `DoctorCheckDefinition`
|
|
4
|
-
* consumed by the doctor registry. No registrar is exported and none is
|
|
5
|
-
* wanted.
|
|
6
|
-
*/
|
|
7
|
-
import type { DoctorCheckDefinition } from './doctor-check-core.js';
|
|
8
|
-
/** Patch manifest consistency check, with its opt-in repair paths. */
|
|
9
|
-
export declare const PATCH_MANIFEST_CONSISTENCY_CHECK: DoctorCheckDefinition;
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* The patch-manifest consistency check and its two repair paths, split out of
|
|
4
|
-
* `doctor.ts` for the line budget. Exports a single `DoctorCheckDefinition`
|
|
5
|
-
* consumed by the doctor registry. No registrar is exported and none is
|
|
6
|
-
* wanted.
|
|
7
|
-
*/
|
|
8
|
-
import { rebuildPatchesManifest, recommendManifestRepair, repairPatchesFilesAffected, validatePatchesManifestConsistency, } from '../core/patch-manifest.js';
|
|
9
|
-
import { FireForgeError } from '../errors/base.js';
|
|
10
|
-
import { toError } from '../utils/errors.js';
|
|
11
|
-
import { pathExists } from '../utils/fs.js';
|
|
12
|
-
import { info, warn } from '../utils/logger.js';
|
|
13
|
-
import { resolveWaitLockSeconds } from '../utils/options.js';
|
|
14
|
-
import { failure, ok, warning } from './doctor-check-core.js';
|
|
15
|
-
const CHECK_NAME = 'Patch manifest consistency';
|
|
16
|
-
/** Runs the narrow `filesAffected` repair over the drifted rows. */
|
|
17
|
-
async function runFilesAffectedRepair(ctx, issues) {
|
|
18
|
-
const drifted = issues.filter((issue) => issue.code === 'files-affected-mismatch');
|
|
19
|
-
const otherCodes = [
|
|
20
|
-
...new Set(issues.filter((issue) => issue.code !== 'files-affected-mismatch').map((issue) => issue.code)),
|
|
21
|
-
].sort((left, right) => left.localeCompare(right));
|
|
22
|
-
if (drifted.length === 0) {
|
|
23
|
-
return failure(CHECK_NAME, `--repair-files-affected has nothing to repair: no filesAffected drift, but ${issues.length} ` +
|
|
24
|
-
`other issue(s) remain (${otherCodes.join(', ')}).`, recommendManifestRepair(issues));
|
|
25
|
-
}
|
|
26
|
-
const dryRun = ctx.options.dryRun === true;
|
|
27
|
-
const result = await repairPatchesFilesAffected(ctx.paths.patches, drifted.map((issue) => issue.filename), {
|
|
28
|
-
waitLockSeconds: resolveWaitLockSeconds(ctx.options.waitLock),
|
|
29
|
-
command: 'doctor --repair-files-affected',
|
|
30
|
-
dryRun,
|
|
31
|
-
});
|
|
32
|
-
for (const repair of result.repairs) {
|
|
33
|
-
info(` ${describeFilesAffectedRepair(repair, dryRun)}`);
|
|
34
|
-
}
|
|
35
|
-
for (const filename of result.skippedFilenames) {
|
|
36
|
-
warn(`Skipped ${filename}: it has no manifest row, or no patch file on disk. ` +
|
|
37
|
-
'That is a different consistency issue — re-run doctor without --repair-files-affected ' +
|
|
38
|
-
'to see it reported.');
|
|
39
|
-
}
|
|
40
|
-
if (result.written) {
|
|
41
|
-
ctx.mutations.push(`patches/patches.json — filesAffected corrected on ${describeCount(result.repairs.length)} (--repair-files-affected)`);
|
|
42
|
-
}
|
|
43
|
-
const remaining = otherCodes.length > 0
|
|
44
|
-
? ` ${otherCodes.length} other issue type(s) remain: ${otherCodes.join(', ')}.`
|
|
45
|
-
: '';
|
|
46
|
-
if (otherCodes.length > 0) {
|
|
47
|
-
return failure(CHECK_NAME, `${summarizeFilesAffected(result.repairs.length, dryRun)}${remaining}`, recommendManifestRepair(issues.filter((issue) => issue.code !== 'files-affected-mismatch')));
|
|
48
|
-
}
|
|
49
|
-
return warning(CHECK_NAME, summarizeFilesAffected(result.repairs.length, dryRun));
|
|
50
|
-
}
|
|
51
|
-
function describeFilesAffectedRepair(repair, dryRun) {
|
|
52
|
-
const verb = dryRun ? 'would set' : 'set';
|
|
53
|
-
return `${repair.filename}: ${verb} filesAffected to ${repair.after.length} file(s) (was ${repair.before.length}).`;
|
|
54
|
-
}
|
|
55
|
-
function summarizeFilesAffected(count, dryRun) {
|
|
56
|
-
if (count === 0)
|
|
57
|
-
return 'No filesAffected drift to repair.';
|
|
58
|
-
return dryRun
|
|
59
|
-
? `Dry run — would correct filesAffected on ${describeCount(count)}. Nothing was written.`
|
|
60
|
-
: `Corrected filesAffected on ${describeCount(count)}. No other manifest field was touched.`;
|
|
61
|
-
}
|
|
62
|
-
function describeCount(count) {
|
|
63
|
-
return `${count} patch${count === 1 ? '' : 'es'}`;
|
|
64
|
-
}
|
|
65
|
-
/** Runs the whole-manifest rebuild. */
|
|
66
|
-
async function runManifestRebuild(ctx) {
|
|
67
|
-
// Repair stamps sourceEsrVersion into every recovered entry. If the
|
|
68
|
-
// earlier "fireforge.json is valid" check failed, ctx.config is
|
|
69
|
-
// undefined and we must refuse rather than fabricate a fallback.
|
|
70
|
-
// Persisting 'unknown' into manifest metadata is hard to reverse
|
|
71
|
-
// and would mislead every later command that reads it.
|
|
72
|
-
if (!ctx.config) {
|
|
73
|
-
return failure(CHECK_NAME, 'Cannot repair patches.json: fireforge.json could not be loaded, so the Firefox version to stamp into recovered manifest entries is unknown.', 'Fix the fireforge.json errors reported above and re-run "fireforge doctor --repair-patches-manifest". ' +
|
|
74
|
-
'If the drift is only in filesAffected, "fireforge doctor --repair-files-affected" needs no config.');
|
|
75
|
-
}
|
|
76
|
-
const dryRun = ctx.options.dryRun === true;
|
|
77
|
-
const repaired = await rebuildPatchesManifest(ctx.paths.patches, ctx.config.firefox.version, {
|
|
78
|
-
waitLockSeconds: resolveWaitLockSeconds(ctx.options.waitLock),
|
|
79
|
-
command: 'doctor --repair-patches-manifest',
|
|
80
|
-
dryRun,
|
|
81
|
-
...(ctx.options.allowMetadataLoss === true ? { allowMetadataLoss: true } : {}),
|
|
82
|
-
});
|
|
83
|
-
// The repair path must not silently overwrite human-written
|
|
84
|
-
// descriptions on recovered entries, which leaves the queue less
|
|
85
|
-
// trustworthy as an audit trail. The rebuilder returns the list of
|
|
86
|
-
// filenames whose metadata was entirely invented, named explicitly
|
|
87
|
-
// here so the operator knows which patches to review. Entries that
|
|
88
|
-
// were preserved (only `filesAffected` / ordering drifted) are not
|
|
89
|
-
// flagged.
|
|
90
|
-
for (const filename of repaired.recoveredFilenames) {
|
|
91
|
-
// Telling the operator to hand-edit patches.json contradicts the
|
|
92
|
-
// README and downstream docs, which treat the manifest as
|
|
93
|
-
// FireForge-owned. Point at the existing `re-export` / `export`
|
|
94
|
-
// workflow so the fix stays inside the tool: re-exporting the
|
|
95
|
-
// same files with an explicit `--description` overwrites the
|
|
96
|
-
// recovered entry with operator-supplied metadata and supersedes
|
|
97
|
-
// the mtime-based createdAt stamp.
|
|
98
|
-
warn(`Recovered manifest entry for ${filename} with generic description and mtime-based createdAt. ` +
|
|
99
|
-
'Re-export the affected files with `fireforge re-export <filename> --description "<your description>"` ' +
|
|
100
|
-
'(or `fireforge export <paths...> --name <name> --category <category> --description "<your description>"`) ' +
|
|
101
|
-
'to overwrite the reconstructed metadata, or accept the generic description if the original text is not recoverable. ' +
|
|
102
|
-
'Avoid hand-editing patches.json — FireForge owns that file and will regenerate it on the next manifest consistency pass.');
|
|
103
|
-
}
|
|
104
|
-
// A row whose patch file is gone is dropped by the rebuild. That is
|
|
105
|
-
// correct, since the patch file is the source of truth, but a manifest
|
|
106
|
-
// that quietly loses rows is what makes a repair hard to audit
|
|
107
|
-
// afterwards, so each one is named.
|
|
108
|
-
for (const filename of repaired.droppedFilenames) {
|
|
109
|
-
warn(`Dropped the manifest entry for ${filename}: no such patch file on disk. ` +
|
|
110
|
-
'Restore the .patch file and re-run the repair if the entry should have survived.');
|
|
111
|
-
}
|
|
112
|
-
if (repaired.written) {
|
|
113
|
-
ctx.mutations.push('patches/patches.json — rebuilt from the on-disk patch files (--repair-patches-manifest)');
|
|
114
|
-
}
|
|
115
|
-
const patchCount = repaired.manifest.patches.length;
|
|
116
|
-
const recovered = repaired.recoveredFilenames.length > 0
|
|
117
|
-
? ` (${repaired.recoveredFilenames.length} with reconstructed metadata — see warnings above)`
|
|
118
|
-
: '';
|
|
119
|
-
return warning(CHECK_NAME, dryRun
|
|
120
|
-
? `Dry run — would rebuild patches.json from ${describeCount(patchCount)}${recovered}. Nothing was written.`
|
|
121
|
-
: `Rebuilt patches.json from ${describeCount(patchCount)}${recovered}. Review recovered metadata before release.`);
|
|
122
|
-
}
|
|
123
|
-
/** Patch manifest consistency check, with its opt-in repair paths. */
|
|
124
|
-
export const PATCH_MANIFEST_CONSISTENCY_CHECK = {
|
|
125
|
-
name: CHECK_NAME,
|
|
126
|
-
dependsOn: ['fireforge.json is valid'],
|
|
127
|
-
run: async (ctx) => {
|
|
128
|
-
if (!(await pathExists(ctx.paths.patches))) {
|
|
129
|
-
return [];
|
|
130
|
-
}
|
|
131
|
-
const issues = await validatePatchesManifestConsistency(ctx.paths.patches);
|
|
132
|
-
if (issues.length === 0) {
|
|
133
|
-
return ok(CHECK_NAME);
|
|
134
|
-
}
|
|
135
|
-
const wantsFilesAffected = ctx.options.repairFilesAffected === true;
|
|
136
|
-
const wantsRebuild = ctx.options.repairPatchesManifest === true;
|
|
137
|
-
if (!wantsFilesAffected && !wantsRebuild) {
|
|
138
|
-
return failure(CHECK_NAME, issues.map((issue) => issue.message).join(' '), recommendManifestRepair(issues));
|
|
139
|
-
}
|
|
140
|
-
try {
|
|
141
|
-
return wantsFilesAffected
|
|
142
|
-
? await runFilesAffectedRepair(ctx, issues)
|
|
143
|
-
: await runManifestRebuild(ctx);
|
|
144
|
-
}
|
|
145
|
-
catch (err) {
|
|
146
|
-
const error = toError(err);
|
|
147
|
-
// A refusal from the repair itself already carries the remedy that
|
|
148
|
-
// fits it (which flag, which file to fix). Appending the generic hint
|
|
149
|
-
// under it buries the specific one and reads as a second, vaguer
|
|
150
|
-
// instruction. Only an unexpected throw gets the generic hint.
|
|
151
|
-
return error instanceof FireForgeError
|
|
152
|
-
? failure(CHECK_NAME, error.message)
|
|
153
|
-
: failure(CHECK_NAME, error.message, 'Repair failed. Fix the underlying patch metadata issue and retry the doctor command.');
|
|
154
|
-
}
|
|
155
|
-
},
|
|
156
|
-
};
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { readdir } from 'node:fs/promises';
|
|
3
|
-
import { join } from 'node:path';
|
|
4
|
-
import { toError } from '../utils/errors.js';
|
|
5
|
-
import { pathExists, readText } from '../utils/fs.js';
|
|
6
|
-
import { ok, warning } from './doctor-check-core.js';
|
|
7
|
-
async function readEngineText(engineDir, relativePath) {
|
|
8
|
-
const fullPath = join(engineDir, relativePath);
|
|
9
|
-
if (!(await pathExists(fullPath)))
|
|
10
|
-
return null;
|
|
11
|
-
return readText(fullPath);
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Collects every `browser.toml` under the engine's browser-chrome test tree.
|
|
15
|
-
*
|
|
16
|
-
* Reports unreadable directories separately from "none found": the consumer
|
|
17
|
-
* turns an empty result into the issue "no browser.toml files found", which is
|
|
18
|
-
* the opposite diagnosis from "the tree could not be read". A swallowed
|
|
19
|
-
* mid-walk EACCES also silently shrank the result set, so one unreadable
|
|
20
|
-
* subdirectory produced a false clean for that subtree.
|
|
21
|
-
*/
|
|
22
|
-
async function collectBrowserTomlFiles(root) {
|
|
23
|
-
const testRoot = join(root, 'browser/base/content/test');
|
|
24
|
-
if (!(await pathExists(testRoot)))
|
|
25
|
-
return { files: [], unreadable: [] };
|
|
26
|
-
const result = [];
|
|
27
|
-
const unreadable = [];
|
|
28
|
-
async function walk(absDir, relDir) {
|
|
29
|
-
let entries;
|
|
30
|
-
try {
|
|
31
|
-
entries = await readdir(absDir, { withFileTypes: true });
|
|
32
|
-
}
|
|
33
|
-
catch (error) {
|
|
34
|
-
unreadable.push(`${relDir || '.'} (${toError(error).message})`);
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
for (const entry of entries) {
|
|
38
|
-
const relPath = relDir ? `${relDir}/${entry.name}` : entry.name;
|
|
39
|
-
const absPath = join(absDir, entry.name);
|
|
40
|
-
if (entry.isDirectory()) {
|
|
41
|
-
await walk(absPath, relPath);
|
|
42
|
-
}
|
|
43
|
-
else if (entry.isFile() && entry.name === 'browser.toml') {
|
|
44
|
-
result.push(`browser/base/content/test/${relPath}`);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
await walk(testRoot, '');
|
|
49
|
-
return { files: result.sort(), unreadable };
|
|
50
|
-
}
|
|
51
|
-
async function runPostRebaseAudit(ctx) {
|
|
52
|
-
const issues = [];
|
|
53
|
-
const engineDir = ctx.paths.engine;
|
|
54
|
-
// The four probes below are upstream-Firefox shape markers: each names a
|
|
55
|
-
// file and a token that a healthy post-rebase tree must still contain. A
|
|
56
|
-
// rebase that dropped a fork patch, or an upstream reorganisation, shows up
|
|
57
|
-
// as one of these going missing. The tokens are coarse on purpose: this
|
|
58
|
-
// is a smoke check that runs warn-only behind an opt-in flag, not a
|
|
59
|
-
// structural validator.
|
|
60
|
-
const mozConfigure = await readEngineText(engineDir, 'browser/moz.configure');
|
|
61
|
-
if (mozConfigure === null) {
|
|
62
|
-
issues.push('browser/moz.configure is missing');
|
|
63
|
-
}
|
|
64
|
-
else if (!mozConfigure.includes('BROWSER_CHROME_URL')) {
|
|
65
|
-
issues.push('browser/moz.configure does not mention BROWSER_CHROME_URL');
|
|
66
|
-
}
|
|
67
|
-
const browserJar = await readEngineText(engineDir, 'browser/base/jar.mn');
|
|
68
|
-
if (browserJar === null) {
|
|
69
|
-
issues.push('browser/base/jar.mn is missing');
|
|
70
|
-
}
|
|
71
|
-
else if (!/\.xhtml\b/.test(browserJar)) {
|
|
72
|
-
issues.push('browser/base/jar.mn has no chrome document .xhtml entries');
|
|
73
|
-
}
|
|
74
|
-
const customElements = await readEngineText(engineDir, 'toolkit/content/customElements.js');
|
|
75
|
-
if (customElements === null) {
|
|
76
|
-
issues.push('toolkit/content/customElements.js is missing');
|
|
77
|
-
}
|
|
78
|
-
else if (!customElements.includes('customElements')) {
|
|
79
|
-
issues.push('toolkit/content/customElements.js does not contain customElements registrations');
|
|
80
|
-
}
|
|
81
|
-
const toolkitJar = await readEngineText(engineDir, 'toolkit/content/jar.mn');
|
|
82
|
-
if (toolkitJar === null) {
|
|
83
|
-
issues.push('toolkit/content/jar.mn is missing');
|
|
84
|
-
}
|
|
85
|
-
else if (!toolkitJar.includes('content/global/widgets/') &&
|
|
86
|
-
!toolkitJar.includes('content/global/elements/')) {
|
|
87
|
-
issues.push('toolkit/content/jar.mn has no widget/element exposure entries');
|
|
88
|
-
}
|
|
89
|
-
const browserTomls = await collectBrowserTomlFiles(engineDir);
|
|
90
|
-
if (browserTomls.unreadable.length > 0) {
|
|
91
|
-
issues.push(`could not read ${browserTomls.unreadable.length} ` +
|
|
92
|
-
`${browserTomls.unreadable.length === 1 ? 'directory' : 'directories'} under ` +
|
|
93
|
-
`browser/base/content/test: ${browserTomls.unreadable.join(', ')}`);
|
|
94
|
-
}
|
|
95
|
-
else if (browserTomls.files.length === 0) {
|
|
96
|
-
issues.push('no browser.toml files found under browser/base/content/test');
|
|
97
|
-
}
|
|
98
|
-
if (issues.length === 0) {
|
|
99
|
-
return ok('Post-rebase registration audit');
|
|
100
|
-
}
|
|
101
|
-
return warning('Post-rebase registration audit', `${issues.length} suspicious registration surface${issues.length === 1 ? '' : 's'}: ${issues.join('; ')}.`, 'Inspect the named engine paths, refresh any drifted registration patches, then re-run "fireforge doctor --post-rebase-audit".');
|
|
102
|
-
}
|
|
103
|
-
export const POST_REBASE_AUDIT_CHECK = {
|
|
104
|
-
name: 'Post-rebase registration audit',
|
|
105
|
-
skipIf: (ctx) => !ctx.options.postRebaseAudit || !ctx.engineExists,
|
|
106
|
-
dependsOn: ['fireforge.json is valid'],
|
|
107
|
-
run: runPostRebaseAudit,
|
|
108
|
-
};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Doctor check comparing the configured Firefox source pin against what the
|
|
3
|
-
* engine checkout actually is.
|
|
4
|
-
*
|
|
5
|
-
* `fireforge source set` lands `firefox.version` inside `fireforge.json`,
|
|
6
|
-
* beside hand-maintained policy sections. That is convenient and it is also
|
|
7
|
-
* the whole problem: a routine `git checkout -- fireforge.json` (undoing an
|
|
8
|
-
* accidental reformat, say) silently reverts an uncommitted pin along with
|
|
9
|
-
* it, and nothing afterwards reports that the pin and the checkout have
|
|
10
|
-
* diverged. In the field this showed up as a gate flipping green with no
|
|
11
|
-
* change that should have made it green.
|
|
12
|
-
*
|
|
13
|
-
* This is not a lock and not a refusal: a tree may legitimately be
|
|
14
|
-
* mid-migration between two versions. It only makes a mismatched tree
|
|
15
|
-
* visible, which is all that was missing.
|
|
16
|
-
*
|
|
17
|
-
* Scope is limited by what is actually recorded. `firefox.product`,
|
|
18
|
-
* `firefox.sha256` and `firefox.candidate` have no counterpart anywhere on
|
|
19
|
-
* disk (`.fireforge/state.json` records only `downloadedVersion` and
|
|
20
|
-
* `baseCommit`), so there is nothing to compare them against and the check
|
|
21
|
-
* says nothing about them rather than implying it verified them.
|
|
22
|
-
*/
|
|
23
|
-
import type { DoctorCheckDefinition } from './doctor-check-core.js';
|
|
24
|
-
/**
|
|
25
|
-
* Pin-vs-checkout reporting. Needs the loaded config, so it declares the
|
|
26
|
-
* dependency on the config check that populates `ctx.config`. It is skipped
|
|
27
|
-
* entirely without an engine, where there is nothing to compare.
|
|
28
|
-
*/
|
|
29
|
-
export declare const SOURCE_PIN_DOCTOR_CHECK: DoctorCheckDefinition;
|