@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,407 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { join } from 'node:path';
|
|
3
|
-
import { text } from '@clack/prompts';
|
|
4
|
-
import { getProjectPaths, loadConfig } from '../../core/config.js';
|
|
5
|
-
import { stdioIsInteractive } from '../../core/destructive.js';
|
|
6
|
-
import { getFurnacePaths, writeFurnaceConfig } from '../../core/furnace-config.js';
|
|
7
|
-
import { resolveFtlChromeSubPath, tagNameToClassName, WIDGETS_DIR, } from '../../core/furnace-constants.js';
|
|
8
|
-
import { completeJournalRollback, runFurnaceMutation, waitLockMutationOptions, } from '../../core/furnace-operation.js';
|
|
9
|
-
import { CUSTOM_ELEMENT_TAG_PATTERN, CUSTOM_ELEMENT_TAG_RULES, describeTagNameProblem, } from '../../core/furnace-registration-validate.js';
|
|
10
|
-
import { createRollbackJournal, recordCreatedDir, snapshotFile, } from '../../core/furnace-rollback.js';
|
|
11
|
-
import { isComponentInEngine, scanWidgetsDirectory } from '../../core/furnace-scanner.js';
|
|
12
|
-
import { DEFAULT_LICENSE, getLicenseHeader } from '../../core/license-headers.js';
|
|
13
|
-
import { validateSharedFtl } from '../../core/shared-ftl.js';
|
|
14
|
-
import { InvalidArgumentError } from '../../errors/base.js';
|
|
15
|
-
import { FurnaceError } from '../../errors/furnace.js';
|
|
16
|
-
import { ensureDir, pathExists, writeText } from '../../utils/fs.js';
|
|
17
|
-
import { cancel, intro, isCancel, note, outro } from '../../utils/logger.js';
|
|
18
|
-
import { loadAuthoringFurnaceConfig } from './authoring-config.js';
|
|
19
|
-
import { resolveValidatedTestDir, scaffoldTestFiles } from './create-browser-test.js';
|
|
20
|
-
import { formatDryRunPlan, formatSuccessNote } from './create-dry-run.js';
|
|
21
|
-
import { resolveCreateFeatures } from './create-features.js';
|
|
22
|
-
import { scaffoldMochikitTestFiles } from './create-mochikit.js';
|
|
23
|
-
import { assertCustomEntryPersisted } from './create-readback.js';
|
|
24
|
-
import { generateCssContent, generateFtlContent, generateMjsContent } from './create-templates.js';
|
|
25
|
-
import { validateCreateAgainstConfig } from './create-validation.js';
|
|
26
|
-
import { scaffoldXpcshellTestFiles } from './create-xpcshell.js';
|
|
27
|
-
function knownComponentSet(config) {
|
|
28
|
-
return new Set([
|
|
29
|
-
...config.stock,
|
|
30
|
-
...Object.keys(config.overrides),
|
|
31
|
-
...Object.keys(config.custom),
|
|
32
|
-
]);
|
|
33
|
-
}
|
|
34
|
-
async function resolveComposeStockAdditions(args) {
|
|
35
|
-
const { engineDir, config, componentName, composes } = args;
|
|
36
|
-
if (!composes || composes.length === 0)
|
|
37
|
-
return [];
|
|
38
|
-
const known = knownComponentSet(config);
|
|
39
|
-
const unresolved = composes.filter((tag) => tag !== componentName && !known.has(tag));
|
|
40
|
-
if (unresolved.length === 0 || !(await pathExists(engineDir)))
|
|
41
|
-
return [];
|
|
42
|
-
const scanPaths = config.scanPaths && config.scanPaths.length > 0 ? config.scanPaths : undefined;
|
|
43
|
-
const discovered = await scanWidgetsDirectory(engineDir, undefined, scanPaths);
|
|
44
|
-
const discoveredTags = new Set(discovered.map((component) => component.tagName));
|
|
45
|
-
return unresolved.filter((tag, index) => discoveredTags.has(tag) && unresolved.indexOf(tag) === index);
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Validates a custom element tag name.
|
|
49
|
-
* @returns Error message if invalid, undefined if valid
|
|
50
|
-
*/
|
|
51
|
-
function validateTagName(name) {
|
|
52
|
-
if (!name.trim())
|
|
53
|
-
return 'Name is required';
|
|
54
|
-
if (!name.includes('-'))
|
|
55
|
-
return 'Custom element names must contain a hyphen (e.g., "my-widget")';
|
|
56
|
-
if (!CUSTOM_ELEMENT_TAG_PATTERN.test(name))
|
|
57
|
-
return `Name ${CUSTOM_ELEMENT_TAG_RULES}`;
|
|
58
|
-
return undefined;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Writes the scaffolded component source files to disk.
|
|
62
|
-
* @param options - See {@link WriteComponentFilesOptions}
|
|
63
|
-
* @returns Relative filenames written for the component
|
|
64
|
-
*/
|
|
65
|
-
async function writeComponentFiles(options) {
|
|
66
|
-
const { componentDir, componentName, className, description, localized, license, ftlChromeSubPath, sharedFtl, journal, } = options;
|
|
67
|
-
await ensureDir(componentDir);
|
|
68
|
-
const files = [`${componentName}.mjs`, `${componentName}.css`];
|
|
69
|
-
const mjsPath = join(componentDir, `${componentName}.mjs`);
|
|
70
|
-
if (journal)
|
|
71
|
-
await snapshotFile(journal, mjsPath);
|
|
72
|
-
const mjsContent = generateMjsContent({
|
|
73
|
-
name: componentName,
|
|
74
|
-
className,
|
|
75
|
-
description,
|
|
76
|
-
localized,
|
|
77
|
-
header: getLicenseHeader(license, 'js'),
|
|
78
|
-
ftlChromeSubPath,
|
|
79
|
-
sharedFtl,
|
|
80
|
-
});
|
|
81
|
-
await writeText(mjsPath, mjsContent);
|
|
82
|
-
const cssPath = join(componentDir, `${componentName}.css`);
|
|
83
|
-
if (journal)
|
|
84
|
-
await snapshotFile(journal, cssPath);
|
|
85
|
-
const cssContent = generateCssContent(getLicenseHeader(license, 'css'));
|
|
86
|
-
await writeText(cssPath, cssContent);
|
|
87
|
-
// Skip the per-component .ftl stub when the component participates in a
|
|
88
|
-
// pre-existing feature-scoped bundle. The shared bundle is owned
|
|
89
|
-
// elsewhere. Dropping a stub here would clutter the workspace with
|
|
90
|
-
// empty files that never get packaged (furnace apply also skips copying
|
|
91
|
-
// them in this mode).
|
|
92
|
-
if (localized && !sharedFtl) {
|
|
93
|
-
const ftlPath = join(componentDir, `${componentName}.ftl`);
|
|
94
|
-
if (journal)
|
|
95
|
-
await snapshotFile(journal, ftlPath);
|
|
96
|
-
const ftlContent = generateFtlContent(componentName, getLicenseHeader(license, 'hash'));
|
|
97
|
-
await writeText(ftlPath, ftlContent);
|
|
98
|
-
files.push(`${componentName}.ftl`);
|
|
99
|
-
}
|
|
100
|
-
return files;
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Collapses `--with-tests`, `--xpcshell`, and `--test-style` into the single
|
|
104
|
-
* scaffold dispatch used inside the mutation phase.
|
|
105
|
-
*
|
|
106
|
-
* Invariants:
|
|
107
|
-
* - `--xpcshell` alone is equivalent to `--test-style=xpcshell`.
|
|
108
|
-
* - `--with-tests` alone (no `--test-style`) defaults to `browser-chrome`
|
|
109
|
-
* (multi-process mochitest, reliable on macOS for interactive chrome).
|
|
110
|
-
* Forks whose chrome document has no `tabbrowser` should pass
|
|
111
|
-
* `--test-style=mochikit` explicitly.
|
|
112
|
-
* - When both `--xpcshell` and `--with-tests` are set, `--xpcshell` wins
|
|
113
|
-
* (resolved style is `xpcshell` only).
|
|
114
|
-
* @throws InvalidArgumentError when flags conflict.
|
|
115
|
-
*/
|
|
116
|
-
export function resolveTestStyle(options) {
|
|
117
|
-
const xpcshellFlag = options.xpcshell ?? false;
|
|
118
|
-
const withTests = options.withTests ?? false;
|
|
119
|
-
const explicit = options.testStyle;
|
|
120
|
-
if (xpcshellFlag && explicit && explicit !== 'xpcshell') {
|
|
121
|
-
throw new InvalidArgumentError(`--xpcshell cannot be combined with --test-style=${explicit}; choose one.`, 'testStyle');
|
|
122
|
-
}
|
|
123
|
-
if (explicit)
|
|
124
|
-
return explicit;
|
|
125
|
-
if (xpcshellFlag)
|
|
126
|
-
return 'xpcshell';
|
|
127
|
-
if (withTests)
|
|
128
|
-
return 'browser-chrome';
|
|
129
|
-
return 'none';
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Performs the transactional mutation phase of furnace create. All file
|
|
133
|
-
* writes and the config update are recorded in a rollback journal so a
|
|
134
|
-
* failure mid-phase restores the workspace and engine to their pre-command
|
|
135
|
-
* state.
|
|
136
|
-
*/
|
|
137
|
-
async function performCreateMutations(args) {
|
|
138
|
-
// Invariant: the journal must be registered with the operation context
|
|
139
|
-
// before any filesystem mutation (including recordCreatedDir, whose entries
|
|
140
|
-
// are consulted by SIGINT rollback). The try/catch below assumes signal
|
|
141
|
-
// handlers can find the journal for any partial write that follows.
|
|
142
|
-
const journal = createRollbackJournal();
|
|
143
|
-
if (args.operationContext) {
|
|
144
|
-
args.operationContext.registerJournal(journal);
|
|
145
|
-
}
|
|
146
|
-
const testFiles = [];
|
|
147
|
-
let files;
|
|
148
|
-
try {
|
|
149
|
-
const freshConfig = await loadAuthoringFurnaceConfig(args.projectRoot);
|
|
150
|
-
const freshStockAdditions = await resolveComposeStockAdditions({
|
|
151
|
-
engineDir: args.paths.engine,
|
|
152
|
-
config: freshConfig,
|
|
153
|
-
componentName: args.componentName,
|
|
154
|
-
composes: args.composes,
|
|
155
|
-
});
|
|
156
|
-
validateCreateAgainstConfig(freshConfig, args.componentName, args.allowPrefixMismatch, args.composes, freshStockAdditions);
|
|
157
|
-
if (await pathExists(args.componentDir)) {
|
|
158
|
-
throw new FurnaceError(`Directory already exists: components/custom/${args.componentName}`, args.componentName);
|
|
159
|
-
}
|
|
160
|
-
// Record the componentDir creation entry immediately after registration
|
|
161
|
-
// so signal-driven rollback can clean it up even if writeComponentFiles
|
|
162
|
-
// is interrupted mid-ensureDir.
|
|
163
|
-
recordCreatedDir(journal, args.componentDir);
|
|
164
|
-
files = await writeComponentFiles({
|
|
165
|
-
componentDir: args.componentDir,
|
|
166
|
-
componentName: args.componentName,
|
|
167
|
-
className: args.className,
|
|
168
|
-
description: args.description,
|
|
169
|
-
localized: args.localized,
|
|
170
|
-
license: args.license,
|
|
171
|
-
ftlChromeSubPath: resolveFtlChromeSubPath(freshConfig.ftlBasePath),
|
|
172
|
-
sharedFtl: args.sharedFtl,
|
|
173
|
-
journal,
|
|
174
|
-
});
|
|
175
|
-
const customEntry = {
|
|
176
|
-
description: args.description,
|
|
177
|
-
targetPath: `${WIDGETS_DIR}/${args.componentName}`,
|
|
178
|
-
register: args.register,
|
|
179
|
-
localized: args.localized,
|
|
180
|
-
};
|
|
181
|
-
if (args.composes && args.composes.length > 0) {
|
|
182
|
-
customEntry.composes = args.composes;
|
|
183
|
-
}
|
|
184
|
-
if (args.sharedFtl) {
|
|
185
|
-
customEntry.sharedFtl = args.sharedFtl;
|
|
186
|
-
}
|
|
187
|
-
for (const name of freshStockAdditions) {
|
|
188
|
-
if (!freshConfig.stock.includes(name)) {
|
|
189
|
-
freshConfig.stock.push(name);
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
freshConfig.custom[args.componentName] = customEntry;
|
|
193
|
-
await snapshotFile(journal, args.furnacePaths.furnaceConfig);
|
|
194
|
-
await writeFurnaceConfig(args.projectRoot, freshConfig);
|
|
195
|
-
await assertCustomEntryPersisted(args.projectRoot, args.componentName);
|
|
196
|
-
if (args.testStyle === 'browser-chrome') {
|
|
197
|
-
const scafFiles = await scaffoldTestFiles(args.componentName, args.license, args.forgeConfig, args.paths, journal, args.testDir);
|
|
198
|
-
testFiles.push(...scafFiles);
|
|
199
|
-
}
|
|
200
|
-
else if (args.testStyle === 'xpcshell') {
|
|
201
|
-
const xpcshellFiles = await scaffoldXpcshellTestFiles(args.componentName, args.license, args.forgeConfig, args.paths, journal, args.testDir);
|
|
202
|
-
testFiles.push(...xpcshellFiles);
|
|
203
|
-
}
|
|
204
|
-
else if (args.testStyle === 'mochikit') {
|
|
205
|
-
const mochikitFiles = await scaffoldMochikitTestFiles(args.componentName, args.license, args.paths, journal);
|
|
206
|
-
testFiles.push(...mochikitFiles);
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
catch (error) {
|
|
210
|
-
// `operationContext` is optional here (the dry-run and no-journal paths
|
|
211
|
-
// pass none), so the shared handler only applies when there is a
|
|
212
|
-
// lifecycle wrapper to tell.
|
|
213
|
-
if (args.operationContext) {
|
|
214
|
-
return await completeJournalRollback(args.operationContext, journal, error, {
|
|
215
|
-
projectRoot: args.projectRoot,
|
|
216
|
-
operation: 'create-rollback',
|
|
217
|
-
failureMessage: `Failed to create custom component "${args.componentName}"`,
|
|
218
|
-
subject: `component "${args.componentName}"`,
|
|
219
|
-
});
|
|
220
|
-
}
|
|
221
|
-
throw error;
|
|
222
|
-
}
|
|
223
|
-
return { files, testFiles };
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* Prompts the operator for a description when the command is interactive and
|
|
227
|
-
* the operator did not pass `-d`. Returns the resolved description string.
|
|
228
|
-
*/
|
|
229
|
-
async function resolveDescription(isInteractive, options) {
|
|
230
|
-
let description = options.description ?? '';
|
|
231
|
-
if (!description && isInteractive) {
|
|
232
|
-
const descResult = await text({
|
|
233
|
-
message: 'Description (optional):',
|
|
234
|
-
placeholder: 'A brief description of the component',
|
|
235
|
-
});
|
|
236
|
-
if (!isCancel(descResult)) {
|
|
237
|
-
description = descResult;
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
return description;
|
|
241
|
-
}
|
|
242
|
-
/**
|
|
243
|
-
* Runs the furnace create command to scaffold a new custom component.
|
|
244
|
-
* @param projectRoot - Root directory of the project
|
|
245
|
-
* @param name - Optional component tag name (prompted if not provided)
|
|
246
|
-
* @param options - CLI options for non-interactive mode
|
|
247
|
-
*/
|
|
248
|
-
export async function furnaceCreateCommand(projectRoot, name, options = {}) {
|
|
249
|
-
const isInteractive = stdioIsInteractive();
|
|
250
|
-
const isDryRun = options.dryRun ?? false;
|
|
251
|
-
intro(isDryRun ? 'Furnace Create (dry run)' : 'Furnace Create');
|
|
252
|
-
// --- Resolve component name ---
|
|
253
|
-
// Validation runs before we load/create any persisted furnace config so a
|
|
254
|
-
// failed authoring command never auto-creates furnace.json in a fresh
|
|
255
|
-
// directory.
|
|
256
|
-
let componentName = name;
|
|
257
|
-
if (componentName) {
|
|
258
|
-
const validationError = validateTagName(componentName);
|
|
259
|
-
if (validationError) {
|
|
260
|
-
throw new InvalidArgumentError(validationError, 'name');
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
else if (!isInteractive) {
|
|
264
|
-
throw new InvalidArgumentError('Component name is required in non-interactive mode.\n' +
|
|
265
|
-
'Usage: fireforge furnace create <name> -d "description"', 'name');
|
|
266
|
-
}
|
|
267
|
-
const paths = getProjectPaths(projectRoot);
|
|
268
|
-
const forgeConfig = await loadConfig(projectRoot);
|
|
269
|
-
const license = forgeConfig.license ?? DEFAULT_LICENSE;
|
|
270
|
-
const furnacePaths = getFurnacePaths(projectRoot);
|
|
271
|
-
if (!componentName) {
|
|
272
|
-
// Interactive prompt path. Non-interactive missing-name was rejected above.
|
|
273
|
-
const nameResult = await text({
|
|
274
|
-
message: 'Component tag name:',
|
|
275
|
-
placeholder: 'moz-my-widget',
|
|
276
|
-
// Message-returning form: the throwing `validateTagName` escaped
|
|
277
|
-
// clack's validation loop and killed the prompt on a bad name.
|
|
278
|
-
validate: (value) => describeTagNameProblem(value ?? ''),
|
|
279
|
-
});
|
|
280
|
-
if (isCancel(nameResult)) {
|
|
281
|
-
cancel('Create cancelled');
|
|
282
|
-
return;
|
|
283
|
-
}
|
|
284
|
-
componentName = nameResult;
|
|
285
|
-
}
|
|
286
|
-
// Load the current furnace config only after the interactive name prompt
|
|
287
|
-
// succeeds so a cancelled create in a fresh project does not strand a new
|
|
288
|
-
// furnace.json behind.
|
|
289
|
-
const config = await loadAuthoringFurnaceConfig(projectRoot);
|
|
290
|
-
const composes = options.compose;
|
|
291
|
-
const stockAdditions = await resolveComposeStockAdditions({
|
|
292
|
-
engineDir: paths.engine,
|
|
293
|
-
config,
|
|
294
|
-
componentName,
|
|
295
|
-
composes,
|
|
296
|
-
});
|
|
297
|
-
validateCreateAgainstConfig(config, componentName, options.allowPrefixMismatch, composes, stockAdditions);
|
|
298
|
-
// Check if it already exists in the engine source tree
|
|
299
|
-
if (await pathExists(paths.engine)) {
|
|
300
|
-
if (await isComponentInEngine(paths.engine, componentName)) {
|
|
301
|
-
throw new FurnaceError(`"${componentName}" already exists in the engine source tree. Use "fireforge furnace override" instead.`, componentName);
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
// --- Resolve description ---
|
|
305
|
-
const description = await resolveDescription(isInteractive, options);
|
|
306
|
-
// --- Resolve features ---
|
|
307
|
-
const featureSelection = await resolveCreateFeatures(isInteractive, options);
|
|
308
|
-
if (!featureSelection) {
|
|
309
|
-
return;
|
|
310
|
-
}
|
|
311
|
-
const { localized, register } = featureSelection;
|
|
312
|
-
// Collapse --with-tests / --xpcshell / --test-style into the single
|
|
313
|
-
// scaffold selection used by the mutation phase. The resolver validates
|
|
314
|
-
// incompatible combinations up-front so a bad flag set never strands a
|
|
315
|
-
// partial mutation behind.
|
|
316
|
-
const testStyle = resolveTestStyle(options);
|
|
317
|
-
const testDir = resolveValidatedTestDir(options.testDir, testStyle);
|
|
318
|
-
// Not routed through assertFurnaceEngineReady: this rung is conditional on
|
|
319
|
-
// a test style being requested, and it names the component so the refusal
|
|
320
|
-
// identifies which create failed. Both are outside the shared helper's
|
|
321
|
-
// shape, and a scaffold without --with-tests must keep working with no
|
|
322
|
-
// engine present.
|
|
323
|
-
if (testStyle !== 'none' && !(await pathExists(paths.engine))) {
|
|
324
|
-
throw new FurnaceError('Engine directory not found. Run "fireforge download" first to use --with-tests, --xpcshell, or --test-style.', componentName);
|
|
325
|
-
}
|
|
326
|
-
// --- Generate component files ---
|
|
327
|
-
const className = tagNameToClassName(componentName);
|
|
328
|
-
const componentDir = join(furnacePaths.customDir, componentName);
|
|
329
|
-
// Check if directory already exists on disk
|
|
330
|
-
if (await pathExists(componentDir)) {
|
|
331
|
-
throw new FurnaceError(`Directory already exists: components/custom/${componentName}`, componentName);
|
|
332
|
-
}
|
|
333
|
-
// Normalize and validate --shared-ftl ahead of any writes. Shares the
|
|
334
|
-
// structural rules with furnace-config.ts so the command and the on-disk
|
|
335
|
-
// schema cannot diverge. Pass the resolved `localized` rather than a `true`
|
|
336
|
-
// literal so the validator's cross-field check stays anchored to the real
|
|
337
|
-
// feature selection. `resolveCreateFeatures` promotes localized upstream,
|
|
338
|
-
// and hard-coding `true` here would hide a regression if that promotion
|
|
339
|
-
// ever moved or dropped.
|
|
340
|
-
let sharedFtl;
|
|
341
|
-
if (options.sharedFtl !== undefined) {
|
|
342
|
-
const result = validateSharedFtl(options.sharedFtl, { localized });
|
|
343
|
-
if (!result.ok) {
|
|
344
|
-
throw new InvalidArgumentError(`--shared-ftl ${result.reason}.`, 'sharedFtl');
|
|
345
|
-
}
|
|
346
|
-
sharedFtl = result.value;
|
|
347
|
-
}
|
|
348
|
-
// Dry-run exits here. Every validation that does not need a write has
|
|
349
|
-
// already run, so the plan we render reflects exactly what the real
|
|
350
|
-
// command would do. The mutation phase and its rollback journal are
|
|
351
|
-
// skipped so no furnace.json/engine state is touched.
|
|
352
|
-
if (isDryRun) {
|
|
353
|
-
const plan = formatDryRunPlan({
|
|
354
|
-
componentName,
|
|
355
|
-
localized,
|
|
356
|
-
register,
|
|
357
|
-
composes,
|
|
358
|
-
stockAdditions,
|
|
359
|
-
// Spread rather than assign so the key is absent when sharedFtl is
|
|
360
|
-
// undefined. The DryRunPlanInput type uses a strict-optional shape.
|
|
361
|
-
...(sharedFtl !== undefined ? { sharedFtl } : {}),
|
|
362
|
-
testStyle,
|
|
363
|
-
description,
|
|
364
|
-
binaryName: forgeConfig.binaryName,
|
|
365
|
-
// The plan must name the directory the scaffolder will actually use:
|
|
366
|
-
// an omitted override here is how the printed path came to disagree
|
|
367
|
-
// with the files a real run wrote.
|
|
368
|
-
...(testDir !== undefined ? { testDir } : {}),
|
|
369
|
-
});
|
|
370
|
-
note(plan, componentName);
|
|
371
|
-
outro('Dry run complete (no files modified)');
|
|
372
|
-
return;
|
|
373
|
-
}
|
|
374
|
-
// All validation is done. Hand off to the transactional mutation helper
|
|
375
|
-
// so any failure restores the workspace and engine to their pre-command
|
|
376
|
-
// state via the shared rollback journal. The mutation runs under the
|
|
377
|
-
// furnace-wide lock and is registered with the global SIGINT/SIGTERM
|
|
378
|
-
// rollback pathway.
|
|
379
|
-
const { files, testFiles } = await runFurnaceMutation(projectRoot, 'create-rollback', (ctx) => performCreateMutations({
|
|
380
|
-
projectRoot,
|
|
381
|
-
componentName,
|
|
382
|
-
className,
|
|
383
|
-
description,
|
|
384
|
-
localized,
|
|
385
|
-
register,
|
|
386
|
-
composes,
|
|
387
|
-
sharedFtl,
|
|
388
|
-
componentDir,
|
|
389
|
-
furnacePaths,
|
|
390
|
-
allowPrefixMismatch: options.allowPrefixMismatch,
|
|
391
|
-
forgeConfig,
|
|
392
|
-
paths,
|
|
393
|
-
license,
|
|
394
|
-
testStyle,
|
|
395
|
-
testDir,
|
|
396
|
-
operationContext: ctx,
|
|
397
|
-
}), waitLockMutationOptions(options.waitLockSeconds));
|
|
398
|
-
note(formatSuccessNote({
|
|
399
|
-
componentName,
|
|
400
|
-
files,
|
|
401
|
-
testFiles,
|
|
402
|
-
testStyle,
|
|
403
|
-
binaryName: forgeConfig.binaryName,
|
|
404
|
-
...(testDir !== undefined ? { testDir } : {}),
|
|
405
|
-
}), componentName);
|
|
406
|
-
outro('Component created');
|
|
407
|
-
}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Includer follow-up for a targeted `furnace deploy <tag>`.
|
|
3
|
-
*
|
|
4
|
-
* When `<tag>` includes a shared CSS fragment that changed, every other
|
|
5
|
-
* deployed includer of that fragment still carries the old expansion after
|
|
6
|
-
* the targeted deploy. Deploy-all refreshes all of them as a side effect of
|
|
7
|
-
* deploying everything; the targeted form refreshes only the named
|
|
8
|
-
* component. This module refreshes the other
|
|
9
|
-
* stale includers through the same pipeline and reports them, so a stale
|
|
10
|
-
* expansion is never left behind silently.
|
|
11
|
-
*/
|
|
12
|
-
import { type ApplyAllComponentsResult } from '../../core/furnace-apply.js';
|
|
13
|
-
import type { FurnacePaths } from '../../core/furnace-config.js';
|
|
14
|
-
import { type StaleFragmentIncluder } from '../../core/furnace-fragment-includers.js';
|
|
15
|
-
import type { FurnaceOperationContext } from '../../core/furnace-operation.js';
|
|
16
|
-
import type { FurnaceConfig } from '../../types/furnace.js';
|
|
17
|
-
/** Outcome of the includer follow-up. */
|
|
18
|
-
export interface FragmentIncluderRefresh {
|
|
19
|
-
/** Fragments `<tag>` includes that other deployed includers had stale. */
|
|
20
|
-
fragments: string[];
|
|
21
|
-
/** Includers applied cleanly (dry-run: the includers that would be). */
|
|
22
|
-
refreshed: string[];
|
|
23
|
-
/** Includers whose refresh reported errors or step failures. */
|
|
24
|
-
failed: StaleFragmentIncluder[];
|
|
25
|
-
/** One apply result per includer attempted (empty in dry-run). */
|
|
26
|
-
results: ApplyAllComponentsResult[];
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Refreshes the other deployed includers of the fragments `name` includes
|
|
30
|
-
* whose engine sheets are stale. Each includer is its own atomic unit:
|
|
31
|
-
* `applyAllComponents` restores its own journal on failure, and its state
|
|
32
|
-
* is persisted right after it succeeds, before the next includer starts.
|
|
33
|
-
* Must be called only after the primary component's state is persisted,
|
|
34
|
-
* so a signal mid-loop leaves every earlier unit committed and consistent.
|
|
35
|
-
*
|
|
36
|
-
* Dry-run computes the would-be set and applies nothing.
|
|
37
|
-
*/
|
|
38
|
-
export declare function refreshStaleFragmentIncluders(args: {
|
|
39
|
-
projectRoot: string;
|
|
40
|
-
name: string;
|
|
41
|
-
config: FurnaceConfig;
|
|
42
|
-
furnacePaths: FurnacePaths;
|
|
43
|
-
isDryRun: boolean;
|
|
44
|
-
operationContext: FurnaceOperationContext;
|
|
45
|
-
}): Promise<FragmentIncluderRefresh>;
|
|
46
|
-
/**
|
|
47
|
-
* Folds includer apply results into the primary result so the deploy
|
|
48
|
-
* summary, the jsconfig sync gate and the failed-component set all see
|
|
49
|
-
* them. An includer failure is a real apply error of this deploy: the
|
|
50
|
-
* operator asked for a consistent engine. `rolledBack` stays the
|
|
51
|
-
* primary's; an includer's rollback is already visible through its errors.
|
|
52
|
-
*/
|
|
53
|
-
export declare function mergeApplyResults(primary: ApplyAllComponentsResult, extras: readonly ApplyAllComponentsResult[]): ApplyAllComponentsResult;
|
|
54
|
-
/**
|
|
55
|
-
* Operator-facing lines for the includer follow-up: zero, one or two.
|
|
56
|
-
* The second is the fallback for includers that could not be refreshed and
|
|
57
|
-
* names the command that refreshes everything.
|
|
58
|
-
*/
|
|
59
|
-
export declare function formatFragmentIncluderNotice(refresh: FragmentIncluderRefresh, isDryRun: boolean): string[];
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Includer follow-up for a targeted `furnace deploy <tag>`.
|
|
4
|
-
*
|
|
5
|
-
* When `<tag>` includes a shared CSS fragment that changed, every other
|
|
6
|
-
* deployed includer of that fragment still carries the old expansion after
|
|
7
|
-
* the targeted deploy. Deploy-all refreshes all of them as a side effect of
|
|
8
|
-
* deploying everything; the targeted form refreshes only the named
|
|
9
|
-
* component. This module refreshes the other
|
|
10
|
-
* stale includers through the same pipeline and reports them, so a stale
|
|
11
|
-
* expansion is never left behind silently.
|
|
12
|
-
*/
|
|
13
|
-
import { getProjectPaths } from '../../core/config.js';
|
|
14
|
-
import { applyAllComponents } from '../../core/furnace-apply.js';
|
|
15
|
-
import { findStaleIncludersOfTargetFragments, } from '../../core/furnace-fragment-includers.js';
|
|
16
|
-
import { getPersistableAppliedEntry, persistSingleComponentState, shouldPersistSingleComponentState, } from '../../core/furnace-state-persist.js';
|
|
17
|
-
const EMPTY_REFRESH = {
|
|
18
|
-
fragments: [],
|
|
19
|
-
refreshed: [],
|
|
20
|
-
failed: [],
|
|
21
|
-
results: [],
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* Refreshes the other deployed includers of the fragments `name` includes
|
|
25
|
-
* whose engine sheets are stale. Each includer is its own atomic unit:
|
|
26
|
-
* `applyAllComponents` restores its own journal on failure, and its state
|
|
27
|
-
* is persisted right after it succeeds, before the next includer starts.
|
|
28
|
-
* Must be called only after the primary component's state is persisted,
|
|
29
|
-
* so a signal mid-loop leaves every earlier unit committed and consistent.
|
|
30
|
-
*
|
|
31
|
-
* Dry-run computes the would-be set and applies nothing.
|
|
32
|
-
*/
|
|
33
|
-
export async function refreshStaleFragmentIncluders(args) {
|
|
34
|
-
const { projectRoot, name, config, furnacePaths, isDryRun, operationContext } = args;
|
|
35
|
-
if (!(name in config.custom))
|
|
36
|
-
return EMPTY_REFRESH;
|
|
37
|
-
const { stale } = await findStaleIncludersOfTargetFragments({
|
|
38
|
-
targetTag: name,
|
|
39
|
-
custom: config.custom,
|
|
40
|
-
furnacePaths,
|
|
41
|
-
engineDir: getProjectPaths(projectRoot).engine,
|
|
42
|
-
});
|
|
43
|
-
if (stale.length === 0)
|
|
44
|
-
return EMPTY_REFRESH;
|
|
45
|
-
const fragmentsWithStaleIncluders = [...new Set(stale.flatMap((s) => s.fragments))].sort();
|
|
46
|
-
if (isDryRun) {
|
|
47
|
-
return {
|
|
48
|
-
fragments: fragmentsWithStaleIncluders,
|
|
49
|
-
refreshed: stale.map((s) => s.tag),
|
|
50
|
-
failed: [],
|
|
51
|
-
results: [],
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
const refreshed = [];
|
|
55
|
-
const failed = [];
|
|
56
|
-
const results = [];
|
|
57
|
-
for (const includer of stale) {
|
|
58
|
-
const result = await applyAllComponents(projectRoot, false, {
|
|
59
|
-
componentName: includer.tag,
|
|
60
|
-
persistState: false,
|
|
61
|
-
operationContext,
|
|
62
|
-
});
|
|
63
|
-
results.push(result);
|
|
64
|
-
if (shouldPersistSingleComponentState(result, false)) {
|
|
65
|
-
await persistSingleComponentState(projectRoot, getPersistableAppliedEntry('Deploy', includer.tag, result.applied[0]), furnacePaths);
|
|
66
|
-
refreshed.push(includer.tag);
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
failed.push(includer);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return { fragments: fragmentsWithStaleIncluders, refreshed, failed, results };
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Folds includer apply results into the primary result so the deploy
|
|
76
|
-
* summary, the jsconfig sync gate and the failed-component set all see
|
|
77
|
-
* them. An includer failure is a real apply error of this deploy: the
|
|
78
|
-
* operator asked for a consistent engine. `rolledBack` stays the
|
|
79
|
-
* primary's; an includer's rollback is already visible through its errors.
|
|
80
|
-
*/
|
|
81
|
-
export function mergeApplyResults(primary, extras) {
|
|
82
|
-
if (extras.length === 0)
|
|
83
|
-
return primary;
|
|
84
|
-
const warnings = [primary, ...extras].flatMap((r) => r.warnings ?? []);
|
|
85
|
-
const actions = [primary, ...extras].flatMap((r) => r.actions ?? []);
|
|
86
|
-
const anyWarnings = [primary, ...extras].some((r) => r.warnings !== undefined);
|
|
87
|
-
const anyActions = [primary, ...extras].some((r) => r.actions !== undefined);
|
|
88
|
-
return {
|
|
89
|
-
...primary,
|
|
90
|
-
applied: [...primary.applied, ...extras.flatMap((r) => r.applied)],
|
|
91
|
-
skipped: [...primary.skipped, ...extras.flatMap((r) => r.skipped)],
|
|
92
|
-
errors: [...primary.errors, ...extras.flatMap((r) => r.errors)],
|
|
93
|
-
...(anyWarnings ? { warnings } : {}),
|
|
94
|
-
...(anyActions ? { actions } : {}),
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
function quoteList(items) {
|
|
98
|
-
return items.map((item) => `"${item}"`).join(', ');
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Operator-facing lines for the includer follow-up: zero, one or two.
|
|
102
|
-
* The second is the fallback for includers that could not be refreshed and
|
|
103
|
-
* names the command that refreshes everything.
|
|
104
|
-
*/
|
|
105
|
-
export function formatFragmentIncluderNotice(refresh, isDryRun) {
|
|
106
|
-
const lines = [];
|
|
107
|
-
if (refresh.refreshed.length > 0) {
|
|
108
|
-
const n = refresh.refreshed.length;
|
|
109
|
-
lines.push(`${isDryRun ? 'Would also refresh' : 'Also refreshed'} ${n} other includer${n === 1 ? '' : 's'} ` +
|
|
110
|
-
`of ${quoteList(refresh.fragments)}: ${refresh.refreshed.join(', ')}.`);
|
|
111
|
-
}
|
|
112
|
-
if (refresh.failed.length > 0) {
|
|
113
|
-
const n = refresh.failed.length;
|
|
114
|
-
const fragments = [...new Set(refresh.failed.flatMap((f) => f.fragments))].sort();
|
|
115
|
-
lines.push(`${n} other includer${n === 1 ? '' : 's'} of ${quoteList(fragments)} ` +
|
|
116
|
-
`remain stale: ${refresh.failed.map((f) => f.tag).join(', ')}. ` +
|
|
117
|
-
'Run `fireforge furnace deploy` (all).');
|
|
118
|
-
}
|
|
119
|
-
return lines;
|
|
120
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Targeted `furnace deploy <name>...`: one or more named components applied
|
|
3
|
-
* under ONE furnace lock hold.
|
|
4
|
-
*
|
|
5
|
-
* Deploying a set of widgets one invocation at a time put every call at the
|
|
6
|
-
* back of the engine-lock queue, so a forty-widget deploy waited forty
|
|
7
|
-
* times. Naming them together waits once. Each named component is still its
|
|
8
|
-
* own atomic unit (applied, then its state persisted, before the next one
|
|
9
|
-
* starts), exactly as a single-name deploy, so a failure or signal midway
|
|
10
|
-
* leaves every earlier component committed and consistent.
|
|
11
|
-
*/
|
|
12
|
-
import { type ApplyAllComponentsResult } from '../../core/furnace-apply.js';
|
|
13
|
-
import type { FurnacePaths } from '../../core/furnace-config.js';
|
|
14
|
-
import type { FurnaceOperationContext } from '../../core/furnace-operation.js';
|
|
15
|
-
import type { FurnaceConfig } from '../../types/furnace.js';
|
|
16
|
-
import { type FragmentIncluderRefresh } from './deploy-fragment-includers.js';
|
|
17
|
-
/** Outcome of {@link deployNamedComponents}. */
|
|
18
|
-
export type NamedDeployOutcome = {
|
|
19
|
-
kind: 'stock';
|
|
20
|
-
stock: string[];
|
|
21
|
-
} | {
|
|
22
|
-
kind: 'result';
|
|
23
|
-
result: ApplyAllComponentsResult;
|
|
24
|
-
includers: FragmentIncluderRefresh;
|
|
25
|
-
/** Named entries that are stock (warned about, never applied). */
|
|
26
|
-
stock: string[];
|
|
27
|
-
/** Named entries that are overrides or custom components, in order. */
|
|
28
|
-
deployed: string[];
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* Applies each named override or custom component through the same
|
|
32
|
-
* pipeline as deploy-all (`applyAllComponents` with a `componentName`
|
|
33
|
-
* filter), persisting each one's state right after it applies cleanly.
|
|
34
|
-
* Only then are the other stale includers of the fragments the cleanly
|
|
35
|
-
* applied components include refreshed, so an includer that is itself
|
|
36
|
-
* named is applied once, as a named component.
|
|
37
|
-
*
|
|
38
|
-
* Must run inside one `runFurnaceMutation` so the whole set shares a single
|
|
39
|
-
* lock hold.
|
|
40
|
-
*/
|
|
41
|
-
export declare function deployNamedComponents(args: {
|
|
42
|
-
projectRoot: string;
|
|
43
|
-
names: readonly string[];
|
|
44
|
-
config: FurnaceConfig;
|
|
45
|
-
furnacePaths: FurnacePaths;
|
|
46
|
-
isDryRun: boolean;
|
|
47
|
-
operationContext: FurnaceOperationContext;
|
|
48
|
-
}): Promise<NamedDeployOutcome>;
|