@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,400 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { readdir } from 'node:fs/promises';
|
|
3
|
-
import { join } from 'node:path';
|
|
4
|
-
import { getProjectPaths, loadConfig } from '../../core/config.js';
|
|
5
|
-
import { getFurnacePaths, loadFurnaceConfig, writeFurnaceConfig, } from '../../core/furnace-config.js';
|
|
6
|
-
import { isComponentSourceFile, resolveFtlDir, tagNameToClassName, } from '../../core/furnace-constants.js';
|
|
7
|
-
import { completeJournalRollback, runFurnaceMutation, waitLockMutationOptions, } from '../../core/furnace-operation.js';
|
|
8
|
-
import { CUSTOM_ELEMENT_TAG_PATTERN, CUSTOM_ELEMENT_TAG_RULES, } from '../../core/furnace-registration-validate.js';
|
|
9
|
-
import { createRollbackJournal, recordCreatedDir, snapshotDir, snapshotFile, } from '../../core/furnace-rollback.js';
|
|
10
|
-
import { getStoriesDir } from '../../core/furnace-stories.js';
|
|
11
|
-
import { InvalidArgumentError } from '../../errors/base.js';
|
|
12
|
-
import { FurnaceError } from '../../errors/furnace.js';
|
|
13
|
-
import { toError } from '../../utils/errors.js';
|
|
14
|
-
import { copyFile, ensureDir, pathExists, readText, removeDir, removeFile, writeText, } from '../../utils/fs.js';
|
|
15
|
-
import { info, intro, note, outro, warn } from '../../utils/logger.js';
|
|
16
|
-
import { escapeRegex } from '../../utils/regex.js';
|
|
17
|
-
import { updateBrowserChromeTestContent } from './rename-browser-test.js';
|
|
18
|
-
import { renderRenamePlan } from './rename-dry-run.js';
|
|
19
|
-
import { rekeyStateChecksums, renameComponentFileName, updateConfigForCustomRename, updateConfigForOverrideRename, } from './rename-helpers.js';
|
|
20
|
-
import { loadMarkerComment, updateEngineRegistrations } from './rename-registrations.js';
|
|
21
|
-
import { renameXpcshellTestFiles } from './rename-xpcshell.js';
|
|
22
|
-
import { browserTestFileName } from './test-file-name.js';
|
|
23
|
-
/**
|
|
24
|
-
* Renames test files created by `furnace create --with-tests` in the engine
|
|
25
|
-
* test directory. Best-effort: failures are logged as warnings but do not
|
|
26
|
-
* block the rename.
|
|
27
|
-
*/
|
|
28
|
-
async function renameTestFiles(engineDir, projectRoot, oldName, newName, journal) {
|
|
29
|
-
let forgeConfig;
|
|
30
|
-
try {
|
|
31
|
-
forgeConfig = await loadConfig(projectRoot);
|
|
32
|
-
}
|
|
33
|
-
catch {
|
|
34
|
-
return; // Cannot determine test paths without config.
|
|
35
|
-
}
|
|
36
|
-
const binaryName = forgeConfig.binaryName;
|
|
37
|
-
const oldTestFileName = browserTestFileName(oldName, binaryName);
|
|
38
|
-
const newTestFileName = browserTestFileName(newName, binaryName);
|
|
39
|
-
const testDir = join(engineDir, 'browser/base/content/test', binaryName);
|
|
40
|
-
if (!(await pathExists(testDir)))
|
|
41
|
-
return;
|
|
42
|
-
// Rename the test JS file
|
|
43
|
-
const oldTestPath = join(testDir, oldTestFileName);
|
|
44
|
-
const newTestPath = join(testDir, newTestFileName);
|
|
45
|
-
if (await pathExists(oldTestPath)) {
|
|
46
|
-
try {
|
|
47
|
-
await snapshotFile(journal, oldTestPath);
|
|
48
|
-
await snapshotFile(journal, newTestPath);
|
|
49
|
-
const content = await readText(oldTestPath);
|
|
50
|
-
await writeText(newTestPath, updateBrowserChromeTestContent(content, oldName, newName, binaryName));
|
|
51
|
-
await removeFile(oldTestPath);
|
|
52
|
-
info(`Renamed test file: ${oldTestFileName} → ${newTestFileName}`);
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
warn(`Could not rename test file — ${toError(error).message}. Rename it manually if needed.`);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
// Update browser.toml entry
|
|
59
|
-
const tomlPath = join(testDir, 'browser.toml');
|
|
60
|
-
if (await pathExists(tomlPath)) {
|
|
61
|
-
try {
|
|
62
|
-
const toml = await readText(tomlPath);
|
|
63
|
-
if (toml.includes(`["${oldTestFileName}"]`)) {
|
|
64
|
-
await snapshotFile(journal, tomlPath);
|
|
65
|
-
const updated = toml.replace(`["${oldTestFileName}"]`, `["${newTestFileName}"]`);
|
|
66
|
-
await writeText(tomlPath, updated);
|
|
67
|
-
info(`Updated browser.toml: ${oldTestFileName} → ${newTestFileName}`);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
catch (error) {
|
|
71
|
-
warn(`Could not update browser.toml — ${toError(error).message}. Update it manually if needed.`);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Removes the deployed custom-widget directory at the old target path so a
|
|
77
|
-
* subsequent `furnace apply` is the single writer of the new name's
|
|
78
|
-
* deployment. Best-effort: logs a warning but never blocks the rename.
|
|
79
|
-
*
|
|
80
|
-
* Without it, a rename registers and deploys the new name correctly but
|
|
81
|
-
* leaves `engine/toolkit/content/widgets/<old>/` in place: subsequent
|
|
82
|
-
* `furnace sync` runs cannot clear the stale widget, and packaging pulls in
|
|
83
|
-
* both copies. The snapshot is taken before the remove so the rollback
|
|
84
|
-
* journal restores the old directory if any later step in
|
|
85
|
-
* `performRenameMutations` fails.
|
|
86
|
-
*/
|
|
87
|
-
async function removeStaleDeployedComponentDir(engineDir, oldTargetPath, journal) {
|
|
88
|
-
const oldDeployed = join(engineDir, oldTargetPath);
|
|
89
|
-
if (!(await pathExists(oldDeployed)))
|
|
90
|
-
return;
|
|
91
|
-
try {
|
|
92
|
-
await snapshotDir(journal, oldDeployed);
|
|
93
|
-
await removeDir(oldDeployed);
|
|
94
|
-
info(`Removed stale deployed widget directory: ${oldTargetPath}`);
|
|
95
|
-
}
|
|
96
|
-
catch (error) {
|
|
97
|
-
warn(`Could not remove stale deployed widget directory at ${oldTargetPath}: ${toError(error).message}. Remove it manually if needed.`);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Renames the mochikit test scaffold produced by `furnace create
|
|
102
|
-
* --with-tests` when the default test style is used. The scaffold lives at
|
|
103
|
-
* `engine/toolkit/content/tests/widgets/test_<name>.html`, and the
|
|
104
|
-
* accompanying `chrome.toml` entry names the same file. Leaving both
|
|
105
|
-
* unhandled produces a `test_<old>.html` that still imports
|
|
106
|
-
* `chrome://global/content/elements/<old>.mjs` and references
|
|
107
|
-
* `customElements.whenDefined("<old>")`, running against a component that
|
|
108
|
-
* no longer exists under that name, and either failing or (if the old
|
|
109
|
-
* component is still deployed) passing for the wrong reason.
|
|
110
|
-
*
|
|
111
|
-
* Best-effort: individual failures log a warning. The same journal used for
|
|
112
|
-
* the rest of the rename snapshots every touched file so a later failure
|
|
113
|
-
* rolls the pair back together.
|
|
114
|
-
*/
|
|
115
|
-
async function renameMochikitTestFiles(engineDir, oldName, newName, journal) {
|
|
116
|
-
const testDir = join(engineDir, 'toolkit/content/tests/widgets');
|
|
117
|
-
if (!(await pathExists(testDir)))
|
|
118
|
-
return;
|
|
119
|
-
const oldTestFileName = `test_${oldName}.html`;
|
|
120
|
-
const newTestFileName = `test_${newName}.html`;
|
|
121
|
-
const oldTestPath = join(testDir, oldTestFileName);
|
|
122
|
-
const newTestPath = join(testDir, newTestFileName);
|
|
123
|
-
if (await pathExists(oldTestPath)) {
|
|
124
|
-
try {
|
|
125
|
-
await snapshotFile(journal, oldTestPath);
|
|
126
|
-
const content = await readText(oldTestPath);
|
|
127
|
-
const updatedContent = content
|
|
128
|
-
.replace(new RegExp(`chrome://global/content/elements/${escapeRegex(oldName)}\\.mjs`, 'g'), `chrome://global/content/elements/${newName}.mjs`)
|
|
129
|
-
.replace(new RegExp(`customElements\\.whenDefined\\("${escapeRegex(oldName)}"\\)`, 'g'), `customElements.whenDefined("${newName}")`)
|
|
130
|
-
.replace(new RegExp(`Test the ${escapeRegex(oldName)} `, 'g'), `Test the ${newName} `)
|
|
131
|
-
.replace(new RegExp(`add_task\\(async function test_${escapeRegex(oldName.replace(/-/g, '_'))}_defined\\(`, 'g'), `add_task(async function test_${newName.replace(/-/g, '_')}_defined(`)
|
|
132
|
-
.replace(new RegExp(`"${escapeRegex(oldName)} custom element`, 'g'), `"${newName} custom element`);
|
|
133
|
-
await snapshotFile(journal, newTestPath);
|
|
134
|
-
await writeText(newTestPath, updatedContent);
|
|
135
|
-
await removeFile(oldTestPath);
|
|
136
|
-
info(`Renamed mochikit test: ${oldTestFileName} → ${newTestFileName}`);
|
|
137
|
-
}
|
|
138
|
-
catch (error) {
|
|
139
|
-
warn(`Could not rename mochikit test file — ${toError(error).message}. Rename it manually if needed.`);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
// Update `chrome.toml` entry if present. The file may live in the
|
|
143
|
-
// same widgets/tests directory as the test file itself. Upstream
|
|
144
|
-
// convention places exactly one `chrome.toml` there for all widget
|
|
145
|
-
// scaffolds.
|
|
146
|
-
const chromeTomlPath = join(testDir, 'chrome.toml');
|
|
147
|
-
if (await pathExists(chromeTomlPath)) {
|
|
148
|
-
try {
|
|
149
|
-
const toml = await readText(chromeTomlPath);
|
|
150
|
-
if (toml.includes(`["${oldTestFileName}"]`)) {
|
|
151
|
-
await snapshotFile(journal, chromeTomlPath);
|
|
152
|
-
const updated = toml.replace(`["${oldTestFileName}"]`, `["${newTestFileName}"]`);
|
|
153
|
-
await writeText(chromeTomlPath, updated);
|
|
154
|
-
info(`Updated chrome.toml: ${oldTestFileName} → ${newTestFileName}`);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
catch (error) {
|
|
158
|
-
warn(`Could not update widgets chrome.toml — ${toError(error).message}. Update it manually if needed.`);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Performs the transactional rename mutation inside a furnace lock.
|
|
164
|
-
*/
|
|
165
|
-
async function performRenameMutations(args) {
|
|
166
|
-
const { projectRoot, oldName, newName } = args;
|
|
167
|
-
const oldClassName = tagNameToClassName(oldName);
|
|
168
|
-
const newClassName = tagNameToClassName(newName);
|
|
169
|
-
const mutate = async (ctx) => {
|
|
170
|
-
const journal = createRollbackJournal();
|
|
171
|
-
ctx.registerJournal(journal);
|
|
172
|
-
let newDir = args.newDir;
|
|
173
|
-
try {
|
|
174
|
-
const config = await loadFurnaceConfig(projectRoot);
|
|
175
|
-
const isCustom = oldName in config.custom;
|
|
176
|
-
const isOverride = oldName in config.overrides;
|
|
177
|
-
if (!isCustom && !isOverride) {
|
|
178
|
-
throw new FurnaceError(`Component "${oldName}" not found in furnace.json. Only custom and override components can be renamed.`, oldName);
|
|
179
|
-
}
|
|
180
|
-
if (newName in config.custom ||
|
|
181
|
-
newName in config.overrides ||
|
|
182
|
-
config.stock.includes(newName)) {
|
|
183
|
-
throw new FurnaceError(`A component named "${newName}" already exists in furnace.json.`, newName);
|
|
184
|
-
}
|
|
185
|
-
const componentType = isCustom ? 'custom' : 'override';
|
|
186
|
-
const componentDirLabel = isCustom ? 'custom' : 'overrides';
|
|
187
|
-
const baseDir = isCustom ? args.furnacePaths.customDir : args.furnacePaths.overridesDir;
|
|
188
|
-
const oldDir = join(baseDir, oldName);
|
|
189
|
-
newDir = join(baseDir, newName);
|
|
190
|
-
const oldCustomTargetPath = isCustom ? config.custom[oldName]?.targetPath : undefined;
|
|
191
|
-
if (!(await pathExists(oldDir))) {
|
|
192
|
-
throw new FurnaceError(`Component directory not found: components/${componentDirLabel}/${oldName}`, oldName);
|
|
193
|
-
}
|
|
194
|
-
if (await pathExists(newDir)) {
|
|
195
|
-
throw new FurnaceError(`Target directory already exists: components/${componentDirLabel}/${newName}`, newName);
|
|
196
|
-
}
|
|
197
|
-
await snapshotDir(journal, oldDir);
|
|
198
|
-
await snapshotFile(journal, args.furnaceConfigPath);
|
|
199
|
-
// Journal the state file before step 4 re-keys its checksums, plus
|
|
200
|
-
// the new dir and every new-name destination below (a snapshot of a
|
|
201
|
-
// missing path records {existed: false}, so rollback deletes it).
|
|
202
|
-
// Without these, a failed or SIGINT'd rename stranded the new-name
|
|
203
|
-
// scaffold and kept re-keyed state for a nonexistent component.
|
|
204
|
-
await snapshotFile(journal, getFurnacePaths(projectRoot).furnaceState);
|
|
205
|
-
// 1. Create new directory with renamed files and updated content
|
|
206
|
-
recordCreatedDir(journal, newDir);
|
|
207
|
-
await ensureDir(newDir);
|
|
208
|
-
const entries = await readdir(oldDir, { withFileTypes: true });
|
|
209
|
-
for (const entry of entries) {
|
|
210
|
-
if (!entry.isFile())
|
|
211
|
-
continue;
|
|
212
|
-
const oldFileName = entry.name;
|
|
213
|
-
// Rename only when the filename starts with the component name. The
|
|
214
|
-
// scaffolding convention for both create and override is
|
|
215
|
-
// `${name}.ext`. A plain `replace(oldName, newName)` produces wrong
|
|
216
|
-
// results when the old name occurs more than once (`foo-foo.mjs`
|
|
217
|
-
// renamed `foo` → `bar` becomes `bar-foo.mjs` instead of
|
|
218
|
-
// `bar-bar.mjs`) and when the old name appears inside a file that is
|
|
219
|
-
// not the component scaffold itself. Unrelated files (stray assets,
|
|
220
|
-
// editor backups) are copied verbatim.
|
|
221
|
-
const newFileName = renameComponentFileName(oldFileName, oldName, newName);
|
|
222
|
-
const oldPath = join(oldDir, oldFileName);
|
|
223
|
-
const newPath = join(newDir, newFileName);
|
|
224
|
-
await snapshotFile(journal, newPath);
|
|
225
|
-
if (isComponentSourceFile(oldFileName)) {
|
|
226
|
-
let content = await readText(oldPath);
|
|
227
|
-
// Use word-boundary-aware patterns so substrings in other
|
|
228
|
-
// identifiers (e.g. "moz-panel" inside "moz-panel-group") are
|
|
229
|
-
// not replaced.
|
|
230
|
-
const tagPattern = new RegExp(`(?<![\\w-])${escapeRegex(oldName)}(?![\\w-])`, 'g');
|
|
231
|
-
const classPattern = new RegExp(`\\b${escapeRegex(oldClassName)}\\b`, 'g');
|
|
232
|
-
content = content.replace(tagPattern, newName);
|
|
233
|
-
content = content.replace(classPattern, newClassName);
|
|
234
|
-
await writeText(newPath, content);
|
|
235
|
-
}
|
|
236
|
-
else {
|
|
237
|
-
await copyFile(oldPath, newPath);
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
// 2. Update furnace.json
|
|
241
|
-
if (isCustom) {
|
|
242
|
-
updateConfigForCustomRename(config, oldName, newName);
|
|
243
|
-
}
|
|
244
|
-
else {
|
|
245
|
-
updateConfigForOverrideRename(config, oldName, newName);
|
|
246
|
-
}
|
|
247
|
-
await writeFurnaceConfig(projectRoot, config);
|
|
248
|
-
// 3. Update engine registrations (custom components only)
|
|
249
|
-
const newConfig = config.custom[newName];
|
|
250
|
-
if (isCustom && newConfig?.register && (await pathExists(args.engineDir))) {
|
|
251
|
-
await updateEngineRegistrations({
|
|
252
|
-
engineDir: args.engineDir,
|
|
253
|
-
oldName,
|
|
254
|
-
newName,
|
|
255
|
-
newDir,
|
|
256
|
-
ftlDir: resolveFtlDir(config.ftlBasePath),
|
|
257
|
-
componentConfig: newConfig,
|
|
258
|
-
markerComment: await loadMarkerComment(projectRoot),
|
|
259
|
-
journal,
|
|
260
|
-
});
|
|
261
|
-
}
|
|
262
|
-
// 4. Re-key furnace-state.json checksums from old name to new name
|
|
263
|
-
await rekeyStateChecksums(args.projectRoot, componentType, oldName, newName);
|
|
264
|
-
// 5. Remove old directory
|
|
265
|
-
await removeDir(oldDir);
|
|
266
|
-
// 6. Clean up stale Storybook story file for the old name (if it exists
|
|
267
|
-
// from a previous `furnace preview` session). The next preview will
|
|
268
|
-
// regenerate the story under the new name via `syncStories`.
|
|
269
|
-
const oldStoryPath = join(getStoriesDir(args.engineDir), 'furnace', `${oldName}.stories.mjs`);
|
|
270
|
-
if (await pathExists(oldStoryPath)) {
|
|
271
|
-
await snapshotFile(journal, oldStoryPath);
|
|
272
|
-
await removeFile(oldStoryPath);
|
|
273
|
-
info(`Deleted stale story file: ${oldName}.stories.mjs`);
|
|
274
|
-
}
|
|
275
|
-
// 7. Rename test files created by `furnace create --with-tests` (custom only).
|
|
276
|
-
if (isCustom && (await pathExists(args.engineDir))) {
|
|
277
|
-
await renameTestFiles(args.engineDir, projectRoot, oldName, newName, journal);
|
|
278
|
-
// The mochikit scaffold and widgets/chrome.toml live in a different
|
|
279
|
-
// tree than browser.toml-registered browser-chrome tests, so
|
|
280
|
-
// renameTestFiles does not reach them, leaving
|
|
281
|
-
// `engine/toolkit/content/tests/widgets/test_<old>.html` and its
|
|
282
|
-
// `chrome.toml` entry pointing at the old name, which either fails
|
|
283
|
-
// the test run outright or passes for the wrong component.
|
|
284
|
-
await renameMochikitTestFiles(args.engineDir, oldName, newName, journal);
|
|
285
|
-
// xpcshell scaffolds live in yet another tree
|
|
286
|
-
// (`browser/base/content/test/<binary>-xpcshell/<name>/`). Without
|
|
287
|
-
// this call, renaming a component scaffolded with
|
|
288
|
-
// `--with-tests --xpcshell` leaves a directory whose name still
|
|
289
|
-
// references the pre-rename component, plus a test file whose
|
|
290
|
-
// underscored name references the old tag.
|
|
291
|
-
await renameXpcshellTestFiles(args.engineDir, projectRoot, oldName, newName, journal);
|
|
292
|
-
// Clear the stale deployed component directory so the next
|
|
293
|
-
// `furnace apply` is the single writer of the new name's deployment.
|
|
294
|
-
// Without it the old widget stays at
|
|
295
|
-
// `engine/toolkit/content/widgets/<old>/` alongside the
|
|
296
|
-
// newly-deployed `<new>/`, with no signal to `status` / `verify`.
|
|
297
|
-
if (oldCustomTargetPath) {
|
|
298
|
-
await removeStaleDeployedComponentDir(args.engineDir, oldCustomTargetPath, journal);
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
info(`Renamed ${componentType} component: ${oldName} → ${newName}`);
|
|
302
|
-
}
|
|
303
|
-
catch (error) {
|
|
304
|
-
// Extra best-effort step this site owns: the half-created new
|
|
305
|
-
// directory is not in the journal, so drop it before the shared
|
|
306
|
-
// restore puts the old one back.
|
|
307
|
-
try {
|
|
308
|
-
if (await pathExists(newDir)) {
|
|
309
|
-
await removeDir(newDir);
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
catch {
|
|
313
|
-
// Best effort cleanup
|
|
314
|
-
}
|
|
315
|
-
return await completeJournalRollback(ctx, journal, error, {
|
|
316
|
-
projectRoot,
|
|
317
|
-
operation: 'rename-rollback',
|
|
318
|
-
failureMessage: `Failed to rename component "${oldName}" to "${newName}"`,
|
|
319
|
-
subject: `rename "${oldName}" → "${newName}"`,
|
|
320
|
-
});
|
|
321
|
-
}
|
|
322
|
-
};
|
|
323
|
-
await runFurnaceMutation(projectRoot, 'rename-rollback', mutate, waitLockMutationOptions(args.waitLockSeconds));
|
|
324
|
-
}
|
|
325
|
-
/**
|
|
326
|
-
* Renames a custom or override component atomically: updates directory name,
|
|
327
|
-
* file names, file contents, furnace.json, and engine registrations.
|
|
328
|
-
*/
|
|
329
|
-
export async function furnaceRenameCommand(projectRoot, oldName, newName, options = {}) {
|
|
330
|
-
intro(options.dryRun ? 'Furnace Rename (dry run)' : 'Furnace Rename');
|
|
331
|
-
if (!CUSTOM_ELEMENT_TAG_PATTERN.test(oldName)) {
|
|
332
|
-
throw new InvalidArgumentError(`Invalid source name "${oldName}": ${CUSTOM_ELEMENT_TAG_RULES}`, 'old-name');
|
|
333
|
-
}
|
|
334
|
-
if (!CUSTOM_ELEMENT_TAG_PATTERN.test(newName)) {
|
|
335
|
-
throw new InvalidArgumentError(`Invalid target name "${newName}": ${CUSTOM_ELEMENT_TAG_RULES}`, 'new-name');
|
|
336
|
-
}
|
|
337
|
-
if (oldName === newName) {
|
|
338
|
-
throw new InvalidArgumentError('Source and target names are identical.', 'new-name');
|
|
339
|
-
}
|
|
340
|
-
const config = await loadFurnaceConfig(projectRoot);
|
|
341
|
-
const furnacePaths = getFurnacePaths(projectRoot);
|
|
342
|
-
const paths = getProjectPaths(projectRoot);
|
|
343
|
-
const isCustom = oldName in config.custom;
|
|
344
|
-
const isOverride = oldName in config.overrides;
|
|
345
|
-
if (!isCustom && !isOverride) {
|
|
346
|
-
throw new FurnaceError(`Component "${oldName}" not found in furnace.json. Only custom and override components can be renamed.`, oldName);
|
|
347
|
-
}
|
|
348
|
-
if (newName in config.custom || newName in config.overrides || config.stock.includes(newName)) {
|
|
349
|
-
throw new FurnaceError(`A component named "${newName}" already exists in furnace.json.`, newName);
|
|
350
|
-
}
|
|
351
|
-
// The furnace-state key is singular (`custom` / `override`, derived
|
|
352
|
-
// inside performRenameMutations). The on-disk directory label differs.
|
|
353
|
-
// Custom components live under `components/custom/` (singular) while
|
|
354
|
-
// overrides live under `components/overrides/` (plural). Appending an
|
|
355
|
-
// `s` to the state key produces the wrong label `components/customs/`
|
|
356
|
-
// for custom components and is correct for overrides only by
|
|
357
|
-
// coincidence. `componentDirLabel` centralises the pick so every
|
|
358
|
-
// operator-facing string names the directory that actually exists on
|
|
359
|
-
// disk.
|
|
360
|
-
const componentDirLabel = isCustom ? 'custom' : 'overrides';
|
|
361
|
-
const baseDir = isCustom ? furnacePaths.customDir : furnacePaths.overridesDir;
|
|
362
|
-
const oldDir = join(baseDir, oldName);
|
|
363
|
-
const newDir = join(baseDir, newName);
|
|
364
|
-
if (!(await pathExists(oldDir))) {
|
|
365
|
-
throw new FurnaceError(`Component directory not found: components/${componentDirLabel}/${oldName}`, oldName);
|
|
366
|
-
}
|
|
367
|
-
if (await pathExists(newDir)) {
|
|
368
|
-
throw new FurnaceError(`Target directory already exists: components/${componentDirLabel}/${newName}`, newName);
|
|
369
|
-
}
|
|
370
|
-
if (options.dryRun) {
|
|
371
|
-
note(await renderRenamePlan({
|
|
372
|
-
config,
|
|
373
|
-
oldName,
|
|
374
|
-
newName,
|
|
375
|
-
oldDir,
|
|
376
|
-
componentDirLabel,
|
|
377
|
-
engineDir: paths.engine,
|
|
378
|
-
markerComment: await loadMarkerComment(projectRoot),
|
|
379
|
-
}), `${oldName} → ${newName}`);
|
|
380
|
-
outro('Dry run complete (no files modified)');
|
|
381
|
-
return;
|
|
382
|
-
}
|
|
383
|
-
await performRenameMutations({
|
|
384
|
-
projectRoot,
|
|
385
|
-
oldName,
|
|
386
|
-
newName,
|
|
387
|
-
newDir,
|
|
388
|
-
furnaceConfigPath: furnacePaths.furnaceConfig,
|
|
389
|
-
furnacePaths,
|
|
390
|
-
engineDir: paths.engine,
|
|
391
|
-
waitLockSeconds: options.waitLockSeconds,
|
|
392
|
-
});
|
|
393
|
-
note(`Component renamed: ${oldName} → ${newName}\n\n` +
|
|
394
|
-
`Directory: components/${componentDirLabel}/${newName}/\n\n` +
|
|
395
|
-
'Next steps:\n' +
|
|
396
|
-
' 1. Review the renamed files for any remaining references\n' +
|
|
397
|
-
' 2. Run "fireforge furnace validate" to verify\n' +
|
|
398
|
-
' 3. Run "fireforge furnace apply" to update the engine', newName);
|
|
399
|
-
outro('Rename complete');
|
|
400
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { FurnaceLockWaitable } from '../../types/commands/index.js';
|
|
2
|
-
/** Options for `furnace scan`. */
|
|
3
|
-
export interface FurnaceScanOptions extends FurnaceLockWaitable {
|
|
4
|
-
/** Search additional Firefox directories beyond the default widgets path. */
|
|
5
|
-
deep?: boolean;
|
|
6
|
-
/** Persist every untracked component into furnace.json's stock section. */
|
|
7
|
-
track?: boolean;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Runs the furnace scan command to discover MozLitElement components.
|
|
11
|
-
* @param projectRoot - Root directory of the project
|
|
12
|
-
* @param options - Scan options
|
|
13
|
-
*/
|
|
14
|
-
export declare function furnaceScanCommand(projectRoot: string, options?: FurnaceScanOptions): Promise<void>;
|
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { confirm, multiselect, select } from '@clack/prompts';
|
|
3
|
-
import { stdioIsInteractive } from '../../core/destructive.js';
|
|
4
|
-
import { ensureFurnaceConfig, furnaceConfigExists, getFurnacePaths, loadFurnaceConfig, writeFurnaceConfig, } from '../../core/furnace-config.js';
|
|
5
|
-
import { completeJournalRollback, runFurnaceMutation, waitLockMutationOptions, } from '../../core/furnace-operation.js';
|
|
6
|
-
import { assertFurnaceEngineReady } from '../../core/furnace-precondition.js';
|
|
7
|
-
import { createRollbackJournal, snapshotFile } from '../../core/furnace-rollback.js';
|
|
8
|
-
import { DEEP_SCAN_PATHS, scanWidgetsDirectory } from '../../core/furnace-scanner.js';
|
|
9
|
-
import { cancel, info, intro, isCancel, note, outro, spinner, success, } from '../../utils/logger.js';
|
|
10
|
-
import { furnaceOverrideCommand } from './override.js';
|
|
11
|
-
/**
|
|
12
|
-
* Prompts the user to add newly discovered stock components to furnace.json.
|
|
13
|
-
* @param components - Components discovered in the engine scan
|
|
14
|
-
* @param tracked - Existing Furnace tracking map keyed by tag name
|
|
15
|
-
* @param projectRoot - Root directory of the project
|
|
16
|
-
* @param waitLockSeconds - Resolved `--wait-lock` budget for the furnace lock
|
|
17
|
-
*/
|
|
18
|
-
async function promptAddComponents(components, tracked, projectRoot, waitLockSeconds) {
|
|
19
|
-
const untrackedComponents = components.filter((c) => !tracked.has(c.tagName));
|
|
20
|
-
const shouldAdd = await confirm({ message: 'Add components to furnace.json?' });
|
|
21
|
-
if (isCancel(shouldAdd) || !shouldAdd) {
|
|
22
|
-
if (isCancel(shouldAdd)) {
|
|
23
|
-
cancel('Cancelled');
|
|
24
|
-
}
|
|
25
|
-
outro('Scan complete');
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
const selected = await multiselect({
|
|
29
|
-
message: 'Select components to add as stock',
|
|
30
|
-
options: untrackedComponents.map((c) => ({
|
|
31
|
-
value: c.tagName,
|
|
32
|
-
label: `${c.tagName}${formatComponentFeatures(c)}`,
|
|
33
|
-
})),
|
|
34
|
-
});
|
|
35
|
-
if (isCancel(selected)) {
|
|
36
|
-
cancel('Cancelled');
|
|
37
|
-
outro('Scan complete');
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
await persistStockComponents(projectRoot, selected, waitLockSeconds);
|
|
41
|
-
const addedNames = selected;
|
|
42
|
-
success(`Added ${addedNames.length} component${addedNames.length === 1 ? '' : 's'} to furnace.json`);
|
|
43
|
-
// Offer to immediately override one of the just-added stock components.
|
|
44
|
-
const shouldOverride = await confirm({
|
|
45
|
-
message: 'Override any of the newly added components?',
|
|
46
|
-
});
|
|
47
|
-
if (isCancel(shouldOverride) || !shouldOverride) {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
const overrideTarget = await select({
|
|
51
|
-
message: 'Select a component to override',
|
|
52
|
-
options: addedNames.map((name) => ({ value: name, label: name })),
|
|
53
|
-
});
|
|
54
|
-
if (isCancel(overrideTarget)) {
|
|
55
|
-
cancel('Cancelled');
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
await furnaceOverrideCommand(projectRoot, overrideTarget, waitLockSeconds !== undefined ? { waitLockSeconds } : {});
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Persists discovered component tag names into the `stock` section of
|
|
62
|
-
* furnace.json. Shared by the interactive confirm flow and the
|
|
63
|
-
* non-interactive `--track` flag. Without it, scan prints a full inventory
|
|
64
|
-
* but persists nothing and says nothing about where the inventory goes.
|
|
65
|
-
*
|
|
66
|
-
* Wraps the furnace.json mutation in the standard furnace lifecycle so the
|
|
67
|
-
* write goes through the furnace-wide lock and is visible to the global
|
|
68
|
-
* SIGINT/SIGTERM rollback pathway. The journal snapshots furnace.json
|
|
69
|
-
* *before* `ensureFurnaceConfig` runs, so a failed run after the file is
|
|
70
|
-
* auto-created cleans up after itself instead of leaving an unwanted default
|
|
71
|
-
* config behind.
|
|
72
|
-
*/
|
|
73
|
-
async function persistStockComponents(projectRoot, names, waitLockSeconds) {
|
|
74
|
-
const mutate = async (ctx) => {
|
|
75
|
-
const journal = createRollbackJournal();
|
|
76
|
-
ctx.registerJournal(journal);
|
|
77
|
-
const furnacePaths = getFurnacePaths(projectRoot);
|
|
78
|
-
await snapshotFile(journal, furnacePaths.furnaceConfig);
|
|
79
|
-
try {
|
|
80
|
-
const config = await ensureFurnaceConfig(projectRoot);
|
|
81
|
-
// Defensive: callers already filter to untracked components. This
|
|
82
|
-
// re-filter catches the edge case where the config on disk changed
|
|
83
|
-
// between the scan's read and the write (concurrent scan / manual
|
|
84
|
-
// edit). Without it a duplicate scan would introduce duplicate
|
|
85
|
-
// entries into stock. writeFurnaceConfig's validator would then
|
|
86
|
-
// reject the write, but the error would be less actionable than
|
|
87
|
-
// silently de-duplicating here.
|
|
88
|
-
const toAdd = names.filter((s) => !config.stock.includes(s));
|
|
89
|
-
config.stock.push(...toAdd);
|
|
90
|
-
await writeFurnaceConfig(projectRoot, config);
|
|
91
|
-
}
|
|
92
|
-
catch (error) {
|
|
93
|
-
return await completeJournalRollback(ctx, journal, error, {
|
|
94
|
-
projectRoot: projectRoot,
|
|
95
|
-
operation: 'scan-rollback',
|
|
96
|
-
failureMessage: 'Failed to update furnace.json during scan',
|
|
97
|
-
subject: `furnace.json update during scan`,
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
await runFurnaceMutation(projectRoot, 'scan-rollback', mutate, waitLockMutationOptions(waitLockSeconds));
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Renders a component's discovered capabilities as a display suffix. Shared
|
|
105
|
-
* by the interactive multiselect labels and the report rows.
|
|
106
|
-
*/
|
|
107
|
-
function formatComponentFeatures(component) {
|
|
108
|
-
const features = [];
|
|
109
|
-
if (component.hasCSS)
|
|
110
|
-
features.push('CSS');
|
|
111
|
-
if (component.hasFTL)
|
|
112
|
-
features.push('FTL');
|
|
113
|
-
if (component.isRegistered)
|
|
114
|
-
features.push('registered');
|
|
115
|
-
return features.length > 0 ? ` — ${features.join(', ')}` : '';
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Runs the furnace scan command to discover MozLitElement components.
|
|
119
|
-
* @param projectRoot - Root directory of the project
|
|
120
|
-
* @param options - Scan options
|
|
121
|
-
*/
|
|
122
|
-
export async function furnaceScanCommand(projectRoot, options = {}) {
|
|
123
|
-
intro(options.deep ? 'Furnace Scan (deep)' : 'Furnace Scan');
|
|
124
|
-
const { paths } = await assertFurnaceEngineReady(projectRoot);
|
|
125
|
-
// Load scan paths from config if available, merge with deep paths if requested
|
|
126
|
-
const extraScanPaths = [];
|
|
127
|
-
if (await furnaceConfigExists(projectRoot)) {
|
|
128
|
-
const preConfig = await loadFurnaceConfig(projectRoot);
|
|
129
|
-
if (preConfig.scanPaths) {
|
|
130
|
-
extraScanPaths.push(...preConfig.scanPaths);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
if (options.deep) {
|
|
134
|
-
for (const deepPath of DEEP_SCAN_PATHS) {
|
|
135
|
-
if (!extraScanPaths.includes(deepPath)) {
|
|
136
|
-
extraScanPaths.push(deepPath);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
const s = spinner('Scanning engine for components...');
|
|
141
|
-
const components = await scanWidgetsDirectory(paths.engine, undefined, extraScanPaths.length > 0 ? extraScanPaths : undefined);
|
|
142
|
-
s.stop(`Found ${components.length} component${components.length === 1 ? '' : 's'}`);
|
|
143
|
-
// Build tracking info from furnace.json if it exists
|
|
144
|
-
const tracked = new Map();
|
|
145
|
-
if (await furnaceConfigExists(projectRoot)) {
|
|
146
|
-
const config = await loadFurnaceConfig(projectRoot);
|
|
147
|
-
for (const name of config.stock) {
|
|
148
|
-
tracked.set(name, 'stock');
|
|
149
|
-
}
|
|
150
|
-
for (const name of Object.keys(config.overrides)) {
|
|
151
|
-
tracked.set(name, 'override');
|
|
152
|
-
}
|
|
153
|
-
for (const name of Object.keys(config.custom)) {
|
|
154
|
-
tracked.set(name, 'custom');
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
// Partition once and reuse across the report and the `--track` path.
|
|
158
|
-
const untrackedComponentList = components.filter((c) => !tracked.has(c.tagName));
|
|
159
|
-
const untrackedCount = untrackedComponentList.length;
|
|
160
|
-
const trackedCount = components.length - untrackedCount;
|
|
161
|
-
for (const component of components) {
|
|
162
|
-
const type = tracked.get(component.tagName);
|
|
163
|
-
info(`${component.tagName}${formatComponentFeatures(component)}${type ? ` [${type}]` : ''}`);
|
|
164
|
-
}
|
|
165
|
-
note(`Total: ${components.length} Tracked: ${trackedCount} Untracked: ${untrackedCount}`, 'Summary');
|
|
166
|
-
// --track: persist the discovered untracked inventory into the `stock`
|
|
167
|
-
// section without prompting (works non-interactively). Without it, scan
|
|
168
|
-
// stays report-only. The interactive confirm flow below is the other
|
|
169
|
-
// persistence path.
|
|
170
|
-
if (options.track) {
|
|
171
|
-
if (untrackedCount === 0) {
|
|
172
|
-
info('Nothing to track: every discovered component is already in furnace.json.');
|
|
173
|
-
outro('Scan complete');
|
|
174
|
-
return;
|
|
175
|
-
}
|
|
176
|
-
const untrackedNames = untrackedComponentList.map((c) => c.tagName);
|
|
177
|
-
await persistStockComponents(projectRoot, untrackedNames, options.waitLockSeconds);
|
|
178
|
-
success(`Tracked ${untrackedNames.length} component${untrackedNames.length === 1 ? '' : 's'} in the stock section of furnace.json`);
|
|
179
|
-
outro('Scan complete');
|
|
180
|
-
return;
|
|
181
|
-
}
|
|
182
|
-
const isInteractive = stdioIsInteractive();
|
|
183
|
-
if (isInteractive && untrackedCount > 0) {
|
|
184
|
-
await promptAddComponents(components, tracked, projectRoot, options.waitLockSeconds);
|
|
185
|
-
return;
|
|
186
|
-
}
|
|
187
|
-
if (untrackedCount > 0) {
|
|
188
|
-
info('Scan is report-only: re-run with --track to persist the untracked components into the ' +
|
|
189
|
-
'stock section of furnace.json (deploy/validate consume them from there).');
|
|
190
|
-
}
|
|
191
|
-
outro('Scan complete');
|
|
192
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Runs the furnace status command to show an overview of Furnace state.
|
|
3
|
-
* When a component name is provided, shows detailed registration status.
|
|
4
|
-
* @param projectRoot - Root directory of the project
|
|
5
|
-
* @param name - Optional component name for detailed status
|
|
6
|
-
*/
|
|
7
|
-
export declare function furnaceStatusCommand(projectRoot: string, name?: string): Promise<void>;
|