@hominis/fireforge 0.55.0 → 0.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +233 -6
- package/README.md +51 -17
- package/dist/bin/fireforge.js +34 -129
- package/dist/build-info.json +4 -4
- package/dist/src/check/check.js +394 -0
- package/dist/src/check/gate.js +448 -0
- package/dist/src/check/index.js +10 -0
- package/dist/src/check/record.js +155 -0
- package/dist/src/cli/command.js +286 -0
- package/dist/src/cli/output.js +96 -0
- package/dist/src/cli/program.js +231 -0
- package/dist/src/cli/stdio.js +59 -0
- package/dist/src/cli/version.js +99 -0
- package/dist/src/commands/bootstrap.js +17 -102
- package/dist/src/commands/build.js +34 -456
- package/dist/src/commands/check.js +44 -157
- package/dist/src/commands/config.js +50 -226
- package/dist/src/commands/discard.js +38 -215
- package/dist/src/commands/doctor.js +29 -456
- package/dist/src/commands/download.js +35 -499
- package/dist/src/commands/export.js +42 -431
- package/dist/src/commands/furnace.js +220 -0
- package/dist/src/commands/gate.js +127 -0
- package/dist/src/commands/import.js +44 -445
- package/dist/src/commands/index.js +86 -0
- package/dist/src/commands/lint.js +44 -546
- package/dist/src/commands/merge-driver.js +56 -0
- package/dist/src/commands/migrate.js +75 -0
- package/dist/src/commands/override.js +43 -0
- package/dist/src/commands/package.js +48 -77
- package/dist/src/commands/patch.js +221 -0
- package/dist/src/commands/re-export.js +55 -359
- package/dist/src/commands/rebase.js +69 -0
- package/dist/src/commands/register.js +62 -103
- package/dist/src/commands/reset.js +28 -91
- package/dist/src/commands/resolve.js +20 -167
- package/dist/src/commands/restore.js +19 -0
- package/dist/src/commands/run.js +60 -382
- package/dist/src/commands/setup.js +78 -90
- package/dist/src/commands/status.js +44 -413
- package/dist/src/commands/test.js +97 -423
- package/dist/src/commands/token.js +185 -228
- package/dist/src/commands/typecheck.js +59 -241
- package/dist/src/commands/verify.js +28 -334
- package/dist/src/commands/version.js +14 -0
- package/dist/src/commands/watch.js +20 -218
- package/dist/src/commands/wire.js +60 -349
- package/dist/src/commands/workspace.js +117 -0
- package/dist/src/config/edit.js +237 -0
- package/dist/src/config/index.js +15 -0
- package/dist/src/config/load.js +59 -0
- package/dist/src/config/previous.js +404 -0
- package/dist/src/config/schema/build.js +63 -0
- package/dist/src/config/schema/check.js +113 -0
- package/dist/src/config/schema/common.js +71 -0
- package/dist/src/config/schema/export-queue.js +36 -0
- package/dist/src/config/schema/firefox.js +69 -0
- package/dist/src/config/schema/gate.js +199 -0
- package/dist/src/config/schema/identity.js +55 -0
- package/dist/src/config/schema/index.js +45 -0
- package/dist/src/config/schema/lint.js +297 -0
- package/dist/src/config/schema/policy.js +111 -0
- package/dist/src/config/schema/source.js +90 -0
- package/dist/src/config/schema/test.js +17 -0
- package/dist/src/config/schema/toolchains.js +17 -0
- package/dist/src/config/schema/typecheck.js +29 -0
- package/dist/src/config/schema/wire.js +15 -0
- package/dist/src/diff/apply.js +129 -0
- package/dist/src/diff/index.js +16 -0
- package/dist/src/diff/model.js +267 -0
- package/dist/src/diff/query.js +65 -0
- package/dist/src/doctor/index.js +240 -0
- package/dist/src/engine/archive.js +396 -0
- package/dist/src/engine/audit.js +66 -0
- package/dist/src/engine/build.js +150 -0
- package/dist/src/engine/hostLocks.js +66 -0
- package/dist/src/engine/index.js +26 -0
- package/dist/src/engine/installManifests.js +147 -0
- package/dist/src/engine/mach.js +97 -0
- package/dist/src/engine/machHints.js +80 -0
- package/dist/src/engine/mozconfig.js +110 -0
- package/dist/src/engine/objdir.js +124 -0
- package/dist/src/engine/package.js +169 -0
- package/dist/src/engine/pin.js +12 -0
- package/dist/src/engine/pool.js +423 -0
- package/dist/src/engine/pristine.js +281 -0
- package/dist/src/engine/python.js +68 -0
- package/dist/src/engine/resourceGuard.js +582 -0
- package/dist/src/engine/run.js +259 -0
- package/dist/src/engine/smoke.js +204 -0
- package/dist/src/engine/staleness.js +229 -0
- package/dist/src/engine/watch.js +82 -0
- package/dist/src/engine/workspace.js +85 -0
- package/dist/src/furnace/config.js +360 -0
- package/dist/src/furnace/deploy.js +414 -0
- package/dist/src/furnace/diff.js +59 -0
- package/dist/src/furnace/edit.js +64 -0
- package/dist/src/furnace/fragments.js +53 -0
- package/dist/src/furnace/index.js +19 -0
- package/dist/src/furnace/operations.js +283 -0
- package/dist/src/furnace/registration.js +220 -0
- package/dist/src/furnace/scaffold.js +311 -0
- package/dist/src/furnace/typing.js +252 -0
- package/dist/src/furnace/validate.js +662 -0
- package/dist/src/git/apply.js +129 -0
- package/dist/src/git/diff.js +143 -0
- package/dist/src/git/index.js +33 -0
- package/dist/src/git/objects.js +201 -0
- package/dist/src/git/refs.js +85 -0
- package/dist/src/git/repo.js +222 -0
- package/dist/src/git/run.js +242 -0
- package/dist/src/git/status.js +156 -0
- package/dist/src/kernel/errors.js +123 -0
- package/dist/src/kernel/fs.js +515 -0
- package/dist/src/kernel/glob.js +63 -0
- package/dist/src/kernel/hash.js +28 -0
- package/dist/src/kernel/journal.js +524 -0
- package/dist/src/kernel/json-edit.js +198 -0
- package/dist/src/kernel/json.js +101 -0
- package/dist/src/kernel/lock.js +589 -0
- package/dist/src/kernel/log.js +154 -0
- package/dist/src/kernel/process/identity.js +313 -0
- package/dist/src/kernel/process/index.js +8 -0
- package/dist/src/kernel/process/listing.js +128 -0
- package/dist/src/kernel/process/spawn.js +430 -0
- package/dist/src/kernel/process/tree.js +301 -0
- package/dist/src/kernel/schema.js +308 -0
- package/dist/src/kernel/signals.js +171 -0
- package/dist/src/kernel/text.js +151 -0
- package/dist/src/kernel/time.js +83 -0
- package/dist/src/kernel/tty.js +84 -0
- package/dist/src/lint/cache.js +77 -0
- package/dist/src/lint/checkjs.js +400 -0
- package/dist/src/lint/index.js +3 -0
- package/dist/src/lint/input.js +100 -0
- package/dist/src/lint/report.js +107 -0
- package/dist/src/lint/rule.js +41 -0
- package/dist/src/lint/rules/css.js +308 -0
- package/dist/src/lint/rules/javascript.js +299 -0
- package/dist/src/lint/rules/jsdoc.js +249 -0
- package/dist/src/lint/rules/license.js +93 -0
- package/dist/src/lint/rules/policy.js +201 -0
- package/dist/src/lint/rules/registration.js +264 -0
- package/dist/src/lint/rules/size.js +299 -0
- package/dist/src/lint/run.js +126 -0
- package/dist/src/lint/shim.js +323 -0
- package/dist/src/lint/typescript.js +186 -0
- package/dist/src/lint/waivers.js +93 -0
- package/dist/src/mode/changes.js +264 -0
- package/dist/src/mode/diagnose.js +173 -0
- package/dist/src/mode/export.js +147 -0
- package/dist/src/mode/index.js +23 -0
- package/dist/src/mode/migrate.js +181 -0
- package/dist/src/mode/previousWaivers.js +206 -0
- package/dist/src/mode/pristine.js +61 -0
- package/dist/src/mode/rebase.js +197 -0
- package/dist/src/mode/report.js +157 -0
- package/dist/src/mode/setup.js +103 -0
- package/dist/src/mode/tracked.js +116 -0
- package/dist/src/mode/upgrade.js +281 -0
- package/dist/src/mode/watch.js +83 -0
- package/dist/src/mode/workspace.js +189 -0
- package/dist/src/mozbuild/index.js +6 -0
- package/dist/src/mozbuild/jar.js +366 -0
- package/dist/src/mozbuild/mozbuild.js +321 -0
- package/dist/src/mozbuild/paths.js +96 -0
- package/dist/src/mozbuild/references.js +39 -0
- package/dist/src/mozbuild/testManifest.js +343 -0
- package/dist/src/mozbuild/text.js +142 -0
- package/dist/src/project/changes.js +145 -0
- package/dist/src/project/checkout.js +66 -0
- package/dist/src/project/index.js +11 -0
- package/dist/src/project/license.js +119 -0
- package/dist/src/project/project.js +111 -0
- package/dist/src/project/state.js +85 -0
- package/dist/src/project/tracked.js +1 -0
- package/dist/src/queue/apply.js +270 -0
- package/dist/src/queue/attribute.js +159 -0
- package/dist/src/queue/baseline.js +409 -0
- package/dist/src/queue/capture.js +298 -0
- package/dist/src/queue/changes.js +234 -0
- package/dist/src/queue/index.js +50 -0
- package/dist/src/queue/manifest.js +341 -0
- package/dist/src/queue/operations.js +454 -0
- package/dist/src/queue/placement.js +220 -0
- package/dist/src/queue/queue.js +359 -0
- package/dist/src/queue/restore.js +103 -0
- package/dist/src/queue/session.js +685 -0
- package/dist/src/queue/status.js +137 -0
- package/dist/src/register/files.js +39 -0
- package/dist/src/register/index.js +8 -0
- package/dist/src/register/js.js +217 -0
- package/dist/src/register/register.js +359 -0
- package/dist/src/register/wire.js +146 -0
- package/dist/src/source/adopt.js +99 -0
- package/dist/src/source/changes.js +132 -0
- package/dist/src/source/edit.js +278 -0
- package/dist/src/source/export.js +70 -0
- package/dist/src/source/groups.js +131 -0
- package/dist/src/source/index.js +20 -0
- package/dist/src/source/materialize.js +382 -0
- package/dist/src/source/merge.js +255 -0
- package/dist/src/source/objects.js +102 -0
- package/dist/src/source/previous.js +166 -0
- package/dist/src/source/records.js +138 -0
- package/dist/src/source/refresh.js +264 -0
- package/dist/src/source/tree.js +337 -0
- package/dist/src/syntax/css.js +215 -0
- package/dist/src/syntax/fragments.js +63 -0
- package/dist/src/syntax/index.js +10 -0
- package/dist/src/syntax/js.js +270 -0
- package/dist/src/test/classify.js +826 -0
- package/dist/src/test/control.js +236 -0
- package/dist/src/test/host.js +266 -0
- package/dist/src/test/index.js +11 -0
- package/dist/src/test/plan.js +347 -0
- package/dist/src/test/rawLog.js +138 -0
- package/dist/src/test/run.js +404 -0
- package/dist/src/test/verdict.js +420 -0
- package/dist/src/test/xpcshell.js +143 -0
- package/dist/src/tokens/add.js +304 -0
- package/dist/src/tokens/coverage.js +65 -0
- package/dist/src/tokens/css.js +58 -0
- package/dist/src/tokens/index.js +12 -0
- package/dist/src/tokens/lint.js +96 -0
- package/dist/src/tokens/model.js +118 -0
- package/dist/src/tokens/settings.js +87 -0
- package/dist/src/tokens/siblings.js +104 -0
- package/dist/src/typecheck/explain.js +123 -0
- package/dist/src/typecheck/index.js +8 -0
- package/dist/src/typecheck/typecheck.js +332 -0
- package/docs/README.md +23 -28
- package/docs/authoring.md +97 -0
- package/docs/configuration.md +307 -766
- package/docs/exit-codes.md +76 -94
- package/docs/furnace.md +111 -221
- package/docs/gate.md +205 -0
- package/docs/getting-started.md +165 -0
- package/docs/machine-output.md +201 -290
- package/docs/migrating.md +261 -0
- package/docs/patch-workflow.md +159 -723
- package/docs/quality.md +220 -0
- package/docs/source-workflow.md +228 -0
- package/docs/testing.md +101 -719
- package/docs/workspaces.md +187 -0
- package/package.json +22 -30
- package/templates/configs/common.mozconfig +8 -2
- package/templates/configs/darwin.mozconfig +6 -7
- package/templates/configs/linux.mozconfig +5 -8
- package/templates/configs/win32.mozconfig +3 -9
- package/dist/bin/fireforge.d.ts +0 -9
- package/dist/src/cli-usage-error.d.ts +0 -46
- package/dist/src/cli-usage-error.js +0 -81
- package/dist/src/cli.d.ts +0 -41
- package/dist/src/cli.js +0 -380
- package/dist/src/commands/bootstrap-checks.d.ts +0 -16
- package/dist/src/commands/bootstrap-checks.js +0 -66
- package/dist/src/commands/bootstrap.d.ts +0 -10
- package/dist/src/commands/build-prelock.d.ts +0 -20
- package/dist/src/commands/build-prelock.js +0 -50
- package/dist/src/commands/build.d.ts +0 -13
- package/dist/src/commands/check-report.d.ts +0 -41
- package/dist/src/commands/check-report.js +0 -98
- package/dist/src/commands/check-run.d.ts +0 -44
- package/dist/src/commands/check-run.js +0 -125
- package/dist/src/commands/check-steps.d.ts +0 -75
- package/dist/src/commands/check-steps.js +0 -200
- package/dist/src/commands/check.d.ts +0 -32
- package/dist/src/commands/config.d.ts +0 -13
- package/dist/src/commands/declarations-report.d.ts +0 -49
- package/dist/src/commands/declarations-report.js +0 -83
- package/dist/src/commands/destructive-decision.d.ts +0 -19
- package/dist/src/commands/destructive-decision.js +0 -31
- package/dist/src/commands/discard.d.ts +0 -12
- package/dist/src/commands/doctor-check-core.d.ts +0 -110
- package/dist/src/commands/doctor-check-core.js +0 -24
- package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
- package/dist/src/commands/doctor-engine-eslint.js +0 -17
- package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
- package/dist/src/commands/doctor-external-toolchains.js +0 -56
- package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
- package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
- package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
- package/dist/src/commands/doctor-furnace-jar.js +0 -44
- package/dist/src/commands/doctor-furnace.d.ts +0 -8
- package/dist/src/commands/doctor-furnace.js +0 -514
- package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
- package/dist/src/commands/doctor-macos-sdk.js +0 -158
- package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
- package/dist/src/commands/doctor-orphaned-harness.js +0 -98
- package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
- package/dist/src/commands/doctor-patch-manifest.js +0 -156
- package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
- package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
- package/dist/src/commands/doctor-source-pin.d.ts +0 -29
- package/dist/src/commands/doctor-source-pin.js +0 -91
- package/dist/src/commands/doctor-working-tree.d.ts +0 -27
- package/dist/src/commands/doctor-working-tree.js +0 -89
- package/dist/src/commands/doctor.d.ts +0 -49
- package/dist/src/commands/download.d.ts +0 -11
- package/dist/src/commands/export-adopt-check.d.ts +0 -37
- package/dist/src/commands/export-adopt-check.js +0 -97
- package/dist/src/commands/export-all.d.ts +0 -11
- package/dist/src/commands/export-all.js +0 -361
- package/dist/src/commands/export-flow.d.ts +0 -124
- package/dist/src/commands/export-flow.js +0 -423
- package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
- package/dist/src/commands/export-placement-conflicts.js +0 -75
- package/dist/src/commands/export-placement-gate.d.ts +0 -42
- package/dist/src/commands/export-placement-gate.js +0 -107
- package/dist/src/commands/export-placement-policy.d.ts +0 -22
- package/dist/src/commands/export-placement-policy.js +0 -54
- package/dist/src/commands/export-shared.d.ts +0 -152
- package/dist/src/commands/export-shared.js +0 -396
- package/dist/src/commands/export-staged-registration.d.ts +0 -46
- package/dist/src/commands/export-staged-registration.js +0 -91
- package/dist/src/commands/export.d.ts +0 -13
- package/dist/src/commands/forward-import-remedy.d.ts +0 -31
- package/dist/src/commands/forward-import-remedy.js +0 -62
- package/dist/src/commands/furnace/apply.d.ts +0 -8
- package/dist/src/commands/furnace/apply.js +0 -327
- package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
- package/dist/src/commands/furnace/authoring-config.js +0 -19
- package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
- package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
- package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
- package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
- package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
- package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
- package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
- package/dist/src/commands/furnace/chrome-doc.js +0 -365
- package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
- package/dist/src/commands/furnace/create-browser-test.js +0 -179
- package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
- package/dist/src/commands/furnace/create-dry-run.js +0 -107
- package/dist/src/commands/furnace/create-features.d.ts +0 -24
- package/dist/src/commands/furnace/create-features.js +0 -55
- package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
- package/dist/src/commands/furnace/create-mochikit.js +0 -75
- package/dist/src/commands/furnace/create-readback.d.ts +0 -22
- package/dist/src/commands/furnace/create-readback.js +0 -32
- package/dist/src/commands/furnace/create-templates.d.ts +0 -119
- package/dist/src/commands/furnace/create-templates.js +0 -283
- package/dist/src/commands/furnace/create-validation.d.ts +0 -6
- package/dist/src/commands/furnace/create-validation.js +0 -59
- package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
- package/dist/src/commands/furnace/create-xpcshell.js +0 -80
- package/dist/src/commands/furnace/create.d.ts +0 -24
- package/dist/src/commands/furnace/create.js +0 -407
- package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
- package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
- package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
- package/dist/src/commands/furnace/deploy-named.js +0 -107
- package/dist/src/commands/furnace/deploy.d.ts +0 -9
- package/dist/src/commands/furnace/deploy.js +0 -229
- package/dist/src/commands/furnace/diff.d.ts +0 -11
- package/dist/src/commands/furnace/diff.js +0 -238
- package/dist/src/commands/furnace/index.d.ts +0 -4
- package/dist/src/commands/furnace/index.js +0 -283
- package/dist/src/commands/furnace/init.d.ts +0 -11
- package/dist/src/commands/furnace/init.js +0 -287
- package/dist/src/commands/furnace/list.d.ts +0 -8
- package/dist/src/commands/furnace/list.js +0 -104
- package/dist/src/commands/furnace/override.d.ts +0 -16
- package/dist/src/commands/furnace/override.js +0 -454
- package/dist/src/commands/furnace/preview.d.ts +0 -19
- package/dist/src/commands/furnace/preview.js +0 -349
- package/dist/src/commands/furnace/refresh.d.ts +0 -10
- package/dist/src/commands/furnace/refresh.js +0 -303
- package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
- package/dist/src/commands/furnace/remove-mutations.js +0 -168
- package/dist/src/commands/furnace/remove-state.d.ts +0 -20
- package/dist/src/commands/furnace/remove-state.js +0 -60
- package/dist/src/commands/furnace/remove.d.ts +0 -8
- package/dist/src/commands/furnace/remove.js +0 -415
- package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
- package/dist/src/commands/furnace/rename-browser-test.js +0 -68
- package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
- package/dist/src/commands/furnace/rename-dry-run.js +0 -127
- package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
- package/dist/src/commands/furnace/rename-helpers.js +0 -85
- package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
- package/dist/src/commands/furnace/rename-registrations.js +0 -98
- package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
- package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
- package/dist/src/commands/furnace/rename.d.ts +0 -6
- package/dist/src/commands/furnace/rename.js +0 -400
- package/dist/src/commands/furnace/scan.d.ts +0 -14
- package/dist/src/commands/furnace/scan.js +0 -192
- package/dist/src/commands/furnace/status.d.ts +0 -7
- package/dist/src/commands/furnace/status.js +0 -209
- package/dist/src/commands/furnace/sync.d.ts +0 -12
- package/dist/src/commands/furnace/sync.js +0 -145
- package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
- package/dist/src/commands/furnace/test-file-name.js +0 -39
- package/dist/src/commands/furnace/validate-report.d.ts +0 -45
- package/dist/src/commands/furnace/validate-report.js +0 -91
- package/dist/src/commands/furnace/validate.d.ts +0 -8
- package/dist/src/commands/furnace/validate.js +0 -309
- package/dist/src/commands/furnace/validation-output.d.ts +0 -47
- package/dist/src/commands/furnace/validation-output.js +0 -161
- package/dist/src/commands/import.d.ts +0 -11
- package/dist/src/commands/lint-per-patch.d.ts +0 -10
- package/dist/src/commands/lint-per-patch.js +0 -428
- package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
- package/dist/src/commands/lint-per-run-checkjs.js +0 -102
- package/dist/src/commands/lint-report.d.ts +0 -25
- package/dist/src/commands/lint-report.js +0 -76
- package/dist/src/commands/lint.d.ts +0 -47
- package/dist/src/commands/manifest.d.ts +0 -38
- package/dist/src/commands/manifest.js +0 -68
- package/dist/src/commands/package.d.ts +0 -11
- package/dist/src/commands/park.d.ts +0 -22
- package/dist/src/commands/park.js +0 -232
- package/dist/src/commands/patch/body.d.ts +0 -29
- package/dist/src/commands/patch/body.js +0 -60
- package/dist/src/commands/patch/compact.d.ts +0 -28
- package/dist/src/commands/patch/compact.js +0 -208
- package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
- package/dist/src/commands/patch/delete-gap-notice.js +0 -48
- package/dist/src/commands/patch/delete.d.ts +0 -28
- package/dist/src/commands/patch/delete.js +0 -131
- package/dist/src/commands/patch/entry-projection.d.ts +0 -13
- package/dist/src/commands/patch/entry-projection.js +0 -24
- package/dist/src/commands/patch/index.d.ts +0 -16
- package/dist/src/commands/patch/index.js +0 -54
- package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
- package/dist/src/commands/patch/lint-ignore-from.js +0 -141
- package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
- package/dist/src/commands/patch/lint-ignore.js +0 -263
- package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
- package/dist/src/commands/patch/move-files-adopt.js +0 -65
- package/dist/src/commands/patch/move-files-create.d.ts +0 -19
- package/dist/src/commands/patch/move-files-create.js +0 -187
- package/dist/src/commands/patch/move-files-into.d.ts +0 -65
- package/dist/src/commands/patch/move-files-into.js +0 -325
- package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
- package/dist/src/commands/patch/move-files-retire.js +0 -91
- package/dist/src/commands/patch/move-files.d.ts +0 -28
- package/dist/src/commands/patch/move-files.js +0 -224
- package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
- package/dist/src/commands/patch/move-size-tier.js +0 -66
- package/dist/src/commands/patch/patch-context.d.ts +0 -40
- package/dist/src/commands/patch/patch-context.js +0 -51
- package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
- package/dist/src/commands/patch/removal-created-files.js +0 -83
- package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
- package/dist/src/commands/patch/removal-dependents.js +0 -133
- package/dist/src/commands/patch/rename.d.ts +0 -35
- package/dist/src/commands/patch/rename.js +0 -378
- package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
- package/dist/src/commands/patch/reorder-projection.js +0 -49
- package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
- package/dist/src/commands/patch/reorder-shift.js +0 -307
- package/dist/src/commands/patch/reorder.d.ts +0 -34
- package/dist/src/commands/patch/reorder.js +0 -375
- package/dist/src/commands/patch/reserve.d.ts +0 -33
- package/dist/src/commands/patch/reserve.js +0 -152
- package/dist/src/commands/patch/retire.d.ts +0 -34
- package/dist/src/commands/patch/retire.js +0 -133
- package/dist/src/commands/patch/split-plan.d.ts +0 -125
- package/dist/src/commands/patch/split-plan.js +0 -313
- package/dist/src/commands/patch/split-staged.d.ts +0 -108
- package/dist/src/commands/patch/split-staged.js +0 -202
- package/dist/src/commands/patch/split.d.ts +0 -43
- package/dist/src/commands/patch/split.js +0 -367
- package/dist/src/commands/patch/stage.d.ts +0 -34
- package/dist/src/commands/patch/stage.js +0 -153
- package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
- package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
- package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
- package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
- package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
- package/dist/src/commands/patch/staged-dependency-from.js +0 -114
- package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
- package/dist/src/commands/patch/staged-dependency-remove.js +0 -114
- package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -27
- package/dist/src/commands/patch/staged-dependency-validate.js +0 -78
- package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
- package/dist/src/commands/patch/staged-dependency.js +0 -251
- package/dist/src/commands/patch/tier.d.ts +0 -34
- package/dist/src/commands/patch/tier.js +0 -125
- package/dist/src/commands/patch-rename-map.d.ts +0 -30
- package/dist/src/commands/patch-rename-map.js +0 -54
- package/dist/src/commands/pending-resolution.d.ts +0 -15
- package/dist/src/commands/pending-resolution.js +0 -25
- package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
- package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
- package/dist/src/commands/re-export-adjacent.d.ts +0 -111
- package/dist/src/commands/re-export-adjacent.js +0 -285
- package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
- package/dist/src/commands/re-export-bulk-scan.js +0 -233
- package/dist/src/commands/re-export-drift.d.ts +0 -110
- package/dist/src/commands/re-export-drift.js +0 -358
- package/dist/src/commands/re-export-each.d.ts +0 -46
- package/dist/src/commands/re-export-each.js +0 -110
- package/dist/src/commands/re-export-files.d.ts +0 -15
- package/dist/src/commands/re-export-files.js +0 -307
- package/dist/src/commands/re-export-hunks.d.ts +0 -37
- package/dist/src/commands/re-export-hunks.js +0 -264
- package/dist/src/commands/re-export-lint.d.ts +0 -137
- package/dist/src/commands/re-export-lint.js +0 -303
- package/dist/src/commands/re-export-options.d.ts +0 -29
- package/dist/src/commands/re-export-options.js +0 -192
- package/dist/src/commands/re-export-preflight.d.ts +0 -23
- package/dist/src/commands/re-export-preflight.js +0 -159
- package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
- package/dist/src/commands/re-export-purity-scope.js +0 -137
- package/dist/src/commands/re-export-register.d.ts +0 -12
- package/dist/src/commands/re-export-register.js +0 -99
- package/dist/src/commands/re-export-removed.d.ts +0 -15
- package/dist/src/commands/re-export-removed.js +0 -94
- package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
- package/dist/src/commands/re-export-retired-declarations.js +0 -113
- package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
- package/dist/src/commands/re-export-scan-owner.js +0 -116
- package/dist/src/commands/re-export-scan.d.ts +0 -72
- package/dist/src/commands/re-export-scan.js +0 -265
- package/dist/src/commands/re-export-single.d.ts +0 -53
- package/dist/src/commands/re-export-single.js +0 -426
- package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
- package/dist/src/commands/re-export-stale-registrations.js +0 -106
- package/dist/src/commands/re-export-summary.d.ts +0 -44
- package/dist/src/commands/re-export-summary.js +0 -59
- package/dist/src/commands/re-export.d.ts +0 -8
- package/dist/src/commands/rebase/abort.d.ts +0 -7
- package/dist/src/commands/rebase/abort.js +0 -67
- package/dist/src/commands/rebase/confirm.d.ts +0 -42
- package/dist/src/commands/rebase/confirm.js +0 -36
- package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
- package/dist/src/commands/rebase/conflict-summary.js +0 -37
- package/dist/src/commands/rebase/continue.d.ts +0 -7
- package/dist/src/commands/rebase/continue.js +0 -119
- package/dist/src/commands/rebase/index.d.ts +0 -22
- package/dist/src/commands/rebase/index.js +0 -209
- package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
- package/dist/src/commands/rebase/patch-loop.js +0 -289
- package/dist/src/commands/rebase/summary.d.ts +0 -8
- package/dist/src/commands/rebase/summary.js +0 -47
- package/dist/src/commands/register.d.ts +0 -13
- package/dist/src/commands/reset.d.ts +0 -11
- package/dist/src/commands/resolve.d.ts +0 -36
- package/dist/src/commands/run.d.ts +0 -10
- package/dist/src/commands/setup-support.d.ts +0 -35
- package/dist/src/commands/setup-support.js +0 -386
- package/dist/src/commands/setup.d.ts +0 -11
- package/dist/src/commands/source.d.ts +0 -9
- package/dist/src/commands/source.js +0 -120
- package/dist/src/commands/status-check.d.ts +0 -87
- package/dist/src/commands/status-check.js +0 -161
- package/dist/src/commands/status-json.d.ts +0 -45
- package/dist/src/commands/status-json.js +0 -97
- package/dist/src/commands/status-output.d.ts +0 -23
- package/dist/src/commands/status-output.js +0 -231
- package/dist/src/commands/status-ownership.d.ts +0 -54
- package/dist/src/commands/status-ownership.js +0 -59
- package/dist/src/commands/status-scope.d.ts +0 -37
- package/dist/src/commands/status-scope.js +0 -54
- package/dist/src/commands/status.d.ts +0 -11
- package/dist/src/commands/test-appdir.d.ts +0 -6
- package/dist/src/commands/test-appdir.js +0 -29
- package/dist/src/commands/test-browser-preflight.d.ts +0 -28
- package/dist/src/commands/test-browser-preflight.js +0 -197
- package/dist/src/commands/test-build-furnace.d.ts +0 -21
- package/dist/src/commands/test-build-furnace.js +0 -53
- package/dist/src/commands/test-build-phase.d.ts +0 -34
- package/dist/src/commands/test-build-phase.js +0 -291
- package/dist/src/commands/test-checkjs.d.ts +0 -3
- package/dist/src/commands/test-checkjs.js +0 -35
- package/dist/src/commands/test-control-restore.d.ts +0 -40
- package/dist/src/commands/test-control-restore.js +0 -86
- package/dist/src/commands/test-diagnose.d.ts +0 -23
- package/dist/src/commands/test-diagnose.js +0 -317
- package/dist/src/commands/test-dispatch.d.ts +0 -39
- package/dist/src/commands/test-dispatch.js +0 -281
- package/dist/src/commands/test-furnace-reach.d.ts +0 -37
- package/dist/src/commands/test-furnace-reach.js +0 -132
- package/dist/src/commands/test-harness-env.d.ts +0 -23
- package/dist/src/commands/test-harness-env.js +0 -81
- package/dist/src/commands/test-harness-teardown.d.ts +0 -62
- package/dist/src/commands/test-harness-teardown.js +0 -128
- package/dist/src/commands/test-modes.d.ts +0 -57
- package/dist/src/commands/test-modes.js +0 -158
- package/dist/src/commands/test-multi-verdict.d.ts +0 -61
- package/dist/src/commands/test-multi-verdict.js +0 -112
- package/dist/src/commands/test-orchestrate.d.ts +0 -70
- package/dist/src/commands/test-orchestrate.js +0 -277
- package/dist/src/commands/test-perf-scope.d.ts +0 -50
- package/dist/src/commands/test-perf-scope.js +0 -138
- package/dist/src/commands/test-prelock.d.ts +0 -61
- package/dist/src/commands/test-prelock.js +0 -301
- package/dist/src/commands/test-register.d.ts +0 -4
- package/dist/src/commands/test-register.js +0 -181
- package/dist/src/commands/test-results.d.ts +0 -71
- package/dist/src/commands/test-results.js +0 -79
- package/dist/src/commands/test-run.d.ts +0 -89
- package/dist/src/commands/test-run.js +0 -251
- package/dist/src/commands/test-shards.d.ts +0 -114
- package/dist/src/commands/test-shards.js +0 -272
- package/dist/src/commands/test-stale-gate.d.ts +0 -56
- package/dist/src/commands/test-stale-gate.js +0 -208
- package/dist/src/commands/test-verdict.d.ts +0 -102
- package/dist/src/commands/test-verdict.js +0 -176
- package/dist/src/commands/test.d.ts +0 -22
- package/dist/src/commands/token-coverage.d.ts +0 -5
- package/dist/src/commands/token-coverage.js +0 -170
- package/dist/src/commands/token-lint.d.ts +0 -14
- package/dist/src/commands/token-lint.js +0 -151
- package/dist/src/commands/token-list.d.ts +0 -26
- package/dist/src/commands/token-list.js +0 -153
- package/dist/src/commands/token.d.ts +0 -14
- package/dist/src/commands/tree.d.ts +0 -19
- package/dist/src/commands/tree.js +0 -341
- package/dist/src/commands/typecheck-explain.d.ts +0 -13
- package/dist/src/commands/typecheck-explain.js +0 -100
- package/dist/src/commands/typecheck.d.ts +0 -61
- package/dist/src/commands/verify-scope.d.ts +0 -28
- package/dist/src/commands/verify-scope.js +0 -67
- package/dist/src/commands/verify.d.ts +0 -58
- package/dist/src/commands/watch.d.ts +0 -9
- package/dist/src/commands/wire.d.ts +0 -13
- package/dist/src/core/ast-utils.d.ts +0 -73
- package/dist/src/core/ast-utils.js +0 -105
- package/dist/src/core/brand-validation.d.ts +0 -7
- package/dist/src/core/brand-validation.js +0 -14
- package/dist/src/core/branding.d.ts +0 -86
- package/dist/src/core/branding.js +0 -371
- package/dist/src/core/browser-wire.d.ts +0 -48
- package/dist/src/core/browser-wire.js +0 -133
- package/dist/src/core/build-audit-platform.d.ts +0 -67
- package/dist/src/core/build-audit-platform.js +0 -373
- package/dist/src/core/build-audit-registration.d.ts +0 -80
- package/dist/src/core/build-audit-registration.js +0 -181
- package/dist/src/core/build-audit-resolve.d.ts +0 -78
- package/dist/src/core/build-audit-resolve.js +0 -240
- package/dist/src/core/build-audit-skip.d.ts +0 -57
- package/dist/src/core/build-audit-skip.js +0 -112
- package/dist/src/core/build-audit-transforms.d.ts +0 -23
- package/dist/src/core/build-audit-transforms.js +0 -92
- package/dist/src/core/build-audit.d.ts +0 -93
- package/dist/src/core/build-audit.js +0 -633
- package/dist/src/core/build-baseline-types.d.ts +0 -225
- package/dist/src/core/build-baseline-types.js +0 -10
- package/dist/src/core/build-baseline-validate.d.ts +0 -32
- package/dist/src/core/build-baseline-validate.js +0 -173
- package/dist/src/core/build-baseline.d.ts +0 -103
- package/dist/src/core/build-baseline.js +0 -261
- package/dist/src/core/build-jar-escalation.d.ts +0 -61
- package/dist/src/core/build-jar-escalation.js +0 -125
- package/dist/src/core/build-overwrite-guard.d.ts +0 -92
- package/dist/src/core/build-overwrite-guard.js +0 -235
- package/dist/src/core/build-prepare.d.ts +0 -83
- package/dist/src/core/build-prepare.js +0 -414
- package/dist/src/core/build-run-record.d.ts +0 -74
- package/dist/src/core/build-run-record.js +0 -136
- package/dist/src/core/checkjs-support-heads.d.ts +0 -41
- package/dist/src/core/checkjs-support-heads.js +0 -104
- package/dist/src/core/component-source-guard.d.ts +0 -20
- package/dist/src/core/component-source-guard.js +0 -68
- package/dist/src/core/config-mutate.d.ts +0 -16
- package/dist/src/core/config-mutate.js +0 -76
- package/dist/src/core/config-paths.d.ts +0 -16
- package/dist/src/core/config-paths.js +0 -106
- package/dist/src/core/config-state.d.ts +0 -16
- package/dist/src/core/config-state.js +0 -141
- package/dist/src/core/config-validate-build-audit.d.ts +0 -8
- package/dist/src/core/config-validate-build-audit.js +0 -80
- package/dist/src/core/config-validate-check.d.ts +0 -8
- package/dist/src/core/config-validate-check.js +0 -219
- package/dist/src/core/config-validate-file-size.d.ts +0 -15
- package/dist/src/core/config-validate-file-size.js +0 -154
- package/dist/src/core/config-validate-history.d.ts +0 -11
- package/dist/src/core/config-validate-history.js +0 -38
- package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
- package/dist/src/core/config-validate-patch-policy.js +0 -284
- package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
- package/dist/src/core/config-validate-test-toolchains.js +0 -133
- package/dist/src/core/config-validate-token-scales.d.ts +0 -9
- package/dist/src/core/config-validate-token-scales.js +0 -125
- package/dist/src/core/config-validate.d.ts +0 -11
- package/dist/src/core/config-validate.js +0 -509
- package/dist/src/core/config.d.ts +0 -92
- package/dist/src/core/config.js +0 -169
- package/dist/src/core/coverage-dispatch.d.ts +0 -24
- package/dist/src/core/coverage-dispatch.js +0 -44
- package/dist/src/core/coverage-extend.d.ts +0 -89
- package/dist/src/core/coverage-extend.js +0 -239
- package/dist/src/core/coverage-records.d.ts +0 -107
- package/dist/src/core/coverage-records.js +0 -383
- package/dist/src/core/destructive.d.ts +0 -144
- package/dist/src/core/destructive.js +0 -182
- package/dist/src/core/dev-profile.d.ts +0 -28
- package/dist/src/core/dev-profile.js +0 -58
- package/dist/src/core/diff-hunks.d.ts +0 -73
- package/dist/src/core/diff-hunks.js +0 -286
- package/dist/src/core/discard-baseline.d.ts +0 -60
- package/dist/src/core/discard-baseline.js +0 -247
- package/dist/src/core/display-state.d.ts +0 -50
- package/dist/src/core/display-state.js +0 -87
- package/dist/src/core/engine-changes.d.ts +0 -40
- package/dist/src/core/engine-changes.js +0 -95
- package/dist/src/core/engine-precondition.d.ts +0 -42
- package/dist/src/core/engine-precondition.js +0 -60
- package/dist/src/core/engine-session-lock.d.ts +0 -119
- package/dist/src/core/engine-session-lock.js +0 -374
- package/dist/src/core/engine-write-boundary.d.ts +0 -5
- package/dist/src/core/engine-write-boundary.js +0 -41
- package/dist/src/core/export-moved-code-shape.d.ts +0 -98
- package/dist/src/core/export-moved-code-shape.js +0 -220
- package/dist/src/core/file-lock-owner.d.ts +0 -103
- package/dist/src/core/file-lock-owner.js +0 -259
- package/dist/src/core/file-lock-queue.d.ts +0 -67
- package/dist/src/core/file-lock-queue.js +0 -219
- package/dist/src/core/file-lock-shared.d.ts +0 -57
- package/dist/src/core/file-lock-shared.js +0 -117
- package/dist/src/core/file-lock.d.ts +0 -143
- package/dist/src/core/file-lock.js +0 -531
- package/dist/src/core/firefox-archive.d.ts +0 -45
- package/dist/src/core/firefox-archive.js +0 -96
- package/dist/src/core/firefox-cache.d.ts +0 -30
- package/dist/src/core/firefox-cache.js +0 -248
- package/dist/src/core/firefox-download.d.ts +0 -30
- package/dist/src/core/firefox-download.js +0 -152
- package/dist/src/core/firefox-extract.d.ts +0 -42
- package/dist/src/core/firefox-extract.js +0 -248
- package/dist/src/core/firefox-ignorefile.d.ts +0 -17
- package/dist/src/core/firefox-ignorefile.js +0 -30
- package/dist/src/core/firefox.d.ts +0 -66
- package/dist/src/core/firefox.js +0 -121
- package/dist/src/core/forward-registrations.d.ts +0 -33
- package/dist/src/core/forward-registrations.js +0 -16
- package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
- package/dist/src/core/furnace-apply-dry-run.js +0 -99
- package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
- package/dist/src/core/furnace-apply-ftl.js +0 -210
- package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
- package/dist/src/core/furnace-apply-helpers.js +0 -436
- package/dist/src/core/furnace-apply-output.d.ts +0 -36
- package/dist/src/core/furnace-apply-output.js +0 -111
- package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -67
- package/dist/src/core/furnace-apply-overwrite-warn.js +0 -131
- package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
- package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
- package/dist/src/core/furnace-apply.d.ts +0 -49
- package/dist/src/core/furnace-apply.js +0 -465
- package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
- package/dist/src/core/furnace-checksum-utils.js +0 -54
- package/dist/src/core/furnace-composed-source.d.ts +0 -76
- package/dist/src/core/furnace-composed-source.js +0 -167
- package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
- package/dist/src/core/furnace-config-array-utils.js +0 -26
- package/dist/src/core/furnace-config-custom.d.ts +0 -15
- package/dist/src/core/furnace-config-custom.js +0 -73
- package/dist/src/core/furnace-config-order.d.ts +0 -8
- package/dist/src/core/furnace-config-order.js +0 -90
- package/dist/src/core/furnace-config-tokens.d.ts +0 -17
- package/dist/src/core/furnace-config-tokens.js +0 -42
- package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
- package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
- package/dist/src/core/furnace-config-validate.d.ts +0 -32
- package/dist/src/core/furnace-config-validate.js +0 -167
- package/dist/src/core/furnace-config.d.ts +0 -139
- package/dist/src/core/furnace-config.js +0 -511
- package/dist/src/core/furnace-constants.d.ts +0 -81
- package/dist/src/core/furnace-constants.js +0 -125
- package/dist/src/core/furnace-css-fragments.d.ts +0 -96
- package/dist/src/core/furnace-css-fragments.js +0 -279
- package/dist/src/core/furnace-deploy-owner.d.ts +0 -29
- package/dist/src/core/furnace-deploy-owner.js +0 -116
- package/dist/src/core/furnace-dir-entry.d.ts +0 -20
- package/dist/src/core/furnace-dir-entry.js +0 -21
- package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
- package/dist/src/core/furnace-fragment-includers.js +0 -122
- package/dist/src/core/furnace-graph-utils.d.ts +0 -11
- package/dist/src/core/furnace-graph-utils.js +0 -93
- package/dist/src/core/furnace-jsconfig.d.ts +0 -87
- package/dist/src/core/furnace-jsconfig.js +0 -248
- package/dist/src/core/furnace-marker.d.ts +0 -15
- package/dist/src/core/furnace-marker.js +0 -21
- package/dist/src/core/furnace-operation.d.ts +0 -195
- package/dist/src/core/furnace-operation.js +0 -444
- package/dist/src/core/furnace-precondition.d.ts +0 -61
- package/dist/src/core/furnace-precondition.js +0 -67
- package/dist/src/core/furnace-refresh.d.ts +0 -28
- package/dist/src/core/furnace-refresh.js +0 -125
- package/dist/src/core/furnace-registration-ast.d.ts +0 -53
- package/dist/src/core/furnace-registration-ast.js +0 -402
- package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
- package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
- package/dist/src/core/furnace-registration-remove.d.ts +0 -56
- package/dist/src/core/furnace-registration-remove.js +0 -260
- package/dist/src/core/furnace-registration-rename.d.ts +0 -26
- package/dist/src/core/furnace-registration-rename.js +0 -77
- package/dist/src/core/furnace-registration-validate.d.ts +0 -53
- package/dist/src/core/furnace-registration-validate.js +0 -110
- package/dist/src/core/furnace-registration.d.ts +0 -112
- package/dist/src/core/furnace-registration.js +0 -348
- package/dist/src/core/furnace-rollback.d.ts +0 -48
- package/dist/src/core/furnace-rollback.js +0 -170
- package/dist/src/core/furnace-scanner.d.ts +0 -47
- package/dist/src/core/furnace-scanner.js +0 -236
- package/dist/src/core/furnace-stale-export.d.ts +0 -60
- package/dist/src/core/furnace-stale-export.js +0 -125
- package/dist/src/core/furnace-staleness.d.ts +0 -24
- package/dist/src/core/furnace-staleness.js +0 -67
- package/dist/src/core/furnace-state-persist.d.ts +0 -68
- package/dist/src/core/furnace-state-persist.js +0 -116
- package/dist/src/core/furnace-step-errors.d.ts +0 -23
- package/dist/src/core/furnace-step-errors.js +0 -25
- package/dist/src/core/furnace-stories.d.ts +0 -37
- package/dist/src/core/furnace-stories.js +0 -186
- package/dist/src/core/furnace-tag-map.d.ts +0 -47
- package/dist/src/core/furnace-tag-map.js +0 -182
- package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
- package/dist/src/core/furnace-validate-accessibility.js +0 -417
- package/dist/src/core/furnace-validate-checks.d.ts +0 -4
- package/dist/src/core/furnace-validate-checks.js +0 -6
- package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
- package/dist/src/core/furnace-validate-compatibility.js +0 -295
- package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
- package/dist/src/core/furnace-validate-exceptions.js +0 -98
- package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
- package/dist/src/core/furnace-validate-helpers.js +0 -4
- package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
- package/dist/src/core/furnace-validate-icon-button.js +0 -78
- package/dist/src/core/furnace-validate-registration.d.ts +0 -67
- package/dist/src/core/furnace-validate-registration.js +0 -487
- package/dist/src/core/furnace-validate-structure.d.ts +0 -22
- package/dist/src/core/furnace-validate-structure.js +0 -122
- package/dist/src/core/furnace-validate.d.ts +0 -41
- package/dist/src/core/furnace-validate.js +0 -331
- package/dist/src/core/furnace-version-drift.d.ts +0 -57
- package/dist/src/core/furnace-version-drift.js +0 -102
- package/dist/src/core/gecko-dom-types.d.ts +0 -2
- package/dist/src/core/gecko-dom-types.js +0 -17
- package/dist/src/core/git-base.d.ts +0 -101
- package/dist/src/core/git-base.js +0 -162
- package/dist/src/core/git-diff-new-file.d.ts +0 -40
- package/dist/src/core/git-diff-new-file.js +0 -118
- package/dist/src/core/git-diff.d.ts +0 -82
- package/dist/src/core/git-diff.js +0 -539
- package/dist/src/core/git-file-ops.d.ts +0 -108
- package/dist/src/core/git-file-ops.js +0 -280
- package/dist/src/core/git-readonly-index.d.ts +0 -91
- package/dist/src/core/git-readonly-index.js +0 -177
- package/dist/src/core/git-status.d.ts +0 -84
- package/dist/src/core/git-status.js +0 -208
- package/dist/src/core/git.d.ts +0 -114
- package/dist/src/core/git.js +0 -540
- package/dist/src/core/harness-helper-pids.d.ts +0 -98
- package/dist/src/core/harness-helper-pids.js +0 -240
- package/dist/src/core/harness-orphans.d.ts +0 -118
- package/dist/src/core/harness-orphans.js +0 -268
- package/dist/src/core/harness-port-fallback.d.ts +0 -60
- package/dist/src/core/harness-port-fallback.js +0 -96
- package/dist/src/core/harness-port-reservation.d.ts +0 -60
- package/dist/src/core/harness-port-reservation.js +0 -122
- package/dist/src/core/history-log-file.d.ts +0 -61
- package/dist/src/core/history-log-file.js +0 -164
- package/dist/src/core/history-log.d.ts +0 -20
- package/dist/src/core/history-log.js +0 -30
- package/dist/src/core/json-preserving-edit.d.ts +0 -22
- package/dist/src/core/json-preserving-edit.js +0 -199
- package/dist/src/core/launchable-build.d.ts +0 -39
- package/dist/src/core/launchable-build.js +0 -85
- package/dist/src/core/license-headers.d.ts +0 -103
- package/dist/src/core/license-headers.js +0 -328
- package/dist/src/core/line-prefixer.d.ts +0 -18
- package/dist/src/core/line-prefixer.js +0 -34
- package/dist/src/core/lit-template-regions.d.ts +0 -4
- package/dist/src/core/lit-template-regions.js +0 -50
- package/dist/src/core/mach-build-artifacts.d.ts +0 -176
- package/dist/src/core/mach-build-artifacts.js +0 -436
- package/dist/src/core/mach-error-hints.d.ts +0 -24
- package/dist/src/core/mach-error-hints.js +0 -135
- package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
- package/dist/src/core/mach-known-noise-filter.js +0 -257
- package/dist/src/core/mach-mozconfig.d.ts +0 -57
- package/dist/src/core/mach-mozconfig.js +0 -166
- package/dist/src/core/mach-python.d.ts +0 -19
- package/dist/src/core/mach-python.js +0 -131
- package/dist/src/core/mach-resource-shim.d.ts +0 -107
- package/dist/src/core/mach-resource-shim.js +0 -640
- package/dist/src/core/mach.d.ts +0 -284
- package/dist/src/core/mach.js +0 -445
- package/dist/src/core/marionette-port.d.ts +0 -153
- package/dist/src/core/marionette-port.js +0 -474
- package/dist/src/core/marionette-preflight.d.ts +0 -58
- package/dist/src/core/marionette-preflight.js +0 -332
- package/dist/src/core/markdown-table.d.ts +0 -104
- package/dist/src/core/markdown-table.js +0 -265
- package/dist/src/core/mochitest-server-port.d.ts +0 -81
- package/dist/src/core/mochitest-server-port.js +0 -175
- package/dist/src/core/module-resolution-preflight.d.ts +0 -65
- package/dist/src/core/module-resolution-preflight.js +0 -171
- package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
- package/dist/src/core/moz-manifest-helpers.js +0 -163
- package/dist/src/core/moz-manifest-register.d.ts +0 -19
- package/dist/src/core/moz-manifest-register.js +0 -51
- package/dist/src/core/moz-manifest-rules.d.ts +0 -58
- package/dist/src/core/moz-manifest-rules.js +0 -264
- package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
- package/dist/src/core/moz-manifest-tokenizers.js +0 -108
- package/dist/src/core/negative-control-compiled.d.ts +0 -46
- package/dist/src/core/negative-control-compiled.js +0 -109
- package/dist/src/core/negative-control-diff.d.ts +0 -51
- package/dist/src/core/negative-control-diff.js +0 -167
- package/dist/src/core/negative-control.d.ts +0 -150
- package/dist/src/core/negative-control.js +0 -399
- package/dist/src/core/objdir-install-manifests.d.ts +0 -73
- package/dist/src/core/objdir-install-manifests.js +0 -226
- package/dist/src/core/objdir-maintenance.d.ts +0 -10
- package/dist/src/core/objdir-maintenance.js +0 -167
- package/dist/src/core/ownership-table.d.ts +0 -53
- package/dist/src/core/ownership-table.js +0 -159
- package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
- package/dist/src/core/parent-exit-watchdog.js +0 -69
- package/dist/src/core/park-store.d.ts +0 -63
- package/dist/src/core/park-store.js +0 -216
- package/dist/src/core/parser-fallback.d.ts +0 -50
- package/dist/src/core/parser-fallback.js +0 -61
- package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
- package/dist/src/core/patch-apply-fuzz.js +0 -125
- package/dist/src/core/patch-apply.d.ts +0 -88
- package/dist/src/core/patch-apply.js +0 -435
- package/dist/src/core/patch-export-coverage.d.ts +0 -49
- package/dist/src/core/patch-export-coverage.js +0 -73
- package/dist/src/core/patch-export-metadata.d.ts +0 -46
- package/dist/src/core/patch-export-metadata.js +0 -47
- package/dist/src/core/patch-export-update.d.ts +0 -55
- package/dist/src/core/patch-export-update.js +0 -95
- package/dist/src/core/patch-export.d.ts +0 -175
- package/dist/src/core/patch-export.js +0 -312
- package/dist/src/core/patch-files.d.ts +0 -17
- package/dist/src/core/patch-files.js +0 -59
- package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
- package/dist/src/core/patch-identifier-suggest.js +0 -135
- package/dist/src/core/patch-lint-binary.d.ts +0 -45
- package/dist/src/core/patch-lint-binary.js +0 -39
- package/dist/src/core/patch-lint-cache-checkjs.d.ts +0 -45
- package/dist/src/core/patch-lint-cache-checkjs.js +0 -195
- package/dist/src/core/patch-lint-cache.d.ts +0 -79
- package/dist/src/core/patch-lint-cache.js +0 -247
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -57
- package/dist/src/core/patch-lint-checkjs-any-import.js +0 -91
- package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
- package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
- package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
- package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
- package/dist/src/core/patch-lint-checkjs-resolve.d.ts +0 -31
- package/dist/src/core/patch-lint-checkjs-resolve.js +0 -86
- package/dist/src/core/patch-lint-checkjs.d.ts +0 -182
- package/dist/src/core/patch-lint-checkjs.js +0 -563
- package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
- package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
- package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
- package/dist/src/core/patch-lint-code-lines.js +0 -105
- package/dist/src/core/patch-lint-creators.d.ts +0 -26
- package/dist/src/core/patch-lint-creators.js +0 -45
- package/dist/src/core/patch-lint-cross.d.ts +0 -232
- package/dist/src/core/patch-lint-cross.js +0 -590
- package/dist/src/core/patch-lint-css.d.ts +0 -27
- package/dist/src/core/patch-lint-css.js +0 -228
- package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
- package/dist/src/core/patch-lint-diff-tag.js +0 -105
- package/dist/src/core/patch-lint-diff.d.ts +0 -42
- package/dist/src/core/patch-lint-diff.js +0 -100
- package/dist/src/core/patch-lint-file-size.d.ts +0 -57
- package/dist/src/core/patch-lint-file-size.js +0 -62
- package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
- package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
- package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
- package/dist/src/core/patch-lint-forward-registration.js +0 -266
- package/dist/src/core/patch-lint-ignore.d.ts +0 -196
- package/dist/src/core/patch-lint-ignore.js +0 -429
- package/dist/src/core/patch-lint-imports.d.ts +0 -9
- package/dist/src/core/patch-lint-imports.js +0 -90
- package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
- package/dist/src/core/patch-lint-jsdoc.js +0 -471
- package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
- package/dist/src/core/patch-lint-module-registration.js +0 -97
- package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
- package/dist/src/core/patch-lint-mozbuild.js +0 -192
- package/dist/src/core/patch-lint-observer.d.ts +0 -37
- package/dist/src/core/patch-lint-observer.js +0 -167
- package/dist/src/core/patch-lint-ownership.d.ts +0 -74
- package/dist/src/core/patch-lint-ownership.js +0 -125
- package/dist/src/core/patch-lint-prettier.d.ts +0 -34
- package/dist/src/core/patch-lint-prettier.js +0 -124
- package/dist/src/core/patch-lint-projection.d.ts +0 -25
- package/dist/src/core/patch-lint-projection.js +0 -43
- package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
- package/dist/src/core/patch-lint-queue-types.js +0 -12
- package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
- package/dist/src/core/patch-lint-size-thresholds.js +0 -110
- package/dist/src/core/patch-lint-size.d.ts +0 -117
- package/dist/src/core/patch-lint-size.js +0 -331
- package/dist/src/core/patch-lint-staged-registration.d.ts +0 -98
- package/dist/src/core/patch-lint-staged-registration.js +0 -128
- package/dist/src/core/patch-lint-token-scale.d.ts +0 -65
- package/dist/src/core/patch-lint-token-scale.js +0 -304
- package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
- package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
- package/dist/src/core/patch-lint.d.ts +0 -206
- package/dist/src/core/patch-lint.js +0 -533
- package/dist/src/core/patch-lock.d.ts +0 -40
- package/dist/src/core/patch-lock.js +0 -129
- package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
- package/dist/src/core/patch-manifest-consistency.js +0 -256
- package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
- package/dist/src/core/patch-manifest-files-affected.js +0 -77
- package/dist/src/core/patch-manifest-io.d.ts +0 -199
- package/dist/src/core/patch-manifest-io.js +0 -556
- package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
- package/dist/src/core/patch-manifest-key-order.js +0 -60
- package/dist/src/core/patch-manifest-query.d.ts +0 -55
- package/dist/src/core/patch-manifest-query.js +0 -139
- package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
- package/dist/src/core/patch-manifest-resolve.js +0 -35
- package/dist/src/core/patch-manifest-stage.d.ts +0 -46
- package/dist/src/core/patch-manifest-stage.js +0 -96
- package/dist/src/core/patch-manifest-validate.d.ts +0 -20
- package/dist/src/core/patch-manifest-validate.js +0 -240
- package/dist/src/core/patch-manifest.d.ts +0 -12
- package/dist/src/core/patch-manifest.js +0 -13
- package/dist/src/core/patch-order-legal.d.ts +0 -26
- package/dist/src/core/patch-order-legal.js +0 -88
- package/dist/src/core/patch-parse.d.ts +0 -176
- package/dist/src/core/patch-parse.js +0 -416
- package/dist/src/core/patch-policy-content.d.ts +0 -40
- package/dist/src/core/patch-policy-content.js +0 -219
- package/dist/src/core/patch-policy.d.ts +0 -80
- package/dist/src/core/patch-policy.js +0 -394
- package/dist/src/core/patch-registration-refs.d.ts +0 -41
- package/dist/src/core/patch-registration-refs.js +0 -107
- package/dist/src/core/patch-retired.d.ts +0 -57
- package/dist/src/core/patch-retired.js +0 -92
- package/dist/src/core/patch-source-metadata.d.ts +0 -6
- package/dist/src/core/patch-source-metadata.js +0 -12
- package/dist/src/core/patch-subset.d.ts +0 -18
- package/dist/src/core/patch-subset.js +0 -67
- package/dist/src/core/patch-transform.d.ts +0 -61
- package/dist/src/core/patch-transform.js +0 -198
- package/dist/src/core/preflight-wait.d.ts +0 -22
- package/dist/src/core/preflight-wait.js +0 -62
- package/dist/src/core/process-cpu-time.d.ts +0 -12
- package/dist/src/core/process-cpu-time.js +0 -52
- package/dist/src/core/process-owner.d.ts +0 -9
- package/dist/src/core/process-owner.js +0 -43
- package/dist/src/core/rebase-dry-run.d.ts +0 -48
- package/dist/src/core/rebase-dry-run.js +0 -105
- package/dist/src/core/rebase-from-version.d.ts +0 -46
- package/dist/src/core/rebase-from-version.js +0 -71
- package/dist/src/core/rebase-session.d.ts +0 -100
- package/dist/src/core/rebase-session.js +0 -174
- package/dist/src/core/register-browser-content.d.ts +0 -11
- package/dist/src/core/register-browser-content.js +0 -52
- package/dist/src/core/register-browser-test.d.ts +0 -18
- package/dist/src/core/register-browser-test.js +0 -66
- package/dist/src/core/register-module.d.ts +0 -11
- package/dist/src/core/register-module.js +0 -56
- package/dist/src/core/register-result.d.ts +0 -30
- package/dist/src/core/register-result.js +0 -8
- package/dist/src/core/register-scaffold.d.ts +0 -55
- package/dist/src/core/register-scaffold.js +0 -146
- package/dist/src/core/register-shared-css.d.ts +0 -36
- package/dist/src/core/register-shared-css.js +0 -112
- package/dist/src/core/register-xpcshell-test.d.ts +0 -50
- package/dist/src/core/register-xpcshell-test.js +0 -143
- package/dist/src/core/run-log-redact.d.ts +0 -38
- package/dist/src/core/run-log-redact.js +0 -69
- package/dist/src/core/run-log.d.ts +0 -97
- package/dist/src/core/run-log.js +0 -334
- package/dist/src/core/run-profile.d.ts +0 -57
- package/dist/src/core/run-profile.js +0 -137
- package/dist/src/core/shared-ftl.d.ts +0 -28
- package/dist/src/core/shared-ftl.js +0 -49
- package/dist/src/core/signal-critical.d.ts +0 -38
- package/dist/src/core/signal-critical.js +0 -62
- package/dist/src/core/smoke-patterns.d.ts +0 -81
- package/dist/src/core/smoke-patterns.js +0 -176
- package/dist/src/core/state-file.d.ts +0 -60
- package/dist/src/core/state-file.js +0 -71
- package/dist/src/core/status-binary.d.ts +0 -62
- package/dist/src/core/status-binary.js +0 -133
- package/dist/src/core/status-classify.d.ts +0 -96
- package/dist/src/core/status-classify.js +0 -244
- package/dist/src/core/test-changed-prefs.d.ts +0 -30
- package/dist/src/core/test-changed-prefs.js +0 -93
- package/dist/src/core/test-harness-crash.d.ts +0 -251
- package/dist/src/core/test-harness-crash.js +0 -780
- package/dist/src/core/test-harness-infra.d.ts +0 -32
- package/dist/src/core/test-harness-infra.js +0 -69
- package/dist/src/core/test-harness-output.d.ts +0 -45
- package/dist/src/core/test-harness-output.js +0 -119
- package/dist/src/core/test-harness-signature.d.ts +0 -57
- package/dist/src/core/test-harness-signature.js +0 -35
- package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
- package/dist/src/core/test-harness-verdict-notes.js +0 -48
- package/dist/src/core/test-host-state.d.ts +0 -14
- package/dist/src/core/test-host-state.js +0 -80
- package/dist/src/core/test-path-scope.d.ts +0 -59
- package/dist/src/core/test-path-scope.js +0 -147
- package/dist/src/core/test-profile-files.d.ts +0 -17
- package/dist/src/core/test-profile-files.js +0 -75
- package/dist/src/core/test-raw-log.d.ts +0 -66
- package/dist/src/core/test-raw-log.js +0 -122
- package/dist/src/core/test-run-completeness.d.ts +0 -97
- package/dist/src/core/test-run-completeness.js +0 -191
- package/dist/src/core/test-stale-check.d.ts +0 -213
- package/dist/src/core/test-stale-check.js +0 -396
- package/dist/src/core/test-stale-exempt.d.ts +0 -40
- package/dist/src/core/test-stale-exempt.js +0 -70
- package/dist/src/core/test-stale-symlink.d.ts +0 -12
- package/dist/src/core/test-stale-symlink.js +0 -39
- package/dist/src/core/test-stall-triage.d.ts +0 -51
- package/dist/src/core/test-stall-triage.js +0 -142
- package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
- package/dist/src/core/test-xpcshell-retry.js +0 -31
- package/dist/src/core/token-category.d.ts +0 -54
- package/dist/src/core/token-category.js +0 -299
- package/dist/src/core/token-coverage.d.ts +0 -12
- package/dist/src/core/token-coverage.js +0 -96
- package/dist/src/core/token-dark-mode.d.ts +0 -64
- package/dist/src/core/token-dark-mode.js +0 -186
- package/dist/src/core/token-docs.d.ts +0 -34
- package/dist/src/core/token-docs.js +0 -102
- package/dist/src/core/token-inventory.d.ts +0 -56
- package/dist/src/core/token-inventory.js +0 -114
- package/dist/src/core/token-lint.d.ts +0 -53
- package/dist/src/core/token-lint.js +0 -131
- package/dist/src/core/token-manager.d.ts +0 -87
- package/dist/src/core/token-manager.js +0 -407
- package/dist/src/core/token-scaffold.d.ts +0 -36
- package/dist/src/core/token-scaffold.js +0 -73
- package/dist/src/core/token-sibling-sheets.d.ts +0 -46
- package/dist/src/core/token-sibling-sheets.js +0 -119
- package/dist/src/core/token-variant.d.ts +0 -90
- package/dist/src/core/token-variant.js +0 -327
- package/dist/src/core/toolchain-preflight.d.ts +0 -90
- package/dist/src/core/toolchain-preflight.js +0 -251
- package/dist/src/core/tree-cow.d.ts +0 -16
- package/dist/src/core/tree-cow.js +0 -71
- package/dist/src/core/tree-guard.d.ts +0 -35
- package/dist/src/core/tree-guard.js +0 -194
- package/dist/src/core/tree-store.d.ts +0 -143
- package/dist/src/core/tree-store.js +0 -478
- package/dist/src/core/typecheck-explain.d.ts +0 -93
- package/dist/src/core/typecheck-explain.js +0 -213
- package/dist/src/core/typecheck-shim.d.ts +0 -90
- package/dist/src/core/typecheck-shim.js +0 -508
- package/dist/src/core/typecheck.d.ts +0 -97
- package/dist/src/core/typecheck.js +0 -457
- package/dist/src/core/wire-destroy.d.ts +0 -25
- package/dist/src/core/wire-destroy.js +0 -126
- package/dist/src/core/wire-dom-fragment.d.ts +0 -44
- package/dist/src/core/wire-dom-fragment.js +0 -139
- package/dist/src/core/wire-init.d.ts +0 -28
- package/dist/src/core/wire-init.js +0 -219
- package/dist/src/core/wire-subscript.d.ts +0 -23
- package/dist/src/core/wire-subscript.js +0 -145
- package/dist/src/core/wire-utils.d.ts +0 -149
- package/dist/src/core/wire-utils.js +0 -338
- package/dist/src/core/xpcshell-appdir.d.ts +0 -157
- package/dist/src/core/xpcshell-appdir.js +0 -299
- package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
- package/dist/src/core/xpcshell-profile-dir.js +0 -45
- package/dist/src/errors/base.d.ts +0 -217
- package/dist/src/errors/base.js +0 -279
- package/dist/src/errors/build.d.ts +0 -92
- package/dist/src/errors/build.js +0 -166
- package/dist/src/errors/codes.d.ts +0 -74
- package/dist/src/errors/codes.js +0 -74
- package/dist/src/errors/config.d.ts +0 -17
- package/dist/src/errors/config.js +0 -39
- package/dist/src/errors/download.d.ts +0 -66
- package/dist/src/errors/download.js +0 -160
- package/dist/src/errors/furnace.d.ts +0 -20
- package/dist/src/errors/furnace.js +0 -28
- package/dist/src/errors/git.d.ts +0 -65
- package/dist/src/errors/git.js +0 -140
- package/dist/src/errors/patch.d.ts +0 -27
- package/dist/src/errors/patch.js +0 -52
- package/dist/src/errors/rebase.d.ts +0 -42
- package/dist/src/errors/rebase.js +0 -71
- package/dist/src/errors/run.d.ts +0 -16
- package/dist/src/errors/run.js +0 -22
- package/dist/src/index.d.ts +0 -42
- package/dist/src/index.js +0 -32
- package/dist/src/types/cli.d.ts +0 -14
- package/dist/src/types/commands/index.d.ts +0 -6
- package/dist/src/types/commands/index.js +0 -5
- package/dist/src/types/commands/options.d.ts +0 -1372
- package/dist/src/types/commands/options.js +0 -5
- package/dist/src/types/commands/patches.d.ts +0 -352
- package/dist/src/types/commands/patches.js +0 -5
- package/dist/src/types/commands/project.d.ts +0 -51
- package/dist/src/types/commands/project.js +0 -5
- package/dist/src/types/config.d.ts +0 -732
- package/dist/src/types/config.js +0 -15
- package/dist/src/types/furnace.d.ts +0 -422
- package/dist/src/types/furnace.js +0 -26
- package/dist/src/types/index.d.ts +0 -5
- package/dist/src/types/index.js +0 -5
- package/dist/src/types/json.d.ts +0 -22
- package/dist/src/types/json.js +0 -11
- package/dist/src/types/typecheck.d.ts +0 -51
- package/dist/src/types/typecheck.js +0 -14
- package/dist/src/utils/assert.d.ts +0 -34
- package/dist/src/utils/assert.js +0 -61
- package/dist/src/utils/build-info.d.ts +0 -30
- package/dist/src/utils/build-info.js +0 -99
- package/dist/src/utils/child-env.d.ts +0 -28
- package/dist/src/utils/child-env.js +0 -27
- package/dist/src/utils/concurrency.d.ts +0 -8
- package/dist/src/utils/concurrency.js +0 -32
- package/dist/src/utils/elapsed.d.ts +0 -2
- package/dist/src/utils/elapsed.js +0 -23
- package/dist/src/utils/errors.d.ts +0 -39
- package/dist/src/utils/errors.js +0 -67
- package/dist/src/utils/fs.d.ts +0 -113
- package/dist/src/utils/fs.js +0 -337
- package/dist/src/utils/hash.d.ts +0 -12
- package/dist/src/utils/hash.js +0 -16
- package/dist/src/utils/line-dispatch.d.ts +0 -15
- package/dist/src/utils/line-dispatch.js +0 -48
- package/dist/src/utils/logger.d.ts +0 -109
- package/dist/src/utils/logger.js +0 -270
- package/dist/src/utils/machine-output.d.ts +0 -12
- package/dist/src/utils/machine-output.js +0 -33
- package/dist/src/utils/options.d.ts +0 -155
- package/dist/src/utils/options.js +0 -312
- package/dist/src/utils/package-root.d.ts +0 -21
- package/dist/src/utils/package-root.js +0 -70
- package/dist/src/utils/parse.d.ts +0 -117
- package/dist/src/utils/parse.js +0 -214
- package/dist/src/utils/path-glob.d.ts +0 -15
- package/dist/src/utils/path-glob.js +0 -47
- package/dist/src/utils/paths.d.ts +0 -31
- package/dist/src/utils/paths.js +0 -80
- package/dist/src/utils/platform.d.ts +0 -9
- package/dist/src/utils/platform.js +0 -14
- package/dist/src/utils/process-group.d.ts +0 -42
- package/dist/src/utils/process-group.js +0 -190
- package/dist/src/utils/process-input.d.ts +0 -27
- package/dist/src/utils/process-input.js +0 -46
- package/dist/src/utils/process.d.ts +0 -293
- package/dist/src/utils/process.js +0 -593
- package/dist/src/utils/ps-duration.d.ts +0 -31
- package/dist/src/utils/ps-duration.js +0 -70
- package/dist/src/utils/regex.d.ts +0 -39
- package/dist/src/utils/regex.js +0 -109
- package/dist/src/utils/sleep.d.ts +0 -25
- package/dist/src/utils/sleep.js +0 -30
- package/dist/src/utils/stdio-drain.d.ts +0 -28
- package/dist/src/utils/stdio-drain.js +0 -54
- package/dist/src/utils/validation.d.ts +0 -182
- package/dist/src/utils/validation.js +0 -394
- package/docs/lifecycle-invariants.md +0 -523
- package/docs/run-logs.md +0 -122
- package/docs/verification-trees.md +0 -49
- /package/dist/src/{types/cli.js → cli/context.js} +0 -0
|
@@ -1,416 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { assert } from '../utils/assert.js';
|
|
3
|
-
/**
|
|
4
|
-
* Pure parsing functions for extracting information from patch files. All
|
|
5
|
-
* functions are synchronous and operate on string content.
|
|
6
|
-
*
|
|
7
|
-
* This module is the one unified-diff walker in the codebase. Hand-rolled
|
|
8
|
-
* `diff --git` walkers diverge in ways that matter: CRLF handling (a
|
|
9
|
-
* CRLF-saved patch file silently fails target-file matching and
|
|
10
|
-
* `\ No newline` detection on Windows), quoted-path support, and greedy path
|
|
11
|
-
* captures that mis-split any path containing ` b/`. New diff-shaped parsing
|
|
12
|
-
* must build on {@link parseDiffSections} rather than re-walking lines.
|
|
13
|
-
*/
|
|
14
|
-
/** Width of the zero-padded numeric prefix on a patch filename ("001-…"). */
|
|
15
|
-
const PATCH_ORDER_WIDTH = 3;
|
|
16
|
-
/**
|
|
17
|
-
* Renders a patch order as the zero-padded prefix used in filenames and in
|
|
18
|
-
* every message that names an order.
|
|
19
|
-
*
|
|
20
|
-
* Eleven call sites across `patch-policy`, `patch-export`, `export-flow`,
|
|
21
|
-
* `export-placement-policy` and `patch move-files` spelled this as
|
|
22
|
-
* `String(order).padStart(3, '0')`, so the padding width lived in eleven
|
|
23
|
-
* places while the filenames it has to agree with are produced in one.
|
|
24
|
-
* @param order - Numeric patch order.
|
|
25
|
-
* @param width - Prefix width. Defaults to the on-disk convention.
|
|
26
|
-
* @returns The zero-padded order, e.g. `007`.
|
|
27
|
-
*/
|
|
28
|
-
export function formatPatchOrder(order, width = PATCH_ORDER_WIDTH) {
|
|
29
|
-
return String(order).padStart(width, '0');
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Renders an inclusive order range the way `patchPolicy` diagnostics name it.
|
|
33
|
-
* @param range - Inclusive `from`/`to` order bounds.
|
|
34
|
-
* @returns The range label, e.g. `100-199`.
|
|
35
|
-
*/
|
|
36
|
-
export function formatOrderRange(range) {
|
|
37
|
-
return `${formatPatchOrder(range.from)}-${formatPatchOrder(range.to)}`;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Extracts the order number from a patch filename.
|
|
41
|
-
* Expects format like "001-description.patch"
|
|
42
|
-
* @param filename - Patch filename
|
|
43
|
-
* @returns Order number, or Infinity if no prefix
|
|
44
|
-
*/
|
|
45
|
-
export function extractOrder(filename) {
|
|
46
|
-
const match = /^(\d+)-/.exec(filename);
|
|
47
|
-
if (match?.[1]) {
|
|
48
|
-
return parseInt(match[1], 10);
|
|
49
|
-
}
|
|
50
|
-
return Infinity;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Extracts the order number from a patch filename that is about to be
|
|
54
|
-
* written into the manifest.
|
|
55
|
-
*
|
|
56
|
-
* The write-side counterpart to {@link extractOrder}. That one answers
|
|
57
|
-
* `Infinity` for a prefix-less filename, which sorts such a patch last and
|
|
58
|
-
* is the right answer for a read: an unparseable name should not crash a
|
|
59
|
-
* status listing. Persisting `Infinity` (or a fallback `0`) is a different
|
|
60
|
-
* matter: it puts an order in the manifest
|
|
61
|
-
* that no filename on disk agrees with, and the queue then applies in an
|
|
62
|
-
* order the operator cannot see. Callers here have just built or
|
|
63
|
-
* looked up a real prefixed filename, so absence is a bug, not input.
|
|
64
|
-
*
|
|
65
|
-
* @param filename - Patch filename carrying a numeric order prefix
|
|
66
|
-
* @returns The parsed order
|
|
67
|
-
* @throws {@link InternalInvariantError} when `filename` has no numeric prefix.
|
|
68
|
-
*/
|
|
69
|
-
export function requirePatchOrder(filename) {
|
|
70
|
-
const match = /^(\d+)-/.exec(filename);
|
|
71
|
-
assert(match?.[1] !== undefined, () => `patch filename carries a numeric order prefix (got "${filename}")`);
|
|
72
|
-
return parseInt(match[1], 10);
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Un-escapes a path from git's C-style quoted form (`"a/pfad m\303\244..."`).
|
|
76
|
-
* Handles the escapes git emits: `\\`, `\"`, `\t`, `\n`, `\r` and three-digit
|
|
77
|
-
* octal byte escapes. Octal bytes are decoded through a byte buffer so
|
|
78
|
-
* multibyte UTF-8 sequences (git's default `core.quotePath=true` encodes any
|
|
79
|
-
* non-ASCII path this way) come back as the real characters.
|
|
80
|
-
*/
|
|
81
|
-
function unquoteGitPath(quoted) {
|
|
82
|
-
const bytes = [];
|
|
83
|
-
for (let i = 0; i < quoted.length; i++) {
|
|
84
|
-
const ch = quoted[i];
|
|
85
|
-
if (ch !== '\\') {
|
|
86
|
-
// Plain character, which may itself be multi-byte when the diff already
|
|
87
|
-
// contains raw UTF-8. Push its bytes.
|
|
88
|
-
const encoded = Buffer.from(quoted[i] ?? '', 'utf-8');
|
|
89
|
-
for (const b of encoded)
|
|
90
|
-
bytes.push(b);
|
|
91
|
-
continue;
|
|
92
|
-
}
|
|
93
|
-
const next = quoted[i + 1];
|
|
94
|
-
if (next === undefined)
|
|
95
|
-
break;
|
|
96
|
-
if (next >= '0' && next <= '7') {
|
|
97
|
-
const octal = quoted.slice(i + 1, i + 4);
|
|
98
|
-
bytes.push(parseInt(octal, 8));
|
|
99
|
-
i += 3;
|
|
100
|
-
continue;
|
|
101
|
-
}
|
|
102
|
-
const mapped = next === 'n' ? 0x0a : next === 't' ? 0x09 : next === 'r' ? 0x0d : next.charCodeAt(0);
|
|
103
|
-
bytes.push(mapped);
|
|
104
|
-
i += 1;
|
|
105
|
-
}
|
|
106
|
-
return Buffer.from(bytes).toString('utf-8');
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Parses a `diff --git` line into its two paths.
|
|
110
|
-
*
|
|
111
|
-
* Handles the quoted form git emits for paths with special characters
|
|
112
|
-
* (`diff --git "a/x y" "b/x y"`), and disambiguates the unquoted form for
|
|
113
|
-
* paths that themselves contain ` b/`: for the overwhelmingly common
|
|
114
|
-
* non-rename case the two paths are identical, so a symmetric split
|
|
115
|
-
* (`a/<p> b/<p>`) is tried first: a greedy `a\/.+ b\/(.+)$` splits such
|
|
116
|
-
* lines at the last ` b/` and returns a truncated path. Falls back to a
|
|
117
|
-
* non-greedy split for renames.
|
|
118
|
-
*
|
|
119
|
-
* @returns null when the line is not a diff --git header.
|
|
120
|
-
*/
|
|
121
|
-
export function parseDiffGitHeader(line) {
|
|
122
|
-
const stripped = line.endsWith('\r') ? line.slice(0, -1) : line;
|
|
123
|
-
if (!stripped.startsWith('diff --git '))
|
|
124
|
-
return null;
|
|
125
|
-
const body = stripped.slice('diff --git '.length);
|
|
126
|
-
// Quoted form (either or both sides may be quoted).
|
|
127
|
-
const quoted = /^(?:"a\/((?:[^"\\]|\\.)*)"|a\/(\S+)) (?:"b\/((?:[^"\\]|\\.)*)"|b\/(.+))$/.exec(body);
|
|
128
|
-
if (quoted && (quoted[1] !== undefined || quoted[3] !== undefined)) {
|
|
129
|
-
const sourcePath = quoted[1] !== undefined ? unquoteGitPath(quoted[1]) : (quoted[2] ?? '');
|
|
130
|
-
const targetPath = quoted[3] !== undefined ? unquoteGitPath(quoted[3]) : (quoted[4] ?? '');
|
|
131
|
-
return { sourcePath, targetPath };
|
|
132
|
-
}
|
|
133
|
-
if (!body.startsWith('a/'))
|
|
134
|
-
return null;
|
|
135
|
-
const rest = body.slice(2);
|
|
136
|
-
// Symmetric split: body === `a/<p> b/<p>`. Correct even when <p>
|
|
137
|
-
// contains ` b/`, which defeats any single-regex approach.
|
|
138
|
-
if ((rest.length - 3) % 2 === 0) {
|
|
139
|
-
const pathLength = (rest.length - 3) / 2;
|
|
140
|
-
const candidate = rest.slice(0, pathLength);
|
|
141
|
-
if (rest === `${candidate} b/${candidate}`) {
|
|
142
|
-
return { sourcePath: candidate, targetPath: candidate };
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
// Rename/copy (differing paths): split at the first ` b/` with a path on
|
|
146
|
-
// each side. indexOf keeps this linear where a lazy regex backtracks.
|
|
147
|
-
if (/[\n\r\u2028\u2029]/.test(rest))
|
|
148
|
-
return null;
|
|
149
|
-
const split = rest.indexOf(' b/', 1);
|
|
150
|
-
if (split === -1 || split + 3 >= rest.length)
|
|
151
|
-
return null;
|
|
152
|
-
return { sourcePath: rest.slice(0, split), targetPath: rest.slice(split + 3) };
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Splits raw diff content into lines, tolerating CRLF-saved patch files.
|
|
156
|
-
*
|
|
157
|
-
* The distinction matters: a patch file saved with CRLF endings (Windows
|
|
158
|
-
* editor, `core.autocrlf` checkout) has `\r` on every line including
|
|
159
|
-
* structural ones. Strip it, or headers, `@@` lines and the
|
|
160
|
-
* `` marker all fail to match. But an LF patch
|
|
161
|
-
* of a file whose content is CRLF has `\r` only on payload lines, where it
|
|
162
|
-
* is significant and must be preserved. Detect the former by checking the
|
|
163
|
-
* structural lines themselves for a trailing `\r`.
|
|
164
|
-
*/
|
|
165
|
-
function splitDiffLines(diffContent) {
|
|
166
|
-
const lines = diffContent.split('\n');
|
|
167
|
-
const isCrlfPatchFile = lines.some((line) => (line.startsWith('diff --git') || line.startsWith('@@ ')) &&
|
|
168
|
-
line.endsWith('\r') &&
|
|
169
|
-
line.length > 1);
|
|
170
|
-
if (!isCrlfPatchFile)
|
|
171
|
-
return lines;
|
|
172
|
-
return lines.map((line) => (line.endsWith('\r') ? line.slice(0, -1) : line));
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Parses a unified diff into structured per-file sections. This is the
|
|
176
|
-
* single shared walker every diff consumer builds on.
|
|
177
|
-
*/
|
|
178
|
-
export function parseDiffSections(diffContent) {
|
|
179
|
-
const sections = [];
|
|
180
|
-
const lines = splitDiffLines(diffContent);
|
|
181
|
-
let current = null;
|
|
182
|
-
let currentHunk = null;
|
|
183
|
-
const finishHunk = () => {
|
|
184
|
-
if (current && currentHunk) {
|
|
185
|
-
current.hunks.push(currentHunk);
|
|
186
|
-
}
|
|
187
|
-
currentHunk = null;
|
|
188
|
-
};
|
|
189
|
-
for (const line of lines) {
|
|
190
|
-
const header = parseDiffGitHeader(line);
|
|
191
|
-
if (header) {
|
|
192
|
-
finishHunk();
|
|
193
|
-
current = {
|
|
194
|
-
targetPath: header.targetPath,
|
|
195
|
-
sourcePath: header.sourcePath,
|
|
196
|
-
isNewFile: false,
|
|
197
|
-
isDeletedFile: false,
|
|
198
|
-
isBinary: false,
|
|
199
|
-
hasBinaryDelta: false,
|
|
200
|
-
hunks: [],
|
|
201
|
-
};
|
|
202
|
-
sections.push(current);
|
|
203
|
-
continue;
|
|
204
|
-
}
|
|
205
|
-
if (!current)
|
|
206
|
-
continue;
|
|
207
|
-
if (currentHunk === null) {
|
|
208
|
-
// File metadata zone (between the header and the first hunk).
|
|
209
|
-
if (line.startsWith('new file mode')) {
|
|
210
|
-
current.isNewFile = true;
|
|
211
|
-
continue;
|
|
212
|
-
}
|
|
213
|
-
if (line.startsWith('deleted file mode')) {
|
|
214
|
-
current.isDeletedFile = true;
|
|
215
|
-
continue;
|
|
216
|
-
}
|
|
217
|
-
if (line === 'GIT binary patch') {
|
|
218
|
-
current.isBinary = true;
|
|
219
|
-
current.hasBinaryDelta = true;
|
|
220
|
-
continue;
|
|
221
|
-
}
|
|
222
|
-
if (/^Binary files .* differ$/.test(line)) {
|
|
223
|
-
// Informational form: binary, but with no payload to apply.
|
|
224
|
-
current.isBinary = true;
|
|
225
|
-
continue;
|
|
226
|
-
}
|
|
227
|
-
// `git diff --binary` always records full blob hashes here (git
|
|
228
|
-
// apply requires them). Text sections carry abbreviated ones. The
|
|
229
|
-
// hashes let binary sections be compared by identity when their
|
|
230
|
-
// payload cannot be applied as text.
|
|
231
|
-
const indexMatch = /^index ([0-9a-f]{7,64})\.\.([0-9a-f]{7,64})(?: \d{6})?$/.exec(line);
|
|
232
|
-
if (indexMatch?.[1] !== undefined && indexMatch[2] !== undefined) {
|
|
233
|
-
current.indexOldHash = indexMatch[1];
|
|
234
|
-
current.indexNewHash = indexMatch[2];
|
|
235
|
-
continue;
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
if (current.isBinary)
|
|
239
|
-
continue;
|
|
240
|
-
const hunkMatch = /^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/.exec(line);
|
|
241
|
-
if (hunkMatch) {
|
|
242
|
-
finishHunk();
|
|
243
|
-
currentHunk = {
|
|
244
|
-
oldStart: parseInt(hunkMatch[1] ?? '0', 10),
|
|
245
|
-
oldCount: parseInt(hunkMatch[2] ?? '1', 10),
|
|
246
|
-
newStart: parseInt(hunkMatch[3] ?? '0', 10),
|
|
247
|
-
newCount: parseInt(hunkMatch[4] ?? '1', 10),
|
|
248
|
-
lines: [],
|
|
249
|
-
noNewlineAtEndOld: false,
|
|
250
|
-
noNewlineAtEndNew: false,
|
|
251
|
-
};
|
|
252
|
-
continue;
|
|
253
|
-
}
|
|
254
|
-
if (!currentHunk)
|
|
255
|
-
continue;
|
|
256
|
-
if (line === '\') {
|
|
257
|
-
// The marker is an annotation on the immediately preceding body
|
|
258
|
-
// line. Peek the last collected line to decide which side(s) the
|
|
259
|
-
// annotation applies to. A single boolean cannot represent the
|
|
260
|
-
// asymmetric case where only one side lacks the trailing newline.
|
|
261
|
-
const previous = currentHunk.lines[currentHunk.lines.length - 1] ?? '';
|
|
262
|
-
if (previous.startsWith('-')) {
|
|
263
|
-
currentHunk.noNewlineAtEndOld = true;
|
|
264
|
-
}
|
|
265
|
-
else if (previous.startsWith('+')) {
|
|
266
|
-
currentHunk.noNewlineAtEndNew = true;
|
|
267
|
-
}
|
|
268
|
-
else if (previous.startsWith(' ')) {
|
|
269
|
-
// Context line: present in both sides, so the trailing-newline
|
|
270
|
-
// absence applies to both. This is rare (it only happens when
|
|
271
|
-
// the hunk ends on an unchanged line that itself is the last
|
|
272
|
-
// line of the file) but real: git emits it.
|
|
273
|
-
currentHunk.noNewlineAtEndOld = true;
|
|
274
|
-
currentHunk.noNewlineAtEndNew = true;
|
|
275
|
-
}
|
|
276
|
-
// If the marker appears with no preceding body line (malformed
|
|
277
|
-
// diff), leave both flags false. The downstream apply logic
|
|
278
|
-
// will still produce a defined result.
|
|
279
|
-
continue;
|
|
280
|
-
}
|
|
281
|
-
if (line.startsWith('+') || line.startsWith('-') || line.startsWith(' ')) {
|
|
282
|
-
currentHunk.lines.push(line);
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
finishHunk();
|
|
286
|
-
return sections;
|
|
287
|
-
}
|
|
288
|
-
/** A `---`/`+++` file name, without a trailing timestamp or git's `a/`/`b/`. */
|
|
289
|
-
function plainDiffPath(raw) {
|
|
290
|
-
const name = raw.split('\t')[0]?.trim() ?? '';
|
|
291
|
-
return name.startsWith('a/') || name.startsWith('b/') ? name.slice(2) : name;
|
|
292
|
-
}
|
|
293
|
-
/** The git header block for one plain `---`/`+++` pair. */
|
|
294
|
-
function gitHeaderFor(oldPath, newPath) {
|
|
295
|
-
if (oldPath !== '/dev/null' && newPath !== '/dev/null') {
|
|
296
|
-
return [`diff --git a/${oldPath} b/${newPath}`, `--- a/${oldPath}`, `+++ b/${newPath}`];
|
|
297
|
-
}
|
|
298
|
-
// A side on /dev/null is a create or delete; consumers decide by the
|
|
299
|
-
// `new file mode` / `deleted file mode` marker whether they accept it.
|
|
300
|
-
const path = oldPath === '/dev/null' ? newPath : oldPath;
|
|
301
|
-
return [
|
|
302
|
-
`diff --git a/${path} b/${path}`,
|
|
303
|
-
oldPath === '/dev/null' ? 'new file mode 100644' : 'deleted file mode 100644',
|
|
304
|
-
oldPath === '/dev/null' ? '--- /dev/null' : `--- a/${path}`,
|
|
305
|
-
newPath === '/dev/null' ? '+++ /dev/null' : `+++ b/${path}`,
|
|
306
|
-
];
|
|
307
|
-
}
|
|
308
|
-
/**
|
|
309
|
-
* Gives a plain unified diff (`diff -u`, no `diff --git` lines) the git
|
|
310
|
-
* header {@link parseDiffSections} keys on, one per `---`/`+++` pair. A
|
|
311
|
-
* diff that already carries `diff --git` headers is returned unchanged.
|
|
312
|
-
* Hunk bodies are skipped by their header counts, so a removed line that
|
|
313
|
-
* reads `-- x` is never taken for a file header.
|
|
314
|
-
*
|
|
315
|
-
* The two sides keep the names the diff gives them, so a section written
|
|
316
|
-
* as `diff -u <(body) engine/<file>` has a different path on each side;
|
|
317
|
-
* the caller decides which side names the file.
|
|
318
|
-
*
|
|
319
|
-
* @param content - The diff file's text
|
|
320
|
-
* @returns The diff with a `diff --git` header before each file
|
|
321
|
-
*/
|
|
322
|
-
export function withGitHeaders(content) {
|
|
323
|
-
const lines = content.split('\n');
|
|
324
|
-
if (lines.some((line) => line.startsWith('diff --git ')))
|
|
325
|
-
return content;
|
|
326
|
-
const out = [];
|
|
327
|
-
let oldLeft = 0;
|
|
328
|
-
let newLeft = 0;
|
|
329
|
-
for (let index = 0; index < lines.length; index += 1) {
|
|
330
|
-
const line = lines[index] ?? '';
|
|
331
|
-
if (oldLeft > 0 || newLeft > 0) {
|
|
332
|
-
const marker = line[0];
|
|
333
|
-
if (marker !== '+' && marker !== '\\')
|
|
334
|
-
oldLeft -= 1;
|
|
335
|
-
if (marker !== '-' && marker !== '\\')
|
|
336
|
-
newLeft -= 1;
|
|
337
|
-
out.push(line);
|
|
338
|
-
continue;
|
|
339
|
-
}
|
|
340
|
-
const hunk = /^@@ -\d+(?:,(\d+))? \+\d+(?:,(\d+))? @@/.exec(line);
|
|
341
|
-
if (hunk) {
|
|
342
|
-
oldLeft = parseInt(hunk[1] ?? '1', 10);
|
|
343
|
-
newLeft = parseInt(hunk[2] ?? '1', 10);
|
|
344
|
-
out.push(line);
|
|
345
|
-
continue;
|
|
346
|
-
}
|
|
347
|
-
const next = lines[index + 1] ?? '';
|
|
348
|
-
if (line.startsWith('--- ') && next.startsWith('+++ ')) {
|
|
349
|
-
out.push(...gitHeaderFor(plainDiffPath(line.slice(4)), plainDiffPath(next.slice(4))));
|
|
350
|
-
index += 1;
|
|
351
|
-
continue;
|
|
352
|
-
}
|
|
353
|
-
out.push(line);
|
|
354
|
-
}
|
|
355
|
-
return out.join('\n');
|
|
356
|
-
}
|
|
357
|
-
/**
|
|
358
|
-
* Checks whether a specific file is a new-file addition within a patch.
|
|
359
|
-
* For multi-file patches, only inspects the section belonging to targetFile.
|
|
360
|
-
* @param patchContent - The full patch content
|
|
361
|
-
* @param targetFile - The file path to check
|
|
362
|
-
* @returns true if the patch creates targetFile as a new file
|
|
363
|
-
*/
|
|
364
|
-
export function isNewFileInPatch(patchContent, targetFile) {
|
|
365
|
-
return parseDiffSections(patchContent).some((section) => section.targetPath === targetFile && section.isNewFile);
|
|
366
|
-
}
|
|
367
|
-
/**
|
|
368
|
-
* Extracts affected file paths from a diff/patch content.
|
|
369
|
-
* @param diffContent - The diff content to parse
|
|
370
|
-
* @returns Array of file paths
|
|
371
|
-
*/
|
|
372
|
-
export function extractAffectedFiles(diffContent) {
|
|
373
|
-
const files = new Set();
|
|
374
|
-
for (const section of parseDiffSections(diffContent)) {
|
|
375
|
-
files.add(section.targetPath);
|
|
376
|
-
}
|
|
377
|
-
if (files.size === 0) {
|
|
378
|
-
// Header-less unified diff (no `diff --git` lines, e.g. hand-written
|
|
379
|
-
// or `diff -u` output): fall back to the `+++ b/<path>` markers.
|
|
380
|
-
for (const line of splitDiffLines(diffContent)) {
|
|
381
|
-
const addMatch = /^\+\+\+ b\/(.+)$/.exec(line);
|
|
382
|
-
if (addMatch?.[1] && addMatch[1] !== '/dev/null') {
|
|
383
|
-
files.add(addMatch[1]);
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
return Array.from(files).sort();
|
|
388
|
-
}
|
|
389
|
-
/**
|
|
390
|
-
* Parses hunks from a patch file for a specific target file.
|
|
391
|
-
* @param patchContent - The full patch content
|
|
392
|
-
* @param targetFile - The file path to extract hunks for
|
|
393
|
-
* @returns Array of hunk objects with line info and changes
|
|
394
|
-
*/
|
|
395
|
-
export function parseHunksForFile(patchContent, targetFile) {
|
|
396
|
-
return parseDiffSections(patchContent)
|
|
397
|
-
.filter((section) => section.targetPath === targetFile)
|
|
398
|
-
.flatMap((section) => section.hunks);
|
|
399
|
-
}
|
|
400
|
-
/**
|
|
401
|
-
* Extracts conflicting file paths from git apply error message.
|
|
402
|
-
*/
|
|
403
|
-
export function extractConflictingFiles(error) {
|
|
404
|
-
if (!error)
|
|
405
|
-
return [];
|
|
406
|
-
const files = [];
|
|
407
|
-
const lines = error.split('\n');
|
|
408
|
-
for (const line of lines) {
|
|
409
|
-
// Match "error: patch failed: path/to/file:line"
|
|
410
|
-
const match = /error: patch failed: ([^:]+)/.exec(line);
|
|
411
|
-
if (match?.[1]) {
|
|
412
|
-
files.push(match[1]);
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
|
-
return files;
|
|
416
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Registration-only patch policy: the `patchPolicy` rules that need the
|
|
3
|
-
* patch bodies, not just the manifest.
|
|
4
|
-
*
|
|
5
|
-
* - `upstreamAllowlist`: which upstream files (files no patch in the queue
|
|
6
|
-
* creates) a non-reserved patch may modify.
|
|
7
|
-
* - `addOnly` allowlist entries: for shared registration files, a patch may
|
|
8
|
-
* only add lines, and each non-blank added line must carry the marker.
|
|
9
|
-
* - `scopeRules`: limit a class of patch (a category, or a filename pattern
|
|
10
|
-
* such as `-tests\.patch$`) to the files its globs name.
|
|
11
|
-
* - `verifyDocumentPaths`: every reserved allowlist entry's `adr` /
|
|
12
|
-
* `documentation` path must exist.
|
|
13
|
-
*
|
|
14
|
-
* Every rule is opt-in, and none can be evaluated from `patches.json`
|
|
15
|
-
* alone, which is why they live apart from `patch-policy.ts`: that module
|
|
16
|
-
* answers synchronously over a (possibly projected) manifest, this one reads
|
|
17
|
-
* patch bodies and the filesystem. `verify` and `lint --per-patch` run both.
|
|
18
|
-
*/
|
|
19
|
-
import type { PatchesManifest } from '../types/commands/index.js';
|
|
20
|
-
import type { FireForgeConfig } from '../types/config.js';
|
|
21
|
-
import { type PatchQueueEntry } from './patch-lint-cross.js';
|
|
22
|
-
import type { PatchPolicyIssue } from './patch-policy.js';
|
|
23
|
-
/** True when the policy sets any rule this module evaluates. */
|
|
24
|
-
export declare function hasPatchPolicyContentRules(config: FireForgeConfig): boolean;
|
|
25
|
-
/**
|
|
26
|
-
* Evaluates the body-dependent `patchPolicy` rules over a patch queue.
|
|
27
|
-
*
|
|
28
|
-
* @param config - Project configuration
|
|
29
|
-
* @param projectRoot - Project root, for the document-path check
|
|
30
|
-
* @param manifest - Current manifest (category and order per patch)
|
|
31
|
-
* @param entries - Patch queue entries with their bodies
|
|
32
|
-
* @returns Findings, in the same shape {@link evaluatePatchPolicy} returns
|
|
33
|
-
*/
|
|
34
|
-
export declare function evaluatePatchPolicyContent(config: FireForgeConfig, projectRoot: string, manifest: PatchesManifest, entries: readonly PatchQueueEntry[]): Promise<PatchPolicyIssue[]>;
|
|
35
|
-
/**
|
|
36
|
-
* {@link evaluatePatchPolicyContent} for a caller without a queue context
|
|
37
|
-
* in hand (`verify`): reads the patch bodies only when a body-dependent
|
|
38
|
-
* rule is configured.
|
|
39
|
-
*/
|
|
40
|
-
export declare function evaluatePatchPolicyContentForQueue(config: FireForgeConfig, projectRoot: string, patchesDir: string, manifest: PatchesManifest): Promise<PatchPolicyIssue[]>;
|
|
@@ -1,219 +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. A
|
|
72
|
-
* removed line that names one of `retiredPaths` is free too: it drops the
|
|
73
|
-
* registration of a reviewed retirement.
|
|
74
|
-
*/
|
|
75
|
-
function addOnlyViolation(edit, marker, retiredPaths) {
|
|
76
|
-
if (edit.deleted)
|
|
77
|
-
return 'deletes the file';
|
|
78
|
-
if (edit.binary)
|
|
79
|
-
return 'carries a binary change';
|
|
80
|
-
const removed = edit.removed.filter((line) => line.trim() !== '' && !retiredPaths.some((path) => line.includes(path)));
|
|
81
|
-
if (removed.length > 0) {
|
|
82
|
-
return `removes ${String(removed.length)} line(s), first: ${JSON.stringify(removed[0])}`;
|
|
83
|
-
}
|
|
84
|
-
const needle = marker.toLowerCase();
|
|
85
|
-
const unmarked = edit.added.filter((line) => line.trim() !== '' && !line.toLowerCase().includes(needle));
|
|
86
|
-
if (unmarked.length > 0) {
|
|
87
|
-
return (`adds ${String(unmarked.length)} line(s) without the "${marker}" marker, ` +
|
|
88
|
-
`first: ${JSON.stringify(unmarked[0])}`);
|
|
89
|
-
}
|
|
90
|
-
return undefined;
|
|
91
|
-
}
|
|
92
|
-
function evaluateUpstreamEdits(cfg, filename, edits, severity) {
|
|
93
|
-
const allowlist = (cfg.upstreamAllowlist ?? []).map(normalizeAllowEntry);
|
|
94
|
-
const issues = [];
|
|
95
|
-
const outside = [];
|
|
96
|
-
for (const [path, edit] of [...edits].sort(([a], [b]) => a.localeCompare(b))) {
|
|
97
|
-
const matches = allowlist.filter((entry) => matchesAnyGlob(path, [entry.path]));
|
|
98
|
-
if (matches.length === 0) {
|
|
99
|
-
outside.push(path);
|
|
100
|
-
continue;
|
|
101
|
-
}
|
|
102
|
-
// Strictest wins: any add-only match makes the file add-only.
|
|
103
|
-
const addOnly = matches.find((entry) => entry.addOnly === true);
|
|
104
|
-
if (!addOnly)
|
|
105
|
-
continue;
|
|
106
|
-
const marker = addOnly.marker ?? cfg.addOnlyMarker ?? '';
|
|
107
|
-
const retiredPaths = matches.flatMap((entry) => entry.retiredPaths ?? []);
|
|
108
|
-
const violation = addOnlyViolation(edit, marker, retiredPaths);
|
|
109
|
-
if (violation !== undefined) {
|
|
110
|
-
issues.push({
|
|
111
|
-
code: 'add-only',
|
|
112
|
-
filename,
|
|
113
|
-
severity,
|
|
114
|
-
message: `${filename} edits ${path}, which patchPolicy.upstreamAllowlist marks add-only ` +
|
|
115
|
-
`(added lines carrying "${marker}"), but ${violation}.`,
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
if (outside.length > 0) {
|
|
120
|
-
issues.push({
|
|
121
|
-
code: 'upstream-allowlist',
|
|
122
|
-
filename,
|
|
123
|
-
severity,
|
|
124
|
-
message: `${filename} modifies upstream file(s) outside patchPolicy.upstreamAllowlist: ` +
|
|
125
|
-
`${outside.join(', ')}. Move the change into a fork-owned file, or add a reviewed allowlist entry.`,
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
return issues;
|
|
129
|
-
}
|
|
130
|
-
function evaluateScopeRules(cfg, filename, category, files, severity) {
|
|
131
|
-
const issues = [];
|
|
132
|
-
for (const [index, rule] of (cfg.scopeRules ?? []).entries()) {
|
|
133
|
-
if (rule.category !== undefined && rule.category !== category)
|
|
134
|
-
continue;
|
|
135
|
-
if (rule.filenamePattern !== undefined && !new RegExp(rule.filenamePattern).test(filename)) {
|
|
136
|
-
continue;
|
|
137
|
-
}
|
|
138
|
-
const outside = files.filter((file) => !matchesAnyGlob(file, rule.files));
|
|
139
|
-
if (outside.length === 0)
|
|
140
|
-
continue;
|
|
141
|
-
issues.push({
|
|
142
|
-
code: 'scope',
|
|
143
|
-
filename,
|
|
144
|
-
severity,
|
|
145
|
-
message: `${filename} is scoped by patchPolicy.scopeRules[${String(index)}] to ` +
|
|
146
|
-
`${rule.files.join(', ')}, but touches: ${outside.join(', ')}. ` +
|
|
147
|
-
'Move those files to a patch of the class that owns them.',
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
return issues;
|
|
151
|
-
}
|
|
152
|
-
async function evaluateDocumentPaths(cfg, projectRoot, severity) {
|
|
153
|
-
if (cfg.verifyDocumentPaths !== true)
|
|
154
|
-
return [];
|
|
155
|
-
const issues = [];
|
|
156
|
-
for (const range of cfg.reservedRanges ?? []) {
|
|
157
|
-
for (const allowed of range.allowed) {
|
|
158
|
-
for (const [field, path] of [
|
|
159
|
-
['adr', allowed.adr],
|
|
160
|
-
['documentation', allowed.documentation],
|
|
161
|
-
]) {
|
|
162
|
-
if (path === undefined || (await pathExists(join(projectRoot, path))))
|
|
163
|
-
continue;
|
|
164
|
-
issues.push({
|
|
165
|
-
code: 'reserved-document-missing',
|
|
166
|
-
filename: allowed.filename,
|
|
167
|
-
severity,
|
|
168
|
-
message: `${allowed.filename}'s reserved-range allowlist entry names ${field} "${path}", ` +
|
|
169
|
-
'which does not exist. Restore the document or correct the path.',
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
return issues;
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Evaluates the body-dependent `patchPolicy` rules over a patch queue.
|
|
178
|
-
*
|
|
179
|
-
* @param config - Project configuration
|
|
180
|
-
* @param projectRoot - Project root, for the document-path check
|
|
181
|
-
* @param manifest - Current manifest (category and order per patch)
|
|
182
|
-
* @param entries - Patch queue entries with their bodies
|
|
183
|
-
* @returns Findings, in the same shape {@link evaluatePatchPolicy} returns
|
|
184
|
-
*/
|
|
185
|
-
export async function evaluatePatchPolicyContent(config, projectRoot, manifest, entries) {
|
|
186
|
-
const cfg = config.patchPolicy;
|
|
187
|
-
if (!cfg || !hasPatchPolicyContentRules(config))
|
|
188
|
-
return [];
|
|
189
|
-
const severity = cfg.mutationMode === 'warn' ? 'warning' : 'error';
|
|
190
|
-
const queueCreated = new Set();
|
|
191
|
-
for (const entry of entries)
|
|
192
|
-
for (const file of entry.createdFiles)
|
|
193
|
-
queueCreated.add(file);
|
|
194
|
-
const bodies = new Map(entries.map((entry) => [entry.filename, entry.diff]));
|
|
195
|
-
const issues = [];
|
|
196
|
-
for (const patch of manifest.patches) {
|
|
197
|
-
const diff = bodies.get(patch.filename);
|
|
198
|
-
if (cfg.upstreamAllowlist !== undefined && diff !== undefined) {
|
|
199
|
-
if (!isReservedOrder(cfg, patch.order)) {
|
|
200
|
-
const edits = collectUpstreamEdits(diff, queueCreated);
|
|
201
|
-
issues.push(...evaluateUpstreamEdits(cfg, patch.filename, edits, severity));
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
issues.push(...evaluateScopeRules(cfg, patch.filename, patch.category, patch.filesAffected, severity));
|
|
205
|
-
}
|
|
206
|
-
issues.push(...(await evaluateDocumentPaths(cfg, projectRoot, severity)));
|
|
207
|
-
return issues;
|
|
208
|
-
}
|
|
209
|
-
/**
|
|
210
|
-
* {@link evaluatePatchPolicyContent} for a caller without a queue context
|
|
211
|
-
* in hand (`verify`): reads the patch bodies only when a body-dependent
|
|
212
|
-
* rule is configured.
|
|
213
|
-
*/
|
|
214
|
-
export async function evaluatePatchPolicyContentForQueue(config, projectRoot, patchesDir, manifest) {
|
|
215
|
-
if (!hasPatchPolicyContentRules(config))
|
|
216
|
-
return [];
|
|
217
|
-
const { entries } = await buildPatchQueueContext(patchesDir);
|
|
218
|
-
return evaluatePatchPolicyContent(config, projectRoot, manifest, entries);
|
|
219
|
-
}
|