@hominis/fireforge 0.55.0 → 0.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +233 -6
- package/README.md +51 -17
- package/dist/bin/fireforge.js +34 -129
- package/dist/build-info.json +4 -4
- package/dist/src/check/check.js +394 -0
- package/dist/src/check/gate.js +448 -0
- package/dist/src/check/index.js +10 -0
- package/dist/src/check/record.js +155 -0
- package/dist/src/cli/command.js +286 -0
- package/dist/src/cli/output.js +96 -0
- package/dist/src/cli/program.js +231 -0
- package/dist/src/cli/stdio.js +59 -0
- package/dist/src/cli/version.js +99 -0
- package/dist/src/commands/bootstrap.js +17 -102
- package/dist/src/commands/build.js +34 -456
- package/dist/src/commands/check.js +44 -157
- package/dist/src/commands/config.js +50 -226
- package/dist/src/commands/discard.js +38 -215
- package/dist/src/commands/doctor.js +29 -456
- package/dist/src/commands/download.js +35 -499
- package/dist/src/commands/export.js +42 -431
- package/dist/src/commands/furnace.js +220 -0
- package/dist/src/commands/gate.js +127 -0
- package/dist/src/commands/import.js +44 -445
- package/dist/src/commands/index.js +86 -0
- package/dist/src/commands/lint.js +44 -546
- package/dist/src/commands/merge-driver.js +56 -0
- package/dist/src/commands/migrate.js +75 -0
- package/dist/src/commands/override.js +43 -0
- package/dist/src/commands/package.js +48 -77
- package/dist/src/commands/patch.js +221 -0
- package/dist/src/commands/re-export.js +55 -359
- package/dist/src/commands/rebase.js +69 -0
- package/dist/src/commands/register.js +62 -103
- package/dist/src/commands/reset.js +28 -91
- package/dist/src/commands/resolve.js +20 -167
- package/dist/src/commands/restore.js +19 -0
- package/dist/src/commands/run.js +60 -382
- package/dist/src/commands/setup.js +78 -90
- package/dist/src/commands/status.js +44 -413
- package/dist/src/commands/test.js +97 -423
- package/dist/src/commands/token.js +185 -228
- package/dist/src/commands/typecheck.js +59 -241
- package/dist/src/commands/verify.js +28 -334
- package/dist/src/commands/version.js +14 -0
- package/dist/src/commands/watch.js +20 -218
- package/dist/src/commands/wire.js +60 -349
- package/dist/src/commands/workspace.js +117 -0
- package/dist/src/config/edit.js +237 -0
- package/dist/src/config/index.js +15 -0
- package/dist/src/config/load.js +59 -0
- package/dist/src/config/previous.js +404 -0
- package/dist/src/config/schema/build.js +63 -0
- package/dist/src/config/schema/check.js +113 -0
- package/dist/src/config/schema/common.js +71 -0
- package/dist/src/config/schema/export-queue.js +36 -0
- package/dist/src/config/schema/firefox.js +69 -0
- package/dist/src/config/schema/gate.js +199 -0
- package/dist/src/config/schema/identity.js +55 -0
- package/dist/src/config/schema/index.js +45 -0
- package/dist/src/config/schema/lint.js +297 -0
- package/dist/src/config/schema/policy.js +111 -0
- package/dist/src/config/schema/source.js +90 -0
- package/dist/src/config/schema/test.js +17 -0
- package/dist/src/config/schema/toolchains.js +17 -0
- package/dist/src/config/schema/typecheck.js +29 -0
- package/dist/src/config/schema/wire.js +15 -0
- package/dist/src/diff/apply.js +129 -0
- package/dist/src/diff/index.js +16 -0
- package/dist/src/diff/model.js +267 -0
- package/dist/src/diff/query.js +65 -0
- package/dist/src/doctor/index.js +240 -0
- package/dist/src/engine/archive.js +396 -0
- package/dist/src/engine/audit.js +66 -0
- package/dist/src/engine/build.js +150 -0
- package/dist/src/engine/hostLocks.js +66 -0
- package/dist/src/engine/index.js +26 -0
- package/dist/src/engine/installManifests.js +147 -0
- package/dist/src/engine/mach.js +97 -0
- package/dist/src/engine/machHints.js +80 -0
- package/dist/src/engine/mozconfig.js +110 -0
- package/dist/src/engine/objdir.js +124 -0
- package/dist/src/engine/package.js +169 -0
- package/dist/src/engine/pin.js +12 -0
- package/dist/src/engine/pool.js +423 -0
- package/dist/src/engine/pristine.js +281 -0
- package/dist/src/engine/python.js +68 -0
- package/dist/src/engine/resourceGuard.js +582 -0
- package/dist/src/engine/run.js +259 -0
- package/dist/src/engine/smoke.js +204 -0
- package/dist/src/engine/staleness.js +229 -0
- package/dist/src/engine/watch.js +82 -0
- package/dist/src/engine/workspace.js +85 -0
- package/dist/src/furnace/config.js +360 -0
- package/dist/src/furnace/deploy.js +414 -0
- package/dist/src/furnace/diff.js +59 -0
- package/dist/src/furnace/edit.js +64 -0
- package/dist/src/furnace/fragments.js +53 -0
- package/dist/src/furnace/index.js +19 -0
- package/dist/src/furnace/operations.js +283 -0
- package/dist/src/furnace/registration.js +220 -0
- package/dist/src/furnace/scaffold.js +311 -0
- package/dist/src/furnace/typing.js +252 -0
- package/dist/src/furnace/validate.js +662 -0
- package/dist/src/git/apply.js +129 -0
- package/dist/src/git/diff.js +143 -0
- package/dist/src/git/index.js +33 -0
- package/dist/src/git/objects.js +201 -0
- package/dist/src/git/refs.js +85 -0
- package/dist/src/git/repo.js +222 -0
- package/dist/src/git/run.js +242 -0
- package/dist/src/git/status.js +156 -0
- package/dist/src/kernel/errors.js +123 -0
- package/dist/src/kernel/fs.js +515 -0
- package/dist/src/kernel/glob.js +63 -0
- package/dist/src/kernel/hash.js +28 -0
- package/dist/src/kernel/journal.js +524 -0
- package/dist/src/kernel/json-edit.js +198 -0
- package/dist/src/kernel/json.js +101 -0
- package/dist/src/kernel/lock.js +589 -0
- package/dist/src/kernel/log.js +154 -0
- package/dist/src/kernel/process/identity.js +313 -0
- package/dist/src/kernel/process/index.js +8 -0
- package/dist/src/kernel/process/listing.js +128 -0
- package/dist/src/kernel/process/spawn.js +430 -0
- package/dist/src/kernel/process/tree.js +301 -0
- package/dist/src/kernel/schema.js +308 -0
- package/dist/src/kernel/signals.js +171 -0
- package/dist/src/kernel/text.js +151 -0
- package/dist/src/kernel/time.js +83 -0
- package/dist/src/kernel/tty.js +84 -0
- package/dist/src/lint/cache.js +77 -0
- package/dist/src/lint/checkjs.js +400 -0
- package/dist/src/lint/index.js +3 -0
- package/dist/src/lint/input.js +100 -0
- package/dist/src/lint/report.js +107 -0
- package/dist/src/lint/rule.js +41 -0
- package/dist/src/lint/rules/css.js +308 -0
- package/dist/src/lint/rules/javascript.js +299 -0
- package/dist/src/lint/rules/jsdoc.js +249 -0
- package/dist/src/lint/rules/license.js +93 -0
- package/dist/src/lint/rules/policy.js +201 -0
- package/dist/src/lint/rules/registration.js +264 -0
- package/dist/src/lint/rules/size.js +299 -0
- package/dist/src/lint/run.js +126 -0
- package/dist/src/lint/shim.js +323 -0
- package/dist/src/lint/typescript.js +186 -0
- package/dist/src/lint/waivers.js +93 -0
- package/dist/src/mode/changes.js +264 -0
- package/dist/src/mode/diagnose.js +173 -0
- package/dist/src/mode/export.js +147 -0
- package/dist/src/mode/index.js +23 -0
- package/dist/src/mode/migrate.js +181 -0
- package/dist/src/mode/previousWaivers.js +206 -0
- package/dist/src/mode/pristine.js +61 -0
- package/dist/src/mode/rebase.js +197 -0
- package/dist/src/mode/report.js +157 -0
- package/dist/src/mode/setup.js +103 -0
- package/dist/src/mode/tracked.js +116 -0
- package/dist/src/mode/upgrade.js +281 -0
- package/dist/src/mode/watch.js +83 -0
- package/dist/src/mode/workspace.js +189 -0
- package/dist/src/mozbuild/index.js +6 -0
- package/dist/src/mozbuild/jar.js +366 -0
- package/dist/src/mozbuild/mozbuild.js +321 -0
- package/dist/src/mozbuild/paths.js +96 -0
- package/dist/src/mozbuild/references.js +39 -0
- package/dist/src/mozbuild/testManifest.js +343 -0
- package/dist/src/mozbuild/text.js +142 -0
- package/dist/src/project/changes.js +145 -0
- package/dist/src/project/checkout.js +66 -0
- package/dist/src/project/index.js +11 -0
- package/dist/src/project/license.js +119 -0
- package/dist/src/project/project.js +111 -0
- package/dist/src/project/state.js +85 -0
- package/dist/src/project/tracked.js +1 -0
- package/dist/src/queue/apply.js +270 -0
- package/dist/src/queue/attribute.js +159 -0
- package/dist/src/queue/baseline.js +409 -0
- package/dist/src/queue/capture.js +298 -0
- package/dist/src/queue/changes.js +234 -0
- package/dist/src/queue/index.js +50 -0
- package/dist/src/queue/manifest.js +341 -0
- package/dist/src/queue/operations.js +454 -0
- package/dist/src/queue/placement.js +220 -0
- package/dist/src/queue/queue.js +359 -0
- package/dist/src/queue/restore.js +103 -0
- package/dist/src/queue/session.js +685 -0
- package/dist/src/queue/status.js +137 -0
- package/dist/src/register/files.js +39 -0
- package/dist/src/register/index.js +8 -0
- package/dist/src/register/js.js +217 -0
- package/dist/src/register/register.js +359 -0
- package/dist/src/register/wire.js +146 -0
- package/dist/src/source/adopt.js +99 -0
- package/dist/src/source/changes.js +132 -0
- package/dist/src/source/edit.js +278 -0
- package/dist/src/source/export.js +70 -0
- package/dist/src/source/groups.js +131 -0
- package/dist/src/source/index.js +20 -0
- package/dist/src/source/materialize.js +382 -0
- package/dist/src/source/merge.js +255 -0
- package/dist/src/source/objects.js +102 -0
- package/dist/src/source/previous.js +166 -0
- package/dist/src/source/records.js +138 -0
- package/dist/src/source/refresh.js +264 -0
- package/dist/src/source/tree.js +337 -0
- package/dist/src/syntax/css.js +215 -0
- package/dist/src/syntax/fragments.js +63 -0
- package/dist/src/syntax/index.js +10 -0
- package/dist/src/syntax/js.js +270 -0
- package/dist/src/test/classify.js +826 -0
- package/dist/src/test/control.js +236 -0
- package/dist/src/test/host.js +266 -0
- package/dist/src/test/index.js +11 -0
- package/dist/src/test/plan.js +347 -0
- package/dist/src/test/rawLog.js +138 -0
- package/dist/src/test/run.js +404 -0
- package/dist/src/test/verdict.js +420 -0
- package/dist/src/test/xpcshell.js +143 -0
- package/dist/src/tokens/add.js +304 -0
- package/dist/src/tokens/coverage.js +65 -0
- package/dist/src/tokens/css.js +58 -0
- package/dist/src/tokens/index.js +12 -0
- package/dist/src/tokens/lint.js +96 -0
- package/dist/src/tokens/model.js +118 -0
- package/dist/src/tokens/settings.js +87 -0
- package/dist/src/tokens/siblings.js +104 -0
- package/dist/src/typecheck/explain.js +123 -0
- package/dist/src/typecheck/index.js +8 -0
- package/dist/src/typecheck/typecheck.js +332 -0
- package/docs/README.md +23 -28
- package/docs/authoring.md +97 -0
- package/docs/configuration.md +307 -766
- package/docs/exit-codes.md +76 -94
- package/docs/furnace.md +111 -221
- package/docs/gate.md +205 -0
- package/docs/getting-started.md +165 -0
- package/docs/machine-output.md +201 -290
- package/docs/migrating.md +261 -0
- package/docs/patch-workflow.md +159 -723
- package/docs/quality.md +220 -0
- package/docs/source-workflow.md +228 -0
- package/docs/testing.md +101 -719
- package/docs/workspaces.md +187 -0
- package/package.json +22 -30
- package/templates/configs/common.mozconfig +8 -2
- package/templates/configs/darwin.mozconfig +6 -7
- package/templates/configs/linux.mozconfig +5 -8
- package/templates/configs/win32.mozconfig +3 -9
- package/dist/bin/fireforge.d.ts +0 -9
- package/dist/src/cli-usage-error.d.ts +0 -46
- package/dist/src/cli-usage-error.js +0 -81
- package/dist/src/cli.d.ts +0 -41
- package/dist/src/cli.js +0 -380
- package/dist/src/commands/bootstrap-checks.d.ts +0 -16
- package/dist/src/commands/bootstrap-checks.js +0 -66
- package/dist/src/commands/bootstrap.d.ts +0 -10
- package/dist/src/commands/build-prelock.d.ts +0 -20
- package/dist/src/commands/build-prelock.js +0 -50
- package/dist/src/commands/build.d.ts +0 -13
- package/dist/src/commands/check-report.d.ts +0 -41
- package/dist/src/commands/check-report.js +0 -98
- package/dist/src/commands/check-run.d.ts +0 -44
- package/dist/src/commands/check-run.js +0 -125
- package/dist/src/commands/check-steps.d.ts +0 -75
- package/dist/src/commands/check-steps.js +0 -200
- package/dist/src/commands/check.d.ts +0 -32
- package/dist/src/commands/config.d.ts +0 -13
- package/dist/src/commands/declarations-report.d.ts +0 -49
- package/dist/src/commands/declarations-report.js +0 -83
- package/dist/src/commands/destructive-decision.d.ts +0 -19
- package/dist/src/commands/destructive-decision.js +0 -31
- package/dist/src/commands/discard.d.ts +0 -12
- package/dist/src/commands/doctor-check-core.d.ts +0 -110
- package/dist/src/commands/doctor-check-core.js +0 -24
- package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
- package/dist/src/commands/doctor-engine-eslint.js +0 -17
- package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
- package/dist/src/commands/doctor-external-toolchains.js +0 -56
- package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
- package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
- package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
- package/dist/src/commands/doctor-furnace-jar.js +0 -44
- package/dist/src/commands/doctor-furnace.d.ts +0 -8
- package/dist/src/commands/doctor-furnace.js +0 -514
- package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
- package/dist/src/commands/doctor-macos-sdk.js +0 -158
- package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
- package/dist/src/commands/doctor-orphaned-harness.js +0 -98
- package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
- package/dist/src/commands/doctor-patch-manifest.js +0 -156
- package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
- package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
- package/dist/src/commands/doctor-source-pin.d.ts +0 -29
- package/dist/src/commands/doctor-source-pin.js +0 -91
- package/dist/src/commands/doctor-working-tree.d.ts +0 -27
- package/dist/src/commands/doctor-working-tree.js +0 -89
- package/dist/src/commands/doctor.d.ts +0 -49
- package/dist/src/commands/download.d.ts +0 -11
- package/dist/src/commands/export-adopt-check.d.ts +0 -37
- package/dist/src/commands/export-adopt-check.js +0 -97
- package/dist/src/commands/export-all.d.ts +0 -11
- package/dist/src/commands/export-all.js +0 -361
- package/dist/src/commands/export-flow.d.ts +0 -124
- package/dist/src/commands/export-flow.js +0 -423
- package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
- package/dist/src/commands/export-placement-conflicts.js +0 -75
- package/dist/src/commands/export-placement-gate.d.ts +0 -42
- package/dist/src/commands/export-placement-gate.js +0 -107
- package/dist/src/commands/export-placement-policy.d.ts +0 -22
- package/dist/src/commands/export-placement-policy.js +0 -54
- package/dist/src/commands/export-shared.d.ts +0 -152
- package/dist/src/commands/export-shared.js +0 -396
- package/dist/src/commands/export-staged-registration.d.ts +0 -46
- package/dist/src/commands/export-staged-registration.js +0 -91
- package/dist/src/commands/export.d.ts +0 -13
- package/dist/src/commands/forward-import-remedy.d.ts +0 -31
- package/dist/src/commands/forward-import-remedy.js +0 -62
- package/dist/src/commands/furnace/apply.d.ts +0 -8
- package/dist/src/commands/furnace/apply.js +0 -327
- package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
- package/dist/src/commands/furnace/authoring-config.js +0 -19
- package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
- package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
- package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
- package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
- package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
- package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
- package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
- package/dist/src/commands/furnace/chrome-doc.js +0 -365
- package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
- package/dist/src/commands/furnace/create-browser-test.js +0 -179
- package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
- package/dist/src/commands/furnace/create-dry-run.js +0 -107
- package/dist/src/commands/furnace/create-features.d.ts +0 -24
- package/dist/src/commands/furnace/create-features.js +0 -55
- package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
- package/dist/src/commands/furnace/create-mochikit.js +0 -75
- package/dist/src/commands/furnace/create-readback.d.ts +0 -22
- package/dist/src/commands/furnace/create-readback.js +0 -32
- package/dist/src/commands/furnace/create-templates.d.ts +0 -119
- package/dist/src/commands/furnace/create-templates.js +0 -283
- package/dist/src/commands/furnace/create-validation.d.ts +0 -6
- package/dist/src/commands/furnace/create-validation.js +0 -59
- package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
- package/dist/src/commands/furnace/create-xpcshell.js +0 -80
- package/dist/src/commands/furnace/create.d.ts +0 -24
- package/dist/src/commands/furnace/create.js +0 -407
- package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
- package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
- package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
- package/dist/src/commands/furnace/deploy-named.js +0 -107
- package/dist/src/commands/furnace/deploy.d.ts +0 -9
- package/dist/src/commands/furnace/deploy.js +0 -229
- package/dist/src/commands/furnace/diff.d.ts +0 -11
- package/dist/src/commands/furnace/diff.js +0 -238
- package/dist/src/commands/furnace/index.d.ts +0 -4
- package/dist/src/commands/furnace/index.js +0 -283
- package/dist/src/commands/furnace/init.d.ts +0 -11
- package/dist/src/commands/furnace/init.js +0 -287
- package/dist/src/commands/furnace/list.d.ts +0 -8
- package/dist/src/commands/furnace/list.js +0 -104
- package/dist/src/commands/furnace/override.d.ts +0 -16
- package/dist/src/commands/furnace/override.js +0 -454
- package/dist/src/commands/furnace/preview.d.ts +0 -19
- package/dist/src/commands/furnace/preview.js +0 -349
- package/dist/src/commands/furnace/refresh.d.ts +0 -10
- package/dist/src/commands/furnace/refresh.js +0 -303
- package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
- package/dist/src/commands/furnace/remove-mutations.js +0 -168
- package/dist/src/commands/furnace/remove-state.d.ts +0 -20
- package/dist/src/commands/furnace/remove-state.js +0 -60
- package/dist/src/commands/furnace/remove.d.ts +0 -8
- package/dist/src/commands/furnace/remove.js +0 -415
- package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
- package/dist/src/commands/furnace/rename-browser-test.js +0 -68
- package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
- package/dist/src/commands/furnace/rename-dry-run.js +0 -127
- package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
- package/dist/src/commands/furnace/rename-helpers.js +0 -85
- package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
- package/dist/src/commands/furnace/rename-registrations.js +0 -98
- package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
- package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
- package/dist/src/commands/furnace/rename.d.ts +0 -6
- package/dist/src/commands/furnace/rename.js +0 -400
- package/dist/src/commands/furnace/scan.d.ts +0 -14
- package/dist/src/commands/furnace/scan.js +0 -192
- package/dist/src/commands/furnace/status.d.ts +0 -7
- package/dist/src/commands/furnace/status.js +0 -209
- package/dist/src/commands/furnace/sync.d.ts +0 -12
- package/dist/src/commands/furnace/sync.js +0 -145
- package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
- package/dist/src/commands/furnace/test-file-name.js +0 -39
- package/dist/src/commands/furnace/validate-report.d.ts +0 -45
- package/dist/src/commands/furnace/validate-report.js +0 -91
- package/dist/src/commands/furnace/validate.d.ts +0 -8
- package/dist/src/commands/furnace/validate.js +0 -309
- package/dist/src/commands/furnace/validation-output.d.ts +0 -47
- package/dist/src/commands/furnace/validation-output.js +0 -161
- package/dist/src/commands/import.d.ts +0 -11
- package/dist/src/commands/lint-per-patch.d.ts +0 -10
- package/dist/src/commands/lint-per-patch.js +0 -428
- package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
- package/dist/src/commands/lint-per-run-checkjs.js +0 -102
- package/dist/src/commands/lint-report.d.ts +0 -25
- package/dist/src/commands/lint-report.js +0 -76
- package/dist/src/commands/lint.d.ts +0 -47
- package/dist/src/commands/manifest.d.ts +0 -38
- package/dist/src/commands/manifest.js +0 -68
- package/dist/src/commands/package.d.ts +0 -11
- package/dist/src/commands/park.d.ts +0 -22
- package/dist/src/commands/park.js +0 -232
- package/dist/src/commands/patch/body.d.ts +0 -29
- package/dist/src/commands/patch/body.js +0 -60
- package/dist/src/commands/patch/compact.d.ts +0 -28
- package/dist/src/commands/patch/compact.js +0 -208
- package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
- package/dist/src/commands/patch/delete-gap-notice.js +0 -48
- package/dist/src/commands/patch/delete.d.ts +0 -28
- package/dist/src/commands/patch/delete.js +0 -131
- package/dist/src/commands/patch/entry-projection.d.ts +0 -13
- package/dist/src/commands/patch/entry-projection.js +0 -24
- package/dist/src/commands/patch/index.d.ts +0 -16
- package/dist/src/commands/patch/index.js +0 -54
- package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
- package/dist/src/commands/patch/lint-ignore-from.js +0 -141
- package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
- package/dist/src/commands/patch/lint-ignore.js +0 -263
- package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
- package/dist/src/commands/patch/move-files-adopt.js +0 -65
- package/dist/src/commands/patch/move-files-create.d.ts +0 -19
- package/dist/src/commands/patch/move-files-create.js +0 -187
- package/dist/src/commands/patch/move-files-into.d.ts +0 -65
- package/dist/src/commands/patch/move-files-into.js +0 -325
- package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
- package/dist/src/commands/patch/move-files-retire.js +0 -91
- package/dist/src/commands/patch/move-files.d.ts +0 -28
- package/dist/src/commands/patch/move-files.js +0 -224
- package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
- package/dist/src/commands/patch/move-size-tier.js +0 -66
- package/dist/src/commands/patch/patch-context.d.ts +0 -40
- package/dist/src/commands/patch/patch-context.js +0 -51
- package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
- package/dist/src/commands/patch/removal-created-files.js +0 -83
- package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
- package/dist/src/commands/patch/removal-dependents.js +0 -133
- package/dist/src/commands/patch/rename.d.ts +0 -35
- package/dist/src/commands/patch/rename.js +0 -378
- package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
- package/dist/src/commands/patch/reorder-projection.js +0 -49
- package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
- package/dist/src/commands/patch/reorder-shift.js +0 -307
- package/dist/src/commands/patch/reorder.d.ts +0 -34
- package/dist/src/commands/patch/reorder.js +0 -375
- package/dist/src/commands/patch/reserve.d.ts +0 -33
- package/dist/src/commands/patch/reserve.js +0 -152
- package/dist/src/commands/patch/retire.d.ts +0 -34
- package/dist/src/commands/patch/retire.js +0 -133
- package/dist/src/commands/patch/split-plan.d.ts +0 -125
- package/dist/src/commands/patch/split-plan.js +0 -313
- package/dist/src/commands/patch/split-staged.d.ts +0 -108
- package/dist/src/commands/patch/split-staged.js +0 -202
- package/dist/src/commands/patch/split.d.ts +0 -43
- package/dist/src/commands/patch/split.js +0 -367
- package/dist/src/commands/patch/stage.d.ts +0 -34
- package/dist/src/commands/patch/stage.js +0 -153
- package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
- package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
- package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
- package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
- package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
- package/dist/src/commands/patch/staged-dependency-from.js +0 -114
- package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
- package/dist/src/commands/patch/staged-dependency-remove.js +0 -114
- package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -27
- package/dist/src/commands/patch/staged-dependency-validate.js +0 -78
- package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
- package/dist/src/commands/patch/staged-dependency.js +0 -251
- package/dist/src/commands/patch/tier.d.ts +0 -34
- package/dist/src/commands/patch/tier.js +0 -125
- package/dist/src/commands/patch-rename-map.d.ts +0 -30
- package/dist/src/commands/patch-rename-map.js +0 -54
- package/dist/src/commands/pending-resolution.d.ts +0 -15
- package/dist/src/commands/pending-resolution.js +0 -25
- package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
- package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
- package/dist/src/commands/re-export-adjacent.d.ts +0 -111
- package/dist/src/commands/re-export-adjacent.js +0 -285
- package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
- package/dist/src/commands/re-export-bulk-scan.js +0 -233
- package/dist/src/commands/re-export-drift.d.ts +0 -110
- package/dist/src/commands/re-export-drift.js +0 -358
- package/dist/src/commands/re-export-each.d.ts +0 -46
- package/dist/src/commands/re-export-each.js +0 -110
- package/dist/src/commands/re-export-files.d.ts +0 -15
- package/dist/src/commands/re-export-files.js +0 -307
- package/dist/src/commands/re-export-hunks.d.ts +0 -37
- package/dist/src/commands/re-export-hunks.js +0 -264
- package/dist/src/commands/re-export-lint.d.ts +0 -137
- package/dist/src/commands/re-export-lint.js +0 -303
- package/dist/src/commands/re-export-options.d.ts +0 -29
- package/dist/src/commands/re-export-options.js +0 -192
- package/dist/src/commands/re-export-preflight.d.ts +0 -23
- package/dist/src/commands/re-export-preflight.js +0 -159
- package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
- package/dist/src/commands/re-export-purity-scope.js +0 -137
- package/dist/src/commands/re-export-register.d.ts +0 -12
- package/dist/src/commands/re-export-register.js +0 -99
- package/dist/src/commands/re-export-removed.d.ts +0 -15
- package/dist/src/commands/re-export-removed.js +0 -94
- package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
- package/dist/src/commands/re-export-retired-declarations.js +0 -113
- package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
- package/dist/src/commands/re-export-scan-owner.js +0 -116
- package/dist/src/commands/re-export-scan.d.ts +0 -72
- package/dist/src/commands/re-export-scan.js +0 -265
- package/dist/src/commands/re-export-single.d.ts +0 -53
- package/dist/src/commands/re-export-single.js +0 -426
- package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
- package/dist/src/commands/re-export-stale-registrations.js +0 -106
- package/dist/src/commands/re-export-summary.d.ts +0 -44
- package/dist/src/commands/re-export-summary.js +0 -59
- package/dist/src/commands/re-export.d.ts +0 -8
- package/dist/src/commands/rebase/abort.d.ts +0 -7
- package/dist/src/commands/rebase/abort.js +0 -67
- package/dist/src/commands/rebase/confirm.d.ts +0 -42
- package/dist/src/commands/rebase/confirm.js +0 -36
- package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
- package/dist/src/commands/rebase/conflict-summary.js +0 -37
- package/dist/src/commands/rebase/continue.d.ts +0 -7
- package/dist/src/commands/rebase/continue.js +0 -119
- package/dist/src/commands/rebase/index.d.ts +0 -22
- package/dist/src/commands/rebase/index.js +0 -209
- package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
- package/dist/src/commands/rebase/patch-loop.js +0 -289
- package/dist/src/commands/rebase/summary.d.ts +0 -8
- package/dist/src/commands/rebase/summary.js +0 -47
- package/dist/src/commands/register.d.ts +0 -13
- package/dist/src/commands/reset.d.ts +0 -11
- package/dist/src/commands/resolve.d.ts +0 -36
- package/dist/src/commands/run.d.ts +0 -10
- package/dist/src/commands/setup-support.d.ts +0 -35
- package/dist/src/commands/setup-support.js +0 -386
- package/dist/src/commands/setup.d.ts +0 -11
- package/dist/src/commands/source.d.ts +0 -9
- package/dist/src/commands/source.js +0 -120
- package/dist/src/commands/status-check.d.ts +0 -87
- package/dist/src/commands/status-check.js +0 -161
- package/dist/src/commands/status-json.d.ts +0 -45
- package/dist/src/commands/status-json.js +0 -97
- package/dist/src/commands/status-output.d.ts +0 -23
- package/dist/src/commands/status-output.js +0 -231
- package/dist/src/commands/status-ownership.d.ts +0 -54
- package/dist/src/commands/status-ownership.js +0 -59
- package/dist/src/commands/status-scope.d.ts +0 -37
- package/dist/src/commands/status-scope.js +0 -54
- package/dist/src/commands/status.d.ts +0 -11
- package/dist/src/commands/test-appdir.d.ts +0 -6
- package/dist/src/commands/test-appdir.js +0 -29
- package/dist/src/commands/test-browser-preflight.d.ts +0 -28
- package/dist/src/commands/test-browser-preflight.js +0 -197
- package/dist/src/commands/test-build-furnace.d.ts +0 -21
- package/dist/src/commands/test-build-furnace.js +0 -53
- package/dist/src/commands/test-build-phase.d.ts +0 -34
- package/dist/src/commands/test-build-phase.js +0 -291
- package/dist/src/commands/test-checkjs.d.ts +0 -3
- package/dist/src/commands/test-checkjs.js +0 -35
- package/dist/src/commands/test-control-restore.d.ts +0 -40
- package/dist/src/commands/test-control-restore.js +0 -86
- package/dist/src/commands/test-diagnose.d.ts +0 -23
- package/dist/src/commands/test-diagnose.js +0 -317
- package/dist/src/commands/test-dispatch.d.ts +0 -39
- package/dist/src/commands/test-dispatch.js +0 -281
- package/dist/src/commands/test-furnace-reach.d.ts +0 -37
- package/dist/src/commands/test-furnace-reach.js +0 -132
- package/dist/src/commands/test-harness-env.d.ts +0 -23
- package/dist/src/commands/test-harness-env.js +0 -81
- package/dist/src/commands/test-harness-teardown.d.ts +0 -62
- package/dist/src/commands/test-harness-teardown.js +0 -128
- package/dist/src/commands/test-modes.d.ts +0 -57
- package/dist/src/commands/test-modes.js +0 -158
- package/dist/src/commands/test-multi-verdict.d.ts +0 -61
- package/dist/src/commands/test-multi-verdict.js +0 -112
- package/dist/src/commands/test-orchestrate.d.ts +0 -70
- package/dist/src/commands/test-orchestrate.js +0 -277
- package/dist/src/commands/test-perf-scope.d.ts +0 -50
- package/dist/src/commands/test-perf-scope.js +0 -138
- package/dist/src/commands/test-prelock.d.ts +0 -61
- package/dist/src/commands/test-prelock.js +0 -301
- package/dist/src/commands/test-register.d.ts +0 -4
- package/dist/src/commands/test-register.js +0 -181
- package/dist/src/commands/test-results.d.ts +0 -71
- package/dist/src/commands/test-results.js +0 -79
- package/dist/src/commands/test-run.d.ts +0 -89
- package/dist/src/commands/test-run.js +0 -251
- package/dist/src/commands/test-shards.d.ts +0 -114
- package/dist/src/commands/test-shards.js +0 -272
- package/dist/src/commands/test-stale-gate.d.ts +0 -56
- package/dist/src/commands/test-stale-gate.js +0 -208
- package/dist/src/commands/test-verdict.d.ts +0 -102
- package/dist/src/commands/test-verdict.js +0 -176
- package/dist/src/commands/test.d.ts +0 -22
- package/dist/src/commands/token-coverage.d.ts +0 -5
- package/dist/src/commands/token-coverage.js +0 -170
- package/dist/src/commands/token-lint.d.ts +0 -14
- package/dist/src/commands/token-lint.js +0 -151
- package/dist/src/commands/token-list.d.ts +0 -26
- package/dist/src/commands/token-list.js +0 -153
- package/dist/src/commands/token.d.ts +0 -14
- package/dist/src/commands/tree.d.ts +0 -19
- package/dist/src/commands/tree.js +0 -341
- package/dist/src/commands/typecheck-explain.d.ts +0 -13
- package/dist/src/commands/typecheck-explain.js +0 -100
- package/dist/src/commands/typecheck.d.ts +0 -61
- package/dist/src/commands/verify-scope.d.ts +0 -28
- package/dist/src/commands/verify-scope.js +0 -67
- package/dist/src/commands/verify.d.ts +0 -58
- package/dist/src/commands/watch.d.ts +0 -9
- package/dist/src/commands/wire.d.ts +0 -13
- package/dist/src/core/ast-utils.d.ts +0 -73
- package/dist/src/core/ast-utils.js +0 -105
- package/dist/src/core/brand-validation.d.ts +0 -7
- package/dist/src/core/brand-validation.js +0 -14
- package/dist/src/core/branding.d.ts +0 -86
- package/dist/src/core/branding.js +0 -371
- package/dist/src/core/browser-wire.d.ts +0 -48
- package/dist/src/core/browser-wire.js +0 -133
- package/dist/src/core/build-audit-platform.d.ts +0 -67
- package/dist/src/core/build-audit-platform.js +0 -373
- package/dist/src/core/build-audit-registration.d.ts +0 -80
- package/dist/src/core/build-audit-registration.js +0 -181
- package/dist/src/core/build-audit-resolve.d.ts +0 -78
- package/dist/src/core/build-audit-resolve.js +0 -240
- package/dist/src/core/build-audit-skip.d.ts +0 -57
- package/dist/src/core/build-audit-skip.js +0 -112
- package/dist/src/core/build-audit-transforms.d.ts +0 -23
- package/dist/src/core/build-audit-transforms.js +0 -92
- package/dist/src/core/build-audit.d.ts +0 -93
- package/dist/src/core/build-audit.js +0 -633
- package/dist/src/core/build-baseline-types.d.ts +0 -225
- package/dist/src/core/build-baseline-types.js +0 -10
- package/dist/src/core/build-baseline-validate.d.ts +0 -32
- package/dist/src/core/build-baseline-validate.js +0 -173
- package/dist/src/core/build-baseline.d.ts +0 -103
- package/dist/src/core/build-baseline.js +0 -261
- package/dist/src/core/build-jar-escalation.d.ts +0 -61
- package/dist/src/core/build-jar-escalation.js +0 -125
- package/dist/src/core/build-overwrite-guard.d.ts +0 -92
- package/dist/src/core/build-overwrite-guard.js +0 -235
- package/dist/src/core/build-prepare.d.ts +0 -83
- package/dist/src/core/build-prepare.js +0 -414
- package/dist/src/core/build-run-record.d.ts +0 -74
- package/dist/src/core/build-run-record.js +0 -136
- package/dist/src/core/checkjs-support-heads.d.ts +0 -41
- package/dist/src/core/checkjs-support-heads.js +0 -104
- package/dist/src/core/component-source-guard.d.ts +0 -20
- package/dist/src/core/component-source-guard.js +0 -68
- package/dist/src/core/config-mutate.d.ts +0 -16
- package/dist/src/core/config-mutate.js +0 -76
- package/dist/src/core/config-paths.d.ts +0 -16
- package/dist/src/core/config-paths.js +0 -106
- package/dist/src/core/config-state.d.ts +0 -16
- package/dist/src/core/config-state.js +0 -141
- package/dist/src/core/config-validate-build-audit.d.ts +0 -8
- package/dist/src/core/config-validate-build-audit.js +0 -80
- package/dist/src/core/config-validate-check.d.ts +0 -8
- package/dist/src/core/config-validate-check.js +0 -219
- package/dist/src/core/config-validate-file-size.d.ts +0 -15
- package/dist/src/core/config-validate-file-size.js +0 -154
- package/dist/src/core/config-validate-history.d.ts +0 -11
- package/dist/src/core/config-validate-history.js +0 -38
- package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
- package/dist/src/core/config-validate-patch-policy.js +0 -284
- package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
- package/dist/src/core/config-validate-test-toolchains.js +0 -133
- package/dist/src/core/config-validate-token-scales.d.ts +0 -9
- package/dist/src/core/config-validate-token-scales.js +0 -125
- package/dist/src/core/config-validate.d.ts +0 -11
- package/dist/src/core/config-validate.js +0 -509
- package/dist/src/core/config.d.ts +0 -92
- package/dist/src/core/config.js +0 -169
- package/dist/src/core/coverage-dispatch.d.ts +0 -24
- package/dist/src/core/coverage-dispatch.js +0 -44
- package/dist/src/core/coverage-extend.d.ts +0 -89
- package/dist/src/core/coverage-extend.js +0 -239
- package/dist/src/core/coverage-records.d.ts +0 -107
- package/dist/src/core/coverage-records.js +0 -383
- package/dist/src/core/destructive.d.ts +0 -144
- package/dist/src/core/destructive.js +0 -182
- package/dist/src/core/dev-profile.d.ts +0 -28
- package/dist/src/core/dev-profile.js +0 -58
- package/dist/src/core/diff-hunks.d.ts +0 -73
- package/dist/src/core/diff-hunks.js +0 -286
- package/dist/src/core/discard-baseline.d.ts +0 -60
- package/dist/src/core/discard-baseline.js +0 -247
- package/dist/src/core/display-state.d.ts +0 -50
- package/dist/src/core/display-state.js +0 -87
- package/dist/src/core/engine-changes.d.ts +0 -40
- package/dist/src/core/engine-changes.js +0 -95
- package/dist/src/core/engine-precondition.d.ts +0 -42
- package/dist/src/core/engine-precondition.js +0 -60
- package/dist/src/core/engine-session-lock.d.ts +0 -119
- package/dist/src/core/engine-session-lock.js +0 -374
- package/dist/src/core/engine-write-boundary.d.ts +0 -5
- package/dist/src/core/engine-write-boundary.js +0 -41
- package/dist/src/core/export-moved-code-shape.d.ts +0 -98
- package/dist/src/core/export-moved-code-shape.js +0 -220
- package/dist/src/core/file-lock-owner.d.ts +0 -103
- package/dist/src/core/file-lock-owner.js +0 -259
- package/dist/src/core/file-lock-queue.d.ts +0 -67
- package/dist/src/core/file-lock-queue.js +0 -219
- package/dist/src/core/file-lock-shared.d.ts +0 -57
- package/dist/src/core/file-lock-shared.js +0 -117
- package/dist/src/core/file-lock.d.ts +0 -143
- package/dist/src/core/file-lock.js +0 -531
- package/dist/src/core/firefox-archive.d.ts +0 -45
- package/dist/src/core/firefox-archive.js +0 -96
- package/dist/src/core/firefox-cache.d.ts +0 -30
- package/dist/src/core/firefox-cache.js +0 -248
- package/dist/src/core/firefox-download.d.ts +0 -30
- package/dist/src/core/firefox-download.js +0 -152
- package/dist/src/core/firefox-extract.d.ts +0 -42
- package/dist/src/core/firefox-extract.js +0 -248
- package/dist/src/core/firefox-ignorefile.d.ts +0 -17
- package/dist/src/core/firefox-ignorefile.js +0 -30
- package/dist/src/core/firefox.d.ts +0 -66
- package/dist/src/core/firefox.js +0 -121
- package/dist/src/core/forward-registrations.d.ts +0 -33
- package/dist/src/core/forward-registrations.js +0 -16
- package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
- package/dist/src/core/furnace-apply-dry-run.js +0 -99
- package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
- package/dist/src/core/furnace-apply-ftl.js +0 -210
- package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
- package/dist/src/core/furnace-apply-helpers.js +0 -436
- package/dist/src/core/furnace-apply-output.d.ts +0 -36
- package/dist/src/core/furnace-apply-output.js +0 -111
- package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -67
- package/dist/src/core/furnace-apply-overwrite-warn.js +0 -131
- package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
- package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
- package/dist/src/core/furnace-apply.d.ts +0 -49
- package/dist/src/core/furnace-apply.js +0 -465
- package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
- package/dist/src/core/furnace-checksum-utils.js +0 -54
- package/dist/src/core/furnace-composed-source.d.ts +0 -76
- package/dist/src/core/furnace-composed-source.js +0 -167
- package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
- package/dist/src/core/furnace-config-array-utils.js +0 -26
- package/dist/src/core/furnace-config-custom.d.ts +0 -15
- package/dist/src/core/furnace-config-custom.js +0 -73
- package/dist/src/core/furnace-config-order.d.ts +0 -8
- package/dist/src/core/furnace-config-order.js +0 -90
- package/dist/src/core/furnace-config-tokens.d.ts +0 -17
- package/dist/src/core/furnace-config-tokens.js +0 -42
- package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
- package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
- package/dist/src/core/furnace-config-validate.d.ts +0 -32
- package/dist/src/core/furnace-config-validate.js +0 -167
- package/dist/src/core/furnace-config.d.ts +0 -139
- package/dist/src/core/furnace-config.js +0 -511
- package/dist/src/core/furnace-constants.d.ts +0 -81
- package/dist/src/core/furnace-constants.js +0 -125
- package/dist/src/core/furnace-css-fragments.d.ts +0 -96
- package/dist/src/core/furnace-css-fragments.js +0 -279
- package/dist/src/core/furnace-deploy-owner.d.ts +0 -29
- package/dist/src/core/furnace-deploy-owner.js +0 -116
- package/dist/src/core/furnace-dir-entry.d.ts +0 -20
- package/dist/src/core/furnace-dir-entry.js +0 -21
- package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
- package/dist/src/core/furnace-fragment-includers.js +0 -122
- package/dist/src/core/furnace-graph-utils.d.ts +0 -11
- package/dist/src/core/furnace-graph-utils.js +0 -93
- package/dist/src/core/furnace-jsconfig.d.ts +0 -87
- package/dist/src/core/furnace-jsconfig.js +0 -248
- package/dist/src/core/furnace-marker.d.ts +0 -15
- package/dist/src/core/furnace-marker.js +0 -21
- package/dist/src/core/furnace-operation.d.ts +0 -195
- package/dist/src/core/furnace-operation.js +0 -444
- package/dist/src/core/furnace-precondition.d.ts +0 -61
- package/dist/src/core/furnace-precondition.js +0 -67
- package/dist/src/core/furnace-refresh.d.ts +0 -28
- package/dist/src/core/furnace-refresh.js +0 -125
- package/dist/src/core/furnace-registration-ast.d.ts +0 -53
- package/dist/src/core/furnace-registration-ast.js +0 -402
- package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
- package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
- package/dist/src/core/furnace-registration-remove.d.ts +0 -56
- package/dist/src/core/furnace-registration-remove.js +0 -260
- package/dist/src/core/furnace-registration-rename.d.ts +0 -26
- package/dist/src/core/furnace-registration-rename.js +0 -77
- package/dist/src/core/furnace-registration-validate.d.ts +0 -53
- package/dist/src/core/furnace-registration-validate.js +0 -110
- package/dist/src/core/furnace-registration.d.ts +0 -112
- package/dist/src/core/furnace-registration.js +0 -348
- package/dist/src/core/furnace-rollback.d.ts +0 -48
- package/dist/src/core/furnace-rollback.js +0 -170
- package/dist/src/core/furnace-scanner.d.ts +0 -47
- package/dist/src/core/furnace-scanner.js +0 -236
- package/dist/src/core/furnace-stale-export.d.ts +0 -60
- package/dist/src/core/furnace-stale-export.js +0 -125
- package/dist/src/core/furnace-staleness.d.ts +0 -24
- package/dist/src/core/furnace-staleness.js +0 -67
- package/dist/src/core/furnace-state-persist.d.ts +0 -68
- package/dist/src/core/furnace-state-persist.js +0 -116
- package/dist/src/core/furnace-step-errors.d.ts +0 -23
- package/dist/src/core/furnace-step-errors.js +0 -25
- package/dist/src/core/furnace-stories.d.ts +0 -37
- package/dist/src/core/furnace-stories.js +0 -186
- package/dist/src/core/furnace-tag-map.d.ts +0 -47
- package/dist/src/core/furnace-tag-map.js +0 -182
- package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
- package/dist/src/core/furnace-validate-accessibility.js +0 -417
- package/dist/src/core/furnace-validate-checks.d.ts +0 -4
- package/dist/src/core/furnace-validate-checks.js +0 -6
- package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
- package/dist/src/core/furnace-validate-compatibility.js +0 -295
- package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
- package/dist/src/core/furnace-validate-exceptions.js +0 -98
- package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
- package/dist/src/core/furnace-validate-helpers.js +0 -4
- package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
- package/dist/src/core/furnace-validate-icon-button.js +0 -78
- package/dist/src/core/furnace-validate-registration.d.ts +0 -67
- package/dist/src/core/furnace-validate-registration.js +0 -487
- package/dist/src/core/furnace-validate-structure.d.ts +0 -22
- package/dist/src/core/furnace-validate-structure.js +0 -122
- package/dist/src/core/furnace-validate.d.ts +0 -41
- package/dist/src/core/furnace-validate.js +0 -331
- package/dist/src/core/furnace-version-drift.d.ts +0 -57
- package/dist/src/core/furnace-version-drift.js +0 -102
- package/dist/src/core/gecko-dom-types.d.ts +0 -2
- package/dist/src/core/gecko-dom-types.js +0 -17
- package/dist/src/core/git-base.d.ts +0 -101
- package/dist/src/core/git-base.js +0 -162
- package/dist/src/core/git-diff-new-file.d.ts +0 -40
- package/dist/src/core/git-diff-new-file.js +0 -118
- package/dist/src/core/git-diff.d.ts +0 -82
- package/dist/src/core/git-diff.js +0 -539
- package/dist/src/core/git-file-ops.d.ts +0 -108
- package/dist/src/core/git-file-ops.js +0 -280
- package/dist/src/core/git-readonly-index.d.ts +0 -91
- package/dist/src/core/git-readonly-index.js +0 -177
- package/dist/src/core/git-status.d.ts +0 -84
- package/dist/src/core/git-status.js +0 -208
- package/dist/src/core/git.d.ts +0 -114
- package/dist/src/core/git.js +0 -540
- package/dist/src/core/harness-helper-pids.d.ts +0 -98
- package/dist/src/core/harness-helper-pids.js +0 -240
- package/dist/src/core/harness-orphans.d.ts +0 -118
- package/dist/src/core/harness-orphans.js +0 -268
- package/dist/src/core/harness-port-fallback.d.ts +0 -60
- package/dist/src/core/harness-port-fallback.js +0 -96
- package/dist/src/core/harness-port-reservation.d.ts +0 -60
- package/dist/src/core/harness-port-reservation.js +0 -122
- package/dist/src/core/history-log-file.d.ts +0 -61
- package/dist/src/core/history-log-file.js +0 -164
- package/dist/src/core/history-log.d.ts +0 -20
- package/dist/src/core/history-log.js +0 -30
- package/dist/src/core/json-preserving-edit.d.ts +0 -22
- package/dist/src/core/json-preserving-edit.js +0 -199
- package/dist/src/core/launchable-build.d.ts +0 -39
- package/dist/src/core/launchable-build.js +0 -85
- package/dist/src/core/license-headers.d.ts +0 -103
- package/dist/src/core/license-headers.js +0 -328
- package/dist/src/core/line-prefixer.d.ts +0 -18
- package/dist/src/core/line-prefixer.js +0 -34
- package/dist/src/core/lit-template-regions.d.ts +0 -4
- package/dist/src/core/lit-template-regions.js +0 -50
- package/dist/src/core/mach-build-artifacts.d.ts +0 -176
- package/dist/src/core/mach-build-artifacts.js +0 -436
- package/dist/src/core/mach-error-hints.d.ts +0 -24
- package/dist/src/core/mach-error-hints.js +0 -135
- package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
- package/dist/src/core/mach-known-noise-filter.js +0 -257
- package/dist/src/core/mach-mozconfig.d.ts +0 -57
- package/dist/src/core/mach-mozconfig.js +0 -166
- package/dist/src/core/mach-python.d.ts +0 -19
- package/dist/src/core/mach-python.js +0 -131
- package/dist/src/core/mach-resource-shim.d.ts +0 -107
- package/dist/src/core/mach-resource-shim.js +0 -640
- package/dist/src/core/mach.d.ts +0 -284
- package/dist/src/core/mach.js +0 -445
- package/dist/src/core/marionette-port.d.ts +0 -153
- package/dist/src/core/marionette-port.js +0 -474
- package/dist/src/core/marionette-preflight.d.ts +0 -58
- package/dist/src/core/marionette-preflight.js +0 -332
- package/dist/src/core/markdown-table.d.ts +0 -104
- package/dist/src/core/markdown-table.js +0 -265
- package/dist/src/core/mochitest-server-port.d.ts +0 -81
- package/dist/src/core/mochitest-server-port.js +0 -175
- package/dist/src/core/module-resolution-preflight.d.ts +0 -65
- package/dist/src/core/module-resolution-preflight.js +0 -171
- package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
- package/dist/src/core/moz-manifest-helpers.js +0 -163
- package/dist/src/core/moz-manifest-register.d.ts +0 -19
- package/dist/src/core/moz-manifest-register.js +0 -51
- package/dist/src/core/moz-manifest-rules.d.ts +0 -58
- package/dist/src/core/moz-manifest-rules.js +0 -264
- package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
- package/dist/src/core/moz-manifest-tokenizers.js +0 -108
- package/dist/src/core/negative-control-compiled.d.ts +0 -46
- package/dist/src/core/negative-control-compiled.js +0 -109
- package/dist/src/core/negative-control-diff.d.ts +0 -51
- package/dist/src/core/negative-control-diff.js +0 -167
- package/dist/src/core/negative-control.d.ts +0 -150
- package/dist/src/core/negative-control.js +0 -399
- package/dist/src/core/objdir-install-manifests.d.ts +0 -73
- package/dist/src/core/objdir-install-manifests.js +0 -226
- package/dist/src/core/objdir-maintenance.d.ts +0 -10
- package/dist/src/core/objdir-maintenance.js +0 -167
- package/dist/src/core/ownership-table.d.ts +0 -53
- package/dist/src/core/ownership-table.js +0 -159
- package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
- package/dist/src/core/parent-exit-watchdog.js +0 -69
- package/dist/src/core/park-store.d.ts +0 -63
- package/dist/src/core/park-store.js +0 -216
- package/dist/src/core/parser-fallback.d.ts +0 -50
- package/dist/src/core/parser-fallback.js +0 -61
- package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
- package/dist/src/core/patch-apply-fuzz.js +0 -125
- package/dist/src/core/patch-apply.d.ts +0 -88
- package/dist/src/core/patch-apply.js +0 -435
- package/dist/src/core/patch-export-coverage.d.ts +0 -49
- package/dist/src/core/patch-export-coverage.js +0 -73
- package/dist/src/core/patch-export-metadata.d.ts +0 -46
- package/dist/src/core/patch-export-metadata.js +0 -47
- package/dist/src/core/patch-export-update.d.ts +0 -55
- package/dist/src/core/patch-export-update.js +0 -95
- package/dist/src/core/patch-export.d.ts +0 -175
- package/dist/src/core/patch-export.js +0 -312
- package/dist/src/core/patch-files.d.ts +0 -17
- package/dist/src/core/patch-files.js +0 -59
- package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
- package/dist/src/core/patch-identifier-suggest.js +0 -135
- package/dist/src/core/patch-lint-binary.d.ts +0 -45
- package/dist/src/core/patch-lint-binary.js +0 -39
- package/dist/src/core/patch-lint-cache-checkjs.d.ts +0 -45
- package/dist/src/core/patch-lint-cache-checkjs.js +0 -195
- package/dist/src/core/patch-lint-cache.d.ts +0 -79
- package/dist/src/core/patch-lint-cache.js +0 -247
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -57
- package/dist/src/core/patch-lint-checkjs-any-import.js +0 -91
- package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
- package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
- package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
- package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
- package/dist/src/core/patch-lint-checkjs-resolve.d.ts +0 -31
- package/dist/src/core/patch-lint-checkjs-resolve.js +0 -86
- package/dist/src/core/patch-lint-checkjs.d.ts +0 -182
- package/dist/src/core/patch-lint-checkjs.js +0 -563
- package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
- package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
- package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
- package/dist/src/core/patch-lint-code-lines.js +0 -105
- package/dist/src/core/patch-lint-creators.d.ts +0 -26
- package/dist/src/core/patch-lint-creators.js +0 -45
- package/dist/src/core/patch-lint-cross.d.ts +0 -232
- package/dist/src/core/patch-lint-cross.js +0 -590
- package/dist/src/core/patch-lint-css.d.ts +0 -27
- package/dist/src/core/patch-lint-css.js +0 -228
- package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
- package/dist/src/core/patch-lint-diff-tag.js +0 -105
- package/dist/src/core/patch-lint-diff.d.ts +0 -42
- package/dist/src/core/patch-lint-diff.js +0 -100
- package/dist/src/core/patch-lint-file-size.d.ts +0 -57
- package/dist/src/core/patch-lint-file-size.js +0 -62
- package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
- package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
- package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
- package/dist/src/core/patch-lint-forward-registration.js +0 -266
- package/dist/src/core/patch-lint-ignore.d.ts +0 -196
- package/dist/src/core/patch-lint-ignore.js +0 -429
- package/dist/src/core/patch-lint-imports.d.ts +0 -9
- package/dist/src/core/patch-lint-imports.js +0 -90
- package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
- package/dist/src/core/patch-lint-jsdoc.js +0 -471
- package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
- package/dist/src/core/patch-lint-module-registration.js +0 -97
- package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
- package/dist/src/core/patch-lint-mozbuild.js +0 -192
- package/dist/src/core/patch-lint-observer.d.ts +0 -37
- package/dist/src/core/patch-lint-observer.js +0 -167
- package/dist/src/core/patch-lint-ownership.d.ts +0 -74
- package/dist/src/core/patch-lint-ownership.js +0 -125
- package/dist/src/core/patch-lint-prettier.d.ts +0 -34
- package/dist/src/core/patch-lint-prettier.js +0 -124
- package/dist/src/core/patch-lint-projection.d.ts +0 -25
- package/dist/src/core/patch-lint-projection.js +0 -43
- package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
- package/dist/src/core/patch-lint-queue-types.js +0 -12
- package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
- package/dist/src/core/patch-lint-size-thresholds.js +0 -110
- package/dist/src/core/patch-lint-size.d.ts +0 -117
- package/dist/src/core/patch-lint-size.js +0 -331
- package/dist/src/core/patch-lint-staged-registration.d.ts +0 -98
- package/dist/src/core/patch-lint-staged-registration.js +0 -128
- package/dist/src/core/patch-lint-token-scale.d.ts +0 -65
- package/dist/src/core/patch-lint-token-scale.js +0 -304
- package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
- package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
- package/dist/src/core/patch-lint.d.ts +0 -206
- package/dist/src/core/patch-lint.js +0 -533
- package/dist/src/core/patch-lock.d.ts +0 -40
- package/dist/src/core/patch-lock.js +0 -129
- package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
- package/dist/src/core/patch-manifest-consistency.js +0 -256
- package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
- package/dist/src/core/patch-manifest-files-affected.js +0 -77
- package/dist/src/core/patch-manifest-io.d.ts +0 -199
- package/dist/src/core/patch-manifest-io.js +0 -556
- package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
- package/dist/src/core/patch-manifest-key-order.js +0 -60
- package/dist/src/core/patch-manifest-query.d.ts +0 -55
- package/dist/src/core/patch-manifest-query.js +0 -139
- package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
- package/dist/src/core/patch-manifest-resolve.js +0 -35
- package/dist/src/core/patch-manifest-stage.d.ts +0 -46
- package/dist/src/core/patch-manifest-stage.js +0 -96
- package/dist/src/core/patch-manifest-validate.d.ts +0 -20
- package/dist/src/core/patch-manifest-validate.js +0 -240
- package/dist/src/core/patch-manifest.d.ts +0 -12
- package/dist/src/core/patch-manifest.js +0 -13
- package/dist/src/core/patch-order-legal.d.ts +0 -26
- package/dist/src/core/patch-order-legal.js +0 -88
- package/dist/src/core/patch-parse.d.ts +0 -176
- package/dist/src/core/patch-parse.js +0 -416
- package/dist/src/core/patch-policy-content.d.ts +0 -40
- package/dist/src/core/patch-policy-content.js +0 -219
- package/dist/src/core/patch-policy.d.ts +0 -80
- package/dist/src/core/patch-policy.js +0 -394
- package/dist/src/core/patch-registration-refs.d.ts +0 -41
- package/dist/src/core/patch-registration-refs.js +0 -107
- package/dist/src/core/patch-retired.d.ts +0 -57
- package/dist/src/core/patch-retired.js +0 -92
- package/dist/src/core/patch-source-metadata.d.ts +0 -6
- package/dist/src/core/patch-source-metadata.js +0 -12
- package/dist/src/core/patch-subset.d.ts +0 -18
- package/dist/src/core/patch-subset.js +0 -67
- package/dist/src/core/patch-transform.d.ts +0 -61
- package/dist/src/core/patch-transform.js +0 -198
- package/dist/src/core/preflight-wait.d.ts +0 -22
- package/dist/src/core/preflight-wait.js +0 -62
- package/dist/src/core/process-cpu-time.d.ts +0 -12
- package/dist/src/core/process-cpu-time.js +0 -52
- package/dist/src/core/process-owner.d.ts +0 -9
- package/dist/src/core/process-owner.js +0 -43
- package/dist/src/core/rebase-dry-run.d.ts +0 -48
- package/dist/src/core/rebase-dry-run.js +0 -105
- package/dist/src/core/rebase-from-version.d.ts +0 -46
- package/dist/src/core/rebase-from-version.js +0 -71
- package/dist/src/core/rebase-session.d.ts +0 -100
- package/dist/src/core/rebase-session.js +0 -174
- package/dist/src/core/register-browser-content.d.ts +0 -11
- package/dist/src/core/register-browser-content.js +0 -52
- package/dist/src/core/register-browser-test.d.ts +0 -18
- package/dist/src/core/register-browser-test.js +0 -66
- package/dist/src/core/register-module.d.ts +0 -11
- package/dist/src/core/register-module.js +0 -56
- package/dist/src/core/register-result.d.ts +0 -30
- package/dist/src/core/register-result.js +0 -8
- package/dist/src/core/register-scaffold.d.ts +0 -55
- package/dist/src/core/register-scaffold.js +0 -146
- package/dist/src/core/register-shared-css.d.ts +0 -36
- package/dist/src/core/register-shared-css.js +0 -112
- package/dist/src/core/register-xpcshell-test.d.ts +0 -50
- package/dist/src/core/register-xpcshell-test.js +0 -143
- package/dist/src/core/run-log-redact.d.ts +0 -38
- package/dist/src/core/run-log-redact.js +0 -69
- package/dist/src/core/run-log.d.ts +0 -97
- package/dist/src/core/run-log.js +0 -334
- package/dist/src/core/run-profile.d.ts +0 -57
- package/dist/src/core/run-profile.js +0 -137
- package/dist/src/core/shared-ftl.d.ts +0 -28
- package/dist/src/core/shared-ftl.js +0 -49
- package/dist/src/core/signal-critical.d.ts +0 -38
- package/dist/src/core/signal-critical.js +0 -62
- package/dist/src/core/smoke-patterns.d.ts +0 -81
- package/dist/src/core/smoke-patterns.js +0 -176
- package/dist/src/core/state-file.d.ts +0 -60
- package/dist/src/core/state-file.js +0 -71
- package/dist/src/core/status-binary.d.ts +0 -62
- package/dist/src/core/status-binary.js +0 -133
- package/dist/src/core/status-classify.d.ts +0 -96
- package/dist/src/core/status-classify.js +0 -244
- package/dist/src/core/test-changed-prefs.d.ts +0 -30
- package/dist/src/core/test-changed-prefs.js +0 -93
- package/dist/src/core/test-harness-crash.d.ts +0 -251
- package/dist/src/core/test-harness-crash.js +0 -780
- package/dist/src/core/test-harness-infra.d.ts +0 -32
- package/dist/src/core/test-harness-infra.js +0 -69
- package/dist/src/core/test-harness-output.d.ts +0 -45
- package/dist/src/core/test-harness-output.js +0 -119
- package/dist/src/core/test-harness-signature.d.ts +0 -57
- package/dist/src/core/test-harness-signature.js +0 -35
- package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
- package/dist/src/core/test-harness-verdict-notes.js +0 -48
- package/dist/src/core/test-host-state.d.ts +0 -14
- package/dist/src/core/test-host-state.js +0 -80
- package/dist/src/core/test-path-scope.d.ts +0 -59
- package/dist/src/core/test-path-scope.js +0 -147
- package/dist/src/core/test-profile-files.d.ts +0 -17
- package/dist/src/core/test-profile-files.js +0 -75
- package/dist/src/core/test-raw-log.d.ts +0 -66
- package/dist/src/core/test-raw-log.js +0 -122
- package/dist/src/core/test-run-completeness.d.ts +0 -97
- package/dist/src/core/test-run-completeness.js +0 -191
- package/dist/src/core/test-stale-check.d.ts +0 -213
- package/dist/src/core/test-stale-check.js +0 -396
- package/dist/src/core/test-stale-exempt.d.ts +0 -40
- package/dist/src/core/test-stale-exempt.js +0 -70
- package/dist/src/core/test-stale-symlink.d.ts +0 -12
- package/dist/src/core/test-stale-symlink.js +0 -39
- package/dist/src/core/test-stall-triage.d.ts +0 -51
- package/dist/src/core/test-stall-triage.js +0 -142
- package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
- package/dist/src/core/test-xpcshell-retry.js +0 -31
- package/dist/src/core/token-category.d.ts +0 -54
- package/dist/src/core/token-category.js +0 -299
- package/dist/src/core/token-coverage.d.ts +0 -12
- package/dist/src/core/token-coverage.js +0 -96
- package/dist/src/core/token-dark-mode.d.ts +0 -64
- package/dist/src/core/token-dark-mode.js +0 -186
- package/dist/src/core/token-docs.d.ts +0 -34
- package/dist/src/core/token-docs.js +0 -102
- package/dist/src/core/token-inventory.d.ts +0 -56
- package/dist/src/core/token-inventory.js +0 -114
- package/dist/src/core/token-lint.d.ts +0 -53
- package/dist/src/core/token-lint.js +0 -131
- package/dist/src/core/token-manager.d.ts +0 -87
- package/dist/src/core/token-manager.js +0 -407
- package/dist/src/core/token-scaffold.d.ts +0 -36
- package/dist/src/core/token-scaffold.js +0 -73
- package/dist/src/core/token-sibling-sheets.d.ts +0 -46
- package/dist/src/core/token-sibling-sheets.js +0 -119
- package/dist/src/core/token-variant.d.ts +0 -90
- package/dist/src/core/token-variant.js +0 -327
- package/dist/src/core/toolchain-preflight.d.ts +0 -90
- package/dist/src/core/toolchain-preflight.js +0 -251
- package/dist/src/core/tree-cow.d.ts +0 -16
- package/dist/src/core/tree-cow.js +0 -71
- package/dist/src/core/tree-guard.d.ts +0 -35
- package/dist/src/core/tree-guard.js +0 -194
- package/dist/src/core/tree-store.d.ts +0 -143
- package/dist/src/core/tree-store.js +0 -478
- package/dist/src/core/typecheck-explain.d.ts +0 -93
- package/dist/src/core/typecheck-explain.js +0 -213
- package/dist/src/core/typecheck-shim.d.ts +0 -90
- package/dist/src/core/typecheck-shim.js +0 -508
- package/dist/src/core/typecheck.d.ts +0 -97
- package/dist/src/core/typecheck.js +0 -457
- package/dist/src/core/wire-destroy.d.ts +0 -25
- package/dist/src/core/wire-destroy.js +0 -126
- package/dist/src/core/wire-dom-fragment.d.ts +0 -44
- package/dist/src/core/wire-dom-fragment.js +0 -139
- package/dist/src/core/wire-init.d.ts +0 -28
- package/dist/src/core/wire-init.js +0 -219
- package/dist/src/core/wire-subscript.d.ts +0 -23
- package/dist/src/core/wire-subscript.js +0 -145
- package/dist/src/core/wire-utils.d.ts +0 -149
- package/dist/src/core/wire-utils.js +0 -338
- package/dist/src/core/xpcshell-appdir.d.ts +0 -157
- package/dist/src/core/xpcshell-appdir.js +0 -299
- package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
- package/dist/src/core/xpcshell-profile-dir.js +0 -45
- package/dist/src/errors/base.d.ts +0 -217
- package/dist/src/errors/base.js +0 -279
- package/dist/src/errors/build.d.ts +0 -92
- package/dist/src/errors/build.js +0 -166
- package/dist/src/errors/codes.d.ts +0 -74
- package/dist/src/errors/codes.js +0 -74
- package/dist/src/errors/config.d.ts +0 -17
- package/dist/src/errors/config.js +0 -39
- package/dist/src/errors/download.d.ts +0 -66
- package/dist/src/errors/download.js +0 -160
- package/dist/src/errors/furnace.d.ts +0 -20
- package/dist/src/errors/furnace.js +0 -28
- package/dist/src/errors/git.d.ts +0 -65
- package/dist/src/errors/git.js +0 -140
- package/dist/src/errors/patch.d.ts +0 -27
- package/dist/src/errors/patch.js +0 -52
- package/dist/src/errors/rebase.d.ts +0 -42
- package/dist/src/errors/rebase.js +0 -71
- package/dist/src/errors/run.d.ts +0 -16
- package/dist/src/errors/run.js +0 -22
- package/dist/src/index.d.ts +0 -42
- package/dist/src/index.js +0 -32
- package/dist/src/types/cli.d.ts +0 -14
- package/dist/src/types/commands/index.d.ts +0 -6
- package/dist/src/types/commands/index.js +0 -5
- package/dist/src/types/commands/options.d.ts +0 -1372
- package/dist/src/types/commands/options.js +0 -5
- package/dist/src/types/commands/patches.d.ts +0 -352
- package/dist/src/types/commands/patches.js +0 -5
- package/dist/src/types/commands/project.d.ts +0 -51
- package/dist/src/types/commands/project.js +0 -5
- package/dist/src/types/config.d.ts +0 -732
- package/dist/src/types/config.js +0 -15
- package/dist/src/types/furnace.d.ts +0 -422
- package/dist/src/types/furnace.js +0 -26
- package/dist/src/types/index.d.ts +0 -5
- package/dist/src/types/index.js +0 -5
- package/dist/src/types/json.d.ts +0 -22
- package/dist/src/types/json.js +0 -11
- package/dist/src/types/typecheck.d.ts +0 -51
- package/dist/src/types/typecheck.js +0 -14
- package/dist/src/utils/assert.d.ts +0 -34
- package/dist/src/utils/assert.js +0 -61
- package/dist/src/utils/build-info.d.ts +0 -30
- package/dist/src/utils/build-info.js +0 -99
- package/dist/src/utils/child-env.d.ts +0 -28
- package/dist/src/utils/child-env.js +0 -27
- package/dist/src/utils/concurrency.d.ts +0 -8
- package/dist/src/utils/concurrency.js +0 -32
- package/dist/src/utils/elapsed.d.ts +0 -2
- package/dist/src/utils/elapsed.js +0 -23
- package/dist/src/utils/errors.d.ts +0 -39
- package/dist/src/utils/errors.js +0 -67
- package/dist/src/utils/fs.d.ts +0 -113
- package/dist/src/utils/fs.js +0 -337
- package/dist/src/utils/hash.d.ts +0 -12
- package/dist/src/utils/hash.js +0 -16
- package/dist/src/utils/line-dispatch.d.ts +0 -15
- package/dist/src/utils/line-dispatch.js +0 -48
- package/dist/src/utils/logger.d.ts +0 -109
- package/dist/src/utils/logger.js +0 -270
- package/dist/src/utils/machine-output.d.ts +0 -12
- package/dist/src/utils/machine-output.js +0 -33
- package/dist/src/utils/options.d.ts +0 -155
- package/dist/src/utils/options.js +0 -312
- package/dist/src/utils/package-root.d.ts +0 -21
- package/dist/src/utils/package-root.js +0 -70
- package/dist/src/utils/parse.d.ts +0 -117
- package/dist/src/utils/parse.js +0 -214
- package/dist/src/utils/path-glob.d.ts +0 -15
- package/dist/src/utils/path-glob.js +0 -47
- package/dist/src/utils/paths.d.ts +0 -31
- package/dist/src/utils/paths.js +0 -80
- package/dist/src/utils/platform.d.ts +0 -9
- package/dist/src/utils/platform.js +0 -14
- package/dist/src/utils/process-group.d.ts +0 -42
- package/dist/src/utils/process-group.js +0 -190
- package/dist/src/utils/process-input.d.ts +0 -27
- package/dist/src/utils/process-input.js +0 -46
- package/dist/src/utils/process.d.ts +0 -293
- package/dist/src/utils/process.js +0 -593
- package/dist/src/utils/ps-duration.d.ts +0 -31
- package/dist/src/utils/ps-duration.js +0 -70
- package/dist/src/utils/regex.d.ts +0 -39
- package/dist/src/utils/regex.js +0 -109
- package/dist/src/utils/sleep.d.ts +0 -25
- package/dist/src/utils/sleep.js +0 -30
- package/dist/src/utils/stdio-drain.d.ts +0 -28
- package/dist/src/utils/stdio-drain.js +0 -54
- package/dist/src/utils/validation.d.ts +0 -182
- package/dist/src/utils/validation.js +0 -394
- package/docs/lifecycle-invariants.md +0 -523
- package/docs/run-logs.md +0 -122
- package/docs/verification-trees.md +0 -49
- /package/dist/src/{types/cli.js → cli/context.js} +0 -0
|
@@ -1,248 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Firefox source extraction and installed version detection.
|
|
4
|
-
*/
|
|
5
|
-
import { join } from 'node:path';
|
|
6
|
-
import { ExtractionError } from '../errors/download.js';
|
|
7
|
-
import { elapsedSince } from '../utils/elapsed.js';
|
|
8
|
-
import { ensureDir, pathExists, readText } from '../utils/fs.js';
|
|
9
|
-
import { exec, execStream, executableExists } from '../utils/process.js';
|
|
10
|
-
/**
|
|
11
|
-
* Returns true when an archive member path could land outside the
|
|
12
|
-
* extraction root: absolute (POSIX or Windows drive/backslash rooted) or
|
|
13
|
-
* containing a `..` segment.
|
|
14
|
-
*/
|
|
15
|
-
function isUnsafeArchivePath(path) {
|
|
16
|
-
if (path.startsWith('/') || path.startsWith('\\'))
|
|
17
|
-
return true;
|
|
18
|
-
if (/^[A-Za-z]:[\\/]/.test(path))
|
|
19
|
-
return true;
|
|
20
|
-
return path.split(/[\\/]/).includes('..');
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Returns true when an archive member path has a `.git` segment at any
|
|
24
|
-
* depth (`.git`, `.git/config`, `foo/.git/hooks/pre-commit`). Such a member
|
|
25
|
-
* lands inside the extraction root, so the traversal check passes it, but
|
|
26
|
-
* the extracted tree is immediately turned into a git repository and
|
|
27
|
-
* committed, and git honours a pre-seeded `.git/config` (`core.fsmonitor`,
|
|
28
|
-
* `core.hooksPath`) or `.git/hooks/*` on that first commit. Only the `.git`
|
|
29
|
-
* directory/file is rejected. `.gitmodules`, `.gitignore` and the like are
|
|
30
|
-
* legitimate upstream files.
|
|
31
|
-
*/
|
|
32
|
-
function hasGitSegment(path) {
|
|
33
|
-
return path.split(/[\\/]/).some((segment) => segment.toLowerCase() === '.git');
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Returns true when an archive member name must be rejected: an escaping
|
|
37
|
-
* path, or a `.git` segment (see {@link hasGitSegment}). Link targets use
|
|
38
|
-
* the narrower {@link isUnsafeArchivePath}: a target can only be reached
|
|
39
|
-
* through a member name that was checked here.
|
|
40
|
-
*/
|
|
41
|
-
function isUnsafeArchiveMemberName(name) {
|
|
42
|
-
return isUnsafeArchivePath(name) || hasGitSegment(name);
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Validates entry names from a `tar -tf` listing: escaping paths and
|
|
46
|
-
* `.git` members are both rejected.
|
|
47
|
-
* @param names - Listing lines (one member name per line)
|
|
48
|
-
* @returns The first unsafe member name, or undefined when all are safe
|
|
49
|
-
*/
|
|
50
|
-
export function findUnsafeArchiveEntryName(names) {
|
|
51
|
-
for (const raw of names) {
|
|
52
|
-
const name = raw.trim();
|
|
53
|
-
if (name.length === 0)
|
|
54
|
-
continue;
|
|
55
|
-
if (isUnsafeArchiveMemberName(name))
|
|
56
|
-
return name;
|
|
57
|
-
}
|
|
58
|
-
return undefined;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Validates symlink and hardlink targets from a `tar -tvf` listing.
|
|
62
|
-
*
|
|
63
|
-
* A relative link target without `..` segments can only resolve inside the
|
|
64
|
-
* extraction root, so only absolute or `..`-containing targets are rejected.
|
|
65
|
-
* Symlinks are `l`-typed lines with a ` -> target` suffix (the last arrow is
|
|
66
|
-
* taken, so a link whose own name contains ` -> ` still parses to its real
|
|
67
|
-
* target). Hardlinks print ` link to target` on GNU tar and bsdtar alike.
|
|
68
|
-
*
|
|
69
|
-
* @param verboseLines - `tar -tvf` listing lines
|
|
70
|
-
* @returns A description of the first unsafe link found, or undefined
|
|
71
|
-
*/
|
|
72
|
-
export function findUnsafeArchiveLink(verboseLines) {
|
|
73
|
-
for (const line of verboseLines) {
|
|
74
|
-
if (line.startsWith('l')) {
|
|
75
|
-
const arrow = line.lastIndexOf(' -> ');
|
|
76
|
-
if (arrow !== -1) {
|
|
77
|
-
const target = line.slice(arrow + 4).trim();
|
|
78
|
-
if (isUnsafeArchivePath(target))
|
|
79
|
-
return `symlink target: ${target}`;
|
|
80
|
-
continue;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
const hardlink = line.lastIndexOf(' link to ');
|
|
84
|
-
if (hardlink !== -1) {
|
|
85
|
-
const target = line.slice(hardlink + 9).trim();
|
|
86
|
-
if (isUnsafeArchivePath(target))
|
|
87
|
-
return `hardlink target: ${target}`;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return undefined;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Lists the archive and rejects members that could escape the extraction
|
|
94
|
-
* root before anything is written to disk: absolute names, `..` traversal,
|
|
95
|
-
* and symlink/hardlink targets that are absolute or `..`-escaping. Modern
|
|
96
|
-
* GNU tar / bsdtar refuse most of these at extraction time. The preflight
|
|
97
|
-
* makes the guarantee explicit and independent of the host tar's defaults.
|
|
98
|
-
*
|
|
99
|
-
* Two listings are needed because they answer different questions and
|
|
100
|
-
* neither is safe to derive from the other: member names come from `-tf`,
|
|
101
|
-
* where the whole line is the name, while link targets only appear in
|
|
102
|
-
* `-tvf`. Names are not parsed out of the `-tvf` columns, on purpose: the
|
|
103
|
-
* adjacent uname/gname fields are attacker-controlled in a crafted archive,
|
|
104
|
-
* so a date-shaped owner name could shift the column boundary and hide an
|
|
105
|
-
* absolute member name from the check. Each listing pass costs one full
|
|
106
|
-
* decompression, so the two run concurrently and overlap almost perfectly
|
|
107
|
-
* (CPU-bound on separate cores): on a 601 MB Firefox ESR source tarball the
|
|
108
|
-
* preflight adds ~22 s to a ~58 s extraction, versus ~44 s if run
|
|
109
|
-
* sequentially.
|
|
110
|
-
*/
|
|
111
|
-
/**
|
|
112
|
-
* Incremental line splitter for streamed listings. Keeps only the current
|
|
113
|
-
* partial line in memory, so a 350k-entry Firefox listing costs O(longest
|
|
114
|
-
* line), not O(listing).
|
|
115
|
-
*/
|
|
116
|
-
function createLineScanner(onLine) {
|
|
117
|
-
let buffer = '';
|
|
118
|
-
return {
|
|
119
|
-
push(chunk) {
|
|
120
|
-
buffer += chunk;
|
|
121
|
-
let idx;
|
|
122
|
-
while ((idx = buffer.indexOf('\n')) !== -1) {
|
|
123
|
-
onLine(buffer.slice(0, idx));
|
|
124
|
-
buffer = buffer.slice(idx + 1);
|
|
125
|
-
}
|
|
126
|
-
},
|
|
127
|
-
flush() {
|
|
128
|
-
if (buffer.length > 0) {
|
|
129
|
-
onLine(buffer);
|
|
130
|
-
buffer = '';
|
|
131
|
-
}
|
|
132
|
-
},
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Runs one tar listing pass, streaming lines through `checkLine` and
|
|
137
|
-
* returning the first unsafe finding (or undefined) plus the exit code.
|
|
138
|
-
*
|
|
139
|
-
* Streaming matters for safety, not just memory: a buffered `exec` collector
|
|
140
|
-
* silently truncates at 50 MB, and a full Firefox `-tvf` listing already
|
|
141
|
-
* sits in the 40-50 MB range, so a buffered implementation scans only the
|
|
142
|
-
* head of the listing while reporting the archive safe. A crafted archive
|
|
143
|
-
* could exploit that by padding benign entries first and hiding a
|
|
144
|
-
* traversal name or absolute link target past the cap. Per-line streaming
|
|
145
|
-
* scans every entry with bounded memory.
|
|
146
|
-
*/
|
|
147
|
-
async function runListingScan(archivePath, tarFlag, checkLine) {
|
|
148
|
-
// LC_ALL=C keeps the -tvf column format stable for the link parse.
|
|
149
|
-
const listEnv = { LC_ALL: 'C', LANG: 'C' };
|
|
150
|
-
let unsafe;
|
|
151
|
-
let stderrTail = '';
|
|
152
|
-
const scanner = createLineScanner((line) => {
|
|
153
|
-
if (unsafe === undefined) {
|
|
154
|
-
unsafe = checkLine(line);
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
|
-
const exitCode = await execStream('tar', [tarFlag, archivePath], {
|
|
158
|
-
env: listEnv,
|
|
159
|
-
onStdout: (chunk) => {
|
|
160
|
-
scanner.push(chunk);
|
|
161
|
-
},
|
|
162
|
-
onStderr: (chunk) => {
|
|
163
|
-
// Keep a small diagnostic tail. The listing itself is the big stream.
|
|
164
|
-
stderrTail = (stderrTail + chunk).slice(-4096);
|
|
165
|
-
},
|
|
166
|
-
});
|
|
167
|
-
scanner.flush();
|
|
168
|
-
return { unsafe, exitCode, stderrTail };
|
|
169
|
-
}
|
|
170
|
-
async function preflightArchiveEntries(archivePath) {
|
|
171
|
-
const [nameScan, linkScan] = await Promise.all([
|
|
172
|
-
runListingScan(archivePath, '-tf', (line) => findUnsafeArchiveEntryName([line])),
|
|
173
|
-
runListingScan(archivePath, '-tvf', (line) => findUnsafeArchiveLink([line])),
|
|
174
|
-
]);
|
|
175
|
-
if (nameScan.exitCode !== 0) {
|
|
176
|
-
throw new ExtractionError(archivePath, new Error(`tar -tf preflight exited with code ${nameScan.exitCode}:\n${nameScan.stderrTail}`));
|
|
177
|
-
}
|
|
178
|
-
if (nameScan.unsafe !== undefined) {
|
|
179
|
-
throw new ExtractionError(archivePath, new Error(`Archive rejected: member name could escape the extraction root or seed .git: ${nameScan.unsafe}`));
|
|
180
|
-
}
|
|
181
|
-
if (linkScan.exitCode !== 0) {
|
|
182
|
-
throw new ExtractionError(archivePath, new Error(`tar -tvf preflight exited with code ${linkScan.exitCode}:\n${linkScan.stderrTail}`));
|
|
183
|
-
}
|
|
184
|
-
if (linkScan.unsafe !== undefined) {
|
|
185
|
-
throw new ExtractionError(archivePath, new Error(`Archive rejected: link could escape the extraction root (${linkScan.unsafe})`));
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Extracts a tar.xz archive after a listing preflight that rejects
|
|
190
|
-
* path-traversal member names and escaping link targets.
|
|
191
|
-
* @param archivePath - Path to the archive
|
|
192
|
-
* @param destDir - Destination directory
|
|
193
|
-
*/
|
|
194
|
-
export async function extractTarXz(archivePath, destDir, onProgress) {
|
|
195
|
-
if (!(await executableExists('tar'))) {
|
|
196
|
-
throw new ExtractionError(archivePath, new Error('The "tar" command was not found. Please install tar (or ensure it is on your PATH) and try again.'));
|
|
197
|
-
}
|
|
198
|
-
await ensureDir(destDir);
|
|
199
|
-
const startedAt = Date.now();
|
|
200
|
-
onProgress?.(`Validating source archive entries (${elapsedSince(startedAt)} elapsed)...`);
|
|
201
|
-
const heartbeat = onProgress
|
|
202
|
-
? setInterval(() => {
|
|
203
|
-
onProgress(`Extracting source archive (${elapsedSince(startedAt)} elapsed)...`);
|
|
204
|
-
}, 15_000)
|
|
205
|
-
: null;
|
|
206
|
-
heartbeat?.unref();
|
|
207
|
-
try {
|
|
208
|
-
await preflightArchiveEntries(archivePath);
|
|
209
|
-
onProgress?.(`Extracting source archive (${elapsedSince(startedAt)} elapsed)...`);
|
|
210
|
-
const result = await exec('tar', ['-xf', archivePath, '-C', destDir]);
|
|
211
|
-
if (result.exitCode !== 0) {
|
|
212
|
-
throw new ExtractionError(archivePath, new Error(`tar exited with code ${result.exitCode}:\n${result.stderr}`));
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
finally {
|
|
216
|
-
if (heartbeat)
|
|
217
|
-
clearInterval(heartbeat);
|
|
218
|
-
}
|
|
219
|
-
onProgress?.(`Source archive extracted (${elapsedSince(startedAt)} elapsed)`);
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Gets the Firefox version from an existing source directory.
|
|
223
|
-
* @param engineDir - Path to the engine directory
|
|
224
|
-
* @returns Firefox version string
|
|
225
|
-
*/
|
|
226
|
-
export async function getFirefoxVersion(engineDir) {
|
|
227
|
-
const versionPath = join(engineDir, 'browser', 'config', 'version.txt');
|
|
228
|
-
if (!(await pathExists(versionPath))) {
|
|
229
|
-
return undefined;
|
|
230
|
-
}
|
|
231
|
-
const version = await readText(versionPath);
|
|
232
|
-
return version.trim();
|
|
233
|
-
}
|
|
234
|
-
/**
|
|
235
|
-
* Formats bytes into a human-readable string.
|
|
236
|
-
* @param bytes - Number of bytes
|
|
237
|
-
* @returns Formatted string (e.g., "1.5 GB")
|
|
238
|
-
*/
|
|
239
|
-
export function formatBytes(bytes) {
|
|
240
|
-
const units = ['B', 'KB', 'MB', 'GB'];
|
|
241
|
-
let size = bytes;
|
|
242
|
-
let unitIndex = 0;
|
|
243
|
-
while (size >= 1024 && unitIndex < units.length - 1) {
|
|
244
|
-
size /= 1024;
|
|
245
|
-
unitIndex++;
|
|
246
|
-
}
|
|
247
|
-
return `${size.toFixed(1)} ${units[unitIndex]}`;
|
|
248
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Result of normalizing Firefox's Mercurial ignore file for Git-backed
|
|
3
|
-
* checkouts.
|
|
4
|
-
*/
|
|
5
|
-
export type FirefoxIgnorefileCompatibilityResult = 'created' | 'existing' | 'skipped';
|
|
6
|
-
/**
|
|
7
|
-
* Ensures Firefox's mozlint ignorefile configuration can be parsed in
|
|
8
|
-
* Git-backed source trees.
|
|
9
|
-
*
|
|
10
|
-
* Firefox's `tools/lint/ignorefile.yml` includes both `.gitignore` and
|
|
11
|
-
* `.hgignore`. Source archives and some Git mirrors may omit `.hgignore`,
|
|
12
|
-
* which makes `mach lint --fix <files>` fail before it reaches the scoped
|
|
13
|
-
* linter. For FireForge-managed Git checkouts, copying `.gitignore` gives
|
|
14
|
-
* mozlint the missing include and keeps the ignorefile linter's pattern
|
|
15
|
-
* comparison equivalent without patching upstream lint configuration.
|
|
16
|
-
*/
|
|
17
|
-
export declare function ensureFirefoxIgnorefileCompatibility(engineDir: string): Promise<FirefoxIgnorefileCompatibilityResult>;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { join } from 'node:path';
|
|
3
|
-
import { pathExists, readText, writeText } from '../utils/fs.js';
|
|
4
|
-
/**
|
|
5
|
-
* Ensures Firefox's mozlint ignorefile configuration can be parsed in
|
|
6
|
-
* Git-backed source trees.
|
|
7
|
-
*
|
|
8
|
-
* Firefox's `tools/lint/ignorefile.yml` includes both `.gitignore` and
|
|
9
|
-
* `.hgignore`. Source archives and some Git mirrors may omit `.hgignore`,
|
|
10
|
-
* which makes `mach lint --fix <files>` fail before it reaches the scoped
|
|
11
|
-
* linter. For FireForge-managed Git checkouts, copying `.gitignore` gives
|
|
12
|
-
* mozlint the missing include and keeps the ignorefile linter's pattern
|
|
13
|
-
* comparison equivalent without patching upstream lint configuration.
|
|
14
|
-
*/
|
|
15
|
-
export async function ensureFirefoxIgnorefileCompatibility(engineDir) {
|
|
16
|
-
const lintConfigPath = join(engineDir, 'tools', 'lint', 'ignorefile.yml');
|
|
17
|
-
if (!(await pathExists(lintConfigPath))) {
|
|
18
|
-
return 'skipped';
|
|
19
|
-
}
|
|
20
|
-
const hgignorePath = join(engineDir, '.hgignore');
|
|
21
|
-
if (await pathExists(hgignorePath)) {
|
|
22
|
-
return 'existing';
|
|
23
|
-
}
|
|
24
|
-
const gitignorePath = join(engineDir, '.gitignore');
|
|
25
|
-
if (!(await pathExists(gitignorePath))) {
|
|
26
|
-
return 'skipped';
|
|
27
|
-
}
|
|
28
|
-
await writeText(hgignorePath, await readText(gitignorePath));
|
|
29
|
-
return 'created';
|
|
30
|
-
}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Firefox source download, extraction, and cache management.
|
|
3
|
-
*
|
|
4
|
-
* Re-exports from focused sub-modules and provides the top-level
|
|
5
|
-
* {@link downloadFirefoxSource} orchestrator.
|
|
6
|
-
*/
|
|
7
|
-
import type { FirefoxProduct } from '../types/config.js';
|
|
8
|
-
import type { ArchiveIntegrityOptions } from './firefox-cache.js';
|
|
9
|
-
import type { ProgressCallback } from './firefox-download.js';
|
|
10
|
-
export { formatBytes, getFirefoxVersion } from './firefox-extract.js';
|
|
11
|
-
/**
|
|
12
|
-
* Lifecycle phase reported by {@link downloadFirefoxSource}. The download
|
|
13
|
-
* CLI command uses this to swap spinners between the bytes-on-the-wire phase
|
|
14
|
-
* and the silent tar-xz decompression phase that follows: a single spinner
|
|
15
|
-
* covering both sticks at "Downloading Firefox … 100%" and makes first-run
|
|
16
|
-
* setup look hung precisely when the archive is already on disk and `tar` is
|
|
17
|
-
* the long pole.
|
|
18
|
-
*/
|
|
19
|
-
export type FirefoxSourcePhase = 'download' | 'extract';
|
|
20
|
-
/** Callback fired at phase transitions during {@link downloadFirefoxSource}. */
|
|
21
|
-
export type FirefoxSourcePhaseCallback = (phase: FirefoxSourcePhase) => void;
|
|
22
|
-
export type FirefoxSourceProgressCallback = (message: string) => void;
|
|
23
|
-
/**
|
|
24
|
-
* Sweeps orphaned working directories left behind by interrupted downloads
|
|
25
|
-
* (`<engine>.tmp-*` from extraction, `<engine>.replacement-*` from --force
|
|
26
|
-
* replacement). Both hold multi-GB partial trees, are worthless after the
|
|
27
|
-
* owning process died, and nothing else ever reclaimed them. Does not
|
|
28
|
-
* touch `<engine>.backup-*`: a backup may hold the operator's previous
|
|
29
|
-
* engine after a failed forced replacement and is their recovery copy, so
|
|
30
|
-
* callers should surface its existence instead.
|
|
31
|
-
*
|
|
32
|
-
* @returns names of the directories that were removed
|
|
33
|
-
*/
|
|
34
|
-
export declare function sweepOrphanedEngineWorkDirs(destDir: string): Promise<string[]>;
|
|
35
|
-
/** Inputs for {@link downloadFirefoxSource}. */
|
|
36
|
-
export interface DownloadFirefoxSourceOptions {
|
|
37
|
-
/** Firefox version to fetch, e.g. `140.9.0esr`. */
|
|
38
|
-
version: string;
|
|
39
|
-
/** Product channel the version belongs to. */
|
|
40
|
-
product: FirefoxProduct;
|
|
41
|
-
/** Directory the extracted source tree is moved into. */
|
|
42
|
-
destDir: string;
|
|
43
|
-
/** Directory holding downloaded tarballs between runs. */
|
|
44
|
-
cacheDir: string;
|
|
45
|
-
/** Called with byte progress for the whole transfer. */
|
|
46
|
-
onProgress?: ProgressCallback | undefined;
|
|
47
|
-
/** Called when the run moves from downloading to extracting. */
|
|
48
|
-
onPhase?: FirefoxSourcePhaseCallback | undefined;
|
|
49
|
-
/** Expected archive checksum, verified after download when supplied. */
|
|
50
|
-
expectedSha256?: string | undefined;
|
|
51
|
-
/** Called with byte progress within the current phase. */
|
|
52
|
-
onPhaseProgress?: FirefoxSourceProgressCallback | undefined;
|
|
53
|
-
/**
|
|
54
|
-
* Release-candidate build directory (e.g. `build2`), resolving the archive
|
|
55
|
-
* under `candidates/` instead of `releases/`.
|
|
56
|
-
*/
|
|
57
|
-
candidate?: string | undefined;
|
|
58
|
-
/** Integrity-check defaults for unpinned downloads. */
|
|
59
|
-
integrity?: ArchiveIntegrityOptions | undefined;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Downloads and extracts Firefox source.
|
|
63
|
-
*
|
|
64
|
-
* @param options - See {@link DownloadFirefoxSourceOptions}.
|
|
65
|
-
*/
|
|
66
|
-
export declare function downloadFirefoxSource(options: DownloadFirefoxSourceOptions): Promise<void>;
|
package/dist/src/core/firefox.js
DELETED
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Firefox source download, extraction, and cache management.
|
|
4
|
-
*
|
|
5
|
-
* Re-exports from focused sub-modules and provides the top-level
|
|
6
|
-
* {@link downloadFirefoxSource} orchestrator.
|
|
7
|
-
*/
|
|
8
|
-
import { randomUUID } from 'node:crypto';
|
|
9
|
-
import { readdir, rename } from 'node:fs/promises';
|
|
10
|
-
import { basename, dirname, join } from 'node:path';
|
|
11
|
-
import { getNodeErrorCode, toError } from '../utils/errors.js';
|
|
12
|
-
import { ensureDir, removeDir } from '../utils/fs.js';
|
|
13
|
-
import { resolveArchive } from './firefox-archive.js';
|
|
14
|
-
import { ensureCachedArchive, invalidateArchiveCache } from './firefox-cache.js';
|
|
15
|
-
import { extractTarXz } from './firefox-extract.js';
|
|
16
|
-
// ── Re-exports (preserve public API) ──
|
|
17
|
-
export { formatBytes, getFirefoxVersion } from './firefox-extract.js';
|
|
18
|
-
/**
|
|
19
|
-
* Classifies an extraction failure as archive corruption (invalidate the
|
|
20
|
-
* cache and re-download) versus an environmental problem (keep the cached
|
|
21
|
-
* archive so the retry can reuse it). Environmental signatures are the
|
|
22
|
-
* conservative list. Anything unrecognized is treated as corruption so a
|
|
23
|
-
* genuinely bad archive can never survive in the cache.
|
|
24
|
-
*/
|
|
25
|
-
function isLikelyArchiveCorruptionError(error) {
|
|
26
|
-
const message = toError(error).message;
|
|
27
|
-
const code = getNodeErrorCode(error);
|
|
28
|
-
if (code === 'ENOSPC' || code === 'EACCES' || code === 'EPERM' || code === 'EDQUOT') {
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
if (/No space left on device|Permission denied|Disk quota exceeded/i.test(message)) {
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
-
// Missing tar binary / preflight refusing an unsafe archive both carry
|
|
35
|
-
// ExtractionError text that names the condition. A missing tar is
|
|
36
|
-
// environmental, an unsafe-entry rejection indicts the archive.
|
|
37
|
-
if (/"tar" command was not found/i.test(message)) {
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
40
|
-
return true;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Sweeps orphaned working directories left behind by interrupted downloads
|
|
44
|
-
* (`<engine>.tmp-*` from extraction, `<engine>.replacement-*` from --force
|
|
45
|
-
* replacement). Both hold multi-GB partial trees, are worthless after the
|
|
46
|
-
* owning process died, and nothing else ever reclaimed them. Does not
|
|
47
|
-
* touch `<engine>.backup-*`: a backup may hold the operator's previous
|
|
48
|
-
* engine after a failed forced replacement and is their recovery copy, so
|
|
49
|
-
* callers should surface its existence instead.
|
|
50
|
-
*
|
|
51
|
-
* @returns names of the directories that were removed
|
|
52
|
-
*/
|
|
53
|
-
export async function sweepOrphanedEngineWorkDirs(destDir) {
|
|
54
|
-
const parent = dirname(destDir);
|
|
55
|
-
const enginePrefixTmp = `${basename(destDir)}.tmp-`;
|
|
56
|
-
const enginePrefixReplacement = `${basename(destDir)}.replacement-`;
|
|
57
|
-
let entries;
|
|
58
|
-
try {
|
|
59
|
-
entries = await readdir(parent);
|
|
60
|
-
}
|
|
61
|
-
catch {
|
|
62
|
-
// An unreadable parent directory holds no sweepable work dirs. The sweep is
|
|
63
|
-
// best-effort housekeeping and must never fail the download it follows.
|
|
64
|
-
return [];
|
|
65
|
-
}
|
|
66
|
-
const removed = [];
|
|
67
|
-
for (const name of entries) {
|
|
68
|
-
if (name.startsWith(enginePrefixTmp) || name.startsWith(enginePrefixReplacement)) {
|
|
69
|
-
await removeDir(join(parent, name));
|
|
70
|
-
removed.push(name);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
return removed;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Downloads and extracts Firefox source.
|
|
77
|
-
*
|
|
78
|
-
* @param options - See {@link DownloadFirefoxSourceOptions}.
|
|
79
|
-
*/
|
|
80
|
-
export async function downloadFirefoxSource(options) {
|
|
81
|
-
const { version, product, destDir, cacheDir, onProgress, onPhase, expectedSha256, onPhaseProgress, candidate, integrity, } = options;
|
|
82
|
-
const archive = resolveArchive(version, product, candidate);
|
|
83
|
-
const tarballPath = join(cacheDir, archive.filename);
|
|
84
|
-
// Ensure cache directory exists
|
|
85
|
-
await ensureDir(cacheDir);
|
|
86
|
-
onPhase?.('download');
|
|
87
|
-
await ensureCachedArchive(archive, cacheDir, onProgress, expectedSha256, onPhaseProgress, integrity);
|
|
88
|
-
// Extract to a unique temporary directory so concurrent downloads for
|
|
89
|
-
// the same destination do not clobber each other.
|
|
90
|
-
onPhase?.('extract');
|
|
91
|
-
const tempDir = `${destDir}.tmp-${randomUUID()}`;
|
|
92
|
-
try {
|
|
93
|
-
await extractTarXz(tarballPath, tempDir, onPhaseProgress);
|
|
94
|
-
}
|
|
95
|
-
catch (error) {
|
|
96
|
-
await removeDir(tempDir);
|
|
97
|
-
// Only throw away the ~600 MB cached archive when the failure indicts
|
|
98
|
-
// the archive, not the environment. ENOSPC, a permission problem in
|
|
99
|
-
// destDir, or tar disappearing mid-run leaves a perfectly good download
|
|
100
|
-
// that a retry can reuse without a full re-fetch.
|
|
101
|
-
if (isLikelyArchiveCorruptionError(error)) {
|
|
102
|
-
await invalidateArchiveCache(archive, cacheDir);
|
|
103
|
-
}
|
|
104
|
-
throw error;
|
|
105
|
-
}
|
|
106
|
-
// Firefox source extracts to a subdirectory (e.g., firefox-140.0/)
|
|
107
|
-
// Find it dynamically since ESR versions may have different naming
|
|
108
|
-
const entries = await readdir(tempDir, { withFileTypes: true });
|
|
109
|
-
const extractedSubdir = entries.find((entry) => entry.isDirectory() && entry.name.startsWith('firefox-'));
|
|
110
|
-
if (extractedSubdir) {
|
|
111
|
-
const extractedDir = join(tempDir, extractedSubdir.name);
|
|
112
|
-
await removeDir(destDir);
|
|
113
|
-
await rename(extractedDir, destDir);
|
|
114
|
-
await removeDir(tempDir);
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
// If no subdirectory, the temp dir is the source
|
|
118
|
-
await removeDir(destDir);
|
|
119
|
-
await rename(tempDir, destDir);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Public, queue-level entry point to the `forward-registration` census.
|
|
3
|
-
*
|
|
4
|
-
* A consumer that keeps its own audit (a ratchet baseline over forward
|
|
5
|
-
* edges, say) runs the rule's own predicate here instead of mirroring it.
|
|
6
|
-
* Lives apart from the rule module because it builds the queue context,
|
|
7
|
-
* which imports the rule back.
|
|
8
|
-
*/
|
|
9
|
-
import type { FireForgeConfig } from '../types/config.js';
|
|
10
|
-
import type { ForwardRegistration, ForwardRegistrationScope } from './patch-lint-forward-registration-extended.js';
|
|
11
|
-
/** Options for {@link findForwardRegistrations}. */
|
|
12
|
-
export interface FindForwardRegistrationsOptions {
|
|
13
|
-
/**
|
|
14
|
-
* Which carriers to check. Defaults to `'extended'` (every carrier the
|
|
15
|
-
* rule can resolve), since a census wants the whole picture whatever the
|
|
16
|
-
* lint gate is configured to enforce.
|
|
17
|
-
*/
|
|
18
|
-
scope?: ForwardRegistrationScope;
|
|
19
|
-
/** Project config, for the queue's patchPolicy ordering context. Optional. */
|
|
20
|
-
config?: FireForgeConfig;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Lists every undeclared forward registration in a patch queue: a line a
|
|
24
|
-
* patch adds (to a test manifest, jar.mn, moz.build or customElements.js)
|
|
25
|
-
* that names a file only a later-ordered patch creates. Each record carries
|
|
26
|
-
* the paste-and-run `patch staged-dependency` command that declares it.
|
|
27
|
-
*
|
|
28
|
-
* @param patchesDir - The project's `patches/` directory
|
|
29
|
-
* @param options - Scope and optional config
|
|
30
|
-
* @returns One record per (patch, carrier file, created file)
|
|
31
|
-
*/
|
|
32
|
-
export declare function findForwardRegistrations(patchesDir: string, options?: FindForwardRegistrationsOptions): Promise<ForwardRegistration[]>;
|
|
33
|
-
export type { ForwardRegistration, ForwardRegistrationKind, ForwardRegistrationScope, } from './patch-lint-forward-registration-extended.js';
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { buildPatchQueueContext } from './patch-lint-cross.js';
|
|
2
|
-
import { collectForwardRegistrations } from './patch-lint-forward-registration.js';
|
|
3
|
-
/**
|
|
4
|
-
* Lists every undeclared forward registration in a patch queue: a line a
|
|
5
|
-
* patch adds (to a test manifest, jar.mn, moz.build or customElements.js)
|
|
6
|
-
* that names a file only a later-ordered patch creates. Each record carries
|
|
7
|
-
* the paste-and-run `patch staged-dependency` command that declares it.
|
|
8
|
-
*
|
|
9
|
-
* @param patchesDir - The project's `patches/` directory
|
|
10
|
-
* @param options - Scope and optional config
|
|
11
|
-
* @returns One record per (patch, carrier file, created file)
|
|
12
|
-
*/
|
|
13
|
-
export async function findForwardRegistrations(patchesDir, options = {}) {
|
|
14
|
-
const ctx = await buildPatchQueueContext(patchesDir, options.config);
|
|
15
|
-
return collectForwardRegistrations(ctx, options.scope ?? 'extended');
|
|
16
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Dry-run action planning for custom-component apply. Extracted from
|
|
3
|
-
* `furnace-apply-helpers.ts` so the apply path and its dry-run mirror each
|
|
4
|
-
* stay within the per-file line budget. Consumed only by that module.
|
|
5
|
-
*/
|
|
6
|
-
import type { ComponentApplyContext, CustomComponentConfig, DryRunAction, StepError } from '../types/furnace.js';
|
|
7
|
-
import { type DirectoryEntry } from './furnace-dir-entry.js';
|
|
8
|
-
/** Computes the planned dry-run actions (and pre-flight step errors) for a custom component. */
|
|
9
|
-
export declare function buildCustomDryRunActions(ctx: Pick<ComponentApplyContext, 'engineDir' | 'name' | 'componentDir' | 'ftlDir'>, config: CustomComponentConfig, targetDir: string, entries: DirectoryEntry[]): Promise<{
|
|
10
|
-
actions: DryRunAction[];
|
|
11
|
-
stepErrors: StepError[];
|
|
12
|
-
}>;
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Dry-run action planning for custom-component apply. Extracted from
|
|
4
|
-
* `furnace-apply-helpers.ts` so the apply path and its dry-run mirror each
|
|
5
|
-
* stay within the per-file line budget. Consumed only by that module.
|
|
6
|
-
*/
|
|
7
|
-
import { join } from 'node:path';
|
|
8
|
-
import { toError } from '../utils/errors.js';
|
|
9
|
-
import { pathExists } from '../utils/fs.js';
|
|
10
|
-
import { describeLocaleFtlJarMnRegistration, describeSharedFtlPrune } from './furnace-apply-ftl.js';
|
|
11
|
-
import { describeFragmentExpansion } from './furnace-css-fragments.js';
|
|
12
|
-
import { isRegularFile } from './furnace-dir-entry.js';
|
|
13
|
-
import { validateCustomElementRegistration, validateJarMnInsertionForFiles, } from './furnace-registration.js';
|
|
14
|
-
/** Computes the planned dry-run actions (and pre-flight step errors) for a custom component. */
|
|
15
|
-
export async function buildCustomDryRunActions(ctx, config, targetDir, entries) {
|
|
16
|
-
const { engineDir, name, componentDir, ftlDir } = ctx;
|
|
17
|
-
const actions = [];
|
|
18
|
-
const stepErrors = [];
|
|
19
|
-
for (const entry of entries) {
|
|
20
|
-
if (!isRegularFile(entry))
|
|
21
|
-
continue;
|
|
22
|
-
if (!entry.name.endsWith('.mjs') && !entry.name.endsWith('.css'))
|
|
23
|
-
continue;
|
|
24
|
-
const fragmentNote = await describeFragmentExpansion(join(componentDir, entry.name));
|
|
25
|
-
actions.push({
|
|
26
|
-
component: name,
|
|
27
|
-
action: fragmentNote ? 'expand-fragments' : 'copy',
|
|
28
|
-
source: join(componentDir, entry.name),
|
|
29
|
-
target: join(targetDir, entry.name),
|
|
30
|
-
description: `Copy ${entry.name} to ${config.targetPath}${fragmentNote}`,
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
// Per-component .ftl handling is skipped when the component opts into a
|
|
34
|
-
// shared feature-scoped bundle via `sharedFtl`. The shared file is
|
|
35
|
-
// registered (and copied) by whoever owns the feature bundle, so
|
|
36
|
-
// emitting a copy-ftl / register-jar action here would duplicate (or
|
|
37
|
-
// later orphan) the entry.
|
|
38
|
-
if (config.localized && !config.sharedFtl) {
|
|
39
|
-
const ftlFile = `${name}.ftl`;
|
|
40
|
-
const ftlSrc = join(componentDir, ftlFile);
|
|
41
|
-
if (await pathExists(ftlSrc)) {
|
|
42
|
-
actions.push({
|
|
43
|
-
component: name,
|
|
44
|
-
action: 'copy-ftl',
|
|
45
|
-
source: ftlSrc,
|
|
46
|
-
target: join(engineDir, ftlDir, ftlFile),
|
|
47
|
-
description: `Copy ${ftlFile} to ${ftlDir}`,
|
|
48
|
-
});
|
|
49
|
-
const localeAction = describeLocaleFtlJarMnRegistration(name, ftlDir, ftlFile);
|
|
50
|
-
if (localeAction) {
|
|
51
|
-
actions.push(localeAction);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
// A sharedFtl widget owns its strings via the shared bundle. Surface the
|
|
56
|
-
// removal of any dangling per-widget locale jar.mn entry so the dry-run
|
|
57
|
-
// plan matches what apply will do (and explains the unblocked build).
|
|
58
|
-
const pruneAction = await describeSharedFtlPrune(ctx, config);
|
|
59
|
-
if (pruneAction) {
|
|
60
|
-
actions.push(pruneAction);
|
|
61
|
-
}
|
|
62
|
-
if (config.register) {
|
|
63
|
-
try {
|
|
64
|
-
const modulePath = `chrome://global/content/elements/${name}.mjs`;
|
|
65
|
-
await validateCustomElementRegistration(engineDir, name, modulePath);
|
|
66
|
-
}
|
|
67
|
-
catch (error) {
|
|
68
|
-
stepErrors.push({
|
|
69
|
-
step: 'customElements.js registration',
|
|
70
|
-
error: toError(error).message,
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
actions.push({
|
|
74
|
-
component: name,
|
|
75
|
-
action: 'register-ce',
|
|
76
|
-
description: `Register ${name} in customElements.js (DOMContentLoaded block)`,
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
const copiedFileNames = entries
|
|
80
|
-
.filter((entry) => isRegularFile(entry) && (entry.name.endsWith('.mjs') || entry.name.endsWith('.css')))
|
|
81
|
-
.map((entry) => entry.name);
|
|
82
|
-
if (copiedFileNames.length > 0) {
|
|
83
|
-
try {
|
|
84
|
-
await validateJarMnInsertionForFiles(engineDir, name, copiedFileNames);
|
|
85
|
-
}
|
|
86
|
-
catch (error) {
|
|
87
|
-
stepErrors.push({
|
|
88
|
-
step: 'jar.mn registration',
|
|
89
|
-
error: toError(error).message,
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
actions.push({
|
|
93
|
-
component: name,
|
|
94
|
-
action: 'register-jar',
|
|
95
|
-
description: `Add ${copiedFileNames.join(', ')} to jar.mn`,
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
return { actions, stepErrors };
|
|
99
|
-
}
|