@hominis/fireforge 0.54.0 → 0.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +287 -6
- package/README.md +51 -17
- package/dist/bin/fireforge.js +34 -129
- package/dist/build-info.json +4 -4
- package/dist/src/check/check.js +394 -0
- package/dist/src/check/gate.js +448 -0
- package/dist/src/check/index.js +10 -0
- package/dist/src/check/record.js +155 -0
- package/dist/src/cli/command.js +286 -0
- package/dist/src/cli/output.js +96 -0
- package/dist/src/cli/program.js +231 -0
- package/dist/src/cli/stdio.js +59 -0
- package/dist/src/cli/version.js +99 -0
- package/dist/src/commands/bootstrap.js +17 -102
- package/dist/src/commands/build.js +34 -438
- package/dist/src/commands/check.js +44 -157
- package/dist/src/commands/config.js +50 -226
- package/dist/src/commands/discard.js +38 -215
- package/dist/src/commands/doctor.js +29 -456
- package/dist/src/commands/download.js +35 -499
- package/dist/src/commands/export.js +42 -431
- package/dist/src/commands/furnace.js +220 -0
- package/dist/src/commands/gate.js +127 -0
- package/dist/src/commands/import.js +44 -445
- package/dist/src/commands/index.js +86 -0
- package/dist/src/commands/lint.js +44 -546
- package/dist/src/commands/merge-driver.js +56 -0
- package/dist/src/commands/migrate.js +75 -0
- package/dist/src/commands/override.js +43 -0
- package/dist/src/commands/package.js +48 -77
- package/dist/src/commands/patch.js +221 -0
- package/dist/src/commands/re-export.js +55 -332
- package/dist/src/commands/rebase.js +69 -0
- package/dist/src/commands/register.js +62 -103
- package/dist/src/commands/reset.js +28 -91
- package/dist/src/commands/resolve.js +20 -167
- package/dist/src/commands/restore.js +19 -0
- package/dist/src/commands/run.js +60 -420
- package/dist/src/commands/setup.js +78 -90
- package/dist/src/commands/status.js +44 -413
- package/dist/src/commands/test.js +97 -422
- package/dist/src/commands/token.js +185 -228
- package/dist/src/commands/typecheck.js +59 -208
- package/dist/src/commands/verify.js +28 -334
- package/dist/src/commands/version.js +14 -0
- package/dist/src/commands/watch.js +20 -218
- package/dist/src/commands/wire.js +60 -349
- package/dist/src/commands/workspace.js +117 -0
- package/dist/src/config/edit.js +237 -0
- package/dist/src/config/index.js +15 -0
- package/dist/src/config/load.js +59 -0
- package/dist/src/config/previous.js +404 -0
- package/dist/src/config/schema/build.js +63 -0
- package/dist/src/config/schema/check.js +113 -0
- package/dist/src/config/schema/common.js +71 -0
- package/dist/src/config/schema/export-queue.js +36 -0
- package/dist/src/config/schema/firefox.js +69 -0
- package/dist/src/config/schema/gate.js +199 -0
- package/dist/src/config/schema/identity.js +55 -0
- package/dist/src/config/schema/index.js +45 -0
- package/dist/src/config/schema/lint.js +297 -0
- package/dist/src/config/schema/policy.js +111 -0
- package/dist/src/config/schema/source.js +90 -0
- package/dist/src/config/schema/test.js +17 -0
- package/dist/src/config/schema/toolchains.js +17 -0
- package/dist/src/config/schema/typecheck.js +29 -0
- package/dist/src/config/schema/wire.js +15 -0
- package/dist/src/diff/apply.js +129 -0
- package/dist/src/diff/index.js +16 -0
- package/dist/src/diff/model.js +267 -0
- package/dist/src/diff/query.js +65 -0
- package/dist/src/doctor/index.js +240 -0
- package/dist/src/engine/archive.js +396 -0
- package/dist/src/engine/audit.js +66 -0
- package/dist/src/engine/build.js +150 -0
- package/dist/src/engine/hostLocks.js +66 -0
- package/dist/src/engine/index.js +26 -0
- package/dist/src/engine/installManifests.js +147 -0
- package/dist/src/engine/mach.js +97 -0
- package/dist/src/engine/machHints.js +80 -0
- package/dist/src/engine/mozconfig.js +110 -0
- package/dist/src/engine/objdir.js +124 -0
- package/dist/src/engine/package.js +169 -0
- package/dist/src/engine/pin.js +12 -0
- package/dist/src/engine/pool.js +423 -0
- package/dist/src/engine/pristine.js +281 -0
- package/dist/src/engine/python.js +68 -0
- package/dist/src/engine/resourceGuard.js +582 -0
- package/dist/src/engine/run.js +259 -0
- package/dist/src/engine/smoke.js +204 -0
- package/dist/src/engine/staleness.js +229 -0
- package/dist/src/engine/watch.js +82 -0
- package/dist/src/engine/workspace.js +85 -0
- package/dist/src/furnace/config.js +360 -0
- package/dist/src/furnace/deploy.js +414 -0
- package/dist/src/furnace/diff.js +59 -0
- package/dist/src/furnace/edit.js +64 -0
- package/dist/src/furnace/fragments.js +53 -0
- package/dist/src/furnace/index.js +19 -0
- package/dist/src/furnace/operations.js +283 -0
- package/dist/src/furnace/registration.js +220 -0
- package/dist/src/furnace/scaffold.js +311 -0
- package/dist/src/furnace/typing.js +252 -0
- package/dist/src/furnace/validate.js +662 -0
- package/dist/src/git/apply.js +129 -0
- package/dist/src/git/diff.js +143 -0
- package/dist/src/git/index.js +33 -0
- package/dist/src/git/objects.js +201 -0
- package/dist/src/git/refs.js +85 -0
- package/dist/src/git/repo.js +222 -0
- package/dist/src/git/run.js +242 -0
- package/dist/src/git/status.js +156 -0
- package/dist/src/kernel/errors.js +123 -0
- package/dist/src/kernel/fs.js +515 -0
- package/dist/src/kernel/glob.js +63 -0
- package/dist/src/kernel/hash.js +28 -0
- package/dist/src/kernel/journal.js +524 -0
- package/dist/src/kernel/json-edit.js +198 -0
- package/dist/src/kernel/json.js +101 -0
- package/dist/src/kernel/lock.js +589 -0
- package/dist/src/kernel/log.js +154 -0
- package/dist/src/kernel/process/identity.js +313 -0
- package/dist/src/kernel/process/index.js +8 -0
- package/dist/src/kernel/process/listing.js +128 -0
- package/dist/src/kernel/process/spawn.js +430 -0
- package/dist/src/kernel/process/tree.js +301 -0
- package/dist/src/kernel/schema.js +308 -0
- package/dist/src/kernel/signals.js +171 -0
- package/dist/src/kernel/text.js +151 -0
- package/dist/src/kernel/time.js +83 -0
- package/dist/src/kernel/tty.js +84 -0
- package/dist/src/lint/cache.js +77 -0
- package/dist/src/lint/checkjs.js +400 -0
- package/dist/src/lint/index.js +3 -0
- package/dist/src/lint/input.js +100 -0
- package/dist/src/lint/report.js +107 -0
- package/dist/src/lint/rule.js +41 -0
- package/dist/src/lint/rules/css.js +308 -0
- package/dist/src/lint/rules/javascript.js +299 -0
- package/dist/src/lint/rules/jsdoc.js +249 -0
- package/dist/src/lint/rules/license.js +93 -0
- package/dist/src/lint/rules/policy.js +201 -0
- package/dist/src/lint/rules/registration.js +264 -0
- package/dist/src/lint/rules/size.js +299 -0
- package/dist/src/lint/run.js +126 -0
- package/dist/src/lint/shim.js +323 -0
- package/dist/src/lint/typescript.js +186 -0
- package/dist/src/lint/waivers.js +93 -0
- package/dist/src/mode/changes.js +264 -0
- package/dist/src/mode/diagnose.js +173 -0
- package/dist/src/mode/export.js +147 -0
- package/dist/src/mode/index.js +23 -0
- package/dist/src/mode/migrate.js +181 -0
- package/dist/src/mode/previousWaivers.js +206 -0
- package/dist/src/mode/pristine.js +61 -0
- package/dist/src/mode/rebase.js +197 -0
- package/dist/src/mode/report.js +157 -0
- package/dist/src/mode/setup.js +103 -0
- package/dist/src/mode/tracked.js +116 -0
- package/dist/src/mode/upgrade.js +281 -0
- package/dist/src/mode/watch.js +83 -0
- package/dist/src/mode/workspace.js +189 -0
- package/dist/src/mozbuild/index.js +6 -0
- package/dist/src/mozbuild/jar.js +366 -0
- package/dist/src/mozbuild/mozbuild.js +321 -0
- package/dist/src/mozbuild/paths.js +96 -0
- package/dist/src/mozbuild/references.js +39 -0
- package/dist/src/mozbuild/testManifest.js +343 -0
- package/dist/src/mozbuild/text.js +142 -0
- package/dist/src/project/changes.js +145 -0
- package/dist/src/project/checkout.js +66 -0
- package/dist/src/project/index.js +11 -0
- package/dist/src/project/license.js +119 -0
- package/dist/src/project/project.js +111 -0
- package/dist/src/project/state.js +85 -0
- package/dist/src/project/tracked.js +1 -0
- package/dist/src/queue/apply.js +270 -0
- package/dist/src/queue/attribute.js +159 -0
- package/dist/src/queue/baseline.js +409 -0
- package/dist/src/queue/capture.js +298 -0
- package/dist/src/queue/changes.js +234 -0
- package/dist/src/queue/index.js +50 -0
- package/dist/src/queue/manifest.js +341 -0
- package/dist/src/queue/operations.js +454 -0
- package/dist/src/queue/placement.js +220 -0
- package/dist/src/queue/queue.js +359 -0
- package/dist/src/queue/restore.js +103 -0
- package/dist/src/queue/session.js +685 -0
- package/dist/src/queue/status.js +137 -0
- package/dist/src/register/files.js +39 -0
- package/dist/src/register/index.js +8 -0
- package/dist/src/register/js.js +217 -0
- package/dist/src/register/register.js +359 -0
- package/dist/src/register/wire.js +146 -0
- package/dist/src/source/adopt.js +99 -0
- package/dist/src/source/changes.js +132 -0
- package/dist/src/source/edit.js +278 -0
- package/dist/src/source/export.js +70 -0
- package/dist/src/source/groups.js +131 -0
- package/dist/src/source/index.js +20 -0
- package/dist/src/source/materialize.js +382 -0
- package/dist/src/source/merge.js +255 -0
- package/dist/src/source/objects.js +102 -0
- package/dist/src/source/previous.js +166 -0
- package/dist/src/source/records.js +138 -0
- package/dist/src/source/refresh.js +264 -0
- package/dist/src/source/tree.js +337 -0
- package/dist/src/syntax/css.js +215 -0
- package/dist/src/syntax/fragments.js +63 -0
- package/dist/src/syntax/index.js +10 -0
- package/dist/src/syntax/js.js +270 -0
- package/dist/src/test/classify.js +826 -0
- package/dist/src/test/control.js +236 -0
- package/dist/src/test/host.js +266 -0
- package/dist/src/test/index.js +11 -0
- package/dist/src/test/plan.js +347 -0
- package/dist/src/test/rawLog.js +138 -0
- package/dist/src/test/run.js +404 -0
- package/dist/src/test/verdict.js +420 -0
- package/dist/src/test/xpcshell.js +143 -0
- package/dist/src/tokens/add.js +304 -0
- package/dist/src/tokens/coverage.js +65 -0
- package/dist/src/tokens/css.js +58 -0
- package/dist/src/tokens/index.js +12 -0
- package/dist/src/tokens/lint.js +96 -0
- package/dist/src/tokens/model.js +118 -0
- package/dist/src/tokens/settings.js +87 -0
- package/dist/src/tokens/siblings.js +104 -0
- package/dist/src/typecheck/explain.js +123 -0
- package/dist/src/typecheck/index.js +8 -0
- package/dist/src/typecheck/typecheck.js +332 -0
- package/docs/README.md +23 -28
- package/docs/authoring.md +97 -0
- package/docs/configuration.md +307 -692
- package/docs/exit-codes.md +76 -94
- package/docs/furnace.md +113 -181
- package/docs/gate.md +205 -0
- package/docs/getting-started.md +165 -0
- package/docs/machine-output.md +201 -277
- package/docs/migrating.md +261 -0
- package/docs/patch-workflow.md +163 -653
- package/docs/quality.md +220 -0
- package/docs/source-workflow.md +228 -0
- package/docs/testing.md +101 -712
- package/docs/workspaces.md +187 -0
- package/package.json +22 -30
- package/templates/configs/common.mozconfig +8 -2
- package/templates/configs/darwin.mozconfig +6 -7
- package/templates/configs/linux.mozconfig +5 -8
- package/templates/configs/win32.mozconfig +3 -9
- package/dist/bin/fireforge.d.ts +0 -9
- package/dist/src/cli-usage-error.d.ts +0 -46
- package/dist/src/cli-usage-error.js +0 -81
- package/dist/src/cli.d.ts +0 -41
- package/dist/src/cli.js +0 -380
- package/dist/src/commands/bootstrap-checks.d.ts +0 -16
- package/dist/src/commands/bootstrap-checks.js +0 -66
- package/dist/src/commands/bootstrap.d.ts +0 -10
- package/dist/src/commands/build-prelock.d.ts +0 -20
- package/dist/src/commands/build-prelock.js +0 -50
- package/dist/src/commands/build.d.ts +0 -13
- package/dist/src/commands/check-report.d.ts +0 -41
- package/dist/src/commands/check-report.js +0 -91
- package/dist/src/commands/check-run.d.ts +0 -33
- package/dist/src/commands/check-run.js +0 -112
- package/dist/src/commands/check-steps.d.ts +0 -75
- package/dist/src/commands/check-steps.js +0 -200
- package/dist/src/commands/check.d.ts +0 -32
- package/dist/src/commands/config.d.ts +0 -13
- package/dist/src/commands/declarations-report.d.ts +0 -49
- package/dist/src/commands/declarations-report.js +0 -83
- package/dist/src/commands/destructive-decision.d.ts +0 -19
- package/dist/src/commands/destructive-decision.js +0 -31
- package/dist/src/commands/discard.d.ts +0 -12
- package/dist/src/commands/doctor-check-core.d.ts +0 -110
- package/dist/src/commands/doctor-check-core.js +0 -24
- package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
- package/dist/src/commands/doctor-engine-eslint.js +0 -17
- package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
- package/dist/src/commands/doctor-external-toolchains.js +0 -56
- package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
- package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
- package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
- package/dist/src/commands/doctor-furnace-jar.js +0 -44
- package/dist/src/commands/doctor-furnace.d.ts +0 -8
- package/dist/src/commands/doctor-furnace.js +0 -514
- package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
- package/dist/src/commands/doctor-macos-sdk.js +0 -158
- package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
- package/dist/src/commands/doctor-orphaned-harness.js +0 -98
- package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
- package/dist/src/commands/doctor-patch-manifest.js +0 -156
- package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
- package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
- package/dist/src/commands/doctor-source-pin.d.ts +0 -29
- package/dist/src/commands/doctor-source-pin.js +0 -91
- package/dist/src/commands/doctor-working-tree.d.ts +0 -27
- package/dist/src/commands/doctor-working-tree.js +0 -89
- package/dist/src/commands/doctor.d.ts +0 -49
- package/dist/src/commands/download.d.ts +0 -11
- package/dist/src/commands/export-adopt-check.d.ts +0 -37
- package/dist/src/commands/export-adopt-check.js +0 -97
- package/dist/src/commands/export-all.d.ts +0 -11
- package/dist/src/commands/export-all.js +0 -361
- package/dist/src/commands/export-flow.d.ts +0 -124
- package/dist/src/commands/export-flow.js +0 -423
- package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
- package/dist/src/commands/export-placement-conflicts.js +0 -75
- package/dist/src/commands/export-placement-gate.d.ts +0 -42
- package/dist/src/commands/export-placement-gate.js +0 -107
- package/dist/src/commands/export-placement-policy.d.ts +0 -22
- package/dist/src/commands/export-placement-policy.js +0 -54
- package/dist/src/commands/export-shared.d.ts +0 -152
- package/dist/src/commands/export-shared.js +0 -396
- package/dist/src/commands/export-staged-registration.d.ts +0 -46
- package/dist/src/commands/export-staged-registration.js +0 -91
- package/dist/src/commands/export.d.ts +0 -13
- package/dist/src/commands/forward-import-remedy.d.ts +0 -31
- package/dist/src/commands/forward-import-remedy.js +0 -62
- package/dist/src/commands/furnace/apply.d.ts +0 -8
- package/dist/src/commands/furnace/apply.js +0 -327
- package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
- package/dist/src/commands/furnace/authoring-config.js +0 -19
- package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
- package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
- package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
- package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
- package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
- package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
- package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
- package/dist/src/commands/furnace/chrome-doc.js +0 -365
- package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
- package/dist/src/commands/furnace/create-browser-test.js +0 -179
- package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
- package/dist/src/commands/furnace/create-dry-run.js +0 -107
- package/dist/src/commands/furnace/create-features.d.ts +0 -24
- package/dist/src/commands/furnace/create-features.js +0 -55
- package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
- package/dist/src/commands/furnace/create-mochikit.js +0 -75
- package/dist/src/commands/furnace/create-readback.d.ts +0 -22
- package/dist/src/commands/furnace/create-readback.js +0 -32
- package/dist/src/commands/furnace/create-templates.d.ts +0 -119
- package/dist/src/commands/furnace/create-templates.js +0 -283
- package/dist/src/commands/furnace/create-validation.d.ts +0 -6
- package/dist/src/commands/furnace/create-validation.js +0 -59
- package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
- package/dist/src/commands/furnace/create-xpcshell.js +0 -80
- package/dist/src/commands/furnace/create.d.ts +0 -24
- package/dist/src/commands/furnace/create.js +0 -407
- package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
- package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
- package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
- package/dist/src/commands/furnace/deploy-named.js +0 -107
- package/dist/src/commands/furnace/deploy.d.ts +0 -9
- package/dist/src/commands/furnace/deploy.js +0 -218
- package/dist/src/commands/furnace/diff.d.ts +0 -11
- package/dist/src/commands/furnace/diff.js +0 -238
- package/dist/src/commands/furnace/index.d.ts +0 -4
- package/dist/src/commands/furnace/index.js +0 -282
- package/dist/src/commands/furnace/init.d.ts +0 -11
- package/dist/src/commands/furnace/init.js +0 -287
- package/dist/src/commands/furnace/list.d.ts +0 -8
- package/dist/src/commands/furnace/list.js +0 -104
- package/dist/src/commands/furnace/override.d.ts +0 -16
- package/dist/src/commands/furnace/override.js +0 -454
- package/dist/src/commands/furnace/preview.d.ts +0 -19
- package/dist/src/commands/furnace/preview.js +0 -349
- package/dist/src/commands/furnace/refresh.d.ts +0 -10
- package/dist/src/commands/furnace/refresh.js +0 -303
- package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
- package/dist/src/commands/furnace/remove-mutations.js +0 -168
- package/dist/src/commands/furnace/remove-state.d.ts +0 -20
- package/dist/src/commands/furnace/remove-state.js +0 -60
- package/dist/src/commands/furnace/remove.d.ts +0 -8
- package/dist/src/commands/furnace/remove.js +0 -415
- package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
- package/dist/src/commands/furnace/rename-browser-test.js +0 -68
- package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
- package/dist/src/commands/furnace/rename-dry-run.js +0 -127
- package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
- package/dist/src/commands/furnace/rename-helpers.js +0 -85
- package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
- package/dist/src/commands/furnace/rename-registrations.js +0 -98
- package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
- package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
- package/dist/src/commands/furnace/rename.d.ts +0 -6
- package/dist/src/commands/furnace/rename.js +0 -400
- package/dist/src/commands/furnace/scan.d.ts +0 -14
- package/dist/src/commands/furnace/scan.js +0 -192
- package/dist/src/commands/furnace/status.d.ts +0 -7
- package/dist/src/commands/furnace/status.js +0 -209
- package/dist/src/commands/furnace/sync.d.ts +0 -12
- package/dist/src/commands/furnace/sync.js +0 -145
- package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
- package/dist/src/commands/furnace/test-file-name.js +0 -39
- package/dist/src/commands/furnace/validate-report.d.ts +0 -45
- package/dist/src/commands/furnace/validate-report.js +0 -91
- package/dist/src/commands/furnace/validate.d.ts +0 -8
- package/dist/src/commands/furnace/validate.js +0 -309
- package/dist/src/commands/furnace/validation-output.d.ts +0 -47
- package/dist/src/commands/furnace/validation-output.js +0 -161
- package/dist/src/commands/import.d.ts +0 -11
- package/dist/src/commands/lint-per-patch.d.ts +0 -10
- package/dist/src/commands/lint-per-patch.js +0 -428
- package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
- package/dist/src/commands/lint-per-run-checkjs.js +0 -102
- package/dist/src/commands/lint-report.d.ts +0 -25
- package/dist/src/commands/lint-report.js +0 -76
- package/dist/src/commands/lint.d.ts +0 -47
- package/dist/src/commands/manifest.d.ts +0 -38
- package/dist/src/commands/manifest.js +0 -68
- package/dist/src/commands/package.d.ts +0 -11
- package/dist/src/commands/park.d.ts +0 -22
- package/dist/src/commands/park.js +0 -232
- package/dist/src/commands/patch/compact.d.ts +0 -28
- package/dist/src/commands/patch/compact.js +0 -208
- package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
- package/dist/src/commands/patch/delete-gap-notice.js +0 -48
- package/dist/src/commands/patch/delete.d.ts +0 -28
- package/dist/src/commands/patch/delete.js +0 -131
- package/dist/src/commands/patch/entry-projection.d.ts +0 -13
- package/dist/src/commands/patch/entry-projection.js +0 -24
- package/dist/src/commands/patch/index.d.ts +0 -16
- package/dist/src/commands/patch/index.js +0 -52
- package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
- package/dist/src/commands/patch/lint-ignore-from.js +0 -141
- package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
- package/dist/src/commands/patch/lint-ignore.js +0 -261
- package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
- package/dist/src/commands/patch/move-files-adopt.js +0 -65
- package/dist/src/commands/patch/move-files-create.d.ts +0 -19
- package/dist/src/commands/patch/move-files-create.js +0 -187
- package/dist/src/commands/patch/move-files-into.d.ts +0 -65
- package/dist/src/commands/patch/move-files-into.js +0 -325
- package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
- package/dist/src/commands/patch/move-files-retire.js +0 -91
- package/dist/src/commands/patch/move-files.d.ts +0 -28
- package/dist/src/commands/patch/move-files.js +0 -224
- package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
- package/dist/src/commands/patch/move-size-tier.js +0 -66
- package/dist/src/commands/patch/patch-context.d.ts +0 -40
- package/dist/src/commands/patch/patch-context.js +0 -51
- package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
- package/dist/src/commands/patch/removal-created-files.js +0 -83
- package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
- package/dist/src/commands/patch/removal-dependents.js +0 -133
- package/dist/src/commands/patch/rename.d.ts +0 -35
- package/dist/src/commands/patch/rename.js +0 -378
- package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
- package/dist/src/commands/patch/reorder-projection.js +0 -49
- package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
- package/dist/src/commands/patch/reorder-shift.js +0 -307
- package/dist/src/commands/patch/reorder.d.ts +0 -34
- package/dist/src/commands/patch/reorder.js +0 -375
- package/dist/src/commands/patch/reserve.d.ts +0 -33
- package/dist/src/commands/patch/reserve.js +0 -152
- package/dist/src/commands/patch/retire.d.ts +0 -34
- package/dist/src/commands/patch/retire.js +0 -133
- package/dist/src/commands/patch/split-plan.d.ts +0 -125
- package/dist/src/commands/patch/split-plan.js +0 -313
- package/dist/src/commands/patch/split-staged.d.ts +0 -108
- package/dist/src/commands/patch/split-staged.js +0 -202
- package/dist/src/commands/patch/split.d.ts +0 -43
- package/dist/src/commands/patch/split.js +0 -367
- package/dist/src/commands/patch/stage.d.ts +0 -34
- package/dist/src/commands/patch/stage.js +0 -153
- package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
- package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
- package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
- package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
- package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
- package/dist/src/commands/patch/staged-dependency-from.js +0 -114
- package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
- package/dist/src/commands/patch/staged-dependency-remove.js +0 -117
- package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -15
- package/dist/src/commands/patch/staged-dependency-validate.js +0 -49
- package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
- package/dist/src/commands/patch/staged-dependency.js +0 -248
- package/dist/src/commands/patch/tier.d.ts +0 -34
- package/dist/src/commands/patch/tier.js +0 -125
- package/dist/src/commands/patch-rename-map.d.ts +0 -30
- package/dist/src/commands/patch-rename-map.js +0 -54
- package/dist/src/commands/pending-resolution.d.ts +0 -15
- package/dist/src/commands/pending-resolution.js +0 -25
- package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
- package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
- package/dist/src/commands/re-export-adjacent.d.ts +0 -111
- package/dist/src/commands/re-export-adjacent.js +0 -267
- package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
- package/dist/src/commands/re-export-bulk-scan.js +0 -233
- package/dist/src/commands/re-export-drift.d.ts +0 -110
- package/dist/src/commands/re-export-drift.js +0 -358
- package/dist/src/commands/re-export-files.d.ts +0 -15
- package/dist/src/commands/re-export-files.js +0 -307
- package/dist/src/commands/re-export-hunks.d.ts +0 -35
- package/dist/src/commands/re-export-hunks.js +0 -220
- package/dist/src/commands/re-export-lint.d.ts +0 -137
- package/dist/src/commands/re-export-lint.js +0 -303
- package/dist/src/commands/re-export-options.d.ts +0 -29
- package/dist/src/commands/re-export-options.js +0 -191
- package/dist/src/commands/re-export-preflight.d.ts +0 -23
- package/dist/src/commands/re-export-preflight.js +0 -159
- package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
- package/dist/src/commands/re-export-purity-scope.js +0 -137
- package/dist/src/commands/re-export-register.d.ts +0 -12
- package/dist/src/commands/re-export-register.js +0 -99
- package/dist/src/commands/re-export-removed.d.ts +0 -15
- package/dist/src/commands/re-export-removed.js +0 -94
- package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
- package/dist/src/commands/re-export-retired-declarations.js +0 -113
- package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
- package/dist/src/commands/re-export-scan-owner.js +0 -116
- package/dist/src/commands/re-export-scan.d.ts +0 -72
- package/dist/src/commands/re-export-scan.js +0 -265
- package/dist/src/commands/re-export-single.d.ts +0 -39
- package/dist/src/commands/re-export-single.js +0 -388
- package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
- package/dist/src/commands/re-export-stale-registrations.js +0 -106
- package/dist/src/commands/re-export-summary.d.ts +0 -28
- package/dist/src/commands/re-export-summary.js +0 -36
- package/dist/src/commands/re-export.d.ts +0 -8
- package/dist/src/commands/rebase/abort.d.ts +0 -7
- package/dist/src/commands/rebase/abort.js +0 -67
- package/dist/src/commands/rebase/confirm.d.ts +0 -42
- package/dist/src/commands/rebase/confirm.js +0 -36
- package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
- package/dist/src/commands/rebase/conflict-summary.js +0 -37
- package/dist/src/commands/rebase/continue.d.ts +0 -7
- package/dist/src/commands/rebase/continue.js +0 -119
- package/dist/src/commands/rebase/index.d.ts +0 -22
- package/dist/src/commands/rebase/index.js +0 -209
- package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
- package/dist/src/commands/rebase/patch-loop.js +0 -289
- package/dist/src/commands/rebase/summary.d.ts +0 -8
- package/dist/src/commands/rebase/summary.js +0 -47
- package/dist/src/commands/register.d.ts +0 -13
- package/dist/src/commands/reset.d.ts +0 -11
- package/dist/src/commands/resolve.d.ts +0 -36
- package/dist/src/commands/run.d.ts +0 -10
- package/dist/src/commands/setup-support.d.ts +0 -35
- package/dist/src/commands/setup-support.js +0 -386
- package/dist/src/commands/setup.d.ts +0 -11
- package/dist/src/commands/source.d.ts +0 -9
- package/dist/src/commands/source.js +0 -120
- package/dist/src/commands/status-check.d.ts +0 -87
- package/dist/src/commands/status-check.js +0 -161
- package/dist/src/commands/status-json.d.ts +0 -45
- package/dist/src/commands/status-json.js +0 -97
- package/dist/src/commands/status-output.d.ts +0 -23
- package/dist/src/commands/status-output.js +0 -231
- package/dist/src/commands/status-ownership.d.ts +0 -54
- package/dist/src/commands/status-ownership.js +0 -59
- package/dist/src/commands/status-scope.d.ts +0 -37
- package/dist/src/commands/status-scope.js +0 -54
- package/dist/src/commands/status.d.ts +0 -11
- package/dist/src/commands/test-appdir.d.ts +0 -6
- package/dist/src/commands/test-appdir.js +0 -29
- package/dist/src/commands/test-browser-preflight.d.ts +0 -28
- package/dist/src/commands/test-browser-preflight.js +0 -197
- package/dist/src/commands/test-build-furnace.d.ts +0 -21
- package/dist/src/commands/test-build-furnace.js +0 -53
- package/dist/src/commands/test-build-phase.d.ts +0 -29
- package/dist/src/commands/test-build-phase.js +0 -290
- package/dist/src/commands/test-checkjs.d.ts +0 -3
- package/dist/src/commands/test-checkjs.js +0 -35
- package/dist/src/commands/test-control-restore.d.ts +0 -40
- package/dist/src/commands/test-control-restore.js +0 -86
- package/dist/src/commands/test-diagnose.d.ts +0 -23
- package/dist/src/commands/test-diagnose.js +0 -317
- package/dist/src/commands/test-dispatch.d.ts +0 -39
- package/dist/src/commands/test-dispatch.js +0 -281
- package/dist/src/commands/test-furnace-reach.d.ts +0 -37
- package/dist/src/commands/test-furnace-reach.js +0 -132
- package/dist/src/commands/test-harness-env.d.ts +0 -23
- package/dist/src/commands/test-harness-env.js +0 -81
- package/dist/src/commands/test-harness-teardown.d.ts +0 -62
- package/dist/src/commands/test-harness-teardown.js +0 -128
- package/dist/src/commands/test-modes.d.ts +0 -57
- package/dist/src/commands/test-modes.js +0 -158
- package/dist/src/commands/test-multi-verdict.d.ts +0 -61
- package/dist/src/commands/test-multi-verdict.js +0 -112
- package/dist/src/commands/test-orchestrate.d.ts +0 -63
- package/dist/src/commands/test-orchestrate.js +0 -274
- package/dist/src/commands/test-perf-scope.d.ts +0 -50
- package/dist/src/commands/test-perf-scope.js +0 -138
- package/dist/src/commands/test-prelock.d.ts +0 -61
- package/dist/src/commands/test-prelock.js +0 -301
- package/dist/src/commands/test-register.d.ts +0 -4
- package/dist/src/commands/test-register.js +0 -181
- package/dist/src/commands/test-results.d.ts +0 -71
- package/dist/src/commands/test-results.js +0 -79
- package/dist/src/commands/test-run.d.ts +0 -89
- package/dist/src/commands/test-run.js +0 -251
- package/dist/src/commands/test-shards.d.ts +0 -114
- package/dist/src/commands/test-shards.js +0 -272
- package/dist/src/commands/test-stale-gate.d.ts +0 -52
- package/dist/src/commands/test-stale-gate.js +0 -165
- package/dist/src/commands/test-verdict.d.ts +0 -92
- package/dist/src/commands/test-verdict.js +0 -162
- package/dist/src/commands/test.d.ts +0 -22
- package/dist/src/commands/token-coverage.d.ts +0 -5
- package/dist/src/commands/token-coverage.js +0 -170
- package/dist/src/commands/token-lint.d.ts +0 -14
- package/dist/src/commands/token-lint.js +0 -151
- package/dist/src/commands/token-list.d.ts +0 -26
- package/dist/src/commands/token-list.js +0 -153
- package/dist/src/commands/token.d.ts +0 -14
- package/dist/src/commands/tree.d.ts +0 -19
- package/dist/src/commands/tree.js +0 -341
- package/dist/src/commands/typecheck.d.ts +0 -56
- package/dist/src/commands/verify-scope.d.ts +0 -28
- package/dist/src/commands/verify-scope.js +0 -67
- package/dist/src/commands/verify.d.ts +0 -58
- package/dist/src/commands/watch.d.ts +0 -9
- package/dist/src/commands/wire.d.ts +0 -13
- package/dist/src/core/ast-utils.d.ts +0 -73
- package/dist/src/core/ast-utils.js +0 -105
- package/dist/src/core/brand-validation.d.ts +0 -7
- package/dist/src/core/brand-validation.js +0 -14
- package/dist/src/core/branding.d.ts +0 -86
- package/dist/src/core/branding.js +0 -371
- package/dist/src/core/browser-wire.d.ts +0 -48
- package/dist/src/core/browser-wire.js +0 -133
- package/dist/src/core/build-audit-platform.d.ts +0 -67
- package/dist/src/core/build-audit-platform.js +0 -373
- package/dist/src/core/build-audit-registration.d.ts +0 -80
- package/dist/src/core/build-audit-registration.js +0 -181
- package/dist/src/core/build-audit-resolve.d.ts +0 -78
- package/dist/src/core/build-audit-resolve.js +0 -240
- package/dist/src/core/build-audit-skip.d.ts +0 -57
- package/dist/src/core/build-audit-skip.js +0 -112
- package/dist/src/core/build-audit-transforms.d.ts +0 -23
- package/dist/src/core/build-audit-transforms.js +0 -92
- package/dist/src/core/build-audit.d.ts +0 -93
- package/dist/src/core/build-audit.js +0 -633
- package/dist/src/core/build-baseline-types.d.ts +0 -225
- package/dist/src/core/build-baseline-types.js +0 -10
- package/dist/src/core/build-baseline-validate.d.ts +0 -32
- package/dist/src/core/build-baseline-validate.js +0 -173
- package/dist/src/core/build-baseline.d.ts +0 -103
- package/dist/src/core/build-baseline.js +0 -261
- package/dist/src/core/build-jar-escalation.d.ts +0 -61
- package/dist/src/core/build-jar-escalation.js +0 -125
- package/dist/src/core/build-overwrite-guard.d.ts +0 -92
- package/dist/src/core/build-overwrite-guard.js +0 -235
- package/dist/src/core/build-prepare.d.ts +0 -83
- package/dist/src/core/build-prepare.js +0 -414
- package/dist/src/core/build-run-record.d.ts +0 -74
- package/dist/src/core/build-run-record.js +0 -136
- package/dist/src/core/checkjs-support-heads.d.ts +0 -41
- package/dist/src/core/checkjs-support-heads.js +0 -104
- package/dist/src/core/component-source-guard.d.ts +0 -20
- package/dist/src/core/component-source-guard.js +0 -68
- package/dist/src/core/config-mutate.d.ts +0 -16
- package/dist/src/core/config-mutate.js +0 -76
- package/dist/src/core/config-paths.d.ts +0 -16
- package/dist/src/core/config-paths.js +0 -106
- package/dist/src/core/config-state.d.ts +0 -16
- package/dist/src/core/config-state.js +0 -141
- package/dist/src/core/config-validate-build-audit.d.ts +0 -8
- package/dist/src/core/config-validate-build-audit.js +0 -80
- package/dist/src/core/config-validate-check.d.ts +0 -8
- package/dist/src/core/config-validate-check.js +0 -219
- package/dist/src/core/config-validate-file-size.d.ts +0 -15
- package/dist/src/core/config-validate-file-size.js +0 -154
- package/dist/src/core/config-validate-history.d.ts +0 -11
- package/dist/src/core/config-validate-history.js +0 -38
- package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
- package/dist/src/core/config-validate-patch-policy.js +0 -274
- package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
- package/dist/src/core/config-validate-test-toolchains.js +0 -133
- package/dist/src/core/config-validate-token-scales.d.ts +0 -9
- package/dist/src/core/config-validate-token-scales.js +0 -92
- package/dist/src/core/config-validate.d.ts +0 -11
- package/dist/src/core/config-validate.js +0 -503
- package/dist/src/core/config.d.ts +0 -92
- package/dist/src/core/config.js +0 -169
- package/dist/src/core/coverage-dispatch.d.ts +0 -24
- package/dist/src/core/coverage-dispatch.js +0 -44
- package/dist/src/core/coverage-extend.d.ts +0 -89
- package/dist/src/core/coverage-extend.js +0 -239
- package/dist/src/core/coverage-records.d.ts +0 -107
- package/dist/src/core/coverage-records.js +0 -383
- package/dist/src/core/destructive.d.ts +0 -144
- package/dist/src/core/destructive.js +0 -182
- package/dist/src/core/diff-hunks.d.ts +0 -73
- package/dist/src/core/diff-hunks.js +0 -286
- package/dist/src/core/discard-baseline.d.ts +0 -60
- package/dist/src/core/discard-baseline.js +0 -247
- package/dist/src/core/display-state.d.ts +0 -50
- package/dist/src/core/display-state.js +0 -87
- package/dist/src/core/engine-changes.d.ts +0 -40
- package/dist/src/core/engine-changes.js +0 -95
- package/dist/src/core/engine-precondition.d.ts +0 -42
- package/dist/src/core/engine-precondition.js +0 -60
- package/dist/src/core/engine-session-lock.d.ts +0 -119
- package/dist/src/core/engine-session-lock.js +0 -374
- package/dist/src/core/engine-write-boundary.d.ts +0 -5
- package/dist/src/core/engine-write-boundary.js +0 -41
- package/dist/src/core/export-moved-code-shape.d.ts +0 -98
- package/dist/src/core/export-moved-code-shape.js +0 -220
- package/dist/src/core/file-lock-owner.d.ts +0 -103
- package/dist/src/core/file-lock-owner.js +0 -259
- package/dist/src/core/file-lock-queue.d.ts +0 -67
- package/dist/src/core/file-lock-queue.js +0 -219
- package/dist/src/core/file-lock-shared.d.ts +0 -57
- package/dist/src/core/file-lock-shared.js +0 -117
- package/dist/src/core/file-lock.d.ts +0 -143
- package/dist/src/core/file-lock.js +0 -531
- package/dist/src/core/firefox-archive.d.ts +0 -45
- package/dist/src/core/firefox-archive.js +0 -96
- package/dist/src/core/firefox-cache.d.ts +0 -30
- package/dist/src/core/firefox-cache.js +0 -248
- package/dist/src/core/firefox-download.d.ts +0 -30
- package/dist/src/core/firefox-download.js +0 -152
- package/dist/src/core/firefox-extract.d.ts +0 -42
- package/dist/src/core/firefox-extract.js +0 -248
- package/dist/src/core/firefox-ignorefile.d.ts +0 -17
- package/dist/src/core/firefox-ignorefile.js +0 -30
- package/dist/src/core/firefox.d.ts +0 -66
- package/dist/src/core/firefox.js +0 -121
- package/dist/src/core/forward-registrations.d.ts +0 -33
- package/dist/src/core/forward-registrations.js +0 -16
- package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
- package/dist/src/core/furnace-apply-dry-run.js +0 -99
- package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
- package/dist/src/core/furnace-apply-ftl.js +0 -210
- package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
- package/dist/src/core/furnace-apply-helpers.js +0 -436
- package/dist/src/core/furnace-apply-output.d.ts +0 -36
- package/dist/src/core/furnace-apply-output.js +0 -111
- package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -62
- package/dist/src/core/furnace-apply-overwrite-warn.js +0 -124
- package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
- package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
- package/dist/src/core/furnace-apply.d.ts +0 -49
- package/dist/src/core/furnace-apply.js +0 -465
- package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
- package/dist/src/core/furnace-checksum-utils.js +0 -54
- package/dist/src/core/furnace-composed-source.d.ts +0 -76
- package/dist/src/core/furnace-composed-source.js +0 -167
- package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
- package/dist/src/core/furnace-config-array-utils.js +0 -26
- package/dist/src/core/furnace-config-custom.d.ts +0 -15
- package/dist/src/core/furnace-config-custom.js +0 -73
- package/dist/src/core/furnace-config-order.d.ts +0 -8
- package/dist/src/core/furnace-config-order.js +0 -90
- package/dist/src/core/furnace-config-tokens.d.ts +0 -17
- package/dist/src/core/furnace-config-tokens.js +0 -42
- package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
- package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
- package/dist/src/core/furnace-config-validate.d.ts +0 -32
- package/dist/src/core/furnace-config-validate.js +0 -146
- package/dist/src/core/furnace-config.d.ts +0 -139
- package/dist/src/core/furnace-config.js +0 -511
- package/dist/src/core/furnace-constants.d.ts +0 -79
- package/dist/src/core/furnace-constants.js +0 -123
- package/dist/src/core/furnace-css-fragments.d.ts +0 -96
- package/dist/src/core/furnace-css-fragments.js +0 -279
- package/dist/src/core/furnace-dir-entry.d.ts +0 -20
- package/dist/src/core/furnace-dir-entry.js +0 -21
- package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
- package/dist/src/core/furnace-fragment-includers.js +0 -122
- package/dist/src/core/furnace-graph-utils.d.ts +0 -11
- package/dist/src/core/furnace-graph-utils.js +0 -93
- package/dist/src/core/furnace-jsconfig.d.ts +0 -61
- package/dist/src/core/furnace-jsconfig.js +0 -208
- package/dist/src/core/furnace-marker.d.ts +0 -15
- package/dist/src/core/furnace-marker.js +0 -21
- package/dist/src/core/furnace-operation.d.ts +0 -195
- package/dist/src/core/furnace-operation.js +0 -444
- package/dist/src/core/furnace-precondition.d.ts +0 -61
- package/dist/src/core/furnace-precondition.js +0 -67
- package/dist/src/core/furnace-refresh.d.ts +0 -28
- package/dist/src/core/furnace-refresh.js +0 -125
- package/dist/src/core/furnace-registration-ast.d.ts +0 -53
- package/dist/src/core/furnace-registration-ast.js +0 -402
- package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
- package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
- package/dist/src/core/furnace-registration-remove.d.ts +0 -56
- package/dist/src/core/furnace-registration-remove.js +0 -260
- package/dist/src/core/furnace-registration-rename.d.ts +0 -26
- package/dist/src/core/furnace-registration-rename.js +0 -77
- package/dist/src/core/furnace-registration-validate.d.ts +0 -53
- package/dist/src/core/furnace-registration-validate.js +0 -110
- package/dist/src/core/furnace-registration.d.ts +0 -112
- package/dist/src/core/furnace-registration.js +0 -348
- package/dist/src/core/furnace-rollback.d.ts +0 -48
- package/dist/src/core/furnace-rollback.js +0 -170
- package/dist/src/core/furnace-scanner.d.ts +0 -47
- package/dist/src/core/furnace-scanner.js +0 -236
- package/dist/src/core/furnace-stale-export.d.ts +0 -60
- package/dist/src/core/furnace-stale-export.js +0 -125
- package/dist/src/core/furnace-staleness.d.ts +0 -24
- package/dist/src/core/furnace-staleness.js +0 -67
- package/dist/src/core/furnace-state-persist.d.ts +0 -68
- package/dist/src/core/furnace-state-persist.js +0 -116
- package/dist/src/core/furnace-step-errors.d.ts +0 -23
- package/dist/src/core/furnace-step-errors.js +0 -25
- package/dist/src/core/furnace-stories.d.ts +0 -37
- package/dist/src/core/furnace-stories.js +0 -186
- package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
- package/dist/src/core/furnace-validate-accessibility.js +0 -417
- package/dist/src/core/furnace-validate-checks.d.ts +0 -4
- package/dist/src/core/furnace-validate-checks.js +0 -6
- package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
- package/dist/src/core/furnace-validate-compatibility.js +0 -295
- package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
- package/dist/src/core/furnace-validate-exceptions.js +0 -98
- package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
- package/dist/src/core/furnace-validate-helpers.js +0 -4
- package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
- package/dist/src/core/furnace-validate-icon-button.js +0 -78
- package/dist/src/core/furnace-validate-registration.d.ts +0 -67
- package/dist/src/core/furnace-validate-registration.js +0 -487
- package/dist/src/core/furnace-validate-structure.d.ts +0 -22
- package/dist/src/core/furnace-validate-structure.js +0 -122
- package/dist/src/core/furnace-validate.d.ts +0 -41
- package/dist/src/core/furnace-validate.js +0 -302
- package/dist/src/core/furnace-version-drift.d.ts +0 -57
- package/dist/src/core/furnace-version-drift.js +0 -102
- package/dist/src/core/gecko-dom-types.d.ts +0 -2
- package/dist/src/core/gecko-dom-types.js +0 -17
- package/dist/src/core/git-base.d.ts +0 -101
- package/dist/src/core/git-base.js +0 -162
- package/dist/src/core/git-diff-new-file.d.ts +0 -40
- package/dist/src/core/git-diff-new-file.js +0 -118
- package/dist/src/core/git-diff.d.ts +0 -82
- package/dist/src/core/git-diff.js +0 -539
- package/dist/src/core/git-file-ops.d.ts +0 -108
- package/dist/src/core/git-file-ops.js +0 -280
- package/dist/src/core/git-readonly-index.d.ts +0 -91
- package/dist/src/core/git-readonly-index.js +0 -177
- package/dist/src/core/git-status.d.ts +0 -84
- package/dist/src/core/git-status.js +0 -208
- package/dist/src/core/git.d.ts +0 -114
- package/dist/src/core/git.js +0 -540
- package/dist/src/core/harness-helper-pids.d.ts +0 -98
- package/dist/src/core/harness-helper-pids.js +0 -240
- package/dist/src/core/harness-orphans.d.ts +0 -118
- package/dist/src/core/harness-orphans.js +0 -268
- package/dist/src/core/harness-port-fallback.d.ts +0 -60
- package/dist/src/core/harness-port-fallback.js +0 -96
- package/dist/src/core/harness-port-reservation.d.ts +0 -60
- package/dist/src/core/harness-port-reservation.js +0 -122
- package/dist/src/core/history-log-file.d.ts +0 -61
- package/dist/src/core/history-log-file.js +0 -164
- package/dist/src/core/history-log.d.ts +0 -20
- package/dist/src/core/history-log.js +0 -30
- package/dist/src/core/json-preserving-edit.d.ts +0 -22
- package/dist/src/core/json-preserving-edit.js +0 -199
- package/dist/src/core/launchable-build.d.ts +0 -39
- package/dist/src/core/launchable-build.js +0 -85
- package/dist/src/core/license-headers.d.ts +0 -103
- package/dist/src/core/license-headers.js +0 -318
- package/dist/src/core/line-prefixer.d.ts +0 -18
- package/dist/src/core/line-prefixer.js +0 -34
- package/dist/src/core/lit-template-regions.d.ts +0 -4
- package/dist/src/core/lit-template-regions.js +0 -50
- package/dist/src/core/mach-build-artifacts.d.ts +0 -176
- package/dist/src/core/mach-build-artifacts.js +0 -436
- package/dist/src/core/mach-error-hints.d.ts +0 -24
- package/dist/src/core/mach-error-hints.js +0 -135
- package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
- package/dist/src/core/mach-known-noise-filter.js +0 -257
- package/dist/src/core/mach-mozconfig.d.ts +0 -57
- package/dist/src/core/mach-mozconfig.js +0 -166
- package/dist/src/core/mach-python.d.ts +0 -19
- package/dist/src/core/mach-python.js +0 -131
- package/dist/src/core/mach-resource-shim.d.ts +0 -107
- package/dist/src/core/mach-resource-shim.js +0 -640
- package/dist/src/core/mach.d.ts +0 -284
- package/dist/src/core/mach.js +0 -445
- package/dist/src/core/marionette-port.d.ts +0 -153
- package/dist/src/core/marionette-port.js +0 -474
- package/dist/src/core/marionette-preflight.d.ts +0 -58
- package/dist/src/core/marionette-preflight.js +0 -332
- package/dist/src/core/markdown-table.d.ts +0 -104
- package/dist/src/core/markdown-table.js +0 -265
- package/dist/src/core/mochitest-server-port.d.ts +0 -81
- package/dist/src/core/mochitest-server-port.js +0 -175
- package/dist/src/core/module-resolution-preflight.d.ts +0 -65
- package/dist/src/core/module-resolution-preflight.js +0 -171
- package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
- package/dist/src/core/moz-manifest-helpers.js +0 -163
- package/dist/src/core/moz-manifest-register.d.ts +0 -19
- package/dist/src/core/moz-manifest-register.js +0 -51
- package/dist/src/core/moz-manifest-rules.d.ts +0 -58
- package/dist/src/core/moz-manifest-rules.js +0 -264
- package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
- package/dist/src/core/moz-manifest-tokenizers.js +0 -108
- package/dist/src/core/negative-control-compiled.d.ts +0 -46
- package/dist/src/core/negative-control-compiled.js +0 -109
- package/dist/src/core/negative-control-diff.d.ts +0 -51
- package/dist/src/core/negative-control-diff.js +0 -204
- package/dist/src/core/negative-control.d.ts +0 -150
- package/dist/src/core/negative-control.js +0 -399
- package/dist/src/core/objdir-install-manifests.d.ts +0 -73
- package/dist/src/core/objdir-install-manifests.js +0 -226
- package/dist/src/core/objdir-maintenance.d.ts +0 -10
- package/dist/src/core/objdir-maintenance.js +0 -167
- package/dist/src/core/ownership-table.d.ts +0 -53
- package/dist/src/core/ownership-table.js +0 -159
- package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
- package/dist/src/core/parent-exit-watchdog.js +0 -69
- package/dist/src/core/park-store.d.ts +0 -63
- package/dist/src/core/park-store.js +0 -216
- package/dist/src/core/parser-fallback.d.ts +0 -50
- package/dist/src/core/parser-fallback.js +0 -61
- package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
- package/dist/src/core/patch-apply-fuzz.js +0 -125
- package/dist/src/core/patch-apply.d.ts +0 -88
- package/dist/src/core/patch-apply.js +0 -435
- package/dist/src/core/patch-export-coverage.d.ts +0 -49
- package/dist/src/core/patch-export-coverage.js +0 -73
- package/dist/src/core/patch-export-metadata.d.ts +0 -46
- package/dist/src/core/patch-export-metadata.js +0 -47
- package/dist/src/core/patch-export-update.d.ts +0 -55
- package/dist/src/core/patch-export-update.js +0 -95
- package/dist/src/core/patch-export.d.ts +0 -175
- package/dist/src/core/patch-export.js +0 -312
- package/dist/src/core/patch-files.d.ts +0 -17
- package/dist/src/core/patch-files.js +0 -59
- package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
- package/dist/src/core/patch-identifier-suggest.js +0 -135
- package/dist/src/core/patch-lint-binary.d.ts +0 -45
- package/dist/src/core/patch-lint-binary.js +0 -39
- package/dist/src/core/patch-lint-cache.d.ts +0 -78
- package/dist/src/core/patch-lint-cache.js +0 -233
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -39
- package/dist/src/core/patch-lint-checkjs-any-import.js +0 -63
- package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
- package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
- package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
- package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
- package/dist/src/core/patch-lint-checkjs.d.ts +0 -180
- package/dist/src/core/patch-lint-checkjs.js +0 -611
- package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
- package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
- package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
- package/dist/src/core/patch-lint-code-lines.js +0 -105
- package/dist/src/core/patch-lint-creators.d.ts +0 -26
- package/dist/src/core/patch-lint-creators.js +0 -45
- package/dist/src/core/patch-lint-cross.d.ts +0 -232
- package/dist/src/core/patch-lint-cross.js +0 -590
- package/dist/src/core/patch-lint-css.d.ts +0 -27
- package/dist/src/core/patch-lint-css.js +0 -228
- package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
- package/dist/src/core/patch-lint-diff-tag.js +0 -105
- package/dist/src/core/patch-lint-diff.d.ts +0 -42
- package/dist/src/core/patch-lint-diff.js +0 -100
- package/dist/src/core/patch-lint-file-size.d.ts +0 -57
- package/dist/src/core/patch-lint-file-size.js +0 -62
- package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
- package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
- package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
- package/dist/src/core/patch-lint-forward-registration.js +0 -266
- package/dist/src/core/patch-lint-ignore.d.ts +0 -196
- package/dist/src/core/patch-lint-ignore.js +0 -429
- package/dist/src/core/patch-lint-imports.d.ts +0 -5
- package/dist/src/core/patch-lint-imports.js +0 -67
- package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
- package/dist/src/core/patch-lint-jsdoc.js +0 -471
- package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
- package/dist/src/core/patch-lint-module-registration.js +0 -97
- package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
- package/dist/src/core/patch-lint-mozbuild.js +0 -192
- package/dist/src/core/patch-lint-observer.d.ts +0 -37
- package/dist/src/core/patch-lint-observer.js +0 -167
- package/dist/src/core/patch-lint-ownership.d.ts +0 -74
- package/dist/src/core/patch-lint-ownership.js +0 -125
- package/dist/src/core/patch-lint-prettier.d.ts +0 -34
- package/dist/src/core/patch-lint-prettier.js +0 -124
- package/dist/src/core/patch-lint-projection.d.ts +0 -25
- package/dist/src/core/patch-lint-projection.js +0 -43
- package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
- package/dist/src/core/patch-lint-queue-types.js +0 -12
- package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
- package/dist/src/core/patch-lint-size-thresholds.js +0 -110
- package/dist/src/core/patch-lint-size.d.ts +0 -117
- package/dist/src/core/patch-lint-size.js +0 -331
- package/dist/src/core/patch-lint-staged-registration.d.ts +0 -78
- package/dist/src/core/patch-lint-staged-registration.js +0 -110
- package/dist/src/core/patch-lint-token-scale.d.ts +0 -57
- package/dist/src/core/patch-lint-token-scale.js +0 -286
- package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
- package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
- package/dist/src/core/patch-lint.d.ts +0 -191
- package/dist/src/core/patch-lint.js +0 -529
- package/dist/src/core/patch-lock.d.ts +0 -40
- package/dist/src/core/patch-lock.js +0 -129
- package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
- package/dist/src/core/patch-manifest-consistency.js +0 -256
- package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
- package/dist/src/core/patch-manifest-files-affected.js +0 -77
- package/dist/src/core/patch-manifest-io.d.ts +0 -199
- package/dist/src/core/patch-manifest-io.js +0 -556
- package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
- package/dist/src/core/patch-manifest-key-order.js +0 -60
- package/dist/src/core/patch-manifest-query.d.ts +0 -55
- package/dist/src/core/patch-manifest-query.js +0 -139
- package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
- package/dist/src/core/patch-manifest-resolve.js +0 -35
- package/dist/src/core/patch-manifest-stage.d.ts +0 -46
- package/dist/src/core/patch-manifest-stage.js +0 -96
- package/dist/src/core/patch-manifest-validate.d.ts +0 -20
- package/dist/src/core/patch-manifest-validate.js +0 -240
- package/dist/src/core/patch-manifest.d.ts +0 -12
- package/dist/src/core/patch-manifest.js +0 -13
- package/dist/src/core/patch-order-legal.d.ts +0 -26
- package/dist/src/core/patch-order-legal.js +0 -88
- package/dist/src/core/patch-parse.d.ts +0 -161
- package/dist/src/core/patch-parse.js +0 -347
- package/dist/src/core/patch-policy-content.d.ts +0 -40
- package/dist/src/core/patch-policy-content.js +0 -216
- package/dist/src/core/patch-policy.d.ts +0 -80
- package/dist/src/core/patch-policy.js +0 -394
- package/dist/src/core/patch-registration-refs.d.ts +0 -41
- package/dist/src/core/patch-registration-refs.js +0 -107
- package/dist/src/core/patch-retired.d.ts +0 -57
- package/dist/src/core/patch-retired.js +0 -92
- package/dist/src/core/patch-source-metadata.d.ts +0 -6
- package/dist/src/core/patch-source-metadata.js +0 -12
- package/dist/src/core/patch-subset.d.ts +0 -18
- package/dist/src/core/patch-subset.js +0 -67
- package/dist/src/core/patch-transform.d.ts +0 -61
- package/dist/src/core/patch-transform.js +0 -198
- package/dist/src/core/preflight-wait.d.ts +0 -22
- package/dist/src/core/preflight-wait.js +0 -62
- package/dist/src/core/process-cpu-time.d.ts +0 -12
- package/dist/src/core/process-cpu-time.js +0 -52
- package/dist/src/core/process-owner.d.ts +0 -9
- package/dist/src/core/process-owner.js +0 -43
- package/dist/src/core/rebase-dry-run.d.ts +0 -48
- package/dist/src/core/rebase-dry-run.js +0 -105
- package/dist/src/core/rebase-from-version.d.ts +0 -46
- package/dist/src/core/rebase-from-version.js +0 -71
- package/dist/src/core/rebase-session.d.ts +0 -100
- package/dist/src/core/rebase-session.js +0 -174
- package/dist/src/core/register-browser-content.d.ts +0 -11
- package/dist/src/core/register-browser-content.js +0 -52
- package/dist/src/core/register-browser-test.d.ts +0 -18
- package/dist/src/core/register-browser-test.js +0 -66
- package/dist/src/core/register-module.d.ts +0 -11
- package/dist/src/core/register-module.js +0 -56
- package/dist/src/core/register-result.d.ts +0 -30
- package/dist/src/core/register-result.js +0 -8
- package/dist/src/core/register-scaffold.d.ts +0 -55
- package/dist/src/core/register-scaffold.js +0 -146
- package/dist/src/core/register-shared-css.d.ts +0 -36
- package/dist/src/core/register-shared-css.js +0 -112
- package/dist/src/core/register-xpcshell-test.d.ts +0 -50
- package/dist/src/core/register-xpcshell-test.js +0 -143
- package/dist/src/core/run-log-redact.d.ts +0 -38
- package/dist/src/core/run-log-redact.js +0 -69
- package/dist/src/core/run-log.d.ts +0 -97
- package/dist/src/core/run-log.js +0 -334
- package/dist/src/core/run-profile.d.ts +0 -57
- package/dist/src/core/run-profile.js +0 -137
- package/dist/src/core/shared-ftl.d.ts +0 -28
- package/dist/src/core/shared-ftl.js +0 -49
- package/dist/src/core/signal-critical.d.ts +0 -38
- package/dist/src/core/signal-critical.js +0 -62
- package/dist/src/core/smoke-patterns.d.ts +0 -81
- package/dist/src/core/smoke-patterns.js +0 -176
- package/dist/src/core/state-file.d.ts +0 -60
- package/dist/src/core/state-file.js +0 -71
- package/dist/src/core/status-binary.d.ts +0 -62
- package/dist/src/core/status-binary.js +0 -133
- package/dist/src/core/status-classify.d.ts +0 -96
- package/dist/src/core/status-classify.js +0 -244
- package/dist/src/core/test-changed-prefs.d.ts +0 -30
- package/dist/src/core/test-changed-prefs.js +0 -93
- package/dist/src/core/test-harness-crash.d.ts +0 -251
- package/dist/src/core/test-harness-crash.js +0 -780
- package/dist/src/core/test-harness-infra.d.ts +0 -32
- package/dist/src/core/test-harness-infra.js +0 -69
- package/dist/src/core/test-harness-output.d.ts +0 -45
- package/dist/src/core/test-harness-output.js +0 -119
- package/dist/src/core/test-harness-signature.d.ts +0 -57
- package/dist/src/core/test-harness-signature.js +0 -35
- package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
- package/dist/src/core/test-harness-verdict-notes.js +0 -48
- package/dist/src/core/test-host-state.d.ts +0 -14
- package/dist/src/core/test-host-state.js +0 -80
- package/dist/src/core/test-path-scope.d.ts +0 -59
- package/dist/src/core/test-path-scope.js +0 -147
- package/dist/src/core/test-profile-files.d.ts +0 -17
- package/dist/src/core/test-profile-files.js +0 -75
- package/dist/src/core/test-raw-log.d.ts +0 -66
- package/dist/src/core/test-raw-log.js +0 -122
- package/dist/src/core/test-run-completeness.d.ts +0 -97
- package/dist/src/core/test-run-completeness.js +0 -191
- package/dist/src/core/test-stale-check.d.ts +0 -213
- package/dist/src/core/test-stale-check.js +0 -396
- package/dist/src/core/test-stale-exempt.d.ts +0 -40
- package/dist/src/core/test-stale-exempt.js +0 -70
- package/dist/src/core/test-stale-symlink.d.ts +0 -12
- package/dist/src/core/test-stale-symlink.js +0 -39
- package/dist/src/core/test-stall-triage.d.ts +0 -51
- package/dist/src/core/test-stall-triage.js +0 -142
- package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
- package/dist/src/core/test-xpcshell-retry.js +0 -31
- package/dist/src/core/token-category.d.ts +0 -54
- package/dist/src/core/token-category.js +0 -299
- package/dist/src/core/token-coverage.d.ts +0 -12
- package/dist/src/core/token-coverage.js +0 -96
- package/dist/src/core/token-dark-mode.d.ts +0 -64
- package/dist/src/core/token-dark-mode.js +0 -186
- package/dist/src/core/token-docs.d.ts +0 -34
- package/dist/src/core/token-docs.js +0 -102
- package/dist/src/core/token-inventory.d.ts +0 -56
- package/dist/src/core/token-inventory.js +0 -114
- package/dist/src/core/token-lint.d.ts +0 -53
- package/dist/src/core/token-lint.js +0 -131
- package/dist/src/core/token-manager.d.ts +0 -87
- package/dist/src/core/token-manager.js +0 -407
- package/dist/src/core/token-scaffold.d.ts +0 -36
- package/dist/src/core/token-scaffold.js +0 -73
- package/dist/src/core/token-sibling-sheets.d.ts +0 -46
- package/dist/src/core/token-sibling-sheets.js +0 -119
- package/dist/src/core/token-variant.d.ts +0 -90
- package/dist/src/core/token-variant.js +0 -327
- package/dist/src/core/toolchain-preflight.d.ts +0 -90
- package/dist/src/core/toolchain-preflight.js +0 -251
- package/dist/src/core/tree-cow.d.ts +0 -16
- package/dist/src/core/tree-cow.js +0 -71
- package/dist/src/core/tree-guard.d.ts +0 -35
- package/dist/src/core/tree-guard.js +0 -194
- package/dist/src/core/tree-store.d.ts +0 -143
- package/dist/src/core/tree-store.js +0 -478
- package/dist/src/core/typecheck-shim.d.ts +0 -90
- package/dist/src/core/typecheck-shim.js +0 -507
- package/dist/src/core/typecheck.d.ts +0 -75
- package/dist/src/core/typecheck.js +0 -433
- package/dist/src/core/wire-destroy.d.ts +0 -25
- package/dist/src/core/wire-destroy.js +0 -126
- package/dist/src/core/wire-dom-fragment.d.ts +0 -44
- package/dist/src/core/wire-dom-fragment.js +0 -139
- package/dist/src/core/wire-init.d.ts +0 -28
- package/dist/src/core/wire-init.js +0 -219
- package/dist/src/core/wire-subscript.d.ts +0 -23
- package/dist/src/core/wire-subscript.js +0 -145
- package/dist/src/core/wire-utils.d.ts +0 -149
- package/dist/src/core/wire-utils.js +0 -338
- package/dist/src/core/xpcshell-appdir.d.ts +0 -157
- package/dist/src/core/xpcshell-appdir.js +0 -299
- package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
- package/dist/src/core/xpcshell-profile-dir.js +0 -45
- package/dist/src/errors/base.d.ts +0 -217
- package/dist/src/errors/base.js +0 -279
- package/dist/src/errors/build.d.ts +0 -92
- package/dist/src/errors/build.js +0 -166
- package/dist/src/errors/codes.d.ts +0 -74
- package/dist/src/errors/codes.js +0 -74
- package/dist/src/errors/config.d.ts +0 -17
- package/dist/src/errors/config.js +0 -39
- package/dist/src/errors/download.d.ts +0 -66
- package/dist/src/errors/download.js +0 -160
- package/dist/src/errors/furnace.d.ts +0 -20
- package/dist/src/errors/furnace.js +0 -28
- package/dist/src/errors/git.d.ts +0 -65
- package/dist/src/errors/git.js +0 -140
- package/dist/src/errors/patch.d.ts +0 -27
- package/dist/src/errors/patch.js +0 -52
- package/dist/src/errors/rebase.d.ts +0 -42
- package/dist/src/errors/rebase.js +0 -71
- package/dist/src/errors/run.d.ts +0 -16
- package/dist/src/errors/run.js +0 -22
- package/dist/src/index.d.ts +0 -42
- package/dist/src/index.js +0 -32
- package/dist/src/types/cli.d.ts +0 -14
- package/dist/src/types/commands/index.d.ts +0 -6
- package/dist/src/types/commands/index.js +0 -5
- package/dist/src/types/commands/options.d.ts +0 -1367
- package/dist/src/types/commands/options.js +0 -5
- package/dist/src/types/commands/patches.d.ts +0 -352
- package/dist/src/types/commands/patches.js +0 -5
- package/dist/src/types/commands/project.d.ts +0 -51
- package/dist/src/types/commands/project.js +0 -5
- package/dist/src/types/config.d.ts +0 -703
- package/dist/src/types/config.js +0 -15
- package/dist/src/types/furnace.d.ts +0 -415
- package/dist/src/types/furnace.js +0 -26
- package/dist/src/types/index.d.ts +0 -5
- package/dist/src/types/index.js +0 -5
- package/dist/src/types/json.d.ts +0 -22
- package/dist/src/types/json.js +0 -11
- package/dist/src/types/typecheck.d.ts +0 -51
- package/dist/src/types/typecheck.js +0 -14
- package/dist/src/utils/assert.d.ts +0 -34
- package/dist/src/utils/assert.js +0 -61
- package/dist/src/utils/build-info.d.ts +0 -30
- package/dist/src/utils/build-info.js +0 -99
- package/dist/src/utils/child-env.d.ts +0 -28
- package/dist/src/utils/child-env.js +0 -27
- package/dist/src/utils/concurrency.d.ts +0 -8
- package/dist/src/utils/concurrency.js +0 -32
- package/dist/src/utils/elapsed.d.ts +0 -2
- package/dist/src/utils/elapsed.js +0 -23
- package/dist/src/utils/errors.d.ts +0 -39
- package/dist/src/utils/errors.js +0 -67
- package/dist/src/utils/fs.d.ts +0 -113
- package/dist/src/utils/fs.js +0 -337
- package/dist/src/utils/hash.d.ts +0 -12
- package/dist/src/utils/hash.js +0 -16
- package/dist/src/utils/line-dispatch.d.ts +0 -15
- package/dist/src/utils/line-dispatch.js +0 -48
- package/dist/src/utils/logger.d.ts +0 -109
- package/dist/src/utils/logger.js +0 -270
- package/dist/src/utils/machine-output.d.ts +0 -12
- package/dist/src/utils/machine-output.js +0 -33
- package/dist/src/utils/options.d.ts +0 -155
- package/dist/src/utils/options.js +0 -312
- package/dist/src/utils/package-root.d.ts +0 -21
- package/dist/src/utils/package-root.js +0 -70
- package/dist/src/utils/parse.d.ts +0 -117
- package/dist/src/utils/parse.js +0 -214
- package/dist/src/utils/path-glob.d.ts +0 -15
- package/dist/src/utils/path-glob.js +0 -47
- package/dist/src/utils/paths.d.ts +0 -31
- package/dist/src/utils/paths.js +0 -80
- package/dist/src/utils/platform.d.ts +0 -9
- package/dist/src/utils/platform.js +0 -14
- package/dist/src/utils/process-group.d.ts +0 -42
- package/dist/src/utils/process-group.js +0 -190
- package/dist/src/utils/process-input.d.ts +0 -27
- package/dist/src/utils/process-input.js +0 -46
- package/dist/src/utils/process.d.ts +0 -293
- package/dist/src/utils/process.js +0 -593
- package/dist/src/utils/ps-duration.d.ts +0 -31
- package/dist/src/utils/ps-duration.js +0 -70
- package/dist/src/utils/regex.d.ts +0 -39
- package/dist/src/utils/regex.js +0 -109
- package/dist/src/utils/sleep.d.ts +0 -25
- package/dist/src/utils/sleep.js +0 -30
- package/dist/src/utils/stdio-drain.d.ts +0 -28
- package/dist/src/utils/stdio-drain.js +0 -54
- package/dist/src/utils/validation.d.ts +0 -182
- package/dist/src/utils/validation.js +0 -394
- package/docs/lifecycle-invariants.md +0 -523
- package/docs/run-logs.md +0 -122
- package/docs/verification-trees.md +0 -49
- /package/dist/src/{types/cli.js → cli/context.js} +0 -0
|
@@ -1,282 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { Command, Option } from 'commander';
|
|
3
|
-
import { withEngineSessionLock } from '../../core/engine-session-lock.js';
|
|
4
|
-
import { addWaitLockOption, pickDefined, resolveWaitLockSeconds, } from '../../utils/options.js';
|
|
5
|
-
import { furnaceApplyCommand } from './apply.js';
|
|
6
|
-
import { furnaceChromeDocCreateCommand } from './chrome-doc.js';
|
|
7
|
-
import { furnaceChromeDocRemoveCommand } from './chrome-doc-remove.js';
|
|
8
|
-
import { furnaceCreateCommand } from './create.js';
|
|
9
|
-
import { furnaceDeployCommand } from './deploy.js';
|
|
10
|
-
import { furnaceDiffCommand } from './diff.js';
|
|
11
|
-
import { furnaceInitCommand } from './init.js';
|
|
12
|
-
import { furnaceListCommand } from './list.js';
|
|
13
|
-
import { furnaceBatchOverrideCommand, furnaceOverrideCommand } from './override.js';
|
|
14
|
-
import { furnacePreviewCommand } from './preview.js';
|
|
15
|
-
import { furnaceRefreshCommand } from './refresh.js';
|
|
16
|
-
import { furnaceRemoveCommand } from './remove.js';
|
|
17
|
-
import { furnaceRenameCommand } from './rename.js';
|
|
18
|
-
import { furnaceScanCommand } from './scan.js';
|
|
19
|
-
import { furnaceStatusCommand } from './status.js';
|
|
20
|
-
import { furnaceSyncCommand } from './sync.js';
|
|
21
|
-
import { furnaceValidateCommand } from './validate.js';
|
|
22
|
-
import { parseMaxWarnings } from './validate-report.js';
|
|
23
|
-
/**
|
|
24
|
-
* Splits the raw `--wait-lock` value off a furnace leaf's parsed options and
|
|
25
|
-
* resolves it into `waitLockSeconds` (flag, else `FIREFORGE_WAIT_LOCK`, else
|
|
26
|
-
* undefined) for the furnace lock `runFurnaceMutation` takes. Used by the
|
|
27
|
-
* leaves that take only Furnace's lock, so the flag is honoured there rather
|
|
28
|
-
* than accepted and ignored.
|
|
29
|
-
*/
|
|
30
|
-
function withFurnaceLockBudget(options) {
|
|
31
|
-
const { waitLock, ...rest } = options;
|
|
32
|
-
return pickDefined({ ...rest, waitLockSeconds: resolveWaitLockSeconds(waitLock) });
|
|
33
|
-
}
|
|
34
|
-
async function runEngineLockedFurnaceCommand(context, command, operation, waitLockSeconds) {
|
|
35
|
-
const projectRoot = context.getProjectRoot();
|
|
36
|
-
await withEngineSessionLock(projectRoot, command, () => operation(projectRoot), {
|
|
37
|
-
waitLockSeconds,
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
function registerFurnaceApplyCommand(furnace, context) {
|
|
41
|
-
const { getProjectRoot, withErrorHandling } = context;
|
|
42
|
-
const apply = furnace
|
|
43
|
-
.command('apply [name]')
|
|
44
|
-
.description('Apply components to the engine (optionally a single component)')
|
|
45
|
-
.option('--dry-run', 'Show what would be changed without writing (reads may overlap concurrent mutations)')
|
|
46
|
-
.option('--force', 'Proceed despite baseVersion drift (stale overrides)')
|
|
47
|
-
.option('-w, --watch', 'Watch component directories and re-apply on changes');
|
|
48
|
-
addWaitLockOption(apply).action(withErrorHandling(async (name, options) => {
|
|
49
|
-
const { waitLock, ...rest } = options ?? {};
|
|
50
|
-
// Resolved once and used twice: the engine session lock below, and
|
|
51
|
-
// the furnace lock the mutation takes inside it. Resolving twice
|
|
52
|
-
// would be the same value today and a drift risk tomorrow.
|
|
53
|
-
const waitLockSeconds = resolveWaitLockSeconds(waitLock);
|
|
54
|
-
const parsed = pickDefined({ ...rest, waitLockSeconds });
|
|
55
|
-
const run = (projectRoot) => furnaceApplyCommand(projectRoot, name, parsed);
|
|
56
|
-
if (parsed.dryRun === true) {
|
|
57
|
-
await run(getProjectRoot());
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
await runEngineLockedFurnaceCommand(context, 'furnace apply', run, waitLockSeconds);
|
|
61
|
-
}));
|
|
62
|
-
}
|
|
63
|
-
function registerFurnaceDeployCommand(furnace, context) {
|
|
64
|
-
const { getProjectRoot, withErrorHandling } = context;
|
|
65
|
-
const deploy = furnace
|
|
66
|
-
.command('deploy [names...]')
|
|
67
|
-
.description('Apply components and validate in one step (name several to deploy them under one lock hold)')
|
|
68
|
-
.option('--dry-run', 'Show what would be changed without writing (reads may overlap concurrent mutations)')
|
|
69
|
-
.option('--force', 'Proceed despite baseVersion drift (stale overrides)')
|
|
70
|
-
.option('--skip-validate', 'Skip the validation step (apply only)')
|
|
71
|
-
.addHelpText('after', [
|
|
72
|
-
'',
|
|
73
|
-
'Deploy registers every .mjs and .css file in a custom component directory in',
|
|
74
|
-
'toolkit/content/jar.mn, including extra modules beside the main one (e.g.',
|
|
75
|
-
'components/custom/<tag>/<tag>-rows.mjs). Add the file to the directory and run',
|
|
76
|
-
'`fireforge furnace deploy <tag>` instead of writing the jar.mn line by hand; a line',
|
|
77
|
-
'that already exists anywhere in jar.mn is kept and never duplicated.',
|
|
78
|
-
].join('\n'));
|
|
79
|
-
addWaitLockOption(deploy).action(withErrorHandling(async (names, options) => {
|
|
80
|
-
const { waitLock, ...rest } = options ?? {};
|
|
81
|
-
const waitLockSeconds = resolveWaitLockSeconds(waitLock);
|
|
82
|
-
const parsed = pickDefined({ ...rest, waitLockSeconds });
|
|
83
|
-
const run = (projectRoot) => furnaceDeployCommand(projectRoot, names, parsed);
|
|
84
|
-
if (parsed.dryRun === true) {
|
|
85
|
-
await run(getProjectRoot());
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
await runEngineLockedFurnaceCommand(context, 'furnace deploy', run, waitLockSeconds);
|
|
89
|
-
}));
|
|
90
|
-
}
|
|
91
|
-
function registerFurnaceSyncCommand(furnace, context) {
|
|
92
|
-
const { getProjectRoot, withErrorHandling } = context;
|
|
93
|
-
const sync = furnace
|
|
94
|
-
.command('sync')
|
|
95
|
-
.description('Refresh drifted overrides and re-apply all components (recommended after fireforge download)')
|
|
96
|
-
.option('--dry-run', 'Show what would change without modifying files (reads may overlap concurrent mutations)')
|
|
97
|
-
.addOption(new Option('-s, --strategy <strategy>', 'Auto-resolve merge conflicts (ours = keep local, theirs = accept upstream)').choices(['ours', 'theirs']));
|
|
98
|
-
addWaitLockOption(sync).action(withErrorHandling(async (options) => {
|
|
99
|
-
const { waitLock, ...rest } = options;
|
|
100
|
-
const waitLockSeconds = resolveWaitLockSeconds(waitLock);
|
|
101
|
-
const parsed = pickDefined({ ...rest, waitLockSeconds });
|
|
102
|
-
const run = (projectRoot) => furnaceSyncCommand(projectRoot, parsed);
|
|
103
|
-
if (parsed.dryRun === true) {
|
|
104
|
-
await run(getProjectRoot());
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
await runEngineLockedFurnaceCommand(context, 'furnace sync', run, waitLockSeconds);
|
|
108
|
-
}));
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Registers Furnace commands for querying component state: status, scan,
|
|
112
|
-
* and action commands like apply, deploy, and create.
|
|
113
|
-
* @param furnace - Parent Furnace command
|
|
114
|
-
* @param context - Shared CLI registration context
|
|
115
|
-
*/
|
|
116
|
-
function registerFurnaceInfoCommands(furnace, context) {
|
|
117
|
-
const { getProjectRoot, withErrorHandling } = context;
|
|
118
|
-
furnace
|
|
119
|
-
.command('status [name]')
|
|
120
|
-
.description('Show component status and registration details')
|
|
121
|
-
.action(withErrorHandling(async (name) => {
|
|
122
|
-
await furnaceStatusCommand(getProjectRoot(), name);
|
|
123
|
-
}));
|
|
124
|
-
registerFurnaceApplyCommand(furnace, context);
|
|
125
|
-
registerFurnaceDeployCommand(furnace, context);
|
|
126
|
-
const scan = furnace
|
|
127
|
-
.command('scan')
|
|
128
|
-
.description('Scan engine for available components. Report-only by default: persist the discovered ' +
|
|
129
|
-
'inventory into the stock section of furnace.json with --track (or the interactive ' +
|
|
130
|
-
'prompt); deploy/validate consume the inventory from there.')
|
|
131
|
-
.option('--deep', 'Search additional Firefox directories beyond the default widgets path')
|
|
132
|
-
.option('--track', 'Persist every discovered untracked component into the stock section of furnace.json (non-interactive)');
|
|
133
|
-
addWaitLockOption(scan).action(withErrorHandling(async (options) => {
|
|
134
|
-
await furnaceScanCommand(getProjectRoot(), withFurnaceLockBudget(options));
|
|
135
|
-
}));
|
|
136
|
-
furnace
|
|
137
|
-
.command('init')
|
|
138
|
-
.description('Initialize furnace.json with project settings')
|
|
139
|
-
.option('-p, --prefix <prefix>', 'Component prefix (e.g. "moz-", "ff-")')
|
|
140
|
-
.option('--ftl-base-path <path>', 'Fluent l10n base path')
|
|
141
|
-
.option('--force', 'Overwrite existing furnace.json')
|
|
142
|
-
.action(withErrorHandling(async (options) => {
|
|
143
|
-
await furnaceInitCommand(getProjectRoot(), options);
|
|
144
|
-
}));
|
|
145
|
-
const create = furnace
|
|
146
|
-
.command('create [name]')
|
|
147
|
-
.description('Create a new custom component')
|
|
148
|
-
.option('-d, --description <desc>', 'Component description')
|
|
149
|
-
.option('--localized', 'Include Fluent l10n support')
|
|
150
|
-
.option('--no-register', 'Skip customElements.js registration')
|
|
151
|
-
.option('--with-tests', 'Scaffold a test harness (defaults to browser-chrome; use --test-style=mochikit for tabbrowser-less chrome — may be flaky on macOS)')
|
|
152
|
-
.option('--xpcshell', 'Scaffold an xpcshell test harness (for storage-layer code on forks without tabbrowser); equivalent to --test-style=xpcshell. Note: xpcshell resolves chrome://global/* URIs but not chrome://browser/* — use --test-style=browser-chrome for browser-chrome-dependent tests.')
|
|
153
|
-
.option('--test-style <style>', 'Override the harness written by --with-tests: browser-chrome (default, needs tabbrowser), mochikit (toolkit/widgets, non-tabbrowser chrome), or xpcshell (headless)', (value) => {
|
|
154
|
-
if (value !== 'mochikit' && value !== 'browser-chrome' && value !== 'xpcshell') {
|
|
155
|
-
throw new Error(`--test-style must be one of: mochikit, browser-chrome, xpcshell. Got: "${value}".`);
|
|
156
|
-
}
|
|
157
|
-
return value;
|
|
158
|
-
})
|
|
159
|
-
.option('--test-dir <dir>', 'Redirect the --with-tests scaffold to this engine-relative directory under browser/base/content/test/ (browser-chrome and xpcshell styles) instead of the default <binaryName>-derived directory; existing manifests are appended to, never overwritten')
|
|
160
|
-
.option('--compose <tags>', 'Record stock tags composed internally (metadata only, comma-separated)', (val) => val.split(',').map((s) => s.trim()))
|
|
161
|
-
.option('--shared-ftl <path>', 'Participate in an existing feature-scoped .ftl at this path (e.g. "browser/mybrowser-dock.ftl"); skips the per-component .ftl scaffold (implies --localized)')
|
|
162
|
-
.option('--dry-run', 'Show the planned file set and furnace.json changes without writing')
|
|
163
|
-
.option('--allow-prefix-mismatch', 'Create the component even when its name does not start with the configured `componentPrefix` in furnace.json. Without this flag the command refuses to write anything on a prefix mismatch.');
|
|
164
|
-
addWaitLockOption(create).action(withErrorHandling(async (name, options) => {
|
|
165
|
-
await furnaceCreateCommand(getProjectRoot(), name, withFurnaceLockBudget(options));
|
|
166
|
-
}));
|
|
167
|
-
registerChromeDocCommands(furnace, context);
|
|
168
|
-
}
|
|
169
|
-
function registerChromeDocCommands(furnace, context) {
|
|
170
|
-
const { getProjectRoot, withErrorHandling } = context;
|
|
171
|
-
const chromeDoc = furnace
|
|
172
|
-
.command('chrome-doc')
|
|
173
|
-
.description('Scaffold top-level chrome documents (xhtml + js + css + ftl + jar.mn)');
|
|
174
|
-
const chromeDocCreate = chromeDoc
|
|
175
|
-
.command('create <name>')
|
|
176
|
-
.description('Scaffold a new top-level chrome document')
|
|
177
|
-
.option('--no-titlebar', 'Frameless overlay-style document (omits titlebar-buttonbox)')
|
|
178
|
-
.option('--browser-window', 'Emit the browser.xhtml-like main-window skeleton (<html id="main-window"> with windowtype/chromehidden/persist root attributes platform C++ reads before scripts run) for the document configured as the fork\'s main browser window; implies the titlebar markup')
|
|
179
|
-
.option('--with-tests', 'Scaffold an xpcshell packaging-verification test that probes XCurProcD/chrome/browser/... directly (bypasses the xpcshell chrome:// URI limitation).')
|
|
180
|
-
.option('--dry-run', 'Show the chrome-doc scaffold plan without writing');
|
|
181
|
-
addWaitLockOption(chromeDocCreate).action(withErrorHandling(async (name, options) => {
|
|
182
|
-
await furnaceChromeDocCreateCommand(getProjectRoot(), name, withFurnaceLockBudget(options));
|
|
183
|
-
}));
|
|
184
|
-
const chromeDocRemove = chromeDoc
|
|
185
|
-
.command('remove <name>')
|
|
186
|
-
.description('Remove a scaffolded top-level chrome document')
|
|
187
|
-
.option('-y, --yes', 'Skip confirmation')
|
|
188
|
-
.option('--dry-run', 'Show the chrome-doc removal plan without writing');
|
|
189
|
-
addWaitLockOption(chromeDocRemove).action(withErrorHandling(async (name, options) => {
|
|
190
|
-
await furnaceChromeDocRemoveCommand(getProjectRoot(), name, withFurnaceLockBudget(options));
|
|
191
|
-
}));
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Registers Furnace commands for authoring, inspection, and maintenance:
|
|
195
|
-
* override, list, remove, preview, validate, diff, refresh, and rename.
|
|
196
|
-
* @param furnace - Parent Furnace command
|
|
197
|
-
* @param context - Shared CLI registration context
|
|
198
|
-
*/
|
|
199
|
-
function registerFurnaceModifyCommands(furnace, context) {
|
|
200
|
-
const { getProjectRoot, withErrorHandling } = context;
|
|
201
|
-
const override = furnace
|
|
202
|
-
.command('override [names...]')
|
|
203
|
-
.description('Fork one or more existing components for modification')
|
|
204
|
-
.addOption(new Option('-t, --type <type>', 'Override type').choices(['css-only', 'full']))
|
|
205
|
-
.option('-d, --description <desc>', 'Description');
|
|
206
|
-
addWaitLockOption(override).action(withErrorHandling(async (names, rawOptions) => {
|
|
207
|
-
const options = withFurnaceLockBudget(rawOptions);
|
|
208
|
-
if (names.length <= 1) {
|
|
209
|
-
await furnaceOverrideCommand(getProjectRoot(), names[0], options);
|
|
210
|
-
}
|
|
211
|
-
else {
|
|
212
|
-
await furnaceBatchOverrideCommand(getProjectRoot(), names, options);
|
|
213
|
-
}
|
|
214
|
-
}));
|
|
215
|
-
furnace
|
|
216
|
-
.command('list')
|
|
217
|
-
.description('List all registered components')
|
|
218
|
-
.option('-v, --verbose', 'Show per-component health indicators (clean/modified/not applied)')
|
|
219
|
-
.action(withErrorHandling(async (options) => {
|
|
220
|
-
await furnaceListCommand(getProjectRoot(), options);
|
|
221
|
-
}));
|
|
222
|
-
const remove = furnace
|
|
223
|
-
.command('remove <name>')
|
|
224
|
-
.description('Remove a component from the workspace')
|
|
225
|
-
.option('-y, --yes', 'Skip confirmation');
|
|
226
|
-
addWaitLockOption(remove).action(withErrorHandling(async (name, options) => {
|
|
227
|
-
await furnaceRemoveCommand(getProjectRoot(), name, withFurnaceLockBudget(options));
|
|
228
|
-
}));
|
|
229
|
-
const preview = furnace
|
|
230
|
-
.command('preview')
|
|
231
|
-
.description('Start component preview (Storybook)')
|
|
232
|
-
.option('--install', 'Force reinstall Storybook dependencies');
|
|
233
|
-
addWaitLockOption(preview).action(withErrorHandling(async (options) => {
|
|
234
|
-
await furnacePreviewCommand(getProjectRoot(), withFurnaceLockBudget(options));
|
|
235
|
-
}));
|
|
236
|
-
furnace
|
|
237
|
-
.command('validate [name]')
|
|
238
|
-
.description('Run accessibility and compatibility checks')
|
|
239
|
-
.option('--fix', 'Auto-fix registration issues (missing jar.mn entries, customElements.js)')
|
|
240
|
-
.option('--json', 'Write the result as one JSON document (findings, excepted findings, stale exceptions, verdict) to stdout')
|
|
241
|
-
.option('--max-warnings <n>', 'Fail when more than <n> warnings remain after furnace.json validationExceptions (0 for a warning-clean gate)')
|
|
242
|
-
.action(withErrorHandling(async (name, options) => {
|
|
243
|
-
const { maxWarnings, ...rest } = options ?? {};
|
|
244
|
-
await furnaceValidateCommand(getProjectRoot(), name, pickDefined({ ...rest, maxWarnings: parseMaxWarnings(maxWarnings) }));
|
|
245
|
-
}));
|
|
246
|
-
furnace
|
|
247
|
-
.command('diff [name]')
|
|
248
|
-
.description('Show changes vs baseline (overrides: vs Firefox original, custom: vs engine). Shows all components when name is omitted.')
|
|
249
|
-
.action(withErrorHandling(async (name) => {
|
|
250
|
-
await furnaceDiffCommand(getProjectRoot(), name);
|
|
251
|
-
}));
|
|
252
|
-
const refresh = furnace
|
|
253
|
-
.command('refresh [name]')
|
|
254
|
-
.description('Merge upstream Firefox changes into overrides (three-way merge)')
|
|
255
|
-
.option('--dry-run', 'Show what would change without modifying files')
|
|
256
|
-
.option('-a, --all', 'Refresh all overrides in a single batch')
|
|
257
|
-
.addOption(new Option('-s, --strategy <strategy>', 'Auto-resolve conflicts (ours = keep local, theirs = accept upstream)').choices(['ours', 'theirs']))
|
|
258
|
-
.option('--reset-base', 'Reset baseline to current engine HEAD (skips three-way merge, recovers from missing baseCommit)');
|
|
259
|
-
addWaitLockOption(refresh).action(withErrorHandling(async (name, options) => {
|
|
260
|
-
await furnaceRefreshCommand(getProjectRoot(), name, withFurnaceLockBudget(options));
|
|
261
|
-
}));
|
|
262
|
-
const rename = furnace
|
|
263
|
-
.command('rename <old-name> <new-name>')
|
|
264
|
-
.description('Rename a component (updates files, config, and registrations)')
|
|
265
|
-
.option('--dry-run', 'Show the planned file moves, furnace.json change and engine registration edits without writing');
|
|
266
|
-
addWaitLockOption(rename).action(withErrorHandling(async (oldName, newName, options) => {
|
|
267
|
-
await furnaceRenameCommand(getProjectRoot(), oldName, newName, withFurnaceLockBudget(options));
|
|
268
|
-
}));
|
|
269
|
-
registerFurnaceSyncCommand(furnace, context);
|
|
270
|
-
}
|
|
271
|
-
/** Registers the furnace command on the CLI program. */
|
|
272
|
-
export function registerFurnace(program, context) {
|
|
273
|
-
const { getProjectRoot, withErrorHandling } = context;
|
|
274
|
-
const furnace = program
|
|
275
|
-
.command('furnace')
|
|
276
|
-
.description('Component management — create, override, apply, deploy, diff, validate, sync (run furnace --help for all subcommands)')
|
|
277
|
-
.action(withErrorHandling(async () => {
|
|
278
|
-
await furnaceStatusCommand(getProjectRoot());
|
|
279
|
-
}));
|
|
280
|
-
registerFurnaceInfoCommands(furnace, context);
|
|
281
|
-
registerFurnaceModifyCommands(furnace, context);
|
|
282
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Runs the furnace init command to create a default furnace.json with
|
|
3
|
-
* user-specified settings.
|
|
4
|
-
* @param projectRoot - Root directory of the project
|
|
5
|
-
* @param options - Init options
|
|
6
|
-
*/
|
|
7
|
-
export declare function furnaceInitCommand(projectRoot: string, options?: {
|
|
8
|
-
prefix?: string;
|
|
9
|
-
ftlBasePath?: string;
|
|
10
|
-
force?: boolean;
|
|
11
|
-
}): Promise<void>;
|
|
@@ -1,287 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { stat } from 'node:fs/promises';
|
|
3
|
-
import { basename, dirname, isAbsolute, join, posix } from 'node:path';
|
|
4
|
-
import { text } from '@clack/prompts';
|
|
5
|
-
import { getProjectPaths, loadConfig, loadRawConfigDocument, mutateConfig, validateConfig, withConfigFileLock, writeConfigDocument, } from '../../core/config.js';
|
|
6
|
-
import { stdioIsInteractive } from '../../core/destructive.js';
|
|
7
|
-
import { createDefaultFurnaceConfig, furnaceConfigExists, writeFurnaceConfig, } from '../../core/furnace-config.js';
|
|
8
|
-
import { DEFAULT_LICENSE } from '../../core/license-headers.js';
|
|
9
|
-
import { registerSharedCSS } from '../../core/register-shared-css.js';
|
|
10
|
-
import { getTokensCssPath } from '../../core/token-manager.js';
|
|
11
|
-
import { generateDefaultTokensCss } from '../../core/token-scaffold.js';
|
|
12
|
-
import { FurnaceError } from '../../errors/furnace.js';
|
|
13
|
-
import { getNodeErrorCode, toError } from '../../utils/errors.js';
|
|
14
|
-
import { ensureDir, pathExists, writeText } from '../../utils/fs.js';
|
|
15
|
-
import { cancel, info, intro, isCancel, note, outro, success, warn } from '../../utils/logger.js';
|
|
16
|
-
import { normalizePathSlashes } from '../../utils/paths.js';
|
|
17
|
-
/**
|
|
18
|
-
* File extensions that are definitely FTL resources (not locale
|
|
19
|
-
* directories). A value ending in one of these is almost certainly the
|
|
20
|
-
* result of the operator pointing at a single FTL file instead of the locale
|
|
21
|
-
* directory that contains it.
|
|
22
|
-
*
|
|
23
|
-
* `furnace init --ftl-base-path browser/<name>.ftl` otherwise produces a
|
|
24
|
-
* misleading success path: the subsequent `furnace create --localized`
|
|
25
|
-
* scaffolds an `.mjs` referencing `insertFTLIfNeeded("<name>.ftl")` while
|
|
26
|
-
* furnace.json has no component entry, leaving the scaffold orphaned.
|
|
27
|
-
* Rejecting file-shaped values up-front keeps the operator on the correct
|
|
28
|
-
* path before any partial state is written.
|
|
29
|
-
*/
|
|
30
|
-
const FTL_FILE_EXTENSIONS = new Set(['.ftl', '.properties', '.dtd']);
|
|
31
|
-
function hasFtlFileExtension(value) {
|
|
32
|
-
const lower = value.toLowerCase();
|
|
33
|
-
const dotIdx = lower.lastIndexOf('.');
|
|
34
|
-
const slashIdx = Math.max(lower.lastIndexOf('/'), lower.lastIndexOf('\\'));
|
|
35
|
-
if (dotIdx <= slashIdx)
|
|
36
|
-
return false; // No extension in the basename.
|
|
37
|
-
return FTL_FILE_EXTENSIONS.has(lower.slice(dotIdx));
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Validates an FTL base path before writing it to furnace.json.
|
|
41
|
-
* Rejects:
|
|
42
|
-
* - empty values and null bytes
|
|
43
|
-
* - absolute paths (POSIX or Windows-drive) that escape the engine
|
|
44
|
-
* - `..` segments that escape the engine
|
|
45
|
-
* - file-shaped values ending in `.ftl` / `.properties` / `.dtd`
|
|
46
|
-
* (these are locale resources, not directories, so the operator
|
|
47
|
-
* almost certainly meant to name the parent directory)
|
|
48
|
-
*
|
|
49
|
-
* When {@link engineDir} is provided and exists on disk, the resolved
|
|
50
|
-
* `engine/${value}` path is probed. If it exists but is not a
|
|
51
|
-
* directory, the same file-shape error fires. If it does not exist yet,
|
|
52
|
-
* a non-blocking warning is logged (a fresh project that has not
|
|
53
|
-
* `fireforge download`-ed yet is the legitimate pre-existence case).
|
|
54
|
-
*/
|
|
55
|
-
async function validateFtlBasePath(value, engineDir) {
|
|
56
|
-
if (value.length === 0) {
|
|
57
|
-
throw new FurnaceError('ftlBasePath must not be empty.');
|
|
58
|
-
}
|
|
59
|
-
if (value.includes('\0')) {
|
|
60
|
-
throw new FurnaceError('ftlBasePath must not contain null bytes.');
|
|
61
|
-
}
|
|
62
|
-
if (isAbsolute(value) || /^[a-zA-Z]:[\\/]/.test(value)) {
|
|
63
|
-
throw new FurnaceError(`ftlBasePath "${value}" must be a relative path inside the engine checkout, not absolute.`);
|
|
64
|
-
}
|
|
65
|
-
// Normalize with the POSIX rules regardless of host: `normalize` on Windows
|
|
66
|
-
// emits backslashes, so a `../`-prefix test against the platform `normalize`
|
|
67
|
-
// silently passes every traversal attempt there.
|
|
68
|
-
const normalized = posix.normalize(normalizePathSlashes(value));
|
|
69
|
-
if (normalized === '..' || normalized.startsWith('../')) {
|
|
70
|
-
throw new FurnaceError(`ftlBasePath "${value}" must not escape the engine checkout via parent-directory segments.`);
|
|
71
|
-
}
|
|
72
|
-
if (hasFtlFileExtension(value)) {
|
|
73
|
-
throw new FurnaceError(`ftlBasePath "${value}" looks like a file (basename "${basename(value)}" ends in .ftl/.properties/.dtd), but FireForge expects a locale directory such as toolkit/locales/en-US/toolkit/global or browser/locales/en-US/browser. Use the parent directory instead.`);
|
|
74
|
-
}
|
|
75
|
-
// Shape probe against the real filesystem when we have an engine
|
|
76
|
-
// directory to anchor against. The probe is best-effort: a missing
|
|
77
|
-
// engine directory or a not-yet-extracted locale tree is
|
|
78
|
-
// legitimate (an operator may `furnace init` before `fireforge
|
|
79
|
-
// download`), so we emit a warning rather than refusing.
|
|
80
|
-
if (engineDir) {
|
|
81
|
-
const resolved = join(engineDir, value);
|
|
82
|
-
try {
|
|
83
|
-
const stats = await stat(resolved);
|
|
84
|
-
if (!stats.isDirectory()) {
|
|
85
|
-
throw new FurnaceError(`ftlBasePath "${value}" resolves to a non-directory at ${resolved}. FireForge expects a locale directory (for example toolkit/locales/en-US/toolkit/global or browser/locales/en-US/browser).`);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
catch (error) {
|
|
89
|
-
// FurnaceError (from the `isDirectory()` branch above) is a real
|
|
90
|
-
// shape failure, so re-throw and let the operator see it.
|
|
91
|
-
if (error instanceof FurnaceError)
|
|
92
|
-
throw error;
|
|
93
|
-
// ENOENT is expected on a fresh project before `fireforge
|
|
94
|
-
// download` has populated engine/. Only warn.
|
|
95
|
-
const code = getNodeErrorCode(error);
|
|
96
|
-
if (code === 'ENOENT') {
|
|
97
|
-
warn(`ftlBasePath "${value}" does not yet exist at ${resolved}. This is fine if you have not run "fireforge download" yet; rerun "fireforge furnace init --force" after the engine is extracted to re-validate.`);
|
|
98
|
-
}
|
|
99
|
-
// Any other stat error is also ignored here as best-effort: a
|
|
100
|
-
// permission issue or malformed engine checkout will surface on
|
|
101
|
-
// the next command that actually reads the FTL tree.
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Runs the furnace init command to create a default furnace.json with
|
|
107
|
-
* user-specified settings.
|
|
108
|
-
* @param projectRoot - Root directory of the project
|
|
109
|
-
* @param options - Init options
|
|
110
|
-
*/
|
|
111
|
-
export async function furnaceInitCommand(projectRoot, options = {}) {
|
|
112
|
-
intro('Furnace Init');
|
|
113
|
-
if ((await furnaceConfigExists(projectRoot)) && !options.force) {
|
|
114
|
-
throw new FurnaceError('furnace.json already exists. Use --force to overwrite it.');
|
|
115
|
-
}
|
|
116
|
-
const paths = getProjectPaths(projectRoot);
|
|
117
|
-
// Seed the default furnace config with a tokenPrefix derived from
|
|
118
|
-
// fireforge.json's binaryName so `token coverage` sees real tokens on the
|
|
119
|
-
// very first run. Without the prefix default, a fresh init → token add →
|
|
120
|
-
// coverage sequence reports `0 tokens / N unknown` because the scan has
|
|
121
|
-
// nothing to key off. Loading fireforge.json here is best-effort: a
|
|
122
|
-
// project without one (mid-setup) falls through to the prefix-less
|
|
123
|
-
// default, and `token coverage` emits its existing "no tokenPrefix"
|
|
124
|
-
// warning.
|
|
125
|
-
let derivedBinaryName;
|
|
126
|
-
try {
|
|
127
|
-
const fireForgeConfig = await loadConfig(projectRoot);
|
|
128
|
-
derivedBinaryName = fireForgeConfig.binaryName;
|
|
129
|
-
}
|
|
130
|
-
catch {
|
|
131
|
-
// Best-effort only: initialising furnace without a fireforge.json is
|
|
132
|
-
// rare but not forbidden. Skip the prefix default in that case.
|
|
133
|
-
}
|
|
134
|
-
const config = createDefaultFurnaceConfig(derivedBinaryName ? { binaryName: derivedBinaryName } : {});
|
|
135
|
-
const isInteractive = stdioIsInteractive();
|
|
136
|
-
const engineForValidation = (await pathExists(paths.engine)) ? paths.engine : undefined;
|
|
137
|
-
// Resolve componentPrefix
|
|
138
|
-
if (options.prefix !== undefined) {
|
|
139
|
-
config.componentPrefix = options.prefix;
|
|
140
|
-
}
|
|
141
|
-
else if (isInteractive) {
|
|
142
|
-
const prefixResult = await text({
|
|
143
|
-
message: 'Component prefix (e.g. "moz-", "ff-")',
|
|
144
|
-
initialValue: config.componentPrefix,
|
|
145
|
-
validate: (value) => {
|
|
146
|
-
if (!value)
|
|
147
|
-
return 'Prefix is required';
|
|
148
|
-
return undefined;
|
|
149
|
-
},
|
|
150
|
-
});
|
|
151
|
-
if (isCancel(prefixResult)) {
|
|
152
|
-
cancel('Init cancelled');
|
|
153
|
-
return;
|
|
154
|
-
}
|
|
155
|
-
config.componentPrefix = prefixResult;
|
|
156
|
-
}
|
|
157
|
-
// Resolve ftlBasePath
|
|
158
|
-
if (options.ftlBasePath !== undefined) {
|
|
159
|
-
await validateFtlBasePath(options.ftlBasePath, engineForValidation);
|
|
160
|
-
config.ftlBasePath = options.ftlBasePath;
|
|
161
|
-
}
|
|
162
|
-
else if (isInteractive) {
|
|
163
|
-
const ftlResult = await text({
|
|
164
|
-
message: 'Fluent l10n base path (leave empty for default)',
|
|
165
|
-
placeholder: 'toolkit/locales/en-US/toolkit/global',
|
|
166
|
-
});
|
|
167
|
-
if (isCancel(ftlResult)) {
|
|
168
|
-
cancel('Init cancelled');
|
|
169
|
-
return;
|
|
170
|
-
}
|
|
171
|
-
const ftlValue = ftlResult.trim();
|
|
172
|
-
if (ftlValue) {
|
|
173
|
-
await validateFtlBasePath(ftlValue, engineForValidation);
|
|
174
|
-
config.ftlBasePath = ftlValue;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
await writeFurnaceConfig(projectRoot, config);
|
|
178
|
-
success('Created furnace.json');
|
|
179
|
-
const scaffoldResult = await scaffoldTokensCss(projectRoot);
|
|
180
|
-
const lines = [`Component prefix: ${config.componentPrefix}`];
|
|
181
|
-
if (config.ftlBasePath) {
|
|
182
|
-
lines.push(`FTL base path: ${config.ftlBasePath}`);
|
|
183
|
-
}
|
|
184
|
-
if (scaffoldResult.tokensCssPath) {
|
|
185
|
-
lines.push(`Tokens CSS: ${scaffoldResult.tokensCssPath}`);
|
|
186
|
-
}
|
|
187
|
-
note(lines.join('\n'), 'Configuration');
|
|
188
|
-
info('Next steps:\n' +
|
|
189
|
-
' fireforge furnace scan — discover engine components\n' +
|
|
190
|
-
' fireforge furnace create — create a new custom component\n' +
|
|
191
|
-
' fireforge furnace override — fork an existing component\n' +
|
|
192
|
-
' fireforge token add — define a token in the scaffolded tokens CSS\n' +
|
|
193
|
-
' fireforge export <tokens.css> — capture the tokens CSS + its registration in a patch');
|
|
194
|
-
outro('Init complete');
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Scaffolds the default tokens CSS file under the engine and registers
|
|
198
|
-
* its path in `fireforge.json`'s `patchLint.rawColorAllowlist`. Both
|
|
199
|
-
* operations are skipped silently when the engine directory does not
|
|
200
|
-
* yet exist (a fresh project that hasn't `fireforge download`ed yet).
|
|
201
|
-
* The scaffold is re-driven on the next `furnace init --force`.
|
|
202
|
-
*
|
|
203
|
-
* Returns the scaffolded path when the file was actually created, so
|
|
204
|
-
* the init command can surface it in the summary note.
|
|
205
|
-
*/
|
|
206
|
-
async function scaffoldTokensCss(projectRoot) {
|
|
207
|
-
const paths = getProjectPaths(projectRoot);
|
|
208
|
-
if (!(await pathExists(paths.engine))) {
|
|
209
|
-
info('Skipping tokens CSS scaffold: engine/ not found. Run "fireforge download" followed by "fireforge furnace init --force" to scaffold it.');
|
|
210
|
-
return {};
|
|
211
|
-
}
|
|
212
|
-
let forgeConfig;
|
|
213
|
-
try {
|
|
214
|
-
forgeConfig = await loadConfig(projectRoot);
|
|
215
|
-
}
|
|
216
|
-
catch (error) {
|
|
217
|
-
warn(`Skipping tokens CSS scaffold: fireforge.json could not be loaded (${toError(error).message}). Re-run "fireforge furnace init --force" after fixing the config.`);
|
|
218
|
-
return {};
|
|
219
|
-
}
|
|
220
|
-
const tokensCssPath = getTokensCssPath(forgeConfig.binaryName);
|
|
221
|
-
const tokensCssAbsPath = join(paths.engine, tokensCssPath);
|
|
222
|
-
if (!(await pathExists(tokensCssAbsPath))) {
|
|
223
|
-
try {
|
|
224
|
-
await ensureDir(dirname(tokensCssAbsPath));
|
|
225
|
-
await writeText(tokensCssAbsPath, generateDefaultTokensCss(forgeConfig.binaryName, forgeConfig.license ?? DEFAULT_LICENSE));
|
|
226
|
-
success(`Scaffolded tokens CSS at engine/${tokensCssPath}`);
|
|
227
|
-
}
|
|
228
|
-
catch (error) {
|
|
229
|
-
warn(`Could not scaffold tokens CSS at engine/${tokensCssPath}: ${toError(error).message}. Create the file manually before running "fireforge token add".`);
|
|
230
|
-
return {};
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
else {
|
|
234
|
-
info(`Tokens CSS already present at engine/${tokensCssPath}; leaving it untouched.`);
|
|
235
|
-
}
|
|
236
|
-
// Registering the tokens file in `patchLint.rawColorAllowlist` is the
|
|
237
|
-
// complement to the scaffold itself: the file exists specifically to carry
|
|
238
|
-
// raw color literals, and without the allowlist entry the first
|
|
239
|
-
// `fireforge lint` after a `token add` fails on raw-color-value issues for
|
|
240
|
-
// tokens the operator just created. The add is idempotent, so re-running
|
|
241
|
-
// `furnace init --force` does not duplicate the entry.
|
|
242
|
-
// The edit seeds from the raw document under the config lock, like
|
|
243
|
-
// `fireforge config`: a validated round-trip would drop keys written with
|
|
244
|
-
// `config --force`, and an unlocked one could lose a concurrent write.
|
|
245
|
-
try {
|
|
246
|
-
const existingAllowlist = forgeConfig.patchLint?.rawColorAllowlist ?? [];
|
|
247
|
-
if (!existingAllowlist.includes(tokensCssPath)) {
|
|
248
|
-
await withConfigFileLock(projectRoot, async () => {
|
|
249
|
-
const raw = await loadRawConfigDocument(projectRoot);
|
|
250
|
-
const current = validateConfig(raw).patchLint?.rawColorAllowlist ?? [];
|
|
251
|
-
if (current.includes(tokensCssPath))
|
|
252
|
-
return;
|
|
253
|
-
const updated = mutateConfig(raw, 'patchLint.rawColorAllowlist', [...current, tokensCssPath], true);
|
|
254
|
-
validateConfig(updated);
|
|
255
|
-
await writeConfigDocument(projectRoot, updated);
|
|
256
|
-
});
|
|
257
|
-
info(`Added ${tokensCssPath} to patchLint.rawColorAllowlist`);
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
catch (error) {
|
|
261
|
-
warn(`Could not register tokens CSS in patchLint.rawColorAllowlist: ${toError(error).message}. ` +
|
|
262
|
-
`Add "${tokensCssPath}" manually under patchLint.rawColorAllowlist in fireforge.json if lint flags its contents.`);
|
|
263
|
-
}
|
|
264
|
-
// Register the tokens CSS in browser/themes/shared/jar.inc.mn so the file
|
|
265
|
-
// is owned end-to-end by tooling. Scaffolding and allowlisting it without
|
|
266
|
-
// registering leaves the very next `fireforge status` correctly flagging
|
|
267
|
-
// it as unmanaged + unregistered while `furnace deploy --dry-run` reports
|
|
268
|
-
// nothing to deploy, a documented init command turning a clean project
|
|
269
|
-
// unclean. The CSS lives at the canonical
|
|
270
|
-
// `browser/themes/shared/<binaryName>-tokens.css` path the shared-CSS rule
|
|
271
|
-
// already targets, so it gets the same
|
|
272
|
-
// `skin/classic/browser/<name>.css (../shared/<name>.css)` entry as any
|
|
273
|
-
// other shared CSS. It is idempotent: `furnace init --force` against a
|
|
274
|
-
// registered tree is a no-op.
|
|
275
|
-
try {
|
|
276
|
-
const fileBase = `${forgeConfig.binaryName}-tokens.css`;
|
|
277
|
-
const result = await registerSharedCSS(paths.engine, fileBase, undefined, false);
|
|
278
|
-
if (!result.skipped) {
|
|
279
|
-
info(`Registered ${fileBase} in browser/themes/shared/jar.inc.mn`);
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
catch (error) {
|
|
283
|
-
warn(`Could not register tokens CSS in browser/themes/shared/jar.inc.mn: ${toError(error).message}. ` +
|
|
284
|
-
`Run "fireforge register browser/themes/shared/${forgeConfig.binaryName}-tokens.css" once jar.inc.mn is reachable.`);
|
|
285
|
-
}
|
|
286
|
-
return { tokensCssPath };
|
|
287
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Runs the furnace list command to display all registered components.
|
|
3
|
-
* @param projectRoot - Root directory of the project
|
|
4
|
-
* @param options - List options
|
|
5
|
-
*/
|
|
6
|
-
export declare function furnaceListCommand(projectRoot: string, options?: {
|
|
7
|
-
verbose?: boolean;
|
|
8
|
-
}): Promise<void>;
|