@hominis/fireforge 0.54.0 → 0.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +287 -6
- package/README.md +51 -17
- package/dist/bin/fireforge.js +34 -129
- package/dist/build-info.json +4 -4
- package/dist/src/check/check.js +394 -0
- package/dist/src/check/gate.js +448 -0
- package/dist/src/check/index.js +10 -0
- package/dist/src/check/record.js +155 -0
- package/dist/src/cli/command.js +286 -0
- package/dist/src/cli/output.js +96 -0
- package/dist/src/cli/program.js +231 -0
- package/dist/src/cli/stdio.js +59 -0
- package/dist/src/cli/version.js +99 -0
- package/dist/src/commands/bootstrap.js +17 -102
- package/dist/src/commands/build.js +34 -438
- package/dist/src/commands/check.js +44 -157
- package/dist/src/commands/config.js +50 -226
- package/dist/src/commands/discard.js +38 -215
- package/dist/src/commands/doctor.js +29 -456
- package/dist/src/commands/download.js +35 -499
- package/dist/src/commands/export.js +42 -431
- package/dist/src/commands/furnace.js +220 -0
- package/dist/src/commands/gate.js +127 -0
- package/dist/src/commands/import.js +44 -445
- package/dist/src/commands/index.js +86 -0
- package/dist/src/commands/lint.js +44 -546
- package/dist/src/commands/merge-driver.js +56 -0
- package/dist/src/commands/migrate.js +75 -0
- package/dist/src/commands/override.js +43 -0
- package/dist/src/commands/package.js +48 -77
- package/dist/src/commands/patch.js +221 -0
- package/dist/src/commands/re-export.js +55 -332
- package/dist/src/commands/rebase.js +69 -0
- package/dist/src/commands/register.js +62 -103
- package/dist/src/commands/reset.js +28 -91
- package/dist/src/commands/resolve.js +20 -167
- package/dist/src/commands/restore.js +19 -0
- package/dist/src/commands/run.js +60 -420
- package/dist/src/commands/setup.js +78 -90
- package/dist/src/commands/status.js +44 -413
- package/dist/src/commands/test.js +97 -422
- package/dist/src/commands/token.js +185 -228
- package/dist/src/commands/typecheck.js +59 -208
- package/dist/src/commands/verify.js +28 -334
- package/dist/src/commands/version.js +14 -0
- package/dist/src/commands/watch.js +20 -218
- package/dist/src/commands/wire.js +60 -349
- package/dist/src/commands/workspace.js +117 -0
- package/dist/src/config/edit.js +237 -0
- package/dist/src/config/index.js +15 -0
- package/dist/src/config/load.js +59 -0
- package/dist/src/config/previous.js +404 -0
- package/dist/src/config/schema/build.js +63 -0
- package/dist/src/config/schema/check.js +113 -0
- package/dist/src/config/schema/common.js +71 -0
- package/dist/src/config/schema/export-queue.js +36 -0
- package/dist/src/config/schema/firefox.js +69 -0
- package/dist/src/config/schema/gate.js +199 -0
- package/dist/src/config/schema/identity.js +55 -0
- package/dist/src/config/schema/index.js +45 -0
- package/dist/src/config/schema/lint.js +297 -0
- package/dist/src/config/schema/policy.js +111 -0
- package/dist/src/config/schema/source.js +90 -0
- package/dist/src/config/schema/test.js +17 -0
- package/dist/src/config/schema/toolchains.js +17 -0
- package/dist/src/config/schema/typecheck.js +29 -0
- package/dist/src/config/schema/wire.js +15 -0
- package/dist/src/diff/apply.js +129 -0
- package/dist/src/diff/index.js +16 -0
- package/dist/src/diff/model.js +267 -0
- package/dist/src/diff/query.js +65 -0
- package/dist/src/doctor/index.js +240 -0
- package/dist/src/engine/archive.js +396 -0
- package/dist/src/engine/audit.js +66 -0
- package/dist/src/engine/build.js +150 -0
- package/dist/src/engine/hostLocks.js +66 -0
- package/dist/src/engine/index.js +26 -0
- package/dist/src/engine/installManifests.js +147 -0
- package/dist/src/engine/mach.js +97 -0
- package/dist/src/engine/machHints.js +80 -0
- package/dist/src/engine/mozconfig.js +110 -0
- package/dist/src/engine/objdir.js +124 -0
- package/dist/src/engine/package.js +169 -0
- package/dist/src/engine/pin.js +12 -0
- package/dist/src/engine/pool.js +423 -0
- package/dist/src/engine/pristine.js +281 -0
- package/dist/src/engine/python.js +68 -0
- package/dist/src/engine/resourceGuard.js +582 -0
- package/dist/src/engine/run.js +259 -0
- package/dist/src/engine/smoke.js +204 -0
- package/dist/src/engine/staleness.js +229 -0
- package/dist/src/engine/watch.js +82 -0
- package/dist/src/engine/workspace.js +85 -0
- package/dist/src/furnace/config.js +360 -0
- package/dist/src/furnace/deploy.js +414 -0
- package/dist/src/furnace/diff.js +59 -0
- package/dist/src/furnace/edit.js +64 -0
- package/dist/src/furnace/fragments.js +53 -0
- package/dist/src/furnace/index.js +19 -0
- package/dist/src/furnace/operations.js +283 -0
- package/dist/src/furnace/registration.js +220 -0
- package/dist/src/furnace/scaffold.js +311 -0
- package/dist/src/furnace/typing.js +252 -0
- package/dist/src/furnace/validate.js +662 -0
- package/dist/src/git/apply.js +129 -0
- package/dist/src/git/diff.js +143 -0
- package/dist/src/git/index.js +33 -0
- package/dist/src/git/objects.js +201 -0
- package/dist/src/git/refs.js +85 -0
- package/dist/src/git/repo.js +222 -0
- package/dist/src/git/run.js +242 -0
- package/dist/src/git/status.js +156 -0
- package/dist/src/kernel/errors.js +123 -0
- package/dist/src/kernel/fs.js +515 -0
- package/dist/src/kernel/glob.js +63 -0
- package/dist/src/kernel/hash.js +28 -0
- package/dist/src/kernel/journal.js +524 -0
- package/dist/src/kernel/json-edit.js +198 -0
- package/dist/src/kernel/json.js +101 -0
- package/dist/src/kernel/lock.js +589 -0
- package/dist/src/kernel/log.js +154 -0
- package/dist/src/kernel/process/identity.js +313 -0
- package/dist/src/kernel/process/index.js +8 -0
- package/dist/src/kernel/process/listing.js +128 -0
- package/dist/src/kernel/process/spawn.js +430 -0
- package/dist/src/kernel/process/tree.js +301 -0
- package/dist/src/kernel/schema.js +308 -0
- package/dist/src/kernel/signals.js +171 -0
- package/dist/src/kernel/text.js +151 -0
- package/dist/src/kernel/time.js +83 -0
- package/dist/src/kernel/tty.js +84 -0
- package/dist/src/lint/cache.js +77 -0
- package/dist/src/lint/checkjs.js +400 -0
- package/dist/src/lint/index.js +3 -0
- package/dist/src/lint/input.js +100 -0
- package/dist/src/lint/report.js +107 -0
- package/dist/src/lint/rule.js +41 -0
- package/dist/src/lint/rules/css.js +308 -0
- package/dist/src/lint/rules/javascript.js +299 -0
- package/dist/src/lint/rules/jsdoc.js +249 -0
- package/dist/src/lint/rules/license.js +93 -0
- package/dist/src/lint/rules/policy.js +201 -0
- package/dist/src/lint/rules/registration.js +264 -0
- package/dist/src/lint/rules/size.js +299 -0
- package/dist/src/lint/run.js +126 -0
- package/dist/src/lint/shim.js +323 -0
- package/dist/src/lint/typescript.js +186 -0
- package/dist/src/lint/waivers.js +93 -0
- package/dist/src/mode/changes.js +264 -0
- package/dist/src/mode/diagnose.js +173 -0
- package/dist/src/mode/export.js +147 -0
- package/dist/src/mode/index.js +23 -0
- package/dist/src/mode/migrate.js +181 -0
- package/dist/src/mode/previousWaivers.js +206 -0
- package/dist/src/mode/pristine.js +61 -0
- package/dist/src/mode/rebase.js +197 -0
- package/dist/src/mode/report.js +157 -0
- package/dist/src/mode/setup.js +103 -0
- package/dist/src/mode/tracked.js +116 -0
- package/dist/src/mode/upgrade.js +281 -0
- package/dist/src/mode/watch.js +83 -0
- package/dist/src/mode/workspace.js +189 -0
- package/dist/src/mozbuild/index.js +6 -0
- package/dist/src/mozbuild/jar.js +366 -0
- package/dist/src/mozbuild/mozbuild.js +321 -0
- package/dist/src/mozbuild/paths.js +96 -0
- package/dist/src/mozbuild/references.js +39 -0
- package/dist/src/mozbuild/testManifest.js +343 -0
- package/dist/src/mozbuild/text.js +142 -0
- package/dist/src/project/changes.js +145 -0
- package/dist/src/project/checkout.js +66 -0
- package/dist/src/project/index.js +11 -0
- package/dist/src/project/license.js +119 -0
- package/dist/src/project/project.js +111 -0
- package/dist/src/project/state.js +85 -0
- package/dist/src/project/tracked.js +1 -0
- package/dist/src/queue/apply.js +270 -0
- package/dist/src/queue/attribute.js +159 -0
- package/dist/src/queue/baseline.js +409 -0
- package/dist/src/queue/capture.js +298 -0
- package/dist/src/queue/changes.js +234 -0
- package/dist/src/queue/index.js +50 -0
- package/dist/src/queue/manifest.js +341 -0
- package/dist/src/queue/operations.js +454 -0
- package/dist/src/queue/placement.js +220 -0
- package/dist/src/queue/queue.js +359 -0
- package/dist/src/queue/restore.js +103 -0
- package/dist/src/queue/session.js +685 -0
- package/dist/src/queue/status.js +137 -0
- package/dist/src/register/files.js +39 -0
- package/dist/src/register/index.js +8 -0
- package/dist/src/register/js.js +217 -0
- package/dist/src/register/register.js +359 -0
- package/dist/src/register/wire.js +146 -0
- package/dist/src/source/adopt.js +99 -0
- package/dist/src/source/changes.js +132 -0
- package/dist/src/source/edit.js +278 -0
- package/dist/src/source/export.js +70 -0
- package/dist/src/source/groups.js +131 -0
- package/dist/src/source/index.js +20 -0
- package/dist/src/source/materialize.js +382 -0
- package/dist/src/source/merge.js +255 -0
- package/dist/src/source/objects.js +102 -0
- package/dist/src/source/previous.js +166 -0
- package/dist/src/source/records.js +138 -0
- package/dist/src/source/refresh.js +264 -0
- package/dist/src/source/tree.js +337 -0
- package/dist/src/syntax/css.js +215 -0
- package/dist/src/syntax/fragments.js +63 -0
- package/dist/src/syntax/index.js +10 -0
- package/dist/src/syntax/js.js +270 -0
- package/dist/src/test/classify.js +826 -0
- package/dist/src/test/control.js +236 -0
- package/dist/src/test/host.js +266 -0
- package/dist/src/test/index.js +11 -0
- package/dist/src/test/plan.js +347 -0
- package/dist/src/test/rawLog.js +138 -0
- package/dist/src/test/run.js +404 -0
- package/dist/src/test/verdict.js +420 -0
- package/dist/src/test/xpcshell.js +143 -0
- package/dist/src/tokens/add.js +304 -0
- package/dist/src/tokens/coverage.js +65 -0
- package/dist/src/tokens/css.js +58 -0
- package/dist/src/tokens/index.js +12 -0
- package/dist/src/tokens/lint.js +96 -0
- package/dist/src/tokens/model.js +118 -0
- package/dist/src/tokens/settings.js +87 -0
- package/dist/src/tokens/siblings.js +104 -0
- package/dist/src/typecheck/explain.js +123 -0
- package/dist/src/typecheck/index.js +8 -0
- package/dist/src/typecheck/typecheck.js +332 -0
- package/docs/README.md +23 -28
- package/docs/authoring.md +97 -0
- package/docs/configuration.md +307 -692
- package/docs/exit-codes.md +76 -94
- package/docs/furnace.md +113 -181
- package/docs/gate.md +205 -0
- package/docs/getting-started.md +165 -0
- package/docs/machine-output.md +201 -277
- package/docs/migrating.md +261 -0
- package/docs/patch-workflow.md +163 -653
- package/docs/quality.md +220 -0
- package/docs/source-workflow.md +228 -0
- package/docs/testing.md +101 -712
- package/docs/workspaces.md +187 -0
- package/package.json +22 -30
- package/templates/configs/common.mozconfig +8 -2
- package/templates/configs/darwin.mozconfig +6 -7
- package/templates/configs/linux.mozconfig +5 -8
- package/templates/configs/win32.mozconfig +3 -9
- package/dist/bin/fireforge.d.ts +0 -9
- package/dist/src/cli-usage-error.d.ts +0 -46
- package/dist/src/cli-usage-error.js +0 -81
- package/dist/src/cli.d.ts +0 -41
- package/dist/src/cli.js +0 -380
- package/dist/src/commands/bootstrap-checks.d.ts +0 -16
- package/dist/src/commands/bootstrap-checks.js +0 -66
- package/dist/src/commands/bootstrap.d.ts +0 -10
- package/dist/src/commands/build-prelock.d.ts +0 -20
- package/dist/src/commands/build-prelock.js +0 -50
- package/dist/src/commands/build.d.ts +0 -13
- package/dist/src/commands/check-report.d.ts +0 -41
- package/dist/src/commands/check-report.js +0 -91
- package/dist/src/commands/check-run.d.ts +0 -33
- package/dist/src/commands/check-run.js +0 -112
- package/dist/src/commands/check-steps.d.ts +0 -75
- package/dist/src/commands/check-steps.js +0 -200
- package/dist/src/commands/check.d.ts +0 -32
- package/dist/src/commands/config.d.ts +0 -13
- package/dist/src/commands/declarations-report.d.ts +0 -49
- package/dist/src/commands/declarations-report.js +0 -83
- package/dist/src/commands/destructive-decision.d.ts +0 -19
- package/dist/src/commands/destructive-decision.js +0 -31
- package/dist/src/commands/discard.d.ts +0 -12
- package/dist/src/commands/doctor-check-core.d.ts +0 -110
- package/dist/src/commands/doctor-check-core.js +0 -24
- package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
- package/dist/src/commands/doctor-engine-eslint.js +0 -17
- package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
- package/dist/src/commands/doctor-external-toolchains.js +0 -56
- package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
- package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
- package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
- package/dist/src/commands/doctor-furnace-jar.js +0 -44
- package/dist/src/commands/doctor-furnace.d.ts +0 -8
- package/dist/src/commands/doctor-furnace.js +0 -514
- package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
- package/dist/src/commands/doctor-macos-sdk.js +0 -158
- package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
- package/dist/src/commands/doctor-orphaned-harness.js +0 -98
- package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
- package/dist/src/commands/doctor-patch-manifest.js +0 -156
- package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
- package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
- package/dist/src/commands/doctor-source-pin.d.ts +0 -29
- package/dist/src/commands/doctor-source-pin.js +0 -91
- package/dist/src/commands/doctor-working-tree.d.ts +0 -27
- package/dist/src/commands/doctor-working-tree.js +0 -89
- package/dist/src/commands/doctor.d.ts +0 -49
- package/dist/src/commands/download.d.ts +0 -11
- package/dist/src/commands/export-adopt-check.d.ts +0 -37
- package/dist/src/commands/export-adopt-check.js +0 -97
- package/dist/src/commands/export-all.d.ts +0 -11
- package/dist/src/commands/export-all.js +0 -361
- package/dist/src/commands/export-flow.d.ts +0 -124
- package/dist/src/commands/export-flow.js +0 -423
- package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
- package/dist/src/commands/export-placement-conflicts.js +0 -75
- package/dist/src/commands/export-placement-gate.d.ts +0 -42
- package/dist/src/commands/export-placement-gate.js +0 -107
- package/dist/src/commands/export-placement-policy.d.ts +0 -22
- package/dist/src/commands/export-placement-policy.js +0 -54
- package/dist/src/commands/export-shared.d.ts +0 -152
- package/dist/src/commands/export-shared.js +0 -396
- package/dist/src/commands/export-staged-registration.d.ts +0 -46
- package/dist/src/commands/export-staged-registration.js +0 -91
- package/dist/src/commands/export.d.ts +0 -13
- package/dist/src/commands/forward-import-remedy.d.ts +0 -31
- package/dist/src/commands/forward-import-remedy.js +0 -62
- package/dist/src/commands/furnace/apply.d.ts +0 -8
- package/dist/src/commands/furnace/apply.js +0 -327
- package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
- package/dist/src/commands/furnace/authoring-config.js +0 -19
- package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
- package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
- package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
- package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
- package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
- package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
- package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
- package/dist/src/commands/furnace/chrome-doc.js +0 -365
- package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
- package/dist/src/commands/furnace/create-browser-test.js +0 -179
- package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
- package/dist/src/commands/furnace/create-dry-run.js +0 -107
- package/dist/src/commands/furnace/create-features.d.ts +0 -24
- package/dist/src/commands/furnace/create-features.js +0 -55
- package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
- package/dist/src/commands/furnace/create-mochikit.js +0 -75
- package/dist/src/commands/furnace/create-readback.d.ts +0 -22
- package/dist/src/commands/furnace/create-readback.js +0 -32
- package/dist/src/commands/furnace/create-templates.d.ts +0 -119
- package/dist/src/commands/furnace/create-templates.js +0 -283
- package/dist/src/commands/furnace/create-validation.d.ts +0 -6
- package/dist/src/commands/furnace/create-validation.js +0 -59
- package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
- package/dist/src/commands/furnace/create-xpcshell.js +0 -80
- package/dist/src/commands/furnace/create.d.ts +0 -24
- package/dist/src/commands/furnace/create.js +0 -407
- package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
- package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
- package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
- package/dist/src/commands/furnace/deploy-named.js +0 -107
- package/dist/src/commands/furnace/deploy.d.ts +0 -9
- package/dist/src/commands/furnace/deploy.js +0 -218
- package/dist/src/commands/furnace/diff.d.ts +0 -11
- package/dist/src/commands/furnace/diff.js +0 -238
- package/dist/src/commands/furnace/index.d.ts +0 -4
- package/dist/src/commands/furnace/index.js +0 -282
- package/dist/src/commands/furnace/init.d.ts +0 -11
- package/dist/src/commands/furnace/init.js +0 -287
- package/dist/src/commands/furnace/list.d.ts +0 -8
- package/dist/src/commands/furnace/list.js +0 -104
- package/dist/src/commands/furnace/override.d.ts +0 -16
- package/dist/src/commands/furnace/override.js +0 -454
- package/dist/src/commands/furnace/preview.d.ts +0 -19
- package/dist/src/commands/furnace/preview.js +0 -349
- package/dist/src/commands/furnace/refresh.d.ts +0 -10
- package/dist/src/commands/furnace/refresh.js +0 -303
- package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
- package/dist/src/commands/furnace/remove-mutations.js +0 -168
- package/dist/src/commands/furnace/remove-state.d.ts +0 -20
- package/dist/src/commands/furnace/remove-state.js +0 -60
- package/dist/src/commands/furnace/remove.d.ts +0 -8
- package/dist/src/commands/furnace/remove.js +0 -415
- package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
- package/dist/src/commands/furnace/rename-browser-test.js +0 -68
- package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
- package/dist/src/commands/furnace/rename-dry-run.js +0 -127
- package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
- package/dist/src/commands/furnace/rename-helpers.js +0 -85
- package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
- package/dist/src/commands/furnace/rename-registrations.js +0 -98
- package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
- package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
- package/dist/src/commands/furnace/rename.d.ts +0 -6
- package/dist/src/commands/furnace/rename.js +0 -400
- package/dist/src/commands/furnace/scan.d.ts +0 -14
- package/dist/src/commands/furnace/scan.js +0 -192
- package/dist/src/commands/furnace/status.d.ts +0 -7
- package/dist/src/commands/furnace/status.js +0 -209
- package/dist/src/commands/furnace/sync.d.ts +0 -12
- package/dist/src/commands/furnace/sync.js +0 -145
- package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
- package/dist/src/commands/furnace/test-file-name.js +0 -39
- package/dist/src/commands/furnace/validate-report.d.ts +0 -45
- package/dist/src/commands/furnace/validate-report.js +0 -91
- package/dist/src/commands/furnace/validate.d.ts +0 -8
- package/dist/src/commands/furnace/validate.js +0 -309
- package/dist/src/commands/furnace/validation-output.d.ts +0 -47
- package/dist/src/commands/furnace/validation-output.js +0 -161
- package/dist/src/commands/import.d.ts +0 -11
- package/dist/src/commands/lint-per-patch.d.ts +0 -10
- package/dist/src/commands/lint-per-patch.js +0 -428
- package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
- package/dist/src/commands/lint-per-run-checkjs.js +0 -102
- package/dist/src/commands/lint-report.d.ts +0 -25
- package/dist/src/commands/lint-report.js +0 -76
- package/dist/src/commands/lint.d.ts +0 -47
- package/dist/src/commands/manifest.d.ts +0 -38
- package/dist/src/commands/manifest.js +0 -68
- package/dist/src/commands/package.d.ts +0 -11
- package/dist/src/commands/park.d.ts +0 -22
- package/dist/src/commands/park.js +0 -232
- package/dist/src/commands/patch/compact.d.ts +0 -28
- package/dist/src/commands/patch/compact.js +0 -208
- package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
- package/dist/src/commands/patch/delete-gap-notice.js +0 -48
- package/dist/src/commands/patch/delete.d.ts +0 -28
- package/dist/src/commands/patch/delete.js +0 -131
- package/dist/src/commands/patch/entry-projection.d.ts +0 -13
- package/dist/src/commands/patch/entry-projection.js +0 -24
- package/dist/src/commands/patch/index.d.ts +0 -16
- package/dist/src/commands/patch/index.js +0 -52
- package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
- package/dist/src/commands/patch/lint-ignore-from.js +0 -141
- package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
- package/dist/src/commands/patch/lint-ignore.js +0 -261
- package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
- package/dist/src/commands/patch/move-files-adopt.js +0 -65
- package/dist/src/commands/patch/move-files-create.d.ts +0 -19
- package/dist/src/commands/patch/move-files-create.js +0 -187
- package/dist/src/commands/patch/move-files-into.d.ts +0 -65
- package/dist/src/commands/patch/move-files-into.js +0 -325
- package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
- package/dist/src/commands/patch/move-files-retire.js +0 -91
- package/dist/src/commands/patch/move-files.d.ts +0 -28
- package/dist/src/commands/patch/move-files.js +0 -224
- package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
- package/dist/src/commands/patch/move-size-tier.js +0 -66
- package/dist/src/commands/patch/patch-context.d.ts +0 -40
- package/dist/src/commands/patch/patch-context.js +0 -51
- package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
- package/dist/src/commands/patch/removal-created-files.js +0 -83
- package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
- package/dist/src/commands/patch/removal-dependents.js +0 -133
- package/dist/src/commands/patch/rename.d.ts +0 -35
- package/dist/src/commands/patch/rename.js +0 -378
- package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
- package/dist/src/commands/patch/reorder-projection.js +0 -49
- package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
- package/dist/src/commands/patch/reorder-shift.js +0 -307
- package/dist/src/commands/patch/reorder.d.ts +0 -34
- package/dist/src/commands/patch/reorder.js +0 -375
- package/dist/src/commands/patch/reserve.d.ts +0 -33
- package/dist/src/commands/patch/reserve.js +0 -152
- package/dist/src/commands/patch/retire.d.ts +0 -34
- package/dist/src/commands/patch/retire.js +0 -133
- package/dist/src/commands/patch/split-plan.d.ts +0 -125
- package/dist/src/commands/patch/split-plan.js +0 -313
- package/dist/src/commands/patch/split-staged.d.ts +0 -108
- package/dist/src/commands/patch/split-staged.js +0 -202
- package/dist/src/commands/patch/split.d.ts +0 -43
- package/dist/src/commands/patch/split.js +0 -367
- package/dist/src/commands/patch/stage.d.ts +0 -34
- package/dist/src/commands/patch/stage.js +0 -153
- package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
- package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
- package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
- package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
- package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
- package/dist/src/commands/patch/staged-dependency-from.js +0 -114
- package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
- package/dist/src/commands/patch/staged-dependency-remove.js +0 -117
- package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -15
- package/dist/src/commands/patch/staged-dependency-validate.js +0 -49
- package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
- package/dist/src/commands/patch/staged-dependency.js +0 -248
- package/dist/src/commands/patch/tier.d.ts +0 -34
- package/dist/src/commands/patch/tier.js +0 -125
- package/dist/src/commands/patch-rename-map.d.ts +0 -30
- package/dist/src/commands/patch-rename-map.js +0 -54
- package/dist/src/commands/pending-resolution.d.ts +0 -15
- package/dist/src/commands/pending-resolution.js +0 -25
- package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
- package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
- package/dist/src/commands/re-export-adjacent.d.ts +0 -111
- package/dist/src/commands/re-export-adjacent.js +0 -267
- package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
- package/dist/src/commands/re-export-bulk-scan.js +0 -233
- package/dist/src/commands/re-export-drift.d.ts +0 -110
- package/dist/src/commands/re-export-drift.js +0 -358
- package/dist/src/commands/re-export-files.d.ts +0 -15
- package/dist/src/commands/re-export-files.js +0 -307
- package/dist/src/commands/re-export-hunks.d.ts +0 -35
- package/dist/src/commands/re-export-hunks.js +0 -220
- package/dist/src/commands/re-export-lint.d.ts +0 -137
- package/dist/src/commands/re-export-lint.js +0 -303
- package/dist/src/commands/re-export-options.d.ts +0 -29
- package/dist/src/commands/re-export-options.js +0 -191
- package/dist/src/commands/re-export-preflight.d.ts +0 -23
- package/dist/src/commands/re-export-preflight.js +0 -159
- package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
- package/dist/src/commands/re-export-purity-scope.js +0 -137
- package/dist/src/commands/re-export-register.d.ts +0 -12
- package/dist/src/commands/re-export-register.js +0 -99
- package/dist/src/commands/re-export-removed.d.ts +0 -15
- package/dist/src/commands/re-export-removed.js +0 -94
- package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
- package/dist/src/commands/re-export-retired-declarations.js +0 -113
- package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
- package/dist/src/commands/re-export-scan-owner.js +0 -116
- package/dist/src/commands/re-export-scan.d.ts +0 -72
- package/dist/src/commands/re-export-scan.js +0 -265
- package/dist/src/commands/re-export-single.d.ts +0 -39
- package/dist/src/commands/re-export-single.js +0 -388
- package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
- package/dist/src/commands/re-export-stale-registrations.js +0 -106
- package/dist/src/commands/re-export-summary.d.ts +0 -28
- package/dist/src/commands/re-export-summary.js +0 -36
- package/dist/src/commands/re-export.d.ts +0 -8
- package/dist/src/commands/rebase/abort.d.ts +0 -7
- package/dist/src/commands/rebase/abort.js +0 -67
- package/dist/src/commands/rebase/confirm.d.ts +0 -42
- package/dist/src/commands/rebase/confirm.js +0 -36
- package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
- package/dist/src/commands/rebase/conflict-summary.js +0 -37
- package/dist/src/commands/rebase/continue.d.ts +0 -7
- package/dist/src/commands/rebase/continue.js +0 -119
- package/dist/src/commands/rebase/index.d.ts +0 -22
- package/dist/src/commands/rebase/index.js +0 -209
- package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
- package/dist/src/commands/rebase/patch-loop.js +0 -289
- package/dist/src/commands/rebase/summary.d.ts +0 -8
- package/dist/src/commands/rebase/summary.js +0 -47
- package/dist/src/commands/register.d.ts +0 -13
- package/dist/src/commands/reset.d.ts +0 -11
- package/dist/src/commands/resolve.d.ts +0 -36
- package/dist/src/commands/run.d.ts +0 -10
- package/dist/src/commands/setup-support.d.ts +0 -35
- package/dist/src/commands/setup-support.js +0 -386
- package/dist/src/commands/setup.d.ts +0 -11
- package/dist/src/commands/source.d.ts +0 -9
- package/dist/src/commands/source.js +0 -120
- package/dist/src/commands/status-check.d.ts +0 -87
- package/dist/src/commands/status-check.js +0 -161
- package/dist/src/commands/status-json.d.ts +0 -45
- package/dist/src/commands/status-json.js +0 -97
- package/dist/src/commands/status-output.d.ts +0 -23
- package/dist/src/commands/status-output.js +0 -231
- package/dist/src/commands/status-ownership.d.ts +0 -54
- package/dist/src/commands/status-ownership.js +0 -59
- package/dist/src/commands/status-scope.d.ts +0 -37
- package/dist/src/commands/status-scope.js +0 -54
- package/dist/src/commands/status.d.ts +0 -11
- package/dist/src/commands/test-appdir.d.ts +0 -6
- package/dist/src/commands/test-appdir.js +0 -29
- package/dist/src/commands/test-browser-preflight.d.ts +0 -28
- package/dist/src/commands/test-browser-preflight.js +0 -197
- package/dist/src/commands/test-build-furnace.d.ts +0 -21
- package/dist/src/commands/test-build-furnace.js +0 -53
- package/dist/src/commands/test-build-phase.d.ts +0 -29
- package/dist/src/commands/test-build-phase.js +0 -290
- package/dist/src/commands/test-checkjs.d.ts +0 -3
- package/dist/src/commands/test-checkjs.js +0 -35
- package/dist/src/commands/test-control-restore.d.ts +0 -40
- package/dist/src/commands/test-control-restore.js +0 -86
- package/dist/src/commands/test-diagnose.d.ts +0 -23
- package/dist/src/commands/test-diagnose.js +0 -317
- package/dist/src/commands/test-dispatch.d.ts +0 -39
- package/dist/src/commands/test-dispatch.js +0 -281
- package/dist/src/commands/test-furnace-reach.d.ts +0 -37
- package/dist/src/commands/test-furnace-reach.js +0 -132
- package/dist/src/commands/test-harness-env.d.ts +0 -23
- package/dist/src/commands/test-harness-env.js +0 -81
- package/dist/src/commands/test-harness-teardown.d.ts +0 -62
- package/dist/src/commands/test-harness-teardown.js +0 -128
- package/dist/src/commands/test-modes.d.ts +0 -57
- package/dist/src/commands/test-modes.js +0 -158
- package/dist/src/commands/test-multi-verdict.d.ts +0 -61
- package/dist/src/commands/test-multi-verdict.js +0 -112
- package/dist/src/commands/test-orchestrate.d.ts +0 -63
- package/dist/src/commands/test-orchestrate.js +0 -274
- package/dist/src/commands/test-perf-scope.d.ts +0 -50
- package/dist/src/commands/test-perf-scope.js +0 -138
- package/dist/src/commands/test-prelock.d.ts +0 -61
- package/dist/src/commands/test-prelock.js +0 -301
- package/dist/src/commands/test-register.d.ts +0 -4
- package/dist/src/commands/test-register.js +0 -181
- package/dist/src/commands/test-results.d.ts +0 -71
- package/dist/src/commands/test-results.js +0 -79
- package/dist/src/commands/test-run.d.ts +0 -89
- package/dist/src/commands/test-run.js +0 -251
- package/dist/src/commands/test-shards.d.ts +0 -114
- package/dist/src/commands/test-shards.js +0 -272
- package/dist/src/commands/test-stale-gate.d.ts +0 -52
- package/dist/src/commands/test-stale-gate.js +0 -165
- package/dist/src/commands/test-verdict.d.ts +0 -92
- package/dist/src/commands/test-verdict.js +0 -162
- package/dist/src/commands/test.d.ts +0 -22
- package/dist/src/commands/token-coverage.d.ts +0 -5
- package/dist/src/commands/token-coverage.js +0 -170
- package/dist/src/commands/token-lint.d.ts +0 -14
- package/dist/src/commands/token-lint.js +0 -151
- package/dist/src/commands/token-list.d.ts +0 -26
- package/dist/src/commands/token-list.js +0 -153
- package/dist/src/commands/token.d.ts +0 -14
- package/dist/src/commands/tree.d.ts +0 -19
- package/dist/src/commands/tree.js +0 -341
- package/dist/src/commands/typecheck.d.ts +0 -56
- package/dist/src/commands/verify-scope.d.ts +0 -28
- package/dist/src/commands/verify-scope.js +0 -67
- package/dist/src/commands/verify.d.ts +0 -58
- package/dist/src/commands/watch.d.ts +0 -9
- package/dist/src/commands/wire.d.ts +0 -13
- package/dist/src/core/ast-utils.d.ts +0 -73
- package/dist/src/core/ast-utils.js +0 -105
- package/dist/src/core/brand-validation.d.ts +0 -7
- package/dist/src/core/brand-validation.js +0 -14
- package/dist/src/core/branding.d.ts +0 -86
- package/dist/src/core/branding.js +0 -371
- package/dist/src/core/browser-wire.d.ts +0 -48
- package/dist/src/core/browser-wire.js +0 -133
- package/dist/src/core/build-audit-platform.d.ts +0 -67
- package/dist/src/core/build-audit-platform.js +0 -373
- package/dist/src/core/build-audit-registration.d.ts +0 -80
- package/dist/src/core/build-audit-registration.js +0 -181
- package/dist/src/core/build-audit-resolve.d.ts +0 -78
- package/dist/src/core/build-audit-resolve.js +0 -240
- package/dist/src/core/build-audit-skip.d.ts +0 -57
- package/dist/src/core/build-audit-skip.js +0 -112
- package/dist/src/core/build-audit-transforms.d.ts +0 -23
- package/dist/src/core/build-audit-transforms.js +0 -92
- package/dist/src/core/build-audit.d.ts +0 -93
- package/dist/src/core/build-audit.js +0 -633
- package/dist/src/core/build-baseline-types.d.ts +0 -225
- package/dist/src/core/build-baseline-types.js +0 -10
- package/dist/src/core/build-baseline-validate.d.ts +0 -32
- package/dist/src/core/build-baseline-validate.js +0 -173
- package/dist/src/core/build-baseline.d.ts +0 -103
- package/dist/src/core/build-baseline.js +0 -261
- package/dist/src/core/build-jar-escalation.d.ts +0 -61
- package/dist/src/core/build-jar-escalation.js +0 -125
- package/dist/src/core/build-overwrite-guard.d.ts +0 -92
- package/dist/src/core/build-overwrite-guard.js +0 -235
- package/dist/src/core/build-prepare.d.ts +0 -83
- package/dist/src/core/build-prepare.js +0 -414
- package/dist/src/core/build-run-record.d.ts +0 -74
- package/dist/src/core/build-run-record.js +0 -136
- package/dist/src/core/checkjs-support-heads.d.ts +0 -41
- package/dist/src/core/checkjs-support-heads.js +0 -104
- package/dist/src/core/component-source-guard.d.ts +0 -20
- package/dist/src/core/component-source-guard.js +0 -68
- package/dist/src/core/config-mutate.d.ts +0 -16
- package/dist/src/core/config-mutate.js +0 -76
- package/dist/src/core/config-paths.d.ts +0 -16
- package/dist/src/core/config-paths.js +0 -106
- package/dist/src/core/config-state.d.ts +0 -16
- package/dist/src/core/config-state.js +0 -141
- package/dist/src/core/config-validate-build-audit.d.ts +0 -8
- package/dist/src/core/config-validate-build-audit.js +0 -80
- package/dist/src/core/config-validate-check.d.ts +0 -8
- package/dist/src/core/config-validate-check.js +0 -219
- package/dist/src/core/config-validate-file-size.d.ts +0 -15
- package/dist/src/core/config-validate-file-size.js +0 -154
- package/dist/src/core/config-validate-history.d.ts +0 -11
- package/dist/src/core/config-validate-history.js +0 -38
- package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
- package/dist/src/core/config-validate-patch-policy.js +0 -274
- package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
- package/dist/src/core/config-validate-test-toolchains.js +0 -133
- package/dist/src/core/config-validate-token-scales.d.ts +0 -9
- package/dist/src/core/config-validate-token-scales.js +0 -92
- package/dist/src/core/config-validate.d.ts +0 -11
- package/dist/src/core/config-validate.js +0 -503
- package/dist/src/core/config.d.ts +0 -92
- package/dist/src/core/config.js +0 -169
- package/dist/src/core/coverage-dispatch.d.ts +0 -24
- package/dist/src/core/coverage-dispatch.js +0 -44
- package/dist/src/core/coverage-extend.d.ts +0 -89
- package/dist/src/core/coverage-extend.js +0 -239
- package/dist/src/core/coverage-records.d.ts +0 -107
- package/dist/src/core/coverage-records.js +0 -383
- package/dist/src/core/destructive.d.ts +0 -144
- package/dist/src/core/destructive.js +0 -182
- package/dist/src/core/diff-hunks.d.ts +0 -73
- package/dist/src/core/diff-hunks.js +0 -286
- package/dist/src/core/discard-baseline.d.ts +0 -60
- package/dist/src/core/discard-baseline.js +0 -247
- package/dist/src/core/display-state.d.ts +0 -50
- package/dist/src/core/display-state.js +0 -87
- package/dist/src/core/engine-changes.d.ts +0 -40
- package/dist/src/core/engine-changes.js +0 -95
- package/dist/src/core/engine-precondition.d.ts +0 -42
- package/dist/src/core/engine-precondition.js +0 -60
- package/dist/src/core/engine-session-lock.d.ts +0 -119
- package/dist/src/core/engine-session-lock.js +0 -374
- package/dist/src/core/engine-write-boundary.d.ts +0 -5
- package/dist/src/core/engine-write-boundary.js +0 -41
- package/dist/src/core/export-moved-code-shape.d.ts +0 -98
- package/dist/src/core/export-moved-code-shape.js +0 -220
- package/dist/src/core/file-lock-owner.d.ts +0 -103
- package/dist/src/core/file-lock-owner.js +0 -259
- package/dist/src/core/file-lock-queue.d.ts +0 -67
- package/dist/src/core/file-lock-queue.js +0 -219
- package/dist/src/core/file-lock-shared.d.ts +0 -57
- package/dist/src/core/file-lock-shared.js +0 -117
- package/dist/src/core/file-lock.d.ts +0 -143
- package/dist/src/core/file-lock.js +0 -531
- package/dist/src/core/firefox-archive.d.ts +0 -45
- package/dist/src/core/firefox-archive.js +0 -96
- package/dist/src/core/firefox-cache.d.ts +0 -30
- package/dist/src/core/firefox-cache.js +0 -248
- package/dist/src/core/firefox-download.d.ts +0 -30
- package/dist/src/core/firefox-download.js +0 -152
- package/dist/src/core/firefox-extract.d.ts +0 -42
- package/dist/src/core/firefox-extract.js +0 -248
- package/dist/src/core/firefox-ignorefile.d.ts +0 -17
- package/dist/src/core/firefox-ignorefile.js +0 -30
- package/dist/src/core/firefox.d.ts +0 -66
- package/dist/src/core/firefox.js +0 -121
- package/dist/src/core/forward-registrations.d.ts +0 -33
- package/dist/src/core/forward-registrations.js +0 -16
- package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
- package/dist/src/core/furnace-apply-dry-run.js +0 -99
- package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
- package/dist/src/core/furnace-apply-ftl.js +0 -210
- package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
- package/dist/src/core/furnace-apply-helpers.js +0 -436
- package/dist/src/core/furnace-apply-output.d.ts +0 -36
- package/dist/src/core/furnace-apply-output.js +0 -111
- package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -62
- package/dist/src/core/furnace-apply-overwrite-warn.js +0 -124
- package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
- package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
- package/dist/src/core/furnace-apply.d.ts +0 -49
- package/dist/src/core/furnace-apply.js +0 -465
- package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
- package/dist/src/core/furnace-checksum-utils.js +0 -54
- package/dist/src/core/furnace-composed-source.d.ts +0 -76
- package/dist/src/core/furnace-composed-source.js +0 -167
- package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
- package/dist/src/core/furnace-config-array-utils.js +0 -26
- package/dist/src/core/furnace-config-custom.d.ts +0 -15
- package/dist/src/core/furnace-config-custom.js +0 -73
- package/dist/src/core/furnace-config-order.d.ts +0 -8
- package/dist/src/core/furnace-config-order.js +0 -90
- package/dist/src/core/furnace-config-tokens.d.ts +0 -17
- package/dist/src/core/furnace-config-tokens.js +0 -42
- package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
- package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
- package/dist/src/core/furnace-config-validate.d.ts +0 -32
- package/dist/src/core/furnace-config-validate.js +0 -146
- package/dist/src/core/furnace-config.d.ts +0 -139
- package/dist/src/core/furnace-config.js +0 -511
- package/dist/src/core/furnace-constants.d.ts +0 -79
- package/dist/src/core/furnace-constants.js +0 -123
- package/dist/src/core/furnace-css-fragments.d.ts +0 -96
- package/dist/src/core/furnace-css-fragments.js +0 -279
- package/dist/src/core/furnace-dir-entry.d.ts +0 -20
- package/dist/src/core/furnace-dir-entry.js +0 -21
- package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
- package/dist/src/core/furnace-fragment-includers.js +0 -122
- package/dist/src/core/furnace-graph-utils.d.ts +0 -11
- package/dist/src/core/furnace-graph-utils.js +0 -93
- package/dist/src/core/furnace-jsconfig.d.ts +0 -61
- package/dist/src/core/furnace-jsconfig.js +0 -208
- package/dist/src/core/furnace-marker.d.ts +0 -15
- package/dist/src/core/furnace-marker.js +0 -21
- package/dist/src/core/furnace-operation.d.ts +0 -195
- package/dist/src/core/furnace-operation.js +0 -444
- package/dist/src/core/furnace-precondition.d.ts +0 -61
- package/dist/src/core/furnace-precondition.js +0 -67
- package/dist/src/core/furnace-refresh.d.ts +0 -28
- package/dist/src/core/furnace-refresh.js +0 -125
- package/dist/src/core/furnace-registration-ast.d.ts +0 -53
- package/dist/src/core/furnace-registration-ast.js +0 -402
- package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
- package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
- package/dist/src/core/furnace-registration-remove.d.ts +0 -56
- package/dist/src/core/furnace-registration-remove.js +0 -260
- package/dist/src/core/furnace-registration-rename.d.ts +0 -26
- package/dist/src/core/furnace-registration-rename.js +0 -77
- package/dist/src/core/furnace-registration-validate.d.ts +0 -53
- package/dist/src/core/furnace-registration-validate.js +0 -110
- package/dist/src/core/furnace-registration.d.ts +0 -112
- package/dist/src/core/furnace-registration.js +0 -348
- package/dist/src/core/furnace-rollback.d.ts +0 -48
- package/dist/src/core/furnace-rollback.js +0 -170
- package/dist/src/core/furnace-scanner.d.ts +0 -47
- package/dist/src/core/furnace-scanner.js +0 -236
- package/dist/src/core/furnace-stale-export.d.ts +0 -60
- package/dist/src/core/furnace-stale-export.js +0 -125
- package/dist/src/core/furnace-staleness.d.ts +0 -24
- package/dist/src/core/furnace-staleness.js +0 -67
- package/dist/src/core/furnace-state-persist.d.ts +0 -68
- package/dist/src/core/furnace-state-persist.js +0 -116
- package/dist/src/core/furnace-step-errors.d.ts +0 -23
- package/dist/src/core/furnace-step-errors.js +0 -25
- package/dist/src/core/furnace-stories.d.ts +0 -37
- package/dist/src/core/furnace-stories.js +0 -186
- package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
- package/dist/src/core/furnace-validate-accessibility.js +0 -417
- package/dist/src/core/furnace-validate-checks.d.ts +0 -4
- package/dist/src/core/furnace-validate-checks.js +0 -6
- package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
- package/dist/src/core/furnace-validate-compatibility.js +0 -295
- package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
- package/dist/src/core/furnace-validate-exceptions.js +0 -98
- package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
- package/dist/src/core/furnace-validate-helpers.js +0 -4
- package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
- package/dist/src/core/furnace-validate-icon-button.js +0 -78
- package/dist/src/core/furnace-validate-registration.d.ts +0 -67
- package/dist/src/core/furnace-validate-registration.js +0 -487
- package/dist/src/core/furnace-validate-structure.d.ts +0 -22
- package/dist/src/core/furnace-validate-structure.js +0 -122
- package/dist/src/core/furnace-validate.d.ts +0 -41
- package/dist/src/core/furnace-validate.js +0 -302
- package/dist/src/core/furnace-version-drift.d.ts +0 -57
- package/dist/src/core/furnace-version-drift.js +0 -102
- package/dist/src/core/gecko-dom-types.d.ts +0 -2
- package/dist/src/core/gecko-dom-types.js +0 -17
- package/dist/src/core/git-base.d.ts +0 -101
- package/dist/src/core/git-base.js +0 -162
- package/dist/src/core/git-diff-new-file.d.ts +0 -40
- package/dist/src/core/git-diff-new-file.js +0 -118
- package/dist/src/core/git-diff.d.ts +0 -82
- package/dist/src/core/git-diff.js +0 -539
- package/dist/src/core/git-file-ops.d.ts +0 -108
- package/dist/src/core/git-file-ops.js +0 -280
- package/dist/src/core/git-readonly-index.d.ts +0 -91
- package/dist/src/core/git-readonly-index.js +0 -177
- package/dist/src/core/git-status.d.ts +0 -84
- package/dist/src/core/git-status.js +0 -208
- package/dist/src/core/git.d.ts +0 -114
- package/dist/src/core/git.js +0 -540
- package/dist/src/core/harness-helper-pids.d.ts +0 -98
- package/dist/src/core/harness-helper-pids.js +0 -240
- package/dist/src/core/harness-orphans.d.ts +0 -118
- package/dist/src/core/harness-orphans.js +0 -268
- package/dist/src/core/harness-port-fallback.d.ts +0 -60
- package/dist/src/core/harness-port-fallback.js +0 -96
- package/dist/src/core/harness-port-reservation.d.ts +0 -60
- package/dist/src/core/harness-port-reservation.js +0 -122
- package/dist/src/core/history-log-file.d.ts +0 -61
- package/dist/src/core/history-log-file.js +0 -164
- package/dist/src/core/history-log.d.ts +0 -20
- package/dist/src/core/history-log.js +0 -30
- package/dist/src/core/json-preserving-edit.d.ts +0 -22
- package/dist/src/core/json-preserving-edit.js +0 -199
- package/dist/src/core/launchable-build.d.ts +0 -39
- package/dist/src/core/launchable-build.js +0 -85
- package/dist/src/core/license-headers.d.ts +0 -103
- package/dist/src/core/license-headers.js +0 -318
- package/dist/src/core/line-prefixer.d.ts +0 -18
- package/dist/src/core/line-prefixer.js +0 -34
- package/dist/src/core/lit-template-regions.d.ts +0 -4
- package/dist/src/core/lit-template-regions.js +0 -50
- package/dist/src/core/mach-build-artifacts.d.ts +0 -176
- package/dist/src/core/mach-build-artifacts.js +0 -436
- package/dist/src/core/mach-error-hints.d.ts +0 -24
- package/dist/src/core/mach-error-hints.js +0 -135
- package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
- package/dist/src/core/mach-known-noise-filter.js +0 -257
- package/dist/src/core/mach-mozconfig.d.ts +0 -57
- package/dist/src/core/mach-mozconfig.js +0 -166
- package/dist/src/core/mach-python.d.ts +0 -19
- package/dist/src/core/mach-python.js +0 -131
- package/dist/src/core/mach-resource-shim.d.ts +0 -107
- package/dist/src/core/mach-resource-shim.js +0 -640
- package/dist/src/core/mach.d.ts +0 -284
- package/dist/src/core/mach.js +0 -445
- package/dist/src/core/marionette-port.d.ts +0 -153
- package/dist/src/core/marionette-port.js +0 -474
- package/dist/src/core/marionette-preflight.d.ts +0 -58
- package/dist/src/core/marionette-preflight.js +0 -332
- package/dist/src/core/markdown-table.d.ts +0 -104
- package/dist/src/core/markdown-table.js +0 -265
- package/dist/src/core/mochitest-server-port.d.ts +0 -81
- package/dist/src/core/mochitest-server-port.js +0 -175
- package/dist/src/core/module-resolution-preflight.d.ts +0 -65
- package/dist/src/core/module-resolution-preflight.js +0 -171
- package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
- package/dist/src/core/moz-manifest-helpers.js +0 -163
- package/dist/src/core/moz-manifest-register.d.ts +0 -19
- package/dist/src/core/moz-manifest-register.js +0 -51
- package/dist/src/core/moz-manifest-rules.d.ts +0 -58
- package/dist/src/core/moz-manifest-rules.js +0 -264
- package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
- package/dist/src/core/moz-manifest-tokenizers.js +0 -108
- package/dist/src/core/negative-control-compiled.d.ts +0 -46
- package/dist/src/core/negative-control-compiled.js +0 -109
- package/dist/src/core/negative-control-diff.d.ts +0 -51
- package/dist/src/core/negative-control-diff.js +0 -204
- package/dist/src/core/negative-control.d.ts +0 -150
- package/dist/src/core/negative-control.js +0 -399
- package/dist/src/core/objdir-install-manifests.d.ts +0 -73
- package/dist/src/core/objdir-install-manifests.js +0 -226
- package/dist/src/core/objdir-maintenance.d.ts +0 -10
- package/dist/src/core/objdir-maintenance.js +0 -167
- package/dist/src/core/ownership-table.d.ts +0 -53
- package/dist/src/core/ownership-table.js +0 -159
- package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
- package/dist/src/core/parent-exit-watchdog.js +0 -69
- package/dist/src/core/park-store.d.ts +0 -63
- package/dist/src/core/park-store.js +0 -216
- package/dist/src/core/parser-fallback.d.ts +0 -50
- package/dist/src/core/parser-fallback.js +0 -61
- package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
- package/dist/src/core/patch-apply-fuzz.js +0 -125
- package/dist/src/core/patch-apply.d.ts +0 -88
- package/dist/src/core/patch-apply.js +0 -435
- package/dist/src/core/patch-export-coverage.d.ts +0 -49
- package/dist/src/core/patch-export-coverage.js +0 -73
- package/dist/src/core/patch-export-metadata.d.ts +0 -46
- package/dist/src/core/patch-export-metadata.js +0 -47
- package/dist/src/core/patch-export-update.d.ts +0 -55
- package/dist/src/core/patch-export-update.js +0 -95
- package/dist/src/core/patch-export.d.ts +0 -175
- package/dist/src/core/patch-export.js +0 -312
- package/dist/src/core/patch-files.d.ts +0 -17
- package/dist/src/core/patch-files.js +0 -59
- package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
- package/dist/src/core/patch-identifier-suggest.js +0 -135
- package/dist/src/core/patch-lint-binary.d.ts +0 -45
- package/dist/src/core/patch-lint-binary.js +0 -39
- package/dist/src/core/patch-lint-cache.d.ts +0 -78
- package/dist/src/core/patch-lint-cache.js +0 -233
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -39
- package/dist/src/core/patch-lint-checkjs-any-import.js +0 -63
- package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
- package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
- package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
- package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
- package/dist/src/core/patch-lint-checkjs.d.ts +0 -180
- package/dist/src/core/patch-lint-checkjs.js +0 -611
- package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
- package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
- package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
- package/dist/src/core/patch-lint-code-lines.js +0 -105
- package/dist/src/core/patch-lint-creators.d.ts +0 -26
- package/dist/src/core/patch-lint-creators.js +0 -45
- package/dist/src/core/patch-lint-cross.d.ts +0 -232
- package/dist/src/core/patch-lint-cross.js +0 -590
- package/dist/src/core/patch-lint-css.d.ts +0 -27
- package/dist/src/core/patch-lint-css.js +0 -228
- package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
- package/dist/src/core/patch-lint-diff-tag.js +0 -105
- package/dist/src/core/patch-lint-diff.d.ts +0 -42
- package/dist/src/core/patch-lint-diff.js +0 -100
- package/dist/src/core/patch-lint-file-size.d.ts +0 -57
- package/dist/src/core/patch-lint-file-size.js +0 -62
- package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
- package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
- package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
- package/dist/src/core/patch-lint-forward-registration.js +0 -266
- package/dist/src/core/patch-lint-ignore.d.ts +0 -196
- package/dist/src/core/patch-lint-ignore.js +0 -429
- package/dist/src/core/patch-lint-imports.d.ts +0 -5
- package/dist/src/core/patch-lint-imports.js +0 -67
- package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
- package/dist/src/core/patch-lint-jsdoc.js +0 -471
- package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
- package/dist/src/core/patch-lint-module-registration.js +0 -97
- package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
- package/dist/src/core/patch-lint-mozbuild.js +0 -192
- package/dist/src/core/patch-lint-observer.d.ts +0 -37
- package/dist/src/core/patch-lint-observer.js +0 -167
- package/dist/src/core/patch-lint-ownership.d.ts +0 -74
- package/dist/src/core/patch-lint-ownership.js +0 -125
- package/dist/src/core/patch-lint-prettier.d.ts +0 -34
- package/dist/src/core/patch-lint-prettier.js +0 -124
- package/dist/src/core/patch-lint-projection.d.ts +0 -25
- package/dist/src/core/patch-lint-projection.js +0 -43
- package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
- package/dist/src/core/patch-lint-queue-types.js +0 -12
- package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
- package/dist/src/core/patch-lint-size-thresholds.js +0 -110
- package/dist/src/core/patch-lint-size.d.ts +0 -117
- package/dist/src/core/patch-lint-size.js +0 -331
- package/dist/src/core/patch-lint-staged-registration.d.ts +0 -78
- package/dist/src/core/patch-lint-staged-registration.js +0 -110
- package/dist/src/core/patch-lint-token-scale.d.ts +0 -57
- package/dist/src/core/patch-lint-token-scale.js +0 -286
- package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
- package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
- package/dist/src/core/patch-lint.d.ts +0 -191
- package/dist/src/core/patch-lint.js +0 -529
- package/dist/src/core/patch-lock.d.ts +0 -40
- package/dist/src/core/patch-lock.js +0 -129
- package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
- package/dist/src/core/patch-manifest-consistency.js +0 -256
- package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
- package/dist/src/core/patch-manifest-files-affected.js +0 -77
- package/dist/src/core/patch-manifest-io.d.ts +0 -199
- package/dist/src/core/patch-manifest-io.js +0 -556
- package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
- package/dist/src/core/patch-manifest-key-order.js +0 -60
- package/dist/src/core/patch-manifest-query.d.ts +0 -55
- package/dist/src/core/patch-manifest-query.js +0 -139
- package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
- package/dist/src/core/patch-manifest-resolve.js +0 -35
- package/dist/src/core/patch-manifest-stage.d.ts +0 -46
- package/dist/src/core/patch-manifest-stage.js +0 -96
- package/dist/src/core/patch-manifest-validate.d.ts +0 -20
- package/dist/src/core/patch-manifest-validate.js +0 -240
- package/dist/src/core/patch-manifest.d.ts +0 -12
- package/dist/src/core/patch-manifest.js +0 -13
- package/dist/src/core/patch-order-legal.d.ts +0 -26
- package/dist/src/core/patch-order-legal.js +0 -88
- package/dist/src/core/patch-parse.d.ts +0 -161
- package/dist/src/core/patch-parse.js +0 -347
- package/dist/src/core/patch-policy-content.d.ts +0 -40
- package/dist/src/core/patch-policy-content.js +0 -216
- package/dist/src/core/patch-policy.d.ts +0 -80
- package/dist/src/core/patch-policy.js +0 -394
- package/dist/src/core/patch-registration-refs.d.ts +0 -41
- package/dist/src/core/patch-registration-refs.js +0 -107
- package/dist/src/core/patch-retired.d.ts +0 -57
- package/dist/src/core/patch-retired.js +0 -92
- package/dist/src/core/patch-source-metadata.d.ts +0 -6
- package/dist/src/core/patch-source-metadata.js +0 -12
- package/dist/src/core/patch-subset.d.ts +0 -18
- package/dist/src/core/patch-subset.js +0 -67
- package/dist/src/core/patch-transform.d.ts +0 -61
- package/dist/src/core/patch-transform.js +0 -198
- package/dist/src/core/preflight-wait.d.ts +0 -22
- package/dist/src/core/preflight-wait.js +0 -62
- package/dist/src/core/process-cpu-time.d.ts +0 -12
- package/dist/src/core/process-cpu-time.js +0 -52
- package/dist/src/core/process-owner.d.ts +0 -9
- package/dist/src/core/process-owner.js +0 -43
- package/dist/src/core/rebase-dry-run.d.ts +0 -48
- package/dist/src/core/rebase-dry-run.js +0 -105
- package/dist/src/core/rebase-from-version.d.ts +0 -46
- package/dist/src/core/rebase-from-version.js +0 -71
- package/dist/src/core/rebase-session.d.ts +0 -100
- package/dist/src/core/rebase-session.js +0 -174
- package/dist/src/core/register-browser-content.d.ts +0 -11
- package/dist/src/core/register-browser-content.js +0 -52
- package/dist/src/core/register-browser-test.d.ts +0 -18
- package/dist/src/core/register-browser-test.js +0 -66
- package/dist/src/core/register-module.d.ts +0 -11
- package/dist/src/core/register-module.js +0 -56
- package/dist/src/core/register-result.d.ts +0 -30
- package/dist/src/core/register-result.js +0 -8
- package/dist/src/core/register-scaffold.d.ts +0 -55
- package/dist/src/core/register-scaffold.js +0 -146
- package/dist/src/core/register-shared-css.d.ts +0 -36
- package/dist/src/core/register-shared-css.js +0 -112
- package/dist/src/core/register-xpcshell-test.d.ts +0 -50
- package/dist/src/core/register-xpcshell-test.js +0 -143
- package/dist/src/core/run-log-redact.d.ts +0 -38
- package/dist/src/core/run-log-redact.js +0 -69
- package/dist/src/core/run-log.d.ts +0 -97
- package/dist/src/core/run-log.js +0 -334
- package/dist/src/core/run-profile.d.ts +0 -57
- package/dist/src/core/run-profile.js +0 -137
- package/dist/src/core/shared-ftl.d.ts +0 -28
- package/dist/src/core/shared-ftl.js +0 -49
- package/dist/src/core/signal-critical.d.ts +0 -38
- package/dist/src/core/signal-critical.js +0 -62
- package/dist/src/core/smoke-patterns.d.ts +0 -81
- package/dist/src/core/smoke-patterns.js +0 -176
- package/dist/src/core/state-file.d.ts +0 -60
- package/dist/src/core/state-file.js +0 -71
- package/dist/src/core/status-binary.d.ts +0 -62
- package/dist/src/core/status-binary.js +0 -133
- package/dist/src/core/status-classify.d.ts +0 -96
- package/dist/src/core/status-classify.js +0 -244
- package/dist/src/core/test-changed-prefs.d.ts +0 -30
- package/dist/src/core/test-changed-prefs.js +0 -93
- package/dist/src/core/test-harness-crash.d.ts +0 -251
- package/dist/src/core/test-harness-crash.js +0 -780
- package/dist/src/core/test-harness-infra.d.ts +0 -32
- package/dist/src/core/test-harness-infra.js +0 -69
- package/dist/src/core/test-harness-output.d.ts +0 -45
- package/dist/src/core/test-harness-output.js +0 -119
- package/dist/src/core/test-harness-signature.d.ts +0 -57
- package/dist/src/core/test-harness-signature.js +0 -35
- package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
- package/dist/src/core/test-harness-verdict-notes.js +0 -48
- package/dist/src/core/test-host-state.d.ts +0 -14
- package/dist/src/core/test-host-state.js +0 -80
- package/dist/src/core/test-path-scope.d.ts +0 -59
- package/dist/src/core/test-path-scope.js +0 -147
- package/dist/src/core/test-profile-files.d.ts +0 -17
- package/dist/src/core/test-profile-files.js +0 -75
- package/dist/src/core/test-raw-log.d.ts +0 -66
- package/dist/src/core/test-raw-log.js +0 -122
- package/dist/src/core/test-run-completeness.d.ts +0 -97
- package/dist/src/core/test-run-completeness.js +0 -191
- package/dist/src/core/test-stale-check.d.ts +0 -213
- package/dist/src/core/test-stale-check.js +0 -396
- package/dist/src/core/test-stale-exempt.d.ts +0 -40
- package/dist/src/core/test-stale-exempt.js +0 -70
- package/dist/src/core/test-stale-symlink.d.ts +0 -12
- package/dist/src/core/test-stale-symlink.js +0 -39
- package/dist/src/core/test-stall-triage.d.ts +0 -51
- package/dist/src/core/test-stall-triage.js +0 -142
- package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
- package/dist/src/core/test-xpcshell-retry.js +0 -31
- package/dist/src/core/token-category.d.ts +0 -54
- package/dist/src/core/token-category.js +0 -299
- package/dist/src/core/token-coverage.d.ts +0 -12
- package/dist/src/core/token-coverage.js +0 -96
- package/dist/src/core/token-dark-mode.d.ts +0 -64
- package/dist/src/core/token-dark-mode.js +0 -186
- package/dist/src/core/token-docs.d.ts +0 -34
- package/dist/src/core/token-docs.js +0 -102
- package/dist/src/core/token-inventory.d.ts +0 -56
- package/dist/src/core/token-inventory.js +0 -114
- package/dist/src/core/token-lint.d.ts +0 -53
- package/dist/src/core/token-lint.js +0 -131
- package/dist/src/core/token-manager.d.ts +0 -87
- package/dist/src/core/token-manager.js +0 -407
- package/dist/src/core/token-scaffold.d.ts +0 -36
- package/dist/src/core/token-scaffold.js +0 -73
- package/dist/src/core/token-sibling-sheets.d.ts +0 -46
- package/dist/src/core/token-sibling-sheets.js +0 -119
- package/dist/src/core/token-variant.d.ts +0 -90
- package/dist/src/core/token-variant.js +0 -327
- package/dist/src/core/toolchain-preflight.d.ts +0 -90
- package/dist/src/core/toolchain-preflight.js +0 -251
- package/dist/src/core/tree-cow.d.ts +0 -16
- package/dist/src/core/tree-cow.js +0 -71
- package/dist/src/core/tree-guard.d.ts +0 -35
- package/dist/src/core/tree-guard.js +0 -194
- package/dist/src/core/tree-store.d.ts +0 -143
- package/dist/src/core/tree-store.js +0 -478
- package/dist/src/core/typecheck-shim.d.ts +0 -90
- package/dist/src/core/typecheck-shim.js +0 -507
- package/dist/src/core/typecheck.d.ts +0 -75
- package/dist/src/core/typecheck.js +0 -433
- package/dist/src/core/wire-destroy.d.ts +0 -25
- package/dist/src/core/wire-destroy.js +0 -126
- package/dist/src/core/wire-dom-fragment.d.ts +0 -44
- package/dist/src/core/wire-dom-fragment.js +0 -139
- package/dist/src/core/wire-init.d.ts +0 -28
- package/dist/src/core/wire-init.js +0 -219
- package/dist/src/core/wire-subscript.d.ts +0 -23
- package/dist/src/core/wire-subscript.js +0 -145
- package/dist/src/core/wire-utils.d.ts +0 -149
- package/dist/src/core/wire-utils.js +0 -338
- package/dist/src/core/xpcshell-appdir.d.ts +0 -157
- package/dist/src/core/xpcshell-appdir.js +0 -299
- package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
- package/dist/src/core/xpcshell-profile-dir.js +0 -45
- package/dist/src/errors/base.d.ts +0 -217
- package/dist/src/errors/base.js +0 -279
- package/dist/src/errors/build.d.ts +0 -92
- package/dist/src/errors/build.js +0 -166
- package/dist/src/errors/codes.d.ts +0 -74
- package/dist/src/errors/codes.js +0 -74
- package/dist/src/errors/config.d.ts +0 -17
- package/dist/src/errors/config.js +0 -39
- package/dist/src/errors/download.d.ts +0 -66
- package/dist/src/errors/download.js +0 -160
- package/dist/src/errors/furnace.d.ts +0 -20
- package/dist/src/errors/furnace.js +0 -28
- package/dist/src/errors/git.d.ts +0 -65
- package/dist/src/errors/git.js +0 -140
- package/dist/src/errors/patch.d.ts +0 -27
- package/dist/src/errors/patch.js +0 -52
- package/dist/src/errors/rebase.d.ts +0 -42
- package/dist/src/errors/rebase.js +0 -71
- package/dist/src/errors/run.d.ts +0 -16
- package/dist/src/errors/run.js +0 -22
- package/dist/src/index.d.ts +0 -42
- package/dist/src/index.js +0 -32
- package/dist/src/types/cli.d.ts +0 -14
- package/dist/src/types/commands/index.d.ts +0 -6
- package/dist/src/types/commands/index.js +0 -5
- package/dist/src/types/commands/options.d.ts +0 -1367
- package/dist/src/types/commands/options.js +0 -5
- package/dist/src/types/commands/patches.d.ts +0 -352
- package/dist/src/types/commands/patches.js +0 -5
- package/dist/src/types/commands/project.d.ts +0 -51
- package/dist/src/types/commands/project.js +0 -5
- package/dist/src/types/config.d.ts +0 -703
- package/dist/src/types/config.js +0 -15
- package/dist/src/types/furnace.d.ts +0 -415
- package/dist/src/types/furnace.js +0 -26
- package/dist/src/types/index.d.ts +0 -5
- package/dist/src/types/index.js +0 -5
- package/dist/src/types/json.d.ts +0 -22
- package/dist/src/types/json.js +0 -11
- package/dist/src/types/typecheck.d.ts +0 -51
- package/dist/src/types/typecheck.js +0 -14
- package/dist/src/utils/assert.d.ts +0 -34
- package/dist/src/utils/assert.js +0 -61
- package/dist/src/utils/build-info.d.ts +0 -30
- package/dist/src/utils/build-info.js +0 -99
- package/dist/src/utils/child-env.d.ts +0 -28
- package/dist/src/utils/child-env.js +0 -27
- package/dist/src/utils/concurrency.d.ts +0 -8
- package/dist/src/utils/concurrency.js +0 -32
- package/dist/src/utils/elapsed.d.ts +0 -2
- package/dist/src/utils/elapsed.js +0 -23
- package/dist/src/utils/errors.d.ts +0 -39
- package/dist/src/utils/errors.js +0 -67
- package/dist/src/utils/fs.d.ts +0 -113
- package/dist/src/utils/fs.js +0 -337
- package/dist/src/utils/hash.d.ts +0 -12
- package/dist/src/utils/hash.js +0 -16
- package/dist/src/utils/line-dispatch.d.ts +0 -15
- package/dist/src/utils/line-dispatch.js +0 -48
- package/dist/src/utils/logger.d.ts +0 -109
- package/dist/src/utils/logger.js +0 -270
- package/dist/src/utils/machine-output.d.ts +0 -12
- package/dist/src/utils/machine-output.js +0 -33
- package/dist/src/utils/options.d.ts +0 -155
- package/dist/src/utils/options.js +0 -312
- package/dist/src/utils/package-root.d.ts +0 -21
- package/dist/src/utils/package-root.js +0 -70
- package/dist/src/utils/parse.d.ts +0 -117
- package/dist/src/utils/parse.js +0 -214
- package/dist/src/utils/path-glob.d.ts +0 -15
- package/dist/src/utils/path-glob.js +0 -47
- package/dist/src/utils/paths.d.ts +0 -31
- package/dist/src/utils/paths.js +0 -80
- package/dist/src/utils/platform.d.ts +0 -9
- package/dist/src/utils/platform.js +0 -14
- package/dist/src/utils/process-group.d.ts +0 -42
- package/dist/src/utils/process-group.js +0 -190
- package/dist/src/utils/process-input.d.ts +0 -27
- package/dist/src/utils/process-input.js +0 -46
- package/dist/src/utils/process.d.ts +0 -293
- package/dist/src/utils/process.js +0 -593
- package/dist/src/utils/ps-duration.d.ts +0 -31
- package/dist/src/utils/ps-duration.js +0 -70
- package/dist/src/utils/regex.d.ts +0 -39
- package/dist/src/utils/regex.js +0 -109
- package/dist/src/utils/sleep.d.ts +0 -25
- package/dist/src/utils/sleep.js +0 -30
- package/dist/src/utils/stdio-drain.d.ts +0 -28
- package/dist/src/utils/stdio-drain.js +0 -54
- package/dist/src/utils/validation.d.ts +0 -182
- package/dist/src/utils/validation.js +0 -394
- package/docs/lifecycle-invariants.md +0 -523
- package/docs/run-logs.md +0 -122
- package/docs/verification-trees.md +0 -49
- /package/dist/src/{types/cli.js → cli/context.js} +0 -0
|
@@ -1,295 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { join } from 'node:path';
|
|
3
|
-
import { pathExists, readText } from '../utils/fs.js';
|
|
4
|
-
import { escapeRegex, hasRawCssColors } from '../utils/regex.js';
|
|
5
|
-
import { getProjectPaths } from './config.js';
|
|
6
|
-
import { createIssue } from './furnace-validate-helpers.js';
|
|
7
|
-
async function validateMjsCompatibility(mjsPath, tagName, isLibrary) {
|
|
8
|
-
if (!(await pathExists(mjsPath)))
|
|
9
|
-
return [];
|
|
10
|
-
const mjsContent = await readText(mjsPath);
|
|
11
|
-
const issues = [];
|
|
12
|
-
if (hasRelativeModuleImport(mjsContent)) {
|
|
13
|
-
issues.push(createIssue(tagName, 'error', 'relative-import', 'Imports must use chrome:// URIs, not relative paths.'));
|
|
14
|
-
}
|
|
15
|
-
// A library component (kind: "library") deliberately defines no element:
|
|
16
|
-
// it exports a base class + helpers for other components to extend, so
|
|
17
|
-
// the define/extends requirements do not apply.
|
|
18
|
-
if (isLibrary) {
|
|
19
|
-
return issues;
|
|
20
|
-
}
|
|
21
|
-
if (!hasCustomElementDefineCall(mjsContent)) {
|
|
22
|
-
issues.push(createIssue(tagName, 'error', 'no-custom-element-define', 'Missing customElements.define() call. Component will not be registered.'));
|
|
23
|
-
}
|
|
24
|
-
if (!classExtendsMozLitElement(mjsContent)) {
|
|
25
|
-
issues.push(createIssue(tagName, 'error', 'not-moz-lit-element', 'Component class must extend MozLitElement.'));
|
|
26
|
-
}
|
|
27
|
-
return issues;
|
|
28
|
-
}
|
|
29
|
-
async function validateCssCompatibility(cssPath, tagName, type, config, root) {
|
|
30
|
-
if (!(await pathExists(cssPath)))
|
|
31
|
-
return [];
|
|
32
|
-
const rawCss = await readText(cssPath);
|
|
33
|
-
const cssContent = stripCssBlockComments(rawCss);
|
|
34
|
-
const issues = [];
|
|
35
|
-
if (hasRawCssColors(cssContent)) {
|
|
36
|
-
issues.push(createIssue(tagName, 'error', 'raw-color-value', 'Raw color value found. Use CSS custom properties (var(--...)) for design token consistency.'));
|
|
37
|
-
}
|
|
38
|
-
if (config?.tokenPrefix) {
|
|
39
|
-
const { allowlist, inheritedOverrideVars, runtimeVariables } = await getTokenPrefixContext(tagName, type, config, root);
|
|
40
|
-
// Auto-exempt component-local runtime channels: a CSS custom property
|
|
41
|
-
// both declared and consumed in the same file is a runtime state
|
|
42
|
-
// channel (e.g. `--cam-x`), not a design-token reference. See
|
|
43
|
-
// `runtimeVariables` in furnace.json for cross-component cases.
|
|
44
|
-
const localDeclarations = collectCssVariableDeclarations(cssContent);
|
|
45
|
-
for (const prop of collectCssVariableReferences(cssContent)) {
|
|
46
|
-
if (prop.startsWith(config.tokenPrefix))
|
|
47
|
-
continue;
|
|
48
|
-
if (allowlist.has(prop))
|
|
49
|
-
continue;
|
|
50
|
-
if (inheritedOverrideVars.has(prop))
|
|
51
|
-
continue;
|
|
52
|
-
if (runtimeVariables.has(prop))
|
|
53
|
-
continue;
|
|
54
|
-
if (localDeclarations.has(prop))
|
|
55
|
-
continue;
|
|
56
|
-
issues.push(createIssue(tagName, 'error', 'token-prefix-violation', `CSS references var(${prop}) which does not match the required token prefix "${config.tokenPrefix}". Use a design token, add to tokenAllowlist, or (for runtime state channels) list the variable in runtimeVariables.`));
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
// Flag excessive !important usage
|
|
60
|
-
const importantCount = (cssContent.match(/!important/g) ?? []).length;
|
|
61
|
-
if (importantCount > 3) {
|
|
62
|
-
issues.push(createIssue(tagName, 'warning', 'excessive-important', `Found ${importantCount} uses of !important. Minimize !important to avoid specificity issues; prefer structural CSS changes.`));
|
|
63
|
-
}
|
|
64
|
-
// Check for animations without prefers-reduced-motion
|
|
65
|
-
if (/(?:animation|transition)\s*:/m.test(cssContent) &&
|
|
66
|
-
!/@media\s*\(\s*prefers-reduced-motion/m.test(rawCss)) {
|
|
67
|
-
issues.push(createIssue(tagName, 'warning', 'missing-reduced-motion', 'CSS uses animation or transition without a prefers-reduced-motion media query. Add one for accessibility.'));
|
|
68
|
-
}
|
|
69
|
-
// Check for prefers-color-scheme without design token usage
|
|
70
|
-
if (/@media\s*\(\s*prefers-color-scheme/m.test(rawCss)) {
|
|
71
|
-
issues.push(createIssue(tagName, 'warning', 'prefers-color-scheme', 'CSS contains a prefers-color-scheme media query. Prefer using design tokens (CSS custom properties) for theming consistency.'));
|
|
72
|
-
}
|
|
73
|
-
return issues;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Checks whether a tag name appears in an HTML template context (as an element
|
|
77
|
-
* tag in a template literal) or as a CSS tag selector. Substring matches in
|
|
78
|
-
* string literals, comments, or variable names are excluded.
|
|
79
|
-
*/
|
|
80
|
-
function isReferencedAsElement(source, tagName) {
|
|
81
|
-
// Match as an HTML element: <tagName or </tagName
|
|
82
|
-
const htmlPattern = new RegExp(`</?${escapeRegex(tagName)}[\\s/>]`);
|
|
83
|
-
if (htmlPattern.test(source))
|
|
84
|
-
return true;
|
|
85
|
-
// Match as a CSS tag selector: standalone word at start of line or after combinators
|
|
86
|
-
const cssPattern = new RegExp(`(?:^|[\\s,>+~])${escapeRegex(tagName)}(?:[\\s,{:>+~.[#]|$)`, 'm');
|
|
87
|
-
if (cssPattern.test(source))
|
|
88
|
-
return true;
|
|
89
|
-
// Also accept querySelector/querySelectorAll('tagName') as intentional usage
|
|
90
|
-
const querySelectorPattern = new RegExp(`querySelector(?:All)?\\(\\s*["'\`]${escapeRegex(tagName)}(?:[\\s"'\`.,>+~:[#])`);
|
|
91
|
-
if (querySelectorPattern.test(source))
|
|
92
|
-
return true;
|
|
93
|
-
return false;
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Validates that composed tags declared in furnace.json are actually referenced
|
|
97
|
-
* in the component's source (.mjs and .css) in an HTML template or CSS context.
|
|
98
|
-
* A compose entry that is not referenced as an element tag is likely a metadata
|
|
99
|
-
* error.
|
|
100
|
-
*/
|
|
101
|
-
async function validateComposeReferences(componentDir, tagName, composes) {
|
|
102
|
-
if (composes.length === 0)
|
|
103
|
-
return [];
|
|
104
|
-
const issues = [];
|
|
105
|
-
const mjsPath = join(componentDir, `${tagName}.mjs`);
|
|
106
|
-
const cssPath = join(componentDir, `${tagName}.css`);
|
|
107
|
-
let mjsContent = '';
|
|
108
|
-
let cssContent = '';
|
|
109
|
-
if (await pathExists(mjsPath)) {
|
|
110
|
-
mjsContent = await readText(mjsPath);
|
|
111
|
-
}
|
|
112
|
-
if (await pathExists(cssPath)) {
|
|
113
|
-
cssContent = await readText(cssPath);
|
|
114
|
-
}
|
|
115
|
-
const combinedSource = mjsContent + cssContent;
|
|
116
|
-
for (const composed of composes) {
|
|
117
|
-
if (!isReferencedAsElement(combinedSource, composed)) {
|
|
118
|
-
issues.push(createIssue(tagName, 'warning', 'compose-not-referenced', `Declares composition of "${composed}" but no HTML template or CSS selector reference found in source files. Remove the entry from composes or add a reference.`));
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
return issues;
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Validates compatibility patterns in a component's .mjs and .css files.
|
|
125
|
-
* Checks imports, class hierarchy, registration, design tokens, and compose references.
|
|
126
|
-
*/
|
|
127
|
-
export async function validateCompatibility(componentDir, tagName, type, config, root) {
|
|
128
|
-
const issues = [];
|
|
129
|
-
const mjsPath = join(componentDir, `${tagName}.mjs`);
|
|
130
|
-
const cssPath = join(componentDir, `${tagName}.css`);
|
|
131
|
-
const isLibrary = type === 'custom' && config?.custom[tagName]?.kind === 'library';
|
|
132
|
-
const mjsIssues = await validateMjsCompatibility(mjsPath, tagName, isLibrary);
|
|
133
|
-
issues.push(...mjsIssues);
|
|
134
|
-
const cssIssues = await validateCssCompatibility(cssPath, tagName, type, config, root);
|
|
135
|
-
issues.push(...cssIssues);
|
|
136
|
-
// Compose reference validation (custom components only)
|
|
137
|
-
if (type === 'custom' && config) {
|
|
138
|
-
const customConfig = config.custom[tagName];
|
|
139
|
-
if (customConfig?.composes && customConfig.composes.length > 0) {
|
|
140
|
-
issues.push(...(await validateComposeReferences(componentDir, tagName, customConfig.composes)));
|
|
141
|
-
// Warn when a composed component is not registered in furnace.json
|
|
142
|
-
const allKnown = new Set([
|
|
143
|
-
...config.stock,
|
|
144
|
-
...Object.keys(config.overrides),
|
|
145
|
-
...Object.keys(config.custom),
|
|
146
|
-
]);
|
|
147
|
-
for (const composed of customConfig.composes) {
|
|
148
|
-
if (!allKnown.has(composed)) {
|
|
149
|
-
issues.push(createIssue(tagName, 'warning', 'compose-not-registered', `Composes "${composed}" which is not registered in furnace.json. ` +
|
|
150
|
-
'The dependency may be missing at runtime. Add it as stock, override, or custom.'));
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
return issues;
|
|
156
|
-
}
|
|
157
|
-
/** Removes CSS block comments before running simple string-based checks. */
|
|
158
|
-
function stripCssBlockComments(content) {
|
|
159
|
-
return content.replace(/\/\*[\s\S]*?\*\//g, '');
|
|
160
|
-
}
|
|
161
|
-
/** Detects relative ES module imports in a component module file. */
|
|
162
|
-
function hasRelativeModuleImport(mjsContent) {
|
|
163
|
-
return (/^\s*import\s.*from\s+["']\.\.?\//m.test(mjsContent) ||
|
|
164
|
-
/^\s*import\s+["']\.\.?\//m.test(mjsContent));
|
|
165
|
-
}
|
|
166
|
-
/** Detects whether a module defines a custom element at runtime. */
|
|
167
|
-
function hasCustomElementDefineCall(mjsContent) {
|
|
168
|
-
return /customElements\.define\s*\(/.test(mjsContent);
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Detects whether the module's `customElements.define(...)` call includes a
|
|
172
|
-
* literal `extends:` option (third argument). That shape is the marker for
|
|
173
|
-
* a customized built-in element: the class extends a specific
|
|
174
|
-
* `HTMLxxxElement` rather than the autonomous `MozLitElement` path.
|
|
175
|
-
*
|
|
176
|
-
* Firefox's own widgets use this pattern for toolkit anchors (e.g.
|
|
177
|
-
* `moz-support-link` extends `HTMLAnchorElement` with
|
|
178
|
-
* `customElements.define("moz-support-link", ..., { extends: "a" })`), and
|
|
179
|
-
* the validator's `not-moz-lit-element` check must allow them through or
|
|
180
|
-
* `furnace override` of a valid upstream component fails its own
|
|
181
|
-
* `furnace validate` pass with nothing the operator can fix.
|
|
182
|
-
*/
|
|
183
|
-
function hasCustomElementExtendsOption(mjsContent) {
|
|
184
|
-
// Match `customElements.define(..., { ..., extends: "..." })`. Tolerant of
|
|
185
|
-
// whitespace, line breaks, and other object properties. The `[^)]*` stops
|
|
186
|
-
// the inner greedy match at the closing define call paren so a later
|
|
187
|
-
// `define` call on a different custom element in the same module does
|
|
188
|
-
// not bleed its options in.
|
|
189
|
-
return /customElements\.define\s*\([^)]*\bextends\s*:\s*["'`]/.test(mjsContent);
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Checks whether a declared component class extends a valid element base.
|
|
193
|
-
*
|
|
194
|
-
* Two shapes are accepted:
|
|
195
|
-
*
|
|
196
|
-
* 1. Autonomous custom element: `class X extends MozLitElement`, the
|
|
197
|
-
* default FireForge pattern for fork-authored components and most
|
|
198
|
-
* toolkit widgets.
|
|
199
|
-
* 2. Customized built-in: `class X extends HTML<Something>Element` paired
|
|
200
|
-
* with a `customElements.define(..., ..., { extends: "<tagname>" })`
|
|
201
|
-
* call. Firefox's `moz-support-link`, `moz-button-group` tabbing
|
|
202
|
-
* widgets, and a handful of other toolkit components use this form.
|
|
203
|
-
* `furnace override` of those components writes the original source
|
|
204
|
-
* verbatim and the validator must not reject them.
|
|
205
|
-
*
|
|
206
|
-
* A class that extends a plain `HTMLElement` without an `extends:` option
|
|
207
|
-
* is still rejected. That is the legitimate `not-moz-lit-element` case
|
|
208
|
-
* the rule was originally designed to catch.
|
|
209
|
-
*/
|
|
210
|
-
function classExtendsMozLitElement(mjsContent) {
|
|
211
|
-
const hasClassDeclaration = /class\s+\w+\s+extends\s+/.test(mjsContent);
|
|
212
|
-
if (!hasClassDeclaration) {
|
|
213
|
-
// No class declaration, so skip this check since the component may use a
|
|
214
|
-
// different pattern (e.g. function-based). Other validators will catch
|
|
215
|
-
// structural issues.
|
|
216
|
-
return true;
|
|
217
|
-
}
|
|
218
|
-
if (/class\s+\w+\s+extends\s+MozLitElement\b/.test(mjsContent)) {
|
|
219
|
-
return true;
|
|
220
|
-
}
|
|
221
|
-
// Customized built-in: extend a specific HTMLxxxElement and the define
|
|
222
|
-
// call carries an `extends:` option. Both halves are required: a class
|
|
223
|
-
// that extends `HTMLAnchorElement` without the matching define option is
|
|
224
|
-
// almost certainly an author mistake, and a define call with `extends:`
|
|
225
|
-
// without a matching class is unreachable.
|
|
226
|
-
const extendsCustomizedBuiltin = /class\s+\w+\s+extends\s+HTML[A-Z]\w*Element\b/.test(mjsContent);
|
|
227
|
-
if (extendsCustomizedBuiltin && hasCustomElementExtendsOption(mjsContent)) {
|
|
228
|
-
return true;
|
|
229
|
-
}
|
|
230
|
-
return false;
|
|
231
|
-
}
|
|
232
|
-
/** Collects CSS custom property references used via var(--token-name). */
|
|
233
|
-
function collectCssVariableReferences(cssContent) {
|
|
234
|
-
const referencedVariables = [];
|
|
235
|
-
const variablePattern = /var\(\s*(--[\w-]+)/g;
|
|
236
|
-
let match;
|
|
237
|
-
while ((match = variablePattern.exec(cssContent)) !== null) {
|
|
238
|
-
const variableName = match[1];
|
|
239
|
-
if (variableName) {
|
|
240
|
-
referencedVariables.push(variableName);
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
return referencedVariables;
|
|
244
|
-
}
|
|
245
|
-
/**
|
|
246
|
-
* Collects CSS custom property *declarations*, i.e. names appearing on the
|
|
247
|
-
* left-hand side of a `--name:` declaration. Used to auto-exempt
|
|
248
|
-
* component-local runtime variables from the token-prefix check: if the
|
|
249
|
-
* component both declares and consumes a variable in its own CSS file, it
|
|
250
|
-
* is a local runtime channel, not a design-token reference.
|
|
251
|
-
*
|
|
252
|
-
* The anchor `(?:^|[{;,\s])` rules out `var(--name)` occurrences (which are
|
|
253
|
-
* always preceded by `(`), so references are not mistaken for declarations.
|
|
254
|
-
*/
|
|
255
|
-
function collectCssVariableDeclarations(cssContent) {
|
|
256
|
-
const declared = new Set();
|
|
257
|
-
const pattern = /(?:^|[{;,\s])(--[\w-]+)\s*:/g;
|
|
258
|
-
let match;
|
|
259
|
-
while ((match = pattern.exec(cssContent)) !== null) {
|
|
260
|
-
const name = match[1];
|
|
261
|
-
if (name)
|
|
262
|
-
declared.add(name);
|
|
263
|
-
}
|
|
264
|
-
return declared;
|
|
265
|
-
}
|
|
266
|
-
async function collectInheritedOverrideVariables(tagName, config, root) {
|
|
267
|
-
const inheritedVariables = new Set();
|
|
268
|
-
const basePath = config.overrides[tagName]?.basePath;
|
|
269
|
-
if (!basePath) {
|
|
270
|
-
return inheritedVariables;
|
|
271
|
-
}
|
|
272
|
-
const { engine: engineDir } = getProjectPaths(root);
|
|
273
|
-
const originalCssPath = join(engineDir, basePath, `${tagName}.css`);
|
|
274
|
-
if (!(await pathExists(originalCssPath))) {
|
|
275
|
-
return inheritedVariables;
|
|
276
|
-
}
|
|
277
|
-
const originalCssContent = stripCssBlockComments(await readText(originalCssPath));
|
|
278
|
-
for (const variableName of collectCssVariableReferences(originalCssContent)) {
|
|
279
|
-
inheritedVariables.add(variableName);
|
|
280
|
-
}
|
|
281
|
-
return inheritedVariables;
|
|
282
|
-
}
|
|
283
|
-
/** Builds token-validation context from the config allowlist and inherited override CSS. */
|
|
284
|
-
async function getTokenPrefixContext(tagName, type, config, root) {
|
|
285
|
-
const allowlist = new Set(config.tokenAllowlist ?? []);
|
|
286
|
-
const runtimeVariables = new Set(config.runtimeVariables ?? []);
|
|
287
|
-
if (type !== 'override' || !root) {
|
|
288
|
-
return { allowlist, inheritedOverrideVars: new Set(), runtimeVariables };
|
|
289
|
-
}
|
|
290
|
-
return {
|
|
291
|
-
allowlist,
|
|
292
|
-
inheritedOverrideVars: await collectInheritedOverrideVariables(tagName, config, root),
|
|
293
|
-
runtimeVariables,
|
|
294
|
-
};
|
|
295
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Applies `furnace.json#validationExceptions[]` to a `furnace validate`
|
|
3
|
-
* result. An exception suppresses every finding of its check on its
|
|
4
|
-
* component, or with `tag`, a finding whose element tags it (and its
|
|
5
|
-
* sibling tag entries) cover, or with `file`, a finding whose module files
|
|
6
|
-
* it (and its sibling file entries) cover. One that suppresses nothing is stale: the
|
|
7
|
-
* finding was fixed (or renamed) and the review record outlived it, so it
|
|
8
|
-
* is reported as a warning naming the entry to delete, which keeps the
|
|
9
|
-
* list honest under `--max-warnings 0`.
|
|
10
|
-
*
|
|
11
|
-
* An exception never suppresses an error: an error blocks apply, and a
|
|
12
|
-
* review record cannot make a broken component deployable. The error stays
|
|
13
|
-
* counted and the matching entry is reported as
|
|
14
|
-
* `validation-exception-on-error`.
|
|
15
|
-
*/
|
|
16
|
-
import type { FurnaceValidationException, ValidationIssue } from '../types/furnace.js';
|
|
17
|
-
/** The check name of the warning a stale exception produces. */
|
|
18
|
-
export declare const STALE_VALIDATION_EXCEPTION_CHECK = "stale-validation-exception";
|
|
19
|
-
/** The check name of the error an exception matching an error produces. */
|
|
20
|
-
export declare const EXCEPTION_ON_ERROR_CHECK = "validation-exception-on-error";
|
|
21
|
-
/** A finding an exception suppressed, with the exception's reason. */
|
|
22
|
-
export interface ExceptedValidationIssue extends ValidationIssue {
|
|
23
|
-
reason: string;
|
|
24
|
-
}
|
|
25
|
-
/** {@link applyValidationExceptions}'s result. */
|
|
26
|
-
export interface ValidationExceptionOutcome {
|
|
27
|
-
/** Findings that still count, stale-exception warnings included. */
|
|
28
|
-
issues: ValidationIssue[];
|
|
29
|
-
/** Findings an exception suppressed. */
|
|
30
|
-
excepted: ExceptedValidationIssue[];
|
|
31
|
-
/** Exceptions that matched no finding of a component this run judged. */
|
|
32
|
-
stale: FurnaceValidationException[];
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Splits findings into counted and excepted, and reports stale exceptions.
|
|
36
|
-
*
|
|
37
|
-
* @param issues - Every finding of the run
|
|
38
|
-
* @param exceptions - `furnace.json#validationExceptions`
|
|
39
|
-
* @param judged - Whether the run judged an exception's component. A run
|
|
40
|
-
* scoped to one component cannot call another component's exception
|
|
41
|
-
* stale, while the full run judges them all (including components
|
|
42
|
-
* furnace.json no longer declares)
|
|
43
|
-
*/
|
|
44
|
-
export declare function applyValidationExceptions(issues: readonly ValidationIssue[], exceptions: readonly FurnaceValidationException[] | undefined, judged: (component: string) => boolean): ValidationExceptionOutcome;
|
|
45
|
-
/** Counts error- and warning-severity findings. */
|
|
46
|
-
export declare function countValidationSeverities(issues: readonly ValidationIssue[]): {
|
|
47
|
-
errors: number;
|
|
48
|
-
warnings: number;
|
|
49
|
-
};
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { createIssue } from './furnace-validate-helpers.js';
|
|
2
|
-
/** The check name of the warning a stale exception produces. */
|
|
3
|
-
export const STALE_VALIDATION_EXCEPTION_CHECK = 'stale-validation-exception';
|
|
4
|
-
/** The check name of the error an exception matching an error produces. */
|
|
5
|
-
export const EXCEPTION_ON_ERROR_CHECK = 'validation-exception-on-error';
|
|
6
|
-
function matches(exception, issue) {
|
|
7
|
-
return exception.component === issue.component && exception.check === issue.check;
|
|
8
|
-
}
|
|
9
|
-
/** An exception's narrowing: the finding field it reads and its value. */
|
|
10
|
-
function scopeOf(entry) {
|
|
11
|
-
if (entry.tag !== undefined)
|
|
12
|
-
return { key: 'tags', value: entry.tag };
|
|
13
|
-
if (entry.file !== undefined)
|
|
14
|
-
return { key: 'files', value: entry.file };
|
|
15
|
-
return undefined;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* The exceptions that suppress a warning: an unscoped one alone, or scoped
|
|
19
|
-
* ones that together cover every tag (or every file) the finding names.
|
|
20
|
-
*/
|
|
21
|
-
function coveringExceptions(issue, candidates) {
|
|
22
|
-
const unscoped = candidates.find((entry) => scopeOf(entry) === undefined);
|
|
23
|
-
if (unscoped !== undefined)
|
|
24
|
-
return [unscoped];
|
|
25
|
-
for (const key of ['tags', 'files']) {
|
|
26
|
-
const named = issue[key] ?? [];
|
|
27
|
-
if (named.length === 0)
|
|
28
|
-
continue;
|
|
29
|
-
const covering = named.map((value) => candidates.find((entry) => {
|
|
30
|
-
const scope = scopeOf(entry);
|
|
31
|
-
return scope?.key === key && scope.value === value;
|
|
32
|
-
}));
|
|
33
|
-
if (covering.every((entry) => entry !== undefined))
|
|
34
|
-
return [...new Set(covering)];
|
|
35
|
-
}
|
|
36
|
-
return [];
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Splits findings into counted and excepted, and reports stale exceptions.
|
|
40
|
-
*
|
|
41
|
-
* @param issues - Every finding of the run
|
|
42
|
-
* @param exceptions - `furnace.json#validationExceptions`
|
|
43
|
-
* @param judged - Whether the run judged an exception's component. A run
|
|
44
|
-
* scoped to one component cannot call another component's exception
|
|
45
|
-
* stale, while the full run judges them all (including components
|
|
46
|
-
* furnace.json no longer declares)
|
|
47
|
-
*/
|
|
48
|
-
export function applyValidationExceptions(issues, exceptions, judged) {
|
|
49
|
-
const outcome = { issues: [], excepted: [], stale: [] };
|
|
50
|
-
const list = exceptions ?? [];
|
|
51
|
-
const used = new Set();
|
|
52
|
-
const onError = new Set();
|
|
53
|
-
for (const issue of issues) {
|
|
54
|
-
const candidates = list.filter((entry) => matches(entry, issue));
|
|
55
|
-
if (issue.severity === 'error') {
|
|
56
|
-
for (const entry of candidates) {
|
|
57
|
-
used.add(entry);
|
|
58
|
-
onError.add(entry);
|
|
59
|
-
}
|
|
60
|
-
outcome.issues.push(issue);
|
|
61
|
-
continue;
|
|
62
|
-
}
|
|
63
|
-
const covering = coveringExceptions(issue, candidates);
|
|
64
|
-
if (covering.length === 0) {
|
|
65
|
-
// A scoped exception that covers some of the tags (or files) is not
|
|
66
|
-
// stale: its element still carries the finding, beside one it does
|
|
67
|
-
// not cover.
|
|
68
|
-
for (const entry of candidates) {
|
|
69
|
-
const scope = scopeOf(entry);
|
|
70
|
-
if (scope !== undefined && issue[scope.key]?.includes(scope.value) === true) {
|
|
71
|
-
used.add(entry);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
outcome.issues.push(issue);
|
|
75
|
-
continue;
|
|
76
|
-
}
|
|
77
|
-
for (const entry of covering)
|
|
78
|
-
used.add(entry);
|
|
79
|
-
outcome.excepted.push({ ...issue, reason: covering.map((entry) => entry.reason).join('; ') });
|
|
80
|
-
}
|
|
81
|
-
for (const exception of onError) {
|
|
82
|
-
outcome.issues.push(createIssue(exception.component, 'error', EXCEPTION_ON_ERROR_CHECK, `furnace.json validationExceptions entry for [${exception.check}] matches an error, ` +
|
|
83
|
-
'which an exception cannot suppress. Fix the error, then delete the entry.'));
|
|
84
|
-
}
|
|
85
|
-
for (const exception of list) {
|
|
86
|
-
if (used.has(exception) || !judged(exception.component))
|
|
87
|
-
continue;
|
|
88
|
-
outcome.stale.push(exception);
|
|
89
|
-
outcome.issues.push(createIssue(exception.component, 'warning', STALE_VALIDATION_EXCEPTION_CHECK, `furnace.json validationExceptions entry for [${exception.check}] matches no finding. ` +
|
|
90
|
-
'Delete the entry: the finding it records is gone.'));
|
|
91
|
-
}
|
|
92
|
-
return outcome;
|
|
93
|
-
}
|
|
94
|
-
/** Counts error- and warning-severity findings. */
|
|
95
|
-
export function countValidationSeverities(issues) {
|
|
96
|
-
const errors = issues.filter((issue) => issue.severity === 'error').length;
|
|
97
|
-
return { errors, warnings: issues.length - errors };
|
|
98
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The one genuinely shared helper across the furnace validators. Every other
|
|
3
|
-
* helper lives with the single validator that uses it.
|
|
4
|
-
*/
|
|
5
|
-
import type { ValidationIssue } from '../types/furnace.js';
|
|
6
|
-
/** Creates a normalized validation issue object. */
|
|
7
|
-
export declare function createIssue(component: string, severity: ValidationIssue['severity'], check: ValidationIssue['check'], message: string): ValidationIssue;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Counts icon-only `<moz-button>` elements in the module's Lit templates
|
|
3
|
-
* that carry neither `data-l10n-id` nor `aria-label`.
|
|
4
|
-
*
|
|
5
|
-
* @param content - The component module's source
|
|
6
|
-
*/
|
|
7
|
-
export declare function countUnlabelledIconButtons(content: string): number;
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* The opt-in `icon-button-label` check (`furnace.json#optInChecks`): an
|
|
4
|
-
* icon-only `<moz-button>` has no visible text, so its accessible name has
|
|
5
|
-
* to come from `data-l10n-id` (whose FTL message carries the label or
|
|
6
|
-
* `.aria-label`) or from `aria-label`. Without one, screen readers announce
|
|
7
|
-
* just "button".
|
|
8
|
-
*
|
|
9
|
-
* Scans the Lit `html` templates of the component module only. A button
|
|
10
|
-
* built with `document.createElement` is not seen.
|
|
11
|
-
*/
|
|
12
|
-
import { collectLitTemplateRegions, parseTemplateAttributes } from './lit-template-regions.js';
|
|
13
|
-
/**
|
|
14
|
-
* Attributes (and their Lit property-binding spellings) that give the
|
|
15
|
-
* button an accessible name. `parseTemplateAttributes` lowercases names,
|
|
16
|
-
* so `.ariaLabel=${…}` arrives as `.arialabel`.
|
|
17
|
-
*/
|
|
18
|
-
const NAMING_ATTRIBUTES = ['data-l10n-id', 'aria-label', '.arialabel'];
|
|
19
|
-
/** Attributes that give the button a visible label, so it is not icon-only. */
|
|
20
|
-
const LABEL_ATTRIBUTES = ['label', '.label'];
|
|
21
|
-
/**
|
|
22
|
-
* Whether the button's content has a non-blank character outside tags.
|
|
23
|
-
* Scans instead of stripping tags, so nested or unbalanced markup cannot
|
|
24
|
-
* leave a fragment behind that reads as text, and a `>` inside a quoted
|
|
25
|
-
* attribute value does not end its tag.
|
|
26
|
-
*/
|
|
27
|
-
function hasVisibleText(markup) {
|
|
28
|
-
let inTag = false;
|
|
29
|
-
let quote;
|
|
30
|
-
for (const char of markup) {
|
|
31
|
-
if (quote !== undefined) {
|
|
32
|
-
if (char === quote)
|
|
33
|
-
quote = undefined;
|
|
34
|
-
}
|
|
35
|
-
else if (inTag) {
|
|
36
|
-
if (char === '"' || char === "'")
|
|
37
|
-
quote = char;
|
|
38
|
-
else if (char === '>')
|
|
39
|
-
inTag = false;
|
|
40
|
-
}
|
|
41
|
-
else if (char === '<') {
|
|
42
|
-
inTag = true;
|
|
43
|
-
}
|
|
44
|
-
else if (char.trim() !== '') {
|
|
45
|
-
return true;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
function isIconOnly(attrs, innerText) {
|
|
51
|
-
if (LABEL_ATTRIBUTES.some((name) => attrs.has(name)))
|
|
52
|
-
return false;
|
|
53
|
-
if (hasVisibleText(innerText))
|
|
54
|
-
return false;
|
|
55
|
-
const type = attrs.get('type') ?? '';
|
|
56
|
-
return attrs.has('iconsrc') || attrs.has('.iconsrc') || /(^|\s)icon(\s|$)/.test(type);
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Counts icon-only `<moz-button>` elements in the module's Lit templates
|
|
60
|
-
* that carry neither `data-l10n-id` nor `aria-label`.
|
|
61
|
-
*
|
|
62
|
-
* @param content - The component module's source
|
|
63
|
-
*/
|
|
64
|
-
export function countUnlabelledIconButtons(content) {
|
|
65
|
-
let count = 0;
|
|
66
|
-
for (const region of collectLitTemplateRegions(content)) {
|
|
67
|
-
const pattern = /<moz-button\b((?:"[^"]*"|'[^']*'|[^'">])*)>([\s\S]*?)<\/moz-button>/gi;
|
|
68
|
-
for (const match of region.matchAll(pattern)) {
|
|
69
|
-
const attrs = parseTemplateAttributes(match[1] ?? '');
|
|
70
|
-
if (!isIconOnly(attrs, match[2] ?? ''))
|
|
71
|
-
continue;
|
|
72
|
-
if (NAMING_ATTRIBUTES.some((name) => attrs.has(name)))
|
|
73
|
-
continue;
|
|
74
|
-
count++;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return count;
|
|
78
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import type { CustomComponentConfig, FurnaceConfig, RegistrationStatus, StepError, ValidationIssue } from '../types/furnace.js';
|
|
2
|
-
/**
|
|
3
|
-
* Validates that all Furnace-managed .mjs components are registered in the
|
|
4
|
-
* DOMContentLoaded/importESModule block (Pattern B), not the loadSubScript
|
|
5
|
-
* block (Pattern A).
|
|
6
|
-
*
|
|
7
|
-
* @param root - Project root directory
|
|
8
|
-
* @param config - Furnace configuration
|
|
9
|
-
* @returns Array of validation issues for mis-placed registrations
|
|
10
|
-
*/
|
|
11
|
-
export declare function validateRegistrationPatterns(root: string, config: FurnaceConfig): Promise<ValidationIssue[]>;
|
|
12
|
-
/**
|
|
13
|
-
* Checks registration consistency for a single custom component.
|
|
14
|
-
*
|
|
15
|
-
* Compares source files, engine target files, jar.mn entries, and
|
|
16
|
-
* customElements.js registration for a given component.
|
|
17
|
-
*
|
|
18
|
-
* @param root - Project root directory
|
|
19
|
-
* @param name - Component tag name
|
|
20
|
-
* @param config - Custom component configuration
|
|
21
|
-
* @returns Registration status with per-check booleans and drift info
|
|
22
|
-
*/
|
|
23
|
-
export declare function checkRegistrationConsistency(root: string, name: string, config: CustomComponentConfig, ftlDir?: string): Promise<RegistrationStatus>;
|
|
24
|
-
/**
|
|
25
|
-
* Validates that each custom component with `register: true` has its .mjs and
|
|
26
|
-
* .css entries in jar.mn.
|
|
27
|
-
*
|
|
28
|
-
* @param root - Project root directory
|
|
29
|
-
* @param config - Furnace configuration
|
|
30
|
-
* @returns Array of validation issues for missing jar.mn entries
|
|
31
|
-
*/
|
|
32
|
-
export declare function validateJarMnEntries(root: string, config: FurnaceConfig): Promise<ValidationIssue[]>;
|
|
33
|
-
/**
|
|
34
|
-
* Runs `body` with the per-run caches enabled, then clears them.
|
|
35
|
-
*
|
|
36
|
-
* @param body - The batch to run
|
|
37
|
-
* @returns Whatever `body` resolves to
|
|
38
|
-
*/
|
|
39
|
-
export declare function withRegistrationValidationCache<T>(body: () => Promise<T>): Promise<T>;
|
|
40
|
-
/**
|
|
41
|
-
* Validates that components using design tokens have the tokens CSS
|
|
42
|
-
* linked in at least one chrome host document. Without the link, tokens
|
|
43
|
-
* silently resolve to nothing at runtime.
|
|
44
|
-
*
|
|
45
|
-
* Scan set is the union of (a) the configured `tokenHostDocuments` (or
|
|
46
|
-
* the upstream default when unset) and (b) any `browser/base/content/*.xhtml`
|
|
47
|
-
* document that references `tagName`. The auto-detection path catches
|
|
48
|
-
* forks that mount components from a replacement chrome document without
|
|
49
|
-
* having configured `tokenHostDocuments`. The warning fires only when
|
|
50
|
-
* none of the documents in the final scan set link the tokens CSS.
|
|
51
|
-
*/
|
|
52
|
-
export declare function validateTokenLink(componentDir: string, tagName: string, root: string, tokenPrefix?: string, tokenHostDocuments?: string[]): Promise<ValidationIssue[]>;
|
|
53
|
-
/**
|
|
54
|
-
* Post-apply registration consistency check for custom components.
|
|
55
|
-
*
|
|
56
|
-
* Detects customElements.js / jar.mn inconsistencies caused by a partial
|
|
57
|
-
* apply. Errors are surfaced as step-level warnings on the affected
|
|
58
|
-
* component rather than blocking the entire apply.
|
|
59
|
-
*/
|
|
60
|
-
export declare function runPostApplyConsistencyChecks(root: string, config: {
|
|
61
|
-
custom: Record<string, CustomComponentConfig>;
|
|
62
|
-
}, result: {
|
|
63
|
-
applied: Array<{
|
|
64
|
-
name: string;
|
|
65
|
-
stepErrors?: StepError[];
|
|
66
|
-
}>;
|
|
67
|
-
}, ftlDir: string): Promise<void>;
|