@hominis/fireforge 0.55.0 → 0.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +233 -6
- package/README.md +51 -17
- package/dist/bin/fireforge.js +34 -129
- package/dist/build-info.json +4 -4
- package/dist/src/check/check.js +394 -0
- package/dist/src/check/gate.js +448 -0
- package/dist/src/check/index.js +10 -0
- package/dist/src/check/record.js +155 -0
- package/dist/src/cli/command.js +286 -0
- package/dist/src/cli/output.js +96 -0
- package/dist/src/cli/program.js +231 -0
- package/dist/src/cli/stdio.js +59 -0
- package/dist/src/cli/version.js +99 -0
- package/dist/src/commands/bootstrap.js +17 -102
- package/dist/src/commands/build.js +34 -456
- package/dist/src/commands/check.js +44 -157
- package/dist/src/commands/config.js +50 -226
- package/dist/src/commands/discard.js +38 -215
- package/dist/src/commands/doctor.js +29 -456
- package/dist/src/commands/download.js +35 -499
- package/dist/src/commands/export.js +42 -431
- package/dist/src/commands/furnace.js +220 -0
- package/dist/src/commands/gate.js +127 -0
- package/dist/src/commands/import.js +44 -445
- package/dist/src/commands/index.js +86 -0
- package/dist/src/commands/lint.js +44 -546
- package/dist/src/commands/merge-driver.js +56 -0
- package/dist/src/commands/migrate.js +75 -0
- package/dist/src/commands/override.js +43 -0
- package/dist/src/commands/package.js +48 -77
- package/dist/src/commands/patch.js +221 -0
- package/dist/src/commands/re-export.js +55 -359
- package/dist/src/commands/rebase.js +69 -0
- package/dist/src/commands/register.js +62 -103
- package/dist/src/commands/reset.js +28 -91
- package/dist/src/commands/resolve.js +20 -167
- package/dist/src/commands/restore.js +19 -0
- package/dist/src/commands/run.js +60 -382
- package/dist/src/commands/setup.js +78 -90
- package/dist/src/commands/status.js +44 -413
- package/dist/src/commands/test.js +97 -423
- package/dist/src/commands/token.js +185 -228
- package/dist/src/commands/typecheck.js +59 -241
- package/dist/src/commands/verify.js +28 -334
- package/dist/src/commands/version.js +14 -0
- package/dist/src/commands/watch.js +20 -218
- package/dist/src/commands/wire.js +60 -349
- package/dist/src/commands/workspace.js +117 -0
- package/dist/src/config/edit.js +237 -0
- package/dist/src/config/index.js +15 -0
- package/dist/src/config/load.js +59 -0
- package/dist/src/config/previous.js +404 -0
- package/dist/src/config/schema/build.js +63 -0
- package/dist/src/config/schema/check.js +113 -0
- package/dist/src/config/schema/common.js +71 -0
- package/dist/src/config/schema/export-queue.js +36 -0
- package/dist/src/config/schema/firefox.js +69 -0
- package/dist/src/config/schema/gate.js +199 -0
- package/dist/src/config/schema/identity.js +55 -0
- package/dist/src/config/schema/index.js +45 -0
- package/dist/src/config/schema/lint.js +297 -0
- package/dist/src/config/schema/policy.js +111 -0
- package/dist/src/config/schema/source.js +90 -0
- package/dist/src/config/schema/test.js +17 -0
- package/dist/src/config/schema/toolchains.js +17 -0
- package/dist/src/config/schema/typecheck.js +29 -0
- package/dist/src/config/schema/wire.js +15 -0
- package/dist/src/diff/apply.js +129 -0
- package/dist/src/diff/index.js +16 -0
- package/dist/src/diff/model.js +267 -0
- package/dist/src/diff/query.js +65 -0
- package/dist/src/doctor/index.js +240 -0
- package/dist/src/engine/archive.js +396 -0
- package/dist/src/engine/audit.js +66 -0
- package/dist/src/engine/build.js +150 -0
- package/dist/src/engine/hostLocks.js +66 -0
- package/dist/src/engine/index.js +26 -0
- package/dist/src/engine/installManifests.js +147 -0
- package/dist/src/engine/mach.js +97 -0
- package/dist/src/engine/machHints.js +80 -0
- package/dist/src/engine/mozconfig.js +110 -0
- package/dist/src/engine/objdir.js +124 -0
- package/dist/src/engine/package.js +169 -0
- package/dist/src/engine/pin.js +12 -0
- package/dist/src/engine/pool.js +423 -0
- package/dist/src/engine/pristine.js +281 -0
- package/dist/src/engine/python.js +68 -0
- package/dist/src/engine/resourceGuard.js +582 -0
- package/dist/src/engine/run.js +259 -0
- package/dist/src/engine/smoke.js +204 -0
- package/dist/src/engine/staleness.js +229 -0
- package/dist/src/engine/watch.js +82 -0
- package/dist/src/engine/workspace.js +85 -0
- package/dist/src/furnace/config.js +360 -0
- package/dist/src/furnace/deploy.js +414 -0
- package/dist/src/furnace/diff.js +59 -0
- package/dist/src/furnace/edit.js +64 -0
- package/dist/src/furnace/fragments.js +53 -0
- package/dist/src/furnace/index.js +19 -0
- package/dist/src/furnace/operations.js +283 -0
- package/dist/src/furnace/registration.js +220 -0
- package/dist/src/furnace/scaffold.js +311 -0
- package/dist/src/furnace/typing.js +252 -0
- package/dist/src/furnace/validate.js +662 -0
- package/dist/src/git/apply.js +129 -0
- package/dist/src/git/diff.js +143 -0
- package/dist/src/git/index.js +33 -0
- package/dist/src/git/objects.js +201 -0
- package/dist/src/git/refs.js +85 -0
- package/dist/src/git/repo.js +222 -0
- package/dist/src/git/run.js +242 -0
- package/dist/src/git/status.js +156 -0
- package/dist/src/kernel/errors.js +123 -0
- package/dist/src/kernel/fs.js +515 -0
- package/dist/src/kernel/glob.js +63 -0
- package/dist/src/kernel/hash.js +28 -0
- package/dist/src/kernel/journal.js +524 -0
- package/dist/src/kernel/json-edit.js +198 -0
- package/dist/src/kernel/json.js +101 -0
- package/dist/src/kernel/lock.js +589 -0
- package/dist/src/kernel/log.js +154 -0
- package/dist/src/kernel/process/identity.js +313 -0
- package/dist/src/kernel/process/index.js +8 -0
- package/dist/src/kernel/process/listing.js +128 -0
- package/dist/src/kernel/process/spawn.js +430 -0
- package/dist/src/kernel/process/tree.js +301 -0
- package/dist/src/kernel/schema.js +308 -0
- package/dist/src/kernel/signals.js +171 -0
- package/dist/src/kernel/text.js +151 -0
- package/dist/src/kernel/time.js +83 -0
- package/dist/src/kernel/tty.js +84 -0
- package/dist/src/lint/cache.js +77 -0
- package/dist/src/lint/checkjs.js +400 -0
- package/dist/src/lint/index.js +3 -0
- package/dist/src/lint/input.js +100 -0
- package/dist/src/lint/report.js +107 -0
- package/dist/src/lint/rule.js +41 -0
- package/dist/src/lint/rules/css.js +308 -0
- package/dist/src/lint/rules/javascript.js +299 -0
- package/dist/src/lint/rules/jsdoc.js +249 -0
- package/dist/src/lint/rules/license.js +93 -0
- package/dist/src/lint/rules/policy.js +201 -0
- package/dist/src/lint/rules/registration.js +264 -0
- package/dist/src/lint/rules/size.js +299 -0
- package/dist/src/lint/run.js +126 -0
- package/dist/src/lint/shim.js +323 -0
- package/dist/src/lint/typescript.js +186 -0
- package/dist/src/lint/waivers.js +93 -0
- package/dist/src/mode/changes.js +264 -0
- package/dist/src/mode/diagnose.js +173 -0
- package/dist/src/mode/export.js +147 -0
- package/dist/src/mode/index.js +23 -0
- package/dist/src/mode/migrate.js +181 -0
- package/dist/src/mode/previousWaivers.js +206 -0
- package/dist/src/mode/pristine.js +61 -0
- package/dist/src/mode/rebase.js +197 -0
- package/dist/src/mode/report.js +157 -0
- package/dist/src/mode/setup.js +103 -0
- package/dist/src/mode/tracked.js +116 -0
- package/dist/src/mode/upgrade.js +281 -0
- package/dist/src/mode/watch.js +83 -0
- package/dist/src/mode/workspace.js +189 -0
- package/dist/src/mozbuild/index.js +6 -0
- package/dist/src/mozbuild/jar.js +366 -0
- package/dist/src/mozbuild/mozbuild.js +321 -0
- package/dist/src/mozbuild/paths.js +96 -0
- package/dist/src/mozbuild/references.js +39 -0
- package/dist/src/mozbuild/testManifest.js +343 -0
- package/dist/src/mozbuild/text.js +142 -0
- package/dist/src/project/changes.js +145 -0
- package/dist/src/project/checkout.js +66 -0
- package/dist/src/project/index.js +11 -0
- package/dist/src/project/license.js +119 -0
- package/dist/src/project/project.js +111 -0
- package/dist/src/project/state.js +85 -0
- package/dist/src/project/tracked.js +1 -0
- package/dist/src/queue/apply.js +270 -0
- package/dist/src/queue/attribute.js +159 -0
- package/dist/src/queue/baseline.js +409 -0
- package/dist/src/queue/capture.js +298 -0
- package/dist/src/queue/changes.js +234 -0
- package/dist/src/queue/index.js +50 -0
- package/dist/src/queue/manifest.js +341 -0
- package/dist/src/queue/operations.js +454 -0
- package/dist/src/queue/placement.js +220 -0
- package/dist/src/queue/queue.js +359 -0
- package/dist/src/queue/restore.js +103 -0
- package/dist/src/queue/session.js +685 -0
- package/dist/src/queue/status.js +137 -0
- package/dist/src/register/files.js +39 -0
- package/dist/src/register/index.js +8 -0
- package/dist/src/register/js.js +217 -0
- package/dist/src/register/register.js +359 -0
- package/dist/src/register/wire.js +146 -0
- package/dist/src/source/adopt.js +99 -0
- package/dist/src/source/changes.js +132 -0
- package/dist/src/source/edit.js +278 -0
- package/dist/src/source/export.js +70 -0
- package/dist/src/source/groups.js +131 -0
- package/dist/src/source/index.js +20 -0
- package/dist/src/source/materialize.js +382 -0
- package/dist/src/source/merge.js +255 -0
- package/dist/src/source/objects.js +102 -0
- package/dist/src/source/previous.js +166 -0
- package/dist/src/source/records.js +138 -0
- package/dist/src/source/refresh.js +264 -0
- package/dist/src/source/tree.js +337 -0
- package/dist/src/syntax/css.js +215 -0
- package/dist/src/syntax/fragments.js +63 -0
- package/dist/src/syntax/index.js +10 -0
- package/dist/src/syntax/js.js +270 -0
- package/dist/src/test/classify.js +826 -0
- package/dist/src/test/control.js +236 -0
- package/dist/src/test/host.js +266 -0
- package/dist/src/test/index.js +11 -0
- package/dist/src/test/plan.js +347 -0
- package/dist/src/test/rawLog.js +138 -0
- package/dist/src/test/run.js +404 -0
- package/dist/src/test/verdict.js +420 -0
- package/dist/src/test/xpcshell.js +143 -0
- package/dist/src/tokens/add.js +304 -0
- package/dist/src/tokens/coverage.js +65 -0
- package/dist/src/tokens/css.js +58 -0
- package/dist/src/tokens/index.js +12 -0
- package/dist/src/tokens/lint.js +96 -0
- package/dist/src/tokens/model.js +118 -0
- package/dist/src/tokens/settings.js +87 -0
- package/dist/src/tokens/siblings.js +104 -0
- package/dist/src/typecheck/explain.js +123 -0
- package/dist/src/typecheck/index.js +8 -0
- package/dist/src/typecheck/typecheck.js +332 -0
- package/docs/README.md +23 -28
- package/docs/authoring.md +97 -0
- package/docs/configuration.md +307 -766
- package/docs/exit-codes.md +76 -94
- package/docs/furnace.md +111 -221
- package/docs/gate.md +205 -0
- package/docs/getting-started.md +165 -0
- package/docs/machine-output.md +201 -290
- package/docs/migrating.md +261 -0
- package/docs/patch-workflow.md +159 -723
- package/docs/quality.md +220 -0
- package/docs/source-workflow.md +228 -0
- package/docs/testing.md +101 -719
- package/docs/workspaces.md +187 -0
- package/package.json +22 -30
- package/templates/configs/common.mozconfig +8 -2
- package/templates/configs/darwin.mozconfig +6 -7
- package/templates/configs/linux.mozconfig +5 -8
- package/templates/configs/win32.mozconfig +3 -9
- package/dist/bin/fireforge.d.ts +0 -9
- package/dist/src/cli-usage-error.d.ts +0 -46
- package/dist/src/cli-usage-error.js +0 -81
- package/dist/src/cli.d.ts +0 -41
- package/dist/src/cli.js +0 -380
- package/dist/src/commands/bootstrap-checks.d.ts +0 -16
- package/dist/src/commands/bootstrap-checks.js +0 -66
- package/dist/src/commands/bootstrap.d.ts +0 -10
- package/dist/src/commands/build-prelock.d.ts +0 -20
- package/dist/src/commands/build-prelock.js +0 -50
- package/dist/src/commands/build.d.ts +0 -13
- package/dist/src/commands/check-report.d.ts +0 -41
- package/dist/src/commands/check-report.js +0 -98
- package/dist/src/commands/check-run.d.ts +0 -44
- package/dist/src/commands/check-run.js +0 -125
- package/dist/src/commands/check-steps.d.ts +0 -75
- package/dist/src/commands/check-steps.js +0 -200
- package/dist/src/commands/check.d.ts +0 -32
- package/dist/src/commands/config.d.ts +0 -13
- package/dist/src/commands/declarations-report.d.ts +0 -49
- package/dist/src/commands/declarations-report.js +0 -83
- package/dist/src/commands/destructive-decision.d.ts +0 -19
- package/dist/src/commands/destructive-decision.js +0 -31
- package/dist/src/commands/discard.d.ts +0 -12
- package/dist/src/commands/doctor-check-core.d.ts +0 -110
- package/dist/src/commands/doctor-check-core.js +0 -24
- package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
- package/dist/src/commands/doctor-engine-eslint.js +0 -17
- package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
- package/dist/src/commands/doctor-external-toolchains.js +0 -56
- package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
- package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
- package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
- package/dist/src/commands/doctor-furnace-jar.js +0 -44
- package/dist/src/commands/doctor-furnace.d.ts +0 -8
- package/dist/src/commands/doctor-furnace.js +0 -514
- package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
- package/dist/src/commands/doctor-macos-sdk.js +0 -158
- package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
- package/dist/src/commands/doctor-orphaned-harness.js +0 -98
- package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
- package/dist/src/commands/doctor-patch-manifest.js +0 -156
- package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
- package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
- package/dist/src/commands/doctor-source-pin.d.ts +0 -29
- package/dist/src/commands/doctor-source-pin.js +0 -91
- package/dist/src/commands/doctor-working-tree.d.ts +0 -27
- package/dist/src/commands/doctor-working-tree.js +0 -89
- package/dist/src/commands/doctor.d.ts +0 -49
- package/dist/src/commands/download.d.ts +0 -11
- package/dist/src/commands/export-adopt-check.d.ts +0 -37
- package/dist/src/commands/export-adopt-check.js +0 -97
- package/dist/src/commands/export-all.d.ts +0 -11
- package/dist/src/commands/export-all.js +0 -361
- package/dist/src/commands/export-flow.d.ts +0 -124
- package/dist/src/commands/export-flow.js +0 -423
- package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
- package/dist/src/commands/export-placement-conflicts.js +0 -75
- package/dist/src/commands/export-placement-gate.d.ts +0 -42
- package/dist/src/commands/export-placement-gate.js +0 -107
- package/dist/src/commands/export-placement-policy.d.ts +0 -22
- package/dist/src/commands/export-placement-policy.js +0 -54
- package/dist/src/commands/export-shared.d.ts +0 -152
- package/dist/src/commands/export-shared.js +0 -396
- package/dist/src/commands/export-staged-registration.d.ts +0 -46
- package/dist/src/commands/export-staged-registration.js +0 -91
- package/dist/src/commands/export.d.ts +0 -13
- package/dist/src/commands/forward-import-remedy.d.ts +0 -31
- package/dist/src/commands/forward-import-remedy.js +0 -62
- package/dist/src/commands/furnace/apply.d.ts +0 -8
- package/dist/src/commands/furnace/apply.js +0 -327
- package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
- package/dist/src/commands/furnace/authoring-config.js +0 -19
- package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
- package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
- package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
- package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
- package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
- package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
- package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
- package/dist/src/commands/furnace/chrome-doc.js +0 -365
- package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
- package/dist/src/commands/furnace/create-browser-test.js +0 -179
- package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
- package/dist/src/commands/furnace/create-dry-run.js +0 -107
- package/dist/src/commands/furnace/create-features.d.ts +0 -24
- package/dist/src/commands/furnace/create-features.js +0 -55
- package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
- package/dist/src/commands/furnace/create-mochikit.js +0 -75
- package/dist/src/commands/furnace/create-readback.d.ts +0 -22
- package/dist/src/commands/furnace/create-readback.js +0 -32
- package/dist/src/commands/furnace/create-templates.d.ts +0 -119
- package/dist/src/commands/furnace/create-templates.js +0 -283
- package/dist/src/commands/furnace/create-validation.d.ts +0 -6
- package/dist/src/commands/furnace/create-validation.js +0 -59
- package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
- package/dist/src/commands/furnace/create-xpcshell.js +0 -80
- package/dist/src/commands/furnace/create.d.ts +0 -24
- package/dist/src/commands/furnace/create.js +0 -407
- package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
- package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
- package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
- package/dist/src/commands/furnace/deploy-named.js +0 -107
- package/dist/src/commands/furnace/deploy.d.ts +0 -9
- package/dist/src/commands/furnace/deploy.js +0 -229
- package/dist/src/commands/furnace/diff.d.ts +0 -11
- package/dist/src/commands/furnace/diff.js +0 -238
- package/dist/src/commands/furnace/index.d.ts +0 -4
- package/dist/src/commands/furnace/index.js +0 -283
- package/dist/src/commands/furnace/init.d.ts +0 -11
- package/dist/src/commands/furnace/init.js +0 -287
- package/dist/src/commands/furnace/list.d.ts +0 -8
- package/dist/src/commands/furnace/list.js +0 -104
- package/dist/src/commands/furnace/override.d.ts +0 -16
- package/dist/src/commands/furnace/override.js +0 -454
- package/dist/src/commands/furnace/preview.d.ts +0 -19
- package/dist/src/commands/furnace/preview.js +0 -349
- package/dist/src/commands/furnace/refresh.d.ts +0 -10
- package/dist/src/commands/furnace/refresh.js +0 -303
- package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
- package/dist/src/commands/furnace/remove-mutations.js +0 -168
- package/dist/src/commands/furnace/remove-state.d.ts +0 -20
- package/dist/src/commands/furnace/remove-state.js +0 -60
- package/dist/src/commands/furnace/remove.d.ts +0 -8
- package/dist/src/commands/furnace/remove.js +0 -415
- package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
- package/dist/src/commands/furnace/rename-browser-test.js +0 -68
- package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
- package/dist/src/commands/furnace/rename-dry-run.js +0 -127
- package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
- package/dist/src/commands/furnace/rename-helpers.js +0 -85
- package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
- package/dist/src/commands/furnace/rename-registrations.js +0 -98
- package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
- package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
- package/dist/src/commands/furnace/rename.d.ts +0 -6
- package/dist/src/commands/furnace/rename.js +0 -400
- package/dist/src/commands/furnace/scan.d.ts +0 -14
- package/dist/src/commands/furnace/scan.js +0 -192
- package/dist/src/commands/furnace/status.d.ts +0 -7
- package/dist/src/commands/furnace/status.js +0 -209
- package/dist/src/commands/furnace/sync.d.ts +0 -12
- package/dist/src/commands/furnace/sync.js +0 -145
- package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
- package/dist/src/commands/furnace/test-file-name.js +0 -39
- package/dist/src/commands/furnace/validate-report.d.ts +0 -45
- package/dist/src/commands/furnace/validate-report.js +0 -91
- package/dist/src/commands/furnace/validate.d.ts +0 -8
- package/dist/src/commands/furnace/validate.js +0 -309
- package/dist/src/commands/furnace/validation-output.d.ts +0 -47
- package/dist/src/commands/furnace/validation-output.js +0 -161
- package/dist/src/commands/import.d.ts +0 -11
- package/dist/src/commands/lint-per-patch.d.ts +0 -10
- package/dist/src/commands/lint-per-patch.js +0 -428
- package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
- package/dist/src/commands/lint-per-run-checkjs.js +0 -102
- package/dist/src/commands/lint-report.d.ts +0 -25
- package/dist/src/commands/lint-report.js +0 -76
- package/dist/src/commands/lint.d.ts +0 -47
- package/dist/src/commands/manifest.d.ts +0 -38
- package/dist/src/commands/manifest.js +0 -68
- package/dist/src/commands/package.d.ts +0 -11
- package/dist/src/commands/park.d.ts +0 -22
- package/dist/src/commands/park.js +0 -232
- package/dist/src/commands/patch/body.d.ts +0 -29
- package/dist/src/commands/patch/body.js +0 -60
- package/dist/src/commands/patch/compact.d.ts +0 -28
- package/dist/src/commands/patch/compact.js +0 -208
- package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
- package/dist/src/commands/patch/delete-gap-notice.js +0 -48
- package/dist/src/commands/patch/delete.d.ts +0 -28
- package/dist/src/commands/patch/delete.js +0 -131
- package/dist/src/commands/patch/entry-projection.d.ts +0 -13
- package/dist/src/commands/patch/entry-projection.js +0 -24
- package/dist/src/commands/patch/index.d.ts +0 -16
- package/dist/src/commands/patch/index.js +0 -54
- package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
- package/dist/src/commands/patch/lint-ignore-from.js +0 -141
- package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
- package/dist/src/commands/patch/lint-ignore.js +0 -263
- package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
- package/dist/src/commands/patch/move-files-adopt.js +0 -65
- package/dist/src/commands/patch/move-files-create.d.ts +0 -19
- package/dist/src/commands/patch/move-files-create.js +0 -187
- package/dist/src/commands/patch/move-files-into.d.ts +0 -65
- package/dist/src/commands/patch/move-files-into.js +0 -325
- package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
- package/dist/src/commands/patch/move-files-retire.js +0 -91
- package/dist/src/commands/patch/move-files.d.ts +0 -28
- package/dist/src/commands/patch/move-files.js +0 -224
- package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
- package/dist/src/commands/patch/move-size-tier.js +0 -66
- package/dist/src/commands/patch/patch-context.d.ts +0 -40
- package/dist/src/commands/patch/patch-context.js +0 -51
- package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
- package/dist/src/commands/patch/removal-created-files.js +0 -83
- package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
- package/dist/src/commands/patch/removal-dependents.js +0 -133
- package/dist/src/commands/patch/rename.d.ts +0 -35
- package/dist/src/commands/patch/rename.js +0 -378
- package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
- package/dist/src/commands/patch/reorder-projection.js +0 -49
- package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
- package/dist/src/commands/patch/reorder-shift.js +0 -307
- package/dist/src/commands/patch/reorder.d.ts +0 -34
- package/dist/src/commands/patch/reorder.js +0 -375
- package/dist/src/commands/patch/reserve.d.ts +0 -33
- package/dist/src/commands/patch/reserve.js +0 -152
- package/dist/src/commands/patch/retire.d.ts +0 -34
- package/dist/src/commands/patch/retire.js +0 -133
- package/dist/src/commands/patch/split-plan.d.ts +0 -125
- package/dist/src/commands/patch/split-plan.js +0 -313
- package/dist/src/commands/patch/split-staged.d.ts +0 -108
- package/dist/src/commands/patch/split-staged.js +0 -202
- package/dist/src/commands/patch/split.d.ts +0 -43
- package/dist/src/commands/patch/split.js +0 -367
- package/dist/src/commands/patch/stage.d.ts +0 -34
- package/dist/src/commands/patch/stage.js +0 -153
- package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
- package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
- package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
- package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
- package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
- package/dist/src/commands/patch/staged-dependency-from.js +0 -114
- package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
- package/dist/src/commands/patch/staged-dependency-remove.js +0 -114
- package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -27
- package/dist/src/commands/patch/staged-dependency-validate.js +0 -78
- package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
- package/dist/src/commands/patch/staged-dependency.js +0 -251
- package/dist/src/commands/patch/tier.d.ts +0 -34
- package/dist/src/commands/patch/tier.js +0 -125
- package/dist/src/commands/patch-rename-map.d.ts +0 -30
- package/dist/src/commands/patch-rename-map.js +0 -54
- package/dist/src/commands/pending-resolution.d.ts +0 -15
- package/dist/src/commands/pending-resolution.js +0 -25
- package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
- package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
- package/dist/src/commands/re-export-adjacent.d.ts +0 -111
- package/dist/src/commands/re-export-adjacent.js +0 -285
- package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
- package/dist/src/commands/re-export-bulk-scan.js +0 -233
- package/dist/src/commands/re-export-drift.d.ts +0 -110
- package/dist/src/commands/re-export-drift.js +0 -358
- package/dist/src/commands/re-export-each.d.ts +0 -46
- package/dist/src/commands/re-export-each.js +0 -110
- package/dist/src/commands/re-export-files.d.ts +0 -15
- package/dist/src/commands/re-export-files.js +0 -307
- package/dist/src/commands/re-export-hunks.d.ts +0 -37
- package/dist/src/commands/re-export-hunks.js +0 -264
- package/dist/src/commands/re-export-lint.d.ts +0 -137
- package/dist/src/commands/re-export-lint.js +0 -303
- package/dist/src/commands/re-export-options.d.ts +0 -29
- package/dist/src/commands/re-export-options.js +0 -192
- package/dist/src/commands/re-export-preflight.d.ts +0 -23
- package/dist/src/commands/re-export-preflight.js +0 -159
- package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
- package/dist/src/commands/re-export-purity-scope.js +0 -137
- package/dist/src/commands/re-export-register.d.ts +0 -12
- package/dist/src/commands/re-export-register.js +0 -99
- package/dist/src/commands/re-export-removed.d.ts +0 -15
- package/dist/src/commands/re-export-removed.js +0 -94
- package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
- package/dist/src/commands/re-export-retired-declarations.js +0 -113
- package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
- package/dist/src/commands/re-export-scan-owner.js +0 -116
- package/dist/src/commands/re-export-scan.d.ts +0 -72
- package/dist/src/commands/re-export-scan.js +0 -265
- package/dist/src/commands/re-export-single.d.ts +0 -53
- package/dist/src/commands/re-export-single.js +0 -426
- package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
- package/dist/src/commands/re-export-stale-registrations.js +0 -106
- package/dist/src/commands/re-export-summary.d.ts +0 -44
- package/dist/src/commands/re-export-summary.js +0 -59
- package/dist/src/commands/re-export.d.ts +0 -8
- package/dist/src/commands/rebase/abort.d.ts +0 -7
- package/dist/src/commands/rebase/abort.js +0 -67
- package/dist/src/commands/rebase/confirm.d.ts +0 -42
- package/dist/src/commands/rebase/confirm.js +0 -36
- package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
- package/dist/src/commands/rebase/conflict-summary.js +0 -37
- package/dist/src/commands/rebase/continue.d.ts +0 -7
- package/dist/src/commands/rebase/continue.js +0 -119
- package/dist/src/commands/rebase/index.d.ts +0 -22
- package/dist/src/commands/rebase/index.js +0 -209
- package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
- package/dist/src/commands/rebase/patch-loop.js +0 -289
- package/dist/src/commands/rebase/summary.d.ts +0 -8
- package/dist/src/commands/rebase/summary.js +0 -47
- package/dist/src/commands/register.d.ts +0 -13
- package/dist/src/commands/reset.d.ts +0 -11
- package/dist/src/commands/resolve.d.ts +0 -36
- package/dist/src/commands/run.d.ts +0 -10
- package/dist/src/commands/setup-support.d.ts +0 -35
- package/dist/src/commands/setup-support.js +0 -386
- package/dist/src/commands/setup.d.ts +0 -11
- package/dist/src/commands/source.d.ts +0 -9
- package/dist/src/commands/source.js +0 -120
- package/dist/src/commands/status-check.d.ts +0 -87
- package/dist/src/commands/status-check.js +0 -161
- package/dist/src/commands/status-json.d.ts +0 -45
- package/dist/src/commands/status-json.js +0 -97
- package/dist/src/commands/status-output.d.ts +0 -23
- package/dist/src/commands/status-output.js +0 -231
- package/dist/src/commands/status-ownership.d.ts +0 -54
- package/dist/src/commands/status-ownership.js +0 -59
- package/dist/src/commands/status-scope.d.ts +0 -37
- package/dist/src/commands/status-scope.js +0 -54
- package/dist/src/commands/status.d.ts +0 -11
- package/dist/src/commands/test-appdir.d.ts +0 -6
- package/dist/src/commands/test-appdir.js +0 -29
- package/dist/src/commands/test-browser-preflight.d.ts +0 -28
- package/dist/src/commands/test-browser-preflight.js +0 -197
- package/dist/src/commands/test-build-furnace.d.ts +0 -21
- package/dist/src/commands/test-build-furnace.js +0 -53
- package/dist/src/commands/test-build-phase.d.ts +0 -34
- package/dist/src/commands/test-build-phase.js +0 -291
- package/dist/src/commands/test-checkjs.d.ts +0 -3
- package/dist/src/commands/test-checkjs.js +0 -35
- package/dist/src/commands/test-control-restore.d.ts +0 -40
- package/dist/src/commands/test-control-restore.js +0 -86
- package/dist/src/commands/test-diagnose.d.ts +0 -23
- package/dist/src/commands/test-diagnose.js +0 -317
- package/dist/src/commands/test-dispatch.d.ts +0 -39
- package/dist/src/commands/test-dispatch.js +0 -281
- package/dist/src/commands/test-furnace-reach.d.ts +0 -37
- package/dist/src/commands/test-furnace-reach.js +0 -132
- package/dist/src/commands/test-harness-env.d.ts +0 -23
- package/dist/src/commands/test-harness-env.js +0 -81
- package/dist/src/commands/test-harness-teardown.d.ts +0 -62
- package/dist/src/commands/test-harness-teardown.js +0 -128
- package/dist/src/commands/test-modes.d.ts +0 -57
- package/dist/src/commands/test-modes.js +0 -158
- package/dist/src/commands/test-multi-verdict.d.ts +0 -61
- package/dist/src/commands/test-multi-verdict.js +0 -112
- package/dist/src/commands/test-orchestrate.d.ts +0 -70
- package/dist/src/commands/test-orchestrate.js +0 -277
- package/dist/src/commands/test-perf-scope.d.ts +0 -50
- package/dist/src/commands/test-perf-scope.js +0 -138
- package/dist/src/commands/test-prelock.d.ts +0 -61
- package/dist/src/commands/test-prelock.js +0 -301
- package/dist/src/commands/test-register.d.ts +0 -4
- package/dist/src/commands/test-register.js +0 -181
- package/dist/src/commands/test-results.d.ts +0 -71
- package/dist/src/commands/test-results.js +0 -79
- package/dist/src/commands/test-run.d.ts +0 -89
- package/dist/src/commands/test-run.js +0 -251
- package/dist/src/commands/test-shards.d.ts +0 -114
- package/dist/src/commands/test-shards.js +0 -272
- package/dist/src/commands/test-stale-gate.d.ts +0 -56
- package/dist/src/commands/test-stale-gate.js +0 -208
- package/dist/src/commands/test-verdict.d.ts +0 -102
- package/dist/src/commands/test-verdict.js +0 -176
- package/dist/src/commands/test.d.ts +0 -22
- package/dist/src/commands/token-coverage.d.ts +0 -5
- package/dist/src/commands/token-coverage.js +0 -170
- package/dist/src/commands/token-lint.d.ts +0 -14
- package/dist/src/commands/token-lint.js +0 -151
- package/dist/src/commands/token-list.d.ts +0 -26
- package/dist/src/commands/token-list.js +0 -153
- package/dist/src/commands/token.d.ts +0 -14
- package/dist/src/commands/tree.d.ts +0 -19
- package/dist/src/commands/tree.js +0 -341
- package/dist/src/commands/typecheck-explain.d.ts +0 -13
- package/dist/src/commands/typecheck-explain.js +0 -100
- package/dist/src/commands/typecheck.d.ts +0 -61
- package/dist/src/commands/verify-scope.d.ts +0 -28
- package/dist/src/commands/verify-scope.js +0 -67
- package/dist/src/commands/verify.d.ts +0 -58
- package/dist/src/commands/watch.d.ts +0 -9
- package/dist/src/commands/wire.d.ts +0 -13
- package/dist/src/core/ast-utils.d.ts +0 -73
- package/dist/src/core/ast-utils.js +0 -105
- package/dist/src/core/brand-validation.d.ts +0 -7
- package/dist/src/core/brand-validation.js +0 -14
- package/dist/src/core/branding.d.ts +0 -86
- package/dist/src/core/branding.js +0 -371
- package/dist/src/core/browser-wire.d.ts +0 -48
- package/dist/src/core/browser-wire.js +0 -133
- package/dist/src/core/build-audit-platform.d.ts +0 -67
- package/dist/src/core/build-audit-platform.js +0 -373
- package/dist/src/core/build-audit-registration.d.ts +0 -80
- package/dist/src/core/build-audit-registration.js +0 -181
- package/dist/src/core/build-audit-resolve.d.ts +0 -78
- package/dist/src/core/build-audit-resolve.js +0 -240
- package/dist/src/core/build-audit-skip.d.ts +0 -57
- package/dist/src/core/build-audit-skip.js +0 -112
- package/dist/src/core/build-audit-transforms.d.ts +0 -23
- package/dist/src/core/build-audit-transforms.js +0 -92
- package/dist/src/core/build-audit.d.ts +0 -93
- package/dist/src/core/build-audit.js +0 -633
- package/dist/src/core/build-baseline-types.d.ts +0 -225
- package/dist/src/core/build-baseline-types.js +0 -10
- package/dist/src/core/build-baseline-validate.d.ts +0 -32
- package/dist/src/core/build-baseline-validate.js +0 -173
- package/dist/src/core/build-baseline.d.ts +0 -103
- package/dist/src/core/build-baseline.js +0 -261
- package/dist/src/core/build-jar-escalation.d.ts +0 -61
- package/dist/src/core/build-jar-escalation.js +0 -125
- package/dist/src/core/build-overwrite-guard.d.ts +0 -92
- package/dist/src/core/build-overwrite-guard.js +0 -235
- package/dist/src/core/build-prepare.d.ts +0 -83
- package/dist/src/core/build-prepare.js +0 -414
- package/dist/src/core/build-run-record.d.ts +0 -74
- package/dist/src/core/build-run-record.js +0 -136
- package/dist/src/core/checkjs-support-heads.d.ts +0 -41
- package/dist/src/core/checkjs-support-heads.js +0 -104
- package/dist/src/core/component-source-guard.d.ts +0 -20
- package/dist/src/core/component-source-guard.js +0 -68
- package/dist/src/core/config-mutate.d.ts +0 -16
- package/dist/src/core/config-mutate.js +0 -76
- package/dist/src/core/config-paths.d.ts +0 -16
- package/dist/src/core/config-paths.js +0 -106
- package/dist/src/core/config-state.d.ts +0 -16
- package/dist/src/core/config-state.js +0 -141
- package/dist/src/core/config-validate-build-audit.d.ts +0 -8
- package/dist/src/core/config-validate-build-audit.js +0 -80
- package/dist/src/core/config-validate-check.d.ts +0 -8
- package/dist/src/core/config-validate-check.js +0 -219
- package/dist/src/core/config-validate-file-size.d.ts +0 -15
- package/dist/src/core/config-validate-file-size.js +0 -154
- package/dist/src/core/config-validate-history.d.ts +0 -11
- package/dist/src/core/config-validate-history.js +0 -38
- package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
- package/dist/src/core/config-validate-patch-policy.js +0 -284
- package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
- package/dist/src/core/config-validate-test-toolchains.js +0 -133
- package/dist/src/core/config-validate-token-scales.d.ts +0 -9
- package/dist/src/core/config-validate-token-scales.js +0 -125
- package/dist/src/core/config-validate.d.ts +0 -11
- package/dist/src/core/config-validate.js +0 -509
- package/dist/src/core/config.d.ts +0 -92
- package/dist/src/core/config.js +0 -169
- package/dist/src/core/coverage-dispatch.d.ts +0 -24
- package/dist/src/core/coverage-dispatch.js +0 -44
- package/dist/src/core/coverage-extend.d.ts +0 -89
- package/dist/src/core/coverage-extend.js +0 -239
- package/dist/src/core/coverage-records.d.ts +0 -107
- package/dist/src/core/coverage-records.js +0 -383
- package/dist/src/core/destructive.d.ts +0 -144
- package/dist/src/core/destructive.js +0 -182
- package/dist/src/core/dev-profile.d.ts +0 -28
- package/dist/src/core/dev-profile.js +0 -58
- package/dist/src/core/diff-hunks.d.ts +0 -73
- package/dist/src/core/diff-hunks.js +0 -286
- package/dist/src/core/discard-baseline.d.ts +0 -60
- package/dist/src/core/discard-baseline.js +0 -247
- package/dist/src/core/display-state.d.ts +0 -50
- package/dist/src/core/display-state.js +0 -87
- package/dist/src/core/engine-changes.d.ts +0 -40
- package/dist/src/core/engine-changes.js +0 -95
- package/dist/src/core/engine-precondition.d.ts +0 -42
- package/dist/src/core/engine-precondition.js +0 -60
- package/dist/src/core/engine-session-lock.d.ts +0 -119
- package/dist/src/core/engine-session-lock.js +0 -374
- package/dist/src/core/engine-write-boundary.d.ts +0 -5
- package/dist/src/core/engine-write-boundary.js +0 -41
- package/dist/src/core/export-moved-code-shape.d.ts +0 -98
- package/dist/src/core/export-moved-code-shape.js +0 -220
- package/dist/src/core/file-lock-owner.d.ts +0 -103
- package/dist/src/core/file-lock-owner.js +0 -259
- package/dist/src/core/file-lock-queue.d.ts +0 -67
- package/dist/src/core/file-lock-queue.js +0 -219
- package/dist/src/core/file-lock-shared.d.ts +0 -57
- package/dist/src/core/file-lock-shared.js +0 -117
- package/dist/src/core/file-lock.d.ts +0 -143
- package/dist/src/core/file-lock.js +0 -531
- package/dist/src/core/firefox-archive.d.ts +0 -45
- package/dist/src/core/firefox-archive.js +0 -96
- package/dist/src/core/firefox-cache.d.ts +0 -30
- package/dist/src/core/firefox-cache.js +0 -248
- package/dist/src/core/firefox-download.d.ts +0 -30
- package/dist/src/core/firefox-download.js +0 -152
- package/dist/src/core/firefox-extract.d.ts +0 -42
- package/dist/src/core/firefox-extract.js +0 -248
- package/dist/src/core/firefox-ignorefile.d.ts +0 -17
- package/dist/src/core/firefox-ignorefile.js +0 -30
- package/dist/src/core/firefox.d.ts +0 -66
- package/dist/src/core/firefox.js +0 -121
- package/dist/src/core/forward-registrations.d.ts +0 -33
- package/dist/src/core/forward-registrations.js +0 -16
- package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
- package/dist/src/core/furnace-apply-dry-run.js +0 -99
- package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
- package/dist/src/core/furnace-apply-ftl.js +0 -210
- package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
- package/dist/src/core/furnace-apply-helpers.js +0 -436
- package/dist/src/core/furnace-apply-output.d.ts +0 -36
- package/dist/src/core/furnace-apply-output.js +0 -111
- package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -67
- package/dist/src/core/furnace-apply-overwrite-warn.js +0 -131
- package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
- package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
- package/dist/src/core/furnace-apply.d.ts +0 -49
- package/dist/src/core/furnace-apply.js +0 -465
- package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
- package/dist/src/core/furnace-checksum-utils.js +0 -54
- package/dist/src/core/furnace-composed-source.d.ts +0 -76
- package/dist/src/core/furnace-composed-source.js +0 -167
- package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
- package/dist/src/core/furnace-config-array-utils.js +0 -26
- package/dist/src/core/furnace-config-custom.d.ts +0 -15
- package/dist/src/core/furnace-config-custom.js +0 -73
- package/dist/src/core/furnace-config-order.d.ts +0 -8
- package/dist/src/core/furnace-config-order.js +0 -90
- package/dist/src/core/furnace-config-tokens.d.ts +0 -17
- package/dist/src/core/furnace-config-tokens.js +0 -42
- package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
- package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
- package/dist/src/core/furnace-config-validate.d.ts +0 -32
- package/dist/src/core/furnace-config-validate.js +0 -167
- package/dist/src/core/furnace-config.d.ts +0 -139
- package/dist/src/core/furnace-config.js +0 -511
- package/dist/src/core/furnace-constants.d.ts +0 -81
- package/dist/src/core/furnace-constants.js +0 -125
- package/dist/src/core/furnace-css-fragments.d.ts +0 -96
- package/dist/src/core/furnace-css-fragments.js +0 -279
- package/dist/src/core/furnace-deploy-owner.d.ts +0 -29
- package/dist/src/core/furnace-deploy-owner.js +0 -116
- package/dist/src/core/furnace-dir-entry.d.ts +0 -20
- package/dist/src/core/furnace-dir-entry.js +0 -21
- package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
- package/dist/src/core/furnace-fragment-includers.js +0 -122
- package/dist/src/core/furnace-graph-utils.d.ts +0 -11
- package/dist/src/core/furnace-graph-utils.js +0 -93
- package/dist/src/core/furnace-jsconfig.d.ts +0 -87
- package/dist/src/core/furnace-jsconfig.js +0 -248
- package/dist/src/core/furnace-marker.d.ts +0 -15
- package/dist/src/core/furnace-marker.js +0 -21
- package/dist/src/core/furnace-operation.d.ts +0 -195
- package/dist/src/core/furnace-operation.js +0 -444
- package/dist/src/core/furnace-precondition.d.ts +0 -61
- package/dist/src/core/furnace-precondition.js +0 -67
- package/dist/src/core/furnace-refresh.d.ts +0 -28
- package/dist/src/core/furnace-refresh.js +0 -125
- package/dist/src/core/furnace-registration-ast.d.ts +0 -53
- package/dist/src/core/furnace-registration-ast.js +0 -402
- package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
- package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
- package/dist/src/core/furnace-registration-remove.d.ts +0 -56
- package/dist/src/core/furnace-registration-remove.js +0 -260
- package/dist/src/core/furnace-registration-rename.d.ts +0 -26
- package/dist/src/core/furnace-registration-rename.js +0 -77
- package/dist/src/core/furnace-registration-validate.d.ts +0 -53
- package/dist/src/core/furnace-registration-validate.js +0 -110
- package/dist/src/core/furnace-registration.d.ts +0 -112
- package/dist/src/core/furnace-registration.js +0 -348
- package/dist/src/core/furnace-rollback.d.ts +0 -48
- package/dist/src/core/furnace-rollback.js +0 -170
- package/dist/src/core/furnace-scanner.d.ts +0 -47
- package/dist/src/core/furnace-scanner.js +0 -236
- package/dist/src/core/furnace-stale-export.d.ts +0 -60
- package/dist/src/core/furnace-stale-export.js +0 -125
- package/dist/src/core/furnace-staleness.d.ts +0 -24
- package/dist/src/core/furnace-staleness.js +0 -67
- package/dist/src/core/furnace-state-persist.d.ts +0 -68
- package/dist/src/core/furnace-state-persist.js +0 -116
- package/dist/src/core/furnace-step-errors.d.ts +0 -23
- package/dist/src/core/furnace-step-errors.js +0 -25
- package/dist/src/core/furnace-stories.d.ts +0 -37
- package/dist/src/core/furnace-stories.js +0 -186
- package/dist/src/core/furnace-tag-map.d.ts +0 -47
- package/dist/src/core/furnace-tag-map.js +0 -182
- package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
- package/dist/src/core/furnace-validate-accessibility.js +0 -417
- package/dist/src/core/furnace-validate-checks.d.ts +0 -4
- package/dist/src/core/furnace-validate-checks.js +0 -6
- package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
- package/dist/src/core/furnace-validate-compatibility.js +0 -295
- package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
- package/dist/src/core/furnace-validate-exceptions.js +0 -98
- package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
- package/dist/src/core/furnace-validate-helpers.js +0 -4
- package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
- package/dist/src/core/furnace-validate-icon-button.js +0 -78
- package/dist/src/core/furnace-validate-registration.d.ts +0 -67
- package/dist/src/core/furnace-validate-registration.js +0 -487
- package/dist/src/core/furnace-validate-structure.d.ts +0 -22
- package/dist/src/core/furnace-validate-structure.js +0 -122
- package/dist/src/core/furnace-validate.d.ts +0 -41
- package/dist/src/core/furnace-validate.js +0 -331
- package/dist/src/core/furnace-version-drift.d.ts +0 -57
- package/dist/src/core/furnace-version-drift.js +0 -102
- package/dist/src/core/gecko-dom-types.d.ts +0 -2
- package/dist/src/core/gecko-dom-types.js +0 -17
- package/dist/src/core/git-base.d.ts +0 -101
- package/dist/src/core/git-base.js +0 -162
- package/dist/src/core/git-diff-new-file.d.ts +0 -40
- package/dist/src/core/git-diff-new-file.js +0 -118
- package/dist/src/core/git-diff.d.ts +0 -82
- package/dist/src/core/git-diff.js +0 -539
- package/dist/src/core/git-file-ops.d.ts +0 -108
- package/dist/src/core/git-file-ops.js +0 -280
- package/dist/src/core/git-readonly-index.d.ts +0 -91
- package/dist/src/core/git-readonly-index.js +0 -177
- package/dist/src/core/git-status.d.ts +0 -84
- package/dist/src/core/git-status.js +0 -208
- package/dist/src/core/git.d.ts +0 -114
- package/dist/src/core/git.js +0 -540
- package/dist/src/core/harness-helper-pids.d.ts +0 -98
- package/dist/src/core/harness-helper-pids.js +0 -240
- package/dist/src/core/harness-orphans.d.ts +0 -118
- package/dist/src/core/harness-orphans.js +0 -268
- package/dist/src/core/harness-port-fallback.d.ts +0 -60
- package/dist/src/core/harness-port-fallback.js +0 -96
- package/dist/src/core/harness-port-reservation.d.ts +0 -60
- package/dist/src/core/harness-port-reservation.js +0 -122
- package/dist/src/core/history-log-file.d.ts +0 -61
- package/dist/src/core/history-log-file.js +0 -164
- package/dist/src/core/history-log.d.ts +0 -20
- package/dist/src/core/history-log.js +0 -30
- package/dist/src/core/json-preserving-edit.d.ts +0 -22
- package/dist/src/core/json-preserving-edit.js +0 -199
- package/dist/src/core/launchable-build.d.ts +0 -39
- package/dist/src/core/launchable-build.js +0 -85
- package/dist/src/core/license-headers.d.ts +0 -103
- package/dist/src/core/license-headers.js +0 -328
- package/dist/src/core/line-prefixer.d.ts +0 -18
- package/dist/src/core/line-prefixer.js +0 -34
- package/dist/src/core/lit-template-regions.d.ts +0 -4
- package/dist/src/core/lit-template-regions.js +0 -50
- package/dist/src/core/mach-build-artifacts.d.ts +0 -176
- package/dist/src/core/mach-build-artifacts.js +0 -436
- package/dist/src/core/mach-error-hints.d.ts +0 -24
- package/dist/src/core/mach-error-hints.js +0 -135
- package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
- package/dist/src/core/mach-known-noise-filter.js +0 -257
- package/dist/src/core/mach-mozconfig.d.ts +0 -57
- package/dist/src/core/mach-mozconfig.js +0 -166
- package/dist/src/core/mach-python.d.ts +0 -19
- package/dist/src/core/mach-python.js +0 -131
- package/dist/src/core/mach-resource-shim.d.ts +0 -107
- package/dist/src/core/mach-resource-shim.js +0 -640
- package/dist/src/core/mach.d.ts +0 -284
- package/dist/src/core/mach.js +0 -445
- package/dist/src/core/marionette-port.d.ts +0 -153
- package/dist/src/core/marionette-port.js +0 -474
- package/dist/src/core/marionette-preflight.d.ts +0 -58
- package/dist/src/core/marionette-preflight.js +0 -332
- package/dist/src/core/markdown-table.d.ts +0 -104
- package/dist/src/core/markdown-table.js +0 -265
- package/dist/src/core/mochitest-server-port.d.ts +0 -81
- package/dist/src/core/mochitest-server-port.js +0 -175
- package/dist/src/core/module-resolution-preflight.d.ts +0 -65
- package/dist/src/core/module-resolution-preflight.js +0 -171
- package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
- package/dist/src/core/moz-manifest-helpers.js +0 -163
- package/dist/src/core/moz-manifest-register.d.ts +0 -19
- package/dist/src/core/moz-manifest-register.js +0 -51
- package/dist/src/core/moz-manifest-rules.d.ts +0 -58
- package/dist/src/core/moz-manifest-rules.js +0 -264
- package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
- package/dist/src/core/moz-manifest-tokenizers.js +0 -108
- package/dist/src/core/negative-control-compiled.d.ts +0 -46
- package/dist/src/core/negative-control-compiled.js +0 -109
- package/dist/src/core/negative-control-diff.d.ts +0 -51
- package/dist/src/core/negative-control-diff.js +0 -167
- package/dist/src/core/negative-control.d.ts +0 -150
- package/dist/src/core/negative-control.js +0 -399
- package/dist/src/core/objdir-install-manifests.d.ts +0 -73
- package/dist/src/core/objdir-install-manifests.js +0 -226
- package/dist/src/core/objdir-maintenance.d.ts +0 -10
- package/dist/src/core/objdir-maintenance.js +0 -167
- package/dist/src/core/ownership-table.d.ts +0 -53
- package/dist/src/core/ownership-table.js +0 -159
- package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
- package/dist/src/core/parent-exit-watchdog.js +0 -69
- package/dist/src/core/park-store.d.ts +0 -63
- package/dist/src/core/park-store.js +0 -216
- package/dist/src/core/parser-fallback.d.ts +0 -50
- package/dist/src/core/parser-fallback.js +0 -61
- package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
- package/dist/src/core/patch-apply-fuzz.js +0 -125
- package/dist/src/core/patch-apply.d.ts +0 -88
- package/dist/src/core/patch-apply.js +0 -435
- package/dist/src/core/patch-export-coverage.d.ts +0 -49
- package/dist/src/core/patch-export-coverage.js +0 -73
- package/dist/src/core/patch-export-metadata.d.ts +0 -46
- package/dist/src/core/patch-export-metadata.js +0 -47
- package/dist/src/core/patch-export-update.d.ts +0 -55
- package/dist/src/core/patch-export-update.js +0 -95
- package/dist/src/core/patch-export.d.ts +0 -175
- package/dist/src/core/patch-export.js +0 -312
- package/dist/src/core/patch-files.d.ts +0 -17
- package/dist/src/core/patch-files.js +0 -59
- package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
- package/dist/src/core/patch-identifier-suggest.js +0 -135
- package/dist/src/core/patch-lint-binary.d.ts +0 -45
- package/dist/src/core/patch-lint-binary.js +0 -39
- package/dist/src/core/patch-lint-cache-checkjs.d.ts +0 -45
- package/dist/src/core/patch-lint-cache-checkjs.js +0 -195
- package/dist/src/core/patch-lint-cache.d.ts +0 -79
- package/dist/src/core/patch-lint-cache.js +0 -247
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -57
- package/dist/src/core/patch-lint-checkjs-any-import.js +0 -91
- package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
- package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
- package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
- package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
- package/dist/src/core/patch-lint-checkjs-resolve.d.ts +0 -31
- package/dist/src/core/patch-lint-checkjs-resolve.js +0 -86
- package/dist/src/core/patch-lint-checkjs.d.ts +0 -182
- package/dist/src/core/patch-lint-checkjs.js +0 -563
- package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
- package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
- package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
- package/dist/src/core/patch-lint-code-lines.js +0 -105
- package/dist/src/core/patch-lint-creators.d.ts +0 -26
- package/dist/src/core/patch-lint-creators.js +0 -45
- package/dist/src/core/patch-lint-cross.d.ts +0 -232
- package/dist/src/core/patch-lint-cross.js +0 -590
- package/dist/src/core/patch-lint-css.d.ts +0 -27
- package/dist/src/core/patch-lint-css.js +0 -228
- package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
- package/dist/src/core/patch-lint-diff-tag.js +0 -105
- package/dist/src/core/patch-lint-diff.d.ts +0 -42
- package/dist/src/core/patch-lint-diff.js +0 -100
- package/dist/src/core/patch-lint-file-size.d.ts +0 -57
- package/dist/src/core/patch-lint-file-size.js +0 -62
- package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
- package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
- package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
- package/dist/src/core/patch-lint-forward-registration.js +0 -266
- package/dist/src/core/patch-lint-ignore.d.ts +0 -196
- package/dist/src/core/patch-lint-ignore.js +0 -429
- package/dist/src/core/patch-lint-imports.d.ts +0 -9
- package/dist/src/core/patch-lint-imports.js +0 -90
- package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
- package/dist/src/core/patch-lint-jsdoc.js +0 -471
- package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
- package/dist/src/core/patch-lint-module-registration.js +0 -97
- package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
- package/dist/src/core/patch-lint-mozbuild.js +0 -192
- package/dist/src/core/patch-lint-observer.d.ts +0 -37
- package/dist/src/core/patch-lint-observer.js +0 -167
- package/dist/src/core/patch-lint-ownership.d.ts +0 -74
- package/dist/src/core/patch-lint-ownership.js +0 -125
- package/dist/src/core/patch-lint-prettier.d.ts +0 -34
- package/dist/src/core/patch-lint-prettier.js +0 -124
- package/dist/src/core/patch-lint-projection.d.ts +0 -25
- package/dist/src/core/patch-lint-projection.js +0 -43
- package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
- package/dist/src/core/patch-lint-queue-types.js +0 -12
- package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
- package/dist/src/core/patch-lint-size-thresholds.js +0 -110
- package/dist/src/core/patch-lint-size.d.ts +0 -117
- package/dist/src/core/patch-lint-size.js +0 -331
- package/dist/src/core/patch-lint-staged-registration.d.ts +0 -98
- package/dist/src/core/patch-lint-staged-registration.js +0 -128
- package/dist/src/core/patch-lint-token-scale.d.ts +0 -65
- package/dist/src/core/patch-lint-token-scale.js +0 -304
- package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
- package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
- package/dist/src/core/patch-lint.d.ts +0 -206
- package/dist/src/core/patch-lint.js +0 -533
- package/dist/src/core/patch-lock.d.ts +0 -40
- package/dist/src/core/patch-lock.js +0 -129
- package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
- package/dist/src/core/patch-manifest-consistency.js +0 -256
- package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
- package/dist/src/core/patch-manifest-files-affected.js +0 -77
- package/dist/src/core/patch-manifest-io.d.ts +0 -199
- package/dist/src/core/patch-manifest-io.js +0 -556
- package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
- package/dist/src/core/patch-manifest-key-order.js +0 -60
- package/dist/src/core/patch-manifest-query.d.ts +0 -55
- package/dist/src/core/patch-manifest-query.js +0 -139
- package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
- package/dist/src/core/patch-manifest-resolve.js +0 -35
- package/dist/src/core/patch-manifest-stage.d.ts +0 -46
- package/dist/src/core/patch-manifest-stage.js +0 -96
- package/dist/src/core/patch-manifest-validate.d.ts +0 -20
- package/dist/src/core/patch-manifest-validate.js +0 -240
- package/dist/src/core/patch-manifest.d.ts +0 -12
- package/dist/src/core/patch-manifest.js +0 -13
- package/dist/src/core/patch-order-legal.d.ts +0 -26
- package/dist/src/core/patch-order-legal.js +0 -88
- package/dist/src/core/patch-parse.d.ts +0 -176
- package/dist/src/core/patch-parse.js +0 -416
- package/dist/src/core/patch-policy-content.d.ts +0 -40
- package/dist/src/core/patch-policy-content.js +0 -219
- package/dist/src/core/patch-policy.d.ts +0 -80
- package/dist/src/core/patch-policy.js +0 -394
- package/dist/src/core/patch-registration-refs.d.ts +0 -41
- package/dist/src/core/patch-registration-refs.js +0 -107
- package/dist/src/core/patch-retired.d.ts +0 -57
- package/dist/src/core/patch-retired.js +0 -92
- package/dist/src/core/patch-source-metadata.d.ts +0 -6
- package/dist/src/core/patch-source-metadata.js +0 -12
- package/dist/src/core/patch-subset.d.ts +0 -18
- package/dist/src/core/patch-subset.js +0 -67
- package/dist/src/core/patch-transform.d.ts +0 -61
- package/dist/src/core/patch-transform.js +0 -198
- package/dist/src/core/preflight-wait.d.ts +0 -22
- package/dist/src/core/preflight-wait.js +0 -62
- package/dist/src/core/process-cpu-time.d.ts +0 -12
- package/dist/src/core/process-cpu-time.js +0 -52
- package/dist/src/core/process-owner.d.ts +0 -9
- package/dist/src/core/process-owner.js +0 -43
- package/dist/src/core/rebase-dry-run.d.ts +0 -48
- package/dist/src/core/rebase-dry-run.js +0 -105
- package/dist/src/core/rebase-from-version.d.ts +0 -46
- package/dist/src/core/rebase-from-version.js +0 -71
- package/dist/src/core/rebase-session.d.ts +0 -100
- package/dist/src/core/rebase-session.js +0 -174
- package/dist/src/core/register-browser-content.d.ts +0 -11
- package/dist/src/core/register-browser-content.js +0 -52
- package/dist/src/core/register-browser-test.d.ts +0 -18
- package/dist/src/core/register-browser-test.js +0 -66
- package/dist/src/core/register-module.d.ts +0 -11
- package/dist/src/core/register-module.js +0 -56
- package/dist/src/core/register-result.d.ts +0 -30
- package/dist/src/core/register-result.js +0 -8
- package/dist/src/core/register-scaffold.d.ts +0 -55
- package/dist/src/core/register-scaffold.js +0 -146
- package/dist/src/core/register-shared-css.d.ts +0 -36
- package/dist/src/core/register-shared-css.js +0 -112
- package/dist/src/core/register-xpcshell-test.d.ts +0 -50
- package/dist/src/core/register-xpcshell-test.js +0 -143
- package/dist/src/core/run-log-redact.d.ts +0 -38
- package/dist/src/core/run-log-redact.js +0 -69
- package/dist/src/core/run-log.d.ts +0 -97
- package/dist/src/core/run-log.js +0 -334
- package/dist/src/core/run-profile.d.ts +0 -57
- package/dist/src/core/run-profile.js +0 -137
- package/dist/src/core/shared-ftl.d.ts +0 -28
- package/dist/src/core/shared-ftl.js +0 -49
- package/dist/src/core/signal-critical.d.ts +0 -38
- package/dist/src/core/signal-critical.js +0 -62
- package/dist/src/core/smoke-patterns.d.ts +0 -81
- package/dist/src/core/smoke-patterns.js +0 -176
- package/dist/src/core/state-file.d.ts +0 -60
- package/dist/src/core/state-file.js +0 -71
- package/dist/src/core/status-binary.d.ts +0 -62
- package/dist/src/core/status-binary.js +0 -133
- package/dist/src/core/status-classify.d.ts +0 -96
- package/dist/src/core/status-classify.js +0 -244
- package/dist/src/core/test-changed-prefs.d.ts +0 -30
- package/dist/src/core/test-changed-prefs.js +0 -93
- package/dist/src/core/test-harness-crash.d.ts +0 -251
- package/dist/src/core/test-harness-crash.js +0 -780
- package/dist/src/core/test-harness-infra.d.ts +0 -32
- package/dist/src/core/test-harness-infra.js +0 -69
- package/dist/src/core/test-harness-output.d.ts +0 -45
- package/dist/src/core/test-harness-output.js +0 -119
- package/dist/src/core/test-harness-signature.d.ts +0 -57
- package/dist/src/core/test-harness-signature.js +0 -35
- package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
- package/dist/src/core/test-harness-verdict-notes.js +0 -48
- package/dist/src/core/test-host-state.d.ts +0 -14
- package/dist/src/core/test-host-state.js +0 -80
- package/dist/src/core/test-path-scope.d.ts +0 -59
- package/dist/src/core/test-path-scope.js +0 -147
- package/dist/src/core/test-profile-files.d.ts +0 -17
- package/dist/src/core/test-profile-files.js +0 -75
- package/dist/src/core/test-raw-log.d.ts +0 -66
- package/dist/src/core/test-raw-log.js +0 -122
- package/dist/src/core/test-run-completeness.d.ts +0 -97
- package/dist/src/core/test-run-completeness.js +0 -191
- package/dist/src/core/test-stale-check.d.ts +0 -213
- package/dist/src/core/test-stale-check.js +0 -396
- package/dist/src/core/test-stale-exempt.d.ts +0 -40
- package/dist/src/core/test-stale-exempt.js +0 -70
- package/dist/src/core/test-stale-symlink.d.ts +0 -12
- package/dist/src/core/test-stale-symlink.js +0 -39
- package/dist/src/core/test-stall-triage.d.ts +0 -51
- package/dist/src/core/test-stall-triage.js +0 -142
- package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
- package/dist/src/core/test-xpcshell-retry.js +0 -31
- package/dist/src/core/token-category.d.ts +0 -54
- package/dist/src/core/token-category.js +0 -299
- package/dist/src/core/token-coverage.d.ts +0 -12
- package/dist/src/core/token-coverage.js +0 -96
- package/dist/src/core/token-dark-mode.d.ts +0 -64
- package/dist/src/core/token-dark-mode.js +0 -186
- package/dist/src/core/token-docs.d.ts +0 -34
- package/dist/src/core/token-docs.js +0 -102
- package/dist/src/core/token-inventory.d.ts +0 -56
- package/dist/src/core/token-inventory.js +0 -114
- package/dist/src/core/token-lint.d.ts +0 -53
- package/dist/src/core/token-lint.js +0 -131
- package/dist/src/core/token-manager.d.ts +0 -87
- package/dist/src/core/token-manager.js +0 -407
- package/dist/src/core/token-scaffold.d.ts +0 -36
- package/dist/src/core/token-scaffold.js +0 -73
- package/dist/src/core/token-sibling-sheets.d.ts +0 -46
- package/dist/src/core/token-sibling-sheets.js +0 -119
- package/dist/src/core/token-variant.d.ts +0 -90
- package/dist/src/core/token-variant.js +0 -327
- package/dist/src/core/toolchain-preflight.d.ts +0 -90
- package/dist/src/core/toolchain-preflight.js +0 -251
- package/dist/src/core/tree-cow.d.ts +0 -16
- package/dist/src/core/tree-cow.js +0 -71
- package/dist/src/core/tree-guard.d.ts +0 -35
- package/dist/src/core/tree-guard.js +0 -194
- package/dist/src/core/tree-store.d.ts +0 -143
- package/dist/src/core/tree-store.js +0 -478
- package/dist/src/core/typecheck-explain.d.ts +0 -93
- package/dist/src/core/typecheck-explain.js +0 -213
- package/dist/src/core/typecheck-shim.d.ts +0 -90
- package/dist/src/core/typecheck-shim.js +0 -508
- package/dist/src/core/typecheck.d.ts +0 -97
- package/dist/src/core/typecheck.js +0 -457
- package/dist/src/core/wire-destroy.d.ts +0 -25
- package/dist/src/core/wire-destroy.js +0 -126
- package/dist/src/core/wire-dom-fragment.d.ts +0 -44
- package/dist/src/core/wire-dom-fragment.js +0 -139
- package/dist/src/core/wire-init.d.ts +0 -28
- package/dist/src/core/wire-init.js +0 -219
- package/dist/src/core/wire-subscript.d.ts +0 -23
- package/dist/src/core/wire-subscript.js +0 -145
- package/dist/src/core/wire-utils.d.ts +0 -149
- package/dist/src/core/wire-utils.js +0 -338
- package/dist/src/core/xpcshell-appdir.d.ts +0 -157
- package/dist/src/core/xpcshell-appdir.js +0 -299
- package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
- package/dist/src/core/xpcshell-profile-dir.js +0 -45
- package/dist/src/errors/base.d.ts +0 -217
- package/dist/src/errors/base.js +0 -279
- package/dist/src/errors/build.d.ts +0 -92
- package/dist/src/errors/build.js +0 -166
- package/dist/src/errors/codes.d.ts +0 -74
- package/dist/src/errors/codes.js +0 -74
- package/dist/src/errors/config.d.ts +0 -17
- package/dist/src/errors/config.js +0 -39
- package/dist/src/errors/download.d.ts +0 -66
- package/dist/src/errors/download.js +0 -160
- package/dist/src/errors/furnace.d.ts +0 -20
- package/dist/src/errors/furnace.js +0 -28
- package/dist/src/errors/git.d.ts +0 -65
- package/dist/src/errors/git.js +0 -140
- package/dist/src/errors/patch.d.ts +0 -27
- package/dist/src/errors/patch.js +0 -52
- package/dist/src/errors/rebase.d.ts +0 -42
- package/dist/src/errors/rebase.js +0 -71
- package/dist/src/errors/run.d.ts +0 -16
- package/dist/src/errors/run.js +0 -22
- package/dist/src/index.d.ts +0 -42
- package/dist/src/index.js +0 -32
- package/dist/src/types/cli.d.ts +0 -14
- package/dist/src/types/commands/index.d.ts +0 -6
- package/dist/src/types/commands/index.js +0 -5
- package/dist/src/types/commands/options.d.ts +0 -1372
- package/dist/src/types/commands/options.js +0 -5
- package/dist/src/types/commands/patches.d.ts +0 -352
- package/dist/src/types/commands/patches.js +0 -5
- package/dist/src/types/commands/project.d.ts +0 -51
- package/dist/src/types/commands/project.js +0 -5
- package/dist/src/types/config.d.ts +0 -732
- package/dist/src/types/config.js +0 -15
- package/dist/src/types/furnace.d.ts +0 -422
- package/dist/src/types/furnace.js +0 -26
- package/dist/src/types/index.d.ts +0 -5
- package/dist/src/types/index.js +0 -5
- package/dist/src/types/json.d.ts +0 -22
- package/dist/src/types/json.js +0 -11
- package/dist/src/types/typecheck.d.ts +0 -51
- package/dist/src/types/typecheck.js +0 -14
- package/dist/src/utils/assert.d.ts +0 -34
- package/dist/src/utils/assert.js +0 -61
- package/dist/src/utils/build-info.d.ts +0 -30
- package/dist/src/utils/build-info.js +0 -99
- package/dist/src/utils/child-env.d.ts +0 -28
- package/dist/src/utils/child-env.js +0 -27
- package/dist/src/utils/concurrency.d.ts +0 -8
- package/dist/src/utils/concurrency.js +0 -32
- package/dist/src/utils/elapsed.d.ts +0 -2
- package/dist/src/utils/elapsed.js +0 -23
- package/dist/src/utils/errors.d.ts +0 -39
- package/dist/src/utils/errors.js +0 -67
- package/dist/src/utils/fs.d.ts +0 -113
- package/dist/src/utils/fs.js +0 -337
- package/dist/src/utils/hash.d.ts +0 -12
- package/dist/src/utils/hash.js +0 -16
- package/dist/src/utils/line-dispatch.d.ts +0 -15
- package/dist/src/utils/line-dispatch.js +0 -48
- package/dist/src/utils/logger.d.ts +0 -109
- package/dist/src/utils/logger.js +0 -270
- package/dist/src/utils/machine-output.d.ts +0 -12
- package/dist/src/utils/machine-output.js +0 -33
- package/dist/src/utils/options.d.ts +0 -155
- package/dist/src/utils/options.js +0 -312
- package/dist/src/utils/package-root.d.ts +0 -21
- package/dist/src/utils/package-root.js +0 -70
- package/dist/src/utils/parse.d.ts +0 -117
- package/dist/src/utils/parse.js +0 -214
- package/dist/src/utils/path-glob.d.ts +0 -15
- package/dist/src/utils/path-glob.js +0 -47
- package/dist/src/utils/paths.d.ts +0 -31
- package/dist/src/utils/paths.js +0 -80
- package/dist/src/utils/platform.d.ts +0 -9
- package/dist/src/utils/platform.js +0 -14
- package/dist/src/utils/process-group.d.ts +0 -42
- package/dist/src/utils/process-group.js +0 -190
- package/dist/src/utils/process-input.d.ts +0 -27
- package/dist/src/utils/process-input.js +0 -46
- package/dist/src/utils/process.d.ts +0 -293
- package/dist/src/utils/process.js +0 -593
- package/dist/src/utils/ps-duration.d.ts +0 -31
- package/dist/src/utils/ps-duration.js +0 -70
- package/dist/src/utils/regex.d.ts +0 -39
- package/dist/src/utils/regex.js +0 -109
- package/dist/src/utils/sleep.d.ts +0 -25
- package/dist/src/utils/sleep.js +0 -30
- package/dist/src/utils/stdio-drain.d.ts +0 -28
- package/dist/src/utils/stdio-drain.js +0 -54
- package/dist/src/utils/validation.d.ts +0 -182
- package/dist/src/utils/validation.js +0 -394
- package/docs/lifecycle-invariants.md +0 -523
- package/docs/run-logs.md +0 -122
- package/docs/verification-trees.md +0 -49
- /package/dist/src/{types/cli.js → cli/context.js} +0 -0
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The checkJs part of the per-patch lint cache key.
|
|
3
|
-
*
|
|
4
|
-
* A patch's checkJs verdict depends on more than the files it owns. Its
|
|
5
|
-
* `.sys.mjs` modules are checked in one program that resolves every
|
|
6
|
-
* patch-owned `.sys.mjs` in the queue, and each of its test scripts in a
|
|
7
|
-
* program that also loads the directory's patch-owned `head*.js`, the
|
|
8
|
-
* modules the queue creates up to the test's own patch, the targets of a
|
|
9
|
-
* reviewed `checkJsCompilerOptions.paths` mapping and, for the hint text,
|
|
10
|
-
* the unmanaged companions a head pulls in. Which modules a test can
|
|
11
|
-
* resolve depends on the queue order. A key over only the patch's own
|
|
12
|
-
* files replays a verdict after another patch's module changed, and keeps
|
|
13
|
-
* replaying a red after that module was restored byte for byte.
|
|
14
|
-
*
|
|
15
|
-
* {@link checkJsWorldDigest} hashes that world: the ordered queue (each
|
|
16
|
-
* patch's created files, and the test scripts it modifies), the content of
|
|
17
|
-
* every file in the union of those programs, and the TypeScript version.
|
|
18
|
-
* The digest is shared by every checkJs-relevant patch in a run, so a
|
|
19
|
-
* change anywhere in the world misses every such patch. That costs no
|
|
20
|
-
* extra program build: the first miss builds the queue-wide program, and
|
|
21
|
-
* every later miss slices from it.
|
|
22
|
-
*
|
|
23
|
-
* Memoised per queue context, which is one run's snapshot: file contents
|
|
24
|
-
* are hashed once per context, and the digest is recomputed only after an
|
|
25
|
-
* in-place entry update (see `invalidateNewFileCreatorsCache`). Engine
|
|
26
|
-
* edits made while a context is alive are not observed.
|
|
27
|
-
*/
|
|
28
|
-
import type { PatchLintConfig } from '../types/config.js';
|
|
29
|
-
import type { PatchQueueContext } from './patch-lint-cross.js';
|
|
30
|
-
/**
|
|
31
|
-
* True when a patch that has `file` among its affected files can carry a
|
|
32
|
-
* checkJs verdict: a `.sys.mjs` module, or a test script when
|
|
33
|
-
* `patchLint.checkJsTestFiles` is on.
|
|
34
|
-
*/
|
|
35
|
-
export declare function isCheckJsCacheRelevant(file: string, patchLint: PatchLintConfig): boolean;
|
|
36
|
-
/**
|
|
37
|
-
* Digest of everything outside a patch's own files that its per-patch
|
|
38
|
-
* checkJs verdict can depend on. See the module docs for what it covers
|
|
39
|
-
* and how it is memoised.
|
|
40
|
-
*
|
|
41
|
-
* @param engineDir - Absolute engine directory the programs read
|
|
42
|
-
* @param patchLint - The resolved `patchLint` block
|
|
43
|
-
* @param ctx - The run's queue context
|
|
44
|
-
*/
|
|
45
|
-
export declare function checkJsWorldDigest(engineDir: string, patchLint: PatchLintConfig, ctx: PatchQueueContext): Promise<string>;
|
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* The checkJs part of the per-patch lint cache key.
|
|
4
|
-
*
|
|
5
|
-
* A patch's checkJs verdict depends on more than the files it owns. Its
|
|
6
|
-
* `.sys.mjs` modules are checked in one program that resolves every
|
|
7
|
-
* patch-owned `.sys.mjs` in the queue, and each of its test scripts in a
|
|
8
|
-
* program that also loads the directory's patch-owned `head*.js`, the
|
|
9
|
-
* modules the queue creates up to the test's own patch, the targets of a
|
|
10
|
-
* reviewed `checkJsCompilerOptions.paths` mapping and, for the hint text,
|
|
11
|
-
* the unmanaged companions a head pulls in. Which modules a test can
|
|
12
|
-
* resolve depends on the queue order. A key over only the patch's own
|
|
13
|
-
* files replays a verdict after another patch's module changed, and keeps
|
|
14
|
-
* replaying a red after that module was restored byte for byte.
|
|
15
|
-
*
|
|
16
|
-
* {@link checkJsWorldDigest} hashes that world: the ordered queue (each
|
|
17
|
-
* patch's created files, and the test scripts it modifies), the content of
|
|
18
|
-
* every file in the union of those programs, and the TypeScript version.
|
|
19
|
-
* The digest is shared by every checkJs-relevant patch in a run, so a
|
|
20
|
-
* change anywhere in the world misses every such patch. That costs no
|
|
21
|
-
* extra program build: the first miss builds the queue-wide program, and
|
|
22
|
-
* every later miss slices from it.
|
|
23
|
-
*
|
|
24
|
-
* Memoised per queue context, which is one run's snapshot: file contents
|
|
25
|
-
* are hashed once per context, and the digest is recomputed only after an
|
|
26
|
-
* in-place entry update (see `invalidateNewFileCreatorsCache`). Engine
|
|
27
|
-
* edits made while a context is alive are not observed.
|
|
28
|
-
*/
|
|
29
|
-
import { readdir, readFile } from 'node:fs/promises';
|
|
30
|
-
import { join, relative, resolve } from 'node:path';
|
|
31
|
-
import { sha256Hex } from '../utils/hash.js';
|
|
32
|
-
import { normalizePathSlashes } from '../utils/paths.js';
|
|
33
|
-
import { collectNewFileCreatorsByPath } from './patch-lint-cross.js';
|
|
34
|
-
import { isTestScriptFile } from './patch-lint-ownership.js';
|
|
35
|
-
import { collectUnmanagedCompanions } from './patch-lint-unmanaged-companion.js';
|
|
36
|
-
/** Files visited under one wildcard `paths` target before giving up on it. */
|
|
37
|
-
const PATHS_TARGET_WALK_LIMIT = 10_000;
|
|
38
|
-
const HEAD_SCRIPT = /^head(?:_.*)?\.js$/;
|
|
39
|
-
/** Content hashes per run, keyed by absolute path. Survives entry updates. */
|
|
40
|
-
const fileHashMemo = new WeakMap();
|
|
41
|
-
/** Digests per creators map, which an in-place entry update replaces. */
|
|
42
|
-
const digestMemo = new WeakMap();
|
|
43
|
-
let typescriptVersion;
|
|
44
|
-
/**
|
|
45
|
-
* True when a patch that has `file` among its affected files can carry a
|
|
46
|
-
* checkJs verdict: a `.sys.mjs` module, or a test script when
|
|
47
|
-
* `patchLint.checkJsTestFiles` is on.
|
|
48
|
-
*/
|
|
49
|
-
export function isCheckJsCacheRelevant(file, patchLint) {
|
|
50
|
-
return (file.endsWith('.sys.mjs') || (patchLint.checkJsTestFiles === true && isTestScriptFile(file)));
|
|
51
|
-
}
|
|
52
|
-
async function readTypescriptVersion() {
|
|
53
|
-
try {
|
|
54
|
-
return (await import('typescript')).version;
|
|
55
|
-
}
|
|
56
|
-
catch {
|
|
57
|
-
return null;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
function hashFile(ctx, absolute) {
|
|
61
|
-
let perRun = fileHashMemo.get(ctx);
|
|
62
|
-
if (!perRun) {
|
|
63
|
-
perRun = new Map();
|
|
64
|
-
fileHashMemo.set(ctx, perRun);
|
|
65
|
-
}
|
|
66
|
-
let pending = perRun.get(absolute);
|
|
67
|
-
if (!pending) {
|
|
68
|
-
pending = readFile(absolute).then((content) => sha256Hex(content), () => null);
|
|
69
|
-
perRun.set(absolute, pending);
|
|
70
|
-
}
|
|
71
|
-
return pending;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Engine-relative files a wildcard `paths` target can resolve to: the files
|
|
75
|
-
* under the target's static directory that match its prefix and suffix.
|
|
76
|
-
* Returns undefined when the walk passes {@link PATHS_TARGET_WALK_LIMIT}
|
|
77
|
-
* (a target rooted high in the tree), so the key falls back to the target
|
|
78
|
-
* string alone instead of walking Firefox.
|
|
79
|
-
*/
|
|
80
|
-
async function expandPathsTarget(engineDir, target) {
|
|
81
|
-
const star = target.indexOf('*');
|
|
82
|
-
if (star === -1)
|
|
83
|
-
return [target];
|
|
84
|
-
const prefix = target.slice(0, star);
|
|
85
|
-
const suffix = target.slice(star + 1);
|
|
86
|
-
const staticDir = prefix.slice(0, prefix.lastIndexOf('/') + 1);
|
|
87
|
-
const matches = [];
|
|
88
|
-
const pending = [resolve(engineDir, staticDir)];
|
|
89
|
-
let visited = 0;
|
|
90
|
-
while (pending.length > 0) {
|
|
91
|
-
const dir = pending.pop();
|
|
92
|
-
let entries;
|
|
93
|
-
try {
|
|
94
|
-
entries = await readdir(dir, { withFileTypes: true });
|
|
95
|
-
}
|
|
96
|
-
catch {
|
|
97
|
-
continue;
|
|
98
|
-
}
|
|
99
|
-
for (const entry of entries) {
|
|
100
|
-
visited += 1;
|
|
101
|
-
if (visited > PATHS_TARGET_WALK_LIMIT)
|
|
102
|
-
return undefined;
|
|
103
|
-
const absolute = join(dir, entry.name);
|
|
104
|
-
if (entry.isDirectory()) {
|
|
105
|
-
pending.push(absolute);
|
|
106
|
-
continue;
|
|
107
|
-
}
|
|
108
|
-
const rel = normalizePathSlashes(relative(engineDir, absolute));
|
|
109
|
-
if (rel.length >= prefix.length + suffix.length &&
|
|
110
|
-
rel.startsWith(prefix) &&
|
|
111
|
-
rel.endsWith(suffix)) {
|
|
112
|
-
matches.push(rel);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
return matches;
|
|
117
|
-
}
|
|
118
|
-
/** The queue order part of the digest: what each patch creates, in order. */
|
|
119
|
-
function queueShape(ctx) {
|
|
120
|
-
return ctx.entries.map((entry) => [
|
|
121
|
-
entry.filename,
|
|
122
|
-
[...new Set([...entry.newFiles.keys(), ...entry.createdFiles])].sort(),
|
|
123
|
-
[...entry.modifiedFileAdditions.keys()].filter(isTestScriptFile).sort(),
|
|
124
|
-
]);
|
|
125
|
-
}
|
|
126
|
-
async function computeDigest(engineDir, patchLint, ctx, created) {
|
|
127
|
-
const universe = new Set();
|
|
128
|
-
for (const file of created) {
|
|
129
|
-
if (file.endsWith('.mjs'))
|
|
130
|
-
universe.add(file);
|
|
131
|
-
}
|
|
132
|
-
const tests = created.filter(isTestScriptFile);
|
|
133
|
-
if (patchLint.checkJsTestFiles === true) {
|
|
134
|
-
for (const file of tests) {
|
|
135
|
-
if (HEAD_SCRIPT.test(file.slice(file.lastIndexOf('/') + 1)))
|
|
136
|
-
universe.add(file);
|
|
137
|
-
}
|
|
138
|
-
const companions = await collectUnmanagedCompanions(engineDir, tests, new Set(tests));
|
|
139
|
-
for (const companion of companions)
|
|
140
|
-
universe.add(companion.file);
|
|
141
|
-
}
|
|
142
|
-
const unwalked = [];
|
|
143
|
-
for (const targets of Object.values(patchLint.checkJsCompilerOptions?.paths ?? {})) {
|
|
144
|
-
for (const target of targets) {
|
|
145
|
-
const expanded = await expandPathsTarget(engineDir, target);
|
|
146
|
-
if (expanded === undefined)
|
|
147
|
-
unwalked.push(target);
|
|
148
|
-
else
|
|
149
|
-
for (const file of expanded)
|
|
150
|
-
universe.add(file);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
const files = [...universe].sort();
|
|
154
|
-
const hashes = await Promise.all(files.map((file) => hashFile(ctx, resolve(engineDir, file))));
|
|
155
|
-
typescriptVersion ??= readTypescriptVersion();
|
|
156
|
-
return sha256Hex(JSON.stringify({
|
|
157
|
-
queue: queueShape(ctx),
|
|
158
|
-
files: files.map((file, index) => [file, hashes[index] ?? null]),
|
|
159
|
-
unwalkedPathsTargets: unwalked.sort(),
|
|
160
|
-
typescript: await typescriptVersion,
|
|
161
|
-
}));
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Digest of everything outside a patch's own files that its per-patch
|
|
165
|
-
* checkJs verdict can depend on. See the module docs for what it covers
|
|
166
|
-
* and how it is memoised.
|
|
167
|
-
*
|
|
168
|
-
* @param engineDir - Absolute engine directory the programs read
|
|
169
|
-
* @param patchLint - The resolved `patchLint` block
|
|
170
|
-
* @param ctx - The run's queue context
|
|
171
|
-
*/
|
|
172
|
-
export function checkJsWorldDigest(engineDir, patchLint, ctx) {
|
|
173
|
-
const creators = collectNewFileCreatorsByPath(ctx);
|
|
174
|
-
let perCreators = digestMemo.get(creators);
|
|
175
|
-
if (!perCreators) {
|
|
176
|
-
perCreators = new Map();
|
|
177
|
-
digestMemo.set(creators, perCreators);
|
|
178
|
-
}
|
|
179
|
-
const memoKey = JSON.stringify([
|
|
180
|
-
engineDir,
|
|
181
|
-
patchLint.checkJsTestFiles === true,
|
|
182
|
-
patchLint.checkJsCompilerOptions?.paths ?? null,
|
|
183
|
-
]);
|
|
184
|
-
let digest = perCreators.get(memoKey);
|
|
185
|
-
if (!digest) {
|
|
186
|
-
const created = new Set(creators.keys());
|
|
187
|
-
for (const entry of ctx.entries) {
|
|
188
|
-
for (const file of entry.newFiles.keys())
|
|
189
|
-
created.add(file);
|
|
190
|
-
}
|
|
191
|
-
digest = computeDigest(engineDir, patchLint, ctx, [...created].sort());
|
|
192
|
-
perCreators.set(memoKey, digest);
|
|
193
|
-
}
|
|
194
|
-
return digest;
|
|
195
|
-
}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import type { PatchLintIssue, PatchMetadata } from '../types/commands/index.js';
|
|
2
|
-
import type { FireForgeConfig } from '../types/config.js';
|
|
3
|
-
import { type PatchQueueContext } from './patch-lint.js';
|
|
4
|
-
export declare const LINT_CACHE_SCHEMA_VERSION = 5;
|
|
5
|
-
export interface PerPatchLintCacheEntry {
|
|
6
|
-
key: string;
|
|
7
|
-
patchFilename: string;
|
|
8
|
-
issues: PatchLintIssue[];
|
|
9
|
-
/** Issues dropped by the patch's lintIgnore waivers. */
|
|
10
|
-
suppressed: PatchLintIssue[];
|
|
11
|
-
/** Non-binary diff line count measured by the cached lint run. */
|
|
12
|
-
lineCount: number;
|
|
13
|
-
/**
|
|
14
|
-
* Sorted lint-ignore waiver ids in force when this entry was computed.
|
|
15
|
-
* A lookup presenting a different effective set misses.
|
|
16
|
-
*/
|
|
17
|
-
lintIgnore: string[];
|
|
18
|
-
updatedAt: string;
|
|
19
|
-
}
|
|
20
|
-
export interface PerPatchLintCacheFile {
|
|
21
|
-
schemaVersion: typeof LINT_CACHE_SCHEMA_VERSION;
|
|
22
|
-
entries: Record<string, PerPatchLintCacheEntry>;
|
|
23
|
-
}
|
|
24
|
-
export interface PerPatchLintCacheKeyInput {
|
|
25
|
-
projectRoot: string;
|
|
26
|
-
engineDir: string;
|
|
27
|
-
patchesDir: string;
|
|
28
|
-
patch: PatchMetadata;
|
|
29
|
-
existingFiles: string[];
|
|
30
|
-
config: FireForgeConfig;
|
|
31
|
-
queueContext: PatchQueueContext;
|
|
32
|
-
engineHeadSha?: string;
|
|
33
|
-
packageVersion?: string;
|
|
34
|
-
}
|
|
35
|
-
/** Returns the engine git HEAD identity used to guard diff-derived cache hits. */
|
|
36
|
-
export declare function getPerPatchLintCacheHeadSha(engineDir: string): Promise<string>;
|
|
37
|
-
/**
|
|
38
|
-
* Builds the complete per-patch lint cache key for one lintable patch.
|
|
39
|
-
* The key includes source, metadata, config, engine state, and ownership
|
|
40
|
-
* inputs, plus the checkJs world when the patch has a checkJs-relevant file.
|
|
41
|
-
*/
|
|
42
|
-
export declare function buildPerPatchLintCacheKey(input: PerPatchLintCacheKeyInput): Promise<string>;
|
|
43
|
-
/** Loads the per-patch lint cache, treating missing or invalid files as empty. */
|
|
44
|
-
export declare function loadPerPatchLintCache(projectRoot: string): Promise<PerPatchLintCacheFile>;
|
|
45
|
-
/** Persists the per-patch lint cache atomically through the shared JSON writer. */
|
|
46
|
-
export declare function savePerPatchLintCache(projectRoot: string, cache: PerPatchLintCacheFile): Promise<void>;
|
|
47
|
-
/** Clears the per-patch lint cache by replacing it with an empty document. */
|
|
48
|
-
export declare function clearPerPatchLintCache(projectRoot: string): Promise<void>;
|
|
49
|
-
/** Cached per-patch lint payload returned on a key match. */
|
|
50
|
-
export interface CachedPerPatchLint {
|
|
51
|
-
issues: PatchLintIssue[];
|
|
52
|
-
suppressed: PatchLintIssue[];
|
|
53
|
-
lineCount: number;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Returns the cached lint payload for a patch when the stored key still
|
|
57
|
-
* matches and the entry was computed under the same lint-ignore waiver set.
|
|
58
|
-
* A waiver change makes a replayed verdict actively wrong, so the waiver set
|
|
59
|
-
* is compared explicitly rather than trusted to the key.
|
|
60
|
-
*/
|
|
61
|
-
export declare function getCachedPerPatchLintIssues(cache: PerPatchLintCacheFile, patchFilename: string, key: string, lintIgnore?: Iterable<string>): CachedPerPatchLint | undefined;
|
|
62
|
-
export interface SetCachedPerPatchLintIssuesInput {
|
|
63
|
-
/** Cache file to mutate in place. */
|
|
64
|
-
cache: PerPatchLintCacheFile;
|
|
65
|
-
/** Patch the payload belongs to, and also the cache entry key. */
|
|
66
|
-
patchFilename: string;
|
|
67
|
-
/** Fingerprint the payload is valid for. */
|
|
68
|
-
key: string;
|
|
69
|
-
/** Reported issues, stored as copies. */
|
|
70
|
-
issues: PatchLintIssue[];
|
|
71
|
-
/** Issues suppressed by `lintIgnore`, stored as copies. */
|
|
72
|
-
suppressed: PatchLintIssue[];
|
|
73
|
-
/** Line count the run measured. */
|
|
74
|
-
lineCount: number;
|
|
75
|
-
/** Suppression ids in force for the run, normalized on store. */
|
|
76
|
-
lintIgnore?: Iterable<string> | undefined;
|
|
77
|
-
}
|
|
78
|
-
/** Stores the per-patch lint payload after a successful lint calculation. */
|
|
79
|
-
export declare function setCachedPerPatchLintIssues(input: SetCachedPerPatchLintIssuesInput): void;
|
|
@@ -1,247 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { readFile } from 'node:fs/promises';
|
|
3
|
-
import { join, resolve } from 'node:path';
|
|
4
|
-
import { pathExists, readJson, writeJson } from '../utils/fs.js';
|
|
5
|
-
import { sha256Hex } from '../utils/hash.js';
|
|
6
|
-
import { getPackageVersion } from '../utils/package-root.js';
|
|
7
|
-
import { getFurnacePaths } from './furnace-config.js';
|
|
8
|
-
import { git } from './git-base.js';
|
|
9
|
-
import { collectNewFileCreatorsByPath } from './patch-lint.js';
|
|
10
|
-
import { checkJsWorldDigest, isCheckJsCacheRelevant } from './patch-lint-cache-checkjs.js';
|
|
11
|
-
// Schema 2: entries additionally carry the lintIgnore-suppressed issues and
|
|
12
|
-
// the measured non-binary line count, so a warm run can report waived size
|
|
13
|
-
// measurements identically to a cold one. A cache hit must never surface
|
|
14
|
-
// less than a fresh lint.
|
|
15
|
-
// Schema 3: the key additionally content-hashes the
|
|
16
|
-
// `patchLint.checkJsTestShim` file exactly as `checkJsExtraShim`'s already
|
|
17
|
-
// was. Without it, editing the test shim in place replays every cached
|
|
18
|
-
// verdict.
|
|
19
|
-
// Schema 4: each entry records the lint-ignore waiver set that produced it,
|
|
20
|
-
// and a lookup whose effective waiver set differs is refused even when the
|
|
21
|
-
// key matches. The key already hashes `patch.lintIgnore`, so this is
|
|
22
|
-
// belt-and-braces on purpose: a waiver change is the one mutation that makes
|
|
23
|
-
// a replayed verdict actively wrong (an operator writes a waiver, re-runs,
|
|
24
|
-
// and is shown the finding they just waived), and the class must not depend
|
|
25
|
-
// on every future key input staying complete. Bumping the schema also
|
|
26
|
-
// discards every pre-4 entry, which is itself the cure for a cache that
|
|
27
|
-
// already holds a mismatched verdict.
|
|
28
|
-
// Schema 5: a patch with a checkJs-relevant file additionally keys on the
|
|
29
|
-
// checkJs world its programs read (see patch-lint-cache-checkjs.ts): the
|
|
30
|
-
// queue order, the content of other patches' modules, test heads and
|
|
31
|
-
// `paths` targets, and the TypeScript version.
|
|
32
|
-
export const LINT_CACHE_SCHEMA_VERSION = 5;
|
|
33
|
-
const LINT_IMPLEMENTATION_VERSION = 1;
|
|
34
|
-
const LINT_CACHE_DIRNAME = 'lint-cache';
|
|
35
|
-
const PER_PATCH_CACHE_FILENAME = 'per-patch-v1.json';
|
|
36
|
-
function stableJson(value) {
|
|
37
|
-
if (value === null || typeof value !== 'object') {
|
|
38
|
-
return JSON.stringify(value);
|
|
39
|
-
}
|
|
40
|
-
if (Array.isArray(value)) {
|
|
41
|
-
return `[${value.map((item) => stableJson(item)).join(',')}]`;
|
|
42
|
-
}
|
|
43
|
-
const entries = Object.entries(value)
|
|
44
|
-
.filter(([, item]) => item !== undefined)
|
|
45
|
-
.sort(([a], [b]) => a.localeCompare(b));
|
|
46
|
-
return `{${entries
|
|
47
|
-
.map(([key, item]) => `${JSON.stringify(key)}:${stableJson(item)}`)
|
|
48
|
-
.join(',')}}`;
|
|
49
|
-
}
|
|
50
|
-
/** Computes a stable SHA-256 digest for JSON-compatible data. */
|
|
51
|
-
function stableHash(value) {
|
|
52
|
-
return sha256Hex(stableJson(value));
|
|
53
|
-
}
|
|
54
|
-
/** Returns the repo-local per-patch lint cache file path. */
|
|
55
|
-
function getPerPatchLintCachePath(projectRoot) {
|
|
56
|
-
return join(projectRoot, '.fireforge', LINT_CACHE_DIRNAME, PER_PATCH_CACHE_FILENAME);
|
|
57
|
-
}
|
|
58
|
-
/** Returns the engine git HEAD identity used to guard diff-derived cache hits. */
|
|
59
|
-
export async function getPerPatchLintCacheHeadSha(engineDir) {
|
|
60
|
-
return (await git(['rev-parse', 'HEAD'], engineDir)).trim();
|
|
61
|
-
}
|
|
62
|
-
async function fileHash(path) {
|
|
63
|
-
if (!(await pathExists(path))) {
|
|
64
|
-
return { exists: false };
|
|
65
|
-
}
|
|
66
|
-
return { exists: true, sha256: sha256Hex(await readFile(path)) };
|
|
67
|
-
}
|
|
68
|
-
function normalizePatchMetadata(patch) {
|
|
69
|
-
return {
|
|
70
|
-
filesAffected: patch.filesAffected,
|
|
71
|
-
lintIgnore: patch.lintIgnore,
|
|
72
|
-
stagedDependencies: patch.stagedDependencies,
|
|
73
|
-
tier: patch.tier,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
function normalizeLintConfig(config) {
|
|
77
|
-
return {
|
|
78
|
-
binaryName: config.binaryName,
|
|
79
|
-
license: config.license,
|
|
80
|
-
patchLint: config.patchLint,
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
function isOwnershipRelevantFile(file) {
|
|
84
|
-
return file.endsWith('.js') || file.endsWith('.mjs') || file.endsWith('.jsm');
|
|
85
|
-
}
|
|
86
|
-
function buildOwnershipFingerprint(files, ctx) {
|
|
87
|
-
const creators = collectNewFileCreatorsByPath(ctx);
|
|
88
|
-
const entries = {};
|
|
89
|
-
const relevantFiles = [...files]
|
|
90
|
-
.filter(isOwnershipRelevantFile)
|
|
91
|
-
.sort((a, b) => a.localeCompare(b));
|
|
92
|
-
for (const file of relevantFiles) {
|
|
93
|
-
entries[file] = [...(creators.get(file) ?? [])].sort((a, b) => a.localeCompare(b));
|
|
94
|
-
}
|
|
95
|
-
return entries;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Builds the complete per-patch lint cache key for one lintable patch.
|
|
99
|
-
* The key includes source, metadata, config, engine state, and ownership
|
|
100
|
-
* inputs, plus the checkJs world when the patch has a checkJs-relevant file.
|
|
101
|
-
*/
|
|
102
|
-
export async function buildPerPatchLintCacheKey(input) {
|
|
103
|
-
// Hash in parallel, then insert in sorted order. The sort is load-bearing:
|
|
104
|
-
// `stableHash` below serialises this record, so insertion order is part of
|
|
105
|
-
// the cache key, and assigning as results land would make the key
|
|
106
|
-
// nondeterministic.
|
|
107
|
-
const sortedFiles = [...input.existingFiles].sort((a, b) => a.localeCompare(b));
|
|
108
|
-
const hashes = await Promise.all(sortedFiles.map((file) => fileHash(join(input.engineDir, file))));
|
|
109
|
-
const engineFiles = {};
|
|
110
|
-
hashes.forEach((hash, index) => {
|
|
111
|
-
const file = sortedFiles[index];
|
|
112
|
-
if (file !== undefined)
|
|
113
|
-
engineFiles[file] = hash;
|
|
114
|
-
});
|
|
115
|
-
const furnaceConfigPath = getFurnacePaths(input.projectRoot).furnaceConfig;
|
|
116
|
-
const shimHashOf = async (shimPath) => shimPath === undefined
|
|
117
|
-
? null
|
|
118
|
-
: { path: shimPath, hash: await fileHash(resolve(input.projectRoot, shimPath)) };
|
|
119
|
-
// Both shims feed compiled checkJs programs, so both are content-hashed.
|
|
120
|
-
// The config block alone only carries their paths, and an in-place edit
|
|
121
|
-
// must invalidate the programs it feeds.
|
|
122
|
-
const [extraShim, testShim] = await Promise.all([
|
|
123
|
-
shimHashOf(input.config.patchLint?.checkJsExtraShim),
|
|
124
|
-
shimHashOf(input.config.patchLint?.checkJsTestShim),
|
|
125
|
-
]);
|
|
126
|
-
// Only a patch that can carry a checkJs verdict pays for (and is
|
|
127
|
-
// invalidated by) the world its programs read.
|
|
128
|
-
const patchLint = input.config.patchLint;
|
|
129
|
-
const checkJsWorld = patchLint?.checkJs === true &&
|
|
130
|
-
input.existingFiles.some((file) => isCheckJsCacheRelevant(file, patchLint))
|
|
131
|
-
? await checkJsWorldDigest(input.engineDir, patchLint, input.queueContext)
|
|
132
|
-
: null;
|
|
133
|
-
return stableHash({
|
|
134
|
-
cacheSchemaVersion: LINT_CACHE_SCHEMA_VERSION,
|
|
135
|
-
engineHeadSha: input.engineHeadSha ?? null,
|
|
136
|
-
lintImplementationVersion: LINT_IMPLEMENTATION_VERSION,
|
|
137
|
-
// The plain semver, not the +g<sha> build identity: that identity
|
|
138
|
-
// churns every commit at the same version and would invalidate the
|
|
139
|
-
// cache for no correctness gain.
|
|
140
|
-
packageVersion: input.packageVersion ?? getPackageVersion(),
|
|
141
|
-
patchFile: await fileHash(join(input.patchesDir, input.patch.filename)),
|
|
142
|
-
patchMetadata: normalizePatchMetadata(input.patch),
|
|
143
|
-
lintConfig: normalizeLintConfig(input.config),
|
|
144
|
-
furnaceConfig: await fileHash(furnaceConfigPath),
|
|
145
|
-
checkJsExtraShim: extraShim,
|
|
146
|
-
checkJsTestShim: testShim,
|
|
147
|
-
engineFiles,
|
|
148
|
-
queueOwnership: buildOwnershipFingerprint(input.existingFiles, input.queueContext),
|
|
149
|
-
checkJsWorld,
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
/** Creates an empty cache document using the current cache schema. */
|
|
153
|
-
function createEmptyPerPatchLintCache() {
|
|
154
|
-
return { schemaVersion: LINT_CACHE_SCHEMA_VERSION, entries: {} };
|
|
155
|
-
}
|
|
156
|
-
function isCacheEntry(value) {
|
|
157
|
-
if (value === null || typeof value !== 'object' || Array.isArray(value))
|
|
158
|
-
return false;
|
|
159
|
-
const entry = value;
|
|
160
|
-
return (typeof entry.key === 'string' &&
|
|
161
|
-
typeof entry.patchFilename === 'string' &&
|
|
162
|
-
Array.isArray(entry.issues) &&
|
|
163
|
-
Array.isArray(entry.suppressed) &&
|
|
164
|
-
typeof entry.lineCount === 'number' &&
|
|
165
|
-
Array.isArray(entry.lintIgnore) &&
|
|
166
|
-
entry.lintIgnore.every((id) => typeof id === 'string') &&
|
|
167
|
-
typeof entry.updatedAt === 'string');
|
|
168
|
-
}
|
|
169
|
-
/** Loads the per-patch lint cache, treating missing or invalid files as empty. */
|
|
170
|
-
export async function loadPerPatchLintCache(projectRoot) {
|
|
171
|
-
const cachePath = getPerPatchLintCachePath(projectRoot);
|
|
172
|
-
if (!(await pathExists(cachePath))) {
|
|
173
|
-
return createEmptyPerPatchLintCache();
|
|
174
|
-
}
|
|
175
|
-
try {
|
|
176
|
-
const raw = await readJson(cachePath);
|
|
177
|
-
if (raw === null || typeof raw !== 'object' || Array.isArray(raw)) {
|
|
178
|
-
return createEmptyPerPatchLintCache();
|
|
179
|
-
}
|
|
180
|
-
const candidate = raw;
|
|
181
|
-
if (candidate.schemaVersion !== LINT_CACHE_SCHEMA_VERSION || !candidate.entries) {
|
|
182
|
-
return createEmptyPerPatchLintCache();
|
|
183
|
-
}
|
|
184
|
-
const entries = {};
|
|
185
|
-
for (const [filename, entry] of Object.entries(candidate.entries)) {
|
|
186
|
-
if (isCacheEntry(entry)) {
|
|
187
|
-
entries[filename] = entry;
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
return { schemaVersion: LINT_CACHE_SCHEMA_VERSION, entries };
|
|
191
|
-
}
|
|
192
|
-
catch {
|
|
193
|
-
// Any unreadable or malformed cache file is treated as a cold cache. The
|
|
194
|
-
// cache is a pure optimisation, so discarding it is always safe. The
|
|
195
|
-
// alternative is failing lint over a corrupt sidecar.
|
|
196
|
-
return createEmptyPerPatchLintCache();
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
/** Persists the per-patch lint cache atomically through the shared JSON writer. */
|
|
200
|
-
export async function savePerPatchLintCache(projectRoot, cache) {
|
|
201
|
-
await writeJson(getPerPatchLintCachePath(projectRoot), {
|
|
202
|
-
schemaVersion: LINT_CACHE_SCHEMA_VERSION,
|
|
203
|
-
entries: cache.entries,
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
/** Clears the per-patch lint cache by replacing it with an empty document. */
|
|
207
|
-
export async function clearPerPatchLintCache(projectRoot) {
|
|
208
|
-
await writeJson(getPerPatchLintCachePath(projectRoot), createEmptyPerPatchLintCache());
|
|
209
|
-
}
|
|
210
|
-
/** Canonical (sorted, de-duplicated) form of a waiver set for comparison. */
|
|
211
|
-
function normalizeLintIgnoreSet(lintIgnore) {
|
|
212
|
-
return [...new Set(lintIgnore ?? [])].sort((a, b) => a.localeCompare(b));
|
|
213
|
-
}
|
|
214
|
-
/**
|
|
215
|
-
* Returns the cached lint payload for a patch when the stored key still
|
|
216
|
-
* matches and the entry was computed under the same lint-ignore waiver set.
|
|
217
|
-
* A waiver change makes a replayed verdict actively wrong, so the waiver set
|
|
218
|
-
* is compared explicitly rather than trusted to the key.
|
|
219
|
-
*/
|
|
220
|
-
export function getCachedPerPatchLintIssues(cache, patchFilename, key, lintIgnore) {
|
|
221
|
-
const entry = cache.entries[patchFilename];
|
|
222
|
-
if (!entry || entry.key !== key)
|
|
223
|
-
return undefined;
|
|
224
|
-
const expected = normalizeLintIgnoreSet(lintIgnore);
|
|
225
|
-
const stored = normalizeLintIgnoreSet(entry.lintIgnore);
|
|
226
|
-
if (expected.length !== stored.length || expected.some((id, i) => id !== stored[i])) {
|
|
227
|
-
return undefined;
|
|
228
|
-
}
|
|
229
|
-
return {
|
|
230
|
-
issues: entry.issues.map((issue) => ({ ...issue })),
|
|
231
|
-
suppressed: entry.suppressed.map((issue) => ({ ...issue })),
|
|
232
|
-
lineCount: entry.lineCount,
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
|
-
/** Stores the per-patch lint payload after a successful lint calculation. */
|
|
236
|
-
export function setCachedPerPatchLintIssues(input) {
|
|
237
|
-
const { cache, patchFilename, key, issues, suppressed, lineCount, lintIgnore } = input;
|
|
238
|
-
cache.entries[patchFilename] = {
|
|
239
|
-
key,
|
|
240
|
-
patchFilename,
|
|
241
|
-
issues: issues.map((issue) => ({ ...issue })),
|
|
242
|
-
suppressed: suppressed.map((issue) => ({ ...issue })),
|
|
243
|
-
lineCount,
|
|
244
|
-
lintIgnore: normalizeLintIgnoreSet(lintIgnore),
|
|
245
|
-
updatedAt: new Date().toISOString(),
|
|
246
|
-
};
|
|
247
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Explains an implicit-`any` checkJs finding that comes from a URL import
|
|
3
|
-
* the per-patch program cannot resolve.
|
|
4
|
-
*
|
|
5
|
-
* The program resolves URL imports only to modules the queue creates (for
|
|
6
|
-
* a test, those created up to its own patch, plus its directory's
|
|
7
|
-
* head.js), so a `resource:///` or `chrome://` import of a module a later
|
|
8
|
-
* patch creates, an upstream module, or a basename two patches create
|
|
9
|
-
* falls back to the shim's `declare module 'resource:*'` wildcard and
|
|
10
|
-
* types as `any`. A callback
|
|
11
|
-
* over its values then has implicitly-`any` parameters under
|
|
12
|
-
* `checkJsStrict`, while the whole-tree `fireforge typecheck`, which sees
|
|
13
|
-
* the module, is clean. Without the note the two disagree with no
|
|
14
|
-
* explanation. A type-member reference through such an import (TS2694 on
|
|
15
|
-
* the wildcard) is dropped instead, so it types as `any` like the whole
|
|
16
|
-
* module. Split out of patch-lint-checkjs.ts for the line budget.
|
|
17
|
-
*/
|
|
18
|
-
/** Unresolved URL import specifiers, keyed by the importing file's TS path. */
|
|
19
|
-
export type AnyTypedImports = Map<string, Set<string>>;
|
|
20
|
-
/**
|
|
21
|
-
* True for a type-member reference (`import("…").Type`,
|
|
22
|
-
* `typeof import("…").member`) through an import this program could not
|
|
23
|
-
* resolve. The reference lands on the shim's shorthand `resource:*` /
|
|
24
|
-
* `chrome:*` wildcard (or a consumer's shorthand module of that name),
|
|
25
|
-
* which has no members, so TypeScript reports TS2694 and types the
|
|
26
|
-
* reference as `any`. The finding is dropped: the reference types as `any`
|
|
27
|
-
* here, exactly as a whole-module `typeof import("…")` of the same module
|
|
28
|
-
* does, and the whole-tree `fireforge typecheck` checks it against the
|
|
29
|
-
* real module.
|
|
30
|
-
*
|
|
31
|
-
* @param code - Diagnostic code
|
|
32
|
-
* @param message - Flattened diagnostic message
|
|
33
|
-
* @param specifiers - The file's unresolved URL imports
|
|
34
|
-
*/
|
|
35
|
-
export declare function isAnyTypedMemberReference(code: number, message: string, specifiers: ReadonlySet<string> | undefined): boolean;
|
|
36
|
-
/**
|
|
37
|
-
* The note an implicit-`any` finding carries when its file imports a
|
|
38
|
-
* `resource://`/`chrome://` module this checkJs program could not resolve.
|
|
39
|
-
* Such an import types as `any` (the shim's wildcard module), so a
|
|
40
|
-
* callback over its values has implicitly-`any` parameters here while the
|
|
41
|
-
* whole-tree `fireforge typecheck`, which sees the module, is clean.
|
|
42
|
-
*/
|
|
43
|
-
export declare function anyTypedImportHint(code: number, specifiers: ReadonlySet<string> | undefined): string;
|
|
44
|
-
/**
|
|
45
|
-
* The host's `resolveModuleNameLiterals`: owned specifiers first, then a
|
|
46
|
-
* reviewed `paths` mapping, recording every URL import that resolves to
|
|
47
|
-
* neither.
|
|
48
|
-
*
|
|
49
|
-
* @param resolveOwned - Patch-owned specifier resolver
|
|
50
|
-
* @param resolveViaPaths - Optional `paths` resolver
|
|
51
|
-
* @param into - Map that collects the unresolved URL imports
|
|
52
|
-
*/
|
|
53
|
-
export declare function createModuleLiteralResolver<Resolved>(resolveOwned: (specifier: string) => Resolved | undefined, resolveViaPaths: ((specifier: string) => Resolved | undefined) | undefined, into: AnyTypedImports): (moduleLiterals: readonly {
|
|
54
|
-
text: string;
|
|
55
|
-
}[], containingFile: string) => Array<{
|
|
56
|
-
resolvedModule: Resolved | undefined;
|
|
57
|
-
}>;
|