@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,415 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { readdir, unlink } from 'node:fs/promises';
|
|
3
|
-
import { join } from 'node:path';
|
|
4
|
-
import { confirm } from '@clack/prompts';
|
|
5
|
-
import { getProjectPaths, loadConfig } from '../../core/config.js';
|
|
6
|
-
import { stdioIsInteractive } from '../../core/destructive.js';
|
|
7
|
-
import { getFurnacePaths, loadFurnaceConfig, loadFurnaceState, updateFurnaceState, writeFurnaceConfig, } from '../../core/furnace-config.js';
|
|
8
|
-
import { resolveFtlDir, xpcshellTestParentDir } from '../../core/furnace-constants.js';
|
|
9
|
-
import { completeJournalRollback, runFurnaceMutation, waitLockMutationOptions, } from '../../core/furnace-operation.js';
|
|
10
|
-
import { createRollbackJournal, snapshotDir, snapshotFile, } from '../../core/furnace-rollback.js';
|
|
11
|
-
import { isGitRepository } from '../../core/git.js';
|
|
12
|
-
import { deregisterTestManifest } from '../../core/moz-manifest-register.js';
|
|
13
|
-
import { FurnaceError } from '../../errors/furnace.js';
|
|
14
|
-
import { toError } from '../../utils/errors.js';
|
|
15
|
-
import { pathExists, readText, removeDir, writeText } from '../../utils/fs.js';
|
|
16
|
-
import { cancel, info, intro, isCancel, outro, warn } from '../../utils/logger.js';
|
|
17
|
-
import { performCustomRemovalMutations, performOverrideRemovalMutations, } from './remove-mutations.js';
|
|
18
|
-
import { dropChecksumsByPrefix } from './remove-state.js';
|
|
19
|
-
import { browserTestFileName } from './test-file-name.js';
|
|
20
|
-
/**
|
|
21
|
-
* Removes an entire TOML section (header + body lines) for a given test file.
|
|
22
|
-
* Matches from `["filename"]` up to the next section header `[` or end-of-file,
|
|
23
|
-
* consuming the section's metadata keys and surrounding blank lines. This is
|
|
24
|
-
* more robust than a single-line regex that only removes the header.
|
|
25
|
-
*/
|
|
26
|
-
function removeTomlSection(toml, testFileName) {
|
|
27
|
-
const lines = toml.split('\n');
|
|
28
|
-
const header = `["${testFileName}"]`;
|
|
29
|
-
const result = [];
|
|
30
|
-
let i = 0;
|
|
31
|
-
while (i < lines.length) {
|
|
32
|
-
if (lines[i]?.trim() === header) {
|
|
33
|
-
// Skip the header line
|
|
34
|
-
i++;
|
|
35
|
-
// Skip all body lines until the next section header or EOF
|
|
36
|
-
while (i < lines.length && !/^\s*\[/.test(lines[i] ?? '')) {
|
|
37
|
-
i++;
|
|
38
|
-
}
|
|
39
|
-
// Collapse any double blank line left behind
|
|
40
|
-
while (result.length > 0 && result[result.length - 1]?.trim() === '') {
|
|
41
|
-
result.pop();
|
|
42
|
-
}
|
|
43
|
-
// Re-add a single blank separator if the next line is another section
|
|
44
|
-
if (i < lines.length && result.length > 0) {
|
|
45
|
-
result.push('');
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
result.push(lines[i] ?? '');
|
|
50
|
-
i++;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
// Trim trailing blank lines and ensure single trailing newline
|
|
54
|
-
while (result.length > 0 && result[result.length - 1]?.trim() === '') {
|
|
55
|
-
result.pop();
|
|
56
|
-
}
|
|
57
|
-
return result.join('\n') + '\n';
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Finds which section a component belongs to in the furnace config.
|
|
61
|
-
* @returns The component type, or undefined if not found
|
|
62
|
-
*/
|
|
63
|
-
function findComponentType(config, name) {
|
|
64
|
-
if (config.stock.includes(name))
|
|
65
|
-
return 'stock';
|
|
66
|
-
if (name in config.overrides)
|
|
67
|
-
return 'override';
|
|
68
|
-
if (name in config.custom)
|
|
69
|
-
return 'custom';
|
|
70
|
-
return undefined;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Removes generated browser mochitest files associated with a custom component.
|
|
74
|
-
* @param name - Custom component tag name
|
|
75
|
-
* @param projectRoot - Root directory of the project
|
|
76
|
-
* @param journal - Rollback journal that snapshots files before deletion
|
|
77
|
-
*
|
|
78
|
-
* The function preserves its original warn-and-continue contract: any failure
|
|
79
|
-
* during cleanup is reported via warn() rather than thrown. Snapshots taken
|
|
80
|
-
* before a failed step are still recorded so a later rollback (triggered by
|
|
81
|
-
* an error elsewhere in the command) can restore whatever was deleted before
|
|
82
|
-
* the failure.
|
|
83
|
-
*/
|
|
84
|
-
async function cleanupCustomTestFiles(name, projectRoot, journal) {
|
|
85
|
-
const partialFailures = [];
|
|
86
|
-
let forgeConfig;
|
|
87
|
-
try {
|
|
88
|
-
forgeConfig = await loadConfig(projectRoot);
|
|
89
|
-
}
|
|
90
|
-
catch (error) {
|
|
91
|
-
const msg = `Could not load config for test cleanup — ${toError(error).message}. Remove test files manually if needed.`;
|
|
92
|
-
warn(msg);
|
|
93
|
-
partialFailures.push(msg);
|
|
94
|
-
return { partialFailures };
|
|
95
|
-
}
|
|
96
|
-
const paths = getProjectPaths(projectRoot);
|
|
97
|
-
const binaryName = forgeConfig.binaryName;
|
|
98
|
-
const testFileName = browserTestFileName(name, binaryName);
|
|
99
|
-
const testDir = join(paths.engine, 'browser/base/content/test', binaryName);
|
|
100
|
-
if (!(await pathExists(testDir)))
|
|
101
|
-
return { partialFailures };
|
|
102
|
-
// Step 1: Delete the test file itself
|
|
103
|
-
try {
|
|
104
|
-
const testFilePath = join(testDir, testFileName);
|
|
105
|
-
if (await pathExists(testFilePath)) {
|
|
106
|
-
await snapshotFile(journal, testFilePath);
|
|
107
|
-
await unlink(testFilePath);
|
|
108
|
-
info(`Deleted test file: ${testFileName}`);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
catch (error) {
|
|
112
|
-
const msg = `Could not delete test file ${testFileName} — ${toError(error).message}. Remove it manually if needed.`;
|
|
113
|
-
warn(msg);
|
|
114
|
-
partialFailures.push(msg);
|
|
115
|
-
}
|
|
116
|
-
// Step 2: Remove the test entry from browser.toml
|
|
117
|
-
try {
|
|
118
|
-
const tomlPath = join(testDir, 'browser.toml');
|
|
119
|
-
if (await pathExists(tomlPath)) {
|
|
120
|
-
const toml = await readText(tomlPath);
|
|
121
|
-
const entryPattern = `["${testFileName}"]`;
|
|
122
|
-
if (toml.includes(entryPattern)) {
|
|
123
|
-
await snapshotFile(journal, tomlPath);
|
|
124
|
-
const updated = removeTomlSection(toml, testFileName);
|
|
125
|
-
await writeText(tomlPath, updated);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
catch (error) {
|
|
130
|
-
const msg = `Could not update browser.toml — ${toError(error).message}. Remove the test entry manually if needed.`;
|
|
131
|
-
warn(msg);
|
|
132
|
-
partialFailures.push(msg);
|
|
133
|
-
}
|
|
134
|
-
// Step 3: Clean up empty test directory and deregister from moz.build
|
|
135
|
-
try {
|
|
136
|
-
const remaining = await readdir(testDir);
|
|
137
|
-
const hasTests = remaining.some((f) => f.startsWith('browser_') && f.endsWith('.js'));
|
|
138
|
-
if (!hasTests) {
|
|
139
|
-
await snapshotDir(journal, testDir);
|
|
140
|
-
await removeDir(testDir);
|
|
141
|
-
info(`Deleted empty test directory: browser/base/content/test/${binaryName}/`);
|
|
142
|
-
const mozBuildPath = join(paths.engine, 'browser/base/moz.build');
|
|
143
|
-
await snapshotFile(journal, mozBuildPath);
|
|
144
|
-
if (await deregisterTestManifest(paths.engine, binaryName)) {
|
|
145
|
-
info('Deregistered test manifest from browser/base/moz.build');
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
catch (error) {
|
|
150
|
-
const msg = `Could not clean up test directory — ${toError(error).message}. Remove it manually if needed.`;
|
|
151
|
-
warn(msg);
|
|
152
|
-
partialFailures.push(msg);
|
|
153
|
-
}
|
|
154
|
-
return { partialFailures };
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Removes the MochiKit test scaffold a
|
|
158
|
-
* `furnace create --with-tests --test-style mochikit` produced for the
|
|
159
|
-
* component (matches the rename counterpart in `rename.ts`). The test file is
|
|
160
|
-
* `test_<name>.html` under `engine/toolkit/content/tests/widgets/` and the
|
|
161
|
-
* registration is the `["test_<name>.html"]` entry in the same directory's
|
|
162
|
-
* `chrome.toml`.
|
|
163
|
-
*
|
|
164
|
-
* Cleanup that only handles the browser-chrome mochitest layout under
|
|
165
|
-
* `browser/base/content/test/<binary>/` leaves mochikit-style scaffolds and
|
|
166
|
-
* their toml entries orphaned after `furnace remove`. The post-rename name
|
|
167
|
-
* passed in here is the canonical one written to disk by deploy/rename, so
|
|
168
|
-
* the file basenames match without re-deriving from the old name.
|
|
169
|
-
*
|
|
170
|
-
* Best-effort: each step warns on failure rather than throwing so the rest
|
|
171
|
-
* of the remove transaction proceeds. The journal still snapshots touched
|
|
172
|
-
* files so the outer rollback can restore them on a later failure in the
|
|
173
|
-
* same operation.
|
|
174
|
-
*/
|
|
175
|
-
async function cleanupCustomMochikitTestFiles(name, projectRoot, journal) {
|
|
176
|
-
const partialFailures = [];
|
|
177
|
-
const paths = getProjectPaths(projectRoot);
|
|
178
|
-
const widgetsTestDir = join(paths.engine, 'toolkit/content/tests/widgets');
|
|
179
|
-
if (!(await pathExists(widgetsTestDir))) {
|
|
180
|
-
return { partialFailures };
|
|
181
|
-
}
|
|
182
|
-
const testFileName = `test_${name}.html`;
|
|
183
|
-
const testFilePath = join(widgetsTestDir, testFileName);
|
|
184
|
-
try {
|
|
185
|
-
if (await pathExists(testFilePath)) {
|
|
186
|
-
await snapshotFile(journal, testFilePath);
|
|
187
|
-
await unlink(testFilePath);
|
|
188
|
-
info(`Deleted mochikit test file: toolkit/content/tests/widgets/${testFileName}`);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
catch (error) {
|
|
192
|
-
const msg = `Could not delete mochikit test file ${testFileName} — ${toError(error).message}. Remove it manually if needed.`;
|
|
193
|
-
warn(msg);
|
|
194
|
-
partialFailures.push(msg);
|
|
195
|
-
}
|
|
196
|
-
const chromeTomlPath = join(widgetsTestDir, 'chrome.toml');
|
|
197
|
-
try {
|
|
198
|
-
if (await pathExists(chromeTomlPath)) {
|
|
199
|
-
const toml = await readText(chromeTomlPath);
|
|
200
|
-
const headerLine = `["${testFileName}"]`;
|
|
201
|
-
if (toml.includes(headerLine)) {
|
|
202
|
-
await snapshotFile(journal, chromeTomlPath);
|
|
203
|
-
await writeText(chromeTomlPath, removeTomlSection(toml, testFileName));
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
catch (error) {
|
|
208
|
-
const msg = `Could not update widgets chrome.toml — ${toError(error).message}. Remove the test entry manually if needed.`;
|
|
209
|
-
warn(msg);
|
|
210
|
-
partialFailures.push(msg);
|
|
211
|
-
}
|
|
212
|
-
return { partialFailures };
|
|
213
|
-
}
|
|
214
|
-
/**
|
|
215
|
-
* Removes generated xpcshell test scaffolds associated with a custom
|
|
216
|
-
* component. Cleanup that handles browser mochitests via
|
|
217
|
-
* `cleanupCustomTestFiles` but never touches the xpcshell scaffold tree
|
|
218
|
-
* leaves an operator who ran `furnace create --with-tests --xpcshell`
|
|
219
|
-
* followed by `furnace remove` with orphan `xpcshell.toml` +
|
|
220
|
-
* `test_<name>_packaged.js` files still referencing the removed component.
|
|
221
|
-
* This pass mirrors the mochitest one: snapshot before removal,
|
|
222
|
-
* warn-and-continue semantics, explicit summary on partial failures.
|
|
223
|
-
*/
|
|
224
|
-
async function cleanupCustomXpcshellTestFiles(name, projectRoot, journal) {
|
|
225
|
-
const partialFailures = [];
|
|
226
|
-
let forgeConfig;
|
|
227
|
-
try {
|
|
228
|
-
forgeConfig = await loadConfig(projectRoot);
|
|
229
|
-
}
|
|
230
|
-
catch (error) {
|
|
231
|
-
const msg = `Could not load config for xpcshell test cleanup — ${toError(error).message}. Remove xpcshell test files manually if needed.`;
|
|
232
|
-
warn(msg);
|
|
233
|
-
partialFailures.push(msg);
|
|
234
|
-
return { partialFailures };
|
|
235
|
-
}
|
|
236
|
-
const paths = getProjectPaths(projectRoot);
|
|
237
|
-
const xpcshellRoot = join(paths.engine, xpcshellTestParentDir(forgeConfig.binaryName));
|
|
238
|
-
const componentXpcshellDir = join(xpcshellRoot, name);
|
|
239
|
-
if (!(await pathExists(componentXpcshellDir)))
|
|
240
|
-
return { partialFailures };
|
|
241
|
-
try {
|
|
242
|
-
await snapshotDir(journal, componentXpcshellDir);
|
|
243
|
-
await removeDir(componentXpcshellDir);
|
|
244
|
-
info(`Deleted xpcshell test scaffold directory: ${componentXpcshellDir.replace(paths.engine + '/', 'engine/')}`);
|
|
245
|
-
}
|
|
246
|
-
catch (error) {
|
|
247
|
-
const msg = `Could not delete xpcshell test scaffold — ${toError(error).message}. Remove it manually if needed.`;
|
|
248
|
-
warn(msg);
|
|
249
|
-
partialFailures.push(msg);
|
|
250
|
-
}
|
|
251
|
-
// If the xpcshell parent directory is now empty (no other components
|
|
252
|
-
// had scaffolds), drop it too so `furnace validate` stays quiet about
|
|
253
|
-
// the empty per-binary tree. Warn-and-continue on any failure.
|
|
254
|
-
try {
|
|
255
|
-
if (await pathExists(xpcshellRoot)) {
|
|
256
|
-
const remaining = await readdir(xpcshellRoot);
|
|
257
|
-
if (remaining.length === 0) {
|
|
258
|
-
await snapshotDir(journal, xpcshellRoot);
|
|
259
|
-
await removeDir(xpcshellRoot);
|
|
260
|
-
info(`Deleted empty xpcshell parent directory: ${xpcshellRoot.replace(paths.engine + '/', 'engine/')}`);
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
catch (error) {
|
|
265
|
-
const msg = `Could not clean up xpcshell parent directory — ${toError(error).message}. Remove it manually if needed.`;
|
|
266
|
-
warn(msg);
|
|
267
|
-
partialFailures.push(msg);
|
|
268
|
-
}
|
|
269
|
-
return { partialFailures };
|
|
270
|
-
}
|
|
271
|
-
async function loadFreshRemoveTarget(projectRoot, name, engineDir) {
|
|
272
|
-
const config = await loadFurnaceConfig(projectRoot);
|
|
273
|
-
const state = await loadFurnaceState(projectRoot);
|
|
274
|
-
const type = findComponentType(config, name);
|
|
275
|
-
if (!type) {
|
|
276
|
-
throw new FurnaceError(`Component "${name}" not found in furnace.json. Run "fireforge furnace list" to see registered components.`, name);
|
|
277
|
-
}
|
|
278
|
-
await requireGitEngineForRemove(type, name, engineDir);
|
|
279
|
-
return { config, ftlDir: resolveFtlDir(config.ftlBasePath), state, type };
|
|
280
|
-
}
|
|
281
|
-
async function cleanupAllCustomTestFiles(name, projectRoot, journal) {
|
|
282
|
-
const result = await cleanupCustomTestFiles(name, projectRoot, journal);
|
|
283
|
-
const failures = [...result.partialFailures];
|
|
284
|
-
failures.push(...(await cleanupCustomXpcshellTestFiles(name, projectRoot, journal)).partialFailures);
|
|
285
|
-
failures.push(...(await cleanupCustomMochikitTestFiles(name, projectRoot, journal)).partialFailures);
|
|
286
|
-
return failures;
|
|
287
|
-
}
|
|
288
|
-
/**
|
|
289
|
-
* Confirms the remove operation interactively when TTY is available, or
|
|
290
|
-
* enforces the `--yes` contract in non-interactive mode. Returns `false`
|
|
291
|
-
* when the user cancelled and the caller should exit silently.
|
|
292
|
-
*/
|
|
293
|
-
async function confirmFurnaceRemove(name, type, options, isInteractive) {
|
|
294
|
-
if (!isInteractive && !options.yes) {
|
|
295
|
-
throw new FurnaceError(`Cannot remove "${name}" in non-interactive mode without --yes flag.`, name);
|
|
296
|
-
}
|
|
297
|
-
if (!options.yes && isInteractive) {
|
|
298
|
-
const confirmed = await confirm({
|
|
299
|
-
message: `Remove ${type} component "${name}"?`,
|
|
300
|
-
});
|
|
301
|
-
if (isCancel(confirmed) || !confirmed) {
|
|
302
|
-
cancel('Remove cancelled');
|
|
303
|
-
return false;
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
return true;
|
|
307
|
-
}
|
|
308
|
-
/**
|
|
309
|
-
* Enforces the engine-as-git precondition for both override and custom
|
|
310
|
-
* removals. Runs before the lock is acquired or a journal is registered so
|
|
311
|
-
* the failure path does not involve any rollback infrastructure.
|
|
312
|
-
*/
|
|
313
|
-
async function requireGitEngineForRemove(type, name, engineDir) {
|
|
314
|
-
if (type !== 'override' && type !== 'custom')
|
|
315
|
-
return;
|
|
316
|
-
if (!(await isGitRepository(engineDir))) {
|
|
317
|
-
throw new FurnaceError(`Cannot remove ${type} component "${name}": engine is not a git repository. Run "fireforge download" to initialise it.`, name);
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
/**
|
|
321
|
-
* Runs the furnace remove command to remove a component from the workspace.
|
|
322
|
-
* @param projectRoot - Root directory of the project
|
|
323
|
-
* @param name - Component tag name to remove
|
|
324
|
-
* @param options - CLI options
|
|
325
|
-
*/
|
|
326
|
-
export async function furnaceRemoveCommand(projectRoot, name, options = {}) {
|
|
327
|
-
const isInteractive = stdioIsInteractive();
|
|
328
|
-
intro('Furnace Remove');
|
|
329
|
-
const config = await loadFurnaceConfig(projectRoot);
|
|
330
|
-
const furnacePaths = getFurnacePaths(projectRoot);
|
|
331
|
-
// Find which section the component belongs to
|
|
332
|
-
const type = findComponentType(config, name);
|
|
333
|
-
if (!type) {
|
|
334
|
-
throw new FurnaceError(`Component "${name}" not found in furnace.json. Run "fireforge furnace list" to see registered components.`, name);
|
|
335
|
-
}
|
|
336
|
-
if (!(await confirmFurnaceRemove(name, type, options, isInteractive))) {
|
|
337
|
-
return;
|
|
338
|
-
}
|
|
339
|
-
// Begin transactional mutation: every file deleted or rewritten is first
|
|
340
|
-
// snapshotted in a rollback journal so any failure mid-removal restores the
|
|
341
|
-
// workspace and engine to their pre-command state. The mutation runs under
|
|
342
|
-
// the furnace-wide lock and is registered with the global SIGINT/SIGTERM
|
|
343
|
-
// rollback pathway.
|
|
344
|
-
const paths = getProjectPaths(projectRoot);
|
|
345
|
-
await requireGitEngineForRemove(type, name, paths.engine);
|
|
346
|
-
const mutate = async (ctx) => {
|
|
347
|
-
const journal = createRollbackJournal();
|
|
348
|
-
ctx.registerJournal(journal);
|
|
349
|
-
try {
|
|
350
|
-
const { config: freshConfig, ftlDir, state: freshState, type: freshType, } = await loadFreshRemoveTarget(projectRoot, name, paths.engine);
|
|
351
|
-
if (freshType === 'override') {
|
|
352
|
-
await performOverrideRemovalMutations({
|
|
353
|
-
name,
|
|
354
|
-
paths,
|
|
355
|
-
furnacePaths,
|
|
356
|
-
freshConfig,
|
|
357
|
-
freshState,
|
|
358
|
-
ftlDir,
|
|
359
|
-
journal,
|
|
360
|
-
});
|
|
361
|
-
}
|
|
362
|
-
else if (freshType === 'custom') {
|
|
363
|
-
await performCustomRemovalMutations({
|
|
364
|
-
projectRoot,
|
|
365
|
-
name,
|
|
366
|
-
paths,
|
|
367
|
-
furnacePaths,
|
|
368
|
-
freshConfig,
|
|
369
|
-
ftlDir,
|
|
370
|
-
journal,
|
|
371
|
-
});
|
|
372
|
-
}
|
|
373
|
-
const testCleanupFailures = freshType === 'custom' ? await cleanupAllCustomTestFiles(name, projectRoot, journal) : [];
|
|
374
|
-
// Remove entry from furnace.json
|
|
375
|
-
if (freshType === 'stock') {
|
|
376
|
-
freshConfig.stock = freshConfig.stock.filter((s) => s !== name);
|
|
377
|
-
}
|
|
378
|
-
else if (freshType === 'override') {
|
|
379
|
-
freshConfig.overrides = Object.fromEntries(Object.entries(freshConfig.overrides).filter(([key]) => key !== name));
|
|
380
|
-
if (!freshConfig.stock.includes(name)) {
|
|
381
|
-
freshConfig.stock.push(name);
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
else {
|
|
385
|
-
freshConfig.custom = Object.fromEntries(Object.entries(freshConfig.custom).filter(([key]) => key !== name));
|
|
386
|
-
}
|
|
387
|
-
await snapshotFile(journal, furnacePaths.furnaceConfig);
|
|
388
|
-
await writeFurnaceConfig(projectRoot, freshConfig);
|
|
389
|
-
// Drop stale per-file checksums inside the same transactional block.
|
|
390
|
-
// Snapshotting the state file into the rollback journal means the
|
|
391
|
-
// entire remove operation is a single atomic unit.
|
|
392
|
-
await snapshotFile(journal, furnacePaths.furnaceState);
|
|
393
|
-
await updateFurnaceState(projectRoot, (state) => dropChecksumsByPrefix(state, `${freshType}/${name}/`));
|
|
394
|
-
// Test-cleanup failures are warn-and-continue by design (test files
|
|
395
|
-
// are secondary artefacts), but the caller deserves a single summary
|
|
396
|
-
// line pointing at the residue so they don't have to re-scan earlier
|
|
397
|
-
// warn output to realise the removal was partial.
|
|
398
|
-
if (testCleanupFailures.length > 0) {
|
|
399
|
-
warn(`Component "${name}" removed with ${testCleanupFailures.length} test-cleanup warning(s) above. ` +
|
|
400
|
-
`The component is deregistered, but test files may linger in the engine — review and delete manually if needed.`);
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
catch (error) {
|
|
404
|
-
return await completeJournalRollback(ctx, journal, error, {
|
|
405
|
-
projectRoot: projectRoot,
|
|
406
|
-
operation: 'remove-rollback',
|
|
407
|
-
failureMessage: `Failed to remove component "${name}"`,
|
|
408
|
-
subject: `component "${name}"`,
|
|
409
|
-
});
|
|
410
|
-
}
|
|
411
|
-
};
|
|
412
|
-
await runFurnaceMutation(projectRoot, 'remove-rollback', mutate, waitLockMutationOptions(options.waitLockSeconds));
|
|
413
|
-
info(`Removed "${name}" from furnace.json`);
|
|
414
|
-
outro('Component removed');
|
|
415
|
-
}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { tagNameToClassName } from '../../core/furnace-constants.js';
|
|
3
|
-
import { escapeRegex } from '../../utils/regex.js';
|
|
4
|
-
import { deriveTestStem } from './test-file-name.js';
|
|
5
|
-
/** Rewrites scaffolded browser-chrome test literals after a component rename. */
|
|
6
|
-
export function updateBrowserChromeTestContent(content, oldName, newName, binaryName) {
|
|
7
|
-
const oldClassName = tagNameToClassName(oldName);
|
|
8
|
-
const newClassName = tagNameToClassName(newName);
|
|
9
|
-
const oldUnderscored = oldName.replace(/-/g, '_');
|
|
10
|
-
const newUnderscored = newName.replace(/-/g, '_');
|
|
11
|
-
const oldTestStem = deriveTestStem(oldName, binaryName);
|
|
12
|
-
const newTestStem = deriveTestStem(newName, binaryName);
|
|
13
|
-
// One pass over the content, instead of four chained `.replace()` calls.
|
|
14
|
-
//
|
|
15
|
-
// Chaining let each rule see the previous rule's output. Renaming
|
|
16
|
-
// `acme-widget` to `acme-widget-v2` rewrote `test_acme_widget_defined` to
|
|
17
|
-
// `test_acme_widget_v2_defined` via the underscored form, and then the stem
|
|
18
|
-
// rule matched the `acme_widget` still inside that result and produced
|
|
19
|
-
// `test_acme_widget_v2_v2_defined`. A single alternation with a callback
|
|
20
|
-
// cannot re-enter its own output.
|
|
21
|
-
//
|
|
22
|
-
// Ordering is longest-first, because JS alternation takes the first
|
|
23
|
-
// alternative that matches at a given position.
|
|
24
|
-
const alternatives = [
|
|
25
|
-
// The stem is a short bare fragment (`moz-` and binary prefixes stripped,
|
|
26
|
-
// hyphens underscored), so `panel` for `moz-panel`. Matching it loose, even
|
|
27
|
-
// with hyphen guards, rewrote unrelated underscore-delimited identifiers
|
|
28
|
-
// such as `test_panel_group_integration`, because `_` must stay a legal
|
|
29
|
-
// neighbour for the generated name to match at all. The scaffold emits the
|
|
30
|
-
// stem in exactly one shape, so anchor to that shape instead of guessing
|
|
31
|
-
// from boundaries. The anchored shape carries its own guards so it cannot
|
|
32
|
-
// match inside a longer identifier (`mytest_panel_defined_extra`).
|
|
33
|
-
{
|
|
34
|
-
pattern: `(?<![\\w-])test_${escapeRegex(oldTestStem)}_defined(?![\\w-])`,
|
|
35
|
-
to: `test_${newTestStem}_defined`,
|
|
36
|
-
},
|
|
37
|
-
// Word-boundary-aware, matching `furnace/rename.ts` and
|
|
38
|
-
// `rename-xpcshell.ts`: without the guards a rename of `moz-panel` rewrote
|
|
39
|
-
// `moz-panel-group`. `_` stays a legal neighbour for the underscored form
|
|
40
|
-
// because it is embedded in generated identifiers on purpose. `-` is
|
|
41
|
-
// not.
|
|
42
|
-
//
|
|
43
|
-
// Skipped when the underscored form is the tag name (a hyphen-less
|
|
44
|
-
// component): both rules then match the same text and this one would win
|
|
45
|
-
// on order, substituting `newUnderscored` where the tag `newName` was
|
|
46
|
-
// meant. The stem rule still covers the one generated identifier shape.
|
|
47
|
-
...(oldUnderscored === oldName
|
|
48
|
-
? []
|
|
49
|
-
: [
|
|
50
|
-
{
|
|
51
|
-
pattern: `(?<![A-Za-z0-9-])${escapeRegex(oldUnderscored)}(?![A-Za-z0-9-])`,
|
|
52
|
-
to: newUnderscored,
|
|
53
|
-
},
|
|
54
|
-
]),
|
|
55
|
-
{ pattern: `(?<![\\w-])${escapeRegex(oldName)}(?![\\w-])`, to: newName },
|
|
56
|
-
{ pattern: `\\b${escapeRegex(oldClassName)}\\b`, to: newClassName },
|
|
57
|
-
];
|
|
58
|
-
// Each alternative is its own capture group and the replacement is picked
|
|
59
|
-
// by the group that matched, rather than by the matched text, which is
|
|
60
|
-
// ambiguous whenever two rules can produce the same match with different
|
|
61
|
-
// substitutions.
|
|
62
|
-
const combined = new RegExp(alternatives.map(({ pattern }) => `(${pattern})`).join('|'), 'g');
|
|
63
|
-
return content.replace(combined, (matched, ...args) => {
|
|
64
|
-
const groups = args.slice(0, alternatives.length);
|
|
65
|
-
const index = groups.findIndex((group) => group !== undefined);
|
|
66
|
-
return alternatives[index]?.to ?? matched;
|
|
67
|
-
});
|
|
68
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `furnace rename --dry-run`: the plan a rename would carry out, rendered
|
|
3
|
-
* from reads only. A rename edits three engine registration files besides
|
|
4
|
-
* moving the component, and before this none of those edits was visible
|
|
5
|
-
* until it had run.
|
|
6
|
-
*/
|
|
7
|
-
import type { FurnaceConfig } from '../../types/furnace.js';
|
|
8
|
-
/** Inputs for {@link renderRenamePlan}. */
|
|
9
|
-
export interface RenamePlanInput {
|
|
10
|
-
config: FurnaceConfig;
|
|
11
|
-
oldName: string;
|
|
12
|
-
newName: string;
|
|
13
|
-
/** Workspace directory of the component being renamed. */
|
|
14
|
-
oldDir: string;
|
|
15
|
-
/** On-disk directory label: `custom` or `overrides`. */
|
|
16
|
-
componentDirLabel: 'custom' | 'overrides';
|
|
17
|
-
engineDir: string;
|
|
18
|
-
/** Project marker a freshly added registration line would carry. */
|
|
19
|
-
markerComment: string | undefined;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Renders the rename plan: workspace file moves, the furnace.json re-key,
|
|
23
|
-
* and, for a custom component, every engine edit the real run would make
|
|
24
|
-
* (registrations only when the component is registered).
|
|
25
|
-
*
|
|
26
|
-
* @param input - See {@link RenamePlanInput}
|
|
27
|
-
* @returns The plan as display lines joined by newlines
|
|
28
|
-
*/
|
|
29
|
-
export declare function renderRenamePlan(input: RenamePlanInput): Promise<string>;
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* `furnace rename --dry-run`: the plan a rename would carry out, rendered
|
|
4
|
-
* from reads only. A rename edits three engine registration files besides
|
|
5
|
-
* moving the component, and before this none of those edits was visible
|
|
6
|
-
* until it had run.
|
|
7
|
-
*/
|
|
8
|
-
import { readdir } from 'node:fs/promises';
|
|
9
|
-
import { join } from 'node:path';
|
|
10
|
-
import { isComponentSourceFile, JAR_MN, resolveFtlChromeSubPath, resolveFtlDir, resolveFtlLocaleJarMnPath, } from '../../core/furnace-constants.js';
|
|
11
|
-
import { hasLocaleFtlJarMnEntry } from '../../core/furnace-registration.js';
|
|
12
|
-
import { isTagAlreadyRegistered } from '../../core/furnace-registration-ast.js';
|
|
13
|
-
import { pathExists, readText } from '../../utils/fs.js';
|
|
14
|
-
import { renameComponentFileName, renameTagInDescription } from './rename-helpers.js';
|
|
15
|
-
/** Plan lines for the workspace move and the furnace.json re-key. */
|
|
16
|
-
async function workspaceLines(input) {
|
|
17
|
-
const { config, oldName, newName, oldDir, componentDirLabel } = input;
|
|
18
|
-
const lines = [
|
|
19
|
-
`Workspace: components/${componentDirLabel}/${oldName}/ → components/${componentDirLabel}/${newName}/`,
|
|
20
|
-
];
|
|
21
|
-
const entries = (await readdir(oldDir, { withFileTypes: true }))
|
|
22
|
-
.filter((entry) => entry.isFile())
|
|
23
|
-
.map((entry) => entry.name)
|
|
24
|
-
.sort();
|
|
25
|
-
for (const fileName of entries) {
|
|
26
|
-
const renamed = renameComponentFileName(fileName, oldName, newName);
|
|
27
|
-
const rewrite = isComponentSourceFile(fileName) ? ' (tag and class references rewritten)' : '';
|
|
28
|
-
lines.push(` ${fileName}${renamed === fileName ? '' : ` → ${renamed}`}${rewrite}`);
|
|
29
|
-
}
|
|
30
|
-
const entry = config.custom[oldName] ?? config.overrides[oldName];
|
|
31
|
-
lines.push(`furnace.json: "${oldName}" → "${newName}"`);
|
|
32
|
-
if (entry) {
|
|
33
|
-
const description = renameTagInDescription(entry.description, oldName, newName);
|
|
34
|
-
if (description !== entry.description) {
|
|
35
|
-
lines.push(` description: "${entry.description}" → "${description}"`);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return lines;
|
|
39
|
-
}
|
|
40
|
-
/** Plan line for the customElements.js registration. */
|
|
41
|
-
async function customElementsLine(input) {
|
|
42
|
-
const { engineDir, oldName, newName, markerComment } = input;
|
|
43
|
-
const path = join(engineDir, 'toolkit/content/customElements.js');
|
|
44
|
-
if (!(await pathExists(path)))
|
|
45
|
-
return undefined;
|
|
46
|
-
const content = await readText(path);
|
|
47
|
-
const oldRegistered = isTagAlreadyRegistered(content, oldName);
|
|
48
|
-
if (isTagAlreadyRegistered(content, newName)) {
|
|
49
|
-
return `customElements.js: "${newName}" is already registered${oldRegistered ? `; remove the "${oldName}" entry` : ''}`;
|
|
50
|
-
}
|
|
51
|
-
if (oldRegistered) {
|
|
52
|
-
return `customElements.js: rewrite the "${oldName}" entry in place as "${newName}" (position and marker comments kept)`;
|
|
53
|
-
}
|
|
54
|
-
const marker = markerComment !== undefined ? ` marked // ${markerComment}:` : '';
|
|
55
|
-
return `customElements.js: add a "${newName}" entry${marker}`;
|
|
56
|
-
}
|
|
57
|
-
/** Plan line for the toolkit/content/jar.mn widget lines. */
|
|
58
|
-
async function jarLine(input) {
|
|
59
|
-
const { engineDir, oldName, newName, oldDir } = input;
|
|
60
|
-
const path = join(engineDir, JAR_MN);
|
|
61
|
-
if (!(await pathExists(path)))
|
|
62
|
-
return undefined;
|
|
63
|
-
const oldLines = (await readText(path))
|
|
64
|
-
.split('\n')
|
|
65
|
-
.filter((line) => line.includes(`(widgets/${oldName}/`)).length;
|
|
66
|
-
const newFiles = (await readdir(oldDir, { withFileTypes: true }))
|
|
67
|
-
.filter((entry) => entry.isFile() && /\.(?:mjs|css)$/.test(entry.name))
|
|
68
|
-
.map((entry) => renameComponentFileName(entry.name, oldName, newName))
|
|
69
|
-
.sort();
|
|
70
|
-
return (`${JAR_MN}: replace ${oldLines} "${oldName}" line(s) with ` +
|
|
71
|
-
(newFiles.length > 0 ? newFiles.join(', ') : 'none (no .mjs/.css files)'));
|
|
72
|
-
}
|
|
73
|
-
/** Plan lines for the deployed .ftl and its locale jar.mn line. */
|
|
74
|
-
async function localeLines(input, componentConfig) {
|
|
75
|
-
const { config, engineDir, oldName, newName } = input;
|
|
76
|
-
if (!componentConfig.localized)
|
|
77
|
-
return [];
|
|
78
|
-
const ftlDir = resolveFtlDir(config.ftlBasePath);
|
|
79
|
-
const lines = [];
|
|
80
|
-
if (await pathExists(join(engineDir, ftlDir, `${oldName}.ftl`))) {
|
|
81
|
-
lines.push(`${ftlDir}/${oldName}.ftl → ${newName}.ftl`);
|
|
82
|
-
}
|
|
83
|
-
const chromeSubPath = resolveFtlChromeSubPath(ftlDir);
|
|
84
|
-
const localeJarRel = resolveFtlLocaleJarMnPath(ftlDir);
|
|
85
|
-
if (chromeSubPath === undefined || localeJarRel === undefined)
|
|
86
|
-
return lines;
|
|
87
|
-
const present = await hasLocaleFtlJarMnEntry(engineDir, localeJarRel, oldName, chromeSubPath);
|
|
88
|
-
if (componentConfig.sharedFtl !== undefined) {
|
|
89
|
-
lines.push(`${localeJarRel}: no per-component line (sharedFtl: ${componentConfig.sharedFtl})` +
|
|
90
|
-
(present ? `; remove the stale "${oldName}.ftl" line` : ''));
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
lines.push(present
|
|
94
|
-
? `${localeJarRel}: re-point the "${oldName}.ftl" line to "${newName}.ftl"`
|
|
95
|
-
: `${localeJarRel}: no "${oldName}.ftl" line to re-point (left unchanged)`);
|
|
96
|
-
}
|
|
97
|
-
return lines;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Renders the rename plan: workspace file moves, the furnace.json re-key,
|
|
101
|
-
* and, for a custom component, every engine edit the real run would make
|
|
102
|
-
* (registrations only when the component is registered).
|
|
103
|
-
*
|
|
104
|
-
* @param input - See {@link RenamePlanInput}
|
|
105
|
-
* @returns The plan as display lines joined by newlines
|
|
106
|
-
*/
|
|
107
|
-
export async function renderRenamePlan(input) {
|
|
108
|
-
const lines = await workspaceLines(input);
|
|
109
|
-
const componentConfig = input.config.custom[input.oldName];
|
|
110
|
-
if (!componentConfig || !(await pathExists(input.engineDir))) {
|
|
111
|
-
return lines.join('\n');
|
|
112
|
-
}
|
|
113
|
-
lines.push('Engine:');
|
|
114
|
-
const engineLines = componentConfig.register
|
|
115
|
-
? [
|
|
116
|
-
await customElementsLine(input),
|
|
117
|
-
await jarLine(input),
|
|
118
|
-
...(await localeLines(input, componentConfig)),
|
|
119
|
-
].filter((line) => line !== undefined)
|
|
120
|
-
: ['registrations untouched (register: false)'];
|
|
121
|
-
if (await pathExists(join(input.engineDir, componentConfig.targetPath))) {
|
|
122
|
-
engineLines.push(`remove the stale deployed directory ${componentConfig.targetPath}/`);
|
|
123
|
-
}
|
|
124
|
-
lines.push(...engineLines.map((line) => ` ${line}`));
|
|
125
|
-
lines.push('Test scaffolds named after the old tag are renamed when present.');
|
|
126
|
-
return lines.join('\n');
|
|
127
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { FurnaceConfig } from '../../types/furnace.js';
|
|
2
|
-
/**
|
|
3
|
-
* Applies a component rename to scaffold-owned filenames only.
|
|
4
|
-
*/
|
|
5
|
-
export declare function renameComponentFileName(fileName: string, oldName: string, newName: string): string;
|
|
6
|
-
/**
|
|
7
|
-
* Rewrites whole-tag mentions of the old name in a component description,
|
|
8
|
-
* so a rename does not carry a description that still names the old tag.
|
|
9
|
-
* Boundary-aware like the source rewrite: `moz-panel` inside
|
|
10
|
-
* `moz-panel-group` is left alone.
|
|
11
|
-
*/
|
|
12
|
-
export declare function renameTagInDescription(description: string, oldName: string, newName: string): string;
|
|
13
|
-
/**
|
|
14
|
-
* Re-keys a custom component config entry and same-config compose references.
|
|
15
|
-
*/
|
|
16
|
-
export declare function updateConfigForCustomRename(config: FurnaceConfig, oldName: string, newName: string): void;
|
|
17
|
-
/**
|
|
18
|
-
* Re-keys an override component config entry.
|
|
19
|
-
*/
|
|
20
|
-
export declare function updateConfigForOverrideRename(config: FurnaceConfig, oldName: string, newName: string): void;
|
|
21
|
-
/**
|
|
22
|
-
* Re-keys checksum entries in furnace-state.json from the old component name
|
|
23
|
-
* to the new name so that `doctor` doesn't flag stale entries and the next
|
|
24
|
-
* `apply` can correctly detect whether the renamed component has changed.
|
|
25
|
-
*/
|
|
26
|
-
export declare function rekeyStateChecksums(projectRoot: string, componentType: string, oldName: string, newName: string): Promise<void>;
|