@hominis/fireforge 0.54.0 → 0.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +287 -6
- package/README.md +51 -17
- package/dist/bin/fireforge.js +34 -129
- package/dist/build-info.json +4 -4
- package/dist/src/check/check.js +394 -0
- package/dist/src/check/gate.js +448 -0
- package/dist/src/check/index.js +10 -0
- package/dist/src/check/record.js +155 -0
- package/dist/src/cli/command.js +286 -0
- package/dist/src/cli/output.js +96 -0
- package/dist/src/cli/program.js +231 -0
- package/dist/src/cli/stdio.js +59 -0
- package/dist/src/cli/version.js +99 -0
- package/dist/src/commands/bootstrap.js +17 -102
- package/dist/src/commands/build.js +34 -438
- package/dist/src/commands/check.js +44 -157
- package/dist/src/commands/config.js +50 -226
- package/dist/src/commands/discard.js +38 -215
- package/dist/src/commands/doctor.js +29 -456
- package/dist/src/commands/download.js +35 -499
- package/dist/src/commands/export.js +42 -431
- package/dist/src/commands/furnace.js +220 -0
- package/dist/src/commands/gate.js +127 -0
- package/dist/src/commands/import.js +44 -445
- package/dist/src/commands/index.js +86 -0
- package/dist/src/commands/lint.js +44 -546
- package/dist/src/commands/merge-driver.js +56 -0
- package/dist/src/commands/migrate.js +75 -0
- package/dist/src/commands/override.js +43 -0
- package/dist/src/commands/package.js +48 -77
- package/dist/src/commands/patch.js +221 -0
- package/dist/src/commands/re-export.js +55 -332
- package/dist/src/commands/rebase.js +69 -0
- package/dist/src/commands/register.js +62 -103
- package/dist/src/commands/reset.js +28 -91
- package/dist/src/commands/resolve.js +20 -167
- package/dist/src/commands/restore.js +19 -0
- package/dist/src/commands/run.js +60 -420
- package/dist/src/commands/setup.js +78 -90
- package/dist/src/commands/status.js +44 -413
- package/dist/src/commands/test.js +97 -422
- package/dist/src/commands/token.js +185 -228
- package/dist/src/commands/typecheck.js +59 -208
- package/dist/src/commands/verify.js +28 -334
- package/dist/src/commands/version.js +14 -0
- package/dist/src/commands/watch.js +20 -218
- package/dist/src/commands/wire.js +60 -349
- package/dist/src/commands/workspace.js +117 -0
- package/dist/src/config/edit.js +237 -0
- package/dist/src/config/index.js +15 -0
- package/dist/src/config/load.js +59 -0
- package/dist/src/config/previous.js +404 -0
- package/dist/src/config/schema/build.js +63 -0
- package/dist/src/config/schema/check.js +113 -0
- package/dist/src/config/schema/common.js +71 -0
- package/dist/src/config/schema/export-queue.js +36 -0
- package/dist/src/config/schema/firefox.js +69 -0
- package/dist/src/config/schema/gate.js +199 -0
- package/dist/src/config/schema/identity.js +55 -0
- package/dist/src/config/schema/index.js +45 -0
- package/dist/src/config/schema/lint.js +297 -0
- package/dist/src/config/schema/policy.js +111 -0
- package/dist/src/config/schema/source.js +90 -0
- package/dist/src/config/schema/test.js +17 -0
- package/dist/src/config/schema/toolchains.js +17 -0
- package/dist/src/config/schema/typecheck.js +29 -0
- package/dist/src/config/schema/wire.js +15 -0
- package/dist/src/diff/apply.js +129 -0
- package/dist/src/diff/index.js +16 -0
- package/dist/src/diff/model.js +267 -0
- package/dist/src/diff/query.js +65 -0
- package/dist/src/doctor/index.js +240 -0
- package/dist/src/engine/archive.js +396 -0
- package/dist/src/engine/audit.js +66 -0
- package/dist/src/engine/build.js +150 -0
- package/dist/src/engine/hostLocks.js +66 -0
- package/dist/src/engine/index.js +26 -0
- package/dist/src/engine/installManifests.js +147 -0
- package/dist/src/engine/mach.js +97 -0
- package/dist/src/engine/machHints.js +80 -0
- package/dist/src/engine/mozconfig.js +110 -0
- package/dist/src/engine/objdir.js +124 -0
- package/dist/src/engine/package.js +169 -0
- package/dist/src/engine/pin.js +12 -0
- package/dist/src/engine/pool.js +423 -0
- package/dist/src/engine/pristine.js +281 -0
- package/dist/src/engine/python.js +68 -0
- package/dist/src/engine/resourceGuard.js +582 -0
- package/dist/src/engine/run.js +259 -0
- package/dist/src/engine/smoke.js +204 -0
- package/dist/src/engine/staleness.js +229 -0
- package/dist/src/engine/watch.js +82 -0
- package/dist/src/engine/workspace.js +85 -0
- package/dist/src/furnace/config.js +360 -0
- package/dist/src/furnace/deploy.js +414 -0
- package/dist/src/furnace/diff.js +59 -0
- package/dist/src/furnace/edit.js +64 -0
- package/dist/src/furnace/fragments.js +53 -0
- package/dist/src/furnace/index.js +19 -0
- package/dist/src/furnace/operations.js +283 -0
- package/dist/src/furnace/registration.js +220 -0
- package/dist/src/furnace/scaffold.js +311 -0
- package/dist/src/furnace/typing.js +252 -0
- package/dist/src/furnace/validate.js +662 -0
- package/dist/src/git/apply.js +129 -0
- package/dist/src/git/diff.js +143 -0
- package/dist/src/git/index.js +33 -0
- package/dist/src/git/objects.js +201 -0
- package/dist/src/git/refs.js +85 -0
- package/dist/src/git/repo.js +222 -0
- package/dist/src/git/run.js +242 -0
- package/dist/src/git/status.js +156 -0
- package/dist/src/kernel/errors.js +123 -0
- package/dist/src/kernel/fs.js +515 -0
- package/dist/src/kernel/glob.js +63 -0
- package/dist/src/kernel/hash.js +28 -0
- package/dist/src/kernel/journal.js +524 -0
- package/dist/src/kernel/json-edit.js +198 -0
- package/dist/src/kernel/json.js +101 -0
- package/dist/src/kernel/lock.js +589 -0
- package/dist/src/kernel/log.js +154 -0
- package/dist/src/kernel/process/identity.js +313 -0
- package/dist/src/kernel/process/index.js +8 -0
- package/dist/src/kernel/process/listing.js +128 -0
- package/dist/src/kernel/process/spawn.js +430 -0
- package/dist/src/kernel/process/tree.js +301 -0
- package/dist/src/kernel/schema.js +308 -0
- package/dist/src/kernel/signals.js +171 -0
- package/dist/src/kernel/text.js +151 -0
- package/dist/src/kernel/time.js +83 -0
- package/dist/src/kernel/tty.js +84 -0
- package/dist/src/lint/cache.js +77 -0
- package/dist/src/lint/checkjs.js +400 -0
- package/dist/src/lint/index.js +3 -0
- package/dist/src/lint/input.js +100 -0
- package/dist/src/lint/report.js +107 -0
- package/dist/src/lint/rule.js +41 -0
- package/dist/src/lint/rules/css.js +308 -0
- package/dist/src/lint/rules/javascript.js +299 -0
- package/dist/src/lint/rules/jsdoc.js +249 -0
- package/dist/src/lint/rules/license.js +93 -0
- package/dist/src/lint/rules/policy.js +201 -0
- package/dist/src/lint/rules/registration.js +264 -0
- package/dist/src/lint/rules/size.js +299 -0
- package/dist/src/lint/run.js +126 -0
- package/dist/src/lint/shim.js +323 -0
- package/dist/src/lint/typescript.js +186 -0
- package/dist/src/lint/waivers.js +93 -0
- package/dist/src/mode/changes.js +264 -0
- package/dist/src/mode/diagnose.js +173 -0
- package/dist/src/mode/export.js +147 -0
- package/dist/src/mode/index.js +23 -0
- package/dist/src/mode/migrate.js +181 -0
- package/dist/src/mode/previousWaivers.js +206 -0
- package/dist/src/mode/pristine.js +61 -0
- package/dist/src/mode/rebase.js +197 -0
- package/dist/src/mode/report.js +157 -0
- package/dist/src/mode/setup.js +103 -0
- package/dist/src/mode/tracked.js +116 -0
- package/dist/src/mode/upgrade.js +281 -0
- package/dist/src/mode/watch.js +83 -0
- package/dist/src/mode/workspace.js +189 -0
- package/dist/src/mozbuild/index.js +6 -0
- package/dist/src/mozbuild/jar.js +366 -0
- package/dist/src/mozbuild/mozbuild.js +321 -0
- package/dist/src/mozbuild/paths.js +96 -0
- package/dist/src/mozbuild/references.js +39 -0
- package/dist/src/mozbuild/testManifest.js +343 -0
- package/dist/src/mozbuild/text.js +142 -0
- package/dist/src/project/changes.js +145 -0
- package/dist/src/project/checkout.js +66 -0
- package/dist/src/project/index.js +11 -0
- package/dist/src/project/license.js +119 -0
- package/dist/src/project/project.js +111 -0
- package/dist/src/project/state.js +85 -0
- package/dist/src/project/tracked.js +1 -0
- package/dist/src/queue/apply.js +270 -0
- package/dist/src/queue/attribute.js +159 -0
- package/dist/src/queue/baseline.js +409 -0
- package/dist/src/queue/capture.js +298 -0
- package/dist/src/queue/changes.js +234 -0
- package/dist/src/queue/index.js +50 -0
- package/dist/src/queue/manifest.js +341 -0
- package/dist/src/queue/operations.js +454 -0
- package/dist/src/queue/placement.js +220 -0
- package/dist/src/queue/queue.js +359 -0
- package/dist/src/queue/restore.js +103 -0
- package/dist/src/queue/session.js +685 -0
- package/dist/src/queue/status.js +137 -0
- package/dist/src/register/files.js +39 -0
- package/dist/src/register/index.js +8 -0
- package/dist/src/register/js.js +217 -0
- package/dist/src/register/register.js +359 -0
- package/dist/src/register/wire.js +146 -0
- package/dist/src/source/adopt.js +99 -0
- package/dist/src/source/changes.js +132 -0
- package/dist/src/source/edit.js +278 -0
- package/dist/src/source/export.js +70 -0
- package/dist/src/source/groups.js +131 -0
- package/dist/src/source/index.js +20 -0
- package/dist/src/source/materialize.js +382 -0
- package/dist/src/source/merge.js +255 -0
- package/dist/src/source/objects.js +102 -0
- package/dist/src/source/previous.js +166 -0
- package/dist/src/source/records.js +138 -0
- package/dist/src/source/refresh.js +264 -0
- package/dist/src/source/tree.js +337 -0
- package/dist/src/syntax/css.js +215 -0
- package/dist/src/syntax/fragments.js +63 -0
- package/dist/src/syntax/index.js +10 -0
- package/dist/src/syntax/js.js +270 -0
- package/dist/src/test/classify.js +826 -0
- package/dist/src/test/control.js +236 -0
- package/dist/src/test/host.js +266 -0
- package/dist/src/test/index.js +11 -0
- package/dist/src/test/plan.js +347 -0
- package/dist/src/test/rawLog.js +138 -0
- package/dist/src/test/run.js +404 -0
- package/dist/src/test/verdict.js +420 -0
- package/dist/src/test/xpcshell.js +143 -0
- package/dist/src/tokens/add.js +304 -0
- package/dist/src/tokens/coverage.js +65 -0
- package/dist/src/tokens/css.js +58 -0
- package/dist/src/tokens/index.js +12 -0
- package/dist/src/tokens/lint.js +96 -0
- package/dist/src/tokens/model.js +118 -0
- package/dist/src/tokens/settings.js +87 -0
- package/dist/src/tokens/siblings.js +104 -0
- package/dist/src/typecheck/explain.js +123 -0
- package/dist/src/typecheck/index.js +8 -0
- package/dist/src/typecheck/typecheck.js +332 -0
- package/docs/README.md +23 -28
- package/docs/authoring.md +97 -0
- package/docs/configuration.md +307 -692
- package/docs/exit-codes.md +76 -94
- package/docs/furnace.md +113 -181
- package/docs/gate.md +205 -0
- package/docs/getting-started.md +165 -0
- package/docs/machine-output.md +201 -277
- package/docs/migrating.md +261 -0
- package/docs/patch-workflow.md +163 -653
- package/docs/quality.md +220 -0
- package/docs/source-workflow.md +228 -0
- package/docs/testing.md +101 -712
- package/docs/workspaces.md +187 -0
- package/package.json +22 -30
- package/templates/configs/common.mozconfig +8 -2
- package/templates/configs/darwin.mozconfig +6 -7
- package/templates/configs/linux.mozconfig +5 -8
- package/templates/configs/win32.mozconfig +3 -9
- package/dist/bin/fireforge.d.ts +0 -9
- package/dist/src/cli-usage-error.d.ts +0 -46
- package/dist/src/cli-usage-error.js +0 -81
- package/dist/src/cli.d.ts +0 -41
- package/dist/src/cli.js +0 -380
- package/dist/src/commands/bootstrap-checks.d.ts +0 -16
- package/dist/src/commands/bootstrap-checks.js +0 -66
- package/dist/src/commands/bootstrap.d.ts +0 -10
- package/dist/src/commands/build-prelock.d.ts +0 -20
- package/dist/src/commands/build-prelock.js +0 -50
- package/dist/src/commands/build.d.ts +0 -13
- package/dist/src/commands/check-report.d.ts +0 -41
- package/dist/src/commands/check-report.js +0 -91
- package/dist/src/commands/check-run.d.ts +0 -33
- package/dist/src/commands/check-run.js +0 -112
- package/dist/src/commands/check-steps.d.ts +0 -75
- package/dist/src/commands/check-steps.js +0 -200
- package/dist/src/commands/check.d.ts +0 -32
- package/dist/src/commands/config.d.ts +0 -13
- package/dist/src/commands/declarations-report.d.ts +0 -49
- package/dist/src/commands/declarations-report.js +0 -83
- package/dist/src/commands/destructive-decision.d.ts +0 -19
- package/dist/src/commands/destructive-decision.js +0 -31
- package/dist/src/commands/discard.d.ts +0 -12
- package/dist/src/commands/doctor-check-core.d.ts +0 -110
- package/dist/src/commands/doctor-check-core.js +0 -24
- package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
- package/dist/src/commands/doctor-engine-eslint.js +0 -17
- package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
- package/dist/src/commands/doctor-external-toolchains.js +0 -56
- package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
- package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
- package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
- package/dist/src/commands/doctor-furnace-jar.js +0 -44
- package/dist/src/commands/doctor-furnace.d.ts +0 -8
- package/dist/src/commands/doctor-furnace.js +0 -514
- package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
- package/dist/src/commands/doctor-macos-sdk.js +0 -158
- package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
- package/dist/src/commands/doctor-orphaned-harness.js +0 -98
- package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
- package/dist/src/commands/doctor-patch-manifest.js +0 -156
- package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
- package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
- package/dist/src/commands/doctor-source-pin.d.ts +0 -29
- package/dist/src/commands/doctor-source-pin.js +0 -91
- package/dist/src/commands/doctor-working-tree.d.ts +0 -27
- package/dist/src/commands/doctor-working-tree.js +0 -89
- package/dist/src/commands/doctor.d.ts +0 -49
- package/dist/src/commands/download.d.ts +0 -11
- package/dist/src/commands/export-adopt-check.d.ts +0 -37
- package/dist/src/commands/export-adopt-check.js +0 -97
- package/dist/src/commands/export-all.d.ts +0 -11
- package/dist/src/commands/export-all.js +0 -361
- package/dist/src/commands/export-flow.d.ts +0 -124
- package/dist/src/commands/export-flow.js +0 -423
- package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
- package/dist/src/commands/export-placement-conflicts.js +0 -75
- package/dist/src/commands/export-placement-gate.d.ts +0 -42
- package/dist/src/commands/export-placement-gate.js +0 -107
- package/dist/src/commands/export-placement-policy.d.ts +0 -22
- package/dist/src/commands/export-placement-policy.js +0 -54
- package/dist/src/commands/export-shared.d.ts +0 -152
- package/dist/src/commands/export-shared.js +0 -396
- package/dist/src/commands/export-staged-registration.d.ts +0 -46
- package/dist/src/commands/export-staged-registration.js +0 -91
- package/dist/src/commands/export.d.ts +0 -13
- package/dist/src/commands/forward-import-remedy.d.ts +0 -31
- package/dist/src/commands/forward-import-remedy.js +0 -62
- package/dist/src/commands/furnace/apply.d.ts +0 -8
- package/dist/src/commands/furnace/apply.js +0 -327
- package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
- package/dist/src/commands/furnace/authoring-config.js +0 -19
- package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
- package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
- package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
- package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
- package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
- package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
- package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
- package/dist/src/commands/furnace/chrome-doc.js +0 -365
- package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
- package/dist/src/commands/furnace/create-browser-test.js +0 -179
- package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
- package/dist/src/commands/furnace/create-dry-run.js +0 -107
- package/dist/src/commands/furnace/create-features.d.ts +0 -24
- package/dist/src/commands/furnace/create-features.js +0 -55
- package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
- package/dist/src/commands/furnace/create-mochikit.js +0 -75
- package/dist/src/commands/furnace/create-readback.d.ts +0 -22
- package/dist/src/commands/furnace/create-readback.js +0 -32
- package/dist/src/commands/furnace/create-templates.d.ts +0 -119
- package/dist/src/commands/furnace/create-templates.js +0 -283
- package/dist/src/commands/furnace/create-validation.d.ts +0 -6
- package/dist/src/commands/furnace/create-validation.js +0 -59
- package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
- package/dist/src/commands/furnace/create-xpcshell.js +0 -80
- package/dist/src/commands/furnace/create.d.ts +0 -24
- package/dist/src/commands/furnace/create.js +0 -407
- package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
- package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
- package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
- package/dist/src/commands/furnace/deploy-named.js +0 -107
- package/dist/src/commands/furnace/deploy.d.ts +0 -9
- package/dist/src/commands/furnace/deploy.js +0 -218
- package/dist/src/commands/furnace/diff.d.ts +0 -11
- package/dist/src/commands/furnace/diff.js +0 -238
- package/dist/src/commands/furnace/index.d.ts +0 -4
- package/dist/src/commands/furnace/index.js +0 -282
- package/dist/src/commands/furnace/init.d.ts +0 -11
- package/dist/src/commands/furnace/init.js +0 -287
- package/dist/src/commands/furnace/list.d.ts +0 -8
- package/dist/src/commands/furnace/list.js +0 -104
- package/dist/src/commands/furnace/override.d.ts +0 -16
- package/dist/src/commands/furnace/override.js +0 -454
- package/dist/src/commands/furnace/preview.d.ts +0 -19
- package/dist/src/commands/furnace/preview.js +0 -349
- package/dist/src/commands/furnace/refresh.d.ts +0 -10
- package/dist/src/commands/furnace/refresh.js +0 -303
- package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
- package/dist/src/commands/furnace/remove-mutations.js +0 -168
- package/dist/src/commands/furnace/remove-state.d.ts +0 -20
- package/dist/src/commands/furnace/remove-state.js +0 -60
- package/dist/src/commands/furnace/remove.d.ts +0 -8
- package/dist/src/commands/furnace/remove.js +0 -415
- package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
- package/dist/src/commands/furnace/rename-browser-test.js +0 -68
- package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
- package/dist/src/commands/furnace/rename-dry-run.js +0 -127
- package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
- package/dist/src/commands/furnace/rename-helpers.js +0 -85
- package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
- package/dist/src/commands/furnace/rename-registrations.js +0 -98
- package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
- package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
- package/dist/src/commands/furnace/rename.d.ts +0 -6
- package/dist/src/commands/furnace/rename.js +0 -400
- package/dist/src/commands/furnace/scan.d.ts +0 -14
- package/dist/src/commands/furnace/scan.js +0 -192
- package/dist/src/commands/furnace/status.d.ts +0 -7
- package/dist/src/commands/furnace/status.js +0 -209
- package/dist/src/commands/furnace/sync.d.ts +0 -12
- package/dist/src/commands/furnace/sync.js +0 -145
- package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
- package/dist/src/commands/furnace/test-file-name.js +0 -39
- package/dist/src/commands/furnace/validate-report.d.ts +0 -45
- package/dist/src/commands/furnace/validate-report.js +0 -91
- package/dist/src/commands/furnace/validate.d.ts +0 -8
- package/dist/src/commands/furnace/validate.js +0 -309
- package/dist/src/commands/furnace/validation-output.d.ts +0 -47
- package/dist/src/commands/furnace/validation-output.js +0 -161
- package/dist/src/commands/import.d.ts +0 -11
- package/dist/src/commands/lint-per-patch.d.ts +0 -10
- package/dist/src/commands/lint-per-patch.js +0 -428
- package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
- package/dist/src/commands/lint-per-run-checkjs.js +0 -102
- package/dist/src/commands/lint-report.d.ts +0 -25
- package/dist/src/commands/lint-report.js +0 -76
- package/dist/src/commands/lint.d.ts +0 -47
- package/dist/src/commands/manifest.d.ts +0 -38
- package/dist/src/commands/manifest.js +0 -68
- package/dist/src/commands/package.d.ts +0 -11
- package/dist/src/commands/park.d.ts +0 -22
- package/dist/src/commands/park.js +0 -232
- package/dist/src/commands/patch/compact.d.ts +0 -28
- package/dist/src/commands/patch/compact.js +0 -208
- package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
- package/dist/src/commands/patch/delete-gap-notice.js +0 -48
- package/dist/src/commands/patch/delete.d.ts +0 -28
- package/dist/src/commands/patch/delete.js +0 -131
- package/dist/src/commands/patch/entry-projection.d.ts +0 -13
- package/dist/src/commands/patch/entry-projection.js +0 -24
- package/dist/src/commands/patch/index.d.ts +0 -16
- package/dist/src/commands/patch/index.js +0 -52
- package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
- package/dist/src/commands/patch/lint-ignore-from.js +0 -141
- package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
- package/dist/src/commands/patch/lint-ignore.js +0 -261
- package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
- package/dist/src/commands/patch/move-files-adopt.js +0 -65
- package/dist/src/commands/patch/move-files-create.d.ts +0 -19
- package/dist/src/commands/patch/move-files-create.js +0 -187
- package/dist/src/commands/patch/move-files-into.d.ts +0 -65
- package/dist/src/commands/patch/move-files-into.js +0 -325
- package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
- package/dist/src/commands/patch/move-files-retire.js +0 -91
- package/dist/src/commands/patch/move-files.d.ts +0 -28
- package/dist/src/commands/patch/move-files.js +0 -224
- package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
- package/dist/src/commands/patch/move-size-tier.js +0 -66
- package/dist/src/commands/patch/patch-context.d.ts +0 -40
- package/dist/src/commands/patch/patch-context.js +0 -51
- package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
- package/dist/src/commands/patch/removal-created-files.js +0 -83
- package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
- package/dist/src/commands/patch/removal-dependents.js +0 -133
- package/dist/src/commands/patch/rename.d.ts +0 -35
- package/dist/src/commands/patch/rename.js +0 -378
- package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
- package/dist/src/commands/patch/reorder-projection.js +0 -49
- package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
- package/dist/src/commands/patch/reorder-shift.js +0 -307
- package/dist/src/commands/patch/reorder.d.ts +0 -34
- package/dist/src/commands/patch/reorder.js +0 -375
- package/dist/src/commands/patch/reserve.d.ts +0 -33
- package/dist/src/commands/patch/reserve.js +0 -152
- package/dist/src/commands/patch/retire.d.ts +0 -34
- package/dist/src/commands/patch/retire.js +0 -133
- package/dist/src/commands/patch/split-plan.d.ts +0 -125
- package/dist/src/commands/patch/split-plan.js +0 -313
- package/dist/src/commands/patch/split-staged.d.ts +0 -108
- package/dist/src/commands/patch/split-staged.js +0 -202
- package/dist/src/commands/patch/split.d.ts +0 -43
- package/dist/src/commands/patch/split.js +0 -367
- package/dist/src/commands/patch/stage.d.ts +0 -34
- package/dist/src/commands/patch/stage.js +0 -153
- package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
- package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
- package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
- package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
- package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
- package/dist/src/commands/patch/staged-dependency-from.js +0 -114
- package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
- package/dist/src/commands/patch/staged-dependency-remove.js +0 -117
- package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -15
- package/dist/src/commands/patch/staged-dependency-validate.js +0 -49
- package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
- package/dist/src/commands/patch/staged-dependency.js +0 -248
- package/dist/src/commands/patch/tier.d.ts +0 -34
- package/dist/src/commands/patch/tier.js +0 -125
- package/dist/src/commands/patch-rename-map.d.ts +0 -30
- package/dist/src/commands/patch-rename-map.js +0 -54
- package/dist/src/commands/pending-resolution.d.ts +0 -15
- package/dist/src/commands/pending-resolution.js +0 -25
- package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
- package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
- package/dist/src/commands/re-export-adjacent.d.ts +0 -111
- package/dist/src/commands/re-export-adjacent.js +0 -267
- package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
- package/dist/src/commands/re-export-bulk-scan.js +0 -233
- package/dist/src/commands/re-export-drift.d.ts +0 -110
- package/dist/src/commands/re-export-drift.js +0 -358
- package/dist/src/commands/re-export-files.d.ts +0 -15
- package/dist/src/commands/re-export-files.js +0 -307
- package/dist/src/commands/re-export-hunks.d.ts +0 -35
- package/dist/src/commands/re-export-hunks.js +0 -220
- package/dist/src/commands/re-export-lint.d.ts +0 -137
- package/dist/src/commands/re-export-lint.js +0 -303
- package/dist/src/commands/re-export-options.d.ts +0 -29
- package/dist/src/commands/re-export-options.js +0 -191
- package/dist/src/commands/re-export-preflight.d.ts +0 -23
- package/dist/src/commands/re-export-preflight.js +0 -159
- package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
- package/dist/src/commands/re-export-purity-scope.js +0 -137
- package/dist/src/commands/re-export-register.d.ts +0 -12
- package/dist/src/commands/re-export-register.js +0 -99
- package/dist/src/commands/re-export-removed.d.ts +0 -15
- package/dist/src/commands/re-export-removed.js +0 -94
- package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
- package/dist/src/commands/re-export-retired-declarations.js +0 -113
- package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
- package/dist/src/commands/re-export-scan-owner.js +0 -116
- package/dist/src/commands/re-export-scan.d.ts +0 -72
- package/dist/src/commands/re-export-scan.js +0 -265
- package/dist/src/commands/re-export-single.d.ts +0 -39
- package/dist/src/commands/re-export-single.js +0 -388
- package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
- package/dist/src/commands/re-export-stale-registrations.js +0 -106
- package/dist/src/commands/re-export-summary.d.ts +0 -28
- package/dist/src/commands/re-export-summary.js +0 -36
- package/dist/src/commands/re-export.d.ts +0 -8
- package/dist/src/commands/rebase/abort.d.ts +0 -7
- package/dist/src/commands/rebase/abort.js +0 -67
- package/dist/src/commands/rebase/confirm.d.ts +0 -42
- package/dist/src/commands/rebase/confirm.js +0 -36
- package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
- package/dist/src/commands/rebase/conflict-summary.js +0 -37
- package/dist/src/commands/rebase/continue.d.ts +0 -7
- package/dist/src/commands/rebase/continue.js +0 -119
- package/dist/src/commands/rebase/index.d.ts +0 -22
- package/dist/src/commands/rebase/index.js +0 -209
- package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
- package/dist/src/commands/rebase/patch-loop.js +0 -289
- package/dist/src/commands/rebase/summary.d.ts +0 -8
- package/dist/src/commands/rebase/summary.js +0 -47
- package/dist/src/commands/register.d.ts +0 -13
- package/dist/src/commands/reset.d.ts +0 -11
- package/dist/src/commands/resolve.d.ts +0 -36
- package/dist/src/commands/run.d.ts +0 -10
- package/dist/src/commands/setup-support.d.ts +0 -35
- package/dist/src/commands/setup-support.js +0 -386
- package/dist/src/commands/setup.d.ts +0 -11
- package/dist/src/commands/source.d.ts +0 -9
- package/dist/src/commands/source.js +0 -120
- package/dist/src/commands/status-check.d.ts +0 -87
- package/dist/src/commands/status-check.js +0 -161
- package/dist/src/commands/status-json.d.ts +0 -45
- package/dist/src/commands/status-json.js +0 -97
- package/dist/src/commands/status-output.d.ts +0 -23
- package/dist/src/commands/status-output.js +0 -231
- package/dist/src/commands/status-ownership.d.ts +0 -54
- package/dist/src/commands/status-ownership.js +0 -59
- package/dist/src/commands/status-scope.d.ts +0 -37
- package/dist/src/commands/status-scope.js +0 -54
- package/dist/src/commands/status.d.ts +0 -11
- package/dist/src/commands/test-appdir.d.ts +0 -6
- package/dist/src/commands/test-appdir.js +0 -29
- package/dist/src/commands/test-browser-preflight.d.ts +0 -28
- package/dist/src/commands/test-browser-preflight.js +0 -197
- package/dist/src/commands/test-build-furnace.d.ts +0 -21
- package/dist/src/commands/test-build-furnace.js +0 -53
- package/dist/src/commands/test-build-phase.d.ts +0 -29
- package/dist/src/commands/test-build-phase.js +0 -290
- package/dist/src/commands/test-checkjs.d.ts +0 -3
- package/dist/src/commands/test-checkjs.js +0 -35
- package/dist/src/commands/test-control-restore.d.ts +0 -40
- package/dist/src/commands/test-control-restore.js +0 -86
- package/dist/src/commands/test-diagnose.d.ts +0 -23
- package/dist/src/commands/test-diagnose.js +0 -317
- package/dist/src/commands/test-dispatch.d.ts +0 -39
- package/dist/src/commands/test-dispatch.js +0 -281
- package/dist/src/commands/test-furnace-reach.d.ts +0 -37
- package/dist/src/commands/test-furnace-reach.js +0 -132
- package/dist/src/commands/test-harness-env.d.ts +0 -23
- package/dist/src/commands/test-harness-env.js +0 -81
- package/dist/src/commands/test-harness-teardown.d.ts +0 -62
- package/dist/src/commands/test-harness-teardown.js +0 -128
- package/dist/src/commands/test-modes.d.ts +0 -57
- package/dist/src/commands/test-modes.js +0 -158
- package/dist/src/commands/test-multi-verdict.d.ts +0 -61
- package/dist/src/commands/test-multi-verdict.js +0 -112
- package/dist/src/commands/test-orchestrate.d.ts +0 -63
- package/dist/src/commands/test-orchestrate.js +0 -274
- package/dist/src/commands/test-perf-scope.d.ts +0 -50
- package/dist/src/commands/test-perf-scope.js +0 -138
- package/dist/src/commands/test-prelock.d.ts +0 -61
- package/dist/src/commands/test-prelock.js +0 -301
- package/dist/src/commands/test-register.d.ts +0 -4
- package/dist/src/commands/test-register.js +0 -181
- package/dist/src/commands/test-results.d.ts +0 -71
- package/dist/src/commands/test-results.js +0 -79
- package/dist/src/commands/test-run.d.ts +0 -89
- package/dist/src/commands/test-run.js +0 -251
- package/dist/src/commands/test-shards.d.ts +0 -114
- package/dist/src/commands/test-shards.js +0 -272
- package/dist/src/commands/test-stale-gate.d.ts +0 -52
- package/dist/src/commands/test-stale-gate.js +0 -165
- package/dist/src/commands/test-verdict.d.ts +0 -92
- package/dist/src/commands/test-verdict.js +0 -162
- package/dist/src/commands/test.d.ts +0 -22
- package/dist/src/commands/token-coverage.d.ts +0 -5
- package/dist/src/commands/token-coverage.js +0 -170
- package/dist/src/commands/token-lint.d.ts +0 -14
- package/dist/src/commands/token-lint.js +0 -151
- package/dist/src/commands/token-list.d.ts +0 -26
- package/dist/src/commands/token-list.js +0 -153
- package/dist/src/commands/token.d.ts +0 -14
- package/dist/src/commands/tree.d.ts +0 -19
- package/dist/src/commands/tree.js +0 -341
- package/dist/src/commands/typecheck.d.ts +0 -56
- package/dist/src/commands/verify-scope.d.ts +0 -28
- package/dist/src/commands/verify-scope.js +0 -67
- package/dist/src/commands/verify.d.ts +0 -58
- package/dist/src/commands/watch.d.ts +0 -9
- package/dist/src/commands/wire.d.ts +0 -13
- package/dist/src/core/ast-utils.d.ts +0 -73
- package/dist/src/core/ast-utils.js +0 -105
- package/dist/src/core/brand-validation.d.ts +0 -7
- package/dist/src/core/brand-validation.js +0 -14
- package/dist/src/core/branding.d.ts +0 -86
- package/dist/src/core/branding.js +0 -371
- package/dist/src/core/browser-wire.d.ts +0 -48
- package/dist/src/core/browser-wire.js +0 -133
- package/dist/src/core/build-audit-platform.d.ts +0 -67
- package/dist/src/core/build-audit-platform.js +0 -373
- package/dist/src/core/build-audit-registration.d.ts +0 -80
- package/dist/src/core/build-audit-registration.js +0 -181
- package/dist/src/core/build-audit-resolve.d.ts +0 -78
- package/dist/src/core/build-audit-resolve.js +0 -240
- package/dist/src/core/build-audit-skip.d.ts +0 -57
- package/dist/src/core/build-audit-skip.js +0 -112
- package/dist/src/core/build-audit-transforms.d.ts +0 -23
- package/dist/src/core/build-audit-transforms.js +0 -92
- package/dist/src/core/build-audit.d.ts +0 -93
- package/dist/src/core/build-audit.js +0 -633
- package/dist/src/core/build-baseline-types.d.ts +0 -225
- package/dist/src/core/build-baseline-types.js +0 -10
- package/dist/src/core/build-baseline-validate.d.ts +0 -32
- package/dist/src/core/build-baseline-validate.js +0 -173
- package/dist/src/core/build-baseline.d.ts +0 -103
- package/dist/src/core/build-baseline.js +0 -261
- package/dist/src/core/build-jar-escalation.d.ts +0 -61
- package/dist/src/core/build-jar-escalation.js +0 -125
- package/dist/src/core/build-overwrite-guard.d.ts +0 -92
- package/dist/src/core/build-overwrite-guard.js +0 -235
- package/dist/src/core/build-prepare.d.ts +0 -83
- package/dist/src/core/build-prepare.js +0 -414
- package/dist/src/core/build-run-record.d.ts +0 -74
- package/dist/src/core/build-run-record.js +0 -136
- package/dist/src/core/checkjs-support-heads.d.ts +0 -41
- package/dist/src/core/checkjs-support-heads.js +0 -104
- package/dist/src/core/component-source-guard.d.ts +0 -20
- package/dist/src/core/component-source-guard.js +0 -68
- package/dist/src/core/config-mutate.d.ts +0 -16
- package/dist/src/core/config-mutate.js +0 -76
- package/dist/src/core/config-paths.d.ts +0 -16
- package/dist/src/core/config-paths.js +0 -106
- package/dist/src/core/config-state.d.ts +0 -16
- package/dist/src/core/config-state.js +0 -141
- package/dist/src/core/config-validate-build-audit.d.ts +0 -8
- package/dist/src/core/config-validate-build-audit.js +0 -80
- package/dist/src/core/config-validate-check.d.ts +0 -8
- package/dist/src/core/config-validate-check.js +0 -219
- package/dist/src/core/config-validate-file-size.d.ts +0 -15
- package/dist/src/core/config-validate-file-size.js +0 -154
- package/dist/src/core/config-validate-history.d.ts +0 -11
- package/dist/src/core/config-validate-history.js +0 -38
- package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
- package/dist/src/core/config-validate-patch-policy.js +0 -274
- package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
- package/dist/src/core/config-validate-test-toolchains.js +0 -133
- package/dist/src/core/config-validate-token-scales.d.ts +0 -9
- package/dist/src/core/config-validate-token-scales.js +0 -92
- package/dist/src/core/config-validate.d.ts +0 -11
- package/dist/src/core/config-validate.js +0 -503
- package/dist/src/core/config.d.ts +0 -92
- package/dist/src/core/config.js +0 -169
- package/dist/src/core/coverage-dispatch.d.ts +0 -24
- package/dist/src/core/coverage-dispatch.js +0 -44
- package/dist/src/core/coverage-extend.d.ts +0 -89
- package/dist/src/core/coverage-extend.js +0 -239
- package/dist/src/core/coverage-records.d.ts +0 -107
- package/dist/src/core/coverage-records.js +0 -383
- package/dist/src/core/destructive.d.ts +0 -144
- package/dist/src/core/destructive.js +0 -182
- package/dist/src/core/diff-hunks.d.ts +0 -73
- package/dist/src/core/diff-hunks.js +0 -286
- package/dist/src/core/discard-baseline.d.ts +0 -60
- package/dist/src/core/discard-baseline.js +0 -247
- package/dist/src/core/display-state.d.ts +0 -50
- package/dist/src/core/display-state.js +0 -87
- package/dist/src/core/engine-changes.d.ts +0 -40
- package/dist/src/core/engine-changes.js +0 -95
- package/dist/src/core/engine-precondition.d.ts +0 -42
- package/dist/src/core/engine-precondition.js +0 -60
- package/dist/src/core/engine-session-lock.d.ts +0 -119
- package/dist/src/core/engine-session-lock.js +0 -374
- package/dist/src/core/engine-write-boundary.d.ts +0 -5
- package/dist/src/core/engine-write-boundary.js +0 -41
- package/dist/src/core/export-moved-code-shape.d.ts +0 -98
- package/dist/src/core/export-moved-code-shape.js +0 -220
- package/dist/src/core/file-lock-owner.d.ts +0 -103
- package/dist/src/core/file-lock-owner.js +0 -259
- package/dist/src/core/file-lock-queue.d.ts +0 -67
- package/dist/src/core/file-lock-queue.js +0 -219
- package/dist/src/core/file-lock-shared.d.ts +0 -57
- package/dist/src/core/file-lock-shared.js +0 -117
- package/dist/src/core/file-lock.d.ts +0 -143
- package/dist/src/core/file-lock.js +0 -531
- package/dist/src/core/firefox-archive.d.ts +0 -45
- package/dist/src/core/firefox-archive.js +0 -96
- package/dist/src/core/firefox-cache.d.ts +0 -30
- package/dist/src/core/firefox-cache.js +0 -248
- package/dist/src/core/firefox-download.d.ts +0 -30
- package/dist/src/core/firefox-download.js +0 -152
- package/dist/src/core/firefox-extract.d.ts +0 -42
- package/dist/src/core/firefox-extract.js +0 -248
- package/dist/src/core/firefox-ignorefile.d.ts +0 -17
- package/dist/src/core/firefox-ignorefile.js +0 -30
- package/dist/src/core/firefox.d.ts +0 -66
- package/dist/src/core/firefox.js +0 -121
- package/dist/src/core/forward-registrations.d.ts +0 -33
- package/dist/src/core/forward-registrations.js +0 -16
- package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
- package/dist/src/core/furnace-apply-dry-run.js +0 -99
- package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
- package/dist/src/core/furnace-apply-ftl.js +0 -210
- package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
- package/dist/src/core/furnace-apply-helpers.js +0 -436
- package/dist/src/core/furnace-apply-output.d.ts +0 -36
- package/dist/src/core/furnace-apply-output.js +0 -111
- package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -62
- package/dist/src/core/furnace-apply-overwrite-warn.js +0 -124
- package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
- package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
- package/dist/src/core/furnace-apply.d.ts +0 -49
- package/dist/src/core/furnace-apply.js +0 -465
- package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
- package/dist/src/core/furnace-checksum-utils.js +0 -54
- package/dist/src/core/furnace-composed-source.d.ts +0 -76
- package/dist/src/core/furnace-composed-source.js +0 -167
- package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
- package/dist/src/core/furnace-config-array-utils.js +0 -26
- package/dist/src/core/furnace-config-custom.d.ts +0 -15
- package/dist/src/core/furnace-config-custom.js +0 -73
- package/dist/src/core/furnace-config-order.d.ts +0 -8
- package/dist/src/core/furnace-config-order.js +0 -90
- package/dist/src/core/furnace-config-tokens.d.ts +0 -17
- package/dist/src/core/furnace-config-tokens.js +0 -42
- package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
- package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
- package/dist/src/core/furnace-config-validate.d.ts +0 -32
- package/dist/src/core/furnace-config-validate.js +0 -146
- package/dist/src/core/furnace-config.d.ts +0 -139
- package/dist/src/core/furnace-config.js +0 -511
- package/dist/src/core/furnace-constants.d.ts +0 -79
- package/dist/src/core/furnace-constants.js +0 -123
- package/dist/src/core/furnace-css-fragments.d.ts +0 -96
- package/dist/src/core/furnace-css-fragments.js +0 -279
- package/dist/src/core/furnace-dir-entry.d.ts +0 -20
- package/dist/src/core/furnace-dir-entry.js +0 -21
- package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
- package/dist/src/core/furnace-fragment-includers.js +0 -122
- package/dist/src/core/furnace-graph-utils.d.ts +0 -11
- package/dist/src/core/furnace-graph-utils.js +0 -93
- package/dist/src/core/furnace-jsconfig.d.ts +0 -61
- package/dist/src/core/furnace-jsconfig.js +0 -208
- package/dist/src/core/furnace-marker.d.ts +0 -15
- package/dist/src/core/furnace-marker.js +0 -21
- package/dist/src/core/furnace-operation.d.ts +0 -195
- package/dist/src/core/furnace-operation.js +0 -444
- package/dist/src/core/furnace-precondition.d.ts +0 -61
- package/dist/src/core/furnace-precondition.js +0 -67
- package/dist/src/core/furnace-refresh.d.ts +0 -28
- package/dist/src/core/furnace-refresh.js +0 -125
- package/dist/src/core/furnace-registration-ast.d.ts +0 -53
- package/dist/src/core/furnace-registration-ast.js +0 -402
- package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
- package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
- package/dist/src/core/furnace-registration-remove.d.ts +0 -56
- package/dist/src/core/furnace-registration-remove.js +0 -260
- package/dist/src/core/furnace-registration-rename.d.ts +0 -26
- package/dist/src/core/furnace-registration-rename.js +0 -77
- package/dist/src/core/furnace-registration-validate.d.ts +0 -53
- package/dist/src/core/furnace-registration-validate.js +0 -110
- package/dist/src/core/furnace-registration.d.ts +0 -112
- package/dist/src/core/furnace-registration.js +0 -348
- package/dist/src/core/furnace-rollback.d.ts +0 -48
- package/dist/src/core/furnace-rollback.js +0 -170
- package/dist/src/core/furnace-scanner.d.ts +0 -47
- package/dist/src/core/furnace-scanner.js +0 -236
- package/dist/src/core/furnace-stale-export.d.ts +0 -60
- package/dist/src/core/furnace-stale-export.js +0 -125
- package/dist/src/core/furnace-staleness.d.ts +0 -24
- package/dist/src/core/furnace-staleness.js +0 -67
- package/dist/src/core/furnace-state-persist.d.ts +0 -68
- package/dist/src/core/furnace-state-persist.js +0 -116
- package/dist/src/core/furnace-step-errors.d.ts +0 -23
- package/dist/src/core/furnace-step-errors.js +0 -25
- package/dist/src/core/furnace-stories.d.ts +0 -37
- package/dist/src/core/furnace-stories.js +0 -186
- package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
- package/dist/src/core/furnace-validate-accessibility.js +0 -417
- package/dist/src/core/furnace-validate-checks.d.ts +0 -4
- package/dist/src/core/furnace-validate-checks.js +0 -6
- package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
- package/dist/src/core/furnace-validate-compatibility.js +0 -295
- package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
- package/dist/src/core/furnace-validate-exceptions.js +0 -98
- package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
- package/dist/src/core/furnace-validate-helpers.js +0 -4
- package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
- package/dist/src/core/furnace-validate-icon-button.js +0 -78
- package/dist/src/core/furnace-validate-registration.d.ts +0 -67
- package/dist/src/core/furnace-validate-registration.js +0 -487
- package/dist/src/core/furnace-validate-structure.d.ts +0 -22
- package/dist/src/core/furnace-validate-structure.js +0 -122
- package/dist/src/core/furnace-validate.d.ts +0 -41
- package/dist/src/core/furnace-validate.js +0 -302
- package/dist/src/core/furnace-version-drift.d.ts +0 -57
- package/dist/src/core/furnace-version-drift.js +0 -102
- package/dist/src/core/gecko-dom-types.d.ts +0 -2
- package/dist/src/core/gecko-dom-types.js +0 -17
- package/dist/src/core/git-base.d.ts +0 -101
- package/dist/src/core/git-base.js +0 -162
- package/dist/src/core/git-diff-new-file.d.ts +0 -40
- package/dist/src/core/git-diff-new-file.js +0 -118
- package/dist/src/core/git-diff.d.ts +0 -82
- package/dist/src/core/git-diff.js +0 -539
- package/dist/src/core/git-file-ops.d.ts +0 -108
- package/dist/src/core/git-file-ops.js +0 -280
- package/dist/src/core/git-readonly-index.d.ts +0 -91
- package/dist/src/core/git-readonly-index.js +0 -177
- package/dist/src/core/git-status.d.ts +0 -84
- package/dist/src/core/git-status.js +0 -208
- package/dist/src/core/git.d.ts +0 -114
- package/dist/src/core/git.js +0 -540
- package/dist/src/core/harness-helper-pids.d.ts +0 -98
- package/dist/src/core/harness-helper-pids.js +0 -240
- package/dist/src/core/harness-orphans.d.ts +0 -118
- package/dist/src/core/harness-orphans.js +0 -268
- package/dist/src/core/harness-port-fallback.d.ts +0 -60
- package/dist/src/core/harness-port-fallback.js +0 -96
- package/dist/src/core/harness-port-reservation.d.ts +0 -60
- package/dist/src/core/harness-port-reservation.js +0 -122
- package/dist/src/core/history-log-file.d.ts +0 -61
- package/dist/src/core/history-log-file.js +0 -164
- package/dist/src/core/history-log.d.ts +0 -20
- package/dist/src/core/history-log.js +0 -30
- package/dist/src/core/json-preserving-edit.d.ts +0 -22
- package/dist/src/core/json-preserving-edit.js +0 -199
- package/dist/src/core/launchable-build.d.ts +0 -39
- package/dist/src/core/launchable-build.js +0 -85
- package/dist/src/core/license-headers.d.ts +0 -103
- package/dist/src/core/license-headers.js +0 -318
- package/dist/src/core/line-prefixer.d.ts +0 -18
- package/dist/src/core/line-prefixer.js +0 -34
- package/dist/src/core/lit-template-regions.d.ts +0 -4
- package/dist/src/core/lit-template-regions.js +0 -50
- package/dist/src/core/mach-build-artifacts.d.ts +0 -176
- package/dist/src/core/mach-build-artifacts.js +0 -436
- package/dist/src/core/mach-error-hints.d.ts +0 -24
- package/dist/src/core/mach-error-hints.js +0 -135
- package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
- package/dist/src/core/mach-known-noise-filter.js +0 -257
- package/dist/src/core/mach-mozconfig.d.ts +0 -57
- package/dist/src/core/mach-mozconfig.js +0 -166
- package/dist/src/core/mach-python.d.ts +0 -19
- package/dist/src/core/mach-python.js +0 -131
- package/dist/src/core/mach-resource-shim.d.ts +0 -107
- package/dist/src/core/mach-resource-shim.js +0 -640
- package/dist/src/core/mach.d.ts +0 -284
- package/dist/src/core/mach.js +0 -445
- package/dist/src/core/marionette-port.d.ts +0 -153
- package/dist/src/core/marionette-port.js +0 -474
- package/dist/src/core/marionette-preflight.d.ts +0 -58
- package/dist/src/core/marionette-preflight.js +0 -332
- package/dist/src/core/markdown-table.d.ts +0 -104
- package/dist/src/core/markdown-table.js +0 -265
- package/dist/src/core/mochitest-server-port.d.ts +0 -81
- package/dist/src/core/mochitest-server-port.js +0 -175
- package/dist/src/core/module-resolution-preflight.d.ts +0 -65
- package/dist/src/core/module-resolution-preflight.js +0 -171
- package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
- package/dist/src/core/moz-manifest-helpers.js +0 -163
- package/dist/src/core/moz-manifest-register.d.ts +0 -19
- package/dist/src/core/moz-manifest-register.js +0 -51
- package/dist/src/core/moz-manifest-rules.d.ts +0 -58
- package/dist/src/core/moz-manifest-rules.js +0 -264
- package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
- package/dist/src/core/moz-manifest-tokenizers.js +0 -108
- package/dist/src/core/negative-control-compiled.d.ts +0 -46
- package/dist/src/core/negative-control-compiled.js +0 -109
- package/dist/src/core/negative-control-diff.d.ts +0 -51
- package/dist/src/core/negative-control-diff.js +0 -204
- package/dist/src/core/negative-control.d.ts +0 -150
- package/dist/src/core/negative-control.js +0 -399
- package/dist/src/core/objdir-install-manifests.d.ts +0 -73
- package/dist/src/core/objdir-install-manifests.js +0 -226
- package/dist/src/core/objdir-maintenance.d.ts +0 -10
- package/dist/src/core/objdir-maintenance.js +0 -167
- package/dist/src/core/ownership-table.d.ts +0 -53
- package/dist/src/core/ownership-table.js +0 -159
- package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
- package/dist/src/core/parent-exit-watchdog.js +0 -69
- package/dist/src/core/park-store.d.ts +0 -63
- package/dist/src/core/park-store.js +0 -216
- package/dist/src/core/parser-fallback.d.ts +0 -50
- package/dist/src/core/parser-fallback.js +0 -61
- package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
- package/dist/src/core/patch-apply-fuzz.js +0 -125
- package/dist/src/core/patch-apply.d.ts +0 -88
- package/dist/src/core/patch-apply.js +0 -435
- package/dist/src/core/patch-export-coverage.d.ts +0 -49
- package/dist/src/core/patch-export-coverage.js +0 -73
- package/dist/src/core/patch-export-metadata.d.ts +0 -46
- package/dist/src/core/patch-export-metadata.js +0 -47
- package/dist/src/core/patch-export-update.d.ts +0 -55
- package/dist/src/core/patch-export-update.js +0 -95
- package/dist/src/core/patch-export.d.ts +0 -175
- package/dist/src/core/patch-export.js +0 -312
- package/dist/src/core/patch-files.d.ts +0 -17
- package/dist/src/core/patch-files.js +0 -59
- package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
- package/dist/src/core/patch-identifier-suggest.js +0 -135
- package/dist/src/core/patch-lint-binary.d.ts +0 -45
- package/dist/src/core/patch-lint-binary.js +0 -39
- package/dist/src/core/patch-lint-cache.d.ts +0 -78
- package/dist/src/core/patch-lint-cache.js +0 -233
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -39
- package/dist/src/core/patch-lint-checkjs-any-import.js +0 -63
- package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
- package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
- package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
- package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
- package/dist/src/core/patch-lint-checkjs.d.ts +0 -180
- package/dist/src/core/patch-lint-checkjs.js +0 -611
- package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
- package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
- package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
- package/dist/src/core/patch-lint-code-lines.js +0 -105
- package/dist/src/core/patch-lint-creators.d.ts +0 -26
- package/dist/src/core/patch-lint-creators.js +0 -45
- package/dist/src/core/patch-lint-cross.d.ts +0 -232
- package/dist/src/core/patch-lint-cross.js +0 -590
- package/dist/src/core/patch-lint-css.d.ts +0 -27
- package/dist/src/core/patch-lint-css.js +0 -228
- package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
- package/dist/src/core/patch-lint-diff-tag.js +0 -105
- package/dist/src/core/patch-lint-diff.d.ts +0 -42
- package/dist/src/core/patch-lint-diff.js +0 -100
- package/dist/src/core/patch-lint-file-size.d.ts +0 -57
- package/dist/src/core/patch-lint-file-size.js +0 -62
- package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
- package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
- package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
- package/dist/src/core/patch-lint-forward-registration.js +0 -266
- package/dist/src/core/patch-lint-ignore.d.ts +0 -196
- package/dist/src/core/patch-lint-ignore.js +0 -429
- package/dist/src/core/patch-lint-imports.d.ts +0 -5
- package/dist/src/core/patch-lint-imports.js +0 -67
- package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
- package/dist/src/core/patch-lint-jsdoc.js +0 -471
- package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
- package/dist/src/core/patch-lint-module-registration.js +0 -97
- package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
- package/dist/src/core/patch-lint-mozbuild.js +0 -192
- package/dist/src/core/patch-lint-observer.d.ts +0 -37
- package/dist/src/core/patch-lint-observer.js +0 -167
- package/dist/src/core/patch-lint-ownership.d.ts +0 -74
- package/dist/src/core/patch-lint-ownership.js +0 -125
- package/dist/src/core/patch-lint-prettier.d.ts +0 -34
- package/dist/src/core/patch-lint-prettier.js +0 -124
- package/dist/src/core/patch-lint-projection.d.ts +0 -25
- package/dist/src/core/patch-lint-projection.js +0 -43
- package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
- package/dist/src/core/patch-lint-queue-types.js +0 -12
- package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
- package/dist/src/core/patch-lint-size-thresholds.js +0 -110
- package/dist/src/core/patch-lint-size.d.ts +0 -117
- package/dist/src/core/patch-lint-size.js +0 -331
- package/dist/src/core/patch-lint-staged-registration.d.ts +0 -78
- package/dist/src/core/patch-lint-staged-registration.js +0 -110
- package/dist/src/core/patch-lint-token-scale.d.ts +0 -57
- package/dist/src/core/patch-lint-token-scale.js +0 -286
- package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
- package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
- package/dist/src/core/patch-lint.d.ts +0 -191
- package/dist/src/core/patch-lint.js +0 -529
- package/dist/src/core/patch-lock.d.ts +0 -40
- package/dist/src/core/patch-lock.js +0 -129
- package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
- package/dist/src/core/patch-manifest-consistency.js +0 -256
- package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
- package/dist/src/core/patch-manifest-files-affected.js +0 -77
- package/dist/src/core/patch-manifest-io.d.ts +0 -199
- package/dist/src/core/patch-manifest-io.js +0 -556
- package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
- package/dist/src/core/patch-manifest-key-order.js +0 -60
- package/dist/src/core/patch-manifest-query.d.ts +0 -55
- package/dist/src/core/patch-manifest-query.js +0 -139
- package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
- package/dist/src/core/patch-manifest-resolve.js +0 -35
- package/dist/src/core/patch-manifest-stage.d.ts +0 -46
- package/dist/src/core/patch-manifest-stage.js +0 -96
- package/dist/src/core/patch-manifest-validate.d.ts +0 -20
- package/dist/src/core/patch-manifest-validate.js +0 -240
- package/dist/src/core/patch-manifest.d.ts +0 -12
- package/dist/src/core/patch-manifest.js +0 -13
- package/dist/src/core/patch-order-legal.d.ts +0 -26
- package/dist/src/core/patch-order-legal.js +0 -88
- package/dist/src/core/patch-parse.d.ts +0 -161
- package/dist/src/core/patch-parse.js +0 -347
- package/dist/src/core/patch-policy-content.d.ts +0 -40
- package/dist/src/core/patch-policy-content.js +0 -216
- package/dist/src/core/patch-policy.d.ts +0 -80
- package/dist/src/core/patch-policy.js +0 -394
- package/dist/src/core/patch-registration-refs.d.ts +0 -41
- package/dist/src/core/patch-registration-refs.js +0 -107
- package/dist/src/core/patch-retired.d.ts +0 -57
- package/dist/src/core/patch-retired.js +0 -92
- package/dist/src/core/patch-source-metadata.d.ts +0 -6
- package/dist/src/core/patch-source-metadata.js +0 -12
- package/dist/src/core/patch-subset.d.ts +0 -18
- package/dist/src/core/patch-subset.js +0 -67
- package/dist/src/core/patch-transform.d.ts +0 -61
- package/dist/src/core/patch-transform.js +0 -198
- package/dist/src/core/preflight-wait.d.ts +0 -22
- package/dist/src/core/preflight-wait.js +0 -62
- package/dist/src/core/process-cpu-time.d.ts +0 -12
- package/dist/src/core/process-cpu-time.js +0 -52
- package/dist/src/core/process-owner.d.ts +0 -9
- package/dist/src/core/process-owner.js +0 -43
- package/dist/src/core/rebase-dry-run.d.ts +0 -48
- package/dist/src/core/rebase-dry-run.js +0 -105
- package/dist/src/core/rebase-from-version.d.ts +0 -46
- package/dist/src/core/rebase-from-version.js +0 -71
- package/dist/src/core/rebase-session.d.ts +0 -100
- package/dist/src/core/rebase-session.js +0 -174
- package/dist/src/core/register-browser-content.d.ts +0 -11
- package/dist/src/core/register-browser-content.js +0 -52
- package/dist/src/core/register-browser-test.d.ts +0 -18
- package/dist/src/core/register-browser-test.js +0 -66
- package/dist/src/core/register-module.d.ts +0 -11
- package/dist/src/core/register-module.js +0 -56
- package/dist/src/core/register-result.d.ts +0 -30
- package/dist/src/core/register-result.js +0 -8
- package/dist/src/core/register-scaffold.d.ts +0 -55
- package/dist/src/core/register-scaffold.js +0 -146
- package/dist/src/core/register-shared-css.d.ts +0 -36
- package/dist/src/core/register-shared-css.js +0 -112
- package/dist/src/core/register-xpcshell-test.d.ts +0 -50
- package/dist/src/core/register-xpcshell-test.js +0 -143
- package/dist/src/core/run-log-redact.d.ts +0 -38
- package/dist/src/core/run-log-redact.js +0 -69
- package/dist/src/core/run-log.d.ts +0 -97
- package/dist/src/core/run-log.js +0 -334
- package/dist/src/core/run-profile.d.ts +0 -57
- package/dist/src/core/run-profile.js +0 -137
- package/dist/src/core/shared-ftl.d.ts +0 -28
- package/dist/src/core/shared-ftl.js +0 -49
- package/dist/src/core/signal-critical.d.ts +0 -38
- package/dist/src/core/signal-critical.js +0 -62
- package/dist/src/core/smoke-patterns.d.ts +0 -81
- package/dist/src/core/smoke-patterns.js +0 -176
- package/dist/src/core/state-file.d.ts +0 -60
- package/dist/src/core/state-file.js +0 -71
- package/dist/src/core/status-binary.d.ts +0 -62
- package/dist/src/core/status-binary.js +0 -133
- package/dist/src/core/status-classify.d.ts +0 -96
- package/dist/src/core/status-classify.js +0 -244
- package/dist/src/core/test-changed-prefs.d.ts +0 -30
- package/dist/src/core/test-changed-prefs.js +0 -93
- package/dist/src/core/test-harness-crash.d.ts +0 -251
- package/dist/src/core/test-harness-crash.js +0 -780
- package/dist/src/core/test-harness-infra.d.ts +0 -32
- package/dist/src/core/test-harness-infra.js +0 -69
- package/dist/src/core/test-harness-output.d.ts +0 -45
- package/dist/src/core/test-harness-output.js +0 -119
- package/dist/src/core/test-harness-signature.d.ts +0 -57
- package/dist/src/core/test-harness-signature.js +0 -35
- package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
- package/dist/src/core/test-harness-verdict-notes.js +0 -48
- package/dist/src/core/test-host-state.d.ts +0 -14
- package/dist/src/core/test-host-state.js +0 -80
- package/dist/src/core/test-path-scope.d.ts +0 -59
- package/dist/src/core/test-path-scope.js +0 -147
- package/dist/src/core/test-profile-files.d.ts +0 -17
- package/dist/src/core/test-profile-files.js +0 -75
- package/dist/src/core/test-raw-log.d.ts +0 -66
- package/dist/src/core/test-raw-log.js +0 -122
- package/dist/src/core/test-run-completeness.d.ts +0 -97
- package/dist/src/core/test-run-completeness.js +0 -191
- package/dist/src/core/test-stale-check.d.ts +0 -213
- package/dist/src/core/test-stale-check.js +0 -396
- package/dist/src/core/test-stale-exempt.d.ts +0 -40
- package/dist/src/core/test-stale-exempt.js +0 -70
- package/dist/src/core/test-stale-symlink.d.ts +0 -12
- package/dist/src/core/test-stale-symlink.js +0 -39
- package/dist/src/core/test-stall-triage.d.ts +0 -51
- package/dist/src/core/test-stall-triage.js +0 -142
- package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
- package/dist/src/core/test-xpcshell-retry.js +0 -31
- package/dist/src/core/token-category.d.ts +0 -54
- package/dist/src/core/token-category.js +0 -299
- package/dist/src/core/token-coverage.d.ts +0 -12
- package/dist/src/core/token-coverage.js +0 -96
- package/dist/src/core/token-dark-mode.d.ts +0 -64
- package/dist/src/core/token-dark-mode.js +0 -186
- package/dist/src/core/token-docs.d.ts +0 -34
- package/dist/src/core/token-docs.js +0 -102
- package/dist/src/core/token-inventory.d.ts +0 -56
- package/dist/src/core/token-inventory.js +0 -114
- package/dist/src/core/token-lint.d.ts +0 -53
- package/dist/src/core/token-lint.js +0 -131
- package/dist/src/core/token-manager.d.ts +0 -87
- package/dist/src/core/token-manager.js +0 -407
- package/dist/src/core/token-scaffold.d.ts +0 -36
- package/dist/src/core/token-scaffold.js +0 -73
- package/dist/src/core/token-sibling-sheets.d.ts +0 -46
- package/dist/src/core/token-sibling-sheets.js +0 -119
- package/dist/src/core/token-variant.d.ts +0 -90
- package/dist/src/core/token-variant.js +0 -327
- package/dist/src/core/toolchain-preflight.d.ts +0 -90
- package/dist/src/core/toolchain-preflight.js +0 -251
- package/dist/src/core/tree-cow.d.ts +0 -16
- package/dist/src/core/tree-cow.js +0 -71
- package/dist/src/core/tree-guard.d.ts +0 -35
- package/dist/src/core/tree-guard.js +0 -194
- package/dist/src/core/tree-store.d.ts +0 -143
- package/dist/src/core/tree-store.js +0 -478
- package/dist/src/core/typecheck-shim.d.ts +0 -90
- package/dist/src/core/typecheck-shim.js +0 -507
- package/dist/src/core/typecheck.d.ts +0 -75
- package/dist/src/core/typecheck.js +0 -433
- package/dist/src/core/wire-destroy.d.ts +0 -25
- package/dist/src/core/wire-destroy.js +0 -126
- package/dist/src/core/wire-dom-fragment.d.ts +0 -44
- package/dist/src/core/wire-dom-fragment.js +0 -139
- package/dist/src/core/wire-init.d.ts +0 -28
- package/dist/src/core/wire-init.js +0 -219
- package/dist/src/core/wire-subscript.d.ts +0 -23
- package/dist/src/core/wire-subscript.js +0 -145
- package/dist/src/core/wire-utils.d.ts +0 -149
- package/dist/src/core/wire-utils.js +0 -338
- package/dist/src/core/xpcshell-appdir.d.ts +0 -157
- package/dist/src/core/xpcshell-appdir.js +0 -299
- package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
- package/dist/src/core/xpcshell-profile-dir.js +0 -45
- package/dist/src/errors/base.d.ts +0 -217
- package/dist/src/errors/base.js +0 -279
- package/dist/src/errors/build.d.ts +0 -92
- package/dist/src/errors/build.js +0 -166
- package/dist/src/errors/codes.d.ts +0 -74
- package/dist/src/errors/codes.js +0 -74
- package/dist/src/errors/config.d.ts +0 -17
- package/dist/src/errors/config.js +0 -39
- package/dist/src/errors/download.d.ts +0 -66
- package/dist/src/errors/download.js +0 -160
- package/dist/src/errors/furnace.d.ts +0 -20
- package/dist/src/errors/furnace.js +0 -28
- package/dist/src/errors/git.d.ts +0 -65
- package/dist/src/errors/git.js +0 -140
- package/dist/src/errors/patch.d.ts +0 -27
- package/dist/src/errors/patch.js +0 -52
- package/dist/src/errors/rebase.d.ts +0 -42
- package/dist/src/errors/rebase.js +0 -71
- package/dist/src/errors/run.d.ts +0 -16
- package/dist/src/errors/run.js +0 -22
- package/dist/src/index.d.ts +0 -42
- package/dist/src/index.js +0 -32
- package/dist/src/types/cli.d.ts +0 -14
- package/dist/src/types/commands/index.d.ts +0 -6
- package/dist/src/types/commands/index.js +0 -5
- package/dist/src/types/commands/options.d.ts +0 -1367
- package/dist/src/types/commands/options.js +0 -5
- package/dist/src/types/commands/patches.d.ts +0 -352
- package/dist/src/types/commands/patches.js +0 -5
- package/dist/src/types/commands/project.d.ts +0 -51
- package/dist/src/types/commands/project.js +0 -5
- package/dist/src/types/config.d.ts +0 -703
- package/dist/src/types/config.js +0 -15
- package/dist/src/types/furnace.d.ts +0 -415
- package/dist/src/types/furnace.js +0 -26
- package/dist/src/types/index.d.ts +0 -5
- package/dist/src/types/index.js +0 -5
- package/dist/src/types/json.d.ts +0 -22
- package/dist/src/types/json.js +0 -11
- package/dist/src/types/typecheck.d.ts +0 -51
- package/dist/src/types/typecheck.js +0 -14
- package/dist/src/utils/assert.d.ts +0 -34
- package/dist/src/utils/assert.js +0 -61
- package/dist/src/utils/build-info.d.ts +0 -30
- package/dist/src/utils/build-info.js +0 -99
- package/dist/src/utils/child-env.d.ts +0 -28
- package/dist/src/utils/child-env.js +0 -27
- package/dist/src/utils/concurrency.d.ts +0 -8
- package/dist/src/utils/concurrency.js +0 -32
- package/dist/src/utils/elapsed.d.ts +0 -2
- package/dist/src/utils/elapsed.js +0 -23
- package/dist/src/utils/errors.d.ts +0 -39
- package/dist/src/utils/errors.js +0 -67
- package/dist/src/utils/fs.d.ts +0 -113
- package/dist/src/utils/fs.js +0 -337
- package/dist/src/utils/hash.d.ts +0 -12
- package/dist/src/utils/hash.js +0 -16
- package/dist/src/utils/line-dispatch.d.ts +0 -15
- package/dist/src/utils/line-dispatch.js +0 -48
- package/dist/src/utils/logger.d.ts +0 -109
- package/dist/src/utils/logger.js +0 -270
- package/dist/src/utils/machine-output.d.ts +0 -12
- package/dist/src/utils/machine-output.js +0 -33
- package/dist/src/utils/options.d.ts +0 -155
- package/dist/src/utils/options.js +0 -312
- package/dist/src/utils/package-root.d.ts +0 -21
- package/dist/src/utils/package-root.js +0 -70
- package/dist/src/utils/parse.d.ts +0 -117
- package/dist/src/utils/parse.js +0 -214
- package/dist/src/utils/path-glob.d.ts +0 -15
- package/dist/src/utils/path-glob.js +0 -47
- package/dist/src/utils/paths.d.ts +0 -31
- package/dist/src/utils/paths.js +0 -80
- package/dist/src/utils/platform.d.ts +0 -9
- package/dist/src/utils/platform.js +0 -14
- package/dist/src/utils/process-group.d.ts +0 -42
- package/dist/src/utils/process-group.js +0 -190
- package/dist/src/utils/process-input.d.ts +0 -27
- package/dist/src/utils/process-input.js +0 -46
- package/dist/src/utils/process.d.ts +0 -293
- package/dist/src/utils/process.js +0 -593
- package/dist/src/utils/ps-duration.d.ts +0 -31
- package/dist/src/utils/ps-duration.js +0 -70
- package/dist/src/utils/regex.d.ts +0 -39
- package/dist/src/utils/regex.js +0 -109
- package/dist/src/utils/sleep.d.ts +0 -25
- package/dist/src/utils/sleep.js +0 -30
- package/dist/src/utils/stdio-drain.d.ts +0 -28
- package/dist/src/utils/stdio-drain.js +0 -54
- package/dist/src/utils/validation.d.ts +0 -182
- package/dist/src/utils/validation.js +0 -394
- package/docs/lifecycle-invariants.md +0 -523
- package/docs/run-logs.md +0 -122
- package/docs/verification-trees.md +0 -49
- /package/dist/src/{types/cli.js → cli/context.js} +0 -0
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Operator-facing triage for the `timed out … with no output` / `Ran 0
|
|
4
|
-
* checks` stall: the shape where the harness dies before any test output.
|
|
5
|
-
*
|
|
6
|
-
* Split out of `test-harness-crash.ts`, which classifies runs. This module
|
|
7
|
-
* only renders advice about one already-classified shape. Keeping the two
|
|
8
|
-
* apart matters because the census below carries claims of unequal
|
|
9
|
-
* evidential strength, and the rules for editing it are not the rules for
|
|
10
|
-
* editing a classifier: a pattern in the classifier is either matched by
|
|
11
|
-
* the output or not, while a cause in the census is an assertion about the
|
|
12
|
-
* world that an operator will act on.
|
|
13
|
-
*
|
|
14
|
-
* Everything here is pure. The platform and the probed display state are
|
|
15
|
-
* injected, so unit tests need no mocking.
|
|
16
|
-
*/
|
|
17
|
-
/**
|
|
18
|
-
* First step for the `timed out … with no output` / `Ran 0 checks`
|
|
19
|
-
* signature, printed above the cause list. Running a known-good control
|
|
20
|
-
* separates "this test" from "this build" and is the correct opening move
|
|
21
|
-
* for every cause below. It is not specific to any one of them, so
|
|
22
|
-
* attaching it to a single entry made reaching that entry informationally
|
|
23
|
-
* empty.
|
|
24
|
-
*/
|
|
25
|
-
const NO_OUTPUT_STALL_CONTROL_STEP = 'First, run a known-good control test. If the control stalls too, the cause is not the test ' +
|
|
26
|
-
'under investigation, and the list below applies to the build or the host.';
|
|
27
|
-
/**
|
|
28
|
-
* Recorded causes of the `timed out … with no output` / `Ran 0 checks`
|
|
29
|
-
* signature, each paired with the probe that discriminates it from the
|
|
30
|
-
* others. Printed verbatim under the hint.
|
|
31
|
-
*
|
|
32
|
-
* Evidence per entry is unequal, and the text says so:
|
|
33
|
-
*
|
|
34
|
-
* - (1) is measured: `probeDisplaySleepState` reads the display's power
|
|
35
|
-
* state, so the hint states it as fact rather than as a possibility.
|
|
36
|
-
* - (2) is discriminated by `--headless`.
|
|
37
|
-
* - (4) is mechanical and was root-caused downstream: the harness serves
|
|
38
|
-
* its manifest from `server.js` on 8888, and a survivor of an
|
|
39
|
-
* interrupted run keeps the port. Its probe is exact, and the preflight
|
|
40
|
-
* in `mochitest-server-port.ts` refuses it before a run starts.
|
|
41
|
-
* - (3) is mechanical and root-caused. A `chrome://` (or `resource://`) URL that
|
|
42
|
-
* resolves to nothing reaches `CheckForBrokenChromeURL`
|
|
43
|
-
* (netwerk/base/nsNetUtil.cpp), which outside automation only
|
|
44
|
-
* `printf_stderr`s `Missing chrome or resource URL: <uri>`, but under
|
|
45
|
-
* `xpc::IsInAutomation()` the same condition is
|
|
46
|
-
* `MOZ_CRASH_UNSAFE_PRINTF("Missing chrome or resource URLs: %s")`. A
|
|
47
|
-
* downstream reproduction symbolicated the faulting frame as
|
|
48
|
-
* `CheckForBrokenChromeURL`, which is the established diagnosis the bar
|
|
49
|
-
* in `mach-error-hints.ts` asks for. It is not a "stalls first paint"
|
|
50
|
-
* problem: a failed image load in Gecko fires `error` and does not gate the
|
|
51
|
-
* document load event.
|
|
52
|
-
*
|
|
53
|
-
* Detection by log line is not specified for (3), because of the mechanism
|
|
54
|
-
* itself: in the reproduction the crash landed in a content
|
|
55
|
-
* process (`plugin-container`, a child of the browser) with the
|
|
56
|
-
* crash reporter compiled out, so the harness log carried neither the crash
|
|
57
|
-
* message nor a crash line, only the no-output timeout, `Ran 0 checks`,
|
|
58
|
-
* and mochitest's "Can't trigger Breakpad, just killing process". Under
|
|
59
|
-
* automation the message is in the process that died, not in the log, so
|
|
60
|
-
* the census points at the two artefacts that do carry it: the OS crash
|
|
61
|
-
* report (whose faulting frame names `CheckForBrokenChromeURL`) and the
|
|
62
|
-
* out-of-automation smoke probe (which prints the non-crashing spelling
|
|
63
|
-
* and counts it as an unallowed error so the exit code
|
|
64
|
-
* agrees with the capture).
|
|
65
|
-
*/
|
|
66
|
-
const NO_OUTPUT_STALL_TRIAGE = [
|
|
67
|
-
' 1. A sleeping or locked display on an unattended HEADED run (macOS). The browser never ' +
|
|
68
|
-
'paints and never reaches its first test.',
|
|
69
|
-
' 2. A headless SWGL compositor failure — re-run with --headless to separate this from (1): ' +
|
|
70
|
-
'if --headless passes, the stall was display/compositor-side, not product-side.',
|
|
71
|
-
' 3. A broken `chrome://` or `resource://` URL reached from the startup document. Under ' +
|
|
72
|
-
'automation this is a MOZ_CRASH in whichever process opened the channel ' +
|
|
73
|
-
'(CheckForBrokenChromeURL, netwerk/base/nsNetUtil.cpp), so the browser dies before the ' +
|
|
74
|
-
'harness sees anything. Expect the log to name NOTHING: with the crash in a content ' +
|
|
75
|
-
'process and the crash reporter compiled out, the only artefacts are the OS crash report ' +
|
|
76
|
-
'(macOS: ~/Library/Logs/DiagnosticReports/plugin-container-*.ips — the faulting frame ' +
|
|
77
|
-
'reads CheckForBrokenChromeURL) and the smoke probe below. Discriminate with ' +
|
|
78
|
-
'"fireforge run --smoke-exit 60 --headless --capture-console <file>", which launches the ' +
|
|
79
|
-
'same browser OUTSIDE automation, where the same condition only PRINTS ' +
|
|
80
|
-
'"Missing chrome or resource URL: <uri>" — a line the probe counts as an unallowed ' +
|
|
81
|
-
'error, so its exit code and its capture now agree. A clean window with no unallowed ' +
|
|
82
|
-
'console errors means product-side startup is healthy and the stall is harness- or ' +
|
|
83
|
-
'test-side.',
|
|
84
|
-
' 4. A stale mochitest httpd holding the harness server port (127.0.0.1:8888). A fresh ' +
|
|
85
|
-
"browser connects to THAT server, which cannot serve this run's manifest, so the run " +
|
|
86
|
-
'stalls before TEST_START. Probe with "lsof -nP -iTCP:8888": any listener that is not ' +
|
|
87
|
-
"this run's own is the cause. FireForge now refuses this at preflight, so it should " +
|
|
88
|
-
'reach a stall only on a host where the port could not be probed.',
|
|
89
|
-
];
|
|
90
|
-
/**
|
|
91
|
-
* Optional hint appended to the harness-crash message when a headed run on
|
|
92
|
-
* macOS died at the no-output timeout.
|
|
93
|
-
*
|
|
94
|
-
* When `displayState` names a measured display state, the hint states it as
|
|
95
|
-
* fact rather than as one of three possibilities, which is what probing is
|
|
96
|
-
* for: an operator staring at a bare test failure should not have to
|
|
97
|
-
* rediscover that their machine dimmed. `caffeinate` is described accurately
|
|
98
|
-
* (it prevents sleep, and cannot wake an already-sleeping display), so
|
|
99
|
-
* operators are not sent to a command that could not have helped them.
|
|
100
|
-
*
|
|
101
|
-
* Pure. The platform and the probed state are injected so unit tests need
|
|
102
|
-
* no mocking.
|
|
103
|
-
*
|
|
104
|
-
* @param signature - The recognized crash shape
|
|
105
|
-
* @param context - Run mode, platform, and the probed display state
|
|
106
|
-
* @returns The hint text, or undefined when the shape does not apply
|
|
107
|
-
*/
|
|
108
|
-
export function headedNoOutputTimeoutHint(signature, context) {
|
|
109
|
-
if (context.platform !== 'darwin' || context.headless)
|
|
110
|
-
return undefined;
|
|
111
|
-
if (!signature.reason.includes('no-output timeout'))
|
|
112
|
-
return undefined;
|
|
113
|
-
const lead = context.displayState === 'asleep'
|
|
114
|
-
? 'Hint: this was a HEADED run on macOS and the display was MEASURED ASLEEP ' +
|
|
115
|
-
'(IODisplayWrangler below its awake power state). A headed browser on a sleeping ' +
|
|
116
|
-
'display never paints and never starts a test, so this stall is environmental — not a ' +
|
|
117
|
-
'product or test failure.'
|
|
118
|
-
: context.displayState === 'awake'
|
|
119
|
-
? 'Hint: this was a HEADED run on macOS that died at the no-output timeout. The display ' +
|
|
120
|
-
'was measured AWAKE, so the sleeping-display cause below is ruled out for this run.'
|
|
121
|
-
: 'Hint: this was a HEADED run on macOS that died at the no-output timeout. The display ' +
|
|
122
|
-
'state could not be measured, so all three causes below remain open.';
|
|
123
|
-
const remedy = 'Note that `caffeinate -disu` PREVENTS sleep; it cannot WAKE a display that is already ' +
|
|
124
|
-
'asleep. Wake the display (or run on an attended machine), or pass --headless.';
|
|
125
|
-
return (`${lead}\n\n${NO_OUTPUT_STALL_CONTROL_STEP}\n\n` +
|
|
126
|
-
`Known causes of this exact signature:\n${NO_OUTPUT_STALL_TRIAGE.join('\n')}\n\n${remedy}`);
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Verdict-line note for a headed no-output stall whose display was
|
|
130
|
-
* measured asleep. Returned as the parenthetical the verdict line carries,
|
|
131
|
-
* so the one greppable line an automated consumer reads already names the
|
|
132
|
-
* environmental cause instead of a bare `FAIL reason=crash`.
|
|
133
|
-
*/
|
|
134
|
-
export function headedDisplayAsleepVerdictNote(signature, context) {
|
|
135
|
-
if (context.platform !== 'darwin' || context.headless)
|
|
136
|
-
return undefined;
|
|
137
|
-
if (context.displayState !== 'asleep')
|
|
138
|
-
return undefined;
|
|
139
|
-
if (!signature.reason.includes('no-output timeout'))
|
|
140
|
-
return undefined;
|
|
141
|
-
return 'headed run stalled with the display asleep';
|
|
142
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { type MachCommandResult, type MachTestSuiteKind } from './mach.js';
|
|
2
|
-
export interface XpcshellRetryClassification {
|
|
3
|
-
xpcshell: readonly string[];
|
|
4
|
-
nonXpcshell: readonly string[];
|
|
5
|
-
}
|
|
6
|
-
export interface XpcshellRetryOptions {
|
|
7
|
-
/** Engine checkout the run happened in. */
|
|
8
|
-
engineDir: string;
|
|
9
|
-
/** Object directory the run used, when one is configured. */
|
|
10
|
-
objDir: string | undefined;
|
|
11
|
-
/** Result of the run that may need repairing and retrying. */
|
|
12
|
-
result: MachCommandResult;
|
|
13
|
-
/** Which of the requested paths are xpcshell tests, and which are not. */
|
|
14
|
-
classification: XpcshellRetryClassification;
|
|
15
|
-
/** Test paths, normalized, as handed to mach. */
|
|
16
|
-
normalizedPaths: string[];
|
|
17
|
-
/** Extra mach arguments the run was started with. */
|
|
18
|
-
extraArgs: string[];
|
|
19
|
-
/** Environment overlay for the retried run. */
|
|
20
|
-
env?: Record<string, string> | undefined;
|
|
21
|
-
/** Mach command kind to retry with. Defaults to the generic `test`. */
|
|
22
|
-
kind?: MachTestSuiteKind | undefined;
|
|
23
|
-
/** Whether the run was started with full harness output. */
|
|
24
|
-
fullOutput?: boolean | undefined;
|
|
25
|
-
/** Per-chunk feed for the retried run's output (start-marker tracking). */
|
|
26
|
-
onOutputChunk?: ((stream: 'stdout' | 'stderr', chunk: string) => void) | undefined;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Removes a stale xpcshell install symlink and retries the focused mach test
|
|
30
|
-
* once. The retry uses the same mach command `kind` (suite-specific or
|
|
31
|
-
* generic) the caller is already running on, so an xpcshell-suite run repairs
|
|
32
|
-
* and re-runs via `mach xpcshell-test` rather than falling back to the
|
|
33
|
-
* generic command.
|
|
34
|
-
*/
|
|
35
|
-
export declare function retryAfterXpcshellSymlinkRepair(options: XpcshellRetryOptions): Promise<MachCommandResult>;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { runMachTestSuite } from './mach.js';
|
|
3
|
-
import { tryRepairStaleXpcshellTestSymlink } from './test-stale-symlink.js';
|
|
4
|
-
/**
|
|
5
|
-
* Removes a stale xpcshell install symlink and retries the focused mach test
|
|
6
|
-
* once. The retry uses the same mach command `kind` (suite-specific or
|
|
7
|
-
* generic) the caller is already running on, so an xpcshell-suite run repairs
|
|
8
|
-
* and re-runs via `mach xpcshell-test` rather than falling back to the
|
|
9
|
-
* generic command.
|
|
10
|
-
*/
|
|
11
|
-
export async function retryAfterXpcshellSymlinkRepair(options) {
|
|
12
|
-
const { engineDir, objDir, result, classification, normalizedPaths, extraArgs, env, kind = 'test', fullOutput, onOutputChunk, } = options;
|
|
13
|
-
if (result.exitCode !== 0 &&
|
|
14
|
-
classification.xpcshell.length > 0 &&
|
|
15
|
-
classification.nonXpcshell.length === 0) {
|
|
16
|
-
const repaired = await tryRepairStaleXpcshellTestSymlink(engineDir, objDir, `${result.stdout}\n${result.stderr}`);
|
|
17
|
-
if (repaired) {
|
|
18
|
-
// The repaired re-run is the same logical invocation, so it keeps
|
|
19
|
-
// the verbosity the run was started with.
|
|
20
|
-
return runMachTestSuite(kind, {
|
|
21
|
-
engineDir,
|
|
22
|
-
testPaths: normalizedPaths,
|
|
23
|
-
args: extraArgs,
|
|
24
|
-
env,
|
|
25
|
-
fullOutput,
|
|
26
|
-
...(onOutputChunk === undefined ? {} : { teardown: { onOutputChunk } }),
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return result;
|
|
31
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* True when `lines` contain a category header (single-line or multi-line
|
|
3
|
-
* banner shape) whose name equals `category`. Shared by the pre-add
|
|
4
|
-
* assertion, the banner creation path, and the section finder so all
|
|
5
|
-
* agree on what "exists" means.
|
|
6
|
-
*/
|
|
7
|
-
export declare function categoryHeaderExists(lines: string[], category: string): boolean;
|
|
8
|
-
export interface TokenCategorySection {
|
|
9
|
-
name: string;
|
|
10
|
-
categoryLine: number;
|
|
11
|
-
sectionEnd: number;
|
|
12
|
-
}
|
|
13
|
-
/** Parses category regions owned by the base root, including nested CSS rules. */
|
|
14
|
-
export declare function parseTokenCategorySections(lines: string[]): TokenCategorySection[];
|
|
15
|
-
/**
|
|
16
|
-
* Asserts the category banner exists (or that creation was requested).
|
|
17
|
-
* Throws a GeneralError naming the available categories and the
|
|
18
|
-
* `--create-category` remedy otherwise.
|
|
19
|
-
*/
|
|
20
|
-
export declare function assertTokenCategoryExists(engineDir: string, tokensCssPath: string, category: string, createCategory?: boolean): Promise<void>;
|
|
21
|
-
/**
|
|
22
|
-
* Splices a new single-line category banner ("= Name =" comment shape, the
|
|
23
|
-
* same format `discoverCategoryHeaders` recognises) just before the closing
|
|
24
|
-
* brace of the `:root` block, making the new category the last section.
|
|
25
|
-
* Mutates `lines` in place.
|
|
26
|
-
*/
|
|
27
|
-
export declare function declareCategoryBanner(lines: string[], category: string, tokensCssPath: string): void;
|
|
28
|
-
/** Locates and bounds the named category section. Throws when absent. */
|
|
29
|
-
export declare function findCategorySection(lines: string[], category: string, tokensCssPath: string): {
|
|
30
|
-
categoryLine: number;
|
|
31
|
-
sectionEnd: number;
|
|
32
|
-
};
|
|
33
|
-
/** 0-based open/close line indices of the base `:root {` block. */
|
|
34
|
-
export declare function findBaseRootBounds(lines: string[]): {
|
|
35
|
-
open: number;
|
|
36
|
-
close: number;
|
|
37
|
-
} | undefined;
|
|
38
|
-
/** Masks block-comment content per line so declarations inside comments never match. */
|
|
39
|
-
export declare function maskCommentLines(lines: string[]): string[];
|
|
40
|
-
/** Location of an existing base-`:root` token declaration. */
|
|
41
|
-
export interface TokenDeclarationLocation {
|
|
42
|
-
/** 1-based line number in the tokens CSS file. */
|
|
43
|
-
line: number;
|
|
44
|
-
/** Nearest enclosing category banner name, when one precedes the declaration. */
|
|
45
|
-
category?: string;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Finds an existing declaration of `tokenName` inside the base `:root`
|
|
49
|
-
* block. Dark `@media` and `:root[variant]` companion blocks are
|
|
50
|
-
* excluded: they mirror the base declaration, they do not
|
|
51
|
-
* own the token. Comment content never matches, and the name match is
|
|
52
|
-
* exact (`--foo-bar` does not match `--x-foo-bar`).
|
|
53
|
-
*/
|
|
54
|
-
export declare function findTokenDeclarationInRoot(lines: string[], tokenName: string): TokenDeclarationLocation | undefined;
|
|
@@ -1,299 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Category banner and token-declaration helpers for the tokens CSS file.
|
|
4
|
-
* Split out of `token-manager.ts` to stay inside the per-file line budget.
|
|
5
|
-
*
|
|
6
|
-
* Banner matching is exact: the text between the `=` runs (single-line
|
|
7
|
-
* shape) or on the block line (multi-line shape) must equal the category
|
|
8
|
-
* after trimming. With a substring match, a TOC comment or a longer banner
|
|
9
|
-
* whose name merely starts with the category (a canvas colors banner
|
|
10
|
-
* satisfying a lookup for `Colors`) would also match, and `token add` would
|
|
11
|
-
* then write into the wrong section, or no-op, with exit 0.
|
|
12
|
-
*/
|
|
13
|
-
import { join } from 'node:path';
|
|
14
|
-
import { GeneralError } from '../errors/base.js';
|
|
15
|
-
import { pathExists, readText } from '../utils/fs.js';
|
|
16
|
-
import { escapeRegex } from '../utils/regex.js';
|
|
17
|
-
/**
|
|
18
|
-
* Body of the first `/* … *\/` comment on `line`, or `undefined` when the
|
|
19
|
-
* line carries no closed block comment.
|
|
20
|
-
*
|
|
21
|
-
* This uses index arithmetic rather than a regex: the natural regex
|
|
22
|
-
* spellings of "banner comment" are super-linear on a line that
|
|
23
|
-
* repeats the opening shape (CodeQL `js/polynomial-redos`), and `tokens.css`
|
|
24
|
-
* is a file FireForge reads out of a consumer's engine tree, so a
|
|
25
|
-
* pathological line needs no attacker to arrive.
|
|
26
|
-
*/
|
|
27
|
-
function blockCommentBody(line) {
|
|
28
|
-
const open = line.indexOf('/*');
|
|
29
|
-
if (open === -1)
|
|
30
|
-
return undefined;
|
|
31
|
-
const close = line.indexOf('*/', open + 2);
|
|
32
|
-
if (close === -1)
|
|
33
|
-
return undefined;
|
|
34
|
-
return line.slice(open + 2, close);
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* True when `line` carries a single-line banner comment: a closed block
|
|
38
|
-
* comment whose body both opens and closes with `=`. Recognises the decorative
|
|
39
|
-
* all-`=` rule as well as a named `= Foo =` banner, which is what the section
|
|
40
|
-
* scan wants: either shape ends the preceding section.
|
|
41
|
-
*/
|
|
42
|
-
function isSingleLineBannerLine(line) {
|
|
43
|
-
const body = blockCommentBody(line)?.trim();
|
|
44
|
-
return body !== undefined && body.length >= 2 && body.startsWith('=') && body.endsWith('=');
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Name declared by a single-line banner (`/* = Foo = *\/` → `Foo`), or
|
|
48
|
-
* `undefined` when the line is not a named banner. The `=` runs on both sides
|
|
49
|
-
* are required. A decorative all-`=` rule carries no name and yields
|
|
50
|
-
* `undefined`.
|
|
51
|
-
*/
|
|
52
|
-
function singleLineBannerName(line) {
|
|
53
|
-
const body = blockCommentBody(line);
|
|
54
|
-
if (body === undefined)
|
|
55
|
-
return undefined;
|
|
56
|
-
let start = 0;
|
|
57
|
-
let end = body.length;
|
|
58
|
-
while (start < end && /\s/.test(body[start] ?? ''))
|
|
59
|
-
start++;
|
|
60
|
-
const leadingEqStart = start;
|
|
61
|
-
while (start < end && body[start] === '=')
|
|
62
|
-
start++;
|
|
63
|
-
if (start === leadingEqStart)
|
|
64
|
-
return undefined;
|
|
65
|
-
while (end > start && /\s/.test(body[end - 1] ?? ''))
|
|
66
|
-
end--;
|
|
67
|
-
const trailingEqEnd = end;
|
|
68
|
-
while (end > start && body[end - 1] === '=')
|
|
69
|
-
end--;
|
|
70
|
-
if (end === trailingEqEnd)
|
|
71
|
-
return undefined;
|
|
72
|
-
const name = body.slice(start, end).trim();
|
|
73
|
-
return name.length > 0 ? name : undefined;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* True when `lines` contain a category header (single-line or multi-line
|
|
77
|
-
* banner shape) whose name equals `category`. Shared by the pre-add
|
|
78
|
-
* assertion, the banner creation path, and the section finder so all
|
|
79
|
-
* agree on what "exists" means.
|
|
80
|
-
*/
|
|
81
|
-
export function categoryHeaderExists(lines, category) {
|
|
82
|
-
return parseTokenCategorySections(lines).some((section) => section.name === category);
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Category name declared by the banner starting at `index`, or `undefined`
|
|
86
|
-
* when that line opens no banner.
|
|
87
|
-
*
|
|
88
|
-
* The single reader for both banner shapes, so the inventory walk, the
|
|
89
|
-
* "available categories" error body and the section finder cannot drift on
|
|
90
|
-
* what counts as a header.
|
|
91
|
-
*
|
|
92
|
-
* @param lines - Tokens CSS split into lines
|
|
93
|
-
* @param index - 0-based line index to test
|
|
94
|
-
* @returns The declared category name, or undefined
|
|
95
|
-
*/
|
|
96
|
-
function categoryBannerNameAt(lines, index) {
|
|
97
|
-
const line = lines[index] ?? '';
|
|
98
|
-
const extracted = singleLineBannerName(line);
|
|
99
|
-
if (extracted !== undefined)
|
|
100
|
-
return extracted;
|
|
101
|
-
if (/^\s*\/\*\s*=+/.test(line) && !/\*\//.test(line)) {
|
|
102
|
-
for (let j = index + 1; j < Math.min(index + 6, lines.length); j++) {
|
|
103
|
-
const blockLine = lines[j] ?? '';
|
|
104
|
-
if (/\*\//.test(blockLine))
|
|
105
|
-
break;
|
|
106
|
-
const trimmed = blockLine.replace(/^\s*\*\s*/, '').trim();
|
|
107
|
-
if (trimmed.length === 0)
|
|
108
|
-
continue;
|
|
109
|
-
if (/^=+$/.test(trimmed))
|
|
110
|
-
continue;
|
|
111
|
-
return trimmed;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
return undefined;
|
|
115
|
-
}
|
|
116
|
-
function discoverCategoryHeaders(lines) {
|
|
117
|
-
return [...new Set(parseTokenCategorySections(lines).map((section) => section.name))];
|
|
118
|
-
}
|
|
119
|
-
/** Parses category regions owned by the base root, including nested CSS rules. */
|
|
120
|
-
export function parseTokenCategorySections(lines) {
|
|
121
|
-
const bounds = findBaseRootBounds(lines);
|
|
122
|
-
if (bounds === undefined || bounds.close === -1)
|
|
123
|
-
return [];
|
|
124
|
-
const masked = maskCommentLines(lines);
|
|
125
|
-
const sections = [];
|
|
126
|
-
let current;
|
|
127
|
-
let bodyStarted = false;
|
|
128
|
-
for (let index = bounds.open + 1; index < bounds.close; index++) {
|
|
129
|
-
const line = lines[index] ?? '';
|
|
130
|
-
const name = categoryBannerNameAt(lines, index);
|
|
131
|
-
const boundary = name !== undefined || isSingleLineBannerLine(line);
|
|
132
|
-
if (!boundary) {
|
|
133
|
-
if ((masked[index] ?? '').trim())
|
|
134
|
-
bodyStarted = true;
|
|
135
|
-
continue;
|
|
136
|
-
}
|
|
137
|
-
// A decorative rule immediately after a named header belongs to that
|
|
138
|
-
// header. A later rule, after declarations, ends its section.
|
|
139
|
-
if (name === undefined && current && !bodyStarted)
|
|
140
|
-
continue;
|
|
141
|
-
if (current)
|
|
142
|
-
current.sectionEnd = index;
|
|
143
|
-
current = undefined;
|
|
144
|
-
if (name !== undefined) {
|
|
145
|
-
current = { name, categoryLine: index, sectionEnd: bounds.close };
|
|
146
|
-
bodyStarted = false;
|
|
147
|
-
sections.push(current);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
return sections;
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Asserts the category banner exists (or that creation was requested).
|
|
154
|
-
* Throws a GeneralError naming the available categories and the
|
|
155
|
-
* `--create-category` remedy otherwise.
|
|
156
|
-
*/
|
|
157
|
-
export async function assertTokenCategoryExists(engineDir, tokensCssPath, category, createCategory = false) {
|
|
158
|
-
const filePath = join(engineDir, tokensCssPath);
|
|
159
|
-
if (!(await pathExists(filePath))) {
|
|
160
|
-
throw new GeneralError(`Token CSS file not found: ${tokensCssPath}`);
|
|
161
|
-
}
|
|
162
|
-
const content = await readText(filePath);
|
|
163
|
-
const lines = content.split('\n');
|
|
164
|
-
if (categoryHeaderExists(lines, category))
|
|
165
|
-
return;
|
|
166
|
-
// The write path declares the banner in the same edit as the token
|
|
167
|
-
// insertion, so a missing category is fine when creation was requested.
|
|
168
|
-
if (createCategory)
|
|
169
|
-
return;
|
|
170
|
-
const discoveredCategories = discoverCategoryHeaders(lines);
|
|
171
|
-
const available = discoveredCategories.length > 0
|
|
172
|
-
? `Available categories in the file: ${discoveredCategories.map((name) => `"${name}"`).join(', ')}.`
|
|
173
|
-
: 'The file currently has no category headers.';
|
|
174
|
-
throw new GeneralError(`Category "${category}" not found in ${tokensCssPath}.\n\n` +
|
|
175
|
-
`${available}\n\n` +
|
|
176
|
-
'Categories are declared by comment headers. Single-line shape: /* = My Category = */. ' +
|
|
177
|
-
'Multi-line shape: /* =============\\n * My Category\\n * ============= */.\n\n' +
|
|
178
|
-
'Re-run with --create-category to declare the banner and insert the token in one step.');
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* Splices a new single-line category banner ("= Name =" comment shape, the
|
|
182
|
-
* same format `discoverCategoryHeaders` recognises) just before the closing
|
|
183
|
-
* brace of the `:root` block, making the new category the last section.
|
|
184
|
-
* Mutates `lines` in place.
|
|
185
|
-
*/
|
|
186
|
-
export function declareCategoryBanner(lines, category, tokensCssPath) {
|
|
187
|
-
const bounds = findBaseRootBounds(lines);
|
|
188
|
-
if (bounds === undefined) {
|
|
189
|
-
throw new GeneralError(`Cannot create category "${category}": no :root block found in ${tokensCssPath}. ` +
|
|
190
|
-
'Run "fireforge furnace init --force" to re-scaffold the tokens CSS file.');
|
|
191
|
-
}
|
|
192
|
-
if (bounds.close === -1) {
|
|
193
|
-
throw new GeneralError(`Cannot create category "${category}": the :root block in ${tokensCssPath} never closes.`);
|
|
194
|
-
}
|
|
195
|
-
lines.splice(bounds.close, 0, '', ` /* = ${category} = */`);
|
|
196
|
-
}
|
|
197
|
-
/** Locates and bounds the named category section. Throws when absent. */
|
|
198
|
-
export function findCategorySection(lines, category, tokensCssPath) {
|
|
199
|
-
const sections = parseTokenCategorySections(lines);
|
|
200
|
-
const section = sections.find((entry) => entry.name === category);
|
|
201
|
-
if (section === undefined) {
|
|
202
|
-
const discoveredCategories = discoverCategoryHeaders(lines);
|
|
203
|
-
const available = discoveredCategories.length > 0
|
|
204
|
-
? `Available categories in the file: ${discoveredCategories.map((name) => `"${name}"`).join(', ')}.`
|
|
205
|
-
: 'The file currently has no category headers.';
|
|
206
|
-
throw new GeneralError(`Category "${category}" not found in ${tokensCssPath}.\n\n` +
|
|
207
|
-
`${available}\n\n` +
|
|
208
|
-
'Add a header by hand inside the :root block (format: "/* = My Category = */") or re-run "fireforge furnace init --force" to re-seed the default categories.');
|
|
209
|
-
}
|
|
210
|
-
return { categoryLine: section.categoryLine, sectionEnd: section.sectionEnd };
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* Drops complete quoted strings from one CSS line in linear time. An
|
|
214
|
-
* unterminated quote is kept, and once one fails to close every later quote
|
|
215
|
-
* of that kind fails too, so no start position is ever rescanned.
|
|
216
|
-
*/
|
|
217
|
-
function stripCssStrings(line) {
|
|
218
|
-
let out = '';
|
|
219
|
-
const unterminated = new Set();
|
|
220
|
-
for (let i = 0; i < line.length; i++) {
|
|
221
|
-
const quote = line.charAt(i);
|
|
222
|
-
if ((quote !== '"' && quote !== "'") || unterminated.has(quote)) {
|
|
223
|
-
out += quote;
|
|
224
|
-
continue;
|
|
225
|
-
}
|
|
226
|
-
let end = i + 1;
|
|
227
|
-
while (end < line.length && line.charAt(end) !== quote)
|
|
228
|
-
end += line.charAt(end) === '\\' ? 2 : 1;
|
|
229
|
-
if (end >= line.length) {
|
|
230
|
-
unterminated.add(quote);
|
|
231
|
-
out += quote;
|
|
232
|
-
}
|
|
233
|
-
else {
|
|
234
|
-
i = end;
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
return out;
|
|
238
|
-
}
|
|
239
|
-
/** 0-based open/close line indices of the base `:root {` block. */
|
|
240
|
-
export function findBaseRootBounds(lines) {
|
|
241
|
-
const open = lines.findIndex((line) => /:root\s*\{/.test(line));
|
|
242
|
-
if (open === -1)
|
|
243
|
-
return undefined;
|
|
244
|
-
const masked = maskCommentLines(lines);
|
|
245
|
-
let depth = 0;
|
|
246
|
-
for (let i = open; i < lines.length; i++) {
|
|
247
|
-
// Ignore braces in CSS strings (including data URLs).
|
|
248
|
-
const code = stripCssStrings(masked[i] ?? '');
|
|
249
|
-
for (const char of code) {
|
|
250
|
-
if (char === '{')
|
|
251
|
-
depth++;
|
|
252
|
-
if (char === '}' && --depth === 0)
|
|
253
|
-
return { open, close: i };
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
return { open, close: -1 };
|
|
257
|
-
}
|
|
258
|
-
/** Masks block-comment content per line so declarations inside comments never match. */
|
|
259
|
-
export function maskCommentLines(lines) {
|
|
260
|
-
const source = lines.join('\n');
|
|
261
|
-
const parts = [];
|
|
262
|
-
let cursor = 0;
|
|
263
|
-
for (;;) {
|
|
264
|
-
const open = source.indexOf('/*', cursor);
|
|
265
|
-
if (open === -1)
|
|
266
|
-
break;
|
|
267
|
-
const close = source.indexOf('*/', open + 2);
|
|
268
|
-
// An unfinished edit has no complete comment to mask. Searching only
|
|
269
|
-
// once prevents restarting a regex at every repeated comment opener.
|
|
270
|
-
if (close === -1)
|
|
271
|
-
break;
|
|
272
|
-
parts.push(source.slice(cursor, open), source.slice(open, close + 2).replace(/[^\n]/g, ' '));
|
|
273
|
-
cursor = close + 2;
|
|
274
|
-
}
|
|
275
|
-
parts.push(source.slice(cursor));
|
|
276
|
-
return parts.join('').split('\n');
|
|
277
|
-
}
|
|
278
|
-
/**
|
|
279
|
-
* Finds an existing declaration of `tokenName` inside the base `:root`
|
|
280
|
-
* block. Dark `@media` and `:root[variant]` companion blocks are
|
|
281
|
-
* excluded: they mirror the base declaration, they do not
|
|
282
|
-
* own the token. Comment content never matches, and the name match is
|
|
283
|
-
* exact (`--foo-bar` does not match `--x-foo-bar`).
|
|
284
|
-
*/
|
|
285
|
-
export function findTokenDeclarationInRoot(lines, tokenName) {
|
|
286
|
-
const bounds = findBaseRootBounds(lines);
|
|
287
|
-
if (bounds === undefined || bounds.close === -1)
|
|
288
|
-
return undefined;
|
|
289
|
-
const masked = maskCommentLines(lines);
|
|
290
|
-
const sections = parseTokenCategorySections(lines);
|
|
291
|
-
const declPattern = new RegExp(`^\\s*${escapeRegex(tokenName)}\\s*:`);
|
|
292
|
-
for (let i = bounds.open + 1; i < bounds.close; i++) {
|
|
293
|
-
if (!declPattern.test(masked[i] ?? ''))
|
|
294
|
-
continue;
|
|
295
|
-
const category = sections.find((section) => i > section.categoryLine && i < section.sectionEnd)?.name;
|
|
296
|
-
return category === undefined ? { line: i + 1 } : { line: i + 1, category };
|
|
297
|
-
}
|
|
298
|
-
return undefined;
|
|
299
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { TokenCoverageReport } from '../types/commands/index.js';
|
|
2
|
-
/**
|
|
3
|
-
* Measures design token coverage across CSS files.
|
|
4
|
-
*
|
|
5
|
-
* Counts var(--{prefix}*) usages, allowlisted vars, unknown vars, and raw
|
|
6
|
-
* color values. Reuses the same regex patterns as patch-lint.ts.
|
|
7
|
-
*
|
|
8
|
-
* @param repoDir - Absolute path to the engine (repository) directory
|
|
9
|
-
* @param cssFiles - File paths (relative to repoDir) to scan
|
|
10
|
-
* @returns Aggregate and per-file coverage report
|
|
11
|
-
*/
|
|
12
|
-
export declare function measureTokenCoverage(repoDir: string, cssFiles: string[], projectRoot?: string): Promise<TokenCoverageReport>;
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { join } from 'node:path';
|
|
3
|
-
import { toError } from '../utils/errors.js';
|
|
4
|
-
import { pathExists, readText } from '../utils/fs.js';
|
|
5
|
-
import { verbose } from '../utils/logger.js';
|
|
6
|
-
import { countRawCssColors } from '../utils/regex.js';
|
|
7
|
-
import { loadFurnaceConfig } from './furnace-config.js';
|
|
8
|
-
/**
|
|
9
|
-
* Default platform prefixes treated as allowlisted upstream vars. Any
|
|
10
|
-
* `var(--moz-*)` usage in a fork's CSS is a Firefox platform variable the
|
|
11
|
-
* fork does not own and must not count as an unknown. Otherwise a
|
|
12
|
-
* `furnace override moz-button -t css-only` plus one fork token reports 1%
|
|
13
|
-
* coverage, because the ~84 upstream `--moz-*` vars in the copied baseline
|
|
14
|
-
* all count against it.
|
|
15
|
-
*
|
|
16
|
-
* Forks that want to opt out can override this via
|
|
17
|
-
* `furnace.json.platformPrefixes = []`. Forks that want more can extend it
|
|
18
|
-
* (e.g. `['--moz-', '--in-content-']`). The config is additive: nothing is
|
|
19
|
-
* removed from the defaults unless the operator writes a shorter list.
|
|
20
|
-
*/
|
|
21
|
-
const DEFAULT_PLATFORM_PREFIXES = ['--moz-'];
|
|
22
|
-
/**
|
|
23
|
-
* Measures design token coverage across CSS files.
|
|
24
|
-
*
|
|
25
|
-
* Counts var(--{prefix}*) usages, allowlisted vars, unknown vars, and raw
|
|
26
|
-
* color values. Reuses the same regex patterns as patch-lint.ts.
|
|
27
|
-
*
|
|
28
|
-
* @param repoDir - Absolute path to the engine (repository) directory
|
|
29
|
-
* @param cssFiles - File paths (relative to repoDir) to scan
|
|
30
|
-
* @returns Aggregate and per-file coverage report
|
|
31
|
-
*/
|
|
32
|
-
export async function measureTokenCoverage(repoDir, cssFiles, projectRoot) {
|
|
33
|
-
// Load furnace config gracefully
|
|
34
|
-
let tokenPrefix;
|
|
35
|
-
let tokenAllowlist;
|
|
36
|
-
let platformPrefixes = DEFAULT_PLATFORM_PREFIXES;
|
|
37
|
-
try {
|
|
38
|
-
const root = projectRoot ?? join(repoDir, '..');
|
|
39
|
-
const config = await loadFurnaceConfig(root);
|
|
40
|
-
if (config.tokenPrefix) {
|
|
41
|
-
tokenPrefix = config.tokenPrefix;
|
|
42
|
-
tokenAllowlist = new Set(config.tokenAllowlist ?? []);
|
|
43
|
-
}
|
|
44
|
-
if (config.platformPrefixes !== undefined) {
|
|
45
|
-
platformPrefixes = config.platformPrefixes;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
verbose(`Proceeding without furnace token metadata because furnace.json could not be loaded: ${toError(error).message}`);
|
|
50
|
-
}
|
|
51
|
-
const entries = [];
|
|
52
|
-
for (const file of cssFiles) {
|
|
53
|
-
const filePath = join(repoDir, file);
|
|
54
|
-
if (!(await pathExists(filePath)))
|
|
55
|
-
continue;
|
|
56
|
-
const rawCss = await readText(filePath);
|
|
57
|
-
// Strip block comments before scanning
|
|
58
|
-
const css = rawCss.replace(/\/\*[\s\S]*?\*\//g, '');
|
|
59
|
-
// Count raw color values
|
|
60
|
-
const rawColors = countRawCssColors(css);
|
|
61
|
-
// Count custom property usages by category
|
|
62
|
-
let tokenUsages = 0;
|
|
63
|
-
let allowlisted = 0;
|
|
64
|
-
let unknownVars = 0;
|
|
65
|
-
const varPattern = /var\(\s*(--[\w-]+)/g;
|
|
66
|
-
let match;
|
|
67
|
-
while ((match = varPattern.exec(css)) !== null) {
|
|
68
|
-
const prop = match[1];
|
|
69
|
-
if (!prop)
|
|
70
|
-
continue;
|
|
71
|
-
if (tokenPrefix && prop.startsWith(tokenPrefix)) {
|
|
72
|
-
tokenUsages++;
|
|
73
|
-
}
|
|
74
|
-
else if (tokenAllowlist?.has(prop)) {
|
|
75
|
-
allowlisted++;
|
|
76
|
-
}
|
|
77
|
-
else if (platformPrefixes.some((prefix) => prop.startsWith(prefix))) {
|
|
78
|
-
// Platform vars (upstream `--moz-*`) are counted as allowlisted
|
|
79
|
-
// so they don't drag the fork-owned coverage percentage down.
|
|
80
|
-
allowlisted++;
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
unknownVars++;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
entries.push({ file, tokenUsages, allowlisted, unknownVars, rawColors });
|
|
87
|
-
}
|
|
88
|
-
return {
|
|
89
|
-
filesScanned: entries.length,
|
|
90
|
-
tokenUsages: entries.reduce((s, e) => s + e.tokenUsages, 0),
|
|
91
|
-
allowlistedUsages: entries.reduce((s, e) => s + e.allowlisted, 0),
|
|
92
|
-
unknownVarUsages: entries.reduce((s, e) => s + e.unknownVars, 0),
|
|
93
|
-
rawColorCount: entries.reduce((s, e) => s + e.rawColors, 0),
|
|
94
|
-
files: entries,
|
|
95
|
-
};
|
|
96
|
-
}
|