@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,487 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { readdir } from 'node:fs/promises';
|
|
3
|
-
import { join } from 'node:path';
|
|
4
|
-
import { toError } from '../utils/errors.js';
|
|
5
|
-
import { pathExists, readText } from '../utils/fs.js';
|
|
6
|
-
import { sha256Hex } from '../utils/hash.js';
|
|
7
|
-
import { warn } from '../utils/logger.js';
|
|
8
|
-
import { escapeRegex, stripJsComments } from '../utils/regex.js';
|
|
9
|
-
import { getProjectPaths, loadConfig } from './config.js';
|
|
10
|
-
import { normalizeForChecksum } from './furnace-checksum-utils.js';
|
|
11
|
-
import { getFurnacePaths } from './furnace-config.js';
|
|
12
|
-
import { CUSTOM_ELEMENTS_JS, FTL_DIR, JAR_MN } from './furnace-constants.js';
|
|
13
|
-
import { expandCssFragments, listFragmentIncludes } from './furnace-css-fragments.js';
|
|
14
|
-
import { findStaleJarMnEntries } from './furnace-registration.js';
|
|
15
|
-
import { isTagAlreadyRegistered } from './furnace-registration-ast.js';
|
|
16
|
-
import { isTagInCorrectCustomElementsPlacement } from './furnace-registration-validate.js';
|
|
17
|
-
import { getTokensCssPath } from './token-manager.js';
|
|
18
|
-
/**
|
|
19
|
-
* Validates that all Furnace-managed .mjs components are registered in the
|
|
20
|
-
* DOMContentLoaded/importESModule block (Pattern B), not the loadSubScript
|
|
21
|
-
* block (Pattern A).
|
|
22
|
-
*
|
|
23
|
-
* @param root - Project root directory
|
|
24
|
-
* @param config - Furnace configuration
|
|
25
|
-
* @returns Array of validation issues for mis-placed registrations
|
|
26
|
-
*/
|
|
27
|
-
export async function validateRegistrationPatterns(root, config) {
|
|
28
|
-
const issues = [];
|
|
29
|
-
const { engine: engineDir } = getProjectPaths(root);
|
|
30
|
-
const filePath = join(engineDir, CUSTOM_ELEMENTS_JS);
|
|
31
|
-
if (!(await pathExists(filePath))) {
|
|
32
|
-
return issues;
|
|
33
|
-
}
|
|
34
|
-
const content = await readText(filePath);
|
|
35
|
-
// Get all custom component tag names that use .mjs (all custom components do)
|
|
36
|
-
for (const [name, customConfig] of Object.entries(config.custom)) {
|
|
37
|
-
if (!customConfig.register)
|
|
38
|
-
continue;
|
|
39
|
-
// A component that is not mentioned at all is a distinct defect from one
|
|
40
|
-
// registered in the wrong block: `--fix` can repair the former (idempotent
|
|
41
|
-
// insert) but deliberately refuses the latter (moving code between blocks).
|
|
42
|
-
if (!isTagAlreadyRegistered(content, name)) {
|
|
43
|
-
issues.push({
|
|
44
|
-
component: name,
|
|
45
|
-
severity: 'error',
|
|
46
|
-
check: 'missing-custom-element-registration',
|
|
47
|
-
message: `${name} has register: true but no registration in ${CUSTOM_ELEMENTS_JS}. Run "fireforge furnace validate ${name} --fix" to add it.`,
|
|
48
|
-
});
|
|
49
|
-
continue;
|
|
50
|
-
}
|
|
51
|
-
const stripped = stripJsComments(content);
|
|
52
|
-
const tagPattern = new RegExp(`["']${escapeRegex(name)}["']`);
|
|
53
|
-
if (tagPattern.test(stripped) && !isTagInCorrectCustomElementsPlacement(content, name, true)) {
|
|
54
|
-
issues.push({
|
|
55
|
-
component: name,
|
|
56
|
-
severity: 'error',
|
|
57
|
-
check: 'wrong-registration-pattern',
|
|
58
|
-
message: `${name} is registered in the loadSubScript block (Pattern A) instead of the DOMContentLoaded/importESModule block (Pattern B). .mjs components must use Pattern B or they will fail at runtime.`,
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
return issues;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Checks registration consistency for a single custom component.
|
|
66
|
-
*
|
|
67
|
-
* Compares source files, engine target files, jar.mn entries, and
|
|
68
|
-
* customElements.js registration for a given component.
|
|
69
|
-
*
|
|
70
|
-
* @param root - Project root directory
|
|
71
|
-
* @param name - Component tag name
|
|
72
|
-
* @param config - Custom component configuration
|
|
73
|
-
* @returns Registration status with per-check booleans and drift info
|
|
74
|
-
*/
|
|
75
|
-
export async function checkRegistrationConsistency(root, name, config, ftlDir) {
|
|
76
|
-
const { engine: engineDir } = getProjectPaths(root);
|
|
77
|
-
const furnacePaths = getFurnacePaths(root);
|
|
78
|
-
const componentDir = join(furnacePaths.customDir, name);
|
|
79
|
-
const status = {
|
|
80
|
-
sourceExists: false,
|
|
81
|
-
targetExists: false,
|
|
82
|
-
filesInSync: true,
|
|
83
|
-
jarMnCss: false,
|
|
84
|
-
jarMnMjs: false,
|
|
85
|
-
customElementsPresent: false,
|
|
86
|
-
customElementsCorrectBlock: false,
|
|
87
|
-
driftedFiles: [],
|
|
88
|
-
missingTargetFiles: [],
|
|
89
|
-
};
|
|
90
|
-
// Check source directory
|
|
91
|
-
status.sourceExists = await pathExists(componentDir);
|
|
92
|
-
if (!status.sourceExists)
|
|
93
|
-
return status;
|
|
94
|
-
// Check target directory
|
|
95
|
-
const targetDir = join(engineDir, config.targetPath);
|
|
96
|
-
status.targetExists = await pathExists(targetDir);
|
|
97
|
-
// Compare files (sourceExists is guaranteed true, we early-returned above)
|
|
98
|
-
if (status.targetExists) {
|
|
99
|
-
const entries = await readdir(componentDir, { withFileTypes: true });
|
|
100
|
-
for (const entry of entries) {
|
|
101
|
-
if (!entry.isFile())
|
|
102
|
-
continue;
|
|
103
|
-
if (!entry.name.endsWith('.mjs') && !entry.name.endsWith('.css'))
|
|
104
|
-
continue;
|
|
105
|
-
const srcPath = join(componentDir, entry.name);
|
|
106
|
-
const destPath = join(targetDir, entry.name);
|
|
107
|
-
if (!(await pathExists(destPath))) {
|
|
108
|
-
status.missingTargetFiles.push(entry.name);
|
|
109
|
-
status.filesInSync = false;
|
|
110
|
-
continue;
|
|
111
|
-
}
|
|
112
|
-
// Deploy writes CSS-with-include-directives in fragment-expanded form,
|
|
113
|
-
// so the drift oracle must compare the *expanded* source. Otherwise a
|
|
114
|
-
// freshly deployed component would read as permanently drifted, and a
|
|
115
|
-
// fragment edit would never read as drifted at all.
|
|
116
|
-
let srcContent = await readText(srcPath);
|
|
117
|
-
if (entry.name.endsWith('.css') && listFragmentIncludes(srcContent).length > 0) {
|
|
118
|
-
try {
|
|
119
|
-
srcContent = (await expandCssFragments(srcContent, furnacePaths.sharedDir)).expanded;
|
|
120
|
-
}
|
|
121
|
-
catch {
|
|
122
|
-
// Missing fragment: validate reports it as `missing-fragment`.
|
|
123
|
-
// For drift purposes fall back to the raw source so the compare
|
|
124
|
-
// still happens deterministically.
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
const destContent = await readText(destPath);
|
|
128
|
-
// Same normalization the checksums written by apply use. These three
|
|
129
|
-
// comparisons hashed raw bytes, so on a CRLF checkout `furnace status`
|
|
130
|
-
// and `furnace validate` reported drift for files apply had just
|
|
131
|
-
// decided were identical.
|
|
132
|
-
const srcHash = sha256Hex(normalizeForChecksum(srcContent));
|
|
133
|
-
const destHash = sha256Hex(normalizeForChecksum(destContent));
|
|
134
|
-
if (srcHash !== destHash) {
|
|
135
|
-
status.driftedFiles.push(entry.name);
|
|
136
|
-
status.filesInSync = false;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
status.filesInSync = false;
|
|
142
|
-
}
|
|
143
|
-
// Localized components deploy a .ftl file outside `targetDir` (into the
|
|
144
|
-
// shared Fluent tree). The .mjs/.css loop above cannot see it, so drift
|
|
145
|
-
// there would otherwise be invisible to apply's fast-path and to `status`.
|
|
146
|
-
if (config.localized) {
|
|
147
|
-
const ftlName = `${name}.ftl`;
|
|
148
|
-
const ftlSrc = join(componentDir, ftlName);
|
|
149
|
-
if (await pathExists(ftlSrc)) {
|
|
150
|
-
const ftlDest = join(engineDir, ftlDir ?? FTL_DIR, ftlName);
|
|
151
|
-
if (!(await pathExists(ftlDest))) {
|
|
152
|
-
status.missingTargetFiles.push(ftlName);
|
|
153
|
-
status.filesInSync = false;
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
const srcContent = await readText(ftlSrc);
|
|
157
|
-
const destContent = await readText(ftlDest);
|
|
158
|
-
const srcHash = sha256Hex(normalizeForChecksum(srcContent));
|
|
159
|
-
const destHash = sha256Hex(normalizeForChecksum(destContent));
|
|
160
|
-
if (srcHash !== destHash) {
|
|
161
|
-
status.driftedFiles.push(ftlName);
|
|
162
|
-
status.filesInSync = false;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
// Check jar.mn entries
|
|
168
|
-
const jarMnPath = join(engineDir, JAR_MN);
|
|
169
|
-
if (await pathExists(jarMnPath)) {
|
|
170
|
-
const jarContent = await readText(jarMnPath);
|
|
171
|
-
status.jarMnCss = jarContent.includes(`content/global/elements/${name}.css`);
|
|
172
|
-
status.jarMnMjs = jarContent.includes(`content/global/elements/${name}.mjs`);
|
|
173
|
-
}
|
|
174
|
-
// Check customElements.js registration
|
|
175
|
-
const cePath = join(engineDir, CUSTOM_ELEMENTS_JS);
|
|
176
|
-
if (await pathExists(cePath)) {
|
|
177
|
-
const ceContent = await readText(cePath);
|
|
178
|
-
// Structure-aware check shared with the add path. A bare substring
|
|
179
|
-
// test counted any mention of the tag (a leftover comment, an
|
|
180
|
-
// unrelated string) as "registered", masking genuinely missing
|
|
181
|
-
// registrations from both validate and the re-apply drift oracle.
|
|
182
|
-
status.customElementsPresent = isTagAlreadyRegistered(ceContent, name);
|
|
183
|
-
if (status.customElementsPresent) {
|
|
184
|
-
status.customElementsCorrectBlock = isTagInCorrectCustomElementsPlacement(ceContent, name, true);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
return status;
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* Validates that each custom component with `register: true` has its .mjs and
|
|
191
|
-
* .css entries in jar.mn.
|
|
192
|
-
*
|
|
193
|
-
* @param root - Project root directory
|
|
194
|
-
* @param config - Furnace configuration
|
|
195
|
-
* @returns Array of validation issues for missing jar.mn entries
|
|
196
|
-
*/
|
|
197
|
-
export async function validateJarMnEntries(root, config) {
|
|
198
|
-
const issues = [];
|
|
199
|
-
const { engine: engineDir } = getProjectPaths(root);
|
|
200
|
-
const jarMnPath = join(engineDir, JAR_MN);
|
|
201
|
-
if (!(await pathExists(jarMnPath))) {
|
|
202
|
-
return issues;
|
|
203
|
-
}
|
|
204
|
-
const jarContent = await readText(jarMnPath);
|
|
205
|
-
const furnacePaths = getFurnacePaths(root);
|
|
206
|
-
for (const [name, customConfig] of Object.entries(config.custom)) {
|
|
207
|
-
if (!customConfig.register)
|
|
208
|
-
continue;
|
|
209
|
-
if (!jarContent.includes(`content/global/elements/${name}.mjs`)) {
|
|
210
|
-
issues.push({
|
|
211
|
-
component: name,
|
|
212
|
-
severity: 'error',
|
|
213
|
-
check: 'missing-jar-mn-mjs',
|
|
214
|
-
message: `${name}.mjs is not registered in jar.mn. Run "fireforge furnace deploy" to register.`,
|
|
215
|
-
});
|
|
216
|
-
}
|
|
217
|
-
// Only complain about a missing CSS entry when the source actually
|
|
218
|
-
// ships a CSS file. Components that intentionally have no CSS would
|
|
219
|
-
// otherwise generate a permanent false-positive that trains developers
|
|
220
|
-
// to ignore validator output.
|
|
221
|
-
const cssSourcePath = join(furnacePaths.customDir, name, `${name}.css`);
|
|
222
|
-
if ((await pathExists(cssSourcePath)) &&
|
|
223
|
-
!jarContent.includes(`content/global/elements/${name}.css`)) {
|
|
224
|
-
issues.push({
|
|
225
|
-
component: name,
|
|
226
|
-
severity: 'warning',
|
|
227
|
-
check: 'missing-jar-mn-css',
|
|
228
|
-
message: `${name}.css is not registered in jar.mn.`,
|
|
229
|
-
});
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
// Stale registrations: lines pointing at component files that no longer
|
|
233
|
-
// exist in the workspace, left behind by a rename or delete. These break
|
|
234
|
-
// `mach build` at packaging ("File ... not found"), so they are errors and
|
|
235
|
-
// `--fix` prunes them.
|
|
236
|
-
const staleEntries = await findStaleJarMnEntries(engineDir, furnacePaths.customDir, Object.keys(config.custom));
|
|
237
|
-
for (const stale of staleEntries) {
|
|
238
|
-
issues.push({
|
|
239
|
-
component: stale.tagName,
|
|
240
|
-
severity: 'error',
|
|
241
|
-
check: 'stale-jar-registration',
|
|
242
|
-
message: `jar.mn registers ${stale.fileName} for ${stale.tagName}, but the source file no longer exists ` +
|
|
243
|
-
`(stale line: "${stale.line}"). Packaging will fail until the line is removed — run ` +
|
|
244
|
-
'"fireforge furnace validate --fix" or "fireforge doctor --repair-furnace" to prune it.',
|
|
245
|
-
});
|
|
246
|
-
}
|
|
247
|
-
return issues;
|
|
248
|
-
}
|
|
249
|
-
/**
|
|
250
|
-
* Default chrome host document scanned by `validateTokenLink` when
|
|
251
|
-
* `tokenHostDocuments` is not configured in furnace.json.
|
|
252
|
-
*/
|
|
253
|
-
const DEFAULT_TOKEN_HOST_DOCUMENTS = ['browser/base/content/browser.xhtml'];
|
|
254
|
-
/**
|
|
255
|
-
* Directory scanned for additional chrome host documents that mount the
|
|
256
|
-
* component under audit. Kept narrow (top-level `browser/base/content/`)
|
|
257
|
-
* so the auto-detection stays cheap and only triggers on the well-known
|
|
258
|
-
* location forks use for replacement chrome documents.
|
|
259
|
-
*/
|
|
260
|
-
const AUTO_DETECT_HOST_DIR = 'browser/base/content';
|
|
261
|
-
/**
|
|
262
|
-
* Scans `browser/base/content/*.xhtml` for chrome documents that reference
|
|
263
|
-
* `tagName`. Returned paths are engine-relative and deduplicated against
|
|
264
|
-
* `already`, so callers can merge them with the caller-configured set
|
|
265
|
-
* without producing double entries in warning output.
|
|
266
|
-
*
|
|
267
|
-
* This catches a fork that mounts a custom element from its own top-level
|
|
268
|
-
* chrome document (e.g. `mybrowser.xhtml`) without setting
|
|
269
|
-
* `tokenHostDocuments`: scanning only the stock `browser.xhtml` would miss
|
|
270
|
-
* the tokens CSS link in the actual host document and false-fire the
|
|
271
|
-
* warning.
|
|
272
|
-
*
|
|
273
|
-
* @param engineDir Absolute engine root.
|
|
274
|
-
* @param tagName Custom element tag the CSS belongs to.
|
|
275
|
-
* @param already Paths already in the scan set (POSIX, engine-relative).
|
|
276
|
-
*/
|
|
277
|
-
/**
|
|
278
|
-
* Per-run caches for work that is invariant across components.
|
|
279
|
-
*
|
|
280
|
-
* `validateAllComponents` walks every component, and re-parsing
|
|
281
|
-
* `fireforge.json` plus re-scanning every `.xhtml` under the chrome-document
|
|
282
|
-
* directory per component is one config parse and one full directory read
|
|
283
|
-
* per component, for work that depends only on the project and the engine.
|
|
284
|
-
*
|
|
285
|
-
* Keyed by root/engine dir and cleared by
|
|
286
|
-
* {@link resetRegistrationValidationCaches} at the start of each run, so a
|
|
287
|
-
* long-lived process (the test suite, `watch`) never serves a stale read.
|
|
288
|
-
*/
|
|
289
|
-
const tokensCssFileNameCache = new Map();
|
|
290
|
-
const chromeDocumentCache = new Map();
|
|
291
|
-
/**
|
|
292
|
-
* Whether a batch validation is in flight.
|
|
293
|
-
*
|
|
294
|
-
* The caches are consulted only while this is set. Outside a batch (a direct
|
|
295
|
-
* `validateComponent` call from `furnace status`, from apply's consistency
|
|
296
|
-
* check, or from a test) every read goes to disk, so a caller that mutates
|
|
297
|
-
* the engine between calls can never be served a stale document.
|
|
298
|
-
*/
|
|
299
|
-
let batchInFlight = false;
|
|
300
|
-
/**
|
|
301
|
-
* Runs `body` with the per-run caches enabled, then clears them.
|
|
302
|
-
*
|
|
303
|
-
* @param body - The batch to run
|
|
304
|
-
* @returns Whatever `body` resolves to
|
|
305
|
-
*/
|
|
306
|
-
export async function withRegistrationValidationCache(body) {
|
|
307
|
-
const outer = batchInFlight;
|
|
308
|
-
batchInFlight = true;
|
|
309
|
-
try {
|
|
310
|
-
return await body();
|
|
311
|
-
}
|
|
312
|
-
finally {
|
|
313
|
-
batchInFlight = outer;
|
|
314
|
-
if (!outer) {
|
|
315
|
-
tokensCssFileNameCache.clear();
|
|
316
|
-
chromeDocumentCache.clear();
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
/**
|
|
321
|
-
* Reads every chrome document under the auto-detect directory once per run.
|
|
322
|
-
*
|
|
323
|
-
* @param engineDir - Absolute path to the engine checkout
|
|
324
|
-
* @returns Map of engine-relative document path to its content
|
|
325
|
-
*/
|
|
326
|
-
async function loadChromeDocuments(engineDir) {
|
|
327
|
-
const cached = batchInFlight ? chromeDocumentCache.get(engineDir) : undefined;
|
|
328
|
-
if (cached)
|
|
329
|
-
return cached;
|
|
330
|
-
const documents = new Map();
|
|
331
|
-
const contentDir = join(engineDir, AUTO_DETECT_HOST_DIR);
|
|
332
|
-
if (await pathExists(contentDir)) {
|
|
333
|
-
let entries;
|
|
334
|
-
try {
|
|
335
|
-
entries = await readdir(contentDir);
|
|
336
|
-
}
|
|
337
|
-
catch {
|
|
338
|
-
// No readable chrome-document directory means no documents reference
|
|
339
|
-
// the tag, which is the same verdict as an empty directory.
|
|
340
|
-
entries = [];
|
|
341
|
-
}
|
|
342
|
-
for (const entry of entries) {
|
|
343
|
-
if (!entry.endsWith('.xhtml'))
|
|
344
|
-
continue;
|
|
345
|
-
const rel = `${AUTO_DETECT_HOST_DIR}/${entry}`;
|
|
346
|
-
try {
|
|
347
|
-
documents.set(rel, await readText(join(contentDir, entry)));
|
|
348
|
-
}
|
|
349
|
-
catch {
|
|
350
|
-
// Unreadable document: treated as not referencing the tag.
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
if (batchInFlight)
|
|
355
|
-
chromeDocumentCache.set(engineDir, documents);
|
|
356
|
-
return documents;
|
|
357
|
-
}
|
|
358
|
-
async function autoDetectTokenHostDocuments(engineDir, tagName, already) {
|
|
359
|
-
// Reads the directory once per run rather than once per component: only the
|
|
360
|
-
// tag being searched for differs between components.
|
|
361
|
-
const documents = await loadChromeDocuments(engineDir);
|
|
362
|
-
const alreadySet = new Set(already);
|
|
363
|
-
const detected = [];
|
|
364
|
-
for (const [relPath, content] of documents) {
|
|
365
|
-
if (alreadySet.has(relPath))
|
|
366
|
-
continue;
|
|
367
|
-
if (content.includes(tagName)) {
|
|
368
|
-
detected.push(relPath);
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
return detected;
|
|
372
|
-
}
|
|
373
|
-
/**
|
|
374
|
-
* Validates that components using design tokens have the tokens CSS
|
|
375
|
-
* linked in at least one chrome host document. Without the link, tokens
|
|
376
|
-
* silently resolve to nothing at runtime.
|
|
377
|
-
*
|
|
378
|
-
* Scan set is the union of (a) the configured `tokenHostDocuments` (or
|
|
379
|
-
* the upstream default when unset) and (b) any `browser/base/content/*.xhtml`
|
|
380
|
-
* document that references `tagName`. The auto-detection path catches
|
|
381
|
-
* forks that mount components from a replacement chrome document without
|
|
382
|
-
* having configured `tokenHostDocuments`. The warning fires only when
|
|
383
|
-
* none of the documents in the final scan set link the tokens CSS.
|
|
384
|
-
*/
|
|
385
|
-
export async function validateTokenLink(componentDir, tagName, root, tokenPrefix, tokenHostDocuments) {
|
|
386
|
-
const issues = [];
|
|
387
|
-
const cssPath = join(componentDir, `${tagName}.css`);
|
|
388
|
-
if (!(await pathExists(cssPath)))
|
|
389
|
-
return issues;
|
|
390
|
-
if (!tokenPrefix)
|
|
391
|
-
return issues;
|
|
392
|
-
const cssContent = await readText(cssPath);
|
|
393
|
-
// Check if the component CSS references any tokens with the configured prefix
|
|
394
|
-
if (!cssContent.includes(tokenPrefix))
|
|
395
|
-
return issues;
|
|
396
|
-
const { engine: engineDir } = getProjectPaths(root);
|
|
397
|
-
const configuredHosts = tokenHostDocuments && tokenHostDocuments.length > 0
|
|
398
|
-
? tokenHostDocuments
|
|
399
|
-
: DEFAULT_TOKEN_HOST_DOCUMENTS;
|
|
400
|
-
let tokensCssFile;
|
|
401
|
-
try {
|
|
402
|
-
// Cached per run: the filename depends on `binaryName` alone, so parsing
|
|
403
|
-
// fireforge.json once per token-using component was pure repetition.
|
|
404
|
-
const cachedName = batchInFlight ? tokensCssFileNameCache.get(root) : undefined;
|
|
405
|
-
if (cachedName !== undefined) {
|
|
406
|
-
tokensCssFile = cachedName;
|
|
407
|
-
}
|
|
408
|
-
else {
|
|
409
|
-
const forgeConfig = await loadConfig(root);
|
|
410
|
-
const segments = getTokensCssPath(forgeConfig.binaryName).split('/');
|
|
411
|
-
tokensCssFile = segments[segments.length - 1] ?? '';
|
|
412
|
-
if (batchInFlight)
|
|
413
|
-
tokensCssFileNameCache.set(root, tokensCssFile);
|
|
414
|
-
}
|
|
415
|
-
}
|
|
416
|
-
catch (error) {
|
|
417
|
-
const reason = toError(error).message;
|
|
418
|
-
warn(`Could not resolve token CSS link target for ${tagName} during validation: ${reason}`);
|
|
419
|
-
return issues;
|
|
420
|
-
}
|
|
421
|
-
const autoDetected = await autoDetectTokenHostDocuments(engineDir, tagName, configuredHosts);
|
|
422
|
-
const hostDocuments = [...configuredHosts, ...autoDetected];
|
|
423
|
-
const checkedDocuments = [];
|
|
424
|
-
let anyLinks = false;
|
|
425
|
-
for (const relDocPath of hostDocuments) {
|
|
426
|
-
const absPath = join(engineDir, relDocPath);
|
|
427
|
-
if (!(await pathExists(absPath)))
|
|
428
|
-
continue;
|
|
429
|
-
checkedDocuments.push(relDocPath);
|
|
430
|
-
const xhtmlContent = await readText(absPath);
|
|
431
|
-
if (xhtmlContent.includes(tokensCssFile)) {
|
|
432
|
-
anyLinks = true;
|
|
433
|
-
break;
|
|
434
|
-
}
|
|
435
|
-
}
|
|
436
|
-
if (checkedDocuments.length === 0)
|
|
437
|
-
return issues;
|
|
438
|
-
if (!anyLinks) {
|
|
439
|
-
const docsList = checkedDocuments.join(', ');
|
|
440
|
-
issues.push({
|
|
441
|
-
component: tagName,
|
|
442
|
-
severity: 'warning',
|
|
443
|
-
check: 'missing-token-link',
|
|
444
|
-
message: `Component uses ${tokenPrefix}* tokens but none of the scanned chrome host documents (${docsList}) link ${tokensCssFile}. Tokens will silently resolve to nothing. Configure additional hosts via furnace.json "tokenHostDocuments" if needed.`,
|
|
445
|
-
});
|
|
446
|
-
}
|
|
447
|
-
return issues;
|
|
448
|
-
}
|
|
449
|
-
/**
|
|
450
|
-
* Post-apply registration consistency check for custom components.
|
|
451
|
-
*
|
|
452
|
-
* Detects customElements.js / jar.mn inconsistencies caused by a partial
|
|
453
|
-
* apply. Errors are surfaced as step-level warnings on the affected
|
|
454
|
-
* component rather than blocking the entire apply.
|
|
455
|
-
*/
|
|
456
|
-
export async function runPostApplyConsistencyChecks(root, config, result, ftlDir) {
|
|
457
|
-
for (const [name, customConfig] of Object.entries(config.custom)) {
|
|
458
|
-
if (!customConfig.register)
|
|
459
|
-
continue;
|
|
460
|
-
if (!result.applied.some((a) => a.name === name))
|
|
461
|
-
continue;
|
|
462
|
-
try {
|
|
463
|
-
const status = await checkRegistrationConsistency(root, name, customConfig, ftlDir);
|
|
464
|
-
const issues = [];
|
|
465
|
-
if (!status.customElementsPresent) {
|
|
466
|
-
issues.push('missing customElements.js registration');
|
|
467
|
-
}
|
|
468
|
-
if (!status.jarMnMjs && status.sourceExists) {
|
|
469
|
-
issues.push('missing jar.mn .mjs entry');
|
|
470
|
-
}
|
|
471
|
-
if (issues.length > 0) {
|
|
472
|
-
const entry = result.applied.find((a) => a.name === name);
|
|
473
|
-
if (entry) {
|
|
474
|
-
const stepErrors = entry.stepErrors ?? [];
|
|
475
|
-
stepErrors.push({
|
|
476
|
-
step: 'post-apply consistency',
|
|
477
|
-
error: `Registration inconsistency: ${issues.join(', ')}`,
|
|
478
|
-
});
|
|
479
|
-
entry.stepErrors = stepErrors;
|
|
480
|
-
}
|
|
481
|
-
}
|
|
482
|
-
}
|
|
483
|
-
catch {
|
|
484
|
-
// Consistency check is best-effort. Failures here should not block apply
|
|
485
|
-
}
|
|
486
|
-
}
|
|
487
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { ComponentType, CustomComponentConfig, ValidationIssue } from '../types/furnace.js';
|
|
2
|
-
/**
|
|
3
|
-
* Returns true when file content carries unresolved three-way-merge
|
|
4
|
-
* conflict markers (as left behind by `furnace refresh`). Shared between
|
|
5
|
-
* the structure validator and `furnace sync`'s pre-apply gate. Both must
|
|
6
|
-
* agree on what "conflicted" means so a file that validate flags can never
|
|
7
|
-
* slip through sync into the engine.
|
|
8
|
-
*/
|
|
9
|
-
export declare function containsMergeConflictMarkers(content: string): boolean;
|
|
10
|
-
/**
|
|
11
|
-
* Validates the file structure of a component directory.
|
|
12
|
-
* Checks for required files and naming conventions.
|
|
13
|
-
*
|
|
14
|
-
* @param componentDir - Component source directory
|
|
15
|
-
* @param tagName - Component tag name
|
|
16
|
-
* @param type - Component type (stock, override, custom)
|
|
17
|
-
* @param customConfig - When `type === 'custom'`, the matching config from
|
|
18
|
-
* furnace.json. Used to derive `localized`, which gates the `.ftl`
|
|
19
|
-
* requirement. Optional so existing callers without config in scope (e.g.
|
|
20
|
-
* the structure-only test fixtures) can keep calling without changes.
|
|
21
|
-
*/
|
|
22
|
-
export declare function validateStructure(componentDir: string, tagName: string, type: ComponentType, customConfig?: CustomComponentConfig): Promise<ValidationIssue[]>;
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { readdir } from 'node:fs/promises';
|
|
3
|
-
import { join } from 'node:path';
|
|
4
|
-
import { pathExists, readText } from '../utils/fs.js';
|
|
5
|
-
/**
|
|
6
|
-
* Returns true when file content carries unresolved three-way-merge
|
|
7
|
-
* conflict markers (as left behind by `furnace refresh`). Shared between
|
|
8
|
-
* the structure validator and `furnace sync`'s pre-apply gate. Both must
|
|
9
|
-
* agree on what "conflicted" means so a file that validate flags can never
|
|
10
|
-
* slip through sync into the engine.
|
|
11
|
-
*/
|
|
12
|
-
export function containsMergeConflictMarkers(content) {
|
|
13
|
-
return /^<{7}\s/m.test(content) || /^>{7}\s/m.test(content) || /^={7}$/m.test(content);
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Validates the file structure of a component directory.
|
|
17
|
-
* Checks for required files and naming conventions.
|
|
18
|
-
*
|
|
19
|
-
* @param componentDir - Component source directory
|
|
20
|
-
* @param tagName - Component tag name
|
|
21
|
-
* @param type - Component type (stock, override, custom)
|
|
22
|
-
* @param customConfig - When `type === 'custom'`, the matching config from
|
|
23
|
-
* furnace.json. Used to derive `localized`, which gates the `.ftl`
|
|
24
|
-
* requirement. Optional so existing callers without config in scope (e.g.
|
|
25
|
-
* the structure-only test fixtures) can keep calling without changes.
|
|
26
|
-
*/
|
|
27
|
-
export async function validateStructure(componentDir, tagName, type, customConfig) {
|
|
28
|
-
const issues = [];
|
|
29
|
-
const mjsPath = join(componentDir, `${tagName}.mjs`);
|
|
30
|
-
const cssPath = join(componentDir, `${tagName}.css`);
|
|
31
|
-
// .mjs must exist for custom components
|
|
32
|
-
if (type === 'custom' && !(await pathExists(mjsPath))) {
|
|
33
|
-
issues.push({
|
|
34
|
-
component: tagName,
|
|
35
|
-
severity: 'error',
|
|
36
|
-
check: 'missing-mjs',
|
|
37
|
-
message: `Required file ${tagName}.mjs not found.`,
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
// .css should exist, except for library components (base class + helpers,
|
|
41
|
-
// no element of their own), which render nothing and need no stylesheet.
|
|
42
|
-
if (!(await pathExists(cssPath)) && customConfig?.kind !== 'library') {
|
|
43
|
-
issues.push({
|
|
44
|
-
component: tagName,
|
|
45
|
-
severity: 'warning',
|
|
46
|
-
check: 'missing-css',
|
|
47
|
-
message: `No ${tagName}.css found. Consider adding styles.`,
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
// Localized custom components must have a {tag}.ftl file. Without one,
|
|
51
|
-
// apply silently deploys nothing for the locale and the runtime
|
|
52
|
-
// localization payload is empty, which is hard to spot in review.
|
|
53
|
-
//
|
|
54
|
-
// Components that declare `sharedFtl` participate in a pre-existing
|
|
55
|
-
// feature-scoped bundle, so there is no per-component .ftl to require.
|
|
56
|
-
// The shared file is owned by whoever authored the feature bundle.
|
|
57
|
-
if (type === 'custom' && customConfig?.localized && !customConfig.sharedFtl) {
|
|
58
|
-
const ftlPath = join(componentDir, `${tagName}.ftl`);
|
|
59
|
-
if (!(await pathExists(ftlPath))) {
|
|
60
|
-
issues.push({
|
|
61
|
-
component: tagName,
|
|
62
|
-
severity: 'error',
|
|
63
|
-
check: 'missing-ftl',
|
|
64
|
-
message: `Component is marked localized: true but ${tagName}.ftl is missing. Create the file, set localized: false in furnace.json, or switch to sharedFtl.`,
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
// Conflict markers left by furnace refresh (three-way merge) must be
|
|
69
|
-
// resolved before the component can be applied or deployed.
|
|
70
|
-
const dirEntries = await readdir(componentDir, { withFileTypes: true });
|
|
71
|
-
for (const entry of dirEntries) {
|
|
72
|
-
if (!entry.isFile())
|
|
73
|
-
continue;
|
|
74
|
-
if (!entry.name.endsWith('.mjs') &&
|
|
75
|
-
!entry.name.endsWith('.css') &&
|
|
76
|
-
!entry.name.endsWith('.ftl'))
|
|
77
|
-
continue;
|
|
78
|
-
const content = await readText(join(componentDir, entry.name));
|
|
79
|
-
if (containsMergeConflictMarkers(content)) {
|
|
80
|
-
issues.push({
|
|
81
|
-
component: tagName,
|
|
82
|
-
severity: 'error',
|
|
83
|
-
check: 'conflict-markers',
|
|
84
|
-
message: `File "${entry.name}" contains unresolved merge conflict markers. Resolve conflicts before applying.`,
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
// File names should match tag name
|
|
89
|
-
const entries = dirEntries;
|
|
90
|
-
for (const entry of entries) {
|
|
91
|
-
if (!entry.isFile())
|
|
92
|
-
continue;
|
|
93
|
-
if (!entry.name.endsWith('.mjs') && !entry.name.endsWith('.css'))
|
|
94
|
-
continue;
|
|
95
|
-
const fileName = entry.name;
|
|
96
|
-
if (/\.(test|spec|stories)\./.test(fileName))
|
|
97
|
-
continue;
|
|
98
|
-
const expectedPrefix = tagName;
|
|
99
|
-
const nameWithoutExt = entry.name.replace(/\.(mjs|css)$/, '');
|
|
100
|
-
if (nameWithoutExt !== expectedPrefix && !nameWithoutExt.startsWith(expectedPrefix + '-')) {
|
|
101
|
-
issues.push({
|
|
102
|
-
component: tagName,
|
|
103
|
-
severity: 'error',
|
|
104
|
-
check: 'filename-mismatch',
|
|
105
|
-
message: `File "${entry.name}" does not match expected naming convention "${tagName}.*".`,
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
// override.json must exist for overrides
|
|
110
|
-
if (type === 'override') {
|
|
111
|
-
const overrideJsonPath = join(componentDir, 'override.json');
|
|
112
|
-
if (!(await pathExists(overrideJsonPath))) {
|
|
113
|
-
issues.push({
|
|
114
|
-
component: tagName,
|
|
115
|
-
severity: 'error',
|
|
116
|
-
check: 'missing-override-json',
|
|
117
|
-
message: 'Required file override.json not found for override component.',
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
return issues;
|
|
122
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import type { ComponentType, FurnaceConfig, ValidationIssue } from '../types/furnace.js';
|
|
2
|
-
/**
|
|
3
|
-
* Runs all validation checks on a single component.
|
|
4
|
-
*
|
|
5
|
-
* @param componentDir - Path to the component directory
|
|
6
|
-
* @param tagName - Component tag name
|
|
7
|
-
* @param type - Component type (stock, override, custom)
|
|
8
|
-
* @param config - Optional furnace config for cross-component checks
|
|
9
|
-
* @param root - Optional project root for checks that read outside componentDir
|
|
10
|
-
* @param options - Optional behavior flags. `skipAggregateChecks` suppresses the
|
|
11
|
-
* per-component registration/jar.mn scan so that an outer caller
|
|
12
|
-
* (e.g. validateAllComponents) can run the aggregate versions once
|
|
13
|
-
* without double-reporting the same issues.
|
|
14
|
-
* @returns Combined list of validation issues
|
|
15
|
-
*/
|
|
16
|
-
export declare function validateComponent(componentDir: string, tagName: string, type: ComponentType, config?: FurnaceConfig, root?: string, options?: {
|
|
17
|
-
skipAggregateChecks?: boolean;
|
|
18
|
-
}): Promise<ValidationIssue[]>;
|
|
19
|
-
/**
|
|
20
|
-
* Validates all components registered in furnace.json.
|
|
21
|
-
* Stock components are skipped (no local files to validate).
|
|
22
|
-
* @param root - Project root directory
|
|
23
|
-
* @returns Map of component name to its validation issues
|
|
24
|
-
*/
|
|
25
|
-
export declare function validateAllComponents(root: string): Promise<Map<string, ValidationIssue[]>>;
|
|
26
|
-
/**
|
|
27
|
-
* Flags engine-side files that a previous deploy of `tagName` left behind
|
|
28
|
-
* after their workspace source was renamed or removed.
|
|
29
|
-
*
|
|
30
|
-
* Detection keys on the furnace state file: every `appliedChecksums` entry
|
|
31
|
-
* under `custom/<tagName>/` whose workspace source no longer exists but whose
|
|
32
|
-
* engine target is still present is an orphan. The next deploy prunes it, but
|
|
33
|
-
* until then jar.mn and the deployed directory disagree with the workspace,
|
|
34
|
-
* and a re-export could capture the stale state into a patch.
|
|
35
|
-
*
|
|
36
|
-
* Custom components only: override undeploys restore the upstream baseline
|
|
37
|
-
* rather than deleting files, so "orphan" has no meaning there.
|
|
38
|
-
*/
|
|
39
|
-
export declare function findOrphanedEngineFiles(root: string, config: FurnaceConfig, tagName: string, state: {
|
|
40
|
-
appliedChecksums?: Record<string, string>;
|
|
41
|
-
}, ftlDir: string): Promise<ValidationIssue[]>;
|