@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,436 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { readdir } from 'node:fs/promises';
|
|
3
|
-
import { join, relative, resolve, sep } from 'node:path';
|
|
4
|
-
import { GeneralError } from '../errors/base.js';
|
|
5
|
-
import { AmbiguousBuildArtifactsError } from '../errors/build.js';
|
|
6
|
-
import { toError } from '../utils/errors.js';
|
|
7
|
-
import { pathExists, readJson, readText, writeJson } from '../utils/fs.js';
|
|
8
|
-
import { verbose } from '../utils/logger.js';
|
|
9
|
-
import { getPlatform } from '../utils/platform.js';
|
|
10
|
-
import { isObject, isString } from '../utils/validation.js';
|
|
11
|
-
import { extractMozObjdirName } from './mach-mozconfig.js';
|
|
12
|
-
import { findStaleObjdirLink, relocateObjdirProducts } from './objdir-maintenance.js';
|
|
13
|
-
function validateBuildMozinfo(data) {
|
|
14
|
-
if (!isObject(data)) {
|
|
15
|
-
throw new Error('mozinfo metadata must be an object');
|
|
16
|
-
}
|
|
17
|
-
const mozinfo = {};
|
|
18
|
-
if (data['topsrcdir'] !== undefined) {
|
|
19
|
-
if (!isString(data['topsrcdir'])) {
|
|
20
|
-
throw new Error('mozinfo.topsrcdir must be a string');
|
|
21
|
-
}
|
|
22
|
-
mozinfo.topsrcdir = data['topsrcdir'];
|
|
23
|
-
}
|
|
24
|
-
if (data['topobjdir'] !== undefined) {
|
|
25
|
-
if (!isString(data['topobjdir'])) {
|
|
26
|
-
throw new Error('mozinfo.topobjdir must be a string');
|
|
27
|
-
}
|
|
28
|
-
mozinfo.topobjdir = data['topobjdir'];
|
|
29
|
-
}
|
|
30
|
-
if (data['mozconfig'] !== undefined) {
|
|
31
|
-
if (!isString(data['mozconfig'])) {
|
|
32
|
-
throw new Error('mozinfo.mozconfig must be a string');
|
|
33
|
-
}
|
|
34
|
-
mozinfo.mozconfig = data['mozconfig'];
|
|
35
|
-
}
|
|
36
|
-
return mozinfo;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Reads the objdir name the engine's mozconfig declares, or undefined when
|
|
40
|
-
* there is no mozconfig, it cannot be read, or it declares nothing.
|
|
41
|
-
*
|
|
42
|
-
* Fail-open: this only ever narrows an ambiguity that would
|
|
43
|
-
* otherwise refuse, so an unreadable mozconfig costs nothing beyond the
|
|
44
|
-
* refusal the caller was already going to raise.
|
|
45
|
-
*/
|
|
46
|
-
async function readDeclaredObjDirName(engineDir) {
|
|
47
|
-
try {
|
|
48
|
-
const mozconfigPath = join(engineDir, 'mozconfig');
|
|
49
|
-
if (!(await pathExists(mozconfigPath)))
|
|
50
|
-
return undefined;
|
|
51
|
-
return extractMozObjdirName(await readText(mozconfigPath));
|
|
52
|
-
}
|
|
53
|
-
catch (error) {
|
|
54
|
-
verbose(`Could not read mozconfig for MOZ_OBJDIR: ${toError(error).message}`);
|
|
55
|
-
return undefined;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Checks if build artifacts exist in the engine directory.
|
|
60
|
-
* Looks for obj-* directories with a dist subdirectory. Detection is
|
|
61
|
-
* symlink-agnostic on purpose: building/running against a symlinked
|
|
62
|
-
* objdir in place is the user's own arrangement. The clone path, where a
|
|
63
|
-
* symlink would route writes into the original build, refuses separately
|
|
64
|
-
* (`assertCloneSafeObjdir` in tree-store.ts).
|
|
65
|
-
* @param engineDir - Path to the engine directory
|
|
66
|
-
* @returns Build artifact check result
|
|
67
|
-
*/
|
|
68
|
-
export async function hasBuildArtifacts(engineDir) {
|
|
69
|
-
try {
|
|
70
|
-
const entries = await readdir(engineDir);
|
|
71
|
-
const objDirs = entries.filter((e) => e.startsWith('obj-')).sort();
|
|
72
|
-
if (objDirs.length === 0) {
|
|
73
|
-
return { exists: false };
|
|
74
|
-
}
|
|
75
|
-
const validObjDirs = [];
|
|
76
|
-
for (const objDir of objDirs) {
|
|
77
|
-
const distPath = join(engineDir, objDir, 'dist');
|
|
78
|
-
if (await pathExists(distPath)) {
|
|
79
|
-
validObjDirs.push(objDir);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
if (validObjDirs.length === 0) {
|
|
83
|
-
const firstObjDir = objDirs[0];
|
|
84
|
-
return firstObjDir ? { exists: false, objDir: firstObjDir } : { exists: false };
|
|
85
|
-
}
|
|
86
|
-
let resolvedObjDirs = validObjDirs;
|
|
87
|
-
let declaredObjDir;
|
|
88
|
-
if (validObjDirs.length > 1) {
|
|
89
|
-
// An ambiguous glob is a question the mozconfig may already answer.
|
|
90
|
-
// Refusing when the active configuration names the objdir sends the
|
|
91
|
-
// operator to rename a directory to satisfy a scan, when the thing
|
|
92
|
-
// that decides the build has said which one it is. The refusal is
|
|
93
|
-
// kept for the genuinely ambiguous case: a declaration that does not
|
|
94
|
-
// resolve to exactly one candidate selects nothing.
|
|
95
|
-
declaredObjDir = await readDeclaredObjDirName(engineDir);
|
|
96
|
-
const declaredMatches = declaredObjDir === undefined
|
|
97
|
-
? []
|
|
98
|
-
: validObjDirs.filter((candidate) => candidate === declaredObjDir);
|
|
99
|
-
if (declaredMatches.length === 1) {
|
|
100
|
-
verbose(`Objdir ambiguity resolved by mozconfig MOZ_OBJDIR: ${declaredMatches[0] ?? ''}.`);
|
|
101
|
-
resolvedObjDirs = declaredMatches;
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
return {
|
|
105
|
-
exists: true,
|
|
106
|
-
ambiguous: true,
|
|
107
|
-
objDirs: validObjDirs,
|
|
108
|
-
...(declaredObjDir !== undefined ? { declaredObjDir } : {}),
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
const selectedObjDir = resolvedObjDirs[0];
|
|
113
|
-
if (!selectedObjDir) {
|
|
114
|
-
return { exists: false };
|
|
115
|
-
}
|
|
116
|
-
const mozinfoPath = join(engineDir, selectedObjDir, 'mozinfo.json');
|
|
117
|
-
if (await pathExists(mozinfoPath)) {
|
|
118
|
-
try {
|
|
119
|
-
const mozinfo = validateBuildMozinfo(await readJson(mozinfoPath));
|
|
120
|
-
const expectedSrcDir = resolve(engineDir);
|
|
121
|
-
const expectedObjDir = resolve(engineDir, selectedObjDir);
|
|
122
|
-
const actualSrcDir = mozinfo.topsrcdir ? resolve(mozinfo.topsrcdir) : undefined;
|
|
123
|
-
const actualObjDir = mozinfo.topobjdir ? resolve(mozinfo.topobjdir) : undefined;
|
|
124
|
-
if ((actualSrcDir !== undefined && actualSrcDir !== expectedSrcDir) ||
|
|
125
|
-
(actualObjDir !== undefined && actualObjDir !== expectedObjDir)) {
|
|
126
|
-
return {
|
|
127
|
-
exists: true,
|
|
128
|
-
objDir: selectedObjDir,
|
|
129
|
-
metadataMismatch: {
|
|
130
|
-
objDir: selectedObjDir,
|
|
131
|
-
...(mozinfo.topsrcdir ? { topsrcdir: mozinfo.topsrcdir } : {}),
|
|
132
|
-
...(mozinfo.topobjdir ? { topobjdir: mozinfo.topobjdir } : {}),
|
|
133
|
-
...(mozinfo.mozconfig ? { mozconfig: mozinfo.mozconfig } : {}),
|
|
134
|
-
},
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
catch (error) {
|
|
139
|
-
verbose(`Ignoring invalid mozinfo metadata in ${selectedObjDir}: ${toError(error).message}`);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
return { exists: true, objDir: selectedObjDir };
|
|
143
|
-
}
|
|
144
|
-
catch {
|
|
145
|
-
return { exists: false };
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Checks whether the built browser's launchable binary exists under
|
|
150
|
-
* `<engineDir>/<objDir>/dist/...`. `hasBuildArtifacts` only confirms that
|
|
151
|
-
* an obj tree with a `dist/` subdir exists. A partial or in-progress build
|
|
152
|
-
* can satisfy that check without ever writing the executable, which is the
|
|
153
|
-
* failure mode that makes `fireforge run` throw `mach run` after having
|
|
154
|
-
* reported the build as usable. Separating the probes lets `run` fail fast
|
|
155
|
-
* with a precise message and `watch` stay permissive (it exists to drive
|
|
156
|
-
* rebuilds of incomplete trees) while still reporting the bundle state in
|
|
157
|
-
* its startup banner.
|
|
158
|
-
*
|
|
159
|
-
* Platform layout:
|
|
160
|
-
* - macOS: `<objDir>/dist/*.app/Contents/MacOS/<binaryName>` (the `.app`
|
|
161
|
-
* display casing can differ from `binaryName`, e.g. `MyBrowser.app` for
|
|
162
|
-
* binary `mybrowser`, so we enumerate the `*.app` bundles rather than
|
|
163
|
-
* compute the name.
|
|
164
|
-
* - Linux: `<objDir>/dist/bin/<binaryName>`.
|
|
165
|
-
* - Windows: `<objDir>/dist/bin/<binaryName>.exe`.
|
|
166
|
-
*
|
|
167
|
-
* Returns `runnable: false` with no `expectedPath` when the `objDir`
|
|
168
|
-
* itself cannot be scanned. Same degraded contract as `hasBuildArtifacts`.
|
|
169
|
-
*
|
|
170
|
-
* @param engineDir Path to the engine directory
|
|
171
|
-
* @param binaryName Lowercase binary name from `fireforge.json`
|
|
172
|
-
* @param objDir The single matching `obj-*` directory name (caller
|
|
173
|
-
* resolves it, typically from `hasBuildArtifacts().objDir`)
|
|
174
|
-
* @returns Structured check result
|
|
175
|
-
*/
|
|
176
|
-
export async function hasRunnableBundle(engineDir, binaryName, objDir) {
|
|
177
|
-
const platform = getPlatform();
|
|
178
|
-
const distDir = join(engineDir, objDir, 'dist');
|
|
179
|
-
if (!(await pathExists(distDir))) {
|
|
180
|
-
return { runnable: false };
|
|
181
|
-
}
|
|
182
|
-
if (platform === 'darwin') {
|
|
183
|
-
let entries;
|
|
184
|
-
try {
|
|
185
|
-
entries = await readdir(distDir, { withFileTypes: true });
|
|
186
|
-
}
|
|
187
|
-
catch {
|
|
188
|
-
// No readable dist directory means no runnable bundle, which is exactly
|
|
189
|
-
// what the caller needs to know.
|
|
190
|
-
return { runnable: false };
|
|
191
|
-
}
|
|
192
|
-
for (const entry of entries) {
|
|
193
|
-
if (!entry.isDirectory())
|
|
194
|
-
continue;
|
|
195
|
-
if (!entry.name.endsWith('.app'))
|
|
196
|
-
continue;
|
|
197
|
-
const candidate = join(distDir, entry.name, 'Contents', 'MacOS', binaryName);
|
|
198
|
-
if (await pathExists(candidate)) {
|
|
199
|
-
return { runnable: true, expectedPath: relative(engineDir, candidate) };
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
// Report an expected-but-missing path rooted at the first .app bundle we
|
|
203
|
-
// can see, or a synthetic path when no bundle exists yet, so the error
|
|
204
|
-
// message names something the operator can look for on disk.
|
|
205
|
-
const firstApp = entries.find((e) => e.isDirectory() && e.name.endsWith('.app'));
|
|
206
|
-
const expected = firstApp
|
|
207
|
-
? relative(engineDir, join(distDir, firstApp.name, 'Contents', 'MacOS', binaryName))
|
|
208
|
-
: relative(engineDir, join(distDir, `<AppName>.app/Contents/MacOS/${binaryName}`));
|
|
209
|
-
return { runnable: false, expectedPath: expected };
|
|
210
|
-
}
|
|
211
|
-
const binaryFile = platform === 'win32' ? `${binaryName}.exe` : binaryName;
|
|
212
|
-
const candidate = join(distDir, 'bin', binaryFile);
|
|
213
|
-
const expectedPath = relative(engineDir, candidate);
|
|
214
|
-
if (await pathExists(candidate)) {
|
|
215
|
-
return { runnable: true, expectedPath };
|
|
216
|
-
}
|
|
217
|
-
return { runnable: false, expectedPath };
|
|
218
|
-
}
|
|
219
|
-
/** Builds a user-facing explanation when detected build artifacts belong to another workspace. */
|
|
220
|
-
export function buildArtifactMismatchMessage(engineDir, buildCheck, commandName) {
|
|
221
|
-
if (!buildCheck.metadataMismatch || !buildCheck.objDir) {
|
|
222
|
-
return undefined;
|
|
223
|
-
}
|
|
224
|
-
const expectedObjDir = join(engineDir, buildCheck.objDir);
|
|
225
|
-
const details = [`Current engine: ${engineDir}`, `Detected objdir: ${expectedObjDir}`];
|
|
226
|
-
if (buildCheck.metadataMismatch.topsrcdir) {
|
|
227
|
-
details.push(`mozinfo topsrcdir: ${buildCheck.metadataMismatch.topsrcdir}`);
|
|
228
|
-
}
|
|
229
|
-
if (buildCheck.metadataMismatch.topobjdir) {
|
|
230
|
-
details.push(`mozinfo topobjdir: ${buildCheck.metadataMismatch.topobjdir}`);
|
|
231
|
-
}
|
|
232
|
-
if (buildCheck.metadataMismatch.mozconfig) {
|
|
233
|
-
details.push(`mozinfo mozconfig: ${buildCheck.metadataMismatch.mozconfig}`);
|
|
234
|
-
}
|
|
235
|
-
return (`${commandName} cannot use copied or relocated build artifacts whose metadata still points at a different Firefox workspace.\n\n` +
|
|
236
|
-
`${details.join('\n')}\n\n` +
|
|
237
|
-
'Delete the stale obj-* directory in this workspace and run "fireforge build" again so mach regenerates build metadata for the current checkout.\n' +
|
|
238
|
-
'If the workspace was simply moved (same tree, different prefix), "fireforge build --rewrite-mozinfo" will patch mozinfo.json paths in place and run mach configure instead of scrubbing the whole tree.');
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* Safe-relocation rewriter for mozinfo.json under the active obj-* tree.
|
|
242
|
-
*
|
|
243
|
-
* Copied objdirs retain source symlinks, dependency metadata and tracking
|
|
244
|
-
* inventories as well as mozinfo.json. Repair them before configure so
|
|
245
|
-
* config.track cannot write nulls into the primary checkout. Configure then
|
|
246
|
-
* regenerates the root config files; callers verify old-source links too.
|
|
247
|
-
*
|
|
248
|
-
* Safety rules. The rewrite is refused when any of them are violated:
|
|
249
|
-
* - `topsrcdir` and `topobjdir` must both be present and non-empty.
|
|
250
|
-
* - `topobjdir` must resolve to `<topsrcdir>/<objDir>`. A non-in-tree
|
|
251
|
-
* objdir means the previous workspace was configured differently,
|
|
252
|
-
* so a blind prefix-rewrite could point mach at the wrong tree.
|
|
253
|
-
* - The computed new `topobjdir` must be `<engineDir>/<objDir>`. If it
|
|
254
|
-
* is not, the objDir name itself changed and we cannot prove safety.
|
|
255
|
-
*
|
|
256
|
-
* When any rule trips, the caller should fall back to the clean-rebuild
|
|
257
|
-
* instruction, which is always a correct (if expensive) recovery path.
|
|
258
|
-
*
|
|
259
|
-
* @param engineDir Absolute path to the current engine checkout.
|
|
260
|
-
* @param objDir Name of the obj-* directory to rewrite against.
|
|
261
|
-
* @returns Result object. Callers inspect `rewritten` and surface `reason`.
|
|
262
|
-
*/
|
|
263
|
-
export async function attemptMozinfoRewrite(engineDir, objDir) {
|
|
264
|
-
const mozinfoPath = join(engineDir, objDir, 'mozinfo.json');
|
|
265
|
-
if (!(await pathExists(mozinfoPath))) {
|
|
266
|
-
return { rewritten: false, reason: 'mozinfo.json not found in obj directory' };
|
|
267
|
-
}
|
|
268
|
-
let raw;
|
|
269
|
-
try {
|
|
270
|
-
raw = await readJson(mozinfoPath);
|
|
271
|
-
}
|
|
272
|
-
catch (error) {
|
|
273
|
-
return { rewritten: false, reason: `mozinfo.json is unreadable: ${toError(error).message}` };
|
|
274
|
-
}
|
|
275
|
-
if (!isObject(raw)) {
|
|
276
|
-
return { rewritten: false, reason: 'mozinfo.json is not a JSON object' };
|
|
277
|
-
}
|
|
278
|
-
let mozinfo;
|
|
279
|
-
try {
|
|
280
|
-
mozinfo = validateBuildMozinfo(raw);
|
|
281
|
-
}
|
|
282
|
-
catch (error) {
|
|
283
|
-
return { rewritten: false, reason: toError(error).message };
|
|
284
|
-
}
|
|
285
|
-
const oldSrc = mozinfo.topsrcdir;
|
|
286
|
-
const oldObj = mozinfo.topobjdir;
|
|
287
|
-
if (!oldSrc || !oldObj) {
|
|
288
|
-
return {
|
|
289
|
-
rewritten: false,
|
|
290
|
-
reason: 'mozinfo.json is missing topsrcdir or topobjdir; cannot rewrite safely',
|
|
291
|
-
};
|
|
292
|
-
}
|
|
293
|
-
const oldSrcResolved = resolve(oldSrc);
|
|
294
|
-
const oldObjResolved = resolve(oldObj);
|
|
295
|
-
const insideTree = oldObjResolved === oldSrcResolved ||
|
|
296
|
-
oldObjResolved.startsWith(oldSrcResolved + sep) ||
|
|
297
|
-
oldObjResolved.startsWith(oldSrcResolved + '/');
|
|
298
|
-
if (!insideTree) {
|
|
299
|
-
return {
|
|
300
|
-
rewritten: false,
|
|
301
|
-
reason: `topobjdir (${oldObjResolved}) is not inside topsrcdir (${oldSrcResolved}) — rewrite would change workspace layout`,
|
|
302
|
-
};
|
|
303
|
-
}
|
|
304
|
-
const relativeObj = relative(oldSrcResolved, oldObjResolved).split(sep).join('/');
|
|
305
|
-
if (relativeObj !== objDir) {
|
|
306
|
-
return {
|
|
307
|
-
rewritten: false,
|
|
308
|
-
reason: `mozinfo objdir "${relativeObj}" does not match detected objdir "${objDir}" — rewrite would change the obj directory name`,
|
|
309
|
-
};
|
|
310
|
-
}
|
|
311
|
-
const newSrc = resolve(engineDir);
|
|
312
|
-
const newObj = resolve(engineDir, objDir);
|
|
313
|
-
const patched = { ...raw, topsrcdir: newSrc, topobjdir: newObj };
|
|
314
|
-
let newMozconfig;
|
|
315
|
-
if (mozinfo.mozconfig) {
|
|
316
|
-
const oldMozconfigResolved = resolve(mozinfo.mozconfig);
|
|
317
|
-
if (oldMozconfigResolved === oldSrcResolved ||
|
|
318
|
-
oldMozconfigResolved.startsWith(oldSrcResolved + sep) ||
|
|
319
|
-
oldMozconfigResolved.startsWith(oldSrcResolved + '/')) {
|
|
320
|
-
const rel = relative(oldSrcResolved, oldMozconfigResolved);
|
|
321
|
-
newMozconfig = resolve(newSrc, rel);
|
|
322
|
-
patched['mozconfig'] = newMozconfig;
|
|
323
|
-
}
|
|
324
|
-
// A mozconfig living outside the old topsrcdir is left as-is. It
|
|
325
|
-
// probably points at a shared configuration file the user kept in
|
|
326
|
-
// place across the relocation. A relocated checkout that also moved
|
|
327
|
-
// its mozconfig will still fail configure. The operator can re-point
|
|
328
|
-
// with `MOZCONFIG=…` or run a full clean rebuild.
|
|
329
|
-
}
|
|
330
|
-
try {
|
|
331
|
-
await relocateObjdirProducts(engineDir, objDir, oldSrcResolved);
|
|
332
|
-
}
|
|
333
|
-
catch (error) {
|
|
334
|
-
return { rewritten: false, reason: `objdir relocation refused: ${toError(error).message}` };
|
|
335
|
-
}
|
|
336
|
-
await writeJson(mozinfoPath, patched);
|
|
337
|
-
return {
|
|
338
|
-
rewritten: true,
|
|
339
|
-
newTopsrcdir: newSrc,
|
|
340
|
-
oldTopsrcdir: oldSrcResolved,
|
|
341
|
-
newTopobjdir: newObj,
|
|
342
|
-
...(newMozconfig ? { newMozconfig } : {}),
|
|
343
|
-
};
|
|
344
|
-
}
|
|
345
|
-
/**
|
|
346
|
-
* Shared build-artifact preflight: rejects ambiguous multi-objdir checkouts,
|
|
347
|
-
* artifacts whose metadata points at another tree, and (when
|
|
348
|
-
* `requireExisting`) missing or incomplete builds, each with the actionable
|
|
349
|
-
* message for that case.
|
|
350
|
-
*
|
|
351
|
-
* Takes an already-probed {@link BuildArtifactCheck} rather than probing
|
|
352
|
-
* itself, so it stays a pure validator: callers keep their own
|
|
353
|
-
* `hasBuildArtifacts` call (which their suites already stub) and this
|
|
354
|
-
* function needs no test double of its own.
|
|
355
|
-
*/
|
|
356
|
-
export function assertBuildArtifacts(engineDir, buildCheck, options) {
|
|
357
|
-
if (buildCheck.ambiguous && buildCheck.objDirs && buildCheck.objDirs.length > 0) {
|
|
358
|
-
throw new AmbiguousBuildArtifactsError(buildCheck.objDirs, buildCheck.declaredObjDir);
|
|
359
|
-
}
|
|
360
|
-
const mismatchMessage = buildArtifactMismatchMessage(engineDir, buildCheck, options.label);
|
|
361
|
-
if (mismatchMessage) {
|
|
362
|
-
throw new GeneralError(mismatchMessage);
|
|
363
|
-
}
|
|
364
|
-
if (options.requireExisting && !buildCheck.exists) {
|
|
365
|
-
const detail = buildCheck.objDir
|
|
366
|
-
? `Build artifacts incomplete in ${buildCheck.objDir}/`
|
|
367
|
-
: 'No build artifacts found (obj-*/ directory missing)';
|
|
368
|
-
throw new GeneralError(`${options.requirement} ${detail}\n\n${options.remediation}`);
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
/**
|
|
372
|
-
* Post-`mach configure` relocation check for a cloned objdir: confirms
|
|
373
|
-
* configure actually regenerated `<engineDir>/<objDir>` and that none of
|
|
374
|
-
* the four configure-generated root files (`config.status`, `backend.mk`,
|
|
375
|
-
* `Makefile`, `config/autoconf.mk`) still names `forbiddenDir` (the
|
|
376
|
-
* primary engine a relocated clone must never consult). Exit code 0 alone
|
|
377
|
-
* proves neither: a stray MOZCONFIG/MOZ_OBJDIR can steer configure at a
|
|
378
|
-
* different objdir entirely. Nested Makefiles are products of the verified
|
|
379
|
-
* `config.status` and are not scanned. `.deps` files are build products a
|
|
380
|
-
* configure cannot regenerate and are explicitly out of scope, and any
|
|
381
|
-
* primary-path strings they retain are read-only staleness corrected by
|
|
382
|
-
* the first in-tree rebuild. Pure checker: returns a human-readable
|
|
383
|
-
* violation, or `undefined` when clean. Callers own the error type and
|
|
384
|
-
* remediation copy. Unreadable metadata is itself a violation (fail
|
|
385
|
-
* closed).
|
|
386
|
-
*/
|
|
387
|
-
export async function findObjdirRelocationViolation(args) {
|
|
388
|
-
const { engineDir, objDir, forbiddenDir } = args;
|
|
389
|
-
const objDirPath = join(engineDir, objDir);
|
|
390
|
-
if (!(await pathExists(join(objDirPath, 'config.status')))) {
|
|
391
|
-
return (`${objDir}/config.status was not written — mach configure may have targeted a ` +
|
|
392
|
-
'different objdir (check MOZCONFIG / MOZ_OBJDIR)');
|
|
393
|
-
}
|
|
394
|
-
let mozinfo;
|
|
395
|
-
try {
|
|
396
|
-
mozinfo = validateBuildMozinfo(await readJson(join(objDirPath, 'mozinfo.json')));
|
|
397
|
-
}
|
|
398
|
-
catch (error) {
|
|
399
|
-
return `${objDir}/mozinfo.json could not be read after configure: ${toError(error).message}`;
|
|
400
|
-
}
|
|
401
|
-
const expectedSrcDir = resolve(engineDir);
|
|
402
|
-
const expectedObjDir = resolve(objDirPath);
|
|
403
|
-
const actualSrcDir = mozinfo.topsrcdir ? resolve(mozinfo.topsrcdir) : undefined;
|
|
404
|
-
const actualObjDir = mozinfo.topobjdir ? resolve(mozinfo.topobjdir) : undefined;
|
|
405
|
-
if (actualSrcDir !== expectedSrcDir) {
|
|
406
|
-
return `${objDir}/mozinfo.json topsrcdir resolves to ${actualSrcDir ?? '(absent)'}, expected ${expectedSrcDir}`;
|
|
407
|
-
}
|
|
408
|
-
if (actualObjDir !== expectedObjDir) {
|
|
409
|
-
return `${objDir}/mozinfo.json topobjdir resolves to ${actualObjDir ?? '(absent)'}, expected ${expectedObjDir}`;
|
|
410
|
-
}
|
|
411
|
-
// The canonical no-primary-paths assertion (mirrored by the opt-in
|
|
412
|
-
// real-mach proof in scripts/run-full-firefox-integration.mjs): substring
|
|
413
|
-
// search on the resolved primary engine dir is collision-safe against the
|
|
414
|
-
// tree's own paths: `<primary>/.fireforge/trees/<name>/engine` never
|
|
415
|
-
// contains the substring `<primary>/engine`. Scans exactly the
|
|
416
|
-
// configure-generated root files. `config.status` is mandatory (checked
|
|
417
|
-
// above), the rest are optional-if-absent because not every configure
|
|
418
|
-
// backend writes them.
|
|
419
|
-
const forbidden = resolve(forbiddenDir);
|
|
420
|
-
for (const name of ['config.status', 'backend.mk', 'Makefile', 'config/autoconf.mk']) {
|
|
421
|
-
const filePath = join(objDirPath, ...name.split('/'));
|
|
422
|
-
if (name !== 'config.status' && !(await pathExists(filePath)))
|
|
423
|
-
continue;
|
|
424
|
-
let content;
|
|
425
|
-
try {
|
|
426
|
-
content = await readText(filePath);
|
|
427
|
-
}
|
|
428
|
-
catch (error) {
|
|
429
|
-
return `${objDir}/${name} could not be read after configure: ${toError(error).message}`;
|
|
430
|
-
}
|
|
431
|
-
if (content.includes(forbidden)) {
|
|
432
|
-
return `${objDir}/${name} still contains the primary engine path ${forbidden}`;
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
return await findStaleObjdirLink(engineDir, objDir, forbidden);
|
|
436
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pattern-based translator for cryptic mozbuild / mach errors.
|
|
3
|
-
*
|
|
4
|
-
* Each entry maps a stderr regex to an actionable hint. The goal is narrow:
|
|
5
|
-
* convert the handful of errors whose message is non-obvious into a one-line
|
|
6
|
-
* "here's what to change", rather than parse every mach failure. New
|
|
7
|
-
* entries should only be added when a concrete diagnosis of the cryptic
|
|
8
|
-
* output has been established. Low-confidence hints would train operators
|
|
9
|
-
* to ignore the translator.
|
|
10
|
-
*/
|
|
11
|
-
/** A single translator entry. */
|
|
12
|
-
export interface MachErrorHint {
|
|
13
|
-
/** Pattern to search within the captured mach stderr. */
|
|
14
|
-
pattern: RegExp;
|
|
15
|
-
/** Actionable, one-line hint to surface alongside the raw mach output. */
|
|
16
|
-
hint: string;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Scans captured stderr for known mach errors and returns matching hints.
|
|
20
|
-
* Pure function. Safe to call on any string and never throws.
|
|
21
|
-
* @param stderr Captured mach stderr.
|
|
22
|
-
* @returns Ordered, de-duplicated list of hint strings. Empty when nothing matches.
|
|
23
|
-
*/
|
|
24
|
-
export declare function explainMachError(stderr: string): string[];
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Pattern-based translator for cryptic mozbuild / mach errors.
|
|
4
|
-
*
|
|
5
|
-
* Each entry maps a stderr regex to an actionable hint. The goal is narrow:
|
|
6
|
-
* convert the handful of errors whose message is non-obvious into a one-line
|
|
7
|
-
* "here's what to change", rather than parse every mach failure. New
|
|
8
|
-
* entries should only be added when a concrete diagnosis of the cryptic
|
|
9
|
-
* output has been established. Low-confidence hints would train operators
|
|
10
|
-
* to ignore the translator.
|
|
11
|
-
*/
|
|
12
|
-
/**
|
|
13
|
-
* Registered hint patterns. Order-sensitive: the first match wins per
|
|
14
|
-
* pattern, but multiple distinct patterns may fire for the same stderr.
|
|
15
|
-
*/
|
|
16
|
-
const MACH_ERROR_HINTS = [
|
|
17
|
-
{
|
|
18
|
-
pattern: /mozbuild\.preprocessor\.Preprocessor\.Error[\s\S]*?no preprocessor directives found/,
|
|
19
|
-
hint: 'A file registered under JS_PREFERENCE_PP_FILES contains no preprocessor directives. ' +
|
|
20
|
-
'Use JS_PREFERENCE_FILES instead, or add at least one #filter / #expand directive to the file.',
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
// mozbuild raises `UnsortedError` while reading a moz.build whose
|
|
24
|
-
// StrictOrderingOnAppendList entries are out of order, so `mach
|
|
25
|
-
// configure` dies before anything compiles. The ordering rule is the
|
|
26
|
-
// part operators get wrong: mozbuild sorts by `.lower()`
|
|
27
|
-
// (`StrictOrderingOnAppendList.ensure_sorted`), so an uppercase letter
|
|
28
|
-
// does not sort ahead of a lowercase one, and an entry that looks
|
|
29
|
-
// correctly placed by byte order can be rejected. mozbuild's own
|
|
30
|
-
// message names both entries ("We expected X but got Y") and survives
|
|
31
|
-
// to the operator through `extractMachConfigureError`, so the hint
|
|
32
|
-
// supplies only the rule and the remedy.
|
|
33
|
-
pattern: /mozbuild\.util\.UnsortedError|\bUnsortedError\b/,
|
|
34
|
-
hint: 'A moz.build list is out of order — mozbuild rejects the file while reading it, so ' +
|
|
35
|
-
'configure dies before any compile. The entries are compared CASE-INSENSITIVELY ' +
|
|
36
|
-
'(mozbuild lowercases before comparing), so uppercase does not sort before lowercase: ' +
|
|
37
|
-
'"HominisEditorFilePaths.sys.mjs" belongs BEFORE "HominisEditorFiles.sys.mjs" ' +
|
|
38
|
-
'("filep" < "files"). The mozbuild error above names the file and both entries — move ' +
|
|
39
|
-
'the entry to the position it names. "fireforge lint --per-patch" checks this ' +
|
|
40
|
-
'(mozbuild-unsorted-list) before a build, which is the cheaper place to catch it.',
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
// `mach package` inside `packager.py` dereferences a `None` sink when
|
|
44
|
-
// the packaging input set cannot resolve an entry it expected, most
|
|
45
|
-
// commonly running `fireforge package` before a full `fireforge build`
|
|
46
|
-
// has finished, so `obj-*/dist/` is missing pieces the packager assumes
|
|
47
|
-
// exist. The broader "build failed" path has already surfaced the raw
|
|
48
|
-
// traceback above this hint.
|
|
49
|
-
pattern: /packager\.py[\s\S]*?AttributeError: 'NoneType' object has no attribute 'open'|AttributeError: 'NoneType' object has no attribute 'open'[\s\S]*?packager\.py/,
|
|
50
|
-
hint: '`mach package` tripped a `NoneType.open` inside `packager.py`. This is almost always a ' +
|
|
51
|
-
'symptom of the packager being handed an incomplete `obj-*/dist/` tree — e.g. running ' +
|
|
52
|
-
'"fireforge package" before a full "fireforge build" (not --ui) completed, or packaging ' +
|
|
53
|
-
'after a build that failed late. Re-run "fireforge build" to completion, confirm the app ' +
|
|
54
|
-
'bundle exists under `obj-*/dist/`, and rerun "fireforge package".',
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
// Upstream bindgen on some macOS libc++ SDK versions emits
|
|
58
|
-
// `pub type basic_string___self_view = root::std::__1::basic_string_view<_CharT>;`
|
|
59
|
-
// inside gecko-profiler's generated `bindings.rs`, but `_CharT` is not
|
|
60
|
-
// in scope where the alias lands, so the Rust compile fails with
|
|
61
|
-
// "cannot find type `_CharT`". The fix is external: a consumer's patch
|
|
62
|
-
// queue may ship a workaround patch that strips the offending alias line
|
|
63
|
-
// post-generation. This hint surfaces that pointer alongside the raw
|
|
64
|
-
// bindgen output.
|
|
65
|
-
pattern: /cannot find type `_CharT` in this scope[\s\S]*?gecko-profiler-|gecko-profiler-[\s\S]*?cannot find type `_CharT` in this scope/,
|
|
66
|
-
hint: 'The Rust compile failed on a bindgen-generated `basic_string___self_view` alias in ' +
|
|
67
|
-
'gecko-profiler/bindings.rs. This is an upstream bindgen output bug against some ' +
|
|
68
|
-
'macOS libc++ SDK versions and needs a post-generation patch to strip the alias. ' +
|
|
69
|
-
'The known-working workaround is the `990-infra-bindgen-basic-string-workaround.patch` ' +
|
|
70
|
-
"shipped by some downstream patch queues — import the equivalent into your fork's patches/, " +
|
|
71
|
-
'then re-run "fireforge import" + "fireforge build". If your fork does not carry such a patch, ' +
|
|
72
|
-
'apply the following post-process to the generated file before the Rust compile: ' +
|
|
73
|
-
'remove any `pub type basic_string___self_view = …<_CharT>;` line from ' +
|
|
74
|
-
'`<objdir>/release/build/gecko-profiler-*/out/gecko/bindings.rs`.',
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
// Firefox declares per-release toolchain minimums in-tree
|
|
78
|
-
// (`build/moz.configure/bindgen.configure` for cbindgen, and mozboot's
|
|
79
|
-
// MINIMUM_RUST_VERSION for rustc/cargo), and a source hop can move them.
|
|
80
|
-
// The failure lands ~8s into `mach configure` (e.g. "ERROR: cbindgen
|
|
81
|
-
// version 0.29.1 is too old. At least version 0.29.4 is required."),
|
|
82
|
-
// and mach's own remediation text names "./mach bootstrap", the wrong
|
|
83
|
-
// entry point for a FireForge-managed repo. Pattern matches configure's
|
|
84
|
-
// cbindgen die() shape.
|
|
85
|
-
pattern: /\bversion [\d.]+ is too old\.?\s+At least version [\d.]+ is required/i,
|
|
86
|
-
hint: 'A toolchain component is older than the minimum this Firefox source declares — typical ' +
|
|
87
|
-
'after "fireforge download --force" moved the engine to a new Firefox major version. ' +
|
|
88
|
-
'Run "fireforge bootstrap" (not mach\'s suggested "./mach bootstrap") to update the ' +
|
|
89
|
-
'toolchain, then retry the build.',
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
// Same family, rust.configure's die() shapes: "Rust compiler {v} is
|
|
93
|
-
// too old." / "Cargo package manager {v} is too old." The minimum
|
|
94
|
-
// is only named further down that message, so the pattern keys on
|
|
95
|
-
// the first line.
|
|
96
|
-
pattern: /\b(?:Rust compiler|Cargo package manager) [\d.]+(?:[\w.-]*)? is too old/i,
|
|
97
|
-
hint: "The Rust toolchain is older than the minimum this Firefox source declares (mozboot's " +
|
|
98
|
-
'MINIMUM_RUST_VERSION) — typical after "fireforge download --force" moved the engine to a ' +
|
|
99
|
-
'new Firefox major version. Run "fireforge bootstrap" to update the toolchain, then retry ' +
|
|
100
|
-
'the build.',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
// When `mach build` fails mid-compile, mach's own shutdown pipeline
|
|
104
|
-
// still runs its trailing "Config object not found by mach. / Configure
|
|
105
|
-
// complete! / Be sure to run |mach build|..." summary on the way out.
|
|
106
|
-
// Those three lines are plain upstream mach output, printed after the
|
|
107
|
-
// non-zero exit code is established, and they read deceptively like a
|
|
108
|
-
// success banner. Nudge the operator that they are cosmetic
|
|
109
|
-
// post-failure output, not a mixed success/failure signal.
|
|
110
|
-
pattern: /Config object not found by mach\.[\s\S]*?Configure complete!/,
|
|
111
|
-
hint: 'Ignore the trailing "Config object not found by mach. / Configure complete!" block — ' +
|
|
112
|
-
"that is mach's post-failure configure summary printed after the build already failed, " +
|
|
113
|
-
'not a sign the build succeeded. The real failure is the error above this block.',
|
|
114
|
-
},
|
|
115
|
-
];
|
|
116
|
-
/**
|
|
117
|
-
* Scans captured stderr for known mach errors and returns matching hints.
|
|
118
|
-
* Pure function. Safe to call on any string and never throws.
|
|
119
|
-
* @param stderr Captured mach stderr.
|
|
120
|
-
* @returns Ordered, de-duplicated list of hint strings. Empty when nothing matches.
|
|
121
|
-
*/
|
|
122
|
-
export function explainMachError(stderr) {
|
|
123
|
-
if (!stderr) {
|
|
124
|
-
return [];
|
|
125
|
-
}
|
|
126
|
-
const hits = [];
|
|
127
|
-
const seen = new Set();
|
|
128
|
-
for (const { pattern, hint } of MACH_ERROR_HINTS) {
|
|
129
|
-
if (pattern.test(stderr) && !seen.has(hint)) {
|
|
130
|
-
seen.add(hint);
|
|
131
|
-
hits.push(hint);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
return hits;
|
|
135
|
-
}
|