@hominis/fireforge 0.55.0 → 0.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +233 -6
- package/README.md +51 -17
- package/dist/bin/fireforge.js +34 -129
- package/dist/build-info.json +4 -4
- package/dist/src/check/check.js +394 -0
- package/dist/src/check/gate.js +448 -0
- package/dist/src/check/index.js +10 -0
- package/dist/src/check/record.js +155 -0
- package/dist/src/cli/command.js +286 -0
- package/dist/src/cli/output.js +96 -0
- package/dist/src/cli/program.js +231 -0
- package/dist/src/cli/stdio.js +59 -0
- package/dist/src/cli/version.js +99 -0
- package/dist/src/commands/bootstrap.js +17 -102
- package/dist/src/commands/build.js +34 -456
- package/dist/src/commands/check.js +44 -157
- package/dist/src/commands/config.js +50 -226
- package/dist/src/commands/discard.js +38 -215
- package/dist/src/commands/doctor.js +29 -456
- package/dist/src/commands/download.js +35 -499
- package/dist/src/commands/export.js +42 -431
- package/dist/src/commands/furnace.js +220 -0
- package/dist/src/commands/gate.js +127 -0
- package/dist/src/commands/import.js +44 -445
- package/dist/src/commands/index.js +86 -0
- package/dist/src/commands/lint.js +44 -546
- package/dist/src/commands/merge-driver.js +56 -0
- package/dist/src/commands/migrate.js +75 -0
- package/dist/src/commands/override.js +43 -0
- package/dist/src/commands/package.js +48 -77
- package/dist/src/commands/patch.js +221 -0
- package/dist/src/commands/re-export.js +55 -359
- package/dist/src/commands/rebase.js +69 -0
- package/dist/src/commands/register.js +62 -103
- package/dist/src/commands/reset.js +28 -91
- package/dist/src/commands/resolve.js +20 -167
- package/dist/src/commands/restore.js +19 -0
- package/dist/src/commands/run.js +60 -382
- package/dist/src/commands/setup.js +78 -90
- package/dist/src/commands/status.js +44 -413
- package/dist/src/commands/test.js +97 -423
- package/dist/src/commands/token.js +185 -228
- package/dist/src/commands/typecheck.js +59 -241
- package/dist/src/commands/verify.js +28 -334
- package/dist/src/commands/version.js +14 -0
- package/dist/src/commands/watch.js +20 -218
- package/dist/src/commands/wire.js +60 -349
- package/dist/src/commands/workspace.js +117 -0
- package/dist/src/config/edit.js +237 -0
- package/dist/src/config/index.js +15 -0
- package/dist/src/config/load.js +59 -0
- package/dist/src/config/previous.js +404 -0
- package/dist/src/config/schema/build.js +63 -0
- package/dist/src/config/schema/check.js +113 -0
- package/dist/src/config/schema/common.js +71 -0
- package/dist/src/config/schema/export-queue.js +36 -0
- package/dist/src/config/schema/firefox.js +69 -0
- package/dist/src/config/schema/gate.js +199 -0
- package/dist/src/config/schema/identity.js +55 -0
- package/dist/src/config/schema/index.js +45 -0
- package/dist/src/config/schema/lint.js +297 -0
- package/dist/src/config/schema/policy.js +111 -0
- package/dist/src/config/schema/source.js +90 -0
- package/dist/src/config/schema/test.js +17 -0
- package/dist/src/config/schema/toolchains.js +17 -0
- package/dist/src/config/schema/typecheck.js +29 -0
- package/dist/src/config/schema/wire.js +15 -0
- package/dist/src/diff/apply.js +129 -0
- package/dist/src/diff/index.js +16 -0
- package/dist/src/diff/model.js +267 -0
- package/dist/src/diff/query.js +65 -0
- package/dist/src/doctor/index.js +240 -0
- package/dist/src/engine/archive.js +396 -0
- package/dist/src/engine/audit.js +66 -0
- package/dist/src/engine/build.js +150 -0
- package/dist/src/engine/hostLocks.js +66 -0
- package/dist/src/engine/index.js +26 -0
- package/dist/src/engine/installManifests.js +147 -0
- package/dist/src/engine/mach.js +97 -0
- package/dist/src/engine/machHints.js +80 -0
- package/dist/src/engine/mozconfig.js +110 -0
- package/dist/src/engine/objdir.js +124 -0
- package/dist/src/engine/package.js +169 -0
- package/dist/src/engine/pin.js +12 -0
- package/dist/src/engine/pool.js +423 -0
- package/dist/src/engine/pristine.js +281 -0
- package/dist/src/engine/python.js +68 -0
- package/dist/src/engine/resourceGuard.js +582 -0
- package/dist/src/engine/run.js +259 -0
- package/dist/src/engine/smoke.js +204 -0
- package/dist/src/engine/staleness.js +229 -0
- package/dist/src/engine/watch.js +82 -0
- package/dist/src/engine/workspace.js +85 -0
- package/dist/src/furnace/config.js +360 -0
- package/dist/src/furnace/deploy.js +414 -0
- package/dist/src/furnace/diff.js +59 -0
- package/dist/src/furnace/edit.js +64 -0
- package/dist/src/furnace/fragments.js +53 -0
- package/dist/src/furnace/index.js +19 -0
- package/dist/src/furnace/operations.js +283 -0
- package/dist/src/furnace/registration.js +220 -0
- package/dist/src/furnace/scaffold.js +311 -0
- package/dist/src/furnace/typing.js +252 -0
- package/dist/src/furnace/validate.js +662 -0
- package/dist/src/git/apply.js +129 -0
- package/dist/src/git/diff.js +143 -0
- package/dist/src/git/index.js +33 -0
- package/dist/src/git/objects.js +201 -0
- package/dist/src/git/refs.js +85 -0
- package/dist/src/git/repo.js +222 -0
- package/dist/src/git/run.js +242 -0
- package/dist/src/git/status.js +156 -0
- package/dist/src/kernel/errors.js +123 -0
- package/dist/src/kernel/fs.js +515 -0
- package/dist/src/kernel/glob.js +63 -0
- package/dist/src/kernel/hash.js +28 -0
- package/dist/src/kernel/journal.js +524 -0
- package/dist/src/kernel/json-edit.js +198 -0
- package/dist/src/kernel/json.js +101 -0
- package/dist/src/kernel/lock.js +589 -0
- package/dist/src/kernel/log.js +154 -0
- package/dist/src/kernel/process/identity.js +313 -0
- package/dist/src/kernel/process/index.js +8 -0
- package/dist/src/kernel/process/listing.js +128 -0
- package/dist/src/kernel/process/spawn.js +430 -0
- package/dist/src/kernel/process/tree.js +301 -0
- package/dist/src/kernel/schema.js +308 -0
- package/dist/src/kernel/signals.js +171 -0
- package/dist/src/kernel/text.js +151 -0
- package/dist/src/kernel/time.js +83 -0
- package/dist/src/kernel/tty.js +84 -0
- package/dist/src/lint/cache.js +77 -0
- package/dist/src/lint/checkjs.js +400 -0
- package/dist/src/lint/index.js +3 -0
- package/dist/src/lint/input.js +100 -0
- package/dist/src/lint/report.js +107 -0
- package/dist/src/lint/rule.js +41 -0
- package/dist/src/lint/rules/css.js +308 -0
- package/dist/src/lint/rules/javascript.js +299 -0
- package/dist/src/lint/rules/jsdoc.js +249 -0
- package/dist/src/lint/rules/license.js +93 -0
- package/dist/src/lint/rules/policy.js +201 -0
- package/dist/src/lint/rules/registration.js +264 -0
- package/dist/src/lint/rules/size.js +299 -0
- package/dist/src/lint/run.js +126 -0
- package/dist/src/lint/shim.js +323 -0
- package/dist/src/lint/typescript.js +186 -0
- package/dist/src/lint/waivers.js +93 -0
- package/dist/src/mode/changes.js +264 -0
- package/dist/src/mode/diagnose.js +173 -0
- package/dist/src/mode/export.js +147 -0
- package/dist/src/mode/index.js +23 -0
- package/dist/src/mode/migrate.js +181 -0
- package/dist/src/mode/previousWaivers.js +206 -0
- package/dist/src/mode/pristine.js +61 -0
- package/dist/src/mode/rebase.js +197 -0
- package/dist/src/mode/report.js +157 -0
- package/dist/src/mode/setup.js +103 -0
- package/dist/src/mode/tracked.js +116 -0
- package/dist/src/mode/upgrade.js +281 -0
- package/dist/src/mode/watch.js +83 -0
- package/dist/src/mode/workspace.js +189 -0
- package/dist/src/mozbuild/index.js +6 -0
- package/dist/src/mozbuild/jar.js +366 -0
- package/dist/src/mozbuild/mozbuild.js +321 -0
- package/dist/src/mozbuild/paths.js +96 -0
- package/dist/src/mozbuild/references.js +39 -0
- package/dist/src/mozbuild/testManifest.js +343 -0
- package/dist/src/mozbuild/text.js +142 -0
- package/dist/src/project/changes.js +145 -0
- package/dist/src/project/checkout.js +66 -0
- package/dist/src/project/index.js +11 -0
- package/dist/src/project/license.js +119 -0
- package/dist/src/project/project.js +111 -0
- package/dist/src/project/state.js +85 -0
- package/dist/src/project/tracked.js +1 -0
- package/dist/src/queue/apply.js +270 -0
- package/dist/src/queue/attribute.js +159 -0
- package/dist/src/queue/baseline.js +409 -0
- package/dist/src/queue/capture.js +298 -0
- package/dist/src/queue/changes.js +234 -0
- package/dist/src/queue/index.js +50 -0
- package/dist/src/queue/manifest.js +341 -0
- package/dist/src/queue/operations.js +454 -0
- package/dist/src/queue/placement.js +220 -0
- package/dist/src/queue/queue.js +359 -0
- package/dist/src/queue/restore.js +103 -0
- package/dist/src/queue/session.js +685 -0
- package/dist/src/queue/status.js +137 -0
- package/dist/src/register/files.js +39 -0
- package/dist/src/register/index.js +8 -0
- package/dist/src/register/js.js +217 -0
- package/dist/src/register/register.js +359 -0
- package/dist/src/register/wire.js +146 -0
- package/dist/src/source/adopt.js +99 -0
- package/dist/src/source/changes.js +132 -0
- package/dist/src/source/edit.js +278 -0
- package/dist/src/source/export.js +70 -0
- package/dist/src/source/groups.js +131 -0
- package/dist/src/source/index.js +20 -0
- package/dist/src/source/materialize.js +382 -0
- package/dist/src/source/merge.js +255 -0
- package/dist/src/source/objects.js +102 -0
- package/dist/src/source/previous.js +166 -0
- package/dist/src/source/records.js +138 -0
- package/dist/src/source/refresh.js +264 -0
- package/dist/src/source/tree.js +337 -0
- package/dist/src/syntax/css.js +215 -0
- package/dist/src/syntax/fragments.js +63 -0
- package/dist/src/syntax/index.js +10 -0
- package/dist/src/syntax/js.js +270 -0
- package/dist/src/test/classify.js +826 -0
- package/dist/src/test/control.js +236 -0
- package/dist/src/test/host.js +266 -0
- package/dist/src/test/index.js +11 -0
- package/dist/src/test/plan.js +347 -0
- package/dist/src/test/rawLog.js +138 -0
- package/dist/src/test/run.js +404 -0
- package/dist/src/test/verdict.js +420 -0
- package/dist/src/test/xpcshell.js +143 -0
- package/dist/src/tokens/add.js +304 -0
- package/dist/src/tokens/coverage.js +65 -0
- package/dist/src/tokens/css.js +58 -0
- package/dist/src/tokens/index.js +12 -0
- package/dist/src/tokens/lint.js +96 -0
- package/dist/src/tokens/model.js +118 -0
- package/dist/src/tokens/settings.js +87 -0
- package/dist/src/tokens/siblings.js +104 -0
- package/dist/src/typecheck/explain.js +123 -0
- package/dist/src/typecheck/index.js +8 -0
- package/dist/src/typecheck/typecheck.js +332 -0
- package/docs/README.md +23 -28
- package/docs/authoring.md +97 -0
- package/docs/configuration.md +307 -766
- package/docs/exit-codes.md +76 -94
- package/docs/furnace.md +111 -221
- package/docs/gate.md +205 -0
- package/docs/getting-started.md +165 -0
- package/docs/machine-output.md +201 -290
- package/docs/migrating.md +261 -0
- package/docs/patch-workflow.md +159 -723
- package/docs/quality.md +220 -0
- package/docs/source-workflow.md +228 -0
- package/docs/testing.md +101 -719
- package/docs/workspaces.md +187 -0
- package/package.json +22 -30
- package/templates/configs/common.mozconfig +8 -2
- package/templates/configs/darwin.mozconfig +6 -7
- package/templates/configs/linux.mozconfig +5 -8
- package/templates/configs/win32.mozconfig +3 -9
- package/dist/bin/fireforge.d.ts +0 -9
- package/dist/src/cli-usage-error.d.ts +0 -46
- package/dist/src/cli-usage-error.js +0 -81
- package/dist/src/cli.d.ts +0 -41
- package/dist/src/cli.js +0 -380
- package/dist/src/commands/bootstrap-checks.d.ts +0 -16
- package/dist/src/commands/bootstrap-checks.js +0 -66
- package/dist/src/commands/bootstrap.d.ts +0 -10
- package/dist/src/commands/build-prelock.d.ts +0 -20
- package/dist/src/commands/build-prelock.js +0 -50
- package/dist/src/commands/build.d.ts +0 -13
- package/dist/src/commands/check-report.d.ts +0 -41
- package/dist/src/commands/check-report.js +0 -98
- package/dist/src/commands/check-run.d.ts +0 -44
- package/dist/src/commands/check-run.js +0 -125
- package/dist/src/commands/check-steps.d.ts +0 -75
- package/dist/src/commands/check-steps.js +0 -200
- package/dist/src/commands/check.d.ts +0 -32
- package/dist/src/commands/config.d.ts +0 -13
- package/dist/src/commands/declarations-report.d.ts +0 -49
- package/dist/src/commands/declarations-report.js +0 -83
- package/dist/src/commands/destructive-decision.d.ts +0 -19
- package/dist/src/commands/destructive-decision.js +0 -31
- package/dist/src/commands/discard.d.ts +0 -12
- package/dist/src/commands/doctor-check-core.d.ts +0 -110
- package/dist/src/commands/doctor-check-core.js +0 -24
- package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
- package/dist/src/commands/doctor-engine-eslint.js +0 -17
- package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
- package/dist/src/commands/doctor-external-toolchains.js +0 -56
- package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
- package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
- package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
- package/dist/src/commands/doctor-furnace-jar.js +0 -44
- package/dist/src/commands/doctor-furnace.d.ts +0 -8
- package/dist/src/commands/doctor-furnace.js +0 -514
- package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
- package/dist/src/commands/doctor-macos-sdk.js +0 -158
- package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
- package/dist/src/commands/doctor-orphaned-harness.js +0 -98
- package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
- package/dist/src/commands/doctor-patch-manifest.js +0 -156
- package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
- package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
- package/dist/src/commands/doctor-source-pin.d.ts +0 -29
- package/dist/src/commands/doctor-source-pin.js +0 -91
- package/dist/src/commands/doctor-working-tree.d.ts +0 -27
- package/dist/src/commands/doctor-working-tree.js +0 -89
- package/dist/src/commands/doctor.d.ts +0 -49
- package/dist/src/commands/download.d.ts +0 -11
- package/dist/src/commands/export-adopt-check.d.ts +0 -37
- package/dist/src/commands/export-adopt-check.js +0 -97
- package/dist/src/commands/export-all.d.ts +0 -11
- package/dist/src/commands/export-all.js +0 -361
- package/dist/src/commands/export-flow.d.ts +0 -124
- package/dist/src/commands/export-flow.js +0 -423
- package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
- package/dist/src/commands/export-placement-conflicts.js +0 -75
- package/dist/src/commands/export-placement-gate.d.ts +0 -42
- package/dist/src/commands/export-placement-gate.js +0 -107
- package/dist/src/commands/export-placement-policy.d.ts +0 -22
- package/dist/src/commands/export-placement-policy.js +0 -54
- package/dist/src/commands/export-shared.d.ts +0 -152
- package/dist/src/commands/export-shared.js +0 -396
- package/dist/src/commands/export-staged-registration.d.ts +0 -46
- package/dist/src/commands/export-staged-registration.js +0 -91
- package/dist/src/commands/export.d.ts +0 -13
- package/dist/src/commands/forward-import-remedy.d.ts +0 -31
- package/dist/src/commands/forward-import-remedy.js +0 -62
- package/dist/src/commands/furnace/apply.d.ts +0 -8
- package/dist/src/commands/furnace/apply.js +0 -327
- package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
- package/dist/src/commands/furnace/authoring-config.js +0 -19
- package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
- package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
- package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
- package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
- package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
- package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
- package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
- package/dist/src/commands/furnace/chrome-doc.js +0 -365
- package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
- package/dist/src/commands/furnace/create-browser-test.js +0 -179
- package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
- package/dist/src/commands/furnace/create-dry-run.js +0 -107
- package/dist/src/commands/furnace/create-features.d.ts +0 -24
- package/dist/src/commands/furnace/create-features.js +0 -55
- package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
- package/dist/src/commands/furnace/create-mochikit.js +0 -75
- package/dist/src/commands/furnace/create-readback.d.ts +0 -22
- package/dist/src/commands/furnace/create-readback.js +0 -32
- package/dist/src/commands/furnace/create-templates.d.ts +0 -119
- package/dist/src/commands/furnace/create-templates.js +0 -283
- package/dist/src/commands/furnace/create-validation.d.ts +0 -6
- package/dist/src/commands/furnace/create-validation.js +0 -59
- package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
- package/dist/src/commands/furnace/create-xpcshell.js +0 -80
- package/dist/src/commands/furnace/create.d.ts +0 -24
- package/dist/src/commands/furnace/create.js +0 -407
- package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
- package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
- package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
- package/dist/src/commands/furnace/deploy-named.js +0 -107
- package/dist/src/commands/furnace/deploy.d.ts +0 -9
- package/dist/src/commands/furnace/deploy.js +0 -229
- package/dist/src/commands/furnace/diff.d.ts +0 -11
- package/dist/src/commands/furnace/diff.js +0 -238
- package/dist/src/commands/furnace/index.d.ts +0 -4
- package/dist/src/commands/furnace/index.js +0 -283
- package/dist/src/commands/furnace/init.d.ts +0 -11
- package/dist/src/commands/furnace/init.js +0 -287
- package/dist/src/commands/furnace/list.d.ts +0 -8
- package/dist/src/commands/furnace/list.js +0 -104
- package/dist/src/commands/furnace/override.d.ts +0 -16
- package/dist/src/commands/furnace/override.js +0 -454
- package/dist/src/commands/furnace/preview.d.ts +0 -19
- package/dist/src/commands/furnace/preview.js +0 -349
- package/dist/src/commands/furnace/refresh.d.ts +0 -10
- package/dist/src/commands/furnace/refresh.js +0 -303
- package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
- package/dist/src/commands/furnace/remove-mutations.js +0 -168
- package/dist/src/commands/furnace/remove-state.d.ts +0 -20
- package/dist/src/commands/furnace/remove-state.js +0 -60
- package/dist/src/commands/furnace/remove.d.ts +0 -8
- package/dist/src/commands/furnace/remove.js +0 -415
- package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
- package/dist/src/commands/furnace/rename-browser-test.js +0 -68
- package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
- package/dist/src/commands/furnace/rename-dry-run.js +0 -127
- package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
- package/dist/src/commands/furnace/rename-helpers.js +0 -85
- package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
- package/dist/src/commands/furnace/rename-registrations.js +0 -98
- package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
- package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
- package/dist/src/commands/furnace/rename.d.ts +0 -6
- package/dist/src/commands/furnace/rename.js +0 -400
- package/dist/src/commands/furnace/scan.d.ts +0 -14
- package/dist/src/commands/furnace/scan.js +0 -192
- package/dist/src/commands/furnace/status.d.ts +0 -7
- package/dist/src/commands/furnace/status.js +0 -209
- package/dist/src/commands/furnace/sync.d.ts +0 -12
- package/dist/src/commands/furnace/sync.js +0 -145
- package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
- package/dist/src/commands/furnace/test-file-name.js +0 -39
- package/dist/src/commands/furnace/validate-report.d.ts +0 -45
- package/dist/src/commands/furnace/validate-report.js +0 -91
- package/dist/src/commands/furnace/validate.d.ts +0 -8
- package/dist/src/commands/furnace/validate.js +0 -309
- package/dist/src/commands/furnace/validation-output.d.ts +0 -47
- package/dist/src/commands/furnace/validation-output.js +0 -161
- package/dist/src/commands/import.d.ts +0 -11
- package/dist/src/commands/lint-per-patch.d.ts +0 -10
- package/dist/src/commands/lint-per-patch.js +0 -428
- package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
- package/dist/src/commands/lint-per-run-checkjs.js +0 -102
- package/dist/src/commands/lint-report.d.ts +0 -25
- package/dist/src/commands/lint-report.js +0 -76
- package/dist/src/commands/lint.d.ts +0 -47
- package/dist/src/commands/manifest.d.ts +0 -38
- package/dist/src/commands/manifest.js +0 -68
- package/dist/src/commands/package.d.ts +0 -11
- package/dist/src/commands/park.d.ts +0 -22
- package/dist/src/commands/park.js +0 -232
- package/dist/src/commands/patch/body.d.ts +0 -29
- package/dist/src/commands/patch/body.js +0 -60
- package/dist/src/commands/patch/compact.d.ts +0 -28
- package/dist/src/commands/patch/compact.js +0 -208
- package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
- package/dist/src/commands/patch/delete-gap-notice.js +0 -48
- package/dist/src/commands/patch/delete.d.ts +0 -28
- package/dist/src/commands/patch/delete.js +0 -131
- package/dist/src/commands/patch/entry-projection.d.ts +0 -13
- package/dist/src/commands/patch/entry-projection.js +0 -24
- package/dist/src/commands/patch/index.d.ts +0 -16
- package/dist/src/commands/patch/index.js +0 -54
- package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
- package/dist/src/commands/patch/lint-ignore-from.js +0 -141
- package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
- package/dist/src/commands/patch/lint-ignore.js +0 -263
- package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
- package/dist/src/commands/patch/move-files-adopt.js +0 -65
- package/dist/src/commands/patch/move-files-create.d.ts +0 -19
- package/dist/src/commands/patch/move-files-create.js +0 -187
- package/dist/src/commands/patch/move-files-into.d.ts +0 -65
- package/dist/src/commands/patch/move-files-into.js +0 -325
- package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
- package/dist/src/commands/patch/move-files-retire.js +0 -91
- package/dist/src/commands/patch/move-files.d.ts +0 -28
- package/dist/src/commands/patch/move-files.js +0 -224
- package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
- package/dist/src/commands/patch/move-size-tier.js +0 -66
- package/dist/src/commands/patch/patch-context.d.ts +0 -40
- package/dist/src/commands/patch/patch-context.js +0 -51
- package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
- package/dist/src/commands/patch/removal-created-files.js +0 -83
- package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
- package/dist/src/commands/patch/removal-dependents.js +0 -133
- package/dist/src/commands/patch/rename.d.ts +0 -35
- package/dist/src/commands/patch/rename.js +0 -378
- package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
- package/dist/src/commands/patch/reorder-projection.js +0 -49
- package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
- package/dist/src/commands/patch/reorder-shift.js +0 -307
- package/dist/src/commands/patch/reorder.d.ts +0 -34
- package/dist/src/commands/patch/reorder.js +0 -375
- package/dist/src/commands/patch/reserve.d.ts +0 -33
- package/dist/src/commands/patch/reserve.js +0 -152
- package/dist/src/commands/patch/retire.d.ts +0 -34
- package/dist/src/commands/patch/retire.js +0 -133
- package/dist/src/commands/patch/split-plan.d.ts +0 -125
- package/dist/src/commands/patch/split-plan.js +0 -313
- package/dist/src/commands/patch/split-staged.d.ts +0 -108
- package/dist/src/commands/patch/split-staged.js +0 -202
- package/dist/src/commands/patch/split.d.ts +0 -43
- package/dist/src/commands/patch/split.js +0 -367
- package/dist/src/commands/patch/stage.d.ts +0 -34
- package/dist/src/commands/patch/stage.js +0 -153
- package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
- package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
- package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
- package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
- package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
- package/dist/src/commands/patch/staged-dependency-from.js +0 -114
- package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
- package/dist/src/commands/patch/staged-dependency-remove.js +0 -114
- package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -27
- package/dist/src/commands/patch/staged-dependency-validate.js +0 -78
- package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
- package/dist/src/commands/patch/staged-dependency.js +0 -251
- package/dist/src/commands/patch/tier.d.ts +0 -34
- package/dist/src/commands/patch/tier.js +0 -125
- package/dist/src/commands/patch-rename-map.d.ts +0 -30
- package/dist/src/commands/patch-rename-map.js +0 -54
- package/dist/src/commands/pending-resolution.d.ts +0 -15
- package/dist/src/commands/pending-resolution.js +0 -25
- package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
- package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
- package/dist/src/commands/re-export-adjacent.d.ts +0 -111
- package/dist/src/commands/re-export-adjacent.js +0 -285
- package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
- package/dist/src/commands/re-export-bulk-scan.js +0 -233
- package/dist/src/commands/re-export-drift.d.ts +0 -110
- package/dist/src/commands/re-export-drift.js +0 -358
- package/dist/src/commands/re-export-each.d.ts +0 -46
- package/dist/src/commands/re-export-each.js +0 -110
- package/dist/src/commands/re-export-files.d.ts +0 -15
- package/dist/src/commands/re-export-files.js +0 -307
- package/dist/src/commands/re-export-hunks.d.ts +0 -37
- package/dist/src/commands/re-export-hunks.js +0 -264
- package/dist/src/commands/re-export-lint.d.ts +0 -137
- package/dist/src/commands/re-export-lint.js +0 -303
- package/dist/src/commands/re-export-options.d.ts +0 -29
- package/dist/src/commands/re-export-options.js +0 -192
- package/dist/src/commands/re-export-preflight.d.ts +0 -23
- package/dist/src/commands/re-export-preflight.js +0 -159
- package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
- package/dist/src/commands/re-export-purity-scope.js +0 -137
- package/dist/src/commands/re-export-register.d.ts +0 -12
- package/dist/src/commands/re-export-register.js +0 -99
- package/dist/src/commands/re-export-removed.d.ts +0 -15
- package/dist/src/commands/re-export-removed.js +0 -94
- package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
- package/dist/src/commands/re-export-retired-declarations.js +0 -113
- package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
- package/dist/src/commands/re-export-scan-owner.js +0 -116
- package/dist/src/commands/re-export-scan.d.ts +0 -72
- package/dist/src/commands/re-export-scan.js +0 -265
- package/dist/src/commands/re-export-single.d.ts +0 -53
- package/dist/src/commands/re-export-single.js +0 -426
- package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
- package/dist/src/commands/re-export-stale-registrations.js +0 -106
- package/dist/src/commands/re-export-summary.d.ts +0 -44
- package/dist/src/commands/re-export-summary.js +0 -59
- package/dist/src/commands/re-export.d.ts +0 -8
- package/dist/src/commands/rebase/abort.d.ts +0 -7
- package/dist/src/commands/rebase/abort.js +0 -67
- package/dist/src/commands/rebase/confirm.d.ts +0 -42
- package/dist/src/commands/rebase/confirm.js +0 -36
- package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
- package/dist/src/commands/rebase/conflict-summary.js +0 -37
- package/dist/src/commands/rebase/continue.d.ts +0 -7
- package/dist/src/commands/rebase/continue.js +0 -119
- package/dist/src/commands/rebase/index.d.ts +0 -22
- package/dist/src/commands/rebase/index.js +0 -209
- package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
- package/dist/src/commands/rebase/patch-loop.js +0 -289
- package/dist/src/commands/rebase/summary.d.ts +0 -8
- package/dist/src/commands/rebase/summary.js +0 -47
- package/dist/src/commands/register.d.ts +0 -13
- package/dist/src/commands/reset.d.ts +0 -11
- package/dist/src/commands/resolve.d.ts +0 -36
- package/dist/src/commands/run.d.ts +0 -10
- package/dist/src/commands/setup-support.d.ts +0 -35
- package/dist/src/commands/setup-support.js +0 -386
- package/dist/src/commands/setup.d.ts +0 -11
- package/dist/src/commands/source.d.ts +0 -9
- package/dist/src/commands/source.js +0 -120
- package/dist/src/commands/status-check.d.ts +0 -87
- package/dist/src/commands/status-check.js +0 -161
- package/dist/src/commands/status-json.d.ts +0 -45
- package/dist/src/commands/status-json.js +0 -97
- package/dist/src/commands/status-output.d.ts +0 -23
- package/dist/src/commands/status-output.js +0 -231
- package/dist/src/commands/status-ownership.d.ts +0 -54
- package/dist/src/commands/status-ownership.js +0 -59
- package/dist/src/commands/status-scope.d.ts +0 -37
- package/dist/src/commands/status-scope.js +0 -54
- package/dist/src/commands/status.d.ts +0 -11
- package/dist/src/commands/test-appdir.d.ts +0 -6
- package/dist/src/commands/test-appdir.js +0 -29
- package/dist/src/commands/test-browser-preflight.d.ts +0 -28
- package/dist/src/commands/test-browser-preflight.js +0 -197
- package/dist/src/commands/test-build-furnace.d.ts +0 -21
- package/dist/src/commands/test-build-furnace.js +0 -53
- package/dist/src/commands/test-build-phase.d.ts +0 -34
- package/dist/src/commands/test-build-phase.js +0 -291
- package/dist/src/commands/test-checkjs.d.ts +0 -3
- package/dist/src/commands/test-checkjs.js +0 -35
- package/dist/src/commands/test-control-restore.d.ts +0 -40
- package/dist/src/commands/test-control-restore.js +0 -86
- package/dist/src/commands/test-diagnose.d.ts +0 -23
- package/dist/src/commands/test-diagnose.js +0 -317
- package/dist/src/commands/test-dispatch.d.ts +0 -39
- package/dist/src/commands/test-dispatch.js +0 -281
- package/dist/src/commands/test-furnace-reach.d.ts +0 -37
- package/dist/src/commands/test-furnace-reach.js +0 -132
- package/dist/src/commands/test-harness-env.d.ts +0 -23
- package/dist/src/commands/test-harness-env.js +0 -81
- package/dist/src/commands/test-harness-teardown.d.ts +0 -62
- package/dist/src/commands/test-harness-teardown.js +0 -128
- package/dist/src/commands/test-modes.d.ts +0 -57
- package/dist/src/commands/test-modes.js +0 -158
- package/dist/src/commands/test-multi-verdict.d.ts +0 -61
- package/dist/src/commands/test-multi-verdict.js +0 -112
- package/dist/src/commands/test-orchestrate.d.ts +0 -70
- package/dist/src/commands/test-orchestrate.js +0 -277
- package/dist/src/commands/test-perf-scope.d.ts +0 -50
- package/dist/src/commands/test-perf-scope.js +0 -138
- package/dist/src/commands/test-prelock.d.ts +0 -61
- package/dist/src/commands/test-prelock.js +0 -301
- package/dist/src/commands/test-register.d.ts +0 -4
- package/dist/src/commands/test-register.js +0 -181
- package/dist/src/commands/test-results.d.ts +0 -71
- package/dist/src/commands/test-results.js +0 -79
- package/dist/src/commands/test-run.d.ts +0 -89
- package/dist/src/commands/test-run.js +0 -251
- package/dist/src/commands/test-shards.d.ts +0 -114
- package/dist/src/commands/test-shards.js +0 -272
- package/dist/src/commands/test-stale-gate.d.ts +0 -56
- package/dist/src/commands/test-stale-gate.js +0 -208
- package/dist/src/commands/test-verdict.d.ts +0 -102
- package/dist/src/commands/test-verdict.js +0 -176
- package/dist/src/commands/test.d.ts +0 -22
- package/dist/src/commands/token-coverage.d.ts +0 -5
- package/dist/src/commands/token-coverage.js +0 -170
- package/dist/src/commands/token-lint.d.ts +0 -14
- package/dist/src/commands/token-lint.js +0 -151
- package/dist/src/commands/token-list.d.ts +0 -26
- package/dist/src/commands/token-list.js +0 -153
- package/dist/src/commands/token.d.ts +0 -14
- package/dist/src/commands/tree.d.ts +0 -19
- package/dist/src/commands/tree.js +0 -341
- package/dist/src/commands/typecheck-explain.d.ts +0 -13
- package/dist/src/commands/typecheck-explain.js +0 -100
- package/dist/src/commands/typecheck.d.ts +0 -61
- package/dist/src/commands/verify-scope.d.ts +0 -28
- package/dist/src/commands/verify-scope.js +0 -67
- package/dist/src/commands/verify.d.ts +0 -58
- package/dist/src/commands/watch.d.ts +0 -9
- package/dist/src/commands/wire.d.ts +0 -13
- package/dist/src/core/ast-utils.d.ts +0 -73
- package/dist/src/core/ast-utils.js +0 -105
- package/dist/src/core/brand-validation.d.ts +0 -7
- package/dist/src/core/brand-validation.js +0 -14
- package/dist/src/core/branding.d.ts +0 -86
- package/dist/src/core/branding.js +0 -371
- package/dist/src/core/browser-wire.d.ts +0 -48
- package/dist/src/core/browser-wire.js +0 -133
- package/dist/src/core/build-audit-platform.d.ts +0 -67
- package/dist/src/core/build-audit-platform.js +0 -373
- package/dist/src/core/build-audit-registration.d.ts +0 -80
- package/dist/src/core/build-audit-registration.js +0 -181
- package/dist/src/core/build-audit-resolve.d.ts +0 -78
- package/dist/src/core/build-audit-resolve.js +0 -240
- package/dist/src/core/build-audit-skip.d.ts +0 -57
- package/dist/src/core/build-audit-skip.js +0 -112
- package/dist/src/core/build-audit-transforms.d.ts +0 -23
- package/dist/src/core/build-audit-transforms.js +0 -92
- package/dist/src/core/build-audit.d.ts +0 -93
- package/dist/src/core/build-audit.js +0 -633
- package/dist/src/core/build-baseline-types.d.ts +0 -225
- package/dist/src/core/build-baseline-types.js +0 -10
- package/dist/src/core/build-baseline-validate.d.ts +0 -32
- package/dist/src/core/build-baseline-validate.js +0 -173
- package/dist/src/core/build-baseline.d.ts +0 -103
- package/dist/src/core/build-baseline.js +0 -261
- package/dist/src/core/build-jar-escalation.d.ts +0 -61
- package/dist/src/core/build-jar-escalation.js +0 -125
- package/dist/src/core/build-overwrite-guard.d.ts +0 -92
- package/dist/src/core/build-overwrite-guard.js +0 -235
- package/dist/src/core/build-prepare.d.ts +0 -83
- package/dist/src/core/build-prepare.js +0 -414
- package/dist/src/core/build-run-record.d.ts +0 -74
- package/dist/src/core/build-run-record.js +0 -136
- package/dist/src/core/checkjs-support-heads.d.ts +0 -41
- package/dist/src/core/checkjs-support-heads.js +0 -104
- package/dist/src/core/component-source-guard.d.ts +0 -20
- package/dist/src/core/component-source-guard.js +0 -68
- package/dist/src/core/config-mutate.d.ts +0 -16
- package/dist/src/core/config-mutate.js +0 -76
- package/dist/src/core/config-paths.d.ts +0 -16
- package/dist/src/core/config-paths.js +0 -106
- package/dist/src/core/config-state.d.ts +0 -16
- package/dist/src/core/config-state.js +0 -141
- package/dist/src/core/config-validate-build-audit.d.ts +0 -8
- package/dist/src/core/config-validate-build-audit.js +0 -80
- package/dist/src/core/config-validate-check.d.ts +0 -8
- package/dist/src/core/config-validate-check.js +0 -219
- package/dist/src/core/config-validate-file-size.d.ts +0 -15
- package/dist/src/core/config-validate-file-size.js +0 -154
- package/dist/src/core/config-validate-history.d.ts +0 -11
- package/dist/src/core/config-validate-history.js +0 -38
- package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
- package/dist/src/core/config-validate-patch-policy.js +0 -284
- package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
- package/dist/src/core/config-validate-test-toolchains.js +0 -133
- package/dist/src/core/config-validate-token-scales.d.ts +0 -9
- package/dist/src/core/config-validate-token-scales.js +0 -125
- package/dist/src/core/config-validate.d.ts +0 -11
- package/dist/src/core/config-validate.js +0 -509
- package/dist/src/core/config.d.ts +0 -92
- package/dist/src/core/config.js +0 -169
- package/dist/src/core/coverage-dispatch.d.ts +0 -24
- package/dist/src/core/coverage-dispatch.js +0 -44
- package/dist/src/core/coverage-extend.d.ts +0 -89
- package/dist/src/core/coverage-extend.js +0 -239
- package/dist/src/core/coverage-records.d.ts +0 -107
- package/dist/src/core/coverage-records.js +0 -383
- package/dist/src/core/destructive.d.ts +0 -144
- package/dist/src/core/destructive.js +0 -182
- package/dist/src/core/dev-profile.d.ts +0 -28
- package/dist/src/core/dev-profile.js +0 -58
- package/dist/src/core/diff-hunks.d.ts +0 -73
- package/dist/src/core/diff-hunks.js +0 -286
- package/dist/src/core/discard-baseline.d.ts +0 -60
- package/dist/src/core/discard-baseline.js +0 -247
- package/dist/src/core/display-state.d.ts +0 -50
- package/dist/src/core/display-state.js +0 -87
- package/dist/src/core/engine-changes.d.ts +0 -40
- package/dist/src/core/engine-changes.js +0 -95
- package/dist/src/core/engine-precondition.d.ts +0 -42
- package/dist/src/core/engine-precondition.js +0 -60
- package/dist/src/core/engine-session-lock.d.ts +0 -119
- package/dist/src/core/engine-session-lock.js +0 -374
- package/dist/src/core/engine-write-boundary.d.ts +0 -5
- package/dist/src/core/engine-write-boundary.js +0 -41
- package/dist/src/core/export-moved-code-shape.d.ts +0 -98
- package/dist/src/core/export-moved-code-shape.js +0 -220
- package/dist/src/core/file-lock-owner.d.ts +0 -103
- package/dist/src/core/file-lock-owner.js +0 -259
- package/dist/src/core/file-lock-queue.d.ts +0 -67
- package/dist/src/core/file-lock-queue.js +0 -219
- package/dist/src/core/file-lock-shared.d.ts +0 -57
- package/dist/src/core/file-lock-shared.js +0 -117
- package/dist/src/core/file-lock.d.ts +0 -143
- package/dist/src/core/file-lock.js +0 -531
- package/dist/src/core/firefox-archive.d.ts +0 -45
- package/dist/src/core/firefox-archive.js +0 -96
- package/dist/src/core/firefox-cache.d.ts +0 -30
- package/dist/src/core/firefox-cache.js +0 -248
- package/dist/src/core/firefox-download.d.ts +0 -30
- package/dist/src/core/firefox-download.js +0 -152
- package/dist/src/core/firefox-extract.d.ts +0 -42
- package/dist/src/core/firefox-extract.js +0 -248
- package/dist/src/core/firefox-ignorefile.d.ts +0 -17
- package/dist/src/core/firefox-ignorefile.js +0 -30
- package/dist/src/core/firefox.d.ts +0 -66
- package/dist/src/core/firefox.js +0 -121
- package/dist/src/core/forward-registrations.d.ts +0 -33
- package/dist/src/core/forward-registrations.js +0 -16
- package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
- package/dist/src/core/furnace-apply-dry-run.js +0 -99
- package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
- package/dist/src/core/furnace-apply-ftl.js +0 -210
- package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
- package/dist/src/core/furnace-apply-helpers.js +0 -436
- package/dist/src/core/furnace-apply-output.d.ts +0 -36
- package/dist/src/core/furnace-apply-output.js +0 -111
- package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -67
- package/dist/src/core/furnace-apply-overwrite-warn.js +0 -131
- package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
- package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
- package/dist/src/core/furnace-apply.d.ts +0 -49
- package/dist/src/core/furnace-apply.js +0 -465
- package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
- package/dist/src/core/furnace-checksum-utils.js +0 -54
- package/dist/src/core/furnace-composed-source.d.ts +0 -76
- package/dist/src/core/furnace-composed-source.js +0 -167
- package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
- package/dist/src/core/furnace-config-array-utils.js +0 -26
- package/dist/src/core/furnace-config-custom.d.ts +0 -15
- package/dist/src/core/furnace-config-custom.js +0 -73
- package/dist/src/core/furnace-config-order.d.ts +0 -8
- package/dist/src/core/furnace-config-order.js +0 -90
- package/dist/src/core/furnace-config-tokens.d.ts +0 -17
- package/dist/src/core/furnace-config-tokens.js +0 -42
- package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
- package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
- package/dist/src/core/furnace-config-validate.d.ts +0 -32
- package/dist/src/core/furnace-config-validate.js +0 -167
- package/dist/src/core/furnace-config.d.ts +0 -139
- package/dist/src/core/furnace-config.js +0 -511
- package/dist/src/core/furnace-constants.d.ts +0 -81
- package/dist/src/core/furnace-constants.js +0 -125
- package/dist/src/core/furnace-css-fragments.d.ts +0 -96
- package/dist/src/core/furnace-css-fragments.js +0 -279
- package/dist/src/core/furnace-deploy-owner.d.ts +0 -29
- package/dist/src/core/furnace-deploy-owner.js +0 -116
- package/dist/src/core/furnace-dir-entry.d.ts +0 -20
- package/dist/src/core/furnace-dir-entry.js +0 -21
- package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
- package/dist/src/core/furnace-fragment-includers.js +0 -122
- package/dist/src/core/furnace-graph-utils.d.ts +0 -11
- package/dist/src/core/furnace-graph-utils.js +0 -93
- package/dist/src/core/furnace-jsconfig.d.ts +0 -87
- package/dist/src/core/furnace-jsconfig.js +0 -248
- package/dist/src/core/furnace-marker.d.ts +0 -15
- package/dist/src/core/furnace-marker.js +0 -21
- package/dist/src/core/furnace-operation.d.ts +0 -195
- package/dist/src/core/furnace-operation.js +0 -444
- package/dist/src/core/furnace-precondition.d.ts +0 -61
- package/dist/src/core/furnace-precondition.js +0 -67
- package/dist/src/core/furnace-refresh.d.ts +0 -28
- package/dist/src/core/furnace-refresh.js +0 -125
- package/dist/src/core/furnace-registration-ast.d.ts +0 -53
- package/dist/src/core/furnace-registration-ast.js +0 -402
- package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
- package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
- package/dist/src/core/furnace-registration-remove.d.ts +0 -56
- package/dist/src/core/furnace-registration-remove.js +0 -260
- package/dist/src/core/furnace-registration-rename.d.ts +0 -26
- package/dist/src/core/furnace-registration-rename.js +0 -77
- package/dist/src/core/furnace-registration-validate.d.ts +0 -53
- package/dist/src/core/furnace-registration-validate.js +0 -110
- package/dist/src/core/furnace-registration.d.ts +0 -112
- package/dist/src/core/furnace-registration.js +0 -348
- package/dist/src/core/furnace-rollback.d.ts +0 -48
- package/dist/src/core/furnace-rollback.js +0 -170
- package/dist/src/core/furnace-scanner.d.ts +0 -47
- package/dist/src/core/furnace-scanner.js +0 -236
- package/dist/src/core/furnace-stale-export.d.ts +0 -60
- package/dist/src/core/furnace-stale-export.js +0 -125
- package/dist/src/core/furnace-staleness.d.ts +0 -24
- package/dist/src/core/furnace-staleness.js +0 -67
- package/dist/src/core/furnace-state-persist.d.ts +0 -68
- package/dist/src/core/furnace-state-persist.js +0 -116
- package/dist/src/core/furnace-step-errors.d.ts +0 -23
- package/dist/src/core/furnace-step-errors.js +0 -25
- package/dist/src/core/furnace-stories.d.ts +0 -37
- package/dist/src/core/furnace-stories.js +0 -186
- package/dist/src/core/furnace-tag-map.d.ts +0 -47
- package/dist/src/core/furnace-tag-map.js +0 -182
- package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
- package/dist/src/core/furnace-validate-accessibility.js +0 -417
- package/dist/src/core/furnace-validate-checks.d.ts +0 -4
- package/dist/src/core/furnace-validate-checks.js +0 -6
- package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
- package/dist/src/core/furnace-validate-compatibility.js +0 -295
- package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
- package/dist/src/core/furnace-validate-exceptions.js +0 -98
- package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
- package/dist/src/core/furnace-validate-helpers.js +0 -4
- package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
- package/dist/src/core/furnace-validate-icon-button.js +0 -78
- package/dist/src/core/furnace-validate-registration.d.ts +0 -67
- package/dist/src/core/furnace-validate-registration.js +0 -487
- package/dist/src/core/furnace-validate-structure.d.ts +0 -22
- package/dist/src/core/furnace-validate-structure.js +0 -122
- package/dist/src/core/furnace-validate.d.ts +0 -41
- package/dist/src/core/furnace-validate.js +0 -331
- package/dist/src/core/furnace-version-drift.d.ts +0 -57
- package/dist/src/core/furnace-version-drift.js +0 -102
- package/dist/src/core/gecko-dom-types.d.ts +0 -2
- package/dist/src/core/gecko-dom-types.js +0 -17
- package/dist/src/core/git-base.d.ts +0 -101
- package/dist/src/core/git-base.js +0 -162
- package/dist/src/core/git-diff-new-file.d.ts +0 -40
- package/dist/src/core/git-diff-new-file.js +0 -118
- package/dist/src/core/git-diff.d.ts +0 -82
- package/dist/src/core/git-diff.js +0 -539
- package/dist/src/core/git-file-ops.d.ts +0 -108
- package/dist/src/core/git-file-ops.js +0 -280
- package/dist/src/core/git-readonly-index.d.ts +0 -91
- package/dist/src/core/git-readonly-index.js +0 -177
- package/dist/src/core/git-status.d.ts +0 -84
- package/dist/src/core/git-status.js +0 -208
- package/dist/src/core/git.d.ts +0 -114
- package/dist/src/core/git.js +0 -540
- package/dist/src/core/harness-helper-pids.d.ts +0 -98
- package/dist/src/core/harness-helper-pids.js +0 -240
- package/dist/src/core/harness-orphans.d.ts +0 -118
- package/dist/src/core/harness-orphans.js +0 -268
- package/dist/src/core/harness-port-fallback.d.ts +0 -60
- package/dist/src/core/harness-port-fallback.js +0 -96
- package/dist/src/core/harness-port-reservation.d.ts +0 -60
- package/dist/src/core/harness-port-reservation.js +0 -122
- package/dist/src/core/history-log-file.d.ts +0 -61
- package/dist/src/core/history-log-file.js +0 -164
- package/dist/src/core/history-log.d.ts +0 -20
- package/dist/src/core/history-log.js +0 -30
- package/dist/src/core/json-preserving-edit.d.ts +0 -22
- package/dist/src/core/json-preserving-edit.js +0 -199
- package/dist/src/core/launchable-build.d.ts +0 -39
- package/dist/src/core/launchable-build.js +0 -85
- package/dist/src/core/license-headers.d.ts +0 -103
- package/dist/src/core/license-headers.js +0 -328
- package/dist/src/core/line-prefixer.d.ts +0 -18
- package/dist/src/core/line-prefixer.js +0 -34
- package/dist/src/core/lit-template-regions.d.ts +0 -4
- package/dist/src/core/lit-template-regions.js +0 -50
- package/dist/src/core/mach-build-artifacts.d.ts +0 -176
- package/dist/src/core/mach-build-artifacts.js +0 -436
- package/dist/src/core/mach-error-hints.d.ts +0 -24
- package/dist/src/core/mach-error-hints.js +0 -135
- package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
- package/dist/src/core/mach-known-noise-filter.js +0 -257
- package/dist/src/core/mach-mozconfig.d.ts +0 -57
- package/dist/src/core/mach-mozconfig.js +0 -166
- package/dist/src/core/mach-python.d.ts +0 -19
- package/dist/src/core/mach-python.js +0 -131
- package/dist/src/core/mach-resource-shim.d.ts +0 -107
- package/dist/src/core/mach-resource-shim.js +0 -640
- package/dist/src/core/mach.d.ts +0 -284
- package/dist/src/core/mach.js +0 -445
- package/dist/src/core/marionette-port.d.ts +0 -153
- package/dist/src/core/marionette-port.js +0 -474
- package/dist/src/core/marionette-preflight.d.ts +0 -58
- package/dist/src/core/marionette-preflight.js +0 -332
- package/dist/src/core/markdown-table.d.ts +0 -104
- package/dist/src/core/markdown-table.js +0 -265
- package/dist/src/core/mochitest-server-port.d.ts +0 -81
- package/dist/src/core/mochitest-server-port.js +0 -175
- package/dist/src/core/module-resolution-preflight.d.ts +0 -65
- package/dist/src/core/module-resolution-preflight.js +0 -171
- package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
- package/dist/src/core/moz-manifest-helpers.js +0 -163
- package/dist/src/core/moz-manifest-register.d.ts +0 -19
- package/dist/src/core/moz-manifest-register.js +0 -51
- package/dist/src/core/moz-manifest-rules.d.ts +0 -58
- package/dist/src/core/moz-manifest-rules.js +0 -264
- package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
- package/dist/src/core/moz-manifest-tokenizers.js +0 -108
- package/dist/src/core/negative-control-compiled.d.ts +0 -46
- package/dist/src/core/negative-control-compiled.js +0 -109
- package/dist/src/core/negative-control-diff.d.ts +0 -51
- package/dist/src/core/negative-control-diff.js +0 -167
- package/dist/src/core/negative-control.d.ts +0 -150
- package/dist/src/core/negative-control.js +0 -399
- package/dist/src/core/objdir-install-manifests.d.ts +0 -73
- package/dist/src/core/objdir-install-manifests.js +0 -226
- package/dist/src/core/objdir-maintenance.d.ts +0 -10
- package/dist/src/core/objdir-maintenance.js +0 -167
- package/dist/src/core/ownership-table.d.ts +0 -53
- package/dist/src/core/ownership-table.js +0 -159
- package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
- package/dist/src/core/parent-exit-watchdog.js +0 -69
- package/dist/src/core/park-store.d.ts +0 -63
- package/dist/src/core/park-store.js +0 -216
- package/dist/src/core/parser-fallback.d.ts +0 -50
- package/dist/src/core/parser-fallback.js +0 -61
- package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
- package/dist/src/core/patch-apply-fuzz.js +0 -125
- package/dist/src/core/patch-apply.d.ts +0 -88
- package/dist/src/core/patch-apply.js +0 -435
- package/dist/src/core/patch-export-coverage.d.ts +0 -49
- package/dist/src/core/patch-export-coverage.js +0 -73
- package/dist/src/core/patch-export-metadata.d.ts +0 -46
- package/dist/src/core/patch-export-metadata.js +0 -47
- package/dist/src/core/patch-export-update.d.ts +0 -55
- package/dist/src/core/patch-export-update.js +0 -95
- package/dist/src/core/patch-export.d.ts +0 -175
- package/dist/src/core/patch-export.js +0 -312
- package/dist/src/core/patch-files.d.ts +0 -17
- package/dist/src/core/patch-files.js +0 -59
- package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
- package/dist/src/core/patch-identifier-suggest.js +0 -135
- package/dist/src/core/patch-lint-binary.d.ts +0 -45
- package/dist/src/core/patch-lint-binary.js +0 -39
- package/dist/src/core/patch-lint-cache-checkjs.d.ts +0 -45
- package/dist/src/core/patch-lint-cache-checkjs.js +0 -195
- package/dist/src/core/patch-lint-cache.d.ts +0 -79
- package/dist/src/core/patch-lint-cache.js +0 -247
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -57
- package/dist/src/core/patch-lint-checkjs-any-import.js +0 -91
- package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
- package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
- package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
- package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
- package/dist/src/core/patch-lint-checkjs-resolve.d.ts +0 -31
- package/dist/src/core/patch-lint-checkjs-resolve.js +0 -86
- package/dist/src/core/patch-lint-checkjs.d.ts +0 -182
- package/dist/src/core/patch-lint-checkjs.js +0 -563
- package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
- package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
- package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
- package/dist/src/core/patch-lint-code-lines.js +0 -105
- package/dist/src/core/patch-lint-creators.d.ts +0 -26
- package/dist/src/core/patch-lint-creators.js +0 -45
- package/dist/src/core/patch-lint-cross.d.ts +0 -232
- package/dist/src/core/patch-lint-cross.js +0 -590
- package/dist/src/core/patch-lint-css.d.ts +0 -27
- package/dist/src/core/patch-lint-css.js +0 -228
- package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
- package/dist/src/core/patch-lint-diff-tag.js +0 -105
- package/dist/src/core/patch-lint-diff.d.ts +0 -42
- package/dist/src/core/patch-lint-diff.js +0 -100
- package/dist/src/core/patch-lint-file-size.d.ts +0 -57
- package/dist/src/core/patch-lint-file-size.js +0 -62
- package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
- package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
- package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
- package/dist/src/core/patch-lint-forward-registration.js +0 -266
- package/dist/src/core/patch-lint-ignore.d.ts +0 -196
- package/dist/src/core/patch-lint-ignore.js +0 -429
- package/dist/src/core/patch-lint-imports.d.ts +0 -9
- package/dist/src/core/patch-lint-imports.js +0 -90
- package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
- package/dist/src/core/patch-lint-jsdoc.js +0 -471
- package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
- package/dist/src/core/patch-lint-module-registration.js +0 -97
- package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
- package/dist/src/core/patch-lint-mozbuild.js +0 -192
- package/dist/src/core/patch-lint-observer.d.ts +0 -37
- package/dist/src/core/patch-lint-observer.js +0 -167
- package/dist/src/core/patch-lint-ownership.d.ts +0 -74
- package/dist/src/core/patch-lint-ownership.js +0 -125
- package/dist/src/core/patch-lint-prettier.d.ts +0 -34
- package/dist/src/core/patch-lint-prettier.js +0 -124
- package/dist/src/core/patch-lint-projection.d.ts +0 -25
- package/dist/src/core/patch-lint-projection.js +0 -43
- package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
- package/dist/src/core/patch-lint-queue-types.js +0 -12
- package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
- package/dist/src/core/patch-lint-size-thresholds.js +0 -110
- package/dist/src/core/patch-lint-size.d.ts +0 -117
- package/dist/src/core/patch-lint-size.js +0 -331
- package/dist/src/core/patch-lint-staged-registration.d.ts +0 -98
- package/dist/src/core/patch-lint-staged-registration.js +0 -128
- package/dist/src/core/patch-lint-token-scale.d.ts +0 -65
- package/dist/src/core/patch-lint-token-scale.js +0 -304
- package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
- package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
- package/dist/src/core/patch-lint.d.ts +0 -206
- package/dist/src/core/patch-lint.js +0 -533
- package/dist/src/core/patch-lock.d.ts +0 -40
- package/dist/src/core/patch-lock.js +0 -129
- package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
- package/dist/src/core/patch-manifest-consistency.js +0 -256
- package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
- package/dist/src/core/patch-manifest-files-affected.js +0 -77
- package/dist/src/core/patch-manifest-io.d.ts +0 -199
- package/dist/src/core/patch-manifest-io.js +0 -556
- package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
- package/dist/src/core/patch-manifest-key-order.js +0 -60
- package/dist/src/core/patch-manifest-query.d.ts +0 -55
- package/dist/src/core/patch-manifest-query.js +0 -139
- package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
- package/dist/src/core/patch-manifest-resolve.js +0 -35
- package/dist/src/core/patch-manifest-stage.d.ts +0 -46
- package/dist/src/core/patch-manifest-stage.js +0 -96
- package/dist/src/core/patch-manifest-validate.d.ts +0 -20
- package/dist/src/core/patch-manifest-validate.js +0 -240
- package/dist/src/core/patch-manifest.d.ts +0 -12
- package/dist/src/core/patch-manifest.js +0 -13
- package/dist/src/core/patch-order-legal.d.ts +0 -26
- package/dist/src/core/patch-order-legal.js +0 -88
- package/dist/src/core/patch-parse.d.ts +0 -176
- package/dist/src/core/patch-parse.js +0 -416
- package/dist/src/core/patch-policy-content.d.ts +0 -40
- package/dist/src/core/patch-policy-content.js +0 -219
- package/dist/src/core/patch-policy.d.ts +0 -80
- package/dist/src/core/patch-policy.js +0 -394
- package/dist/src/core/patch-registration-refs.d.ts +0 -41
- package/dist/src/core/patch-registration-refs.js +0 -107
- package/dist/src/core/patch-retired.d.ts +0 -57
- package/dist/src/core/patch-retired.js +0 -92
- package/dist/src/core/patch-source-metadata.d.ts +0 -6
- package/dist/src/core/patch-source-metadata.js +0 -12
- package/dist/src/core/patch-subset.d.ts +0 -18
- package/dist/src/core/patch-subset.js +0 -67
- package/dist/src/core/patch-transform.d.ts +0 -61
- package/dist/src/core/patch-transform.js +0 -198
- package/dist/src/core/preflight-wait.d.ts +0 -22
- package/dist/src/core/preflight-wait.js +0 -62
- package/dist/src/core/process-cpu-time.d.ts +0 -12
- package/dist/src/core/process-cpu-time.js +0 -52
- package/dist/src/core/process-owner.d.ts +0 -9
- package/dist/src/core/process-owner.js +0 -43
- package/dist/src/core/rebase-dry-run.d.ts +0 -48
- package/dist/src/core/rebase-dry-run.js +0 -105
- package/dist/src/core/rebase-from-version.d.ts +0 -46
- package/dist/src/core/rebase-from-version.js +0 -71
- package/dist/src/core/rebase-session.d.ts +0 -100
- package/dist/src/core/rebase-session.js +0 -174
- package/dist/src/core/register-browser-content.d.ts +0 -11
- package/dist/src/core/register-browser-content.js +0 -52
- package/dist/src/core/register-browser-test.d.ts +0 -18
- package/dist/src/core/register-browser-test.js +0 -66
- package/dist/src/core/register-module.d.ts +0 -11
- package/dist/src/core/register-module.js +0 -56
- package/dist/src/core/register-result.d.ts +0 -30
- package/dist/src/core/register-result.js +0 -8
- package/dist/src/core/register-scaffold.d.ts +0 -55
- package/dist/src/core/register-scaffold.js +0 -146
- package/dist/src/core/register-shared-css.d.ts +0 -36
- package/dist/src/core/register-shared-css.js +0 -112
- package/dist/src/core/register-xpcshell-test.d.ts +0 -50
- package/dist/src/core/register-xpcshell-test.js +0 -143
- package/dist/src/core/run-log-redact.d.ts +0 -38
- package/dist/src/core/run-log-redact.js +0 -69
- package/dist/src/core/run-log.d.ts +0 -97
- package/dist/src/core/run-log.js +0 -334
- package/dist/src/core/run-profile.d.ts +0 -57
- package/dist/src/core/run-profile.js +0 -137
- package/dist/src/core/shared-ftl.d.ts +0 -28
- package/dist/src/core/shared-ftl.js +0 -49
- package/dist/src/core/signal-critical.d.ts +0 -38
- package/dist/src/core/signal-critical.js +0 -62
- package/dist/src/core/smoke-patterns.d.ts +0 -81
- package/dist/src/core/smoke-patterns.js +0 -176
- package/dist/src/core/state-file.d.ts +0 -60
- package/dist/src/core/state-file.js +0 -71
- package/dist/src/core/status-binary.d.ts +0 -62
- package/dist/src/core/status-binary.js +0 -133
- package/dist/src/core/status-classify.d.ts +0 -96
- package/dist/src/core/status-classify.js +0 -244
- package/dist/src/core/test-changed-prefs.d.ts +0 -30
- package/dist/src/core/test-changed-prefs.js +0 -93
- package/dist/src/core/test-harness-crash.d.ts +0 -251
- package/dist/src/core/test-harness-crash.js +0 -780
- package/dist/src/core/test-harness-infra.d.ts +0 -32
- package/dist/src/core/test-harness-infra.js +0 -69
- package/dist/src/core/test-harness-output.d.ts +0 -45
- package/dist/src/core/test-harness-output.js +0 -119
- package/dist/src/core/test-harness-signature.d.ts +0 -57
- package/dist/src/core/test-harness-signature.js +0 -35
- package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
- package/dist/src/core/test-harness-verdict-notes.js +0 -48
- package/dist/src/core/test-host-state.d.ts +0 -14
- package/dist/src/core/test-host-state.js +0 -80
- package/dist/src/core/test-path-scope.d.ts +0 -59
- package/dist/src/core/test-path-scope.js +0 -147
- package/dist/src/core/test-profile-files.d.ts +0 -17
- package/dist/src/core/test-profile-files.js +0 -75
- package/dist/src/core/test-raw-log.d.ts +0 -66
- package/dist/src/core/test-raw-log.js +0 -122
- package/dist/src/core/test-run-completeness.d.ts +0 -97
- package/dist/src/core/test-run-completeness.js +0 -191
- package/dist/src/core/test-stale-check.d.ts +0 -213
- package/dist/src/core/test-stale-check.js +0 -396
- package/dist/src/core/test-stale-exempt.d.ts +0 -40
- package/dist/src/core/test-stale-exempt.js +0 -70
- package/dist/src/core/test-stale-symlink.d.ts +0 -12
- package/dist/src/core/test-stale-symlink.js +0 -39
- package/dist/src/core/test-stall-triage.d.ts +0 -51
- package/dist/src/core/test-stall-triage.js +0 -142
- package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
- package/dist/src/core/test-xpcshell-retry.js +0 -31
- package/dist/src/core/token-category.d.ts +0 -54
- package/dist/src/core/token-category.js +0 -299
- package/dist/src/core/token-coverage.d.ts +0 -12
- package/dist/src/core/token-coverage.js +0 -96
- package/dist/src/core/token-dark-mode.d.ts +0 -64
- package/dist/src/core/token-dark-mode.js +0 -186
- package/dist/src/core/token-docs.d.ts +0 -34
- package/dist/src/core/token-docs.js +0 -102
- package/dist/src/core/token-inventory.d.ts +0 -56
- package/dist/src/core/token-inventory.js +0 -114
- package/dist/src/core/token-lint.d.ts +0 -53
- package/dist/src/core/token-lint.js +0 -131
- package/dist/src/core/token-manager.d.ts +0 -87
- package/dist/src/core/token-manager.js +0 -407
- package/dist/src/core/token-scaffold.d.ts +0 -36
- package/dist/src/core/token-scaffold.js +0 -73
- package/dist/src/core/token-sibling-sheets.d.ts +0 -46
- package/dist/src/core/token-sibling-sheets.js +0 -119
- package/dist/src/core/token-variant.d.ts +0 -90
- package/dist/src/core/token-variant.js +0 -327
- package/dist/src/core/toolchain-preflight.d.ts +0 -90
- package/dist/src/core/toolchain-preflight.js +0 -251
- package/dist/src/core/tree-cow.d.ts +0 -16
- package/dist/src/core/tree-cow.js +0 -71
- package/dist/src/core/tree-guard.d.ts +0 -35
- package/dist/src/core/tree-guard.js +0 -194
- package/dist/src/core/tree-store.d.ts +0 -143
- package/dist/src/core/tree-store.js +0 -478
- package/dist/src/core/typecheck-explain.d.ts +0 -93
- package/dist/src/core/typecheck-explain.js +0 -213
- package/dist/src/core/typecheck-shim.d.ts +0 -90
- package/dist/src/core/typecheck-shim.js +0 -508
- package/dist/src/core/typecheck.d.ts +0 -97
- package/dist/src/core/typecheck.js +0 -457
- package/dist/src/core/wire-destroy.d.ts +0 -25
- package/dist/src/core/wire-destroy.js +0 -126
- package/dist/src/core/wire-dom-fragment.d.ts +0 -44
- package/dist/src/core/wire-dom-fragment.js +0 -139
- package/dist/src/core/wire-init.d.ts +0 -28
- package/dist/src/core/wire-init.js +0 -219
- package/dist/src/core/wire-subscript.d.ts +0 -23
- package/dist/src/core/wire-subscript.js +0 -145
- package/dist/src/core/wire-utils.d.ts +0 -149
- package/dist/src/core/wire-utils.js +0 -338
- package/dist/src/core/xpcshell-appdir.d.ts +0 -157
- package/dist/src/core/xpcshell-appdir.js +0 -299
- package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
- package/dist/src/core/xpcshell-profile-dir.js +0 -45
- package/dist/src/errors/base.d.ts +0 -217
- package/dist/src/errors/base.js +0 -279
- package/dist/src/errors/build.d.ts +0 -92
- package/dist/src/errors/build.js +0 -166
- package/dist/src/errors/codes.d.ts +0 -74
- package/dist/src/errors/codes.js +0 -74
- package/dist/src/errors/config.d.ts +0 -17
- package/dist/src/errors/config.js +0 -39
- package/dist/src/errors/download.d.ts +0 -66
- package/dist/src/errors/download.js +0 -160
- package/dist/src/errors/furnace.d.ts +0 -20
- package/dist/src/errors/furnace.js +0 -28
- package/dist/src/errors/git.d.ts +0 -65
- package/dist/src/errors/git.js +0 -140
- package/dist/src/errors/patch.d.ts +0 -27
- package/dist/src/errors/patch.js +0 -52
- package/dist/src/errors/rebase.d.ts +0 -42
- package/dist/src/errors/rebase.js +0 -71
- package/dist/src/errors/run.d.ts +0 -16
- package/dist/src/errors/run.js +0 -22
- package/dist/src/index.d.ts +0 -42
- package/dist/src/index.js +0 -32
- package/dist/src/types/cli.d.ts +0 -14
- package/dist/src/types/commands/index.d.ts +0 -6
- package/dist/src/types/commands/index.js +0 -5
- package/dist/src/types/commands/options.d.ts +0 -1372
- package/dist/src/types/commands/options.js +0 -5
- package/dist/src/types/commands/patches.d.ts +0 -352
- package/dist/src/types/commands/patches.js +0 -5
- package/dist/src/types/commands/project.d.ts +0 -51
- package/dist/src/types/commands/project.js +0 -5
- package/dist/src/types/config.d.ts +0 -732
- package/dist/src/types/config.js +0 -15
- package/dist/src/types/furnace.d.ts +0 -422
- package/dist/src/types/furnace.js +0 -26
- package/dist/src/types/index.d.ts +0 -5
- package/dist/src/types/index.js +0 -5
- package/dist/src/types/json.d.ts +0 -22
- package/dist/src/types/json.js +0 -11
- package/dist/src/types/typecheck.d.ts +0 -51
- package/dist/src/types/typecheck.js +0 -14
- package/dist/src/utils/assert.d.ts +0 -34
- package/dist/src/utils/assert.js +0 -61
- package/dist/src/utils/build-info.d.ts +0 -30
- package/dist/src/utils/build-info.js +0 -99
- package/dist/src/utils/child-env.d.ts +0 -28
- package/dist/src/utils/child-env.js +0 -27
- package/dist/src/utils/concurrency.d.ts +0 -8
- package/dist/src/utils/concurrency.js +0 -32
- package/dist/src/utils/elapsed.d.ts +0 -2
- package/dist/src/utils/elapsed.js +0 -23
- package/dist/src/utils/errors.d.ts +0 -39
- package/dist/src/utils/errors.js +0 -67
- package/dist/src/utils/fs.d.ts +0 -113
- package/dist/src/utils/fs.js +0 -337
- package/dist/src/utils/hash.d.ts +0 -12
- package/dist/src/utils/hash.js +0 -16
- package/dist/src/utils/line-dispatch.d.ts +0 -15
- package/dist/src/utils/line-dispatch.js +0 -48
- package/dist/src/utils/logger.d.ts +0 -109
- package/dist/src/utils/logger.js +0 -270
- package/dist/src/utils/machine-output.d.ts +0 -12
- package/dist/src/utils/machine-output.js +0 -33
- package/dist/src/utils/options.d.ts +0 -155
- package/dist/src/utils/options.js +0 -312
- package/dist/src/utils/package-root.d.ts +0 -21
- package/dist/src/utils/package-root.js +0 -70
- package/dist/src/utils/parse.d.ts +0 -117
- package/dist/src/utils/parse.js +0 -214
- package/dist/src/utils/path-glob.d.ts +0 -15
- package/dist/src/utils/path-glob.js +0 -47
- package/dist/src/utils/paths.d.ts +0 -31
- package/dist/src/utils/paths.js +0 -80
- package/dist/src/utils/platform.d.ts +0 -9
- package/dist/src/utils/platform.js +0 -14
- package/dist/src/utils/process-group.d.ts +0 -42
- package/dist/src/utils/process-group.js +0 -190
- package/dist/src/utils/process-input.d.ts +0 -27
- package/dist/src/utils/process-input.js +0 -46
- package/dist/src/utils/process.d.ts +0 -293
- package/dist/src/utils/process.js +0 -593
- package/dist/src/utils/ps-duration.d.ts +0 -31
- package/dist/src/utils/ps-duration.js +0 -70
- package/dist/src/utils/regex.d.ts +0 -39
- package/dist/src/utils/regex.js +0 -109
- package/dist/src/utils/sleep.d.ts +0 -25
- package/dist/src/utils/sleep.js +0 -30
- package/dist/src/utils/stdio-drain.d.ts +0 -28
- package/dist/src/utils/stdio-drain.js +0 -54
- package/dist/src/utils/validation.d.ts +0 -182
- package/dist/src/utils/validation.js +0 -394
- package/docs/lifecycle-invariants.md +0 -523
- package/docs/run-logs.md +0 -122
- package/docs/verification-trees.md +0 -49
- /package/dist/src/{types/cli.js → cli/context.js} +0 -0
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Scaffolds the default tokens CSS file consumed by `fireforge token add`.
|
|
4
|
-
*
|
|
5
|
-
* Without it, `fireforge furnace init` writes `furnace.json` but not the
|
|
6
|
-
* tokens CSS, and every project's first `fireforge token add` hits
|
|
7
|
-
* `Token CSS file not found: browser/themes/shared/<binaryName>-tokens.css`.
|
|
8
|
-
* Init calls into this module to write a canonical `:root { … }` shell with
|
|
9
|
-
* a seed set of category headers that `assertTokenCategoryExists`
|
|
10
|
-
* recognises, and registers the tokens CSS path in
|
|
11
|
-
* `patchLint.rawColorAllowlist` so the first token that is an actual color
|
|
12
|
-
* value does not instantly fail `fireforge lint`.
|
|
13
|
-
*/
|
|
14
|
-
import { getLicenseHeader } from './license-headers.js';
|
|
15
|
-
/**
|
|
16
|
-
* The set of categories seeded by the default scaffold. `token add
|
|
17
|
-
* --category <name>` accepts any of these without further setup. An
|
|
18
|
-
* operator who needs another category only has to add a matching
|
|
19
|
-
* `/* = My Category = *\/` header inside the `:root` block by hand.
|
|
20
|
-
*
|
|
21
|
-
* The names intentionally mirror the vocabulary used in Firefox's own
|
|
22
|
-
* token files (the color and spacing categories listed below) so operators
|
|
23
|
-
* coming from upstream don't have to relearn a fork-specific taxonomy.
|
|
24
|
-
*/
|
|
25
|
-
export const DEFAULT_TOKEN_CATEGORIES = [
|
|
26
|
-
'Colors — General',
|
|
27
|
-
'Colors — Canvas',
|
|
28
|
-
'Colors — Experiment',
|
|
29
|
-
'Spacing',
|
|
30
|
-
];
|
|
31
|
-
/**
|
|
32
|
-
* Generates the default tokens CSS body. Extracted from the init
|
|
33
|
-
* command so tests can assert on the generated shape without running
|
|
34
|
-
* the interactive scaffold flow.
|
|
35
|
-
*
|
|
36
|
-
* @param binaryName - `fireforge.json` `binaryName` used in the
|
|
37
|
-
* rendered file banner so operators can identify the fork on-sight.
|
|
38
|
-
* @param license - Project license, piped through `getLicenseHeader`
|
|
39
|
-
* so the scaffold is SPDX-marked and survives `fireforge lint`'s
|
|
40
|
-
* license-header checks without operator intervention.
|
|
41
|
-
*/
|
|
42
|
-
export function generateDefaultTokensCss(binaryName, license) {
|
|
43
|
-
const header = getLicenseHeader(license, 'css');
|
|
44
|
-
const categoryBlocks = DEFAULT_TOKEN_CATEGORIES.map((category) => ` /* = ${category} = */\n /* (add design tokens for "${category}" here; use \`fireforge token add --category "${category}" …\`) */`).join('\n\n');
|
|
45
|
-
return `${header}
|
|
46
|
-
|
|
47
|
-
/*
|
|
48
|
-
* Design tokens for ${binaryName}.
|
|
49
|
-
*
|
|
50
|
-
* Scaffolded by \`fireforge furnace init\`. Add new tokens with
|
|
51
|
-
* \`fireforge token add --category '<name>' -- <token-name> <value>\`
|
|
52
|
-
* — the command appends into the matching \`/* = <name> = *\\/\` block
|
|
53
|
-
* below and keeps the per-category ordering stable.
|
|
54
|
-
*
|
|
55
|
-
* Raw color literals inside this file are expected — the whole point
|
|
56
|
-
* of the tokens layer is that every other CSS file consumes \`var(…)\`
|
|
57
|
-
* instead of literal colors. \`fireforge furnace init\` adds this
|
|
58
|
-
* file's path to \`patchLint.rawColorAllowlist\` in fireforge.json so
|
|
59
|
-
* \`fireforge lint\` stops flagging the literals here.
|
|
60
|
-
*/
|
|
61
|
-
|
|
62
|
-
:root {
|
|
63
|
-
${categoryBlocks}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
@media (prefers-color-scheme: dark) {
|
|
67
|
-
:root {
|
|
68
|
-
/* Dark-mode overrides land here. Use \`fireforge token add --mode override --dark-value <v>\`
|
|
69
|
-
to have a token's dark value placed inside this block. */
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
`;
|
|
73
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Which stylesheets load together, so `token lint` can resolve a token one
|
|
3
|
-
* sheet references against the declarations of the sheets beside it.
|
|
4
|
-
*
|
|
5
|
-
* A widget sheet may read a token its host document's other sheet
|
|
6
|
-
* declares; judged alone it looks undeclared. Two sources say which sheets
|
|
7
|
-
* share a document:
|
|
8
|
-
*
|
|
9
|
-
* - links the queue's documents make: `<link rel="stylesheet">` (and
|
|
10
|
-
* `<html:link>`) and `<?xml-stylesheet?>` in markup and Lit templates,
|
|
11
|
-
* and CSS `@import`. A `chrome://` URL resolves through the jar.mn lines
|
|
12
|
-
* the queue adds; a relative URL resolves beside the document, and only
|
|
13
|
-
* to a sheet the queue touches.
|
|
14
|
-
* - `furnace.json#tokenSiblingSheets`: `{ "<glob>": ["<path or glob>"] }`,
|
|
15
|
-
* for pairings no link in the queue shows (an upstream host document).
|
|
16
|
-
*
|
|
17
|
-
* Sheets linked from one document are siblings of each other; an
|
|
18
|
-
* `@import` makes the importing and the imported sheet siblings.
|
|
19
|
-
*/
|
|
20
|
-
/** The stylesheet URLs one document or sheet loads, in order. */
|
|
21
|
-
export declare function collectStylesheetUrls(file: string, content: string): string[];
|
|
22
|
-
/**
|
|
23
|
-
* Resolves a stylesheet URL to an engine-relative path, or undefined.
|
|
24
|
-
*
|
|
25
|
-
* @param url - The URL as written
|
|
26
|
-
* @param from - Engine-relative path of the document or sheet holding it
|
|
27
|
-
* @param jarTargets - jar target (`content/<pkg>/<path>`) → packaged source
|
|
28
|
-
* @param knownSheets - Sheets a relative URL may resolve to
|
|
29
|
-
*/
|
|
30
|
-
export declare function resolveStylesheetUrl(url: string, from: string, jarTargets: ReadonlyMap<string, string>, knownSheets: ReadonlySet<string>): string | undefined;
|
|
31
|
-
/** Inputs of {@link buildSiblingSheetMap}. */
|
|
32
|
-
export interface SiblingSheetInputs {
|
|
33
|
-
/** Documents and sheets to read links from: engine-relative path and content. */
|
|
34
|
-
documents: Iterable<readonly [string, string]>;
|
|
35
|
-
/** jar target → packaged source, from the queue's jar.mn lines. */
|
|
36
|
-
jarTargets: ReadonlyMap<string, string>;
|
|
37
|
-
/** The sheets `token lint` judges. */
|
|
38
|
-
sheets: readonly string[];
|
|
39
|
-
/** `furnace.json#tokenSiblingSheets`. */
|
|
40
|
-
explicit?: Readonly<Record<string, readonly string[]>> | undefined;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Maps each sheet to the other sheets that load beside it. A sheet with no
|
|
44
|
-
* siblings is absent.
|
|
45
|
-
*/
|
|
46
|
-
export declare function buildSiblingSheetMap(inputs: SiblingSheetInputs): Map<string, Set<string>>;
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Which stylesheets load together, so `token lint` can resolve a token one
|
|
4
|
-
* sheet references against the declarations of the sheets beside it.
|
|
5
|
-
*
|
|
6
|
-
* A widget sheet may read a token its host document's other sheet
|
|
7
|
-
* declares; judged alone it looks undeclared. Two sources say which sheets
|
|
8
|
-
* share a document:
|
|
9
|
-
*
|
|
10
|
-
* - links the queue's documents make: `<link rel="stylesheet">` (and
|
|
11
|
-
* `<html:link>`) and `<?xml-stylesheet?>` in markup and Lit templates,
|
|
12
|
-
* and CSS `@import`. A `chrome://` URL resolves through the jar.mn lines
|
|
13
|
-
* the queue adds; a relative URL resolves beside the document, and only
|
|
14
|
-
* to a sheet the queue touches.
|
|
15
|
-
* - `furnace.json#tokenSiblingSheets`: `{ "<glob>": ["<path or glob>"] }`,
|
|
16
|
-
* for pairings no link in the queue shows (an upstream host document).
|
|
17
|
-
*
|
|
18
|
-
* Sheets linked from one document are siblings of each other; an
|
|
19
|
-
* `@import` makes the importing and the imported sheet siblings.
|
|
20
|
-
*/
|
|
21
|
-
import { dirname, posix } from 'node:path';
|
|
22
|
-
import { matchesAnyGlob } from '../utils/path-glob.js';
|
|
23
|
-
import { normalizePathSlashes } from '../utils/paths.js';
|
|
24
|
-
const LINK_TAG = /<(?:html:)?link\b[^>]*>/gi;
|
|
25
|
-
const STYLESHEET_PI = /<\?xml-stylesheet\b[^?]*?href\s*=\s*["']([^"']+)["']/gi;
|
|
26
|
-
const CSS_IMPORT = /@import\s+(?:url\(\s*)?["']([^"']+)["']/gi;
|
|
27
|
-
/** The stylesheet URLs one document or sheet loads, in order. */
|
|
28
|
-
export function collectStylesheetUrls(file, content) {
|
|
29
|
-
const urls = [];
|
|
30
|
-
if (file.endsWith('.css')) {
|
|
31
|
-
for (const match of content.matchAll(CSS_IMPORT))
|
|
32
|
-
urls.push(match[1] ?? '');
|
|
33
|
-
return urls.filter((url) => url !== '');
|
|
34
|
-
}
|
|
35
|
-
for (const match of content.matchAll(LINK_TAG)) {
|
|
36
|
-
const tag = match[0];
|
|
37
|
-
if (!/\brel\s*=\s*["']stylesheet["']/i.test(tag))
|
|
38
|
-
continue;
|
|
39
|
-
const href = /\bhref\s*=\s*["']([^"'$]+)["']/i.exec(tag)?.[1];
|
|
40
|
-
if (href !== undefined)
|
|
41
|
-
urls.push(href);
|
|
42
|
-
}
|
|
43
|
-
for (const match of content.matchAll(STYLESHEET_PI))
|
|
44
|
-
urls.push(match[1] ?? '');
|
|
45
|
-
return urls.filter((url) => url.endsWith('.css'));
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Resolves a stylesheet URL to an engine-relative path, or undefined.
|
|
49
|
-
*
|
|
50
|
-
* @param url - The URL as written
|
|
51
|
-
* @param from - Engine-relative path of the document or sheet holding it
|
|
52
|
-
* @param jarTargets - jar target (`content/<pkg>/<path>`) → packaged source
|
|
53
|
-
* @param knownSheets - Sheets a relative URL may resolve to
|
|
54
|
-
*/
|
|
55
|
-
export function resolveStylesheetUrl(url, from, jarTargets, knownSheets) {
|
|
56
|
-
const chrome = /^chrome:\/\/([\w.-]+)\/(content|skin|locale)\/(.+)$/.exec(url);
|
|
57
|
-
if (chrome !== null) {
|
|
58
|
-
const [, pkg = '', kind = '', path = ''] = chrome;
|
|
59
|
-
const candidates = kind === 'skin'
|
|
60
|
-
? [`skin/classic/${pkg}/${path}`, `skin/${pkg}/${path}`]
|
|
61
|
-
: [`${kind}/${pkg}/${path}`];
|
|
62
|
-
for (const target of candidates) {
|
|
63
|
-
const source = jarTargets.get(target);
|
|
64
|
-
if (source !== undefined)
|
|
65
|
-
return source;
|
|
66
|
-
}
|
|
67
|
-
return undefined;
|
|
68
|
-
}
|
|
69
|
-
if (/^[a-z][\w+.-]*:/i.test(url))
|
|
70
|
-
return undefined;
|
|
71
|
-
const base = normalizePathSlashes(dirname(from));
|
|
72
|
-
const resolved = posix.normalize(posix.join(base === '.' ? '' : base, url));
|
|
73
|
-
return knownSheets.has(resolved) ? resolved : undefined;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Maps each sheet to the other sheets that load beside it. A sheet with no
|
|
77
|
-
* siblings is absent.
|
|
78
|
-
*/
|
|
79
|
-
export function buildSiblingSheetMap(inputs) {
|
|
80
|
-
const known = new Set(inputs.sheets);
|
|
81
|
-
const siblings = new Map();
|
|
82
|
-
const link = (group) => {
|
|
83
|
-
for (const sheet of group) {
|
|
84
|
-
const set = siblings.get(sheet) ?? new Set();
|
|
85
|
-
for (const other of group)
|
|
86
|
-
if (other !== sheet)
|
|
87
|
-
set.add(other);
|
|
88
|
-
if (set.size > 0)
|
|
89
|
-
siblings.set(sheet, set);
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
for (const [file, content] of inputs.documents) {
|
|
93
|
-
const linked = collectStylesheetUrls(file, content)
|
|
94
|
-
.map((url) => resolveStylesheetUrl(url, file, inputs.jarTargets, known))
|
|
95
|
-
.filter((sheet) => sheet !== undefined);
|
|
96
|
-
// An @import pairs the importing sheet with what it imports.
|
|
97
|
-
link(file.endsWith('.css') ? [file, ...linked] : linked);
|
|
98
|
-
}
|
|
99
|
-
for (const [pattern, partners] of Object.entries(inputs.explicit ?? {})) {
|
|
100
|
-
const owners = inputs.sheets.filter((sheet) => matchesAnyGlob(sheet, [pattern]));
|
|
101
|
-
for (const owner of owners) {
|
|
102
|
-
const set = siblings.get(owner) ?? new Set();
|
|
103
|
-
for (const partner of partners) {
|
|
104
|
-
if (/[*?]/.test(partner)) {
|
|
105
|
-
for (const sheet of inputs.sheets) {
|
|
106
|
-
if (sheet !== owner && matchesAnyGlob(sheet, [partner]))
|
|
107
|
-
set.add(sheet);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
else if (partner !== owner) {
|
|
111
|
-
set.add(partner);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
if (set.size > 0)
|
|
115
|
-
siblings.set(owner, set);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
return siblings;
|
|
119
|
-
}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Attribute-variant block helpers for the tokens CSS scaffold.
|
|
3
|
-
*
|
|
4
|
-
* `fireforge token add --mode` can author the base `:root { }` block and the
|
|
5
|
-
* dark `@media (prefers-color-scheme: dark)` block, but not an
|
|
6
|
-
* attribute-keyed selector such as `:root[data-skin="precision"]` or
|
|
7
|
-
* `:root[data-private]`, which would otherwise have to be hand-edited. These
|
|
8
|
-
* helpers locate (or compute the insertion point for) a top-level
|
|
9
|
-
* `:root<variant>` block so `token-manager.ts` can splice a declaration into
|
|
10
|
-
* it, keeping all token authoring in the CLI.
|
|
11
|
-
*/
|
|
12
|
-
import type { TokenDeclarationLocation } from './token-category.js';
|
|
13
|
-
/**
|
|
14
|
-
* Outcome of {@link validateVariantSelector}. `ok: true` carries the
|
|
15
|
-
* normalized (quoted) selector fragment. `ok: false` carries a
|
|
16
|
-
* human-readable reason suitable for throwing as an `InvalidArgumentError`.
|
|
17
|
-
*/
|
|
18
|
-
export type VariantValidation = {
|
|
19
|
-
ok: true;
|
|
20
|
-
value: string;
|
|
21
|
-
} | {
|
|
22
|
-
ok: false;
|
|
23
|
-
reason: string;
|
|
24
|
-
};
|
|
25
|
-
/**
|
|
26
|
-
* Validates a `--variant` selector fragment and normalizes any `=value`
|
|
27
|
-
* form to the double-quoted `="value"` shape (Mozilla convention).
|
|
28
|
-
* Boolean-attribute fragments are returned unchanged.
|
|
29
|
-
*
|
|
30
|
-
* Structure is decided by {@link rootAttributeSelector}, the matcher's own
|
|
31
|
-
* parse, rather than by a second regex. The matcher consumes consecutive
|
|
32
|
-
* `[…]` groups and stops at a pseudo-class tail, and a separate validator
|
|
33
|
-
* that does not follow it leaves blocks such as
|
|
34
|
-
* `:root[data-skin="humanist"]:not([data-private])` findable but
|
|
35
|
-
* unnameable. Running both halves off one parse keeps them from drifting
|
|
36
|
-
* apart. Character-level safety stays a
|
|
37
|
-
* separate, per-group check, because the matcher finds bracket boundaries
|
|
38
|
-
* and validates no characters at all.
|
|
39
|
-
*
|
|
40
|
-
* @param raw - Raw `--variant` value from the CLI / programmatic caller.
|
|
41
|
-
*/
|
|
42
|
-
export declare function validateVariantSelector(raw: unknown): VariantValidation;
|
|
43
|
-
/**
|
|
44
|
-
* True when a top-level `:root<variant>` block exists in `lines`. Used by
|
|
45
|
-
* the override path to write theme-attribute blocks only when the scaffold
|
|
46
|
-
* already declares them. `insertVariantDeclaration` would otherwise create
|
|
47
|
-
* the block, which is only wanted for the explicit `--variant` flow.
|
|
48
|
-
*/
|
|
49
|
-
export declare function variantBlockExists(lines: string[], variant: string): boolean;
|
|
50
|
-
/**
|
|
51
|
-
* The pseudo-class qualifier on the matched `:root<variant>` block, or
|
|
52
|
-
* `undefined` when no block matched. `''` for an unqualified block.
|
|
53
|
-
*
|
|
54
|
-
* A qualifier such as `:not([data-private])` is load-bearing: writing into
|
|
55
|
-
* that block scopes the declaration to the qualified case, and that may not
|
|
56
|
-
* be what the operator meant. Matching it is still the right call, since
|
|
57
|
-
* silently skipping it is the worse failure and the one that shipped, but
|
|
58
|
-
* the override path uses this to say out loud which selector it wrote
|
|
59
|
-
* through, so the narrowing is a visible decision rather than a theme bug
|
|
60
|
-
* discovered later.
|
|
61
|
-
*
|
|
62
|
-
* @param lines - Tokens CSS split into lines
|
|
63
|
-
* @param variant - Attribute selector fragment, e.g. `[data-theme="light"]`
|
|
64
|
-
* @returns The qualifier, or undefined when no block matched
|
|
65
|
-
*/
|
|
66
|
-
export declare function variantBlockQualifier(lines: string[], variant: string): string | undefined;
|
|
67
|
-
/** True when the `:root<variant>` block already declares `tokenName`. */
|
|
68
|
-
export declare function variantBlockHasToken(lines: string[], variant: string, tokenName: string): boolean;
|
|
69
|
-
/**
|
|
70
|
-
* Locates an existing declaration of `tokenName` inside the
|
|
71
|
-
* `:root<variant>` block, or `undefined` when the block has none (or does
|
|
72
|
-
* not exist).
|
|
73
|
-
*
|
|
74
|
-
* The located form of {@link variantBlockHasToken}: the variant add path
|
|
75
|
-
* reports a skip the way the base path does, naming the block and the
|
|
76
|
-
* line, instead of returning a bare boolean that leaves a no-op re-run
|
|
77
|
-
* indistinguishable from a write.
|
|
78
|
-
*
|
|
79
|
-
* @param lines - Tokens CSS split into lines
|
|
80
|
-
* @param variant - Attribute selector fragment
|
|
81
|
-
* @param tokenName - Full token name including prefix
|
|
82
|
-
* @returns The declaration's 1-based line, or undefined
|
|
83
|
-
*/
|
|
84
|
-
export declare function findVariantBlockDeclaration(lines: string[], variant: string, tokenName: string): TokenDeclarationLocation | undefined;
|
|
85
|
-
/**
|
|
86
|
-
* Splices `declLine` into the `:root<variant>` block, creating the block
|
|
87
|
-
* (after the base `:root` block) when absent or appending after the last
|
|
88
|
-
* non-blank line when present. Mutates `lines` in place.
|
|
89
|
-
*/
|
|
90
|
-
export declare function insertVariantDeclaration(lines: string[], variant: string, declLine: string): void;
|
|
@@ -1,327 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Attribute-variant block helpers for the tokens CSS scaffold.
|
|
4
|
-
*
|
|
5
|
-
* `fireforge token add --mode` can author the base `:root { }` block and the
|
|
6
|
-
* dark `@media (prefers-color-scheme: dark)` block, but not an
|
|
7
|
-
* attribute-keyed selector such as `:root[data-skin="precision"]` or
|
|
8
|
-
* `:root[data-private]`, which would otherwise have to be hand-edited. These
|
|
9
|
-
* helpers locate (or compute the insertion point for) a top-level
|
|
10
|
-
* `:root<variant>` block so `token-manager.ts` can splice a declaration into
|
|
11
|
-
* it, keeping all token authoring in the CLI.
|
|
12
|
-
*/
|
|
13
|
-
import { findBlockCloseIndex, stripBlockCommentsInLines } from './token-dark-mode.js';
|
|
14
|
-
/**
|
|
15
|
-
* One attribute selector fragment: `[data-private]` (boolean attribute) or
|
|
16
|
-
* `[data-skin=precision]` / `[data-skin="precision"]` (attribute with
|
|
17
|
-
* value). The name and value halves are restricted to identifier-safe
|
|
18
|
-
* characters so the fragment can be spliced into CSS verbatim without
|
|
19
|
-
* escaping concerns.
|
|
20
|
-
*
|
|
21
|
-
* A multi-fragment variant is checked one group at a time (see
|
|
22
|
-
* {@link splitAttributeGroups}) rather than by wrapping this in a `+`: the
|
|
23
|
-
* repeated form is the shape CodeQL flags as `js/polynomial-redos`, and the
|
|
24
|
-
* split the matcher already performs is available for free.
|
|
25
|
-
*/
|
|
26
|
-
const ATTRIBUTE_FRAGMENT_PATTERN = /^\[[a-zA-Z][a-zA-Z0-9_-]*(?:=(?:"[a-zA-Z0-9_-]+"|'[a-zA-Z0-9_-]+'|[a-zA-Z0-9_-]+))?\]$/;
|
|
27
|
-
/**
|
|
28
|
-
* A pseudo-class tail: `:not(…)`, `:hover`, and friends. The parenthesised
|
|
29
|
-
* argument is captured rather than validated here. It is a fragment run of
|
|
30
|
-
* its own and goes through the same per-group check.
|
|
31
|
-
*/
|
|
32
|
-
const QUALIFIER_PATTERN = /^:[a-zA-Z][a-zA-Z0-9-]*(?:\(([^()]*)\))?$/;
|
|
33
|
-
/**
|
|
34
|
-
* Splits a run of consecutive attribute fragments into its groups, or
|
|
35
|
-
* returns `undefined` when the run is not exactly that: a group that does
|
|
36
|
-
* not open with `[`, an unclosed group, an empty run, or a group whose name
|
|
37
|
-
* or value is not identifier-safe.
|
|
38
|
-
*
|
|
39
|
-
* @param run - The `[…][…]` text with no `:root` prefix
|
|
40
|
-
* @returns The individual fragments, or undefined when the run is not valid
|
|
41
|
-
*/
|
|
42
|
-
function splitAttributeGroups(run) {
|
|
43
|
-
const groups = [];
|
|
44
|
-
let cursor = 0;
|
|
45
|
-
while (cursor < run.length) {
|
|
46
|
-
if (run[cursor] !== '[')
|
|
47
|
-
return undefined;
|
|
48
|
-
const close = run.indexOf(']', cursor);
|
|
49
|
-
if (close === -1)
|
|
50
|
-
return undefined;
|
|
51
|
-
const group = run.slice(cursor, close + 1);
|
|
52
|
-
if (!ATTRIBUTE_FRAGMENT_PATTERN.test(group))
|
|
53
|
-
return undefined;
|
|
54
|
-
groups.push(group);
|
|
55
|
-
cursor = close + 1;
|
|
56
|
-
}
|
|
57
|
-
return groups.length > 0 ? groups : undefined;
|
|
58
|
-
}
|
|
59
|
-
/** Rewrites `=value` / `='value'` to the double-quoted Mozilla convention. */
|
|
60
|
-
function normalizeAttributeFragment(group) {
|
|
61
|
-
return group
|
|
62
|
-
.replace(/='([a-zA-Z0-9_-]+)'\]$/, '="$1"]')
|
|
63
|
-
.replace(/=([a-zA-Z0-9_-]+)\]$/, '="$1"]');
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Validates a `--variant` selector fragment and normalizes any `=value`
|
|
67
|
-
* form to the double-quoted `="value"` shape (Mozilla convention).
|
|
68
|
-
* Boolean-attribute fragments are returned unchanged.
|
|
69
|
-
*
|
|
70
|
-
* Structure is decided by {@link rootAttributeSelector}, the matcher's own
|
|
71
|
-
* parse, rather than by a second regex. The matcher consumes consecutive
|
|
72
|
-
* `[…]` groups and stops at a pseudo-class tail, and a separate validator
|
|
73
|
-
* that does not follow it leaves blocks such as
|
|
74
|
-
* `:root[data-skin="humanist"]:not([data-private])` findable but
|
|
75
|
-
* unnameable. Running both halves off one parse keeps them from drifting
|
|
76
|
-
* apart. Character-level safety stays a
|
|
77
|
-
* separate, per-group check, because the matcher finds bracket boundaries
|
|
78
|
-
* and validates no characters at all.
|
|
79
|
-
*
|
|
80
|
-
* @param raw - Raw `--variant` value from the CLI / programmatic caller.
|
|
81
|
-
*/
|
|
82
|
-
export function validateVariantSelector(raw) {
|
|
83
|
-
if (typeof raw !== 'string') {
|
|
84
|
-
return { ok: false, reason: 'must be a string when set' };
|
|
85
|
-
}
|
|
86
|
-
const reject = {
|
|
87
|
-
ok: false,
|
|
88
|
-
reason: 'must be one or more attribute selectors like [data-private], [data-skin=precision] ' +
|
|
89
|
-
'or [data-skin=precision][data-theme=dark], optionally followed by a pseudo-class ' +
|
|
90
|
-
'such as :not([data-private]) (identifier-safe attribute names and values only)',
|
|
91
|
-
};
|
|
92
|
-
const value = raw.trim();
|
|
93
|
-
if (value === '')
|
|
94
|
-
return reject;
|
|
95
|
-
const parts = rootAttributeSelector(`:root${value} {`);
|
|
96
|
-
// The parse must have consumed the whole fragment: anything it declined to
|
|
97
|
-
// read (a stray space, a trailing combinator) is text the matcher would
|
|
98
|
-
// not see either, so accepting it would author a block nothing can find.
|
|
99
|
-
if (parts === undefined || `${parts.attributes}${parts.qualifier}` !== `:root${value}`)
|
|
100
|
-
return reject;
|
|
101
|
-
const groups = splitAttributeGroups(parts.attributes.slice(':root'.length));
|
|
102
|
-
if (groups === undefined)
|
|
103
|
-
return reject;
|
|
104
|
-
let qualifier = '';
|
|
105
|
-
if (parts.qualifier !== '') {
|
|
106
|
-
const match = QUALIFIER_PATTERN.exec(parts.qualifier);
|
|
107
|
-
if (match === null)
|
|
108
|
-
return reject;
|
|
109
|
-
const inner = match[1];
|
|
110
|
-
if (inner === undefined) {
|
|
111
|
-
qualifier = parts.qualifier;
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
const innerGroups = splitAttributeGroups(inner);
|
|
115
|
-
if (innerGroups === undefined)
|
|
116
|
-
return reject;
|
|
117
|
-
const name = parts.qualifier.slice(0, parts.qualifier.indexOf('('));
|
|
118
|
-
qualifier = `${name}(${innerGroups.map(normalizeAttributeFragment).join('')})`;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
return { ok: true, value: `${groups.map(normalizeAttributeFragment).join('')}${qualifier}` };
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Reduces a `:root<attr>` selector to a quote- and whitespace-insensitive
|
|
125
|
-
* canonical form so `[data-skin="precision"]`, `[data-skin='precision']`,
|
|
126
|
-
* and `[data-skin=precision]` all compare equal when matching an existing
|
|
127
|
-
* block against the requested variant.
|
|
128
|
-
*/
|
|
129
|
-
function canonicalSelector(selector) {
|
|
130
|
-
return selector.replace(/\s+/g, '').replace(/["']/g, '');
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Splits the `:root[…]` selector on `line` into its attribute run and any
|
|
134
|
-
* trailing qualifier, or `undefined` when the line carries none.
|
|
135
|
-
*
|
|
136
|
-
* Index arithmetic rather than `/:root\[[^{]*\]/`: `[^{]` also matches `]`,
|
|
137
|
-
* so that pattern backtracks quadratically on a line repeating `:root[`
|
|
138
|
-
* (CodeQL `js/polynomial-redos`). This walk is linear and allocation-free
|
|
139
|
-
* per group.
|
|
140
|
-
*
|
|
141
|
-
* It consumes consecutive `[…]` groups and stops at the first character that
|
|
142
|
-
* is not `[`. The previous implementation instead sliced to the last `]`
|
|
143
|
-
* before the brace, which kept multi-attribute selectors comparing as a
|
|
144
|
-
* whole (that property is preserved here, since consecutive groups are all
|
|
145
|
-
* consumed) but it also swallowed a pseudo-class tail. On
|
|
146
|
-
* `:root[data-theme="light"]:not([data-private]) {` the last `]` is the one
|
|
147
|
-
* inside `:not(…)`, so the computed fragment was
|
|
148
|
-
* `:root[data-theme="light"]:not([data-private]` and the canonical
|
|
149
|
-
* comparison could never match. The unqualified
|
|
150
|
-
* `:root[data-theme="dark"] { }` beside it matched fine, and that asymmetry
|
|
151
|
-
* was the bug: an override add mirrored itself into the dark block and
|
|
152
|
-
* silently skipped the light one, the half-finished themed edit
|
|
153
|
-
* `THEME_ATTRIBUTE_VARIANTS` exists to prevent.
|
|
154
|
-
*/
|
|
155
|
-
function rootAttributeSelector(line) {
|
|
156
|
-
const start = line.indexOf(':root[');
|
|
157
|
-
if (start === -1)
|
|
158
|
-
return undefined;
|
|
159
|
-
const brace = line.indexOf('{', start);
|
|
160
|
-
const limit = brace === -1 ? line.length : brace;
|
|
161
|
-
let cursor = start + ':root'.length;
|
|
162
|
-
let end = cursor;
|
|
163
|
-
while (cursor < limit && line[cursor] === '[') {
|
|
164
|
-
const close = line.indexOf(']', cursor);
|
|
165
|
-
if (close === -1 || close >= limit)
|
|
166
|
-
break;
|
|
167
|
-
cursor = close + 1;
|
|
168
|
-
end = cursor;
|
|
169
|
-
}
|
|
170
|
-
if (end === start + ':root'.length)
|
|
171
|
-
return undefined;
|
|
172
|
-
return { attributes: line.slice(start, end), qualifier: line.slice(end, limit).trim() };
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Finds the top-level `:root<variant>` block whose attribute selector
|
|
176
|
-
* matches `variant` (compared canonically). Returns the opening-brace and
|
|
177
|
-
* closing-brace line indices, or `undefined` when no such block exists.
|
|
178
|
-
*
|
|
179
|
-
* Scans a comment-stripped mirror of `lines` so braces inside comments do
|
|
180
|
-
* not offset the depth counter. The returned indices line up with the
|
|
181
|
-
* original array.
|
|
182
|
-
*/
|
|
183
|
-
function findVariantBlock(lines, variant) {
|
|
184
|
-
const stripped = stripBlockCommentsInLines(lines);
|
|
185
|
-
// The request goes through the same parse as the candidate lines, so a
|
|
186
|
-
// variant carrying its own `:not(…)` tail is compared tail-to-tail rather
|
|
187
|
-
// than being folded into the attribute run, where it would match nothing
|
|
188
|
-
// and every add would splice a fresh duplicate block.
|
|
189
|
-
const requested = rootAttributeSelector(`:root${variant} {`);
|
|
190
|
-
const want = canonicalSelector(requested?.attributes ?? `:root${variant}`);
|
|
191
|
-
const wantQualifier = canonicalSelector(requested?.qualifier ?? '');
|
|
192
|
-
for (const [i, line] of stripped.entries()) {
|
|
193
|
-
const selector = rootAttributeSelector(line);
|
|
194
|
-
if (selector === undefined || canonicalSelector(selector.attributes) !== want)
|
|
195
|
-
continue;
|
|
196
|
-
// An unqualified request still matches a qualified block: that is the
|
|
197
|
-
// behaviour `variantBlockQualifier` exists to report, since
|
|
198
|
-
// silently skipping the block is the worse failure. A request that names
|
|
199
|
-
// a qualifier, though, means it, so it must match.
|
|
200
|
-
if (wantQualifier !== '' && canonicalSelector(selector.qualifier) !== wantQualifier)
|
|
201
|
-
continue;
|
|
202
|
-
let openLine = /\{/.test(line) ? i : -1;
|
|
203
|
-
if (openLine === -1) {
|
|
204
|
-
for (let j = i + 1; j < stripped.length; j++) {
|
|
205
|
-
const next = stripped[j] ?? '';
|
|
206
|
-
if (/\{/.test(next)) {
|
|
207
|
-
openLine = j;
|
|
208
|
-
break;
|
|
209
|
-
}
|
|
210
|
-
if (/[};]/.test(next))
|
|
211
|
-
break;
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
if (openLine === -1)
|
|
215
|
-
continue;
|
|
216
|
-
const close = findBlockCloseIndex(stripped, openLine);
|
|
217
|
-
if (close === -1)
|
|
218
|
-
continue;
|
|
219
|
-
return { open: openLine, close, qualifier: selector.qualifier };
|
|
220
|
-
}
|
|
221
|
-
return undefined;
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Returns the line index at which a brand-new `:root<variant>` block should
|
|
225
|
-
* be spliced: immediately after the base `:root { }` block's closing brace
|
|
226
|
-
* (so attribute variants sit between the base block and any dark `@media`
|
|
227
|
-
* block). Falls back to end-of-file when no base `:root` block is found.
|
|
228
|
-
*/
|
|
229
|
-
function findVariantBlockInsertionPoint(lines) {
|
|
230
|
-
const stripped = stripBlockCommentsInLines(lines);
|
|
231
|
-
for (const [i, line] of stripped.entries()) {
|
|
232
|
-
if (/^\s*:root\s*\{/.test(line)) {
|
|
233
|
-
const close = findBlockCloseIndex(stripped, i);
|
|
234
|
-
if (close !== -1)
|
|
235
|
-
return close + 1;
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
return lines.length;
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* True when a top-level `:root<variant>` block exists in `lines`. Used by
|
|
242
|
-
* the override path to write theme-attribute blocks only when the scaffold
|
|
243
|
-
* already declares them. `insertVariantDeclaration` would otherwise create
|
|
244
|
-
* the block, which is only wanted for the explicit `--variant` flow.
|
|
245
|
-
*/
|
|
246
|
-
export function variantBlockExists(lines, variant) {
|
|
247
|
-
return findVariantBlock(lines, variant) !== undefined;
|
|
248
|
-
}
|
|
249
|
-
/**
|
|
250
|
-
* The pseudo-class qualifier on the matched `:root<variant>` block, or
|
|
251
|
-
* `undefined` when no block matched. `''` for an unqualified block.
|
|
252
|
-
*
|
|
253
|
-
* A qualifier such as `:not([data-private])` is load-bearing: writing into
|
|
254
|
-
* that block scopes the declaration to the qualified case, and that may not
|
|
255
|
-
* be what the operator meant. Matching it is still the right call, since
|
|
256
|
-
* silently skipping it is the worse failure and the one that shipped, but
|
|
257
|
-
* the override path uses this to say out loud which selector it wrote
|
|
258
|
-
* through, so the narrowing is a visible decision rather than a theme bug
|
|
259
|
-
* discovered later.
|
|
260
|
-
*
|
|
261
|
-
* @param lines - Tokens CSS split into lines
|
|
262
|
-
* @param variant - Attribute selector fragment, e.g. `[data-theme="light"]`
|
|
263
|
-
* @returns The qualifier, or undefined when no block matched
|
|
264
|
-
*/
|
|
265
|
-
export function variantBlockQualifier(lines, variant) {
|
|
266
|
-
return findVariantBlock(lines, variant)?.qualifier;
|
|
267
|
-
}
|
|
268
|
-
/** True when the `:root<variant>` block already declares `tokenName`. */
|
|
269
|
-
export function variantBlockHasToken(lines, variant, tokenName) {
|
|
270
|
-
return findVariantBlockDeclaration(lines, variant, tokenName) !== undefined;
|
|
271
|
-
}
|
|
272
|
-
/**
|
|
273
|
-
* Locates an existing declaration of `tokenName` inside the
|
|
274
|
-
* `:root<variant>` block, or `undefined` when the block has none (or does
|
|
275
|
-
* not exist).
|
|
276
|
-
*
|
|
277
|
-
* The located form of {@link variantBlockHasToken}: the variant add path
|
|
278
|
-
* reports a skip the way the base path does, naming the block and the
|
|
279
|
-
* line, instead of returning a bare boolean that leaves a no-op re-run
|
|
280
|
-
* indistinguishable from a write.
|
|
281
|
-
*
|
|
282
|
-
* @param lines - Tokens CSS split into lines
|
|
283
|
-
* @param variant - Attribute selector fragment
|
|
284
|
-
* @param tokenName - Full token name including prefix
|
|
285
|
-
* @returns The declaration's 1-based line, or undefined
|
|
286
|
-
*/
|
|
287
|
-
export function findVariantBlockDeclaration(lines, variant, tokenName) {
|
|
288
|
-
const block = findVariantBlock(lines, variant);
|
|
289
|
-
if (!block)
|
|
290
|
-
return undefined;
|
|
291
|
-
// Comments are stripped across the whole block before scanning, matching
|
|
292
|
-
// what the boolean form always did: a `/* … */` spanning several lines
|
|
293
|
-
// must not leave its tail looking like a declaration.
|
|
294
|
-
const blockLines = lines.slice(block.open, block.close + 1);
|
|
295
|
-
// Blank the comment's characters rather than deleting it: removing a
|
|
296
|
-
// multi-line comment outright collapses its lines and shifts every line
|
|
297
|
-
// number after it, which is the one thing this function exists to report.
|
|
298
|
-
const stripped = blockLines
|
|
299
|
-
.join('\n')
|
|
300
|
-
.replace(/\/\*[\s\S]*?\*\//g, (match) => match.replace(/[^\n]/g, ' '))
|
|
301
|
-
.split('\n');
|
|
302
|
-
for (const [i, line] of stripped.entries()) {
|
|
303
|
-
if (line.includes(`${tokenName}:`))
|
|
304
|
-
return { line: block.open + i + 1 };
|
|
305
|
-
}
|
|
306
|
-
return undefined;
|
|
307
|
-
}
|
|
308
|
-
/**
|
|
309
|
-
* Splices `declLine` into the `:root<variant>` block, creating the block
|
|
310
|
-
* (after the base `:root` block) when absent or appending after the last
|
|
311
|
-
* non-blank line when present. Mutates `lines` in place.
|
|
312
|
-
*/
|
|
313
|
-
export function insertVariantDeclaration(lines, variant, declLine) {
|
|
314
|
-
const block = findVariantBlock(lines, variant);
|
|
315
|
-
if (block) {
|
|
316
|
-
let insertIndex = block.close;
|
|
317
|
-
for (let i = block.close - 1; i > block.open; i--) {
|
|
318
|
-
if ((lines[i] ?? '').trim()) {
|
|
319
|
-
insertIndex = i + 1;
|
|
320
|
-
break;
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
lines.splice(insertIndex, 0, declLine);
|
|
324
|
-
return;
|
|
325
|
-
}
|
|
326
|
-
lines.splice(findVariantBlockInsertionPoint(lines), 0, '', `:root${variant} {`, declLine, '}');
|
|
327
|
-
}
|