@hominis/fireforge 0.54.0 → 0.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +287 -6
- package/README.md +51 -17
- package/dist/bin/fireforge.js +34 -129
- package/dist/build-info.json +4 -4
- package/dist/src/check/check.js +394 -0
- package/dist/src/check/gate.js +448 -0
- package/dist/src/check/index.js +10 -0
- package/dist/src/check/record.js +155 -0
- package/dist/src/cli/command.js +286 -0
- package/dist/src/cli/output.js +96 -0
- package/dist/src/cli/program.js +231 -0
- package/dist/src/cli/stdio.js +59 -0
- package/dist/src/cli/version.js +99 -0
- package/dist/src/commands/bootstrap.js +17 -102
- package/dist/src/commands/build.js +34 -438
- package/dist/src/commands/check.js +44 -157
- package/dist/src/commands/config.js +50 -226
- package/dist/src/commands/discard.js +38 -215
- package/dist/src/commands/doctor.js +29 -456
- package/dist/src/commands/download.js +35 -499
- package/dist/src/commands/export.js +42 -431
- package/dist/src/commands/furnace.js +220 -0
- package/dist/src/commands/gate.js +127 -0
- package/dist/src/commands/import.js +44 -445
- package/dist/src/commands/index.js +86 -0
- package/dist/src/commands/lint.js +44 -546
- package/dist/src/commands/merge-driver.js +56 -0
- package/dist/src/commands/migrate.js +75 -0
- package/dist/src/commands/override.js +43 -0
- package/dist/src/commands/package.js +48 -77
- package/dist/src/commands/patch.js +221 -0
- package/dist/src/commands/re-export.js +55 -332
- package/dist/src/commands/rebase.js +69 -0
- package/dist/src/commands/register.js +62 -103
- package/dist/src/commands/reset.js +28 -91
- package/dist/src/commands/resolve.js +20 -167
- package/dist/src/commands/restore.js +19 -0
- package/dist/src/commands/run.js +60 -420
- package/dist/src/commands/setup.js +78 -90
- package/dist/src/commands/status.js +44 -413
- package/dist/src/commands/test.js +97 -422
- package/dist/src/commands/token.js +185 -228
- package/dist/src/commands/typecheck.js +59 -208
- package/dist/src/commands/verify.js +28 -334
- package/dist/src/commands/version.js +14 -0
- package/dist/src/commands/watch.js +20 -218
- package/dist/src/commands/wire.js +60 -349
- package/dist/src/commands/workspace.js +117 -0
- package/dist/src/config/edit.js +237 -0
- package/dist/src/config/index.js +15 -0
- package/dist/src/config/load.js +59 -0
- package/dist/src/config/previous.js +404 -0
- package/dist/src/config/schema/build.js +63 -0
- package/dist/src/config/schema/check.js +113 -0
- package/dist/src/config/schema/common.js +71 -0
- package/dist/src/config/schema/export-queue.js +36 -0
- package/dist/src/config/schema/firefox.js +69 -0
- package/dist/src/config/schema/gate.js +199 -0
- package/dist/src/config/schema/identity.js +55 -0
- package/dist/src/config/schema/index.js +45 -0
- package/dist/src/config/schema/lint.js +297 -0
- package/dist/src/config/schema/policy.js +111 -0
- package/dist/src/config/schema/source.js +90 -0
- package/dist/src/config/schema/test.js +17 -0
- package/dist/src/config/schema/toolchains.js +17 -0
- package/dist/src/config/schema/typecheck.js +29 -0
- package/dist/src/config/schema/wire.js +15 -0
- package/dist/src/diff/apply.js +129 -0
- package/dist/src/diff/index.js +16 -0
- package/dist/src/diff/model.js +267 -0
- package/dist/src/diff/query.js +65 -0
- package/dist/src/doctor/index.js +240 -0
- package/dist/src/engine/archive.js +396 -0
- package/dist/src/engine/audit.js +66 -0
- package/dist/src/engine/build.js +150 -0
- package/dist/src/engine/hostLocks.js +66 -0
- package/dist/src/engine/index.js +26 -0
- package/dist/src/engine/installManifests.js +147 -0
- package/dist/src/engine/mach.js +97 -0
- package/dist/src/engine/machHints.js +80 -0
- package/dist/src/engine/mozconfig.js +110 -0
- package/dist/src/engine/objdir.js +124 -0
- package/dist/src/engine/package.js +169 -0
- package/dist/src/engine/pin.js +12 -0
- package/dist/src/engine/pool.js +423 -0
- package/dist/src/engine/pristine.js +281 -0
- package/dist/src/engine/python.js +68 -0
- package/dist/src/engine/resourceGuard.js +582 -0
- package/dist/src/engine/run.js +259 -0
- package/dist/src/engine/smoke.js +204 -0
- package/dist/src/engine/staleness.js +229 -0
- package/dist/src/engine/watch.js +82 -0
- package/dist/src/engine/workspace.js +85 -0
- package/dist/src/furnace/config.js +360 -0
- package/dist/src/furnace/deploy.js +414 -0
- package/dist/src/furnace/diff.js +59 -0
- package/dist/src/furnace/edit.js +64 -0
- package/dist/src/furnace/fragments.js +53 -0
- package/dist/src/furnace/index.js +19 -0
- package/dist/src/furnace/operations.js +283 -0
- package/dist/src/furnace/registration.js +220 -0
- package/dist/src/furnace/scaffold.js +311 -0
- package/dist/src/furnace/typing.js +252 -0
- package/dist/src/furnace/validate.js +662 -0
- package/dist/src/git/apply.js +129 -0
- package/dist/src/git/diff.js +143 -0
- package/dist/src/git/index.js +33 -0
- package/dist/src/git/objects.js +201 -0
- package/dist/src/git/refs.js +85 -0
- package/dist/src/git/repo.js +222 -0
- package/dist/src/git/run.js +242 -0
- package/dist/src/git/status.js +156 -0
- package/dist/src/kernel/errors.js +123 -0
- package/dist/src/kernel/fs.js +515 -0
- package/dist/src/kernel/glob.js +63 -0
- package/dist/src/kernel/hash.js +28 -0
- package/dist/src/kernel/journal.js +524 -0
- package/dist/src/kernel/json-edit.js +198 -0
- package/dist/src/kernel/json.js +101 -0
- package/dist/src/kernel/lock.js +589 -0
- package/dist/src/kernel/log.js +154 -0
- package/dist/src/kernel/process/identity.js +313 -0
- package/dist/src/kernel/process/index.js +8 -0
- package/dist/src/kernel/process/listing.js +128 -0
- package/dist/src/kernel/process/spawn.js +430 -0
- package/dist/src/kernel/process/tree.js +301 -0
- package/dist/src/kernel/schema.js +308 -0
- package/dist/src/kernel/signals.js +171 -0
- package/dist/src/kernel/text.js +151 -0
- package/dist/src/kernel/time.js +83 -0
- package/dist/src/kernel/tty.js +84 -0
- package/dist/src/lint/cache.js +77 -0
- package/dist/src/lint/checkjs.js +400 -0
- package/dist/src/lint/index.js +3 -0
- package/dist/src/lint/input.js +100 -0
- package/dist/src/lint/report.js +107 -0
- package/dist/src/lint/rule.js +41 -0
- package/dist/src/lint/rules/css.js +308 -0
- package/dist/src/lint/rules/javascript.js +299 -0
- package/dist/src/lint/rules/jsdoc.js +249 -0
- package/dist/src/lint/rules/license.js +93 -0
- package/dist/src/lint/rules/policy.js +201 -0
- package/dist/src/lint/rules/registration.js +264 -0
- package/dist/src/lint/rules/size.js +299 -0
- package/dist/src/lint/run.js +126 -0
- package/dist/src/lint/shim.js +323 -0
- package/dist/src/lint/typescript.js +186 -0
- package/dist/src/lint/waivers.js +93 -0
- package/dist/src/mode/changes.js +264 -0
- package/dist/src/mode/diagnose.js +173 -0
- package/dist/src/mode/export.js +147 -0
- package/dist/src/mode/index.js +23 -0
- package/dist/src/mode/migrate.js +181 -0
- package/dist/src/mode/previousWaivers.js +206 -0
- package/dist/src/mode/pristine.js +61 -0
- package/dist/src/mode/rebase.js +197 -0
- package/dist/src/mode/report.js +157 -0
- package/dist/src/mode/setup.js +103 -0
- package/dist/src/mode/tracked.js +116 -0
- package/dist/src/mode/upgrade.js +281 -0
- package/dist/src/mode/watch.js +83 -0
- package/dist/src/mode/workspace.js +189 -0
- package/dist/src/mozbuild/index.js +6 -0
- package/dist/src/mozbuild/jar.js +366 -0
- package/dist/src/mozbuild/mozbuild.js +321 -0
- package/dist/src/mozbuild/paths.js +96 -0
- package/dist/src/mozbuild/references.js +39 -0
- package/dist/src/mozbuild/testManifest.js +343 -0
- package/dist/src/mozbuild/text.js +142 -0
- package/dist/src/project/changes.js +145 -0
- package/dist/src/project/checkout.js +66 -0
- package/dist/src/project/index.js +11 -0
- package/dist/src/project/license.js +119 -0
- package/dist/src/project/project.js +111 -0
- package/dist/src/project/state.js +85 -0
- package/dist/src/project/tracked.js +1 -0
- package/dist/src/queue/apply.js +270 -0
- package/dist/src/queue/attribute.js +159 -0
- package/dist/src/queue/baseline.js +409 -0
- package/dist/src/queue/capture.js +298 -0
- package/dist/src/queue/changes.js +234 -0
- package/dist/src/queue/index.js +50 -0
- package/dist/src/queue/manifest.js +341 -0
- package/dist/src/queue/operations.js +454 -0
- package/dist/src/queue/placement.js +220 -0
- package/dist/src/queue/queue.js +359 -0
- package/dist/src/queue/restore.js +103 -0
- package/dist/src/queue/session.js +685 -0
- package/dist/src/queue/status.js +137 -0
- package/dist/src/register/files.js +39 -0
- package/dist/src/register/index.js +8 -0
- package/dist/src/register/js.js +217 -0
- package/dist/src/register/register.js +359 -0
- package/dist/src/register/wire.js +146 -0
- package/dist/src/source/adopt.js +99 -0
- package/dist/src/source/changes.js +132 -0
- package/dist/src/source/edit.js +278 -0
- package/dist/src/source/export.js +70 -0
- package/dist/src/source/groups.js +131 -0
- package/dist/src/source/index.js +20 -0
- package/dist/src/source/materialize.js +382 -0
- package/dist/src/source/merge.js +255 -0
- package/dist/src/source/objects.js +102 -0
- package/dist/src/source/previous.js +166 -0
- package/dist/src/source/records.js +138 -0
- package/dist/src/source/refresh.js +264 -0
- package/dist/src/source/tree.js +337 -0
- package/dist/src/syntax/css.js +215 -0
- package/dist/src/syntax/fragments.js +63 -0
- package/dist/src/syntax/index.js +10 -0
- package/dist/src/syntax/js.js +270 -0
- package/dist/src/test/classify.js +826 -0
- package/dist/src/test/control.js +236 -0
- package/dist/src/test/host.js +266 -0
- package/dist/src/test/index.js +11 -0
- package/dist/src/test/plan.js +347 -0
- package/dist/src/test/rawLog.js +138 -0
- package/dist/src/test/run.js +404 -0
- package/dist/src/test/verdict.js +420 -0
- package/dist/src/test/xpcshell.js +143 -0
- package/dist/src/tokens/add.js +304 -0
- package/dist/src/tokens/coverage.js +65 -0
- package/dist/src/tokens/css.js +58 -0
- package/dist/src/tokens/index.js +12 -0
- package/dist/src/tokens/lint.js +96 -0
- package/dist/src/tokens/model.js +118 -0
- package/dist/src/tokens/settings.js +87 -0
- package/dist/src/tokens/siblings.js +104 -0
- package/dist/src/typecheck/explain.js +123 -0
- package/dist/src/typecheck/index.js +8 -0
- package/dist/src/typecheck/typecheck.js +332 -0
- package/docs/README.md +23 -28
- package/docs/authoring.md +97 -0
- package/docs/configuration.md +307 -692
- package/docs/exit-codes.md +76 -94
- package/docs/furnace.md +113 -181
- package/docs/gate.md +205 -0
- package/docs/getting-started.md +165 -0
- package/docs/machine-output.md +201 -277
- package/docs/migrating.md +261 -0
- package/docs/patch-workflow.md +163 -653
- package/docs/quality.md +220 -0
- package/docs/source-workflow.md +228 -0
- package/docs/testing.md +101 -712
- package/docs/workspaces.md +187 -0
- package/package.json +22 -30
- package/templates/configs/common.mozconfig +8 -2
- package/templates/configs/darwin.mozconfig +6 -7
- package/templates/configs/linux.mozconfig +5 -8
- package/templates/configs/win32.mozconfig +3 -9
- package/dist/bin/fireforge.d.ts +0 -9
- package/dist/src/cli-usage-error.d.ts +0 -46
- package/dist/src/cli-usage-error.js +0 -81
- package/dist/src/cli.d.ts +0 -41
- package/dist/src/cli.js +0 -380
- package/dist/src/commands/bootstrap-checks.d.ts +0 -16
- package/dist/src/commands/bootstrap-checks.js +0 -66
- package/dist/src/commands/bootstrap.d.ts +0 -10
- package/dist/src/commands/build-prelock.d.ts +0 -20
- package/dist/src/commands/build-prelock.js +0 -50
- package/dist/src/commands/build.d.ts +0 -13
- package/dist/src/commands/check-report.d.ts +0 -41
- package/dist/src/commands/check-report.js +0 -91
- package/dist/src/commands/check-run.d.ts +0 -33
- package/dist/src/commands/check-run.js +0 -112
- package/dist/src/commands/check-steps.d.ts +0 -75
- package/dist/src/commands/check-steps.js +0 -200
- package/dist/src/commands/check.d.ts +0 -32
- package/dist/src/commands/config.d.ts +0 -13
- package/dist/src/commands/declarations-report.d.ts +0 -49
- package/dist/src/commands/declarations-report.js +0 -83
- package/dist/src/commands/destructive-decision.d.ts +0 -19
- package/dist/src/commands/destructive-decision.js +0 -31
- package/dist/src/commands/discard.d.ts +0 -12
- package/dist/src/commands/doctor-check-core.d.ts +0 -110
- package/dist/src/commands/doctor-check-core.js +0 -24
- package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
- package/dist/src/commands/doctor-engine-eslint.js +0 -17
- package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
- package/dist/src/commands/doctor-external-toolchains.js +0 -56
- package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
- package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
- package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
- package/dist/src/commands/doctor-furnace-jar.js +0 -44
- package/dist/src/commands/doctor-furnace.d.ts +0 -8
- package/dist/src/commands/doctor-furnace.js +0 -514
- package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
- package/dist/src/commands/doctor-macos-sdk.js +0 -158
- package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
- package/dist/src/commands/doctor-orphaned-harness.js +0 -98
- package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
- package/dist/src/commands/doctor-patch-manifest.js +0 -156
- package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
- package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
- package/dist/src/commands/doctor-source-pin.d.ts +0 -29
- package/dist/src/commands/doctor-source-pin.js +0 -91
- package/dist/src/commands/doctor-working-tree.d.ts +0 -27
- package/dist/src/commands/doctor-working-tree.js +0 -89
- package/dist/src/commands/doctor.d.ts +0 -49
- package/dist/src/commands/download.d.ts +0 -11
- package/dist/src/commands/export-adopt-check.d.ts +0 -37
- package/dist/src/commands/export-adopt-check.js +0 -97
- package/dist/src/commands/export-all.d.ts +0 -11
- package/dist/src/commands/export-all.js +0 -361
- package/dist/src/commands/export-flow.d.ts +0 -124
- package/dist/src/commands/export-flow.js +0 -423
- package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
- package/dist/src/commands/export-placement-conflicts.js +0 -75
- package/dist/src/commands/export-placement-gate.d.ts +0 -42
- package/dist/src/commands/export-placement-gate.js +0 -107
- package/dist/src/commands/export-placement-policy.d.ts +0 -22
- package/dist/src/commands/export-placement-policy.js +0 -54
- package/dist/src/commands/export-shared.d.ts +0 -152
- package/dist/src/commands/export-shared.js +0 -396
- package/dist/src/commands/export-staged-registration.d.ts +0 -46
- package/dist/src/commands/export-staged-registration.js +0 -91
- package/dist/src/commands/export.d.ts +0 -13
- package/dist/src/commands/forward-import-remedy.d.ts +0 -31
- package/dist/src/commands/forward-import-remedy.js +0 -62
- package/dist/src/commands/furnace/apply.d.ts +0 -8
- package/dist/src/commands/furnace/apply.js +0 -327
- package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
- package/dist/src/commands/furnace/authoring-config.js +0 -19
- package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
- package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
- package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
- package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
- package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
- package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
- package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
- package/dist/src/commands/furnace/chrome-doc.js +0 -365
- package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
- package/dist/src/commands/furnace/create-browser-test.js +0 -179
- package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
- package/dist/src/commands/furnace/create-dry-run.js +0 -107
- package/dist/src/commands/furnace/create-features.d.ts +0 -24
- package/dist/src/commands/furnace/create-features.js +0 -55
- package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
- package/dist/src/commands/furnace/create-mochikit.js +0 -75
- package/dist/src/commands/furnace/create-readback.d.ts +0 -22
- package/dist/src/commands/furnace/create-readback.js +0 -32
- package/dist/src/commands/furnace/create-templates.d.ts +0 -119
- package/dist/src/commands/furnace/create-templates.js +0 -283
- package/dist/src/commands/furnace/create-validation.d.ts +0 -6
- package/dist/src/commands/furnace/create-validation.js +0 -59
- package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
- package/dist/src/commands/furnace/create-xpcshell.js +0 -80
- package/dist/src/commands/furnace/create.d.ts +0 -24
- package/dist/src/commands/furnace/create.js +0 -407
- package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
- package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
- package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
- package/dist/src/commands/furnace/deploy-named.js +0 -107
- package/dist/src/commands/furnace/deploy.d.ts +0 -9
- package/dist/src/commands/furnace/deploy.js +0 -218
- package/dist/src/commands/furnace/diff.d.ts +0 -11
- package/dist/src/commands/furnace/diff.js +0 -238
- package/dist/src/commands/furnace/index.d.ts +0 -4
- package/dist/src/commands/furnace/index.js +0 -282
- package/dist/src/commands/furnace/init.d.ts +0 -11
- package/dist/src/commands/furnace/init.js +0 -287
- package/dist/src/commands/furnace/list.d.ts +0 -8
- package/dist/src/commands/furnace/list.js +0 -104
- package/dist/src/commands/furnace/override.d.ts +0 -16
- package/dist/src/commands/furnace/override.js +0 -454
- package/dist/src/commands/furnace/preview.d.ts +0 -19
- package/dist/src/commands/furnace/preview.js +0 -349
- package/dist/src/commands/furnace/refresh.d.ts +0 -10
- package/dist/src/commands/furnace/refresh.js +0 -303
- package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
- package/dist/src/commands/furnace/remove-mutations.js +0 -168
- package/dist/src/commands/furnace/remove-state.d.ts +0 -20
- package/dist/src/commands/furnace/remove-state.js +0 -60
- package/dist/src/commands/furnace/remove.d.ts +0 -8
- package/dist/src/commands/furnace/remove.js +0 -415
- package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
- package/dist/src/commands/furnace/rename-browser-test.js +0 -68
- package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
- package/dist/src/commands/furnace/rename-dry-run.js +0 -127
- package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
- package/dist/src/commands/furnace/rename-helpers.js +0 -85
- package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
- package/dist/src/commands/furnace/rename-registrations.js +0 -98
- package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
- package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
- package/dist/src/commands/furnace/rename.d.ts +0 -6
- package/dist/src/commands/furnace/rename.js +0 -400
- package/dist/src/commands/furnace/scan.d.ts +0 -14
- package/dist/src/commands/furnace/scan.js +0 -192
- package/dist/src/commands/furnace/status.d.ts +0 -7
- package/dist/src/commands/furnace/status.js +0 -209
- package/dist/src/commands/furnace/sync.d.ts +0 -12
- package/dist/src/commands/furnace/sync.js +0 -145
- package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
- package/dist/src/commands/furnace/test-file-name.js +0 -39
- package/dist/src/commands/furnace/validate-report.d.ts +0 -45
- package/dist/src/commands/furnace/validate-report.js +0 -91
- package/dist/src/commands/furnace/validate.d.ts +0 -8
- package/dist/src/commands/furnace/validate.js +0 -309
- package/dist/src/commands/furnace/validation-output.d.ts +0 -47
- package/dist/src/commands/furnace/validation-output.js +0 -161
- package/dist/src/commands/import.d.ts +0 -11
- package/dist/src/commands/lint-per-patch.d.ts +0 -10
- package/dist/src/commands/lint-per-patch.js +0 -428
- package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
- package/dist/src/commands/lint-per-run-checkjs.js +0 -102
- package/dist/src/commands/lint-report.d.ts +0 -25
- package/dist/src/commands/lint-report.js +0 -76
- package/dist/src/commands/lint.d.ts +0 -47
- package/dist/src/commands/manifest.d.ts +0 -38
- package/dist/src/commands/manifest.js +0 -68
- package/dist/src/commands/package.d.ts +0 -11
- package/dist/src/commands/park.d.ts +0 -22
- package/dist/src/commands/park.js +0 -232
- package/dist/src/commands/patch/compact.d.ts +0 -28
- package/dist/src/commands/patch/compact.js +0 -208
- package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
- package/dist/src/commands/patch/delete-gap-notice.js +0 -48
- package/dist/src/commands/patch/delete.d.ts +0 -28
- package/dist/src/commands/patch/delete.js +0 -131
- package/dist/src/commands/patch/entry-projection.d.ts +0 -13
- package/dist/src/commands/patch/entry-projection.js +0 -24
- package/dist/src/commands/patch/index.d.ts +0 -16
- package/dist/src/commands/patch/index.js +0 -52
- package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
- package/dist/src/commands/patch/lint-ignore-from.js +0 -141
- package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
- package/dist/src/commands/patch/lint-ignore.js +0 -261
- package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
- package/dist/src/commands/patch/move-files-adopt.js +0 -65
- package/dist/src/commands/patch/move-files-create.d.ts +0 -19
- package/dist/src/commands/patch/move-files-create.js +0 -187
- package/dist/src/commands/patch/move-files-into.d.ts +0 -65
- package/dist/src/commands/patch/move-files-into.js +0 -325
- package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
- package/dist/src/commands/patch/move-files-retire.js +0 -91
- package/dist/src/commands/patch/move-files.d.ts +0 -28
- package/dist/src/commands/patch/move-files.js +0 -224
- package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
- package/dist/src/commands/patch/move-size-tier.js +0 -66
- package/dist/src/commands/patch/patch-context.d.ts +0 -40
- package/dist/src/commands/patch/patch-context.js +0 -51
- package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
- package/dist/src/commands/patch/removal-created-files.js +0 -83
- package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
- package/dist/src/commands/patch/removal-dependents.js +0 -133
- package/dist/src/commands/patch/rename.d.ts +0 -35
- package/dist/src/commands/patch/rename.js +0 -378
- package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
- package/dist/src/commands/patch/reorder-projection.js +0 -49
- package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
- package/dist/src/commands/patch/reorder-shift.js +0 -307
- package/dist/src/commands/patch/reorder.d.ts +0 -34
- package/dist/src/commands/patch/reorder.js +0 -375
- package/dist/src/commands/patch/reserve.d.ts +0 -33
- package/dist/src/commands/patch/reserve.js +0 -152
- package/dist/src/commands/patch/retire.d.ts +0 -34
- package/dist/src/commands/patch/retire.js +0 -133
- package/dist/src/commands/patch/split-plan.d.ts +0 -125
- package/dist/src/commands/patch/split-plan.js +0 -313
- package/dist/src/commands/patch/split-staged.d.ts +0 -108
- package/dist/src/commands/patch/split-staged.js +0 -202
- package/dist/src/commands/patch/split.d.ts +0 -43
- package/dist/src/commands/patch/split.js +0 -367
- package/dist/src/commands/patch/stage.d.ts +0 -34
- package/dist/src/commands/patch/stage.js +0 -153
- package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
- package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
- package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
- package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
- package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
- package/dist/src/commands/patch/staged-dependency-from.js +0 -114
- package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
- package/dist/src/commands/patch/staged-dependency-remove.js +0 -117
- package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -15
- package/dist/src/commands/patch/staged-dependency-validate.js +0 -49
- package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
- package/dist/src/commands/patch/staged-dependency.js +0 -248
- package/dist/src/commands/patch/tier.d.ts +0 -34
- package/dist/src/commands/patch/tier.js +0 -125
- package/dist/src/commands/patch-rename-map.d.ts +0 -30
- package/dist/src/commands/patch-rename-map.js +0 -54
- package/dist/src/commands/pending-resolution.d.ts +0 -15
- package/dist/src/commands/pending-resolution.js +0 -25
- package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
- package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
- package/dist/src/commands/re-export-adjacent.d.ts +0 -111
- package/dist/src/commands/re-export-adjacent.js +0 -267
- package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
- package/dist/src/commands/re-export-bulk-scan.js +0 -233
- package/dist/src/commands/re-export-drift.d.ts +0 -110
- package/dist/src/commands/re-export-drift.js +0 -358
- package/dist/src/commands/re-export-files.d.ts +0 -15
- package/dist/src/commands/re-export-files.js +0 -307
- package/dist/src/commands/re-export-hunks.d.ts +0 -35
- package/dist/src/commands/re-export-hunks.js +0 -220
- package/dist/src/commands/re-export-lint.d.ts +0 -137
- package/dist/src/commands/re-export-lint.js +0 -303
- package/dist/src/commands/re-export-options.d.ts +0 -29
- package/dist/src/commands/re-export-options.js +0 -191
- package/dist/src/commands/re-export-preflight.d.ts +0 -23
- package/dist/src/commands/re-export-preflight.js +0 -159
- package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
- package/dist/src/commands/re-export-purity-scope.js +0 -137
- package/dist/src/commands/re-export-register.d.ts +0 -12
- package/dist/src/commands/re-export-register.js +0 -99
- package/dist/src/commands/re-export-removed.d.ts +0 -15
- package/dist/src/commands/re-export-removed.js +0 -94
- package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
- package/dist/src/commands/re-export-retired-declarations.js +0 -113
- package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
- package/dist/src/commands/re-export-scan-owner.js +0 -116
- package/dist/src/commands/re-export-scan.d.ts +0 -72
- package/dist/src/commands/re-export-scan.js +0 -265
- package/dist/src/commands/re-export-single.d.ts +0 -39
- package/dist/src/commands/re-export-single.js +0 -388
- package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
- package/dist/src/commands/re-export-stale-registrations.js +0 -106
- package/dist/src/commands/re-export-summary.d.ts +0 -28
- package/dist/src/commands/re-export-summary.js +0 -36
- package/dist/src/commands/re-export.d.ts +0 -8
- package/dist/src/commands/rebase/abort.d.ts +0 -7
- package/dist/src/commands/rebase/abort.js +0 -67
- package/dist/src/commands/rebase/confirm.d.ts +0 -42
- package/dist/src/commands/rebase/confirm.js +0 -36
- package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
- package/dist/src/commands/rebase/conflict-summary.js +0 -37
- package/dist/src/commands/rebase/continue.d.ts +0 -7
- package/dist/src/commands/rebase/continue.js +0 -119
- package/dist/src/commands/rebase/index.d.ts +0 -22
- package/dist/src/commands/rebase/index.js +0 -209
- package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
- package/dist/src/commands/rebase/patch-loop.js +0 -289
- package/dist/src/commands/rebase/summary.d.ts +0 -8
- package/dist/src/commands/rebase/summary.js +0 -47
- package/dist/src/commands/register.d.ts +0 -13
- package/dist/src/commands/reset.d.ts +0 -11
- package/dist/src/commands/resolve.d.ts +0 -36
- package/dist/src/commands/run.d.ts +0 -10
- package/dist/src/commands/setup-support.d.ts +0 -35
- package/dist/src/commands/setup-support.js +0 -386
- package/dist/src/commands/setup.d.ts +0 -11
- package/dist/src/commands/source.d.ts +0 -9
- package/dist/src/commands/source.js +0 -120
- package/dist/src/commands/status-check.d.ts +0 -87
- package/dist/src/commands/status-check.js +0 -161
- package/dist/src/commands/status-json.d.ts +0 -45
- package/dist/src/commands/status-json.js +0 -97
- package/dist/src/commands/status-output.d.ts +0 -23
- package/dist/src/commands/status-output.js +0 -231
- package/dist/src/commands/status-ownership.d.ts +0 -54
- package/dist/src/commands/status-ownership.js +0 -59
- package/dist/src/commands/status-scope.d.ts +0 -37
- package/dist/src/commands/status-scope.js +0 -54
- package/dist/src/commands/status.d.ts +0 -11
- package/dist/src/commands/test-appdir.d.ts +0 -6
- package/dist/src/commands/test-appdir.js +0 -29
- package/dist/src/commands/test-browser-preflight.d.ts +0 -28
- package/dist/src/commands/test-browser-preflight.js +0 -197
- package/dist/src/commands/test-build-furnace.d.ts +0 -21
- package/dist/src/commands/test-build-furnace.js +0 -53
- package/dist/src/commands/test-build-phase.d.ts +0 -29
- package/dist/src/commands/test-build-phase.js +0 -290
- package/dist/src/commands/test-checkjs.d.ts +0 -3
- package/dist/src/commands/test-checkjs.js +0 -35
- package/dist/src/commands/test-control-restore.d.ts +0 -40
- package/dist/src/commands/test-control-restore.js +0 -86
- package/dist/src/commands/test-diagnose.d.ts +0 -23
- package/dist/src/commands/test-diagnose.js +0 -317
- package/dist/src/commands/test-dispatch.d.ts +0 -39
- package/dist/src/commands/test-dispatch.js +0 -281
- package/dist/src/commands/test-furnace-reach.d.ts +0 -37
- package/dist/src/commands/test-furnace-reach.js +0 -132
- package/dist/src/commands/test-harness-env.d.ts +0 -23
- package/dist/src/commands/test-harness-env.js +0 -81
- package/dist/src/commands/test-harness-teardown.d.ts +0 -62
- package/dist/src/commands/test-harness-teardown.js +0 -128
- package/dist/src/commands/test-modes.d.ts +0 -57
- package/dist/src/commands/test-modes.js +0 -158
- package/dist/src/commands/test-multi-verdict.d.ts +0 -61
- package/dist/src/commands/test-multi-verdict.js +0 -112
- package/dist/src/commands/test-orchestrate.d.ts +0 -63
- package/dist/src/commands/test-orchestrate.js +0 -274
- package/dist/src/commands/test-perf-scope.d.ts +0 -50
- package/dist/src/commands/test-perf-scope.js +0 -138
- package/dist/src/commands/test-prelock.d.ts +0 -61
- package/dist/src/commands/test-prelock.js +0 -301
- package/dist/src/commands/test-register.d.ts +0 -4
- package/dist/src/commands/test-register.js +0 -181
- package/dist/src/commands/test-results.d.ts +0 -71
- package/dist/src/commands/test-results.js +0 -79
- package/dist/src/commands/test-run.d.ts +0 -89
- package/dist/src/commands/test-run.js +0 -251
- package/dist/src/commands/test-shards.d.ts +0 -114
- package/dist/src/commands/test-shards.js +0 -272
- package/dist/src/commands/test-stale-gate.d.ts +0 -52
- package/dist/src/commands/test-stale-gate.js +0 -165
- package/dist/src/commands/test-verdict.d.ts +0 -92
- package/dist/src/commands/test-verdict.js +0 -162
- package/dist/src/commands/test.d.ts +0 -22
- package/dist/src/commands/token-coverage.d.ts +0 -5
- package/dist/src/commands/token-coverage.js +0 -170
- package/dist/src/commands/token-lint.d.ts +0 -14
- package/dist/src/commands/token-lint.js +0 -151
- package/dist/src/commands/token-list.d.ts +0 -26
- package/dist/src/commands/token-list.js +0 -153
- package/dist/src/commands/token.d.ts +0 -14
- package/dist/src/commands/tree.d.ts +0 -19
- package/dist/src/commands/tree.js +0 -341
- package/dist/src/commands/typecheck.d.ts +0 -56
- package/dist/src/commands/verify-scope.d.ts +0 -28
- package/dist/src/commands/verify-scope.js +0 -67
- package/dist/src/commands/verify.d.ts +0 -58
- package/dist/src/commands/watch.d.ts +0 -9
- package/dist/src/commands/wire.d.ts +0 -13
- package/dist/src/core/ast-utils.d.ts +0 -73
- package/dist/src/core/ast-utils.js +0 -105
- package/dist/src/core/brand-validation.d.ts +0 -7
- package/dist/src/core/brand-validation.js +0 -14
- package/dist/src/core/branding.d.ts +0 -86
- package/dist/src/core/branding.js +0 -371
- package/dist/src/core/browser-wire.d.ts +0 -48
- package/dist/src/core/browser-wire.js +0 -133
- package/dist/src/core/build-audit-platform.d.ts +0 -67
- package/dist/src/core/build-audit-platform.js +0 -373
- package/dist/src/core/build-audit-registration.d.ts +0 -80
- package/dist/src/core/build-audit-registration.js +0 -181
- package/dist/src/core/build-audit-resolve.d.ts +0 -78
- package/dist/src/core/build-audit-resolve.js +0 -240
- package/dist/src/core/build-audit-skip.d.ts +0 -57
- package/dist/src/core/build-audit-skip.js +0 -112
- package/dist/src/core/build-audit-transforms.d.ts +0 -23
- package/dist/src/core/build-audit-transforms.js +0 -92
- package/dist/src/core/build-audit.d.ts +0 -93
- package/dist/src/core/build-audit.js +0 -633
- package/dist/src/core/build-baseline-types.d.ts +0 -225
- package/dist/src/core/build-baseline-types.js +0 -10
- package/dist/src/core/build-baseline-validate.d.ts +0 -32
- package/dist/src/core/build-baseline-validate.js +0 -173
- package/dist/src/core/build-baseline.d.ts +0 -103
- package/dist/src/core/build-baseline.js +0 -261
- package/dist/src/core/build-jar-escalation.d.ts +0 -61
- package/dist/src/core/build-jar-escalation.js +0 -125
- package/dist/src/core/build-overwrite-guard.d.ts +0 -92
- package/dist/src/core/build-overwrite-guard.js +0 -235
- package/dist/src/core/build-prepare.d.ts +0 -83
- package/dist/src/core/build-prepare.js +0 -414
- package/dist/src/core/build-run-record.d.ts +0 -74
- package/dist/src/core/build-run-record.js +0 -136
- package/dist/src/core/checkjs-support-heads.d.ts +0 -41
- package/dist/src/core/checkjs-support-heads.js +0 -104
- package/dist/src/core/component-source-guard.d.ts +0 -20
- package/dist/src/core/component-source-guard.js +0 -68
- package/dist/src/core/config-mutate.d.ts +0 -16
- package/dist/src/core/config-mutate.js +0 -76
- package/dist/src/core/config-paths.d.ts +0 -16
- package/dist/src/core/config-paths.js +0 -106
- package/dist/src/core/config-state.d.ts +0 -16
- package/dist/src/core/config-state.js +0 -141
- package/dist/src/core/config-validate-build-audit.d.ts +0 -8
- package/dist/src/core/config-validate-build-audit.js +0 -80
- package/dist/src/core/config-validate-check.d.ts +0 -8
- package/dist/src/core/config-validate-check.js +0 -219
- package/dist/src/core/config-validate-file-size.d.ts +0 -15
- package/dist/src/core/config-validate-file-size.js +0 -154
- package/dist/src/core/config-validate-history.d.ts +0 -11
- package/dist/src/core/config-validate-history.js +0 -38
- package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
- package/dist/src/core/config-validate-patch-policy.js +0 -274
- package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
- package/dist/src/core/config-validate-test-toolchains.js +0 -133
- package/dist/src/core/config-validate-token-scales.d.ts +0 -9
- package/dist/src/core/config-validate-token-scales.js +0 -92
- package/dist/src/core/config-validate.d.ts +0 -11
- package/dist/src/core/config-validate.js +0 -503
- package/dist/src/core/config.d.ts +0 -92
- package/dist/src/core/config.js +0 -169
- package/dist/src/core/coverage-dispatch.d.ts +0 -24
- package/dist/src/core/coverage-dispatch.js +0 -44
- package/dist/src/core/coverage-extend.d.ts +0 -89
- package/dist/src/core/coverage-extend.js +0 -239
- package/dist/src/core/coverage-records.d.ts +0 -107
- package/dist/src/core/coverage-records.js +0 -383
- package/dist/src/core/destructive.d.ts +0 -144
- package/dist/src/core/destructive.js +0 -182
- package/dist/src/core/diff-hunks.d.ts +0 -73
- package/dist/src/core/diff-hunks.js +0 -286
- package/dist/src/core/discard-baseline.d.ts +0 -60
- package/dist/src/core/discard-baseline.js +0 -247
- package/dist/src/core/display-state.d.ts +0 -50
- package/dist/src/core/display-state.js +0 -87
- package/dist/src/core/engine-changes.d.ts +0 -40
- package/dist/src/core/engine-changes.js +0 -95
- package/dist/src/core/engine-precondition.d.ts +0 -42
- package/dist/src/core/engine-precondition.js +0 -60
- package/dist/src/core/engine-session-lock.d.ts +0 -119
- package/dist/src/core/engine-session-lock.js +0 -374
- package/dist/src/core/engine-write-boundary.d.ts +0 -5
- package/dist/src/core/engine-write-boundary.js +0 -41
- package/dist/src/core/export-moved-code-shape.d.ts +0 -98
- package/dist/src/core/export-moved-code-shape.js +0 -220
- package/dist/src/core/file-lock-owner.d.ts +0 -103
- package/dist/src/core/file-lock-owner.js +0 -259
- package/dist/src/core/file-lock-queue.d.ts +0 -67
- package/dist/src/core/file-lock-queue.js +0 -219
- package/dist/src/core/file-lock-shared.d.ts +0 -57
- package/dist/src/core/file-lock-shared.js +0 -117
- package/dist/src/core/file-lock.d.ts +0 -143
- package/dist/src/core/file-lock.js +0 -531
- package/dist/src/core/firefox-archive.d.ts +0 -45
- package/dist/src/core/firefox-archive.js +0 -96
- package/dist/src/core/firefox-cache.d.ts +0 -30
- package/dist/src/core/firefox-cache.js +0 -248
- package/dist/src/core/firefox-download.d.ts +0 -30
- package/dist/src/core/firefox-download.js +0 -152
- package/dist/src/core/firefox-extract.d.ts +0 -42
- package/dist/src/core/firefox-extract.js +0 -248
- package/dist/src/core/firefox-ignorefile.d.ts +0 -17
- package/dist/src/core/firefox-ignorefile.js +0 -30
- package/dist/src/core/firefox.d.ts +0 -66
- package/dist/src/core/firefox.js +0 -121
- package/dist/src/core/forward-registrations.d.ts +0 -33
- package/dist/src/core/forward-registrations.js +0 -16
- package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
- package/dist/src/core/furnace-apply-dry-run.js +0 -99
- package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
- package/dist/src/core/furnace-apply-ftl.js +0 -210
- package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
- package/dist/src/core/furnace-apply-helpers.js +0 -436
- package/dist/src/core/furnace-apply-output.d.ts +0 -36
- package/dist/src/core/furnace-apply-output.js +0 -111
- package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -62
- package/dist/src/core/furnace-apply-overwrite-warn.js +0 -124
- package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
- package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
- package/dist/src/core/furnace-apply.d.ts +0 -49
- package/dist/src/core/furnace-apply.js +0 -465
- package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
- package/dist/src/core/furnace-checksum-utils.js +0 -54
- package/dist/src/core/furnace-composed-source.d.ts +0 -76
- package/dist/src/core/furnace-composed-source.js +0 -167
- package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
- package/dist/src/core/furnace-config-array-utils.js +0 -26
- package/dist/src/core/furnace-config-custom.d.ts +0 -15
- package/dist/src/core/furnace-config-custom.js +0 -73
- package/dist/src/core/furnace-config-order.d.ts +0 -8
- package/dist/src/core/furnace-config-order.js +0 -90
- package/dist/src/core/furnace-config-tokens.d.ts +0 -17
- package/dist/src/core/furnace-config-tokens.js +0 -42
- package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
- package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
- package/dist/src/core/furnace-config-validate.d.ts +0 -32
- package/dist/src/core/furnace-config-validate.js +0 -146
- package/dist/src/core/furnace-config.d.ts +0 -139
- package/dist/src/core/furnace-config.js +0 -511
- package/dist/src/core/furnace-constants.d.ts +0 -79
- package/dist/src/core/furnace-constants.js +0 -123
- package/dist/src/core/furnace-css-fragments.d.ts +0 -96
- package/dist/src/core/furnace-css-fragments.js +0 -279
- package/dist/src/core/furnace-dir-entry.d.ts +0 -20
- package/dist/src/core/furnace-dir-entry.js +0 -21
- package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
- package/dist/src/core/furnace-fragment-includers.js +0 -122
- package/dist/src/core/furnace-graph-utils.d.ts +0 -11
- package/dist/src/core/furnace-graph-utils.js +0 -93
- package/dist/src/core/furnace-jsconfig.d.ts +0 -61
- package/dist/src/core/furnace-jsconfig.js +0 -208
- package/dist/src/core/furnace-marker.d.ts +0 -15
- package/dist/src/core/furnace-marker.js +0 -21
- package/dist/src/core/furnace-operation.d.ts +0 -195
- package/dist/src/core/furnace-operation.js +0 -444
- package/dist/src/core/furnace-precondition.d.ts +0 -61
- package/dist/src/core/furnace-precondition.js +0 -67
- package/dist/src/core/furnace-refresh.d.ts +0 -28
- package/dist/src/core/furnace-refresh.js +0 -125
- package/dist/src/core/furnace-registration-ast.d.ts +0 -53
- package/dist/src/core/furnace-registration-ast.js +0 -402
- package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
- package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
- package/dist/src/core/furnace-registration-remove.d.ts +0 -56
- package/dist/src/core/furnace-registration-remove.js +0 -260
- package/dist/src/core/furnace-registration-rename.d.ts +0 -26
- package/dist/src/core/furnace-registration-rename.js +0 -77
- package/dist/src/core/furnace-registration-validate.d.ts +0 -53
- package/dist/src/core/furnace-registration-validate.js +0 -110
- package/dist/src/core/furnace-registration.d.ts +0 -112
- package/dist/src/core/furnace-registration.js +0 -348
- package/dist/src/core/furnace-rollback.d.ts +0 -48
- package/dist/src/core/furnace-rollback.js +0 -170
- package/dist/src/core/furnace-scanner.d.ts +0 -47
- package/dist/src/core/furnace-scanner.js +0 -236
- package/dist/src/core/furnace-stale-export.d.ts +0 -60
- package/dist/src/core/furnace-stale-export.js +0 -125
- package/dist/src/core/furnace-staleness.d.ts +0 -24
- package/dist/src/core/furnace-staleness.js +0 -67
- package/dist/src/core/furnace-state-persist.d.ts +0 -68
- package/dist/src/core/furnace-state-persist.js +0 -116
- package/dist/src/core/furnace-step-errors.d.ts +0 -23
- package/dist/src/core/furnace-step-errors.js +0 -25
- package/dist/src/core/furnace-stories.d.ts +0 -37
- package/dist/src/core/furnace-stories.js +0 -186
- package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
- package/dist/src/core/furnace-validate-accessibility.js +0 -417
- package/dist/src/core/furnace-validate-checks.d.ts +0 -4
- package/dist/src/core/furnace-validate-checks.js +0 -6
- package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
- package/dist/src/core/furnace-validate-compatibility.js +0 -295
- package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
- package/dist/src/core/furnace-validate-exceptions.js +0 -98
- package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
- package/dist/src/core/furnace-validate-helpers.js +0 -4
- package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
- package/dist/src/core/furnace-validate-icon-button.js +0 -78
- package/dist/src/core/furnace-validate-registration.d.ts +0 -67
- package/dist/src/core/furnace-validate-registration.js +0 -487
- package/dist/src/core/furnace-validate-structure.d.ts +0 -22
- package/dist/src/core/furnace-validate-structure.js +0 -122
- package/dist/src/core/furnace-validate.d.ts +0 -41
- package/dist/src/core/furnace-validate.js +0 -302
- package/dist/src/core/furnace-version-drift.d.ts +0 -57
- package/dist/src/core/furnace-version-drift.js +0 -102
- package/dist/src/core/gecko-dom-types.d.ts +0 -2
- package/dist/src/core/gecko-dom-types.js +0 -17
- package/dist/src/core/git-base.d.ts +0 -101
- package/dist/src/core/git-base.js +0 -162
- package/dist/src/core/git-diff-new-file.d.ts +0 -40
- package/dist/src/core/git-diff-new-file.js +0 -118
- package/dist/src/core/git-diff.d.ts +0 -82
- package/dist/src/core/git-diff.js +0 -539
- package/dist/src/core/git-file-ops.d.ts +0 -108
- package/dist/src/core/git-file-ops.js +0 -280
- package/dist/src/core/git-readonly-index.d.ts +0 -91
- package/dist/src/core/git-readonly-index.js +0 -177
- package/dist/src/core/git-status.d.ts +0 -84
- package/dist/src/core/git-status.js +0 -208
- package/dist/src/core/git.d.ts +0 -114
- package/dist/src/core/git.js +0 -540
- package/dist/src/core/harness-helper-pids.d.ts +0 -98
- package/dist/src/core/harness-helper-pids.js +0 -240
- package/dist/src/core/harness-orphans.d.ts +0 -118
- package/dist/src/core/harness-orphans.js +0 -268
- package/dist/src/core/harness-port-fallback.d.ts +0 -60
- package/dist/src/core/harness-port-fallback.js +0 -96
- package/dist/src/core/harness-port-reservation.d.ts +0 -60
- package/dist/src/core/harness-port-reservation.js +0 -122
- package/dist/src/core/history-log-file.d.ts +0 -61
- package/dist/src/core/history-log-file.js +0 -164
- package/dist/src/core/history-log.d.ts +0 -20
- package/dist/src/core/history-log.js +0 -30
- package/dist/src/core/json-preserving-edit.d.ts +0 -22
- package/dist/src/core/json-preserving-edit.js +0 -199
- package/dist/src/core/launchable-build.d.ts +0 -39
- package/dist/src/core/launchable-build.js +0 -85
- package/dist/src/core/license-headers.d.ts +0 -103
- package/dist/src/core/license-headers.js +0 -318
- package/dist/src/core/line-prefixer.d.ts +0 -18
- package/dist/src/core/line-prefixer.js +0 -34
- package/dist/src/core/lit-template-regions.d.ts +0 -4
- package/dist/src/core/lit-template-regions.js +0 -50
- package/dist/src/core/mach-build-artifacts.d.ts +0 -176
- package/dist/src/core/mach-build-artifacts.js +0 -436
- package/dist/src/core/mach-error-hints.d.ts +0 -24
- package/dist/src/core/mach-error-hints.js +0 -135
- package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
- package/dist/src/core/mach-known-noise-filter.js +0 -257
- package/dist/src/core/mach-mozconfig.d.ts +0 -57
- package/dist/src/core/mach-mozconfig.js +0 -166
- package/dist/src/core/mach-python.d.ts +0 -19
- package/dist/src/core/mach-python.js +0 -131
- package/dist/src/core/mach-resource-shim.d.ts +0 -107
- package/dist/src/core/mach-resource-shim.js +0 -640
- package/dist/src/core/mach.d.ts +0 -284
- package/dist/src/core/mach.js +0 -445
- package/dist/src/core/marionette-port.d.ts +0 -153
- package/dist/src/core/marionette-port.js +0 -474
- package/dist/src/core/marionette-preflight.d.ts +0 -58
- package/dist/src/core/marionette-preflight.js +0 -332
- package/dist/src/core/markdown-table.d.ts +0 -104
- package/dist/src/core/markdown-table.js +0 -265
- package/dist/src/core/mochitest-server-port.d.ts +0 -81
- package/dist/src/core/mochitest-server-port.js +0 -175
- package/dist/src/core/module-resolution-preflight.d.ts +0 -65
- package/dist/src/core/module-resolution-preflight.js +0 -171
- package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
- package/dist/src/core/moz-manifest-helpers.js +0 -163
- package/dist/src/core/moz-manifest-register.d.ts +0 -19
- package/dist/src/core/moz-manifest-register.js +0 -51
- package/dist/src/core/moz-manifest-rules.d.ts +0 -58
- package/dist/src/core/moz-manifest-rules.js +0 -264
- package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
- package/dist/src/core/moz-manifest-tokenizers.js +0 -108
- package/dist/src/core/negative-control-compiled.d.ts +0 -46
- package/dist/src/core/negative-control-compiled.js +0 -109
- package/dist/src/core/negative-control-diff.d.ts +0 -51
- package/dist/src/core/negative-control-diff.js +0 -204
- package/dist/src/core/negative-control.d.ts +0 -150
- package/dist/src/core/negative-control.js +0 -399
- package/dist/src/core/objdir-install-manifests.d.ts +0 -73
- package/dist/src/core/objdir-install-manifests.js +0 -226
- package/dist/src/core/objdir-maintenance.d.ts +0 -10
- package/dist/src/core/objdir-maintenance.js +0 -167
- package/dist/src/core/ownership-table.d.ts +0 -53
- package/dist/src/core/ownership-table.js +0 -159
- package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
- package/dist/src/core/parent-exit-watchdog.js +0 -69
- package/dist/src/core/park-store.d.ts +0 -63
- package/dist/src/core/park-store.js +0 -216
- package/dist/src/core/parser-fallback.d.ts +0 -50
- package/dist/src/core/parser-fallback.js +0 -61
- package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
- package/dist/src/core/patch-apply-fuzz.js +0 -125
- package/dist/src/core/patch-apply.d.ts +0 -88
- package/dist/src/core/patch-apply.js +0 -435
- package/dist/src/core/patch-export-coverage.d.ts +0 -49
- package/dist/src/core/patch-export-coverage.js +0 -73
- package/dist/src/core/patch-export-metadata.d.ts +0 -46
- package/dist/src/core/patch-export-metadata.js +0 -47
- package/dist/src/core/patch-export-update.d.ts +0 -55
- package/dist/src/core/patch-export-update.js +0 -95
- package/dist/src/core/patch-export.d.ts +0 -175
- package/dist/src/core/patch-export.js +0 -312
- package/dist/src/core/patch-files.d.ts +0 -17
- package/dist/src/core/patch-files.js +0 -59
- package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
- package/dist/src/core/patch-identifier-suggest.js +0 -135
- package/dist/src/core/patch-lint-binary.d.ts +0 -45
- package/dist/src/core/patch-lint-binary.js +0 -39
- package/dist/src/core/patch-lint-cache.d.ts +0 -78
- package/dist/src/core/patch-lint-cache.js +0 -233
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -39
- package/dist/src/core/patch-lint-checkjs-any-import.js +0 -63
- package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
- package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
- package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
- package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
- package/dist/src/core/patch-lint-checkjs.d.ts +0 -180
- package/dist/src/core/patch-lint-checkjs.js +0 -611
- package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
- package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
- package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
- package/dist/src/core/patch-lint-code-lines.js +0 -105
- package/dist/src/core/patch-lint-creators.d.ts +0 -26
- package/dist/src/core/patch-lint-creators.js +0 -45
- package/dist/src/core/patch-lint-cross.d.ts +0 -232
- package/dist/src/core/patch-lint-cross.js +0 -590
- package/dist/src/core/patch-lint-css.d.ts +0 -27
- package/dist/src/core/patch-lint-css.js +0 -228
- package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
- package/dist/src/core/patch-lint-diff-tag.js +0 -105
- package/dist/src/core/patch-lint-diff.d.ts +0 -42
- package/dist/src/core/patch-lint-diff.js +0 -100
- package/dist/src/core/patch-lint-file-size.d.ts +0 -57
- package/dist/src/core/patch-lint-file-size.js +0 -62
- package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
- package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
- package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
- package/dist/src/core/patch-lint-forward-registration.js +0 -266
- package/dist/src/core/patch-lint-ignore.d.ts +0 -196
- package/dist/src/core/patch-lint-ignore.js +0 -429
- package/dist/src/core/patch-lint-imports.d.ts +0 -5
- package/dist/src/core/patch-lint-imports.js +0 -67
- package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
- package/dist/src/core/patch-lint-jsdoc.js +0 -471
- package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
- package/dist/src/core/patch-lint-module-registration.js +0 -97
- package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
- package/dist/src/core/patch-lint-mozbuild.js +0 -192
- package/dist/src/core/patch-lint-observer.d.ts +0 -37
- package/dist/src/core/patch-lint-observer.js +0 -167
- package/dist/src/core/patch-lint-ownership.d.ts +0 -74
- package/dist/src/core/patch-lint-ownership.js +0 -125
- package/dist/src/core/patch-lint-prettier.d.ts +0 -34
- package/dist/src/core/patch-lint-prettier.js +0 -124
- package/dist/src/core/patch-lint-projection.d.ts +0 -25
- package/dist/src/core/patch-lint-projection.js +0 -43
- package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
- package/dist/src/core/patch-lint-queue-types.js +0 -12
- package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
- package/dist/src/core/patch-lint-size-thresholds.js +0 -110
- package/dist/src/core/patch-lint-size.d.ts +0 -117
- package/dist/src/core/patch-lint-size.js +0 -331
- package/dist/src/core/patch-lint-staged-registration.d.ts +0 -78
- package/dist/src/core/patch-lint-staged-registration.js +0 -110
- package/dist/src/core/patch-lint-token-scale.d.ts +0 -57
- package/dist/src/core/patch-lint-token-scale.js +0 -286
- package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
- package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
- package/dist/src/core/patch-lint.d.ts +0 -191
- package/dist/src/core/patch-lint.js +0 -529
- package/dist/src/core/patch-lock.d.ts +0 -40
- package/dist/src/core/patch-lock.js +0 -129
- package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
- package/dist/src/core/patch-manifest-consistency.js +0 -256
- package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
- package/dist/src/core/patch-manifest-files-affected.js +0 -77
- package/dist/src/core/patch-manifest-io.d.ts +0 -199
- package/dist/src/core/patch-manifest-io.js +0 -556
- package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
- package/dist/src/core/patch-manifest-key-order.js +0 -60
- package/dist/src/core/patch-manifest-query.d.ts +0 -55
- package/dist/src/core/patch-manifest-query.js +0 -139
- package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
- package/dist/src/core/patch-manifest-resolve.js +0 -35
- package/dist/src/core/patch-manifest-stage.d.ts +0 -46
- package/dist/src/core/patch-manifest-stage.js +0 -96
- package/dist/src/core/patch-manifest-validate.d.ts +0 -20
- package/dist/src/core/patch-manifest-validate.js +0 -240
- package/dist/src/core/patch-manifest.d.ts +0 -12
- package/dist/src/core/patch-manifest.js +0 -13
- package/dist/src/core/patch-order-legal.d.ts +0 -26
- package/dist/src/core/patch-order-legal.js +0 -88
- package/dist/src/core/patch-parse.d.ts +0 -161
- package/dist/src/core/patch-parse.js +0 -347
- package/dist/src/core/patch-policy-content.d.ts +0 -40
- package/dist/src/core/patch-policy-content.js +0 -216
- package/dist/src/core/patch-policy.d.ts +0 -80
- package/dist/src/core/patch-policy.js +0 -394
- package/dist/src/core/patch-registration-refs.d.ts +0 -41
- package/dist/src/core/patch-registration-refs.js +0 -107
- package/dist/src/core/patch-retired.d.ts +0 -57
- package/dist/src/core/patch-retired.js +0 -92
- package/dist/src/core/patch-source-metadata.d.ts +0 -6
- package/dist/src/core/patch-source-metadata.js +0 -12
- package/dist/src/core/patch-subset.d.ts +0 -18
- package/dist/src/core/patch-subset.js +0 -67
- package/dist/src/core/patch-transform.d.ts +0 -61
- package/dist/src/core/patch-transform.js +0 -198
- package/dist/src/core/preflight-wait.d.ts +0 -22
- package/dist/src/core/preflight-wait.js +0 -62
- package/dist/src/core/process-cpu-time.d.ts +0 -12
- package/dist/src/core/process-cpu-time.js +0 -52
- package/dist/src/core/process-owner.d.ts +0 -9
- package/dist/src/core/process-owner.js +0 -43
- package/dist/src/core/rebase-dry-run.d.ts +0 -48
- package/dist/src/core/rebase-dry-run.js +0 -105
- package/dist/src/core/rebase-from-version.d.ts +0 -46
- package/dist/src/core/rebase-from-version.js +0 -71
- package/dist/src/core/rebase-session.d.ts +0 -100
- package/dist/src/core/rebase-session.js +0 -174
- package/dist/src/core/register-browser-content.d.ts +0 -11
- package/dist/src/core/register-browser-content.js +0 -52
- package/dist/src/core/register-browser-test.d.ts +0 -18
- package/dist/src/core/register-browser-test.js +0 -66
- package/dist/src/core/register-module.d.ts +0 -11
- package/dist/src/core/register-module.js +0 -56
- package/dist/src/core/register-result.d.ts +0 -30
- package/dist/src/core/register-result.js +0 -8
- package/dist/src/core/register-scaffold.d.ts +0 -55
- package/dist/src/core/register-scaffold.js +0 -146
- package/dist/src/core/register-shared-css.d.ts +0 -36
- package/dist/src/core/register-shared-css.js +0 -112
- package/dist/src/core/register-xpcshell-test.d.ts +0 -50
- package/dist/src/core/register-xpcshell-test.js +0 -143
- package/dist/src/core/run-log-redact.d.ts +0 -38
- package/dist/src/core/run-log-redact.js +0 -69
- package/dist/src/core/run-log.d.ts +0 -97
- package/dist/src/core/run-log.js +0 -334
- package/dist/src/core/run-profile.d.ts +0 -57
- package/dist/src/core/run-profile.js +0 -137
- package/dist/src/core/shared-ftl.d.ts +0 -28
- package/dist/src/core/shared-ftl.js +0 -49
- package/dist/src/core/signal-critical.d.ts +0 -38
- package/dist/src/core/signal-critical.js +0 -62
- package/dist/src/core/smoke-patterns.d.ts +0 -81
- package/dist/src/core/smoke-patterns.js +0 -176
- package/dist/src/core/state-file.d.ts +0 -60
- package/dist/src/core/state-file.js +0 -71
- package/dist/src/core/status-binary.d.ts +0 -62
- package/dist/src/core/status-binary.js +0 -133
- package/dist/src/core/status-classify.d.ts +0 -96
- package/dist/src/core/status-classify.js +0 -244
- package/dist/src/core/test-changed-prefs.d.ts +0 -30
- package/dist/src/core/test-changed-prefs.js +0 -93
- package/dist/src/core/test-harness-crash.d.ts +0 -251
- package/dist/src/core/test-harness-crash.js +0 -780
- package/dist/src/core/test-harness-infra.d.ts +0 -32
- package/dist/src/core/test-harness-infra.js +0 -69
- package/dist/src/core/test-harness-output.d.ts +0 -45
- package/dist/src/core/test-harness-output.js +0 -119
- package/dist/src/core/test-harness-signature.d.ts +0 -57
- package/dist/src/core/test-harness-signature.js +0 -35
- package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
- package/dist/src/core/test-harness-verdict-notes.js +0 -48
- package/dist/src/core/test-host-state.d.ts +0 -14
- package/dist/src/core/test-host-state.js +0 -80
- package/dist/src/core/test-path-scope.d.ts +0 -59
- package/dist/src/core/test-path-scope.js +0 -147
- package/dist/src/core/test-profile-files.d.ts +0 -17
- package/dist/src/core/test-profile-files.js +0 -75
- package/dist/src/core/test-raw-log.d.ts +0 -66
- package/dist/src/core/test-raw-log.js +0 -122
- package/dist/src/core/test-run-completeness.d.ts +0 -97
- package/dist/src/core/test-run-completeness.js +0 -191
- package/dist/src/core/test-stale-check.d.ts +0 -213
- package/dist/src/core/test-stale-check.js +0 -396
- package/dist/src/core/test-stale-exempt.d.ts +0 -40
- package/dist/src/core/test-stale-exempt.js +0 -70
- package/dist/src/core/test-stale-symlink.d.ts +0 -12
- package/dist/src/core/test-stale-symlink.js +0 -39
- package/dist/src/core/test-stall-triage.d.ts +0 -51
- package/dist/src/core/test-stall-triage.js +0 -142
- package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
- package/dist/src/core/test-xpcshell-retry.js +0 -31
- package/dist/src/core/token-category.d.ts +0 -54
- package/dist/src/core/token-category.js +0 -299
- package/dist/src/core/token-coverage.d.ts +0 -12
- package/dist/src/core/token-coverage.js +0 -96
- package/dist/src/core/token-dark-mode.d.ts +0 -64
- package/dist/src/core/token-dark-mode.js +0 -186
- package/dist/src/core/token-docs.d.ts +0 -34
- package/dist/src/core/token-docs.js +0 -102
- package/dist/src/core/token-inventory.d.ts +0 -56
- package/dist/src/core/token-inventory.js +0 -114
- package/dist/src/core/token-lint.d.ts +0 -53
- package/dist/src/core/token-lint.js +0 -131
- package/dist/src/core/token-manager.d.ts +0 -87
- package/dist/src/core/token-manager.js +0 -407
- package/dist/src/core/token-scaffold.d.ts +0 -36
- package/dist/src/core/token-scaffold.js +0 -73
- package/dist/src/core/token-sibling-sheets.d.ts +0 -46
- package/dist/src/core/token-sibling-sheets.js +0 -119
- package/dist/src/core/token-variant.d.ts +0 -90
- package/dist/src/core/token-variant.js +0 -327
- package/dist/src/core/toolchain-preflight.d.ts +0 -90
- package/dist/src/core/toolchain-preflight.js +0 -251
- package/dist/src/core/tree-cow.d.ts +0 -16
- package/dist/src/core/tree-cow.js +0 -71
- package/dist/src/core/tree-guard.d.ts +0 -35
- package/dist/src/core/tree-guard.js +0 -194
- package/dist/src/core/tree-store.d.ts +0 -143
- package/dist/src/core/tree-store.js +0 -478
- package/dist/src/core/typecheck-shim.d.ts +0 -90
- package/dist/src/core/typecheck-shim.js +0 -507
- package/dist/src/core/typecheck.d.ts +0 -75
- package/dist/src/core/typecheck.js +0 -433
- package/dist/src/core/wire-destroy.d.ts +0 -25
- package/dist/src/core/wire-destroy.js +0 -126
- package/dist/src/core/wire-dom-fragment.d.ts +0 -44
- package/dist/src/core/wire-dom-fragment.js +0 -139
- package/dist/src/core/wire-init.d.ts +0 -28
- package/dist/src/core/wire-init.js +0 -219
- package/dist/src/core/wire-subscript.d.ts +0 -23
- package/dist/src/core/wire-subscript.js +0 -145
- package/dist/src/core/wire-utils.d.ts +0 -149
- package/dist/src/core/wire-utils.js +0 -338
- package/dist/src/core/xpcshell-appdir.d.ts +0 -157
- package/dist/src/core/xpcshell-appdir.js +0 -299
- package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
- package/dist/src/core/xpcshell-profile-dir.js +0 -45
- package/dist/src/errors/base.d.ts +0 -217
- package/dist/src/errors/base.js +0 -279
- package/dist/src/errors/build.d.ts +0 -92
- package/dist/src/errors/build.js +0 -166
- package/dist/src/errors/codes.d.ts +0 -74
- package/dist/src/errors/codes.js +0 -74
- package/dist/src/errors/config.d.ts +0 -17
- package/dist/src/errors/config.js +0 -39
- package/dist/src/errors/download.d.ts +0 -66
- package/dist/src/errors/download.js +0 -160
- package/dist/src/errors/furnace.d.ts +0 -20
- package/dist/src/errors/furnace.js +0 -28
- package/dist/src/errors/git.d.ts +0 -65
- package/dist/src/errors/git.js +0 -140
- package/dist/src/errors/patch.d.ts +0 -27
- package/dist/src/errors/patch.js +0 -52
- package/dist/src/errors/rebase.d.ts +0 -42
- package/dist/src/errors/rebase.js +0 -71
- package/dist/src/errors/run.d.ts +0 -16
- package/dist/src/errors/run.js +0 -22
- package/dist/src/index.d.ts +0 -42
- package/dist/src/index.js +0 -32
- package/dist/src/types/cli.d.ts +0 -14
- package/dist/src/types/commands/index.d.ts +0 -6
- package/dist/src/types/commands/index.js +0 -5
- package/dist/src/types/commands/options.d.ts +0 -1367
- package/dist/src/types/commands/options.js +0 -5
- package/dist/src/types/commands/patches.d.ts +0 -352
- package/dist/src/types/commands/patches.js +0 -5
- package/dist/src/types/commands/project.d.ts +0 -51
- package/dist/src/types/commands/project.js +0 -5
- package/dist/src/types/config.d.ts +0 -703
- package/dist/src/types/config.js +0 -15
- package/dist/src/types/furnace.d.ts +0 -415
- package/dist/src/types/furnace.js +0 -26
- package/dist/src/types/index.d.ts +0 -5
- package/dist/src/types/index.js +0 -5
- package/dist/src/types/json.d.ts +0 -22
- package/dist/src/types/json.js +0 -11
- package/dist/src/types/typecheck.d.ts +0 -51
- package/dist/src/types/typecheck.js +0 -14
- package/dist/src/utils/assert.d.ts +0 -34
- package/dist/src/utils/assert.js +0 -61
- package/dist/src/utils/build-info.d.ts +0 -30
- package/dist/src/utils/build-info.js +0 -99
- package/dist/src/utils/child-env.d.ts +0 -28
- package/dist/src/utils/child-env.js +0 -27
- package/dist/src/utils/concurrency.d.ts +0 -8
- package/dist/src/utils/concurrency.js +0 -32
- package/dist/src/utils/elapsed.d.ts +0 -2
- package/dist/src/utils/elapsed.js +0 -23
- package/dist/src/utils/errors.d.ts +0 -39
- package/dist/src/utils/errors.js +0 -67
- package/dist/src/utils/fs.d.ts +0 -113
- package/dist/src/utils/fs.js +0 -337
- package/dist/src/utils/hash.d.ts +0 -12
- package/dist/src/utils/hash.js +0 -16
- package/dist/src/utils/line-dispatch.d.ts +0 -15
- package/dist/src/utils/line-dispatch.js +0 -48
- package/dist/src/utils/logger.d.ts +0 -109
- package/dist/src/utils/logger.js +0 -270
- package/dist/src/utils/machine-output.d.ts +0 -12
- package/dist/src/utils/machine-output.js +0 -33
- package/dist/src/utils/options.d.ts +0 -155
- package/dist/src/utils/options.js +0 -312
- package/dist/src/utils/package-root.d.ts +0 -21
- package/dist/src/utils/package-root.js +0 -70
- package/dist/src/utils/parse.d.ts +0 -117
- package/dist/src/utils/parse.js +0 -214
- package/dist/src/utils/path-glob.d.ts +0 -15
- package/dist/src/utils/path-glob.js +0 -47
- package/dist/src/utils/paths.d.ts +0 -31
- package/dist/src/utils/paths.js +0 -80
- package/dist/src/utils/platform.d.ts +0 -9
- package/dist/src/utils/platform.js +0 -14
- package/dist/src/utils/process-group.d.ts +0 -42
- package/dist/src/utils/process-group.js +0 -190
- package/dist/src/utils/process-input.d.ts +0 -27
- package/dist/src/utils/process-input.js +0 -46
- package/dist/src/utils/process.d.ts +0 -293
- package/dist/src/utils/process.js +0 -593
- package/dist/src/utils/ps-duration.d.ts +0 -31
- package/dist/src/utils/ps-duration.js +0 -70
- package/dist/src/utils/regex.d.ts +0 -39
- package/dist/src/utils/regex.js +0 -109
- package/dist/src/utils/sleep.d.ts +0 -25
- package/dist/src/utils/sleep.js +0 -30
- package/dist/src/utils/stdio-drain.d.ts +0 -28
- package/dist/src/utils/stdio-drain.js +0 -54
- package/dist/src/utils/validation.d.ts +0 -182
- package/dist/src/utils/validation.js +0 -394
- package/docs/lifecycle-invariants.md +0 -523
- package/docs/run-logs.md +0 -122
- package/docs/verification-trees.md +0 -49
- /package/dist/src/{types/cli.js → cli/context.js} +0 -0
|
@@ -1,216 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Registration-only patch policy: the `patchPolicy` rules that need the
|
|
4
|
-
* patch bodies, not just the manifest.
|
|
5
|
-
*
|
|
6
|
-
* - `upstreamAllowlist`: which upstream files (files no patch in the queue
|
|
7
|
-
* creates) a non-reserved patch may modify.
|
|
8
|
-
* - `addOnly` allowlist entries: for shared registration files, a patch may
|
|
9
|
-
* only add lines, and each non-blank added line must carry the marker.
|
|
10
|
-
* - `scopeRules`: limit a class of patch (a category, or a filename pattern
|
|
11
|
-
* such as `-tests\.patch$`) to the files its globs name.
|
|
12
|
-
* - `verifyDocumentPaths`: every reserved allowlist entry's `adr` /
|
|
13
|
-
* `documentation` path must exist.
|
|
14
|
-
*
|
|
15
|
-
* Every rule is opt-in, and none can be evaluated from `patches.json`
|
|
16
|
-
* alone, which is why they live apart from `patch-policy.ts`: that module
|
|
17
|
-
* answers synchronously over a (possibly projected) manifest, this one reads
|
|
18
|
-
* patch bodies and the filesystem. `verify` and `lint --per-patch` run both.
|
|
19
|
-
*/
|
|
20
|
-
import { join } from 'node:path';
|
|
21
|
-
import { pathExists } from '../utils/fs.js';
|
|
22
|
-
import { matchesAnyGlob } from '../utils/path-glob.js';
|
|
23
|
-
import { buildPatchQueueContext } from './patch-lint-cross.js';
|
|
24
|
-
import { parseDiffSections } from './patch-parse.js';
|
|
25
|
-
/** True when the policy sets any rule this module evaluates. */
|
|
26
|
-
export function hasPatchPolicyContentRules(config) {
|
|
27
|
-
const cfg = config.patchPolicy;
|
|
28
|
-
return (cfg !== undefined &&
|
|
29
|
-
(cfg.upstreamAllowlist !== undefined ||
|
|
30
|
-
cfg.scopeRules !== undefined ||
|
|
31
|
-
cfg.verifyDocumentPaths === true));
|
|
32
|
-
}
|
|
33
|
-
function normalizeAllowEntry(entry) {
|
|
34
|
-
return typeof entry === 'string' ? { path: entry } : entry;
|
|
35
|
-
}
|
|
36
|
-
function isReservedOrder(cfg, order) {
|
|
37
|
-
return (cfg.reservedRanges ?? []).some((range) => order >= range.from && order <= range.to);
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* The upstream files a patch body edits, keyed by path: every section that
|
|
41
|
-
* does not create its file, minus paths some patch in the queue creates. A
|
|
42
|
-
* rename counts against both of its paths.
|
|
43
|
-
*/
|
|
44
|
-
function collectUpstreamEdits(diff, queueCreated) {
|
|
45
|
-
const edits = new Map();
|
|
46
|
-
for (const section of parseDiffSections(diff)) {
|
|
47
|
-
if (section.isNewFile)
|
|
48
|
-
continue;
|
|
49
|
-
const paths = new Set([section.sourcePath, section.targetPath]);
|
|
50
|
-
for (const path of paths) {
|
|
51
|
-
if (queueCreated.has(path))
|
|
52
|
-
continue;
|
|
53
|
-
const edit = edits.get(path) ?? { added: [], removed: [], deleted: false, binary: false };
|
|
54
|
-
edit.deleted ||= section.isDeletedFile;
|
|
55
|
-
edit.binary ||= section.isBinary;
|
|
56
|
-
for (const hunk of section.hunks) {
|
|
57
|
-
for (const line of hunk.lines) {
|
|
58
|
-
if (line.startsWith('+'))
|
|
59
|
-
edit.added.push(line.slice(1));
|
|
60
|
-
else if (line.startsWith('-'))
|
|
61
|
-
edit.removed.push(line.slice(1));
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
edits.set(path, edit);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
return edits;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Why an add-only file's edit breaks the mode, or undefined when it holds.
|
|
71
|
-
* Blank lines are free in both directions: they carry no registration.
|
|
72
|
-
*/
|
|
73
|
-
function addOnlyViolation(edit, marker) {
|
|
74
|
-
if (edit.deleted)
|
|
75
|
-
return 'deletes the file';
|
|
76
|
-
if (edit.binary)
|
|
77
|
-
return 'carries a binary change';
|
|
78
|
-
const removed = edit.removed.filter((line) => line.trim() !== '');
|
|
79
|
-
if (removed.length > 0) {
|
|
80
|
-
return `removes ${String(removed.length)} line(s), first: ${JSON.stringify(removed[0])}`;
|
|
81
|
-
}
|
|
82
|
-
const needle = marker.toLowerCase();
|
|
83
|
-
const unmarked = edit.added.filter((line) => line.trim() !== '' && !line.toLowerCase().includes(needle));
|
|
84
|
-
if (unmarked.length > 0) {
|
|
85
|
-
return (`adds ${String(unmarked.length)} line(s) without the "${marker}" marker, ` +
|
|
86
|
-
`first: ${JSON.stringify(unmarked[0])}`);
|
|
87
|
-
}
|
|
88
|
-
return undefined;
|
|
89
|
-
}
|
|
90
|
-
function evaluateUpstreamEdits(cfg, filename, edits, severity) {
|
|
91
|
-
const allowlist = (cfg.upstreamAllowlist ?? []).map(normalizeAllowEntry);
|
|
92
|
-
const issues = [];
|
|
93
|
-
const outside = [];
|
|
94
|
-
for (const [path, edit] of [...edits].sort(([a], [b]) => a.localeCompare(b))) {
|
|
95
|
-
const matches = allowlist.filter((entry) => matchesAnyGlob(path, [entry.path]));
|
|
96
|
-
if (matches.length === 0) {
|
|
97
|
-
outside.push(path);
|
|
98
|
-
continue;
|
|
99
|
-
}
|
|
100
|
-
// Strictest wins: any add-only match makes the file add-only.
|
|
101
|
-
const addOnly = matches.find((entry) => entry.addOnly === true);
|
|
102
|
-
if (!addOnly)
|
|
103
|
-
continue;
|
|
104
|
-
const marker = addOnly.marker ?? cfg.addOnlyMarker ?? '';
|
|
105
|
-
const violation = addOnlyViolation(edit, marker);
|
|
106
|
-
if (violation !== undefined) {
|
|
107
|
-
issues.push({
|
|
108
|
-
code: 'add-only',
|
|
109
|
-
filename,
|
|
110
|
-
severity,
|
|
111
|
-
message: `${filename} edits ${path}, which patchPolicy.upstreamAllowlist marks add-only ` +
|
|
112
|
-
`(added lines carrying "${marker}"), but ${violation}.`,
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
if (outside.length > 0) {
|
|
117
|
-
issues.push({
|
|
118
|
-
code: 'upstream-allowlist',
|
|
119
|
-
filename,
|
|
120
|
-
severity,
|
|
121
|
-
message: `${filename} modifies upstream file(s) outside patchPolicy.upstreamAllowlist: ` +
|
|
122
|
-
`${outside.join(', ')}. Move the change into a fork-owned file, or add a reviewed allowlist entry.`,
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
return issues;
|
|
126
|
-
}
|
|
127
|
-
function evaluateScopeRules(cfg, filename, category, files, severity) {
|
|
128
|
-
const issues = [];
|
|
129
|
-
for (const [index, rule] of (cfg.scopeRules ?? []).entries()) {
|
|
130
|
-
if (rule.category !== undefined && rule.category !== category)
|
|
131
|
-
continue;
|
|
132
|
-
if (rule.filenamePattern !== undefined && !new RegExp(rule.filenamePattern).test(filename)) {
|
|
133
|
-
continue;
|
|
134
|
-
}
|
|
135
|
-
const outside = files.filter((file) => !matchesAnyGlob(file, rule.files));
|
|
136
|
-
if (outside.length === 0)
|
|
137
|
-
continue;
|
|
138
|
-
issues.push({
|
|
139
|
-
code: 'scope',
|
|
140
|
-
filename,
|
|
141
|
-
severity,
|
|
142
|
-
message: `${filename} is scoped by patchPolicy.scopeRules[${String(index)}] to ` +
|
|
143
|
-
`${rule.files.join(', ')}, but touches: ${outside.join(', ')}. ` +
|
|
144
|
-
'Move those files to a patch of the class that owns them.',
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
return issues;
|
|
148
|
-
}
|
|
149
|
-
async function evaluateDocumentPaths(cfg, projectRoot, severity) {
|
|
150
|
-
if (cfg.verifyDocumentPaths !== true)
|
|
151
|
-
return [];
|
|
152
|
-
const issues = [];
|
|
153
|
-
for (const range of cfg.reservedRanges ?? []) {
|
|
154
|
-
for (const allowed of range.allowed) {
|
|
155
|
-
for (const [field, path] of [
|
|
156
|
-
['adr', allowed.adr],
|
|
157
|
-
['documentation', allowed.documentation],
|
|
158
|
-
]) {
|
|
159
|
-
if (path === undefined || (await pathExists(join(projectRoot, path))))
|
|
160
|
-
continue;
|
|
161
|
-
issues.push({
|
|
162
|
-
code: 'reserved-document-missing',
|
|
163
|
-
filename: allowed.filename,
|
|
164
|
-
severity,
|
|
165
|
-
message: `${allowed.filename}'s reserved-range allowlist entry names ${field} "${path}", ` +
|
|
166
|
-
'which does not exist. Restore the document or correct the path.',
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
return issues;
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* Evaluates the body-dependent `patchPolicy` rules over a patch queue.
|
|
175
|
-
*
|
|
176
|
-
* @param config - Project configuration
|
|
177
|
-
* @param projectRoot - Project root, for the document-path check
|
|
178
|
-
* @param manifest - Current manifest (category and order per patch)
|
|
179
|
-
* @param entries - Patch queue entries with their bodies
|
|
180
|
-
* @returns Findings, in the same shape {@link evaluatePatchPolicy} returns
|
|
181
|
-
*/
|
|
182
|
-
export async function evaluatePatchPolicyContent(config, projectRoot, manifest, entries) {
|
|
183
|
-
const cfg = config.patchPolicy;
|
|
184
|
-
if (!cfg || !hasPatchPolicyContentRules(config))
|
|
185
|
-
return [];
|
|
186
|
-
const severity = cfg.mutationMode === 'warn' ? 'warning' : 'error';
|
|
187
|
-
const queueCreated = new Set();
|
|
188
|
-
for (const entry of entries)
|
|
189
|
-
for (const file of entry.createdFiles)
|
|
190
|
-
queueCreated.add(file);
|
|
191
|
-
const bodies = new Map(entries.map((entry) => [entry.filename, entry.diff]));
|
|
192
|
-
const issues = [];
|
|
193
|
-
for (const patch of manifest.patches) {
|
|
194
|
-
const diff = bodies.get(patch.filename);
|
|
195
|
-
if (cfg.upstreamAllowlist !== undefined && diff !== undefined) {
|
|
196
|
-
if (!isReservedOrder(cfg, patch.order)) {
|
|
197
|
-
const edits = collectUpstreamEdits(diff, queueCreated);
|
|
198
|
-
issues.push(...evaluateUpstreamEdits(cfg, patch.filename, edits, severity));
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
issues.push(...evaluateScopeRules(cfg, patch.filename, patch.category, patch.filesAffected, severity));
|
|
202
|
-
}
|
|
203
|
-
issues.push(...(await evaluateDocumentPaths(cfg, projectRoot, severity)));
|
|
204
|
-
return issues;
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* {@link evaluatePatchPolicyContent} for a caller without a queue context
|
|
208
|
-
* in hand (`verify`): reads the patch bodies only when a body-dependent
|
|
209
|
-
* rule is configured.
|
|
210
|
-
*/
|
|
211
|
-
export async function evaluatePatchPolicyContentForQueue(config, projectRoot, patchesDir, manifest) {
|
|
212
|
-
if (!hasPatchPolicyContentRules(config))
|
|
213
|
-
return [];
|
|
214
|
-
const { entries } = await buildPatchQueueContext(patchesDir);
|
|
215
|
-
return evaluatePatchPolicyContent(config, projectRoot, manifest, entries);
|
|
216
|
-
}
|
|
@@ -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
|
-
}
|