@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,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Project-specific patch queue policy evaluation.
|
|
3
|
-
*
|
|
4
|
-
* The policy is opt-in via `fireforge.json#patchPolicy`. Callers feed this
|
|
5
|
-
* module either the current manifest (`verify`, `lint --per-patch`) or a
|
|
6
|
-
* projected manifest assembled before a mutation commits (`export`,
|
|
7
|
-
* `patch reorder`, etc.).
|
|
8
|
-
*/
|
|
9
|
-
import type { PatchesManifest, PatchMetadata } from '../types/commands/index.js';
|
|
10
|
-
import type { FireForgeConfig, PatchPolicyConfig, PatchPolicyRange } from '../types/config.js';
|
|
11
|
-
/** Stable issue codes returned by patch policy evaluation. */
|
|
12
|
-
export type PatchPolicyIssueCode = 'filename-pattern' | 'filename-captures' | 'filename-metadata-mismatch' | 'order-collision' | 'category-range' | 'reserved-range' | 'reserved-documentation' | 'reserved-files' | 'description-required' | 'numeric-gap' | 'upstream-allowlist' | 'add-only' | 'scope' | 'reserved-document-missing';
|
|
13
|
-
/** A single patch policy validation finding. */
|
|
14
|
-
export interface PatchPolicyIssue {
|
|
15
|
-
code: PatchPolicyIssueCode;
|
|
16
|
-
filename: string;
|
|
17
|
-
message: string;
|
|
18
|
-
severity: 'error' | 'warning';
|
|
19
|
-
}
|
|
20
|
-
/** Input for enforcing policy during mutating commands. */
|
|
21
|
-
export interface PatchPolicyEnforcementInput {
|
|
22
|
-
config: FireForgeConfig;
|
|
23
|
-
manifest: PatchesManifest;
|
|
24
|
-
command: string;
|
|
25
|
-
forceUnsafe?: boolean;
|
|
26
|
-
/**
|
|
27
|
-
* Per-issue-code remediation lines appended to matching details, so a
|
|
28
|
-
* refusal can name the exact flag or command that fixes it on the
|
|
29
|
-
* command it was raised from (e.g. `--description` on
|
|
30
|
-
* `patch move-files --create`).
|
|
31
|
-
*/
|
|
32
|
-
hints?: Partial<Record<PatchPolicyIssueCode, string>>;
|
|
33
|
-
/**
|
|
34
|
-
* Patch filenames whose findings this mutation answers for. When set, only
|
|
35
|
-
* issues attributed to these rows are enforced: queue-level findings
|
|
36
|
-
* (order collisions, numeric gaps) and other patches' findings are left to
|
|
37
|
-
* `verify` and `lint --per-patch`. For mutations that change only the
|
|
38
|
-
* scoped rows' contents (`re-export`), so one patch's stale row cannot fail
|
|
39
|
-
* an unrelated patch refreshed in the same call.
|
|
40
|
-
*/
|
|
41
|
-
scope?: readonly string[];
|
|
42
|
-
}
|
|
43
|
-
/** Returns valid categories for prompts and CLI validation under the config. */
|
|
44
|
-
export declare function getPatchPolicyCategories(config: FireForgeConfig): string[];
|
|
45
|
-
/** Checks whether a category is accepted by the built-in defaults or the policy ranges. */
|
|
46
|
-
export declare function isCategoryAllowedByConfig(config: FireForgeConfig, category: string): boolean;
|
|
47
|
-
/**
|
|
48
|
-
* Human-readable label for a category's configured ranges, e.g. `300-399`.
|
|
49
|
-
* Exported for the forward-import hint, which must render the
|
|
50
|
-
* range it found no legal ordinal in.
|
|
51
|
-
*/
|
|
52
|
-
export declare function categoryRangeLabel(ranges: readonly PatchPolicyRange[], category: string): string;
|
|
53
|
-
/**
|
|
54
|
-
* Returns the configured range that contains `order` for `category`, or
|
|
55
|
-
* null when no such range exists. Exported for the forward-import hint,
|
|
56
|
-
* which suppresses ordinal suggestions the reorder policy
|
|
57
|
-
* would refuse.
|
|
58
|
-
*/
|
|
59
|
-
export declare function categoryRangeForOrder(cfg: PatchPolicyConfig, category: string, order: number): PatchPolicyRange | null;
|
|
60
|
-
/** Evaluates an entire patch manifest against the configured policy. */
|
|
61
|
-
export declare function evaluatePatchPolicy(config: Pick<FireForgeConfig, 'patchPolicy'>, manifest: PatchesManifest): PatchPolicyIssue[];
|
|
62
|
-
/**
|
|
63
|
-
* Builds a sorted manifest snapshot from projected patch metadata. Retired
|
|
64
|
-
* slots of `current` carry over unless a projected patch fills them, so a
|
|
65
|
-
* projection judges gaps the way the written manifest will.
|
|
66
|
-
*/
|
|
67
|
-
export declare function buildProjectedManifest(current: PatchesManifest | null, patches: PatchMetadata[]): PatchesManifest;
|
|
68
|
-
/** Applies a filename/order rename projection to a manifest without mutating it. */
|
|
69
|
-
export declare function applyRenameMapToManifest(manifest: PatchesManifest, renameMap: ReadonlyMap<string, {
|
|
70
|
-
newFilename: string;
|
|
71
|
-
newOrder: number;
|
|
72
|
-
}>): PatchesManifest;
|
|
73
|
-
/** Enforces patch policy according to the configured mutation mode. */
|
|
74
|
-
export declare function enforcePatchPolicy(input: PatchPolicyEnforcementInput): void;
|
|
75
|
-
/**
|
|
76
|
-
* Allocates the next available order inside the configured ranges for a
|
|
77
|
-
* category. Orders in `reserved` (`patch reserve`) are skipped: they are
|
|
78
|
-
* held for their owner's export.
|
|
79
|
-
*/
|
|
80
|
-
export declare function allocatePolicyOrder(config: FireForgeConfig, patches: readonly PatchMetadata[], category: string, reserved?: ReadonlySet<number>): number | null;
|
|
@@ -1,394 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Project-specific patch queue policy evaluation.
|
|
4
|
-
*
|
|
5
|
-
* The policy is opt-in via `fireforge.json#patchPolicy`. Callers feed this
|
|
6
|
-
* module either the current manifest (`verify`, `lint --per-patch`) or a
|
|
7
|
-
* projected manifest assembled before a mutation commits (`export`,
|
|
8
|
-
* `patch reorder`, etc.).
|
|
9
|
-
*/
|
|
10
|
-
import { InvalidArgumentError } from '../errors/base.js';
|
|
11
|
-
import { warn } from '../utils/logger.js';
|
|
12
|
-
import { PATCH_CATEGORIES } from '../utils/validation.js';
|
|
13
|
-
import { rewriteStagedDependencyOwners } from './patch-manifest-io.js';
|
|
14
|
-
import { formatOrderRange, formatPatchOrder } from './patch-parse.js';
|
|
15
|
-
import { manifestWithRetiredSlots, reservedOrderSet, retiredOrderSet } from './patch-retired.js';
|
|
16
|
-
/** Default patch filename contract used when a policy omits `filenamePattern`. */
|
|
17
|
-
const DEFAULT_PATCH_POLICY_FILENAME_PATTERN = '^(?<order>\\d{3})-(?<category>[a-z][a-z0-9-]*)-(?<slug>[a-z0-9-]+)\\.patch$';
|
|
18
|
-
function policy(config) {
|
|
19
|
-
return config.patchPolicy;
|
|
20
|
-
}
|
|
21
|
-
function mutationMode(config) {
|
|
22
|
-
return policy(config)?.mutationMode ?? 'error';
|
|
23
|
-
}
|
|
24
|
-
/** Returns valid categories for prompts and CLI validation under the config. */
|
|
25
|
-
export function getPatchPolicyCategories(config) {
|
|
26
|
-
const cfg = policy(config);
|
|
27
|
-
if (!cfg)
|
|
28
|
-
return [...PATCH_CATEGORIES];
|
|
29
|
-
return Array.from(new Set(cfg.ranges.map((range) => range.category))).sort((a, b) => a.localeCompare(b));
|
|
30
|
-
}
|
|
31
|
-
/** Checks whether a category is accepted by the built-in defaults or the policy ranges. */
|
|
32
|
-
export function isCategoryAllowedByConfig(config, category) {
|
|
33
|
-
if (!/^[a-z][a-z0-9-]*$/.test(category))
|
|
34
|
-
return false;
|
|
35
|
-
const cfg = policy(config);
|
|
36
|
-
if (!cfg)
|
|
37
|
-
return PATCH_CATEGORIES.includes(category);
|
|
38
|
-
return cfg.ranges.some((range) => range.category === category);
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Human-readable label for a category's configured ranges, e.g. `300-399`.
|
|
42
|
-
* Exported for the forward-import hint, which must render the
|
|
43
|
-
* range it found no legal ordinal in.
|
|
44
|
-
*/
|
|
45
|
-
export function categoryRangeLabel(ranges, category) {
|
|
46
|
-
const matches = ranges.filter((range) => range.category === category);
|
|
47
|
-
if (matches.length === 0)
|
|
48
|
-
return '(no configured range)';
|
|
49
|
-
return matches.map(formatOrderRange).join(', ');
|
|
50
|
-
}
|
|
51
|
-
function reservedRangeForOrder(cfg, order) {
|
|
52
|
-
return cfg.reservedRanges?.find((range) => order >= range.from && order <= range.to) ?? null;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Returns the configured range that contains `order` for `category`, or
|
|
56
|
-
* null when no such range exists. Exported for the forward-import hint,
|
|
57
|
-
* which suppresses ordinal suggestions the reorder policy
|
|
58
|
-
* would refuse.
|
|
59
|
-
*/
|
|
60
|
-
export function categoryRangeForOrder(cfg, category, order) {
|
|
61
|
-
return (cfg.ranges.find((range) => {
|
|
62
|
-
return range.category === category && order >= range.from && order <= range.to;
|
|
63
|
-
}) ?? null);
|
|
64
|
-
}
|
|
65
|
-
function anyRangeForOrder(cfg, order) {
|
|
66
|
-
return cfg.ranges.find((range) => order >= range.from && order <= range.to) ?? null;
|
|
67
|
-
}
|
|
68
|
-
function parseFilenameWithPolicy(cfg, patch, severity) {
|
|
69
|
-
if (cfg.filenamePattern === undefined) {
|
|
70
|
-
const defaultMatch = /^(?<order>\d{3})-(?<rest>[a-z0-9-]+)\.patch$/.exec(patch.filename);
|
|
71
|
-
const orderRaw = defaultMatch?.groups?.['order'];
|
|
72
|
-
const rest = defaultMatch?.groups?.['rest'];
|
|
73
|
-
if (!orderRaw || !rest) {
|
|
74
|
-
return [
|
|
75
|
-
{
|
|
76
|
-
code: 'filename-pattern',
|
|
77
|
-
filename: patch.filename,
|
|
78
|
-
severity,
|
|
79
|
-
message: `${patch.filename} does not match the default patchPolicy filename pattern ` +
|
|
80
|
-
'(NNN-category-slug.patch).',
|
|
81
|
-
},
|
|
82
|
-
];
|
|
83
|
-
}
|
|
84
|
-
const categories = Array.from(new Set(cfg.ranges.map((range) => range.category))).sort((a, b) => b.length - a.length);
|
|
85
|
-
const category = categories.find((candidate) => rest.startsWith(`${candidate}-`));
|
|
86
|
-
if (!category) {
|
|
87
|
-
return [
|
|
88
|
-
{
|
|
89
|
-
code: 'filename-captures',
|
|
90
|
-
filename: patch.filename,
|
|
91
|
-
severity,
|
|
92
|
-
message: `${patch.filename} does not encode one of the configured patchPolicy categories.`,
|
|
93
|
-
},
|
|
94
|
-
];
|
|
95
|
-
}
|
|
96
|
-
const slug = rest.slice(category.length + 1);
|
|
97
|
-
if (!/^[a-z0-9-]+$/.test(slug)) {
|
|
98
|
-
return [
|
|
99
|
-
{
|
|
100
|
-
code: 'filename-captures',
|
|
101
|
-
filename: patch.filename,
|
|
102
|
-
severity,
|
|
103
|
-
message: `${patch.filename} does not encode a lowercase slug after category "${category}".`,
|
|
104
|
-
},
|
|
105
|
-
];
|
|
106
|
-
}
|
|
107
|
-
return { order: Number.parseInt(orderRaw, 10), category };
|
|
108
|
-
}
|
|
109
|
-
const pattern = new RegExp(cfg.filenamePattern ?? DEFAULT_PATCH_POLICY_FILENAME_PATTERN);
|
|
110
|
-
const match = pattern.exec(patch.filename);
|
|
111
|
-
if (!match) {
|
|
112
|
-
return [
|
|
113
|
-
{
|
|
114
|
-
code: 'filename-pattern',
|
|
115
|
-
filename: patch.filename,
|
|
116
|
-
severity,
|
|
117
|
-
message: `${patch.filename} does not match patchPolicy.filenamePattern ` +
|
|
118
|
-
`(${cfg.filenamePattern ?? DEFAULT_PATCH_POLICY_FILENAME_PATTERN}).`,
|
|
119
|
-
},
|
|
120
|
-
];
|
|
121
|
-
}
|
|
122
|
-
const groups = match.groups;
|
|
123
|
-
const orderRaw = groups?.['order'];
|
|
124
|
-
const category = groups?.['category'];
|
|
125
|
-
const slug = groups?.['slug'];
|
|
126
|
-
if (!orderRaw || !category || slug === undefined) {
|
|
127
|
-
return [
|
|
128
|
-
{
|
|
129
|
-
code: 'filename-captures',
|
|
130
|
-
filename: patch.filename,
|
|
131
|
-
severity,
|
|
132
|
-
message: 'patchPolicy.filenamePattern must expose named captures "order", "category", and "slug".',
|
|
133
|
-
},
|
|
134
|
-
];
|
|
135
|
-
}
|
|
136
|
-
const order = Number.parseInt(orderRaw, 10);
|
|
137
|
-
if (!Number.isInteger(order)) {
|
|
138
|
-
return [
|
|
139
|
-
{
|
|
140
|
-
code: 'filename-captures',
|
|
141
|
-
filename: patch.filename,
|
|
142
|
-
severity,
|
|
143
|
-
message: `${patch.filename} has a non-numeric order capture "${orderRaw}".`,
|
|
144
|
-
},
|
|
145
|
-
];
|
|
146
|
-
}
|
|
147
|
-
return { order, category };
|
|
148
|
-
}
|
|
149
|
-
function evaluatePatchMetadata(cfg, patch, severity) {
|
|
150
|
-
const issues = [];
|
|
151
|
-
const parsed = parseFilenameWithPolicy(cfg, patch, severity);
|
|
152
|
-
if (Array.isArray(parsed)) {
|
|
153
|
-
return parsed;
|
|
154
|
-
}
|
|
155
|
-
if (parsed.order !== patch.order || parsed.category !== patch.category) {
|
|
156
|
-
issues.push({
|
|
157
|
-
code: 'filename-metadata-mismatch',
|
|
158
|
-
filename: patch.filename,
|
|
159
|
-
severity,
|
|
160
|
-
message: `${patch.filename} encodes order/category ${parsed.order}/${parsed.category}, ` +
|
|
161
|
-
`but patches.json records ${patch.order}/${patch.category}.`,
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
if (cfg.requireDescription === true && patch.description.trim() === '') {
|
|
165
|
-
issues.push({
|
|
166
|
-
code: 'description-required',
|
|
167
|
-
filename: patch.filename,
|
|
168
|
-
severity,
|
|
169
|
-
message: `${patch.filename} has an empty description, but patchPolicy.requireDescription is true.`,
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
const reserved = reservedRangeForOrder(cfg, patch.order);
|
|
173
|
-
if (reserved) {
|
|
174
|
-
const allowed = reserved.allowed.find((entry) => entry.filename === patch.filename);
|
|
175
|
-
if (!allowed) {
|
|
176
|
-
issues.push({
|
|
177
|
-
code: 'reserved-range',
|
|
178
|
-
filename: patch.filename,
|
|
179
|
-
severity,
|
|
180
|
-
message: `${patch.filename} is in reserved range ${formatOrderRange(reserved)}. ` +
|
|
181
|
-
'Reserved ranges require an exact patchPolicy.reservedRanges[].allowed filename exception.',
|
|
182
|
-
});
|
|
183
|
-
return issues;
|
|
184
|
-
}
|
|
185
|
-
if (!allowed.adr && !allowed.documentation) {
|
|
186
|
-
issues.push({
|
|
187
|
-
code: 'reserved-documentation',
|
|
188
|
-
filename: patch.filename,
|
|
189
|
-
severity,
|
|
190
|
-
message: `${patch.filename} is allowlisted for reserved range ${formatOrderRange(reserved)}, ` +
|
|
191
|
-
'but the allowlist entry must include either "adr" or "documentation".',
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
if (allowed.files !== undefined) {
|
|
195
|
-
const allowedFiles = new Set(allowed.files);
|
|
196
|
-
const extraFiles = patch.filesAffected.filter((file) => !allowedFiles.has(file));
|
|
197
|
-
if (extraFiles.length > 0) {
|
|
198
|
-
issues.push({
|
|
199
|
-
code: 'reserved-files',
|
|
200
|
-
filename: patch.filename,
|
|
201
|
-
severity,
|
|
202
|
-
message: `${patch.filename} is allowlisted for reserved range ${formatOrderRange(reserved)}, ` +
|
|
203
|
-
`but touches file(s) outside its reserved allowlist: ${extraFiles.join(', ')}.`,
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
return issues;
|
|
208
|
-
}
|
|
209
|
-
const matchingRange = categoryRangeForOrder(cfg, patch.category, patch.order);
|
|
210
|
-
if (!matchingRange) {
|
|
211
|
-
const owner = anyRangeForOrder(cfg, patch.order);
|
|
212
|
-
const expected = categoryRangeLabel(cfg.ranges, patch.category);
|
|
213
|
-
const actual = owner !== null
|
|
214
|
-
? `${formatPatchOrder(patch.order)} is configured for ${owner.category} (${formatOrderRange(owner)})`
|
|
215
|
-
: `${formatPatchOrder(patch.order)} is outside all configured ranges`;
|
|
216
|
-
issues.push({
|
|
217
|
-
code: 'category-range',
|
|
218
|
-
filename: patch.filename,
|
|
219
|
-
severity,
|
|
220
|
-
message: `${patch.category} patches must use ${expected}; ${actual}. ` +
|
|
221
|
-
`Choose a ${patch.category} order in ${expected} or configure an explicit reserved-range exception.`,
|
|
222
|
-
});
|
|
223
|
-
}
|
|
224
|
-
return issues;
|
|
225
|
-
}
|
|
226
|
-
function evaluateGaps(cfg, patches, severity, retiredOrders = new Set()) {
|
|
227
|
-
if (cfg.allowGaps !== false)
|
|
228
|
-
return [];
|
|
229
|
-
const issues = [];
|
|
230
|
-
for (const range of cfg.ranges) {
|
|
231
|
-
const occupied = patches
|
|
232
|
-
.filter((patch) => {
|
|
233
|
-
return (patch.category === range.category &&
|
|
234
|
-
patch.order >= range.from &&
|
|
235
|
-
patch.order <= range.to &&
|
|
236
|
-
reservedRangeForOrder(cfg, patch.order) === null);
|
|
237
|
-
})
|
|
238
|
-
.map((patch) => patch.order)
|
|
239
|
-
.sort((a, b) => a - b);
|
|
240
|
-
if (occupied.length <= 1)
|
|
241
|
-
continue;
|
|
242
|
-
const occupiedSet = new Set(occupied);
|
|
243
|
-
const first = occupied[0];
|
|
244
|
-
const last = occupied[occupied.length - 1];
|
|
245
|
-
const missing = [];
|
|
246
|
-
for (let order = first; order <= last; order++) {
|
|
247
|
-
// A retired slot (`patch retire`) or a reservation (`patch reserve`)
|
|
248
|
-
// is an occupied order with no patch behind it, so it is not a gap.
|
|
249
|
-
if (!occupiedSet.has(order) &&
|
|
250
|
-
!retiredOrders.has(order) &&
|
|
251
|
-
reservedRangeForOrder(cfg, order) === null) {
|
|
252
|
-
missing.push(order);
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
if (missing.length > 0) {
|
|
256
|
-
issues.push({
|
|
257
|
-
code: 'numeric-gap',
|
|
258
|
-
filename: `${range.category}:${formatOrderRange(range)}`,
|
|
259
|
-
severity,
|
|
260
|
-
message: `${range.category} range ${formatOrderRange(range)} has numeric gap(s): ` +
|
|
261
|
-
missing.map((order) => formatPatchOrder(order)).join(', ') +
|
|
262
|
-
'. patchPolicy.allowGaps is false.',
|
|
263
|
-
});
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
return issues;
|
|
267
|
-
}
|
|
268
|
-
function evaluateOrderCollisions(patches, severity) {
|
|
269
|
-
const byOrder = new Map();
|
|
270
|
-
for (const patch of patches) {
|
|
271
|
-
const matches = byOrder.get(patch.order) ?? [];
|
|
272
|
-
matches.push(patch);
|
|
273
|
-
byOrder.set(patch.order, matches);
|
|
274
|
-
}
|
|
275
|
-
const issues = [];
|
|
276
|
-
for (const [order, matches] of [...byOrder.entries()].sort((a, b) => a[0] - b[0])) {
|
|
277
|
-
if (matches.length <= 1)
|
|
278
|
-
continue;
|
|
279
|
-
const filenames = matches.map((patch) => patch.filename).sort((a, b) => a.localeCompare(b));
|
|
280
|
-
issues.push({
|
|
281
|
-
code: 'order-collision',
|
|
282
|
-
filename: formatPatchOrder(order),
|
|
283
|
-
severity,
|
|
284
|
-
message: `patchPolicy requires unique numeric orders; order ${formatPatchOrder(order)} ` +
|
|
285
|
-
`is used by: ${filenames.join(', ')}.`,
|
|
286
|
-
});
|
|
287
|
-
}
|
|
288
|
-
return issues;
|
|
289
|
-
}
|
|
290
|
-
/** Evaluates an entire patch manifest against the configured policy. */
|
|
291
|
-
export function evaluatePatchPolicy(config, manifest) {
|
|
292
|
-
const cfg = policy(config);
|
|
293
|
-
if (!cfg)
|
|
294
|
-
return [];
|
|
295
|
-
const severity = mutationMode(config) === 'warn' ? 'warning' : 'error';
|
|
296
|
-
const issues = manifest.patches.flatMap((patch) => evaluatePatchMetadata(cfg, patch, severity));
|
|
297
|
-
issues.push(...evaluateOrderCollisions(manifest.patches, severity));
|
|
298
|
-
// Retired and reserved slots are both spent orders with no patch behind
|
|
299
|
-
// them: neither is a gap.
|
|
300
|
-
const placeholders = new Set([...retiredOrderSet(manifest), ...reservedOrderSet(manifest)]);
|
|
301
|
-
issues.push(...evaluateGaps(cfg, manifest.patches, severity, placeholders));
|
|
302
|
-
return issues;
|
|
303
|
-
}
|
|
304
|
-
/**
|
|
305
|
-
* Builds a sorted manifest snapshot from projected patch metadata. Retired
|
|
306
|
-
* slots of `current` carry over unless a projected patch fills them, so a
|
|
307
|
-
* projection judges gaps the way the written manifest will.
|
|
308
|
-
*/
|
|
309
|
-
export function buildProjectedManifest(current, patches) {
|
|
310
|
-
const next = patches
|
|
311
|
-
.map((patch) => ({ ...patch, filesAffected: [...patch.filesAffected] }))
|
|
312
|
-
.sort((a, b) => a.order - b.order || a.filename.localeCompare(b.filename));
|
|
313
|
-
return manifestWithRetiredSlots(current, next);
|
|
314
|
-
}
|
|
315
|
-
/** Applies a filename/order rename projection to a manifest without mutating it. */
|
|
316
|
-
export function applyRenameMapToManifest(manifest, renameMap) {
|
|
317
|
-
const ownerLookup = (oldFilename) => renameMap.get(oldFilename)?.newFilename;
|
|
318
|
-
return buildProjectedManifest(manifest, manifest.patches.map((patch) => {
|
|
319
|
-
// Staged-dependency owners reference other patches' filenames, so the
|
|
320
|
-
// projection rewrites them on every row to mirror what
|
|
321
|
-
// renumberPatchesInManifest persists.
|
|
322
|
-
const withOwners = rewriteStagedDependencyOwners(patch, ownerLookup);
|
|
323
|
-
const rename = renameMap.get(patch.filename);
|
|
324
|
-
if (!rename)
|
|
325
|
-
return withOwners;
|
|
326
|
-
return {
|
|
327
|
-
...withOwners,
|
|
328
|
-
filename: rename.newFilename,
|
|
329
|
-
order: rename.newOrder,
|
|
330
|
-
};
|
|
331
|
-
}));
|
|
332
|
-
}
|
|
333
|
-
/** Enforces patch policy according to the configured mutation mode. */
|
|
334
|
-
export function enforcePatchPolicy(input) {
|
|
335
|
-
if (policy(input.config) === undefined)
|
|
336
|
-
return;
|
|
337
|
-
const scope = input.scope === undefined ? undefined : new Set(input.scope);
|
|
338
|
-
const issues = evaluatePatchPolicy(input.config, input.manifest).filter((issue) => scope === undefined || scope.has(issue.filename));
|
|
339
|
-
if (issues.length === 0)
|
|
340
|
-
return;
|
|
341
|
-
const mode = mutationMode(input.config);
|
|
342
|
-
const details = issues.map((issue) => {
|
|
343
|
-
const hint = input.hints?.[issue.code];
|
|
344
|
-
return ` [${issue.code}] ${issue.message}${hint ? `\n → ${hint}` : ''}`;
|
|
345
|
-
});
|
|
346
|
-
if (mode === 'warn') {
|
|
347
|
-
warn(`${input.command}: patch policy warning(s):`);
|
|
348
|
-
for (const detail of details)
|
|
349
|
-
warn(detail);
|
|
350
|
-
return;
|
|
351
|
-
}
|
|
352
|
-
if (mode === 'force' && input.forceUnsafe === true) {
|
|
353
|
-
warn(`${input.command}: bypassing patch policy violation(s) because --force-unsafe was provided:`);
|
|
354
|
-
for (const detail of details)
|
|
355
|
-
warn(detail);
|
|
356
|
-
return;
|
|
357
|
-
}
|
|
358
|
-
const suffix = mode === 'force'
|
|
359
|
-
? '\n\nPass --force-unsafe only if you intentionally accept this policy violation.'
|
|
360
|
-
: '';
|
|
361
|
-
throw new InvalidArgumentError(`${input.command} would violate patchPolicy:\n${details.join('\n')}${suffix}`, mode === 'force' ? '--force-unsafe' : 'patchPolicy');
|
|
362
|
-
}
|
|
363
|
-
/**
|
|
364
|
-
* Allocates the next available order inside the configured ranges for a
|
|
365
|
-
* category. Orders in `reserved` (`patch reserve`) are skipped: they are
|
|
366
|
-
* held for their owner's export.
|
|
367
|
-
*/
|
|
368
|
-
export function allocatePolicyOrder(config, patches, category, reserved = new Set()) {
|
|
369
|
-
const cfg = policy(config);
|
|
370
|
-
if (!cfg)
|
|
371
|
-
return null;
|
|
372
|
-
const ranges = cfg.ranges
|
|
373
|
-
.filter((range) => range.category === category)
|
|
374
|
-
.sort((a, b) => a.from - b.from || a.to - b.to);
|
|
375
|
-
if (ranges.length === 0)
|
|
376
|
-
return null;
|
|
377
|
-
const occupied = new Set([...patches.map((patch) => patch.order), ...reserved]);
|
|
378
|
-
const highestInRanges = patches.reduce((highest, patch) => {
|
|
379
|
-
if (!ranges.some((range) => patch.order >= range.from && patch.order <= range.to)) {
|
|
380
|
-
return highest;
|
|
381
|
-
}
|
|
382
|
-
return highest === null ? patch.order : Math.max(highest, patch.order);
|
|
383
|
-
}, null);
|
|
384
|
-
const start = highestInRanges === null ? ranges[0]?.from : highestInRanges + 1;
|
|
385
|
-
if (start === undefined)
|
|
386
|
-
return null;
|
|
387
|
-
for (const range of ranges) {
|
|
388
|
-
for (let order = Math.max(start, range.from); order <= range.to; order++) {
|
|
389
|
-
if (!occupied.has(order))
|
|
390
|
-
return order;
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
|
-
return null;
|
|
394
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Extracts furnace-shaped registration references from a patch body.
|
|
3
|
-
*
|
|
4
|
-
* `export-all --exclude-furnace` can land a patch that registers a furnace
|
|
5
|
-
* component (via edits to `toolkit/content/customElements.js`,
|
|
6
|
-
* `toolkit/content/jar.mn`, or `toolkit/locales/jar.mn`) without including
|
|
7
|
-
* the component's source files, and `fireforge verify` then reports "Verify
|
|
8
|
-
* clean" for the broken queue. This module provides a pattern-scoped scan so
|
|
9
|
-
* `verify` can cross-check registrations against available file bodies.
|
|
10
|
-
*
|
|
11
|
-
* The scan is narrow on purpose: it only matches component-shaped
|
|
12
|
-
* references (widget tag names, locale fluent names). Unrelated jar.mn or
|
|
13
|
-
* customElements.js edits pass through without spurious warnings.
|
|
14
|
-
*/
|
|
15
|
-
/**
|
|
16
|
-
* A referenced engine path extracted from a registration hunk, together
|
|
17
|
-
* with where it came from. The `source` field lets `verify` point
|
|
18
|
-
* operators at the specific consequence file whose hunk introduced the
|
|
19
|
-
* reference.
|
|
20
|
-
*/
|
|
21
|
-
export interface PatchRegistrationReference {
|
|
22
|
-
/** Engine-relative path that the registration hunk adds a reference to. */
|
|
23
|
-
targetPath: string;
|
|
24
|
-
/** The registration file that contained the added hunk. */
|
|
25
|
-
source: string;
|
|
26
|
-
/** Raw hunk line that produced the reference, for diagnostic context. */
|
|
27
|
-
lineText: string;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Walks a unified-diff patch body and returns the set of
|
|
31
|
-
* component-shaped engine paths that the patch adds a registration for.
|
|
32
|
-
*
|
|
33
|
-
* Returns the empty array when no registration hunks are present, or
|
|
34
|
-
* when the registration hunks do not mention any component-shaped
|
|
35
|
-
* paths. That leaves the scan silent on the vast majority of patches
|
|
36
|
-
* (branding tweaks, behavioural fixes, module additions) so it only
|
|
37
|
-
* fires when a furnace-managed component is being newly registered.
|
|
38
|
-
*
|
|
39
|
-
* @param patchBody - Full unified-diff body of the patch file.
|
|
40
|
-
*/
|
|
41
|
-
export declare function collectPatchRegistrationReferences(patchBody: string): PatchRegistrationReference[];
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Extracts furnace-shaped registration references from a patch body.
|
|
4
|
-
*
|
|
5
|
-
* `export-all --exclude-furnace` can land a patch that registers a furnace
|
|
6
|
-
* component (via edits to `toolkit/content/customElements.js`,
|
|
7
|
-
* `toolkit/content/jar.mn`, or `toolkit/locales/jar.mn`) without including
|
|
8
|
-
* the component's source files, and `fireforge verify` then reports "Verify
|
|
9
|
-
* clean" for the broken queue. This module provides a pattern-scoped scan so
|
|
10
|
-
* `verify` can cross-check registrations against available file bodies.
|
|
11
|
-
*
|
|
12
|
-
* The scan is narrow on purpose: it only matches component-shaped
|
|
13
|
-
* references (widget tag names, locale fluent names). Unrelated jar.mn or
|
|
14
|
-
* customElements.js edits pass through without spurious warnings.
|
|
15
|
-
*/
|
|
16
|
-
import { WIDGETS_DIR } from './furnace-constants.js';
|
|
17
|
-
import { parseDiffSections } from './patch-parse.js';
|
|
18
|
-
/** Canonical file paths that registration-shaped diffs touch. */
|
|
19
|
-
const REGISTRATION_FILE_PATHS = new Set([
|
|
20
|
-
'toolkit/content/customElements.js',
|
|
21
|
-
'toolkit/content/jar.mn',
|
|
22
|
-
'toolkit/locales/jar.mn',
|
|
23
|
-
]);
|
|
24
|
-
/**
|
|
25
|
-
* Walks a unified-diff patch body and returns the set of
|
|
26
|
-
* component-shaped engine paths that the patch adds a registration for.
|
|
27
|
-
*
|
|
28
|
-
* Returns the empty array when no registration hunks are present, or
|
|
29
|
-
* when the registration hunks do not mention any component-shaped
|
|
30
|
-
* paths. That leaves the scan silent on the vast majority of patches
|
|
31
|
-
* (branding tweaks, behavioural fixes, module additions) so it only
|
|
32
|
-
* fires when a furnace-managed component is being newly registered.
|
|
33
|
-
*
|
|
34
|
-
* @param patchBody - Full unified-diff body of the patch file.
|
|
35
|
-
*/
|
|
36
|
-
export function collectPatchRegistrationReferences(patchBody) {
|
|
37
|
-
if (!patchBody)
|
|
38
|
-
return [];
|
|
39
|
-
const refs = [];
|
|
40
|
-
// Key the file state off the `b/` path because that names the target
|
|
41
|
-
// side and is stable against renames. Only real hunk adds count.
|
|
42
|
-
// parseDiffSections has already filtered out header/metadata lines.
|
|
43
|
-
for (const section of parseDiffSections(patchBody)) {
|
|
44
|
-
if (!REGISTRATION_FILE_PATHS.has(section.targetPath))
|
|
45
|
-
continue;
|
|
46
|
-
for (const hunk of section.hunks) {
|
|
47
|
-
for (const line of hunk.lines) {
|
|
48
|
-
if (!line.startsWith('+'))
|
|
49
|
-
continue;
|
|
50
|
-
const added = line.slice(1);
|
|
51
|
-
const extracted = extractTargetPathsFromRegistrationLine(section.targetPath, added);
|
|
52
|
-
for (const target of extracted) {
|
|
53
|
-
refs.push({ targetPath: target, source: section.targetPath, lineText: added });
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
return refs;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Per-source extractor. Each registration file has a distinct syntactic
|
|
62
|
-
* shape. We scope the match to that file so a jar.mn regex does not
|
|
63
|
-
* accidentally match a customElements.js line.
|
|
64
|
-
*/
|
|
65
|
-
function extractTargetPathsFromRegistrationLine(sourceFile, added) {
|
|
66
|
-
if (sourceFile === 'toolkit/content/jar.mn') {
|
|
67
|
-
// Example (added line, leading `+` already stripped):
|
|
68
|
-
// ` content/global/elements/moz-qa-panel.mjs (widgets/moz-qa-panel/moz-qa-panel.mjs)`
|
|
69
|
-
// The parenthesised second half is the repo-relative path Firefox's
|
|
70
|
-
// packaging system reads. Widget registrations always live under
|
|
71
|
-
// `widgets/<tag>/<file>`, and the enclosing tree is
|
|
72
|
-
// `toolkit/content/widgets/`. Reconstruct the engine-relative
|
|
73
|
-
// target path so callers can check it against patch bodies.
|
|
74
|
-
const widgetMatch = /\(\s*(widgets\/[^\s)]+)\s*\)/.exec(added);
|
|
75
|
-
if (widgetMatch?.[1]) {
|
|
76
|
-
return [`toolkit/content/${widgetMatch[1]}`];
|
|
77
|
-
}
|
|
78
|
-
return [];
|
|
79
|
-
}
|
|
80
|
-
if (sourceFile === 'toolkit/locales/jar.mn') {
|
|
81
|
-
// Example:
|
|
82
|
-
// ` locale/@AB_CD@/toolkit/global/moz-qa-panel.ftl (%toolkit/global/moz-qa-panel.ftl)`
|
|
83
|
-
// The `%`-prefixed repo-relative reference points at
|
|
84
|
-
// `toolkit/locales/en-US/<rel>`, which is the canonical FTL path.
|
|
85
|
-
const localeMatch = /\(%\s*([^\s)]+\.ftl)\s*\)/.exec(added);
|
|
86
|
-
if (localeMatch?.[1]) {
|
|
87
|
-
return [`toolkit/locales/en-US/${localeMatch[1]}`];
|
|
88
|
-
}
|
|
89
|
-
return [];
|
|
90
|
-
}
|
|
91
|
-
if (sourceFile === 'toolkit/content/customElements.js') {
|
|
92
|
-
// Example:
|
|
93
|
-
// ` ["moz-qa-panel", "chrome://global/content/elements/moz-qa-panel.mjs"],`
|
|
94
|
-
// The chrome URL maps back to
|
|
95
|
-
// `toolkit/content/widgets/<tag>/<tag>.mjs` by convention: the
|
|
96
|
-
// packager rewrites `chrome://global/content/elements/<file>` to the
|
|
97
|
-
// widget tree root. The tag name is the identifier we key off.
|
|
98
|
-
const elementMatch = /\[\s*"([a-z][a-z0-9-]*)"\s*,\s*"chrome:\/\/global\/content\/elements\/([a-zA-Z0-9_-]+)\.mjs"\s*\]/.exec(added);
|
|
99
|
-
if (elementMatch?.[1] && elementMatch[2]) {
|
|
100
|
-
const tag = elementMatch[1];
|
|
101
|
-
const fileStem = elementMatch[2];
|
|
102
|
-
return [`${WIDGETS_DIR}/${tag}/${fileStem}.mjs`];
|
|
103
|
-
}
|
|
104
|
-
return [];
|
|
105
|
-
}
|
|
106
|
-
return [];
|
|
107
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Retired order slots: the placeholders `patch retire` leaves in
|
|
3
|
-
* `patches.json#retired` so a patch can leave the queue without opening a
|
|
4
|
-
* numeric gap or renumbering its successors.
|
|
5
|
-
*
|
|
6
|
-
* A slot is not a patch. It has no `.patch` file and no row in `patches`,
|
|
7
|
-
* so everything that applies, exports, lints or rebases the queue walks past
|
|
8
|
-
* it without knowing it exists. The one reader is the
|
|
9
|
-
* `patchPolicy.allowGaps: false` gap check, which counts a retired order as
|
|
10
|
-
* occupied. A patch that later takes the same order fills the slot, and
|
|
11
|
-
* {@link carryRetiredSlots} drops it on that write, so the manifest never
|
|
12
|
-
* holds a slot and a patch at one order.
|
|
13
|
-
*
|
|
14
|
-
* Reserved slots (`patch reserve`) follow the same rules: a placeholder for
|
|
15
|
-
* an order a session has claimed but not exported yet, counted as occupied
|
|
16
|
-
* by the gap check and filled (and dropped) by the export that lands on it.
|
|
17
|
-
*/
|
|
18
|
-
import type { PatchesManifest, PatchMetadata, PatchReservedSlot, PatchRetiredSlot } from '../types/commands/index.js';
|
|
19
|
-
/**
|
|
20
|
-
* The retired slots of `current` that no patch in `patches` occupies, or
|
|
21
|
-
* undefined when none remain. Every manifest write that rebuilds the
|
|
22
|
-
* `patches` list routes the slots through here, so a slot survives the
|
|
23
|
-
* rewrite and a filled one does not.
|
|
24
|
-
*
|
|
25
|
-
* @param current - Manifest the slots come from (null or slot-free: none)
|
|
26
|
-
* @param patches - The rows the written manifest will hold
|
|
27
|
-
*/
|
|
28
|
-
export declare function carryRetiredSlots(current: Pick<PatchesManifest, 'retired'> | null | undefined, patches: readonly Pick<PatchMetadata, 'order'>[]): PatchRetiredSlot[] | undefined;
|
|
29
|
-
/**
|
|
30
|
-
* Reserved twin of {@link carryRetiredSlots}: the reservations of `current`
|
|
31
|
-
* that no patch in `patches` has filled yet.
|
|
32
|
-
*
|
|
33
|
-
* @param current - Manifest the slots come from
|
|
34
|
-
* @param patches - The rows the written manifest will hold
|
|
35
|
-
*/
|
|
36
|
-
export declare function carryReservedSlots(current: Pick<PatchesManifest, 'reserved'> | null | undefined, patches: readonly Pick<PatchMetadata, 'order'>[]): PatchReservedSlot[] | undefined;
|
|
37
|
-
/**
|
|
38
|
-
* Builds a manifest from `patches` that keeps `current`'s unfilled retired
|
|
39
|
-
* and reserved slots. Each key is omitted entirely when no slot remains, so
|
|
40
|
-
* a queue that never retired or reserved anything writes the same JSON as
|
|
41
|
-
* before.
|
|
42
|
-
*
|
|
43
|
-
* @param current - Manifest the slots come from
|
|
44
|
-
* @param patches - The rows the written manifest will hold
|
|
45
|
-
*/
|
|
46
|
-
export declare function manifestWithRetiredSlots(current: Pick<PatchesManifest, 'retired' | 'reserved'> | null | undefined, patches: PatchMetadata[]): PatchesManifest;
|
|
47
|
-
/** The set of order numbers held by retired slots. */
|
|
48
|
-
export declare function retiredOrderSet(manifest: Pick<PatchesManifest, 'retired'>): Set<number>;
|
|
49
|
-
/** The set of order numbers held by reserved slots. */
|
|
50
|
-
export declare function reservedOrderSet(manifest: Pick<PatchesManifest, 'reserved'>): Set<number>;
|
|
51
|
-
/**
|
|
52
|
-
* The reservation at `order`, if any.
|
|
53
|
-
*
|
|
54
|
-
* @param manifest - Manifest to search (null: none)
|
|
55
|
-
* @param order - Order number
|
|
56
|
-
*/
|
|
57
|
-
export declare function reservationAt(manifest: Pick<PatchesManifest, 'reserved'> | null | undefined, order: number): PatchReservedSlot | undefined;
|