@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,348 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { join } from 'node:path';
|
|
3
|
-
import { FurnaceError } from '../errors/furnace.js';
|
|
4
|
-
import { pathExists, readText, writeText } from '../utils/fs.js';
|
|
5
|
-
/**
|
|
6
|
-
* Returns the leading whitespace of the first line matching `pattern`, whose
|
|
7
|
-
* first capture group must be that indentation. `undefined` when no line
|
|
8
|
-
* matches, so callers can chain progressively looser patterns before falling
|
|
9
|
-
* back to a convention default.
|
|
10
|
-
*/
|
|
11
|
-
function detectIndent(lines, pattern) {
|
|
12
|
-
for (const line of lines) {
|
|
13
|
-
const match = pattern.exec(line);
|
|
14
|
-
if (match?.[1])
|
|
15
|
-
return match[1];
|
|
16
|
-
}
|
|
17
|
-
return undefined;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Detects the indentation used by existing `content/global/elements/` lines
|
|
21
|
-
* in jar.mn. Falls back to 3 spaces (the historical Firefox convention) when
|
|
22
|
-
* no reference line is found.
|
|
23
|
-
*/
|
|
24
|
-
function detectJarMnIndent(lines) {
|
|
25
|
-
return detectIndent(lines, /^(\s+)content\/global\/elements\//) ?? ' ';
|
|
26
|
-
}
|
|
27
|
-
// Re-export everything from the AST module so existing imports keep working
|
|
28
|
-
export { addCustomElementRegistration, validateCustomElementRegistration, } from './furnace-registration-ast.js';
|
|
29
|
-
export { removeCustomElementRegistration } from './furnace-registration-remove.js';
|
|
30
|
-
export { renameCustomElementRegistration } from './furnace-registration-rename.js';
|
|
31
|
-
import { escapeRegex } from '../utils/regex.js';
|
|
32
|
-
import { JAR_MN } from './furnace-constants.js';
|
|
33
|
-
/**
|
|
34
|
-
* True when jar.mn already registers `file` of component `tagName` anywhere
|
|
35
|
-
* in the file: either a line targeting `content/global/elements/<file>` or a
|
|
36
|
-
* line sourcing `(widgets/<tagName>/<file>)`. The position of the existing
|
|
37
|
-
* line is irrelevant. A hand-written line below an unrelated entry counts
|
|
38
|
-
* exactly like one Furnace wrote itself, so apply never adds a second line
|
|
39
|
-
* and mach never fails with "Item already in manifest". Boundary-aware so
|
|
40
|
-
* `moz-card.css` does not match `moz-card-group.css`.
|
|
41
|
-
*/
|
|
42
|
-
function isJarMnFileRegistered(content, tagName, file) {
|
|
43
|
-
const escapedFile = escapeRegex(file);
|
|
44
|
-
const target = new RegExp(`content/global/elements/${escapedFile}(?:\\s|$)`, 'm');
|
|
45
|
-
const source = new RegExp(`\\(widgets/${escapeRegex(tagName)}/${escapedFile}\\)`);
|
|
46
|
-
return target.test(content) || source.test(content);
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Adds jar.mn entries that map chrome:// URIs to on-disk paths for a
|
|
50
|
-
* component's files.
|
|
51
|
-
*
|
|
52
|
-
* ## Assumed jar.mn format
|
|
53
|
-
*
|
|
54
|
-
* Firefox's `toolkit/content/jar.mn` uses a stable format that has not
|
|
55
|
-
* changed in the custom-element era (Firefox 90+). The entry format is:
|
|
56
|
-
*
|
|
57
|
-
* ```
|
|
58
|
-
* content/global/elements/{file} (widgets/{tagName}/{file})
|
|
59
|
-
* ```
|
|
60
|
-
*
|
|
61
|
-
* - **Indent**: detected dynamically from the nearest existing
|
|
62
|
-
* `content/global/elements/` line. Falls back to 3 spaces when no
|
|
63
|
-
* reference line exists.
|
|
64
|
-
* - **Insertion point**: identified by existing lines matching the regex
|
|
65
|
-
* `^\s+content\/global\/elements\/([^.]+)\.`. New entries are inserted
|
|
66
|
-
* in alphabetical order relative to these.
|
|
67
|
-
* - **Fallback**: if no `content/global/elements/` line exists (empty
|
|
68
|
-
* project), looks for any `content/global/` line and inserts after it.
|
|
69
|
-
* - **Idempotency**: entries already present anywhere in the file (an exact
|
|
70
|
-
* target match on `content/global/elements/{file}`, or a source match on
|
|
71
|
-
* `(widgets/{tagName}/{file})`) are skipped, including hand-written ones.
|
|
72
|
-
*
|
|
73
|
-
* If Firefox upstream changes the jar.mn section ordering or switches to a
|
|
74
|
-
* different resource registration mechanism, the preflight validation in
|
|
75
|
-
* `validateJarMnInsertionForFiles` will catch the format mismatch before any writes
|
|
76
|
-
* occur.
|
|
77
|
-
*
|
|
78
|
-
* @param engineDir - Path to the Firefox engine source root
|
|
79
|
-
* @param tagName - Custom element tag name
|
|
80
|
-
* @param files - Filenames to register (e.g. ["moz-widget.mjs", "moz-widget.css"])
|
|
81
|
-
*/
|
|
82
|
-
export async function addJarMnEntries(engineDir, tagName, files) {
|
|
83
|
-
const filePath = join(engineDir, JAR_MN);
|
|
84
|
-
if (!(await pathExists(filePath))) {
|
|
85
|
-
throw new FurnaceError('jar.mn not found in engine', tagName);
|
|
86
|
-
}
|
|
87
|
-
let content = await readText(filePath);
|
|
88
|
-
const lines = content.split('\n');
|
|
89
|
-
// Filter to files not already registered anywhere in the jar.
|
|
90
|
-
const newFiles = [...new Set(files)].filter((f) => !isJarMnFileRegistered(content, tagName, f));
|
|
91
|
-
if (newFiles.length === 0)
|
|
92
|
-
return 0;
|
|
93
|
-
// Build new entry lines using the indent detected from existing entries.
|
|
94
|
-
const indent = detectJarMnIndent(lines);
|
|
95
|
-
const newEntries = newFiles.map((f) => `${indent}content/global/elements/${f} (widgets/${tagName}/${f})`);
|
|
96
|
-
// Find insertion point among existing content/global/elements/ lines
|
|
97
|
-
const elementLinePattern = /^\s+content\/global\/elements\/([^.]+)\./;
|
|
98
|
-
let insertIndex = -1;
|
|
99
|
-
for (const [i, line] of lines.entries()) {
|
|
100
|
-
const match = elementLinePattern.exec(line);
|
|
101
|
-
if (match) {
|
|
102
|
-
const existingTag = match[1] ?? '';
|
|
103
|
-
if (existingTag > tagName) {
|
|
104
|
-
insertIndex = i;
|
|
105
|
-
break;
|
|
106
|
-
}
|
|
107
|
-
// Track last element entry line as fallback (insert after it)
|
|
108
|
-
insertIndex = i + 1;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
if (insertIndex === -1) {
|
|
112
|
-
// Fallback: find last content/global/ line
|
|
113
|
-
for (let i = lines.length - 1; i >= 0; i--) {
|
|
114
|
-
const line = lines[i];
|
|
115
|
-
if (line !== undefined && /^\s+content\/global\//.test(line)) {
|
|
116
|
-
insertIndex = i + 1;
|
|
117
|
-
break;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
if (insertIndex === -1) {
|
|
122
|
-
const nonEmpty = lines.some((line) => line.trim().length > 0);
|
|
123
|
-
if (!nonEmpty) {
|
|
124
|
-
throw new FurnaceError('jar.mn is empty or contains only whitespace. It may be malformed — verify the engine was downloaded correctly.', tagName);
|
|
125
|
-
}
|
|
126
|
-
throw new FurnaceError('Could not find a content/global/ section in jar.mn for element entries. The file may be malformed.', tagName);
|
|
127
|
-
}
|
|
128
|
-
lines.splice(insertIndex, 0, ...newEntries);
|
|
129
|
-
content = lines.join('\n');
|
|
130
|
-
await writeText(filePath, content);
|
|
131
|
-
return newFiles.length;
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Adds a locale jar.mn entry mapping `<chromeSubPath>/<tagName>.ftl` to the
|
|
135
|
-
* on-disk `.ftl` that `furnace apply` just copied under the FTL tree. Without
|
|
136
|
-
* this entry the chrome URI passed to `window.MozXULElement.insertFTLIfNeeded`
|
|
137
|
-
* does not resolve at runtime, so the generated `--localized` component
|
|
138
|
-
* silently ships broken l10n.
|
|
139
|
-
*
|
|
140
|
-
* Degrades gracefully: if the locale jar.mn (e.g. `toolkit/locales/jar.mn`)
|
|
141
|
-
* does not exist, returns 0 rather than throwing, so a custom fork without a
|
|
142
|
-
* standard locales package can still apply a localized component.
|
|
143
|
-
*
|
|
144
|
-
* The written entry mirrors the Mozilla convention for toolkit widgets:
|
|
145
|
-
*
|
|
146
|
-
* locale/@AB_CD@/<chromeSubPath>/<tagName>.ftl (%<chromeSubPath>/<tagName>.ftl)
|
|
147
|
-
*
|
|
148
|
-
* @param engineDir - Path to the Firefox engine source root
|
|
149
|
-
* @param jarMnRelPath - Engine-relative path to the locale jar.mn
|
|
150
|
-
* @param tagName - Custom element tag name (base of the `.ftl` file)
|
|
151
|
-
* @param chromeSubPath - Chrome sub-path (e.g. `toolkit/global`)
|
|
152
|
-
* @returns Number of entries inserted (0 when already present, or jar.mn missing)
|
|
153
|
-
*/
|
|
154
|
-
export async function addLocaleFtlJarMnEntry(engineDir, jarMnRelPath, tagName, chromeSubPath) {
|
|
155
|
-
const filePath = join(engineDir, jarMnRelPath);
|
|
156
|
-
if (!(await pathExists(filePath))) {
|
|
157
|
-
return 0;
|
|
158
|
-
}
|
|
159
|
-
const content = await readText(filePath);
|
|
160
|
-
const lines = content.split('\n');
|
|
161
|
-
const ftlFile = `${tagName}.ftl`;
|
|
162
|
-
const escapedTag = escapeRegex(tagName);
|
|
163
|
-
const escapedChrome = escapeRegex(chromeSubPath);
|
|
164
|
-
const presencePattern = new RegExp(`locale\\/(?:@AB_CD@|[a-zA-Z-]+)\\/${escapedChrome}\\/${escapedTag}\\.ftl`, 'm');
|
|
165
|
-
if (presencePattern.test(content)) {
|
|
166
|
-
return 0;
|
|
167
|
-
}
|
|
168
|
-
const indent = detectLocaleJarMnIndent(lines, chromeSubPath);
|
|
169
|
-
const newEntry = `${indent}locale/@AB_CD@/${chromeSubPath}/${ftlFile} (%${chromeSubPath}/${ftlFile})`;
|
|
170
|
-
const sectionPattern = new RegExp(`^(\\s+)locale\\/(?:@AB_CD@|[a-zA-Z-]+)\\/${escapedChrome}\\/([^.\\s]+)\\.ftl`);
|
|
171
|
-
let insertIndex = -1;
|
|
172
|
-
for (const [i, line] of lines.entries()) {
|
|
173
|
-
const match = sectionPattern.exec(line);
|
|
174
|
-
if (match) {
|
|
175
|
-
const existingTag = match[2] ?? '';
|
|
176
|
-
if (existingTag > tagName) {
|
|
177
|
-
insertIndex = i;
|
|
178
|
-
break;
|
|
179
|
-
}
|
|
180
|
-
insertIndex = i + 1;
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
if (insertIndex === -1) {
|
|
184
|
-
// No existing entries under this chrome sub-path. Fall back to end-of-file
|
|
185
|
-
// placement so the operator can reorder manually if desired.
|
|
186
|
-
insertIndex = lines.length;
|
|
187
|
-
}
|
|
188
|
-
lines.splice(insertIndex, 0, newEntry);
|
|
189
|
-
await writeText(filePath, lines.join('\n'));
|
|
190
|
-
return 1;
|
|
191
|
-
}
|
|
192
|
-
/** Detects locale jar.mn indentation by sampling an existing matching entry. */
|
|
193
|
-
function detectLocaleJarMnIndent(lines, chromeSubPath) {
|
|
194
|
-
const escapedChrome = escapeRegex(chromeSubPath);
|
|
195
|
-
const exact = new RegExp(`^(\\s+)locale\\/(?:@AB_CD@|[a-zA-Z-]+)\\/${escapedChrome}\\/`);
|
|
196
|
-
// Fall back to any existing `locale/...` indent before giving up.
|
|
197
|
-
return detectIndent(lines, exact) ?? detectIndent(lines, /^(\s+)locale\//) ?? ' ';
|
|
198
|
-
}
|
|
199
|
-
/** Matches a per-widget locale jar.mn line for `<chromeSubPath>/<tagName>.ftl`. */
|
|
200
|
-
function localeFtlJarMnPattern(tagName, chromeSubPath) {
|
|
201
|
-
return new RegExp(`locale\\/(?:@AB_CD@|[a-zA-Z-]+)\\/${escapeRegex(chromeSubPath)}\\/${escapeRegex(tagName)}\\.ftl`);
|
|
202
|
-
}
|
|
203
|
-
/**
|
|
204
|
-
* True when the locale jar.mn carries a per-widget line for `tagName`.
|
|
205
|
-
* False when the jar.mn is missing. Used by `furnace rename --dry-run` to
|
|
206
|
-
* say whether a rename would re-point a line or leave the jar alone.
|
|
207
|
-
*/
|
|
208
|
-
export async function hasLocaleFtlJarMnEntry(engineDir, jarMnRelPath, tagName, chromeSubPath) {
|
|
209
|
-
const filePath = join(engineDir, jarMnRelPath);
|
|
210
|
-
if (!(await pathExists(filePath)))
|
|
211
|
-
return false;
|
|
212
|
-
return localeFtlJarMnPattern(tagName, chromeSubPath).test(await readText(filePath));
|
|
213
|
-
}
|
|
214
|
-
/**
|
|
215
|
-
* Removes a locale jar.mn entry previously written by `addLocaleFtlJarMnEntry`.
|
|
216
|
-
* Idempotent: if the entry is absent or the file is missing, nothing happens.
|
|
217
|
-
*
|
|
218
|
-
* @returns True when a line was removed, so a rename re-points only an
|
|
219
|
-
* entry that existed instead of inventing one
|
|
220
|
-
*/
|
|
221
|
-
export async function removeLocaleFtlJarMnEntry(engineDir, jarMnRelPath, tagName, chromeSubPath) {
|
|
222
|
-
const filePath = join(engineDir, jarMnRelPath);
|
|
223
|
-
if (!(await pathExists(filePath))) {
|
|
224
|
-
return false;
|
|
225
|
-
}
|
|
226
|
-
const content = await readText(filePath);
|
|
227
|
-
const lines = content.split('\n');
|
|
228
|
-
const pattern = localeFtlJarMnPattern(tagName, chromeSubPath);
|
|
229
|
-
const filtered = lines.filter((line) => !pattern.test(line));
|
|
230
|
-
if (filtered.length === lines.length)
|
|
231
|
-
return false;
|
|
232
|
-
await writeText(filePath, filtered.join('\n'));
|
|
233
|
-
return true;
|
|
234
|
-
}
|
|
235
|
-
/**
|
|
236
|
-
* Removes all jar.mn entries for a given tag name.
|
|
237
|
-
*
|
|
238
|
-
* This operation is idempotent: if no entries exist or the file is missing,
|
|
239
|
-
* nothing happens.
|
|
240
|
-
*
|
|
241
|
-
* @param engineDir - Path to the Firefox engine source root
|
|
242
|
-
* @param tagName - Custom element tag name whose entries should be removed
|
|
243
|
-
*/
|
|
244
|
-
export async function removeJarMnEntries(engineDir, tagName) {
|
|
245
|
-
const filePath = join(engineDir, JAR_MN);
|
|
246
|
-
if (!(await pathExists(filePath))) {
|
|
247
|
-
return;
|
|
248
|
-
}
|
|
249
|
-
let content = await readText(filePath);
|
|
250
|
-
const lines = content.split('\n');
|
|
251
|
-
// Match by the source mapping segment `(widgets/<tagName>/...)` so every
|
|
252
|
-
// line the component registered is removed regardless of the target
|
|
253
|
-
// basename. A helper `.mjs` whose name does not start with the tag (e.g.
|
|
254
|
-
// a renamed `foo-utils.mjs`) otherwise survives the remove pass and leaves
|
|
255
|
-
// a stale registration that breaks packaging. The target-path match is
|
|
256
|
-
// kept as an OR for lines that carry no source mapping.
|
|
257
|
-
// Word boundaries keep "moz-card" from matching "moz-card-group".
|
|
258
|
-
const sourcePattern = new RegExp(`\\(widgets/${escapeRegex(tagName)}/`);
|
|
259
|
-
const legacyTargetPattern = new RegExp(`content/global/elements/${escapeRegex(tagName)}\\.`);
|
|
260
|
-
const filtered = lines.filter((line) => !sourcePattern.test(line) && !legacyTargetPattern.test(line));
|
|
261
|
-
if (filtered.length === lines.length)
|
|
262
|
-
return;
|
|
263
|
-
content = filtered.join('\n');
|
|
264
|
-
await writeText(filePath, content);
|
|
265
|
-
}
|
|
266
|
-
const WIDGET_SOURCE_MAPPING_PATTERN = /\(widgets\/([^/)]+)\/([^)]+)\)/;
|
|
267
|
-
/**
|
|
268
|
-
* Scans jar.mn for widget registration lines `(widgets/<tag>/<file>)` whose
|
|
269
|
-
* workspace source file no longer exists. A renamed component helper
|
|
270
|
-
* otherwise leaves the old line pointing at a deleted file and every build
|
|
271
|
-
* fails at packaging. Only tags in `managedTags` (furnace-managed custom
|
|
272
|
-
* components) are inspected, so upstream lines are never touched.
|
|
273
|
-
*/
|
|
274
|
-
export async function findStaleJarMnEntries(engineDir, customDir, managedTags) {
|
|
275
|
-
const filePath = join(engineDir, JAR_MN);
|
|
276
|
-
if (!(await pathExists(filePath)))
|
|
277
|
-
return [];
|
|
278
|
-
const managed = new Set(managedTags);
|
|
279
|
-
const stale = [];
|
|
280
|
-
for (const line of (await readText(filePath)).split('\n')) {
|
|
281
|
-
const match = WIDGET_SOURCE_MAPPING_PATTERN.exec(line);
|
|
282
|
-
if (!match)
|
|
283
|
-
continue;
|
|
284
|
-
const tagName = match[1] ?? '';
|
|
285
|
-
const fileName = match[2] ?? '';
|
|
286
|
-
if (!managed.has(tagName))
|
|
287
|
-
continue;
|
|
288
|
-
if (!(await pathExists(join(customDir, tagName, fileName)))) {
|
|
289
|
-
stale.push({ tagName, fileName, line: line.trim() });
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
return stale;
|
|
293
|
-
}
|
|
294
|
-
/**
|
|
295
|
-
* Removes every stale widget registration line found by
|
|
296
|
-
* {@link findStaleJarMnEntries}. Returns the removed entries. Used by
|
|
297
|
-
* `furnace validate --fix` and `doctor --repair-furnace`.
|
|
298
|
-
*/
|
|
299
|
-
export async function pruneStaleJarMnEntries(engineDir, customDir, managedTags) {
|
|
300
|
-
const stale = await findStaleJarMnEntries(engineDir, customDir, managedTags);
|
|
301
|
-
if (stale.length === 0)
|
|
302
|
-
return [];
|
|
303
|
-
const filePath = join(engineDir, JAR_MN);
|
|
304
|
-
const staleLines = new Set(stale.map((entry) => entry.line));
|
|
305
|
-
const lines = (await readText(filePath)).split('\n');
|
|
306
|
-
const filtered = lines.filter((line) => !staleLines.has(line.trim()));
|
|
307
|
-
await writeText(filePath, filtered.join('\n'));
|
|
308
|
-
return stale;
|
|
309
|
-
}
|
|
310
|
-
/**
|
|
311
|
-
* Validates that jar.mn entries *could* be added without writing anything.
|
|
312
|
-
* Used by dry-run to surface structural problems early.
|
|
313
|
-
*/
|
|
314
|
-
export async function validateJarMnInsertionForFiles(engineDir, tagName, files) {
|
|
315
|
-
const filePath = join(engineDir, JAR_MN);
|
|
316
|
-
if (!(await pathExists(filePath))) {
|
|
317
|
-
throw new FurnaceError('jar.mn not found in engine', tagName);
|
|
318
|
-
}
|
|
319
|
-
const content = await readText(filePath);
|
|
320
|
-
const lines = content.split('\n');
|
|
321
|
-
const newFiles = files.filter((f) => !isJarMnFileRegistered(content, tagName, f));
|
|
322
|
-
if (newFiles.length === 0)
|
|
323
|
-
return;
|
|
324
|
-
const elementLinePattern = /^\s+content\/global\/elements\/([^.]+)\./;
|
|
325
|
-
let hasInsertionPoint = false;
|
|
326
|
-
for (const line of lines) {
|
|
327
|
-
if (elementLinePattern.test(line)) {
|
|
328
|
-
hasInsertionPoint = true;
|
|
329
|
-
break;
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
if (!hasInsertionPoint) {
|
|
333
|
-
for (let i = lines.length - 1; i >= 0; i--) {
|
|
334
|
-
const line = lines[i];
|
|
335
|
-
if (line !== undefined && /^\s+content\/global\//.test(line)) {
|
|
336
|
-
hasInsertionPoint = true;
|
|
337
|
-
break;
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
if (!hasInsertionPoint) {
|
|
342
|
-
const nonEmpty = lines.some((line) => line.trim().length > 0);
|
|
343
|
-
if (!nonEmpty) {
|
|
344
|
-
throw new FurnaceError('jar.mn is empty or contains only whitespace. It may be malformed — verify the engine was downloaded correctly.', tagName);
|
|
345
|
-
}
|
|
346
|
-
throw new FurnaceError('Could not find a content/global/ section in jar.mn for element entries. The file may be malformed.', tagName);
|
|
347
|
-
}
|
|
348
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
interface FileSnapshot {
|
|
2
|
-
existed: boolean;
|
|
3
|
-
content?: Uint8Array;
|
|
4
|
-
mode?: number;
|
|
5
|
-
}
|
|
6
|
-
export interface RollbackJournal {
|
|
7
|
-
files: Map<string, FileSnapshot>;
|
|
8
|
-
createdDirs: Set<string>;
|
|
9
|
-
/** Paths that were skipped during snapshotDir because they are symlinks. */
|
|
10
|
-
skippedSymlinks: Set<string>;
|
|
11
|
-
}
|
|
12
|
-
/** Creates an empty rollback journal for tracking touched files and created directories. */
|
|
13
|
-
export declare function createRollbackJournal(): RollbackJournal;
|
|
14
|
-
/** Records a directory that should be removed if the operation later rolls back. */
|
|
15
|
-
export declare function recordCreatedDir(journal: RollbackJournal, dirPath: string): void;
|
|
16
|
-
/**
|
|
17
|
-
* Recursively snapshots every file under a directory tree so a later rollback
|
|
18
|
-
* can restore deleted files. Skips symlinks to avoid following them out of the
|
|
19
|
-
* tree. The directory itself is not recorded as "created", so callers that
|
|
20
|
-
* intend to delete and restore the directory should record it explicitly.
|
|
21
|
-
*
|
|
22
|
-
* Safe to call on a missing path: it returns without recording anything.
|
|
23
|
-
*/
|
|
24
|
-
export declare function snapshotDir(journal: RollbackJournal, dirPath: string): Promise<void>;
|
|
25
|
-
/** Snapshots a file once so rollback can restore its previous contents or absence. */
|
|
26
|
-
export declare function snapshotFile(journal: RollbackJournal, filePath: string): Promise<void>;
|
|
27
|
-
/**
|
|
28
|
-
* Asserts that a file about to be mutated was already snapshotted into the
|
|
29
|
-
* journal that will undo the mutation.
|
|
30
|
-
*
|
|
31
|
-
* The snapshot list and the mutation list are separately maintained in every
|
|
32
|
-
* caller that writes conditionally, and they drift: a new conditional write
|
|
33
|
-
* whose matching snapshot condition was not updated produces a file the
|
|
34
|
-
* rollback cannot restore, and nothing notices until a real failure. This
|
|
35
|
-
* checks the pairing at the point of the write, where the two lists are
|
|
36
|
-
* supposed to agree.
|
|
37
|
-
*
|
|
38
|
-
* @param journal - The journal that will restore this file
|
|
39
|
-
* @param filePath - Absolute path about to be written
|
|
40
|
-
* @param context - What is about to write it, for the failure message
|
|
41
|
-
* @throws {@link InternalInvariantError} when the file was never snapshotted.
|
|
42
|
-
*/
|
|
43
|
-
export declare function assertSnapshotted(journal: RollbackJournal, filePath: string, context: string): void;
|
|
44
|
-
/** Restores all snapshotted files and removes directories created during the operation. */
|
|
45
|
-
export declare function restoreRollbackJournal(journal: RollbackJournal): Promise<void>;
|
|
46
|
-
/** Restores a rollback journal and wraps rollback failures in a FurnaceError. */
|
|
47
|
-
export declare function restoreRollbackJournalOrThrow(journal: RollbackJournal, context: string): Promise<void>;
|
|
48
|
-
export {};
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { chmod, mkdir, readdir, readFile, rename, rm, stat, writeFile } from 'node:fs/promises';
|
|
3
|
-
import { dirname, isAbsolute, join } from 'node:path';
|
|
4
|
-
import { FurnaceError } from '../errors/furnace.js';
|
|
5
|
-
import { assert } from '../utils/assert.js';
|
|
6
|
-
import { toError } from '../utils/errors.js';
|
|
7
|
-
import { pathExists } from '../utils/fs.js';
|
|
8
|
-
/** Creates an empty rollback journal for tracking touched files and created directories. */
|
|
9
|
-
export function createRollbackJournal() {
|
|
10
|
-
return {
|
|
11
|
-
files: new Map(),
|
|
12
|
-
createdDirs: new Set(),
|
|
13
|
-
skippedSymlinks: new Set(),
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
/** Records a directory that should be removed if the operation later rolls back. */
|
|
17
|
-
export function recordCreatedDir(journal, dirPath) {
|
|
18
|
-
journal.createdDirs.add(dirPath);
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Recursively snapshots every file under a directory tree so a later rollback
|
|
22
|
-
* can restore deleted files. Skips symlinks to avoid following them out of the
|
|
23
|
-
* tree. The directory itself is not recorded as "created", so callers that
|
|
24
|
-
* intend to delete and restore the directory should record it explicitly.
|
|
25
|
-
*
|
|
26
|
-
* Safe to call on a missing path: it returns without recording anything.
|
|
27
|
-
*/
|
|
28
|
-
export async function snapshotDir(journal, dirPath) {
|
|
29
|
-
if (!(await pathExists(dirPath))) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
const entries = await readdir(dirPath, { withFileTypes: true });
|
|
33
|
-
for (const entry of entries) {
|
|
34
|
-
if (entry.isSymbolicLink()) {
|
|
35
|
-
journal.skippedSymlinks.add(join(dirPath, entry.name));
|
|
36
|
-
continue;
|
|
37
|
-
}
|
|
38
|
-
const childPath = join(dirPath, entry.name);
|
|
39
|
-
if (entry.isDirectory()) {
|
|
40
|
-
await snapshotDir(journal, childPath);
|
|
41
|
-
}
|
|
42
|
-
else if (entry.isFile()) {
|
|
43
|
-
await snapshotFile(journal, childPath);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
/** Snapshots a file once so rollback can restore its previous contents or absence. */
|
|
48
|
-
export async function snapshotFile(journal, filePath) {
|
|
49
|
-
// Journal keys are the paths rollback will later write back to, and the
|
|
50
|
-
// restore runs from whatever cwd the process happens to be in by then. A
|
|
51
|
-
// relative key would therefore restore somewhere other than where the
|
|
52
|
-
// snapshot was taken, silently, and only on the failure path where nobody
|
|
53
|
-
// is watching. Every caller composes an absolute path already, and this
|
|
54
|
-
// keeps it that way.
|
|
55
|
-
assert(isAbsolute(filePath), () => `snapshot path is absolute (got "${filePath}")`);
|
|
56
|
-
if (journal.files.has(filePath)) {
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
if (!(await pathExists(filePath))) {
|
|
60
|
-
journal.files.set(filePath, { existed: false });
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
const [content, fileStat] = await Promise.all([readFile(filePath), stat(filePath)]);
|
|
64
|
-
journal.files.set(filePath, {
|
|
65
|
-
existed: true,
|
|
66
|
-
content,
|
|
67
|
-
mode: fileStat.mode,
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Asserts that a file about to be mutated was already snapshotted into the
|
|
72
|
-
* journal that will undo the mutation.
|
|
73
|
-
*
|
|
74
|
-
* The snapshot list and the mutation list are separately maintained in every
|
|
75
|
-
* caller that writes conditionally, and they drift: a new conditional write
|
|
76
|
-
* whose matching snapshot condition was not updated produces a file the
|
|
77
|
-
* rollback cannot restore, and nothing notices until a real failure. This
|
|
78
|
-
* checks the pairing at the point of the write, where the two lists are
|
|
79
|
-
* supposed to agree.
|
|
80
|
-
*
|
|
81
|
-
* @param journal - The journal that will restore this file
|
|
82
|
-
* @param filePath - Absolute path about to be written
|
|
83
|
-
* @param context - What is about to write it, for the failure message
|
|
84
|
-
* @throws {@link InternalInvariantError} when the file was never snapshotted.
|
|
85
|
-
*/
|
|
86
|
-
export function assertSnapshotted(journal, filePath, context) {
|
|
87
|
-
assert(journal.files.has(filePath), () => `${context} snapshotted "${filePath}" before mutating it`);
|
|
88
|
-
}
|
|
89
|
-
async function restoreFile(filePath, snapshot) {
|
|
90
|
-
if (!snapshot.existed) {
|
|
91
|
-
await rm(filePath, { force: true });
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
await mkdir(dirname(filePath), { recursive: true });
|
|
95
|
-
// Write to a sibling temp file and atomically rename it over the target. A
|
|
96
|
-
// direct writeFile would race with any in-flight write by the body (e.g. a
|
|
97
|
-
// signal-handler-driven rollback landing on top of a still-running
|
|
98
|
-
// `writeFile('corrupted')`), producing interleaved byte sequences like
|
|
99
|
-
// `"pristined"` where the first 8 bytes come from the rollback write and
|
|
100
|
-
// the trailing byte from the body write. rename(2) is atomic within a
|
|
101
|
-
// filesystem, so either write wins outright and the target is never left
|
|
102
|
-
// in a hybrid state.
|
|
103
|
-
const tempPath = `${filePath}.rollback-${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
104
|
-
try {
|
|
105
|
-
await writeFile(tempPath, snapshot.content ?? new Uint8Array());
|
|
106
|
-
if (snapshot.mode !== undefined) {
|
|
107
|
-
await chmod(tempPath, snapshot.mode);
|
|
108
|
-
}
|
|
109
|
-
await rename(tempPath, filePath);
|
|
110
|
-
}
|
|
111
|
-
catch (error) {
|
|
112
|
-
await rm(tempPath, { force: true }).catch(() => undefined);
|
|
113
|
-
throw error;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
/** Maximum number of concurrent file restorations during rollback. */
|
|
117
|
-
const RESTORE_CONCURRENCY = 8;
|
|
118
|
-
/** Restores all snapshotted files and removes directories created during the operation. */
|
|
119
|
-
export async function restoreRollbackJournal(journal) {
|
|
120
|
-
const fileEntries = [...journal.files.entries()].sort(([left], [right]) => right.length - left.length);
|
|
121
|
-
// Restore files in parallel with bounded concurrency. Each restoreFile uses
|
|
122
|
-
// atomic rename, so concurrent restorations to different paths are safe.
|
|
123
|
-
const errors = [];
|
|
124
|
-
let index = 0;
|
|
125
|
-
async function worker() {
|
|
126
|
-
while (index < fileEntries.length) {
|
|
127
|
-
const current = index++;
|
|
128
|
-
const entry = fileEntries[current];
|
|
129
|
-
if (!entry)
|
|
130
|
-
break;
|
|
131
|
-
const [filePath, snapshot] = entry;
|
|
132
|
-
try {
|
|
133
|
-
await restoreFile(filePath, snapshot);
|
|
134
|
-
}
|
|
135
|
-
catch (error) {
|
|
136
|
-
errors.push({
|
|
137
|
-
path: filePath,
|
|
138
|
-
error: toError(error).message,
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
const workers = Array.from({ length: Math.min(RESTORE_CONCURRENCY, fileEntries.length) }, () => worker());
|
|
144
|
-
await Promise.all(workers);
|
|
145
|
-
if (errors.length > 0) {
|
|
146
|
-
const summary = errors.map((e) => `${e.path}: ${e.error}`).join('; ');
|
|
147
|
-
throw new FurnaceError(`Rollback failed to restore ${errors.length} file(s): ${summary}`);
|
|
148
|
-
}
|
|
149
|
-
// Directory removal is only safe once every file is back where it belongs:
|
|
150
|
-
// a created directory may hold a restored file, and removing it recursively
|
|
151
|
-
// would undo the restore we just performed. The throw above is what
|
|
152
|
-
// normally enforces this. The assertion names it so a future early-return
|
|
153
|
-
// or error-swallowing edit cannot quietly reach the rm loop with failures
|
|
154
|
-
// outstanding.
|
|
155
|
-
assert(errors.length === 0, 'all journal files restored before created directories are removed');
|
|
156
|
-
const createdDirs = [...journal.createdDirs].sort((left, right) => right.length - left.length);
|
|
157
|
-
for (const dirPath of createdDirs) {
|
|
158
|
-
await rm(dirPath, { recursive: true, force: true });
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
/** Restores a rollback journal and wraps rollback failures in a FurnaceError. */
|
|
162
|
-
export async function restoreRollbackJournalOrThrow(journal, context) {
|
|
163
|
-
try {
|
|
164
|
-
await restoreRollbackJournal(journal);
|
|
165
|
-
}
|
|
166
|
-
catch (error) {
|
|
167
|
-
const message = toError(error).message;
|
|
168
|
-
throw new FurnaceError(`${context}; automatic rollback failed: ${message}`);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import type { ScannedComponent } from '../types/furnace.js';
|
|
2
|
-
/** Path to the widgets directory within the engine source tree */
|
|
3
|
-
/**
|
|
4
|
-
* Additional Firefox source directories known to contain MozLitElement
|
|
5
|
-
* components. Used by `--deep` scan mode to discover components beyond
|
|
6
|
-
* the primary widgets directory.
|
|
7
|
-
*/
|
|
8
|
-
export declare const DEEP_SCAN_PATHS: readonly string[];
|
|
9
|
-
/**
|
|
10
|
-
* Parses customElements.js to extract tag-to-module mappings.
|
|
11
|
-
*
|
|
12
|
-
* Looks for registration patterns like:
|
|
13
|
-
* ```
|
|
14
|
-
* lazy.customElements.setElementCreationCallback("moz-button", () => {
|
|
15
|
-
* import("chrome://global/content/elements/moz-button.mjs");
|
|
16
|
-
* });
|
|
17
|
-
* ```
|
|
18
|
-
*
|
|
19
|
-
* @param engineDir - Path to the Firefox engine source root
|
|
20
|
-
* @returns Map of tagName to module path
|
|
21
|
-
*/
|
|
22
|
-
export declare function scanCustomElementsRegistrations(engineDir: string): Promise<Map<string, string>>;
|
|
23
|
-
/**
|
|
24
|
-
* Scans the widgets directory to discover all MozLitElement custom elements.
|
|
25
|
-
*
|
|
26
|
-
* Each subdirectory starting with `moz-` that contains a `.mjs` file is
|
|
27
|
-
* considered a component. For each component, checks whether it has associated
|
|
28
|
-
* CSS, Fluent localization, and customElements.js registration.
|
|
29
|
-
*
|
|
30
|
-
* @param engineDir - Path to the Firefox engine source root
|
|
31
|
-
* @returns Array of discovered components
|
|
32
|
-
*/
|
|
33
|
-
export declare function scanWidgetsDirectory(engineDir: string, ftlDir?: string, extraPaths?: string[], componentPrefix?: string): Promise<ScannedComponent[]>;
|
|
34
|
-
/**
|
|
35
|
-
* Gets detailed information about a single component by tag name.
|
|
36
|
-
* @param engineDir - Path to the Firefox engine source root
|
|
37
|
-
* @param tagName - Component tag name (e.g., "moz-button")
|
|
38
|
-
* @returns Component details, or null if not found in the source tree
|
|
39
|
-
*/
|
|
40
|
-
export declare function getComponentDetails(engineDir: string, tagName: string, ftlDir?: string): Promise<ScannedComponent | null>;
|
|
41
|
-
/**
|
|
42
|
-
* Checks whether a component directory exists in the engine source tree.
|
|
43
|
-
* @param engineDir - Path to the Firefox engine source root
|
|
44
|
-
* @param tagName - Component tag name (e.g., "moz-button")
|
|
45
|
-
* @returns True if the component directory exists
|
|
46
|
-
*/
|
|
47
|
-
export declare function isComponentInEngine(engineDir: string, tagName: string): Promise<boolean>;
|