@hominis/fireforge 0.55.0 → 0.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +233 -6
- package/README.md +51 -17
- package/dist/bin/fireforge.js +34 -129
- package/dist/build-info.json +4 -4
- package/dist/src/check/check.js +394 -0
- package/dist/src/check/gate.js +448 -0
- package/dist/src/check/index.js +10 -0
- package/dist/src/check/record.js +155 -0
- package/dist/src/cli/command.js +286 -0
- package/dist/src/cli/output.js +96 -0
- package/dist/src/cli/program.js +231 -0
- package/dist/src/cli/stdio.js +59 -0
- package/dist/src/cli/version.js +99 -0
- package/dist/src/commands/bootstrap.js +17 -102
- package/dist/src/commands/build.js +34 -456
- package/dist/src/commands/check.js +44 -157
- package/dist/src/commands/config.js +50 -226
- package/dist/src/commands/discard.js +38 -215
- package/dist/src/commands/doctor.js +29 -456
- package/dist/src/commands/download.js +35 -499
- package/dist/src/commands/export.js +42 -431
- package/dist/src/commands/furnace.js +220 -0
- package/dist/src/commands/gate.js +127 -0
- package/dist/src/commands/import.js +44 -445
- package/dist/src/commands/index.js +86 -0
- package/dist/src/commands/lint.js +44 -546
- package/dist/src/commands/merge-driver.js +56 -0
- package/dist/src/commands/migrate.js +75 -0
- package/dist/src/commands/override.js +43 -0
- package/dist/src/commands/package.js +48 -77
- package/dist/src/commands/patch.js +221 -0
- package/dist/src/commands/re-export.js +55 -359
- package/dist/src/commands/rebase.js +69 -0
- package/dist/src/commands/register.js +62 -103
- package/dist/src/commands/reset.js +28 -91
- package/dist/src/commands/resolve.js +20 -167
- package/dist/src/commands/restore.js +19 -0
- package/dist/src/commands/run.js +60 -382
- package/dist/src/commands/setup.js +78 -90
- package/dist/src/commands/status.js +44 -413
- package/dist/src/commands/test.js +97 -423
- package/dist/src/commands/token.js +185 -228
- package/dist/src/commands/typecheck.js +59 -241
- package/dist/src/commands/verify.js +28 -334
- package/dist/src/commands/version.js +14 -0
- package/dist/src/commands/watch.js +20 -218
- package/dist/src/commands/wire.js +60 -349
- package/dist/src/commands/workspace.js +117 -0
- package/dist/src/config/edit.js +237 -0
- package/dist/src/config/index.js +15 -0
- package/dist/src/config/load.js +59 -0
- package/dist/src/config/previous.js +404 -0
- package/dist/src/config/schema/build.js +63 -0
- package/dist/src/config/schema/check.js +113 -0
- package/dist/src/config/schema/common.js +71 -0
- package/dist/src/config/schema/export-queue.js +36 -0
- package/dist/src/config/schema/firefox.js +69 -0
- package/dist/src/config/schema/gate.js +199 -0
- package/dist/src/config/schema/identity.js +55 -0
- package/dist/src/config/schema/index.js +45 -0
- package/dist/src/config/schema/lint.js +297 -0
- package/dist/src/config/schema/policy.js +111 -0
- package/dist/src/config/schema/source.js +90 -0
- package/dist/src/config/schema/test.js +17 -0
- package/dist/src/config/schema/toolchains.js +17 -0
- package/dist/src/config/schema/typecheck.js +29 -0
- package/dist/src/config/schema/wire.js +15 -0
- package/dist/src/diff/apply.js +129 -0
- package/dist/src/diff/index.js +16 -0
- package/dist/src/diff/model.js +267 -0
- package/dist/src/diff/query.js +65 -0
- package/dist/src/doctor/index.js +240 -0
- package/dist/src/engine/archive.js +396 -0
- package/dist/src/engine/audit.js +66 -0
- package/dist/src/engine/build.js +150 -0
- package/dist/src/engine/hostLocks.js +66 -0
- package/dist/src/engine/index.js +26 -0
- package/dist/src/engine/installManifests.js +147 -0
- package/dist/src/engine/mach.js +97 -0
- package/dist/src/engine/machHints.js +80 -0
- package/dist/src/engine/mozconfig.js +110 -0
- package/dist/src/engine/objdir.js +124 -0
- package/dist/src/engine/package.js +169 -0
- package/dist/src/engine/pin.js +12 -0
- package/dist/src/engine/pool.js +423 -0
- package/dist/src/engine/pristine.js +281 -0
- package/dist/src/engine/python.js +68 -0
- package/dist/src/engine/resourceGuard.js +582 -0
- package/dist/src/engine/run.js +259 -0
- package/dist/src/engine/smoke.js +204 -0
- package/dist/src/engine/staleness.js +229 -0
- package/dist/src/engine/watch.js +82 -0
- package/dist/src/engine/workspace.js +85 -0
- package/dist/src/furnace/config.js +360 -0
- package/dist/src/furnace/deploy.js +414 -0
- package/dist/src/furnace/diff.js +59 -0
- package/dist/src/furnace/edit.js +64 -0
- package/dist/src/furnace/fragments.js +53 -0
- package/dist/src/furnace/index.js +19 -0
- package/dist/src/furnace/operations.js +283 -0
- package/dist/src/furnace/registration.js +220 -0
- package/dist/src/furnace/scaffold.js +311 -0
- package/dist/src/furnace/typing.js +252 -0
- package/dist/src/furnace/validate.js +662 -0
- package/dist/src/git/apply.js +129 -0
- package/dist/src/git/diff.js +143 -0
- package/dist/src/git/index.js +33 -0
- package/dist/src/git/objects.js +201 -0
- package/dist/src/git/refs.js +85 -0
- package/dist/src/git/repo.js +222 -0
- package/dist/src/git/run.js +242 -0
- package/dist/src/git/status.js +156 -0
- package/dist/src/kernel/errors.js +123 -0
- package/dist/src/kernel/fs.js +515 -0
- package/dist/src/kernel/glob.js +63 -0
- package/dist/src/kernel/hash.js +28 -0
- package/dist/src/kernel/journal.js +524 -0
- package/dist/src/kernel/json-edit.js +198 -0
- package/dist/src/kernel/json.js +101 -0
- package/dist/src/kernel/lock.js +589 -0
- package/dist/src/kernel/log.js +154 -0
- package/dist/src/kernel/process/identity.js +313 -0
- package/dist/src/kernel/process/index.js +8 -0
- package/dist/src/kernel/process/listing.js +128 -0
- package/dist/src/kernel/process/spawn.js +430 -0
- package/dist/src/kernel/process/tree.js +301 -0
- package/dist/src/kernel/schema.js +308 -0
- package/dist/src/kernel/signals.js +171 -0
- package/dist/src/kernel/text.js +151 -0
- package/dist/src/kernel/time.js +83 -0
- package/dist/src/kernel/tty.js +84 -0
- package/dist/src/lint/cache.js +77 -0
- package/dist/src/lint/checkjs.js +400 -0
- package/dist/src/lint/index.js +3 -0
- package/dist/src/lint/input.js +100 -0
- package/dist/src/lint/report.js +107 -0
- package/dist/src/lint/rule.js +41 -0
- package/dist/src/lint/rules/css.js +308 -0
- package/dist/src/lint/rules/javascript.js +299 -0
- package/dist/src/lint/rules/jsdoc.js +249 -0
- package/dist/src/lint/rules/license.js +93 -0
- package/dist/src/lint/rules/policy.js +201 -0
- package/dist/src/lint/rules/registration.js +264 -0
- package/dist/src/lint/rules/size.js +299 -0
- package/dist/src/lint/run.js +126 -0
- package/dist/src/lint/shim.js +323 -0
- package/dist/src/lint/typescript.js +186 -0
- package/dist/src/lint/waivers.js +93 -0
- package/dist/src/mode/changes.js +264 -0
- package/dist/src/mode/diagnose.js +173 -0
- package/dist/src/mode/export.js +147 -0
- package/dist/src/mode/index.js +23 -0
- package/dist/src/mode/migrate.js +181 -0
- package/dist/src/mode/previousWaivers.js +206 -0
- package/dist/src/mode/pristine.js +61 -0
- package/dist/src/mode/rebase.js +197 -0
- package/dist/src/mode/report.js +157 -0
- package/dist/src/mode/setup.js +103 -0
- package/dist/src/mode/tracked.js +116 -0
- package/dist/src/mode/upgrade.js +281 -0
- package/dist/src/mode/watch.js +83 -0
- package/dist/src/mode/workspace.js +189 -0
- package/dist/src/mozbuild/index.js +6 -0
- package/dist/src/mozbuild/jar.js +366 -0
- package/dist/src/mozbuild/mozbuild.js +321 -0
- package/dist/src/mozbuild/paths.js +96 -0
- package/dist/src/mozbuild/references.js +39 -0
- package/dist/src/mozbuild/testManifest.js +343 -0
- package/dist/src/mozbuild/text.js +142 -0
- package/dist/src/project/changes.js +145 -0
- package/dist/src/project/checkout.js +66 -0
- package/dist/src/project/index.js +11 -0
- package/dist/src/project/license.js +119 -0
- package/dist/src/project/project.js +111 -0
- package/dist/src/project/state.js +85 -0
- package/dist/src/project/tracked.js +1 -0
- package/dist/src/queue/apply.js +270 -0
- package/dist/src/queue/attribute.js +159 -0
- package/dist/src/queue/baseline.js +409 -0
- package/dist/src/queue/capture.js +298 -0
- package/dist/src/queue/changes.js +234 -0
- package/dist/src/queue/index.js +50 -0
- package/dist/src/queue/manifest.js +341 -0
- package/dist/src/queue/operations.js +454 -0
- package/dist/src/queue/placement.js +220 -0
- package/dist/src/queue/queue.js +359 -0
- package/dist/src/queue/restore.js +103 -0
- package/dist/src/queue/session.js +685 -0
- package/dist/src/queue/status.js +137 -0
- package/dist/src/register/files.js +39 -0
- package/dist/src/register/index.js +8 -0
- package/dist/src/register/js.js +217 -0
- package/dist/src/register/register.js +359 -0
- package/dist/src/register/wire.js +146 -0
- package/dist/src/source/adopt.js +99 -0
- package/dist/src/source/changes.js +132 -0
- package/dist/src/source/edit.js +278 -0
- package/dist/src/source/export.js +70 -0
- package/dist/src/source/groups.js +131 -0
- package/dist/src/source/index.js +20 -0
- package/dist/src/source/materialize.js +382 -0
- package/dist/src/source/merge.js +255 -0
- package/dist/src/source/objects.js +102 -0
- package/dist/src/source/previous.js +166 -0
- package/dist/src/source/records.js +138 -0
- package/dist/src/source/refresh.js +264 -0
- package/dist/src/source/tree.js +337 -0
- package/dist/src/syntax/css.js +215 -0
- package/dist/src/syntax/fragments.js +63 -0
- package/dist/src/syntax/index.js +10 -0
- package/dist/src/syntax/js.js +270 -0
- package/dist/src/test/classify.js +826 -0
- package/dist/src/test/control.js +236 -0
- package/dist/src/test/host.js +266 -0
- package/dist/src/test/index.js +11 -0
- package/dist/src/test/plan.js +347 -0
- package/dist/src/test/rawLog.js +138 -0
- package/dist/src/test/run.js +404 -0
- package/dist/src/test/verdict.js +420 -0
- package/dist/src/test/xpcshell.js +143 -0
- package/dist/src/tokens/add.js +304 -0
- package/dist/src/tokens/coverage.js +65 -0
- package/dist/src/tokens/css.js +58 -0
- package/dist/src/tokens/index.js +12 -0
- package/dist/src/tokens/lint.js +96 -0
- package/dist/src/tokens/model.js +118 -0
- package/dist/src/tokens/settings.js +87 -0
- package/dist/src/tokens/siblings.js +104 -0
- package/dist/src/typecheck/explain.js +123 -0
- package/dist/src/typecheck/index.js +8 -0
- package/dist/src/typecheck/typecheck.js +332 -0
- package/docs/README.md +23 -28
- package/docs/authoring.md +97 -0
- package/docs/configuration.md +307 -766
- package/docs/exit-codes.md +76 -94
- package/docs/furnace.md +111 -221
- package/docs/gate.md +205 -0
- package/docs/getting-started.md +165 -0
- package/docs/machine-output.md +201 -290
- package/docs/migrating.md +261 -0
- package/docs/patch-workflow.md +159 -723
- package/docs/quality.md +220 -0
- package/docs/source-workflow.md +228 -0
- package/docs/testing.md +101 -719
- package/docs/workspaces.md +187 -0
- package/package.json +22 -30
- package/templates/configs/common.mozconfig +8 -2
- package/templates/configs/darwin.mozconfig +6 -7
- package/templates/configs/linux.mozconfig +5 -8
- package/templates/configs/win32.mozconfig +3 -9
- package/dist/bin/fireforge.d.ts +0 -9
- package/dist/src/cli-usage-error.d.ts +0 -46
- package/dist/src/cli-usage-error.js +0 -81
- package/dist/src/cli.d.ts +0 -41
- package/dist/src/cli.js +0 -380
- package/dist/src/commands/bootstrap-checks.d.ts +0 -16
- package/dist/src/commands/bootstrap-checks.js +0 -66
- package/dist/src/commands/bootstrap.d.ts +0 -10
- package/dist/src/commands/build-prelock.d.ts +0 -20
- package/dist/src/commands/build-prelock.js +0 -50
- package/dist/src/commands/build.d.ts +0 -13
- package/dist/src/commands/check-report.d.ts +0 -41
- package/dist/src/commands/check-report.js +0 -98
- package/dist/src/commands/check-run.d.ts +0 -44
- package/dist/src/commands/check-run.js +0 -125
- package/dist/src/commands/check-steps.d.ts +0 -75
- package/dist/src/commands/check-steps.js +0 -200
- package/dist/src/commands/check.d.ts +0 -32
- package/dist/src/commands/config.d.ts +0 -13
- package/dist/src/commands/declarations-report.d.ts +0 -49
- package/dist/src/commands/declarations-report.js +0 -83
- package/dist/src/commands/destructive-decision.d.ts +0 -19
- package/dist/src/commands/destructive-decision.js +0 -31
- package/dist/src/commands/discard.d.ts +0 -12
- package/dist/src/commands/doctor-check-core.d.ts +0 -110
- package/dist/src/commands/doctor-check-core.js +0 -24
- package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
- package/dist/src/commands/doctor-engine-eslint.js +0 -17
- package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
- package/dist/src/commands/doctor-external-toolchains.js +0 -56
- package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
- package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
- package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
- package/dist/src/commands/doctor-furnace-jar.js +0 -44
- package/dist/src/commands/doctor-furnace.d.ts +0 -8
- package/dist/src/commands/doctor-furnace.js +0 -514
- package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
- package/dist/src/commands/doctor-macos-sdk.js +0 -158
- package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
- package/dist/src/commands/doctor-orphaned-harness.js +0 -98
- package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
- package/dist/src/commands/doctor-patch-manifest.js +0 -156
- package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
- package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
- package/dist/src/commands/doctor-source-pin.d.ts +0 -29
- package/dist/src/commands/doctor-source-pin.js +0 -91
- package/dist/src/commands/doctor-working-tree.d.ts +0 -27
- package/dist/src/commands/doctor-working-tree.js +0 -89
- package/dist/src/commands/doctor.d.ts +0 -49
- package/dist/src/commands/download.d.ts +0 -11
- package/dist/src/commands/export-adopt-check.d.ts +0 -37
- package/dist/src/commands/export-adopt-check.js +0 -97
- package/dist/src/commands/export-all.d.ts +0 -11
- package/dist/src/commands/export-all.js +0 -361
- package/dist/src/commands/export-flow.d.ts +0 -124
- package/dist/src/commands/export-flow.js +0 -423
- package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
- package/dist/src/commands/export-placement-conflicts.js +0 -75
- package/dist/src/commands/export-placement-gate.d.ts +0 -42
- package/dist/src/commands/export-placement-gate.js +0 -107
- package/dist/src/commands/export-placement-policy.d.ts +0 -22
- package/dist/src/commands/export-placement-policy.js +0 -54
- package/dist/src/commands/export-shared.d.ts +0 -152
- package/dist/src/commands/export-shared.js +0 -396
- package/dist/src/commands/export-staged-registration.d.ts +0 -46
- package/dist/src/commands/export-staged-registration.js +0 -91
- package/dist/src/commands/export.d.ts +0 -13
- package/dist/src/commands/forward-import-remedy.d.ts +0 -31
- package/dist/src/commands/forward-import-remedy.js +0 -62
- package/dist/src/commands/furnace/apply.d.ts +0 -8
- package/dist/src/commands/furnace/apply.js +0 -327
- package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
- package/dist/src/commands/furnace/authoring-config.js +0 -19
- package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
- package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
- package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
- package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
- package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
- package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
- package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
- package/dist/src/commands/furnace/chrome-doc.js +0 -365
- package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
- package/dist/src/commands/furnace/create-browser-test.js +0 -179
- package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
- package/dist/src/commands/furnace/create-dry-run.js +0 -107
- package/dist/src/commands/furnace/create-features.d.ts +0 -24
- package/dist/src/commands/furnace/create-features.js +0 -55
- package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
- package/dist/src/commands/furnace/create-mochikit.js +0 -75
- package/dist/src/commands/furnace/create-readback.d.ts +0 -22
- package/dist/src/commands/furnace/create-readback.js +0 -32
- package/dist/src/commands/furnace/create-templates.d.ts +0 -119
- package/dist/src/commands/furnace/create-templates.js +0 -283
- package/dist/src/commands/furnace/create-validation.d.ts +0 -6
- package/dist/src/commands/furnace/create-validation.js +0 -59
- package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
- package/dist/src/commands/furnace/create-xpcshell.js +0 -80
- package/dist/src/commands/furnace/create.d.ts +0 -24
- package/dist/src/commands/furnace/create.js +0 -407
- package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
- package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
- package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
- package/dist/src/commands/furnace/deploy-named.js +0 -107
- package/dist/src/commands/furnace/deploy.d.ts +0 -9
- package/dist/src/commands/furnace/deploy.js +0 -229
- package/dist/src/commands/furnace/diff.d.ts +0 -11
- package/dist/src/commands/furnace/diff.js +0 -238
- package/dist/src/commands/furnace/index.d.ts +0 -4
- package/dist/src/commands/furnace/index.js +0 -283
- package/dist/src/commands/furnace/init.d.ts +0 -11
- package/dist/src/commands/furnace/init.js +0 -287
- package/dist/src/commands/furnace/list.d.ts +0 -8
- package/dist/src/commands/furnace/list.js +0 -104
- package/dist/src/commands/furnace/override.d.ts +0 -16
- package/dist/src/commands/furnace/override.js +0 -454
- package/dist/src/commands/furnace/preview.d.ts +0 -19
- package/dist/src/commands/furnace/preview.js +0 -349
- package/dist/src/commands/furnace/refresh.d.ts +0 -10
- package/dist/src/commands/furnace/refresh.js +0 -303
- package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
- package/dist/src/commands/furnace/remove-mutations.js +0 -168
- package/dist/src/commands/furnace/remove-state.d.ts +0 -20
- package/dist/src/commands/furnace/remove-state.js +0 -60
- package/dist/src/commands/furnace/remove.d.ts +0 -8
- package/dist/src/commands/furnace/remove.js +0 -415
- package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
- package/dist/src/commands/furnace/rename-browser-test.js +0 -68
- package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
- package/dist/src/commands/furnace/rename-dry-run.js +0 -127
- package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
- package/dist/src/commands/furnace/rename-helpers.js +0 -85
- package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
- package/dist/src/commands/furnace/rename-registrations.js +0 -98
- package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
- package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
- package/dist/src/commands/furnace/rename.d.ts +0 -6
- package/dist/src/commands/furnace/rename.js +0 -400
- package/dist/src/commands/furnace/scan.d.ts +0 -14
- package/dist/src/commands/furnace/scan.js +0 -192
- package/dist/src/commands/furnace/status.d.ts +0 -7
- package/dist/src/commands/furnace/status.js +0 -209
- package/dist/src/commands/furnace/sync.d.ts +0 -12
- package/dist/src/commands/furnace/sync.js +0 -145
- package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
- package/dist/src/commands/furnace/test-file-name.js +0 -39
- package/dist/src/commands/furnace/validate-report.d.ts +0 -45
- package/dist/src/commands/furnace/validate-report.js +0 -91
- package/dist/src/commands/furnace/validate.d.ts +0 -8
- package/dist/src/commands/furnace/validate.js +0 -309
- package/dist/src/commands/furnace/validation-output.d.ts +0 -47
- package/dist/src/commands/furnace/validation-output.js +0 -161
- package/dist/src/commands/import.d.ts +0 -11
- package/dist/src/commands/lint-per-patch.d.ts +0 -10
- package/dist/src/commands/lint-per-patch.js +0 -428
- package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
- package/dist/src/commands/lint-per-run-checkjs.js +0 -102
- package/dist/src/commands/lint-report.d.ts +0 -25
- package/dist/src/commands/lint-report.js +0 -76
- package/dist/src/commands/lint.d.ts +0 -47
- package/dist/src/commands/manifest.d.ts +0 -38
- package/dist/src/commands/manifest.js +0 -68
- package/dist/src/commands/package.d.ts +0 -11
- package/dist/src/commands/park.d.ts +0 -22
- package/dist/src/commands/park.js +0 -232
- package/dist/src/commands/patch/body.d.ts +0 -29
- package/dist/src/commands/patch/body.js +0 -60
- package/dist/src/commands/patch/compact.d.ts +0 -28
- package/dist/src/commands/patch/compact.js +0 -208
- package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
- package/dist/src/commands/patch/delete-gap-notice.js +0 -48
- package/dist/src/commands/patch/delete.d.ts +0 -28
- package/dist/src/commands/patch/delete.js +0 -131
- package/dist/src/commands/patch/entry-projection.d.ts +0 -13
- package/dist/src/commands/patch/entry-projection.js +0 -24
- package/dist/src/commands/patch/index.d.ts +0 -16
- package/dist/src/commands/patch/index.js +0 -54
- package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
- package/dist/src/commands/patch/lint-ignore-from.js +0 -141
- package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
- package/dist/src/commands/patch/lint-ignore.js +0 -263
- package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
- package/dist/src/commands/patch/move-files-adopt.js +0 -65
- package/dist/src/commands/patch/move-files-create.d.ts +0 -19
- package/dist/src/commands/patch/move-files-create.js +0 -187
- package/dist/src/commands/patch/move-files-into.d.ts +0 -65
- package/dist/src/commands/patch/move-files-into.js +0 -325
- package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
- package/dist/src/commands/patch/move-files-retire.js +0 -91
- package/dist/src/commands/patch/move-files.d.ts +0 -28
- package/dist/src/commands/patch/move-files.js +0 -224
- package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
- package/dist/src/commands/patch/move-size-tier.js +0 -66
- package/dist/src/commands/patch/patch-context.d.ts +0 -40
- package/dist/src/commands/patch/patch-context.js +0 -51
- package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
- package/dist/src/commands/patch/removal-created-files.js +0 -83
- package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
- package/dist/src/commands/patch/removal-dependents.js +0 -133
- package/dist/src/commands/patch/rename.d.ts +0 -35
- package/dist/src/commands/patch/rename.js +0 -378
- package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
- package/dist/src/commands/patch/reorder-projection.js +0 -49
- package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
- package/dist/src/commands/patch/reorder-shift.js +0 -307
- package/dist/src/commands/patch/reorder.d.ts +0 -34
- package/dist/src/commands/patch/reorder.js +0 -375
- package/dist/src/commands/patch/reserve.d.ts +0 -33
- package/dist/src/commands/patch/reserve.js +0 -152
- package/dist/src/commands/patch/retire.d.ts +0 -34
- package/dist/src/commands/patch/retire.js +0 -133
- package/dist/src/commands/patch/split-plan.d.ts +0 -125
- package/dist/src/commands/patch/split-plan.js +0 -313
- package/dist/src/commands/patch/split-staged.d.ts +0 -108
- package/dist/src/commands/patch/split-staged.js +0 -202
- package/dist/src/commands/patch/split.d.ts +0 -43
- package/dist/src/commands/patch/split.js +0 -367
- package/dist/src/commands/patch/stage.d.ts +0 -34
- package/dist/src/commands/patch/stage.js +0 -153
- package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
- package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
- package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
- package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
- package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
- package/dist/src/commands/patch/staged-dependency-from.js +0 -114
- package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
- package/dist/src/commands/patch/staged-dependency-remove.js +0 -114
- package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -27
- package/dist/src/commands/patch/staged-dependency-validate.js +0 -78
- package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
- package/dist/src/commands/patch/staged-dependency.js +0 -251
- package/dist/src/commands/patch/tier.d.ts +0 -34
- package/dist/src/commands/patch/tier.js +0 -125
- package/dist/src/commands/patch-rename-map.d.ts +0 -30
- package/dist/src/commands/patch-rename-map.js +0 -54
- package/dist/src/commands/pending-resolution.d.ts +0 -15
- package/dist/src/commands/pending-resolution.js +0 -25
- package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
- package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
- package/dist/src/commands/re-export-adjacent.d.ts +0 -111
- package/dist/src/commands/re-export-adjacent.js +0 -285
- package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
- package/dist/src/commands/re-export-bulk-scan.js +0 -233
- package/dist/src/commands/re-export-drift.d.ts +0 -110
- package/dist/src/commands/re-export-drift.js +0 -358
- package/dist/src/commands/re-export-each.d.ts +0 -46
- package/dist/src/commands/re-export-each.js +0 -110
- package/dist/src/commands/re-export-files.d.ts +0 -15
- package/dist/src/commands/re-export-files.js +0 -307
- package/dist/src/commands/re-export-hunks.d.ts +0 -37
- package/dist/src/commands/re-export-hunks.js +0 -264
- package/dist/src/commands/re-export-lint.d.ts +0 -137
- package/dist/src/commands/re-export-lint.js +0 -303
- package/dist/src/commands/re-export-options.d.ts +0 -29
- package/dist/src/commands/re-export-options.js +0 -192
- package/dist/src/commands/re-export-preflight.d.ts +0 -23
- package/dist/src/commands/re-export-preflight.js +0 -159
- package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
- package/dist/src/commands/re-export-purity-scope.js +0 -137
- package/dist/src/commands/re-export-register.d.ts +0 -12
- package/dist/src/commands/re-export-register.js +0 -99
- package/dist/src/commands/re-export-removed.d.ts +0 -15
- package/dist/src/commands/re-export-removed.js +0 -94
- package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
- package/dist/src/commands/re-export-retired-declarations.js +0 -113
- package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
- package/dist/src/commands/re-export-scan-owner.js +0 -116
- package/dist/src/commands/re-export-scan.d.ts +0 -72
- package/dist/src/commands/re-export-scan.js +0 -265
- package/dist/src/commands/re-export-single.d.ts +0 -53
- package/dist/src/commands/re-export-single.js +0 -426
- package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
- package/dist/src/commands/re-export-stale-registrations.js +0 -106
- package/dist/src/commands/re-export-summary.d.ts +0 -44
- package/dist/src/commands/re-export-summary.js +0 -59
- package/dist/src/commands/re-export.d.ts +0 -8
- package/dist/src/commands/rebase/abort.d.ts +0 -7
- package/dist/src/commands/rebase/abort.js +0 -67
- package/dist/src/commands/rebase/confirm.d.ts +0 -42
- package/dist/src/commands/rebase/confirm.js +0 -36
- package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
- package/dist/src/commands/rebase/conflict-summary.js +0 -37
- package/dist/src/commands/rebase/continue.d.ts +0 -7
- package/dist/src/commands/rebase/continue.js +0 -119
- package/dist/src/commands/rebase/index.d.ts +0 -22
- package/dist/src/commands/rebase/index.js +0 -209
- package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
- package/dist/src/commands/rebase/patch-loop.js +0 -289
- package/dist/src/commands/rebase/summary.d.ts +0 -8
- package/dist/src/commands/rebase/summary.js +0 -47
- package/dist/src/commands/register.d.ts +0 -13
- package/dist/src/commands/reset.d.ts +0 -11
- package/dist/src/commands/resolve.d.ts +0 -36
- package/dist/src/commands/run.d.ts +0 -10
- package/dist/src/commands/setup-support.d.ts +0 -35
- package/dist/src/commands/setup-support.js +0 -386
- package/dist/src/commands/setup.d.ts +0 -11
- package/dist/src/commands/source.d.ts +0 -9
- package/dist/src/commands/source.js +0 -120
- package/dist/src/commands/status-check.d.ts +0 -87
- package/dist/src/commands/status-check.js +0 -161
- package/dist/src/commands/status-json.d.ts +0 -45
- package/dist/src/commands/status-json.js +0 -97
- package/dist/src/commands/status-output.d.ts +0 -23
- package/dist/src/commands/status-output.js +0 -231
- package/dist/src/commands/status-ownership.d.ts +0 -54
- package/dist/src/commands/status-ownership.js +0 -59
- package/dist/src/commands/status-scope.d.ts +0 -37
- package/dist/src/commands/status-scope.js +0 -54
- package/dist/src/commands/status.d.ts +0 -11
- package/dist/src/commands/test-appdir.d.ts +0 -6
- package/dist/src/commands/test-appdir.js +0 -29
- package/dist/src/commands/test-browser-preflight.d.ts +0 -28
- package/dist/src/commands/test-browser-preflight.js +0 -197
- package/dist/src/commands/test-build-furnace.d.ts +0 -21
- package/dist/src/commands/test-build-furnace.js +0 -53
- package/dist/src/commands/test-build-phase.d.ts +0 -34
- package/dist/src/commands/test-build-phase.js +0 -291
- package/dist/src/commands/test-checkjs.d.ts +0 -3
- package/dist/src/commands/test-checkjs.js +0 -35
- package/dist/src/commands/test-control-restore.d.ts +0 -40
- package/dist/src/commands/test-control-restore.js +0 -86
- package/dist/src/commands/test-diagnose.d.ts +0 -23
- package/dist/src/commands/test-diagnose.js +0 -317
- package/dist/src/commands/test-dispatch.d.ts +0 -39
- package/dist/src/commands/test-dispatch.js +0 -281
- package/dist/src/commands/test-furnace-reach.d.ts +0 -37
- package/dist/src/commands/test-furnace-reach.js +0 -132
- package/dist/src/commands/test-harness-env.d.ts +0 -23
- package/dist/src/commands/test-harness-env.js +0 -81
- package/dist/src/commands/test-harness-teardown.d.ts +0 -62
- package/dist/src/commands/test-harness-teardown.js +0 -128
- package/dist/src/commands/test-modes.d.ts +0 -57
- package/dist/src/commands/test-modes.js +0 -158
- package/dist/src/commands/test-multi-verdict.d.ts +0 -61
- package/dist/src/commands/test-multi-verdict.js +0 -112
- package/dist/src/commands/test-orchestrate.d.ts +0 -70
- package/dist/src/commands/test-orchestrate.js +0 -277
- package/dist/src/commands/test-perf-scope.d.ts +0 -50
- package/dist/src/commands/test-perf-scope.js +0 -138
- package/dist/src/commands/test-prelock.d.ts +0 -61
- package/dist/src/commands/test-prelock.js +0 -301
- package/dist/src/commands/test-register.d.ts +0 -4
- package/dist/src/commands/test-register.js +0 -181
- package/dist/src/commands/test-results.d.ts +0 -71
- package/dist/src/commands/test-results.js +0 -79
- package/dist/src/commands/test-run.d.ts +0 -89
- package/dist/src/commands/test-run.js +0 -251
- package/dist/src/commands/test-shards.d.ts +0 -114
- package/dist/src/commands/test-shards.js +0 -272
- package/dist/src/commands/test-stale-gate.d.ts +0 -56
- package/dist/src/commands/test-stale-gate.js +0 -208
- package/dist/src/commands/test-verdict.d.ts +0 -102
- package/dist/src/commands/test-verdict.js +0 -176
- package/dist/src/commands/test.d.ts +0 -22
- package/dist/src/commands/token-coverage.d.ts +0 -5
- package/dist/src/commands/token-coverage.js +0 -170
- package/dist/src/commands/token-lint.d.ts +0 -14
- package/dist/src/commands/token-lint.js +0 -151
- package/dist/src/commands/token-list.d.ts +0 -26
- package/dist/src/commands/token-list.js +0 -153
- package/dist/src/commands/token.d.ts +0 -14
- package/dist/src/commands/tree.d.ts +0 -19
- package/dist/src/commands/tree.js +0 -341
- package/dist/src/commands/typecheck-explain.d.ts +0 -13
- package/dist/src/commands/typecheck-explain.js +0 -100
- package/dist/src/commands/typecheck.d.ts +0 -61
- package/dist/src/commands/verify-scope.d.ts +0 -28
- package/dist/src/commands/verify-scope.js +0 -67
- package/dist/src/commands/verify.d.ts +0 -58
- package/dist/src/commands/watch.d.ts +0 -9
- package/dist/src/commands/wire.d.ts +0 -13
- package/dist/src/core/ast-utils.d.ts +0 -73
- package/dist/src/core/ast-utils.js +0 -105
- package/dist/src/core/brand-validation.d.ts +0 -7
- package/dist/src/core/brand-validation.js +0 -14
- package/dist/src/core/branding.d.ts +0 -86
- package/dist/src/core/branding.js +0 -371
- package/dist/src/core/browser-wire.d.ts +0 -48
- package/dist/src/core/browser-wire.js +0 -133
- package/dist/src/core/build-audit-platform.d.ts +0 -67
- package/dist/src/core/build-audit-platform.js +0 -373
- package/dist/src/core/build-audit-registration.d.ts +0 -80
- package/dist/src/core/build-audit-registration.js +0 -181
- package/dist/src/core/build-audit-resolve.d.ts +0 -78
- package/dist/src/core/build-audit-resolve.js +0 -240
- package/dist/src/core/build-audit-skip.d.ts +0 -57
- package/dist/src/core/build-audit-skip.js +0 -112
- package/dist/src/core/build-audit-transforms.d.ts +0 -23
- package/dist/src/core/build-audit-transforms.js +0 -92
- package/dist/src/core/build-audit.d.ts +0 -93
- package/dist/src/core/build-audit.js +0 -633
- package/dist/src/core/build-baseline-types.d.ts +0 -225
- package/dist/src/core/build-baseline-types.js +0 -10
- package/dist/src/core/build-baseline-validate.d.ts +0 -32
- package/dist/src/core/build-baseline-validate.js +0 -173
- package/dist/src/core/build-baseline.d.ts +0 -103
- package/dist/src/core/build-baseline.js +0 -261
- package/dist/src/core/build-jar-escalation.d.ts +0 -61
- package/dist/src/core/build-jar-escalation.js +0 -125
- package/dist/src/core/build-overwrite-guard.d.ts +0 -92
- package/dist/src/core/build-overwrite-guard.js +0 -235
- package/dist/src/core/build-prepare.d.ts +0 -83
- package/dist/src/core/build-prepare.js +0 -414
- package/dist/src/core/build-run-record.d.ts +0 -74
- package/dist/src/core/build-run-record.js +0 -136
- package/dist/src/core/checkjs-support-heads.d.ts +0 -41
- package/dist/src/core/checkjs-support-heads.js +0 -104
- package/dist/src/core/component-source-guard.d.ts +0 -20
- package/dist/src/core/component-source-guard.js +0 -68
- package/dist/src/core/config-mutate.d.ts +0 -16
- package/dist/src/core/config-mutate.js +0 -76
- package/dist/src/core/config-paths.d.ts +0 -16
- package/dist/src/core/config-paths.js +0 -106
- package/dist/src/core/config-state.d.ts +0 -16
- package/dist/src/core/config-state.js +0 -141
- package/dist/src/core/config-validate-build-audit.d.ts +0 -8
- package/dist/src/core/config-validate-build-audit.js +0 -80
- package/dist/src/core/config-validate-check.d.ts +0 -8
- package/dist/src/core/config-validate-check.js +0 -219
- package/dist/src/core/config-validate-file-size.d.ts +0 -15
- package/dist/src/core/config-validate-file-size.js +0 -154
- package/dist/src/core/config-validate-history.d.ts +0 -11
- package/dist/src/core/config-validate-history.js +0 -38
- package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
- package/dist/src/core/config-validate-patch-policy.js +0 -284
- package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
- package/dist/src/core/config-validate-test-toolchains.js +0 -133
- package/dist/src/core/config-validate-token-scales.d.ts +0 -9
- package/dist/src/core/config-validate-token-scales.js +0 -125
- package/dist/src/core/config-validate.d.ts +0 -11
- package/dist/src/core/config-validate.js +0 -509
- package/dist/src/core/config.d.ts +0 -92
- package/dist/src/core/config.js +0 -169
- package/dist/src/core/coverage-dispatch.d.ts +0 -24
- package/dist/src/core/coverage-dispatch.js +0 -44
- package/dist/src/core/coverage-extend.d.ts +0 -89
- package/dist/src/core/coverage-extend.js +0 -239
- package/dist/src/core/coverage-records.d.ts +0 -107
- package/dist/src/core/coverage-records.js +0 -383
- package/dist/src/core/destructive.d.ts +0 -144
- package/dist/src/core/destructive.js +0 -182
- package/dist/src/core/dev-profile.d.ts +0 -28
- package/dist/src/core/dev-profile.js +0 -58
- package/dist/src/core/diff-hunks.d.ts +0 -73
- package/dist/src/core/diff-hunks.js +0 -286
- package/dist/src/core/discard-baseline.d.ts +0 -60
- package/dist/src/core/discard-baseline.js +0 -247
- package/dist/src/core/display-state.d.ts +0 -50
- package/dist/src/core/display-state.js +0 -87
- package/dist/src/core/engine-changes.d.ts +0 -40
- package/dist/src/core/engine-changes.js +0 -95
- package/dist/src/core/engine-precondition.d.ts +0 -42
- package/dist/src/core/engine-precondition.js +0 -60
- package/dist/src/core/engine-session-lock.d.ts +0 -119
- package/dist/src/core/engine-session-lock.js +0 -374
- package/dist/src/core/engine-write-boundary.d.ts +0 -5
- package/dist/src/core/engine-write-boundary.js +0 -41
- package/dist/src/core/export-moved-code-shape.d.ts +0 -98
- package/dist/src/core/export-moved-code-shape.js +0 -220
- package/dist/src/core/file-lock-owner.d.ts +0 -103
- package/dist/src/core/file-lock-owner.js +0 -259
- package/dist/src/core/file-lock-queue.d.ts +0 -67
- package/dist/src/core/file-lock-queue.js +0 -219
- package/dist/src/core/file-lock-shared.d.ts +0 -57
- package/dist/src/core/file-lock-shared.js +0 -117
- package/dist/src/core/file-lock.d.ts +0 -143
- package/dist/src/core/file-lock.js +0 -531
- package/dist/src/core/firefox-archive.d.ts +0 -45
- package/dist/src/core/firefox-archive.js +0 -96
- package/dist/src/core/firefox-cache.d.ts +0 -30
- package/dist/src/core/firefox-cache.js +0 -248
- package/dist/src/core/firefox-download.d.ts +0 -30
- package/dist/src/core/firefox-download.js +0 -152
- package/dist/src/core/firefox-extract.d.ts +0 -42
- package/dist/src/core/firefox-extract.js +0 -248
- package/dist/src/core/firefox-ignorefile.d.ts +0 -17
- package/dist/src/core/firefox-ignorefile.js +0 -30
- package/dist/src/core/firefox.d.ts +0 -66
- package/dist/src/core/firefox.js +0 -121
- package/dist/src/core/forward-registrations.d.ts +0 -33
- package/dist/src/core/forward-registrations.js +0 -16
- package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
- package/dist/src/core/furnace-apply-dry-run.js +0 -99
- package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
- package/dist/src/core/furnace-apply-ftl.js +0 -210
- package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
- package/dist/src/core/furnace-apply-helpers.js +0 -436
- package/dist/src/core/furnace-apply-output.d.ts +0 -36
- package/dist/src/core/furnace-apply-output.js +0 -111
- package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -67
- package/dist/src/core/furnace-apply-overwrite-warn.js +0 -131
- package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
- package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
- package/dist/src/core/furnace-apply.d.ts +0 -49
- package/dist/src/core/furnace-apply.js +0 -465
- package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
- package/dist/src/core/furnace-checksum-utils.js +0 -54
- package/dist/src/core/furnace-composed-source.d.ts +0 -76
- package/dist/src/core/furnace-composed-source.js +0 -167
- package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
- package/dist/src/core/furnace-config-array-utils.js +0 -26
- package/dist/src/core/furnace-config-custom.d.ts +0 -15
- package/dist/src/core/furnace-config-custom.js +0 -73
- package/dist/src/core/furnace-config-order.d.ts +0 -8
- package/dist/src/core/furnace-config-order.js +0 -90
- package/dist/src/core/furnace-config-tokens.d.ts +0 -17
- package/dist/src/core/furnace-config-tokens.js +0 -42
- package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
- package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
- package/dist/src/core/furnace-config-validate.d.ts +0 -32
- package/dist/src/core/furnace-config-validate.js +0 -167
- package/dist/src/core/furnace-config.d.ts +0 -139
- package/dist/src/core/furnace-config.js +0 -511
- package/dist/src/core/furnace-constants.d.ts +0 -81
- package/dist/src/core/furnace-constants.js +0 -125
- package/dist/src/core/furnace-css-fragments.d.ts +0 -96
- package/dist/src/core/furnace-css-fragments.js +0 -279
- package/dist/src/core/furnace-deploy-owner.d.ts +0 -29
- package/dist/src/core/furnace-deploy-owner.js +0 -116
- package/dist/src/core/furnace-dir-entry.d.ts +0 -20
- package/dist/src/core/furnace-dir-entry.js +0 -21
- package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
- package/dist/src/core/furnace-fragment-includers.js +0 -122
- package/dist/src/core/furnace-graph-utils.d.ts +0 -11
- package/dist/src/core/furnace-graph-utils.js +0 -93
- package/dist/src/core/furnace-jsconfig.d.ts +0 -87
- package/dist/src/core/furnace-jsconfig.js +0 -248
- package/dist/src/core/furnace-marker.d.ts +0 -15
- package/dist/src/core/furnace-marker.js +0 -21
- package/dist/src/core/furnace-operation.d.ts +0 -195
- package/dist/src/core/furnace-operation.js +0 -444
- package/dist/src/core/furnace-precondition.d.ts +0 -61
- package/dist/src/core/furnace-precondition.js +0 -67
- package/dist/src/core/furnace-refresh.d.ts +0 -28
- package/dist/src/core/furnace-refresh.js +0 -125
- package/dist/src/core/furnace-registration-ast.d.ts +0 -53
- package/dist/src/core/furnace-registration-ast.js +0 -402
- package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
- package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
- package/dist/src/core/furnace-registration-remove.d.ts +0 -56
- package/dist/src/core/furnace-registration-remove.js +0 -260
- package/dist/src/core/furnace-registration-rename.d.ts +0 -26
- package/dist/src/core/furnace-registration-rename.js +0 -77
- package/dist/src/core/furnace-registration-validate.d.ts +0 -53
- package/dist/src/core/furnace-registration-validate.js +0 -110
- package/dist/src/core/furnace-registration.d.ts +0 -112
- package/dist/src/core/furnace-registration.js +0 -348
- package/dist/src/core/furnace-rollback.d.ts +0 -48
- package/dist/src/core/furnace-rollback.js +0 -170
- package/dist/src/core/furnace-scanner.d.ts +0 -47
- package/dist/src/core/furnace-scanner.js +0 -236
- package/dist/src/core/furnace-stale-export.d.ts +0 -60
- package/dist/src/core/furnace-stale-export.js +0 -125
- package/dist/src/core/furnace-staleness.d.ts +0 -24
- package/dist/src/core/furnace-staleness.js +0 -67
- package/dist/src/core/furnace-state-persist.d.ts +0 -68
- package/dist/src/core/furnace-state-persist.js +0 -116
- package/dist/src/core/furnace-step-errors.d.ts +0 -23
- package/dist/src/core/furnace-step-errors.js +0 -25
- package/dist/src/core/furnace-stories.d.ts +0 -37
- package/dist/src/core/furnace-stories.js +0 -186
- package/dist/src/core/furnace-tag-map.d.ts +0 -47
- package/dist/src/core/furnace-tag-map.js +0 -182
- package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
- package/dist/src/core/furnace-validate-accessibility.js +0 -417
- package/dist/src/core/furnace-validate-checks.d.ts +0 -4
- package/dist/src/core/furnace-validate-checks.js +0 -6
- package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
- package/dist/src/core/furnace-validate-compatibility.js +0 -295
- package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
- package/dist/src/core/furnace-validate-exceptions.js +0 -98
- package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
- package/dist/src/core/furnace-validate-helpers.js +0 -4
- package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
- package/dist/src/core/furnace-validate-icon-button.js +0 -78
- package/dist/src/core/furnace-validate-registration.d.ts +0 -67
- package/dist/src/core/furnace-validate-registration.js +0 -487
- package/dist/src/core/furnace-validate-structure.d.ts +0 -22
- package/dist/src/core/furnace-validate-structure.js +0 -122
- package/dist/src/core/furnace-validate.d.ts +0 -41
- package/dist/src/core/furnace-validate.js +0 -331
- package/dist/src/core/furnace-version-drift.d.ts +0 -57
- package/dist/src/core/furnace-version-drift.js +0 -102
- package/dist/src/core/gecko-dom-types.d.ts +0 -2
- package/dist/src/core/gecko-dom-types.js +0 -17
- package/dist/src/core/git-base.d.ts +0 -101
- package/dist/src/core/git-base.js +0 -162
- package/dist/src/core/git-diff-new-file.d.ts +0 -40
- package/dist/src/core/git-diff-new-file.js +0 -118
- package/dist/src/core/git-diff.d.ts +0 -82
- package/dist/src/core/git-diff.js +0 -539
- package/dist/src/core/git-file-ops.d.ts +0 -108
- package/dist/src/core/git-file-ops.js +0 -280
- package/dist/src/core/git-readonly-index.d.ts +0 -91
- package/dist/src/core/git-readonly-index.js +0 -177
- package/dist/src/core/git-status.d.ts +0 -84
- package/dist/src/core/git-status.js +0 -208
- package/dist/src/core/git.d.ts +0 -114
- package/dist/src/core/git.js +0 -540
- package/dist/src/core/harness-helper-pids.d.ts +0 -98
- package/dist/src/core/harness-helper-pids.js +0 -240
- package/dist/src/core/harness-orphans.d.ts +0 -118
- package/dist/src/core/harness-orphans.js +0 -268
- package/dist/src/core/harness-port-fallback.d.ts +0 -60
- package/dist/src/core/harness-port-fallback.js +0 -96
- package/dist/src/core/harness-port-reservation.d.ts +0 -60
- package/dist/src/core/harness-port-reservation.js +0 -122
- package/dist/src/core/history-log-file.d.ts +0 -61
- package/dist/src/core/history-log-file.js +0 -164
- package/dist/src/core/history-log.d.ts +0 -20
- package/dist/src/core/history-log.js +0 -30
- package/dist/src/core/json-preserving-edit.d.ts +0 -22
- package/dist/src/core/json-preserving-edit.js +0 -199
- package/dist/src/core/launchable-build.d.ts +0 -39
- package/dist/src/core/launchable-build.js +0 -85
- package/dist/src/core/license-headers.d.ts +0 -103
- package/dist/src/core/license-headers.js +0 -328
- package/dist/src/core/line-prefixer.d.ts +0 -18
- package/dist/src/core/line-prefixer.js +0 -34
- package/dist/src/core/lit-template-regions.d.ts +0 -4
- package/dist/src/core/lit-template-regions.js +0 -50
- package/dist/src/core/mach-build-artifacts.d.ts +0 -176
- package/dist/src/core/mach-build-artifacts.js +0 -436
- package/dist/src/core/mach-error-hints.d.ts +0 -24
- package/dist/src/core/mach-error-hints.js +0 -135
- package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
- package/dist/src/core/mach-known-noise-filter.js +0 -257
- package/dist/src/core/mach-mozconfig.d.ts +0 -57
- package/dist/src/core/mach-mozconfig.js +0 -166
- package/dist/src/core/mach-python.d.ts +0 -19
- package/dist/src/core/mach-python.js +0 -131
- package/dist/src/core/mach-resource-shim.d.ts +0 -107
- package/dist/src/core/mach-resource-shim.js +0 -640
- package/dist/src/core/mach.d.ts +0 -284
- package/dist/src/core/mach.js +0 -445
- package/dist/src/core/marionette-port.d.ts +0 -153
- package/dist/src/core/marionette-port.js +0 -474
- package/dist/src/core/marionette-preflight.d.ts +0 -58
- package/dist/src/core/marionette-preflight.js +0 -332
- package/dist/src/core/markdown-table.d.ts +0 -104
- package/dist/src/core/markdown-table.js +0 -265
- package/dist/src/core/mochitest-server-port.d.ts +0 -81
- package/dist/src/core/mochitest-server-port.js +0 -175
- package/dist/src/core/module-resolution-preflight.d.ts +0 -65
- package/dist/src/core/module-resolution-preflight.js +0 -171
- package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
- package/dist/src/core/moz-manifest-helpers.js +0 -163
- package/dist/src/core/moz-manifest-register.d.ts +0 -19
- package/dist/src/core/moz-manifest-register.js +0 -51
- package/dist/src/core/moz-manifest-rules.d.ts +0 -58
- package/dist/src/core/moz-manifest-rules.js +0 -264
- package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
- package/dist/src/core/moz-manifest-tokenizers.js +0 -108
- package/dist/src/core/negative-control-compiled.d.ts +0 -46
- package/dist/src/core/negative-control-compiled.js +0 -109
- package/dist/src/core/negative-control-diff.d.ts +0 -51
- package/dist/src/core/negative-control-diff.js +0 -167
- package/dist/src/core/negative-control.d.ts +0 -150
- package/dist/src/core/negative-control.js +0 -399
- package/dist/src/core/objdir-install-manifests.d.ts +0 -73
- package/dist/src/core/objdir-install-manifests.js +0 -226
- package/dist/src/core/objdir-maintenance.d.ts +0 -10
- package/dist/src/core/objdir-maintenance.js +0 -167
- package/dist/src/core/ownership-table.d.ts +0 -53
- package/dist/src/core/ownership-table.js +0 -159
- package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
- package/dist/src/core/parent-exit-watchdog.js +0 -69
- package/dist/src/core/park-store.d.ts +0 -63
- package/dist/src/core/park-store.js +0 -216
- package/dist/src/core/parser-fallback.d.ts +0 -50
- package/dist/src/core/parser-fallback.js +0 -61
- package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
- package/dist/src/core/patch-apply-fuzz.js +0 -125
- package/dist/src/core/patch-apply.d.ts +0 -88
- package/dist/src/core/patch-apply.js +0 -435
- package/dist/src/core/patch-export-coverage.d.ts +0 -49
- package/dist/src/core/patch-export-coverage.js +0 -73
- package/dist/src/core/patch-export-metadata.d.ts +0 -46
- package/dist/src/core/patch-export-metadata.js +0 -47
- package/dist/src/core/patch-export-update.d.ts +0 -55
- package/dist/src/core/patch-export-update.js +0 -95
- package/dist/src/core/patch-export.d.ts +0 -175
- package/dist/src/core/patch-export.js +0 -312
- package/dist/src/core/patch-files.d.ts +0 -17
- package/dist/src/core/patch-files.js +0 -59
- package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
- package/dist/src/core/patch-identifier-suggest.js +0 -135
- package/dist/src/core/patch-lint-binary.d.ts +0 -45
- package/dist/src/core/patch-lint-binary.js +0 -39
- package/dist/src/core/patch-lint-cache-checkjs.d.ts +0 -45
- package/dist/src/core/patch-lint-cache-checkjs.js +0 -195
- package/dist/src/core/patch-lint-cache.d.ts +0 -79
- package/dist/src/core/patch-lint-cache.js +0 -247
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -57
- package/dist/src/core/patch-lint-checkjs-any-import.js +0 -91
- package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
- package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
- package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
- package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
- package/dist/src/core/patch-lint-checkjs-resolve.d.ts +0 -31
- package/dist/src/core/patch-lint-checkjs-resolve.js +0 -86
- package/dist/src/core/patch-lint-checkjs.d.ts +0 -182
- package/dist/src/core/patch-lint-checkjs.js +0 -563
- package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
- package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
- package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
- package/dist/src/core/patch-lint-code-lines.js +0 -105
- package/dist/src/core/patch-lint-creators.d.ts +0 -26
- package/dist/src/core/patch-lint-creators.js +0 -45
- package/dist/src/core/patch-lint-cross.d.ts +0 -232
- package/dist/src/core/patch-lint-cross.js +0 -590
- package/dist/src/core/patch-lint-css.d.ts +0 -27
- package/dist/src/core/patch-lint-css.js +0 -228
- package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
- package/dist/src/core/patch-lint-diff-tag.js +0 -105
- package/dist/src/core/patch-lint-diff.d.ts +0 -42
- package/dist/src/core/patch-lint-diff.js +0 -100
- package/dist/src/core/patch-lint-file-size.d.ts +0 -57
- package/dist/src/core/patch-lint-file-size.js +0 -62
- package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
- package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
- package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
- package/dist/src/core/patch-lint-forward-registration.js +0 -266
- package/dist/src/core/patch-lint-ignore.d.ts +0 -196
- package/dist/src/core/patch-lint-ignore.js +0 -429
- package/dist/src/core/patch-lint-imports.d.ts +0 -9
- package/dist/src/core/patch-lint-imports.js +0 -90
- package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
- package/dist/src/core/patch-lint-jsdoc.js +0 -471
- package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
- package/dist/src/core/patch-lint-module-registration.js +0 -97
- package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
- package/dist/src/core/patch-lint-mozbuild.js +0 -192
- package/dist/src/core/patch-lint-observer.d.ts +0 -37
- package/dist/src/core/patch-lint-observer.js +0 -167
- package/dist/src/core/patch-lint-ownership.d.ts +0 -74
- package/dist/src/core/patch-lint-ownership.js +0 -125
- package/dist/src/core/patch-lint-prettier.d.ts +0 -34
- package/dist/src/core/patch-lint-prettier.js +0 -124
- package/dist/src/core/patch-lint-projection.d.ts +0 -25
- package/dist/src/core/patch-lint-projection.js +0 -43
- package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
- package/dist/src/core/patch-lint-queue-types.js +0 -12
- package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
- package/dist/src/core/patch-lint-size-thresholds.js +0 -110
- package/dist/src/core/patch-lint-size.d.ts +0 -117
- package/dist/src/core/patch-lint-size.js +0 -331
- package/dist/src/core/patch-lint-staged-registration.d.ts +0 -98
- package/dist/src/core/patch-lint-staged-registration.js +0 -128
- package/dist/src/core/patch-lint-token-scale.d.ts +0 -65
- package/dist/src/core/patch-lint-token-scale.js +0 -304
- package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
- package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
- package/dist/src/core/patch-lint.d.ts +0 -206
- package/dist/src/core/patch-lint.js +0 -533
- package/dist/src/core/patch-lock.d.ts +0 -40
- package/dist/src/core/patch-lock.js +0 -129
- package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
- package/dist/src/core/patch-manifest-consistency.js +0 -256
- package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
- package/dist/src/core/patch-manifest-files-affected.js +0 -77
- package/dist/src/core/patch-manifest-io.d.ts +0 -199
- package/dist/src/core/patch-manifest-io.js +0 -556
- package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
- package/dist/src/core/patch-manifest-key-order.js +0 -60
- package/dist/src/core/patch-manifest-query.d.ts +0 -55
- package/dist/src/core/patch-manifest-query.js +0 -139
- package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
- package/dist/src/core/patch-manifest-resolve.js +0 -35
- package/dist/src/core/patch-manifest-stage.d.ts +0 -46
- package/dist/src/core/patch-manifest-stage.js +0 -96
- package/dist/src/core/patch-manifest-validate.d.ts +0 -20
- package/dist/src/core/patch-manifest-validate.js +0 -240
- package/dist/src/core/patch-manifest.d.ts +0 -12
- package/dist/src/core/patch-manifest.js +0 -13
- package/dist/src/core/patch-order-legal.d.ts +0 -26
- package/dist/src/core/patch-order-legal.js +0 -88
- package/dist/src/core/patch-parse.d.ts +0 -176
- package/dist/src/core/patch-parse.js +0 -416
- package/dist/src/core/patch-policy-content.d.ts +0 -40
- package/dist/src/core/patch-policy-content.js +0 -219
- package/dist/src/core/patch-policy.d.ts +0 -80
- package/dist/src/core/patch-policy.js +0 -394
- package/dist/src/core/patch-registration-refs.d.ts +0 -41
- package/dist/src/core/patch-registration-refs.js +0 -107
- package/dist/src/core/patch-retired.d.ts +0 -57
- package/dist/src/core/patch-retired.js +0 -92
- package/dist/src/core/patch-source-metadata.d.ts +0 -6
- package/dist/src/core/patch-source-metadata.js +0 -12
- package/dist/src/core/patch-subset.d.ts +0 -18
- package/dist/src/core/patch-subset.js +0 -67
- package/dist/src/core/patch-transform.d.ts +0 -61
- package/dist/src/core/patch-transform.js +0 -198
- package/dist/src/core/preflight-wait.d.ts +0 -22
- package/dist/src/core/preflight-wait.js +0 -62
- package/dist/src/core/process-cpu-time.d.ts +0 -12
- package/dist/src/core/process-cpu-time.js +0 -52
- package/dist/src/core/process-owner.d.ts +0 -9
- package/dist/src/core/process-owner.js +0 -43
- package/dist/src/core/rebase-dry-run.d.ts +0 -48
- package/dist/src/core/rebase-dry-run.js +0 -105
- package/dist/src/core/rebase-from-version.d.ts +0 -46
- package/dist/src/core/rebase-from-version.js +0 -71
- package/dist/src/core/rebase-session.d.ts +0 -100
- package/dist/src/core/rebase-session.js +0 -174
- package/dist/src/core/register-browser-content.d.ts +0 -11
- package/dist/src/core/register-browser-content.js +0 -52
- package/dist/src/core/register-browser-test.d.ts +0 -18
- package/dist/src/core/register-browser-test.js +0 -66
- package/dist/src/core/register-module.d.ts +0 -11
- package/dist/src/core/register-module.js +0 -56
- package/dist/src/core/register-result.d.ts +0 -30
- package/dist/src/core/register-result.js +0 -8
- package/dist/src/core/register-scaffold.d.ts +0 -55
- package/dist/src/core/register-scaffold.js +0 -146
- package/dist/src/core/register-shared-css.d.ts +0 -36
- package/dist/src/core/register-shared-css.js +0 -112
- package/dist/src/core/register-xpcshell-test.d.ts +0 -50
- package/dist/src/core/register-xpcshell-test.js +0 -143
- package/dist/src/core/run-log-redact.d.ts +0 -38
- package/dist/src/core/run-log-redact.js +0 -69
- package/dist/src/core/run-log.d.ts +0 -97
- package/dist/src/core/run-log.js +0 -334
- package/dist/src/core/run-profile.d.ts +0 -57
- package/dist/src/core/run-profile.js +0 -137
- package/dist/src/core/shared-ftl.d.ts +0 -28
- package/dist/src/core/shared-ftl.js +0 -49
- package/dist/src/core/signal-critical.d.ts +0 -38
- package/dist/src/core/signal-critical.js +0 -62
- package/dist/src/core/smoke-patterns.d.ts +0 -81
- package/dist/src/core/smoke-patterns.js +0 -176
- package/dist/src/core/state-file.d.ts +0 -60
- package/dist/src/core/state-file.js +0 -71
- package/dist/src/core/status-binary.d.ts +0 -62
- package/dist/src/core/status-binary.js +0 -133
- package/dist/src/core/status-classify.d.ts +0 -96
- package/dist/src/core/status-classify.js +0 -244
- package/dist/src/core/test-changed-prefs.d.ts +0 -30
- package/dist/src/core/test-changed-prefs.js +0 -93
- package/dist/src/core/test-harness-crash.d.ts +0 -251
- package/dist/src/core/test-harness-crash.js +0 -780
- package/dist/src/core/test-harness-infra.d.ts +0 -32
- package/dist/src/core/test-harness-infra.js +0 -69
- package/dist/src/core/test-harness-output.d.ts +0 -45
- package/dist/src/core/test-harness-output.js +0 -119
- package/dist/src/core/test-harness-signature.d.ts +0 -57
- package/dist/src/core/test-harness-signature.js +0 -35
- package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
- package/dist/src/core/test-harness-verdict-notes.js +0 -48
- package/dist/src/core/test-host-state.d.ts +0 -14
- package/dist/src/core/test-host-state.js +0 -80
- package/dist/src/core/test-path-scope.d.ts +0 -59
- package/dist/src/core/test-path-scope.js +0 -147
- package/dist/src/core/test-profile-files.d.ts +0 -17
- package/dist/src/core/test-profile-files.js +0 -75
- package/dist/src/core/test-raw-log.d.ts +0 -66
- package/dist/src/core/test-raw-log.js +0 -122
- package/dist/src/core/test-run-completeness.d.ts +0 -97
- package/dist/src/core/test-run-completeness.js +0 -191
- package/dist/src/core/test-stale-check.d.ts +0 -213
- package/dist/src/core/test-stale-check.js +0 -396
- package/dist/src/core/test-stale-exempt.d.ts +0 -40
- package/dist/src/core/test-stale-exempt.js +0 -70
- package/dist/src/core/test-stale-symlink.d.ts +0 -12
- package/dist/src/core/test-stale-symlink.js +0 -39
- package/dist/src/core/test-stall-triage.d.ts +0 -51
- package/dist/src/core/test-stall-triage.js +0 -142
- package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
- package/dist/src/core/test-xpcshell-retry.js +0 -31
- package/dist/src/core/token-category.d.ts +0 -54
- package/dist/src/core/token-category.js +0 -299
- package/dist/src/core/token-coverage.d.ts +0 -12
- package/dist/src/core/token-coverage.js +0 -96
- package/dist/src/core/token-dark-mode.d.ts +0 -64
- package/dist/src/core/token-dark-mode.js +0 -186
- package/dist/src/core/token-docs.d.ts +0 -34
- package/dist/src/core/token-docs.js +0 -102
- package/dist/src/core/token-inventory.d.ts +0 -56
- package/dist/src/core/token-inventory.js +0 -114
- package/dist/src/core/token-lint.d.ts +0 -53
- package/dist/src/core/token-lint.js +0 -131
- package/dist/src/core/token-manager.d.ts +0 -87
- package/dist/src/core/token-manager.js +0 -407
- package/dist/src/core/token-scaffold.d.ts +0 -36
- package/dist/src/core/token-scaffold.js +0 -73
- package/dist/src/core/token-sibling-sheets.d.ts +0 -46
- package/dist/src/core/token-sibling-sheets.js +0 -119
- package/dist/src/core/token-variant.d.ts +0 -90
- package/dist/src/core/token-variant.js +0 -327
- package/dist/src/core/toolchain-preflight.d.ts +0 -90
- package/dist/src/core/toolchain-preflight.js +0 -251
- package/dist/src/core/tree-cow.d.ts +0 -16
- package/dist/src/core/tree-cow.js +0 -71
- package/dist/src/core/tree-guard.d.ts +0 -35
- package/dist/src/core/tree-guard.js +0 -194
- package/dist/src/core/tree-store.d.ts +0 -143
- package/dist/src/core/tree-store.js +0 -478
- package/dist/src/core/typecheck-explain.d.ts +0 -93
- package/dist/src/core/typecheck-explain.js +0 -213
- package/dist/src/core/typecheck-shim.d.ts +0 -90
- package/dist/src/core/typecheck-shim.js +0 -508
- package/dist/src/core/typecheck.d.ts +0 -97
- package/dist/src/core/typecheck.js +0 -457
- package/dist/src/core/wire-destroy.d.ts +0 -25
- package/dist/src/core/wire-destroy.js +0 -126
- package/dist/src/core/wire-dom-fragment.d.ts +0 -44
- package/dist/src/core/wire-dom-fragment.js +0 -139
- package/dist/src/core/wire-init.d.ts +0 -28
- package/dist/src/core/wire-init.js +0 -219
- package/dist/src/core/wire-subscript.d.ts +0 -23
- package/dist/src/core/wire-subscript.js +0 -145
- package/dist/src/core/wire-utils.d.ts +0 -149
- package/dist/src/core/wire-utils.js +0 -338
- package/dist/src/core/xpcshell-appdir.d.ts +0 -157
- package/dist/src/core/xpcshell-appdir.js +0 -299
- package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
- package/dist/src/core/xpcshell-profile-dir.js +0 -45
- package/dist/src/errors/base.d.ts +0 -217
- package/dist/src/errors/base.js +0 -279
- package/dist/src/errors/build.d.ts +0 -92
- package/dist/src/errors/build.js +0 -166
- package/dist/src/errors/codes.d.ts +0 -74
- package/dist/src/errors/codes.js +0 -74
- package/dist/src/errors/config.d.ts +0 -17
- package/dist/src/errors/config.js +0 -39
- package/dist/src/errors/download.d.ts +0 -66
- package/dist/src/errors/download.js +0 -160
- package/dist/src/errors/furnace.d.ts +0 -20
- package/dist/src/errors/furnace.js +0 -28
- package/dist/src/errors/git.d.ts +0 -65
- package/dist/src/errors/git.js +0 -140
- package/dist/src/errors/patch.d.ts +0 -27
- package/dist/src/errors/patch.js +0 -52
- package/dist/src/errors/rebase.d.ts +0 -42
- package/dist/src/errors/rebase.js +0 -71
- package/dist/src/errors/run.d.ts +0 -16
- package/dist/src/errors/run.js +0 -22
- package/dist/src/index.d.ts +0 -42
- package/dist/src/index.js +0 -32
- package/dist/src/types/cli.d.ts +0 -14
- package/dist/src/types/commands/index.d.ts +0 -6
- package/dist/src/types/commands/index.js +0 -5
- package/dist/src/types/commands/options.d.ts +0 -1372
- package/dist/src/types/commands/options.js +0 -5
- package/dist/src/types/commands/patches.d.ts +0 -352
- package/dist/src/types/commands/patches.js +0 -5
- package/dist/src/types/commands/project.d.ts +0 -51
- package/dist/src/types/commands/project.js +0 -5
- package/dist/src/types/config.d.ts +0 -732
- package/dist/src/types/config.js +0 -15
- package/dist/src/types/furnace.d.ts +0 -422
- package/dist/src/types/furnace.js +0 -26
- package/dist/src/types/index.d.ts +0 -5
- package/dist/src/types/index.js +0 -5
- package/dist/src/types/json.d.ts +0 -22
- package/dist/src/types/json.js +0 -11
- package/dist/src/types/typecheck.d.ts +0 -51
- package/dist/src/types/typecheck.js +0 -14
- package/dist/src/utils/assert.d.ts +0 -34
- package/dist/src/utils/assert.js +0 -61
- package/dist/src/utils/build-info.d.ts +0 -30
- package/dist/src/utils/build-info.js +0 -99
- package/dist/src/utils/child-env.d.ts +0 -28
- package/dist/src/utils/child-env.js +0 -27
- package/dist/src/utils/concurrency.d.ts +0 -8
- package/dist/src/utils/concurrency.js +0 -32
- package/dist/src/utils/elapsed.d.ts +0 -2
- package/dist/src/utils/elapsed.js +0 -23
- package/dist/src/utils/errors.d.ts +0 -39
- package/dist/src/utils/errors.js +0 -67
- package/dist/src/utils/fs.d.ts +0 -113
- package/dist/src/utils/fs.js +0 -337
- package/dist/src/utils/hash.d.ts +0 -12
- package/dist/src/utils/hash.js +0 -16
- package/dist/src/utils/line-dispatch.d.ts +0 -15
- package/dist/src/utils/line-dispatch.js +0 -48
- package/dist/src/utils/logger.d.ts +0 -109
- package/dist/src/utils/logger.js +0 -270
- package/dist/src/utils/machine-output.d.ts +0 -12
- package/dist/src/utils/machine-output.js +0 -33
- package/dist/src/utils/options.d.ts +0 -155
- package/dist/src/utils/options.js +0 -312
- package/dist/src/utils/package-root.d.ts +0 -21
- package/dist/src/utils/package-root.js +0 -70
- package/dist/src/utils/parse.d.ts +0 -117
- package/dist/src/utils/parse.js +0 -214
- package/dist/src/utils/path-glob.d.ts +0 -15
- package/dist/src/utils/path-glob.js +0 -47
- package/dist/src/utils/paths.d.ts +0 -31
- package/dist/src/utils/paths.js +0 -80
- package/dist/src/utils/platform.d.ts +0 -9
- package/dist/src/utils/platform.js +0 -14
- package/dist/src/utils/process-group.d.ts +0 -42
- package/dist/src/utils/process-group.js +0 -190
- package/dist/src/utils/process-input.d.ts +0 -27
- package/dist/src/utils/process-input.js +0 -46
- package/dist/src/utils/process.d.ts +0 -293
- package/dist/src/utils/process.js +0 -593
- package/dist/src/utils/ps-duration.d.ts +0 -31
- package/dist/src/utils/ps-duration.js +0 -70
- package/dist/src/utils/regex.d.ts +0 -39
- package/dist/src/utils/regex.js +0 -109
- package/dist/src/utils/sleep.d.ts +0 -25
- package/dist/src/utils/sleep.js +0 -30
- package/dist/src/utils/stdio-drain.d.ts +0 -28
- package/dist/src/utils/stdio-drain.js +0 -54
- package/dist/src/utils/validation.d.ts +0 -182
- package/dist/src/utils/validation.js +0 -394
- package/docs/lifecycle-invariants.md +0 -523
- package/docs/run-logs.md +0 -122
- package/docs/verification-trees.md +0 -49
- /package/dist/src/{types/cli.js → cli/context.js} +0 -0
|
@@ -1,436 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { readdir } from 'node:fs/promises';
|
|
3
|
-
import { join, relative } from 'node:path';
|
|
4
|
-
import { FurnaceError } from '../errors/furnace.js';
|
|
5
|
-
import { toError } from '../utils/errors.js';
|
|
6
|
-
import { copyFile, ensureDir, pathExists, readText, removeFile } from '../utils/fs.js';
|
|
7
|
-
import { sha256Hex } from '../utils/hash.js';
|
|
8
|
-
import { verbose } from '../utils/logger.js';
|
|
9
|
-
import { normalizePathSlashes } from '../utils/paths.js';
|
|
10
|
-
import { buildCustomDryRunActions } from './furnace-apply-dry-run.js';
|
|
11
|
-
import { applyCustomFtlFile, applySharedFtlPrune, removeCustomFtlJarMnEntry, } from './furnace-apply-ftl.js';
|
|
12
|
-
import { normalizeForChecksum } from './furnace-checksum-utils.js';
|
|
13
|
-
import { CUSTOM_ELEMENTS_JS, JAR_MN } from './furnace-constants.js';
|
|
14
|
-
import { deployFileWithFragments, SHARED_FRAGMENTS_DIR } from './furnace-css-fragments.js';
|
|
15
|
-
import { isRegularFile } from './furnace-dir-entry.js';
|
|
16
|
-
import { addCustomElementRegistration, addJarMnEntries } from './furnace-registration.js';
|
|
17
|
-
import { recordCreatedDir, snapshotFile } from './furnace-rollback.js';
|
|
18
|
-
import { checkRegistrationConsistency } from './furnace-validate-registration.js';
|
|
19
|
-
import { isGitRepository } from './git.js';
|
|
20
|
-
import { fileExistsInHead, restoreTrackedPath } from './git-file-ops.js';
|
|
21
|
-
/**
|
|
22
|
-
* Filter deciding which files in an override workspace directory are candidates
|
|
23
|
-
* for copying into the engine. Exported so `furnace remove` can invert apply
|
|
24
|
-
* using the same file set: the "files to restore" set is defined as the
|
|
25
|
-
* inverse of the "files apply would have written" set.
|
|
26
|
-
*/
|
|
27
|
-
export function isOverrideCopyCandidate(entryName, type) {
|
|
28
|
-
if (entryName === 'override.json') {
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
if (type === 'css-only') {
|
|
32
|
-
return entryName.endsWith('.css');
|
|
33
|
-
}
|
|
34
|
-
return entryName.endsWith('.mjs') || entryName.endsWith('.css') || entryName.endsWith('.ftl');
|
|
35
|
-
}
|
|
36
|
-
/** Resolves the engine destination path for a single override-managed file. */
|
|
37
|
-
export function getOverrideEngineTargetPath(engineDir, config, fileName, ftlDir) {
|
|
38
|
-
return fileName.endsWith('.ftl')
|
|
39
|
-
? join(engineDir, ftlDir, fileName)
|
|
40
|
-
: join(engineDir, config.basePath, fileName);
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Restores a single override-deployed engine file to its pristine HEAD state,
|
|
44
|
-
* inverting whatever apply wrote into that path.
|
|
45
|
-
*
|
|
46
|
-
* Behaviour matches the per-file branch of `restoreOverrideEngineFiles` in
|
|
47
|
-
* `furnace remove`: snapshot first, then either `git restore` (if the file
|
|
48
|
-
* exists in HEAD) or hard-delete (if the override introduced the file). The
|
|
49
|
-
* caller must guarantee `engineDir` is a git repository. This helper does
|
|
50
|
-
* not re-check, because both `furnace remove` and `furnace apply` already
|
|
51
|
-
* own the precondition check at their entry points and re-checking on every
|
|
52
|
-
* file would balloon git invocations.
|
|
53
|
-
*
|
|
54
|
-
* Returns the action taken so the caller can produce accurate user-facing
|
|
55
|
-
* counts (`restored` vs `removed`). `noop` means the file was neither in HEAD
|
|
56
|
-
* nor on disk, which can happen when the engine was reset out-of-band. The
|
|
57
|
-
* caller should treat that as a successful no-op rather than an error.
|
|
58
|
-
*/
|
|
59
|
-
export async function restoreOverrideFileToBaseline(engineDir, enginePath, journal) {
|
|
60
|
-
// Engine-relative paths are identifiers here, not filesystem arguments:
|
|
61
|
-
// they are handed to git, recorded in furnace state, and compared against
|
|
62
|
-
// the POSIX paths furnace.json and jar.mn already carry. `relative()`
|
|
63
|
-
// returns backslashes on Windows, so without this the same file has two
|
|
64
|
-
// spellings and every cross-check misses.
|
|
65
|
-
const relPath = normalizePathSlashes(relative(engineDir, enginePath));
|
|
66
|
-
// Snapshot before mutation so a later rollback can undo both restoration
|
|
67
|
-
// (writes whatever content we removed back) and deletion (recreates the
|
|
68
|
-
// file). Snapshotting a missing path records `{ existed: false }`, which
|
|
69
|
-
// restoreFile turns into a delete, the inverse of "we just wrote a file
|
|
70
|
-
// here", which is correct for the noop case too.
|
|
71
|
-
await snapshotFile(journal, enginePath);
|
|
72
|
-
if (await fileExistsInHead(engineDir, relPath)) {
|
|
73
|
-
await restoreTrackedPath(engineDir, relPath);
|
|
74
|
-
return 'restored';
|
|
75
|
-
}
|
|
76
|
-
if (await pathExists(enginePath)) {
|
|
77
|
-
await removeFile(enginePath);
|
|
78
|
-
return 'removed';
|
|
79
|
-
}
|
|
80
|
-
return 'noop';
|
|
81
|
-
}
|
|
82
|
-
/** Computes stable checksums for the source files that define a component. */
|
|
83
|
-
export async function computeComponentChecksums(componentDir) {
|
|
84
|
-
const checksums = {};
|
|
85
|
-
const entries = await readdir(componentDir, { withFileTypes: true, encoding: 'utf8' });
|
|
86
|
-
for (const entry of entries) {
|
|
87
|
-
if (!isRegularFile(entry))
|
|
88
|
-
continue;
|
|
89
|
-
if (entry.name === 'override.json')
|
|
90
|
-
continue;
|
|
91
|
-
// The three extensions a component can deploy. Anything else in the
|
|
92
|
-
// workspace directory is not part of the component's checksum identity.
|
|
93
|
-
const { name: entryName } = entry;
|
|
94
|
-
if (!entryName.endsWith('.mjs') && !entryName.endsWith('.css') && !entryName.endsWith('.ftl'))
|
|
95
|
-
continue;
|
|
96
|
-
const content = await readText(join(componentDir, entry.name));
|
|
97
|
-
const hash = sha256Hex(normalizeForChecksum(content));
|
|
98
|
-
checksums[entry.name] = hash;
|
|
99
|
-
}
|
|
100
|
-
return checksums;
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Removes engine copies of files that the developer has deleted from a custom
|
|
104
|
-
* component's workspace since the last apply. `.ftl` files live under the
|
|
105
|
-
* shared Fluent tree (`engine/${FTL_DIR}`). Everything else lives under
|
|
106
|
-
* `engine/${config.targetPath}`. Snapshots each removal into the journal so a
|
|
107
|
-
* mid-apply failure can roll the engine back to its pre-undeploy state. Files
|
|
108
|
-
* that are already missing from the engine are silently no-op (the engine
|
|
109
|
-
* may have been reset out-of-band, and refusing here would surface a
|
|
110
|
-
* confusing error in a recovery path).
|
|
111
|
-
*
|
|
112
|
-
* Does not touch jar.mn or customElements.js: registration churn is the
|
|
113
|
-
* caller's responsibility, since it must coordinate with the new file list
|
|
114
|
-
* computed by the regular apply step that follows.
|
|
115
|
-
*/
|
|
116
|
-
export async function undeployCustomFiles(engineDir, config, deletedFiles, ftlDir, rollbackJournal) {
|
|
117
|
-
const removed = [];
|
|
118
|
-
for (const fileName of deletedFiles) {
|
|
119
|
-
const enginePath = fileName.endsWith('.ftl')
|
|
120
|
-
? join(engineDir, ftlDir, fileName)
|
|
121
|
-
: join(engineDir, config.targetPath, fileName);
|
|
122
|
-
if (rollbackJournal) {
|
|
123
|
-
await snapshotFile(rollbackJournal, enginePath);
|
|
124
|
-
}
|
|
125
|
-
if (await pathExists(enginePath)) {
|
|
126
|
-
await removeFile(enginePath);
|
|
127
|
-
removed.push(normalizePathSlashes(relative(engineDir, enginePath)));
|
|
128
|
-
}
|
|
129
|
-
// When an `.ftl` is deleted from the workspace the corresponding locale
|
|
130
|
-
// jar.mn entry must also be dropped. Otherwise the chrome URI points at
|
|
131
|
-
// a missing file and runtime Fluent resolution breaks silently.
|
|
132
|
-
// `removeCustomFtlJarMnEntry` early-returns for `sharedFtl` components
|
|
133
|
-
// (the shared bundle is owned elsewhere).
|
|
134
|
-
await removeCustomFtlJarMnEntry(engineDir, fileName, ftlDir, config, rollbackJournal);
|
|
135
|
-
}
|
|
136
|
-
return removed;
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Restores or removes engine copies of files that the developer has deleted
|
|
140
|
-
* from an override component's workspace since the last apply. Each file is
|
|
141
|
-
* routed through `restoreOverrideFileToBaseline`, which restores it from
|
|
142
|
-
* HEAD if it was a Firefox baseline file or hard-deletes it if the override
|
|
143
|
-
* had introduced it.
|
|
144
|
-
*
|
|
145
|
-
* Requires `engineDir` to be a git repository: overrides cannot be inverted
|
|
146
|
-
* without git HEAD as the source of truth. The caller is expected to have
|
|
147
|
-
* already validated this precondition for the apply path. We re-check here
|
|
148
|
-
* so unit tests that exercise this helper directly cannot accidentally
|
|
149
|
-
* silent-fail on a non-git fixture.
|
|
150
|
-
*/
|
|
151
|
-
export async function undeployOverrideFiles(engineDir, config, deletedFiles, ftlDir, rollbackJournal) {
|
|
152
|
-
if (deletedFiles.length === 0) {
|
|
153
|
-
return { restored: [], removed: [] };
|
|
154
|
-
}
|
|
155
|
-
if (!rollbackJournal) {
|
|
156
|
-
throw new FurnaceError('Internal: undeployOverrideFiles requires a rollback journal so deletions can be undone on failure.');
|
|
157
|
-
}
|
|
158
|
-
if (!(await isGitRepository(engineDir))) {
|
|
159
|
-
throw new FurnaceError('Cannot undeploy override files: engine is not a git repository. Run "fireforge download" to initialise it.');
|
|
160
|
-
}
|
|
161
|
-
// Note: we do not re-filter `deletedFiles` through
|
|
162
|
-
// `isOverrideCopyCandidate(fileName, config.type)`. A file recorded in
|
|
163
|
-
// `previous` was already a valid copy candidate when it was deployed, and
|
|
164
|
-
// re-filtering would block cleanup if the override type later flipped
|
|
165
|
-
// from `full` to `css-only`, which is the case we need cleanup for.
|
|
166
|
-
const restored = [];
|
|
167
|
-
const removed = [];
|
|
168
|
-
for (const fileName of deletedFiles) {
|
|
169
|
-
const enginePath = getOverrideEngineTargetPath(engineDir, config, fileName, ftlDir);
|
|
170
|
-
const action = await restoreOverrideFileToBaseline(engineDir, enginePath, rollbackJournal);
|
|
171
|
-
const relPath = normalizePathSlashes(relative(engineDir, enginePath));
|
|
172
|
-
if (action === 'restored')
|
|
173
|
-
restored.push(relPath);
|
|
174
|
-
else if (action === 'removed')
|
|
175
|
-
removed.push(relPath);
|
|
176
|
-
}
|
|
177
|
-
return { restored, removed };
|
|
178
|
-
}
|
|
179
|
-
/** Compares current component file checksums against the previously recorded state. */
|
|
180
|
-
export async function hasComponentChanged(componentDir, previousChecksums, currentChecksums) {
|
|
181
|
-
const current = currentChecksums ?? (await computeComponentChecksums(componentDir));
|
|
182
|
-
return componentChecksumsChanged(current, previousChecksums);
|
|
183
|
-
}
|
|
184
|
-
/** Pure checksum-map comparison used when the caller already walked the component. */
|
|
185
|
-
function componentChecksumsChanged(current, previousChecksums) {
|
|
186
|
-
const currentKeys = Object.keys(current);
|
|
187
|
-
const previousKeys = Object.keys(previousChecksums);
|
|
188
|
-
if (currentKeys.length !== previousKeys.length) {
|
|
189
|
-
return true;
|
|
190
|
-
}
|
|
191
|
-
for (const key of currentKeys) {
|
|
192
|
-
if (current[key] !== previousChecksums[key]) {
|
|
193
|
-
return true;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
return false;
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* Detects whether an override component's deployed files are missing from the
|
|
200
|
-
* engine or differ from the source. Used as a guard before skipping apply on a
|
|
201
|
-
* checksum match, so that reset/download/manual engine edits do not leave the
|
|
202
|
-
* caller with a stale "up to date" report.
|
|
203
|
-
*
|
|
204
|
-
* When `cachedEngineChecksums` is provided (populated on last successful apply),
|
|
205
|
-
* the function computes a SHA-256 hash of the engine file and compares it
|
|
206
|
-
* against the cached value. This avoids reading the full workspace source for
|
|
207
|
-
* the comparison when the engine hash still matches, which is the common case
|
|
208
|
-
* for projects with many components.
|
|
209
|
-
*/
|
|
210
|
-
export async function hasOverrideEngineDrift(ctx, config, cachedEngineChecksums) {
|
|
211
|
-
const { engineDir, componentDir, ftlDir } = ctx;
|
|
212
|
-
const entries = await readdir(componentDir, { withFileTypes: true, encoding: 'utf8' });
|
|
213
|
-
for (const entry of entries) {
|
|
214
|
-
if (!isRegularFile(entry))
|
|
215
|
-
continue;
|
|
216
|
-
if (!isOverrideCopyCandidate(entry.name, config.type))
|
|
217
|
-
continue;
|
|
218
|
-
const enginePath = getOverrideEngineTargetPath(engineDir, config, entry.name, ftlDir);
|
|
219
|
-
if (!(await pathExists(enginePath))) {
|
|
220
|
-
return true;
|
|
221
|
-
}
|
|
222
|
-
const engineContent = normalizeForChecksum(await readText(enginePath));
|
|
223
|
-
// Fast path: compare engine content hash against cached value from last apply
|
|
224
|
-
if (cachedEngineChecksums) {
|
|
225
|
-
const engineHash = sha256Hex(engineContent);
|
|
226
|
-
const cachedHash = cachedEngineChecksums[entry.name];
|
|
227
|
-
if (cachedHash && engineHash !== cachedHash) {
|
|
228
|
-
return true;
|
|
229
|
-
}
|
|
230
|
-
if (cachedHash)
|
|
231
|
-
continue; // Hash match, skip full source comparison
|
|
232
|
-
}
|
|
233
|
-
// Slow path: byte-compare engine content against workspace source
|
|
234
|
-
const srcContent = normalizeForChecksum(await readText(join(componentDir, entry.name)));
|
|
235
|
-
if (srcContent !== engineContent) {
|
|
236
|
-
return true;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
return false;
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* Detects whether a custom component's deployed copies, jar.mn entries, or
|
|
243
|
-
* customElements.js registration are missing from the engine or out of sync.
|
|
244
|
-
* Delegates to `checkRegistrationConsistency` so the oracle stays aligned with
|
|
245
|
-
* the validate command.
|
|
246
|
-
*/
|
|
247
|
-
export async function hasCustomEngineDrift(ctx, config) {
|
|
248
|
-
const { root, name, componentDir, ftlDir } = ctx;
|
|
249
|
-
const status = await checkRegistrationConsistency(root, name, config, ftlDir);
|
|
250
|
-
if (!status.targetExists || !status.filesInSync) {
|
|
251
|
-
return true;
|
|
252
|
-
}
|
|
253
|
-
if (status.missingTargetFiles.length > 0 || status.driftedFiles.length > 0) {
|
|
254
|
-
return true;
|
|
255
|
-
}
|
|
256
|
-
if (!config.register) {
|
|
257
|
-
return false;
|
|
258
|
-
}
|
|
259
|
-
// Registration drift: only check jar.mn entries for the file types that
|
|
260
|
-
// actually exist in source. jarMn{Mjs,Css} are substring checks, so a
|
|
261
|
-
// component with only .mjs (no .css) should not be flagged when jarMnCss
|
|
262
|
-
// is false. That is the expected post-apply state, not drift.
|
|
263
|
-
const entries = await readdir(componentDir, { withFileTypes: true, encoding: 'utf8' });
|
|
264
|
-
let hasMjs = false;
|
|
265
|
-
let hasCss = false;
|
|
266
|
-
for (const entry of entries) {
|
|
267
|
-
if (!isRegularFile(entry))
|
|
268
|
-
continue;
|
|
269
|
-
if (entry.name.endsWith('.mjs'))
|
|
270
|
-
hasMjs = true;
|
|
271
|
-
else if (entry.name.endsWith('.css'))
|
|
272
|
-
hasCss = true;
|
|
273
|
-
}
|
|
274
|
-
if (!status.customElementsPresent || !status.customElementsCorrectBlock) {
|
|
275
|
-
return true;
|
|
276
|
-
}
|
|
277
|
-
if (hasMjs && !status.jarMnMjs) {
|
|
278
|
-
return true;
|
|
279
|
-
}
|
|
280
|
-
if (hasCss && !status.jarMnCss) {
|
|
281
|
-
return true;
|
|
282
|
-
}
|
|
283
|
-
return false;
|
|
284
|
-
}
|
|
285
|
-
/** Applies a custom component into the engine tree and captures registration step errors. */
|
|
286
|
-
export async function applyCustomComponent(ctx, config, dryRun = false, rollbackJournal, applyOptions = {}) {
|
|
287
|
-
// `ftlDir` stays on the context (the FTL and dry-run callees below read
|
|
288
|
-
// it) but is not needed by name here.
|
|
289
|
-
const { engineDir, name, componentDir } = ctx;
|
|
290
|
-
if (!/^[a-z][a-z0-9-]*$/.test(name)) {
|
|
291
|
-
throw new FurnaceError(`Invalid component name "${name}": must match /^[a-z][a-z0-9-]*$/`);
|
|
292
|
-
}
|
|
293
|
-
const targetDir = join(engineDir, config.targetPath);
|
|
294
|
-
const entries = await readdir(componentDir, { withFileTypes: true, encoding: 'utf8' });
|
|
295
|
-
const customSymlinks = entries.filter((e) => typeof e.isSymbolicLink === 'function' && e.isSymbolicLink());
|
|
296
|
-
if (customSymlinks.length > 0) {
|
|
297
|
-
verbose(`Skipped ${customSymlinks.length} symlink(s) in "${name}": ${customSymlinks.map((e) => e.name).join(', ')}`);
|
|
298
|
-
}
|
|
299
|
-
if (dryRun) {
|
|
300
|
-
const { actions, stepErrors } = await buildCustomDryRunActions(ctx, config, targetDir, entries);
|
|
301
|
-
return { affectedPaths: [], stepErrors, actions };
|
|
302
|
-
}
|
|
303
|
-
if (rollbackJournal && !(await pathExists(targetDir))) {
|
|
304
|
-
recordCreatedDir(rollbackJournal, targetDir);
|
|
305
|
-
}
|
|
306
|
-
await ensureDir(targetDir);
|
|
307
|
-
const affectedPaths = [];
|
|
308
|
-
const stepErrors = [];
|
|
309
|
-
const copiedFileNames = [];
|
|
310
|
-
// Collect copy candidates, then snapshot + copy in parallel. Snapshots
|
|
311
|
-
// must complete before any copy (they read the original content), but
|
|
312
|
-
// independent files can be processed concurrently.
|
|
313
|
-
const filesToCopy = entries.filter((entry) => isRegularFile(entry) && (entry.name.endsWith('.mjs') || entry.name.endsWith('.css')));
|
|
314
|
-
// Snapshot phase (serial: journal is not concurrent-safe for the same path)
|
|
315
|
-
for (const entry of filesToCopy) {
|
|
316
|
-
const dest = join(targetDir, entry.name);
|
|
317
|
-
if (rollbackJournal) {
|
|
318
|
-
await snapshotFile(rollbackJournal, dest);
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
// Copy phase (parallel: independent file writes to different paths).
|
|
322
|
-
// CSS files carrying @fireforge-include directives are written as their
|
|
323
|
-
// fragment-expanded form. The workspace source keeps only the directive,
|
|
324
|
-
// so shared CSS stays single-sourced.
|
|
325
|
-
const sharedDir = join(componentDir, '..', '..', SHARED_FRAGMENTS_DIR);
|
|
326
|
-
const copies = await Promise.allSettled(filesToCopy.map(async (entry) => {
|
|
327
|
-
const src = join(componentDir, entry.name);
|
|
328
|
-
const dest = join(targetDir, entry.name);
|
|
329
|
-
await deployFileWithFragments(src, dest, sharedDir);
|
|
330
|
-
affectedPaths.push(normalizePathSlashes(relative(engineDir, dest)));
|
|
331
|
-
copiedFileNames.push(entry.name);
|
|
332
|
-
}));
|
|
333
|
-
const failedCopy = copies.find((copy) => copy.status === 'rejected');
|
|
334
|
-
if (failedCopy?.status === 'rejected')
|
|
335
|
-
throw failedCopy.reason;
|
|
336
|
-
// See buildCustomDryRunActions for the rationale: when `sharedFtl` is set
|
|
337
|
-
// the shared bundle is owned elsewhere and FireForge must not copy or
|
|
338
|
-
// register a per-component `.ftl` on its behalf.
|
|
339
|
-
if (config.localized && !config.sharedFtl) {
|
|
340
|
-
await applyCustomFtlFile(ctx, affectedPaths, stepErrors, rollbackJournal);
|
|
341
|
-
}
|
|
342
|
-
else if (config.localized && config.sharedFtl) {
|
|
343
|
-
// Drop any dangling per-widget locale jar.mn entry that would point at a
|
|
344
|
-
// non-existent `<chromeSubPath>/<name>.ftl` and fail `mach build`. The
|
|
345
|
-
// shared bundle (a different chrome path/base name) is never touched.
|
|
346
|
-
await applySharedFtlPrune(ctx, config, affectedPaths, stepErrors, rollbackJournal);
|
|
347
|
-
}
|
|
348
|
-
if (config.register) {
|
|
349
|
-
try {
|
|
350
|
-
const modulePath = `chrome://global/content/elements/${name}.mjs`;
|
|
351
|
-
if (rollbackJournal) {
|
|
352
|
-
await snapshotFile(rollbackJournal, join(engineDir, CUSTOM_ELEMENTS_JS));
|
|
353
|
-
}
|
|
354
|
-
await addCustomElementRegistration(engineDir, name, modulePath, {
|
|
355
|
-
...(applyOptions.markerComment !== undefined
|
|
356
|
-
? { markerComment: applyOptions.markerComment }
|
|
357
|
-
: {}),
|
|
358
|
-
});
|
|
359
|
-
affectedPaths.push(CUSTOM_ELEMENTS_JS);
|
|
360
|
-
}
|
|
361
|
-
catch (error) {
|
|
362
|
-
stepErrors.push({
|
|
363
|
-
step: 'customElements.js registration',
|
|
364
|
-
error: toError(error).message,
|
|
365
|
-
});
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
if (copiedFileNames.length > 0) {
|
|
369
|
-
try {
|
|
370
|
-
if (rollbackJournal) {
|
|
371
|
-
await snapshotFile(rollbackJournal, join(engineDir, JAR_MN));
|
|
372
|
-
}
|
|
373
|
-
await addJarMnEntries(engineDir, name, copiedFileNames);
|
|
374
|
-
affectedPaths.push(JAR_MN);
|
|
375
|
-
}
|
|
376
|
-
catch (error) {
|
|
377
|
-
stepErrors.push({
|
|
378
|
-
step: 'jar.mn registration',
|
|
379
|
-
error: toError(error).message,
|
|
380
|
-
});
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
|
-
return { affectedPaths, stepErrors };
|
|
384
|
-
}
|
|
385
|
-
/** Applies an override component by copying its matching files onto the engine tree. */
|
|
386
|
-
export async function applyOverrideComponent(ctx, config, dryRun = false, rollbackJournal) {
|
|
387
|
-
const { engineDir, name, componentDir, ftlDir } = ctx;
|
|
388
|
-
const targetDir = join(engineDir, config.basePath);
|
|
389
|
-
if (!(await pathExists(targetDir))) {
|
|
390
|
-
throw new FurnaceError(`Override target path not found in engine: ${config.basePath}`, name);
|
|
391
|
-
}
|
|
392
|
-
const entries = await readdir(componentDir, { withFileTypes: true, encoding: 'utf8' });
|
|
393
|
-
const overrideSymlinks = entries.filter((e) => typeof e.isSymbolicLink === 'function' && e.isSymbolicLink());
|
|
394
|
-
if (overrideSymlinks.length > 0) {
|
|
395
|
-
verbose(`Skipped ${overrideSymlinks.length} symlink(s) in "${name}": ${overrideSymlinks.map((e) => e.name).join(', ')}`);
|
|
396
|
-
}
|
|
397
|
-
if (dryRun) {
|
|
398
|
-
const actions = entries
|
|
399
|
-
.filter((entry) => isRegularFile(entry) && isOverrideCopyCandidate(entry.name, config.type))
|
|
400
|
-
.map((entry) => ({
|
|
401
|
-
component: name,
|
|
402
|
-
action: 'copy',
|
|
403
|
-
source: join(componentDir, entry.name),
|
|
404
|
-
target: getOverrideEngineTargetPath(engineDir, config, entry.name, ftlDir),
|
|
405
|
-
description: `Override ${entry.name} in ${entry.name.endsWith('.ftl') ? ftlDir : config.basePath}`,
|
|
406
|
-
}));
|
|
407
|
-
if (actions.length === 0) {
|
|
408
|
-
throw new FurnaceError(`No matching files found in override directory for "${name}"`, name);
|
|
409
|
-
}
|
|
410
|
-
return { affectedPaths: [], actions };
|
|
411
|
-
}
|
|
412
|
-
const affectedPaths = [];
|
|
413
|
-
const candidateEntries = entries.filter((entry) => isRegularFile(entry) && isOverrideCopyCandidate(entry.name, config.type));
|
|
414
|
-
// Snapshot phase (serial)
|
|
415
|
-
for (const entry of candidateEntries) {
|
|
416
|
-
const dest = getOverrideEngineTargetPath(engineDir, config, entry.name, ftlDir);
|
|
417
|
-
if (rollbackJournal) {
|
|
418
|
-
await snapshotFile(rollbackJournal, dest);
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
// Copy phase (parallel)
|
|
422
|
-
const copies = await Promise.allSettled(candidateEntries.map(async (entry) => {
|
|
423
|
-
const src = join(componentDir, entry.name);
|
|
424
|
-
const dest = getOverrideEngineTargetPath(engineDir, config, entry.name, ftlDir);
|
|
425
|
-
await copyFile(src, dest);
|
|
426
|
-
affectedPaths.push(normalizePathSlashes(relative(engineDir, dest)));
|
|
427
|
-
}));
|
|
428
|
-
const failedCopy = copies.find((copy) => copy.status === 'rejected');
|
|
429
|
-
if (failedCopy?.status === 'rejected')
|
|
430
|
-
throw failedCopy.reason;
|
|
431
|
-
if (affectedPaths.length === 0) {
|
|
432
|
-
throw new FurnaceError(`No matching files found in override directory for "${name}"`, name);
|
|
433
|
-
}
|
|
434
|
-
return { affectedPaths };
|
|
435
|
-
}
|
|
436
|
-
export { diffDeletedFiles, extractComponentChecksums, prefixChecksums, } from './furnace-checksum-utils.js';
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import type { ApplyResult, DryRunAction } from '../types/furnace.js';
|
|
2
|
-
type ApplyResultWithActions = ApplyResult & {
|
|
3
|
-
actions?: DryRunAction[];
|
|
4
|
-
};
|
|
5
|
-
/**
|
|
6
|
-
* The reason breakdown appended to a "skipped N" summary, e.g.
|
|
7
|
-
* ` (2 already current)`, so `Applied 0, skipped 1` says whether the
|
|
8
|
-
* component was already current or skipped for another reason without
|
|
9
|
-
* diffing the deployed files by hand. Empty when nothing was skipped.
|
|
10
|
-
*
|
|
11
|
-
* @param skipped - `result.skipped` from applyAllComponents
|
|
12
|
-
* @returns The parenthesised breakdown with a leading space, or ''
|
|
13
|
-
*/
|
|
14
|
-
export declare function formatSkipBreakdown(skipped: ApplyResult['skipped']): string;
|
|
15
|
-
/**
|
|
16
|
-
* Prints a standard summary of an apply result for both normal and dry-run flows.
|
|
17
|
-
*
|
|
18
|
-
* Dry-run output lists the planned actions collected by the apply helpers.
|
|
19
|
-
* Normal output lists applied files, skipped components, and any step errors.
|
|
20
|
-
* Errors are always printed after the main body.
|
|
21
|
-
*
|
|
22
|
-
* @param result - Result returned by applyAllComponents
|
|
23
|
-
* @param isDryRun - Whether apply was invoked with dryRun=true
|
|
24
|
-
*/
|
|
25
|
-
export declare function logApplyResult(result: ApplyResultWithActions, isDryRun: boolean): void;
|
|
26
|
-
/**
|
|
27
|
-
* Prints the operator-facing apply warnings (patch-owned overwrites) one
|
|
28
|
-
* per line and returns how many were printed. Shared by `furnace apply`
|
|
29
|
-
* and the pre-build source → engine sync, so a warning the apply computed
|
|
30
|
-
* is never dropped on one path and printed on the other.
|
|
31
|
-
*
|
|
32
|
-
* @param warnings - `result.warnings` from applyAllComponents
|
|
33
|
-
* @returns Number of warning lines printed
|
|
34
|
-
*/
|
|
35
|
-
export declare function logApplyWarnings(warnings: readonly string[] | undefined): number;
|
|
36
|
-
export {};
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { error, info, success, warn } from '../utils/logger.js';
|
|
2
|
-
/** Summary label and per-component explanation for each skip kind. */
|
|
3
|
-
const SKIP_KIND_TEXT = {
|
|
4
|
-
'already-current': {
|
|
5
|
-
label: 'already current',
|
|
6
|
-
detail: 'already current: source unchanged since the last recorded apply (from any session) and the engine copy matches it',
|
|
7
|
-
},
|
|
8
|
-
};
|
|
9
|
-
/** The per-component line text for one skip. */
|
|
10
|
-
function describeSkip(skipped) {
|
|
11
|
-
return skipped.kind !== undefined ? SKIP_KIND_TEXT[skipped.kind].detail : skipped.reason;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* The reason breakdown appended to a "skipped N" summary, e.g.
|
|
15
|
-
* ` (2 already current)`, so `Applied 0, skipped 1` says whether the
|
|
16
|
-
* component was already current or skipped for another reason without
|
|
17
|
-
* diffing the deployed files by hand. Empty when nothing was skipped.
|
|
18
|
-
*
|
|
19
|
-
* @param skipped - `result.skipped` from applyAllComponents
|
|
20
|
-
* @returns The parenthesised breakdown with a leading space, or ''
|
|
21
|
-
*/
|
|
22
|
-
export function formatSkipBreakdown(skipped) {
|
|
23
|
-
if (skipped.length === 0)
|
|
24
|
-
return '';
|
|
25
|
-
const counts = new Map();
|
|
26
|
-
for (const entry of skipped) {
|
|
27
|
-
const label = entry.kind !== undefined ? SKIP_KIND_TEXT[entry.kind].label : entry.reason;
|
|
28
|
-
counts.set(label, (counts.get(label) ?? 0) + 1);
|
|
29
|
-
}
|
|
30
|
-
return ` (${[...counts].map(([label, count]) => `${count} ${label}`).join(', ')})`;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Prints a standard summary of an apply result for both normal and dry-run flows.
|
|
34
|
-
*
|
|
35
|
-
* Dry-run output lists the planned actions collected by the apply helpers.
|
|
36
|
-
* Normal output lists applied files, skipped components, and any step errors.
|
|
37
|
-
* Errors are always printed after the main body.
|
|
38
|
-
*
|
|
39
|
-
* @param result - Result returned by applyAllComponents
|
|
40
|
-
* @param isDryRun - Whether apply was invoked with dryRun=true
|
|
41
|
-
*/
|
|
42
|
-
export function logApplyResult(result, isDryRun) {
|
|
43
|
-
if (isDryRun && result.actions && result.actions.length > 0) {
|
|
44
|
-
info('Planned actions:');
|
|
45
|
-
for (const action of result.actions) {
|
|
46
|
-
info(` [${action.action}] ${action.component}: ${action.description}`);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
else if (isDryRun) {
|
|
50
|
-
info('No actions would be performed.');
|
|
51
|
-
}
|
|
52
|
-
else if (result.rolledBack) {
|
|
53
|
-
// When the rollback journal was restored, entries in `applied` reflect
|
|
54
|
-
// what was attempted but no longer exists in the engine. Print them as
|
|
55
|
-
// "attempted" rather than "success" to avoid misleading the operator.
|
|
56
|
-
if (result.applied.length > 0) {
|
|
57
|
-
warn('The following components were applied but have been rolled back due to errors:');
|
|
58
|
-
for (const applied of result.applied) {
|
|
59
|
-
warn(` ${applied.name} (${applied.type}) — rolled back`);
|
|
60
|
-
if (applied.stepErrors && applied.stepErrors.length > 0) {
|
|
61
|
-
for (const stepErr of applied.stepErrors) {
|
|
62
|
-
warn(` ${applied.name}: [${stepErr.step}] ${stepErr.error}`);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
for (const applied of result.applied) {
|
|
70
|
-
success(`${applied.name} (${applied.type}) → ${applied.filesAffected.length} files`);
|
|
71
|
-
}
|
|
72
|
-
for (const skipped of result.skipped) {
|
|
73
|
-
info(`${skipped.name} — ${describeSkip(skipped)}`);
|
|
74
|
-
}
|
|
75
|
-
for (const applied of result.applied) {
|
|
76
|
-
if (applied.stepErrors && applied.stepErrors.length > 0) {
|
|
77
|
-
for (const stepErr of applied.stepErrors) {
|
|
78
|
-
const advisoryPrefix = stepErr.advisory === true ? '(advisory) ' : '';
|
|
79
|
-
warn(`${applied.name}: ${advisoryPrefix}[${stepErr.step}] ${stepErr.error}`);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
// Patch-owned overwrite warnings print on every non-dry-run
|
|
85
|
-
// outcome, including the rolled-back branch, where the overwrite
|
|
86
|
-
// happened before the rollback restored it and the operator still needs
|
|
87
|
-
// to know the deployed copy was momentarily replaced.
|
|
88
|
-
if (!isDryRun) {
|
|
89
|
-
logApplyWarnings(result.warnings);
|
|
90
|
-
}
|
|
91
|
-
for (const err of result.errors) {
|
|
92
|
-
error(`${err.name} — ${err.error}`);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Prints the operator-facing apply warnings (patch-owned overwrites) one
|
|
97
|
-
* per line and returns how many were printed. Shared by `furnace apply`
|
|
98
|
-
* and the pre-build source → engine sync, so a warning the apply computed
|
|
99
|
-
* is never dropped on one path and printed on the other.
|
|
100
|
-
*
|
|
101
|
-
* @param warnings - `result.warnings` from applyAllComponents
|
|
102
|
-
* @returns Number of warning lines printed
|
|
103
|
-
*/
|
|
104
|
-
export function logApplyWarnings(warnings) {
|
|
105
|
-
if (warnings === undefined)
|
|
106
|
-
return 0;
|
|
107
|
-
for (const line of warnings) {
|
|
108
|
-
warn(line);
|
|
109
|
-
}
|
|
110
|
-
return warnings.length;
|
|
111
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Patch-owned overwrite warnings for `furnace apply`.
|
|
3
|
-
*
|
|
4
|
-
* For Furnace-managed components, apply overwrites the deployed engine
|
|
5
|
-
* copies with the `components/` sources. A fix made directly in `engine/` and
|
|
6
|
-
* exported into a patch (but never back-ported to the component source) is
|
|
7
|
-
* silently undone by the next apply, and a plain drift line reads like
|
|
8
|
-
* "someone's uncommitted work". This module detects that case before
|
|
9
|
-
* the copy (deployed bytes differ from the component source and the file is
|
|
10
|
-
* patch-owned) and produces a per-file warning naming the file, the owning
|
|
11
|
-
* patch, and the consequence.
|
|
12
|
-
*
|
|
13
|
-
* The per-file byte comparison already exists:
|
|
14
|
-
* `checkRegistrationConsistency` for custom components (fragment- and
|
|
15
|
-
* ftl-aware) and the copy-candidate walk for overrides. This module only
|
|
16
|
-
* surfaces what those comparisons compute.
|
|
17
|
-
*/
|
|
18
|
-
import type { CustomComponentConfig, OverrideComponentConfig } from '../types/furnace.js';
|
|
19
|
-
/** One deployed, patch-owned file about to be overwritten with different bytes. */
|
|
20
|
-
export interface PatchOwnedOverwriteWarning {
|
|
21
|
-
component: string;
|
|
22
|
-
/** Engine-relative path of the deployed file being replaced. */
|
|
23
|
-
file: string;
|
|
24
|
-
/** Patch filenames claiming the path in patches.json. */
|
|
25
|
-
owners: string[];
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Loads the file → owning-patch map for the overwrite warning.
|
|
29
|
-
* A missing or unreadable patches manifest degrades to an empty map. The
|
|
30
|
-
* warning is advisory and must never block an apply.
|
|
31
|
-
*/
|
|
32
|
-
export declare function loadPatchClaimsForApply(root: string): Promise<ReadonlyMap<string, readonly string[]>>;
|
|
33
|
-
/** Appends formatted overwrite warnings onto the run's result. */
|
|
34
|
-
export declare function recordOverwriteWarnings(result: {
|
|
35
|
-
warnings?: string[];
|
|
36
|
-
}, warnings: readonly PatchOwnedOverwriteWarning[]): void;
|
|
37
|
-
/** Renders the operator-facing warning line for one overwrite. */
|
|
38
|
-
export declare function formatPatchOwnedOverwriteWarning(warning: PatchOwnedOverwriteWarning): string;
|
|
39
|
-
/** Inputs for {@link findPatchOwnedOverwrites}, discriminated by component type. */
|
|
40
|
-
export type PatchOwnedOverwriteProbe = {
|
|
41
|
-
type: 'custom';
|
|
42
|
-
root: string;
|
|
43
|
-
name: string;
|
|
44
|
-
config: CustomComponentConfig;
|
|
45
|
-
ftlDir: string;
|
|
46
|
-
patchClaims: ReadonlyMap<string, readonly string[]>;
|
|
47
|
-
} | {
|
|
48
|
-
type: 'override';
|
|
49
|
-
engineDir: string;
|
|
50
|
-
name: string;
|
|
51
|
-
componentDir: string;
|
|
52
|
-
config: OverrideComponentConfig;
|
|
53
|
-
ftlDir: string;
|
|
54
|
-
patchClaims: ReadonlyMap<string, readonly string[]>;
|
|
55
|
-
};
|
|
56
|
-
/**
|
|
57
|
-
* Finds deployed files this component's apply is about to overwrite whose
|
|
58
|
-
* engine bytes differ from the component source and that are patch-owned.
|
|
59
|
-
* A probe failure throws, for callers that refuse on the result.
|
|
60
|
-
*/
|
|
61
|
-
export declare function probePatchOwnedOverwrites(args: PatchOwnedOverwriteProbe): Promise<PatchOwnedOverwriteWarning[]>;
|
|
62
|
-
/**
|
|
63
|
-
* {@link probePatchOwnedOverwrites} for the advisory warning: probe
|
|
64
|
-
* failures degrade to a verbose line and an empty list. The apply itself
|
|
65
|
-
* must not fail because the warning probe could not run.
|
|
66
|
-
*/
|
|
67
|
-
export declare function findPatchOwnedOverwrites(args: PatchOwnedOverwriteProbe): Promise<PatchOwnedOverwriteWarning[]>;
|