@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,88 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Patch orchestration. Coordinates patch discovery, application, and validation.
|
|
3
|
-
* Pure parsing, content transformation, and lock management are in separate modules.
|
|
4
|
-
*/
|
|
5
|
-
import type { ImportSummary, PatchInfo, PatchMetadata } from '../types/commands/index.js';
|
|
6
|
-
export { PatchError } from '../errors/patch.js';
|
|
7
|
-
export { countPatches, discoverPatches } from './patch-files.js';
|
|
8
|
-
export { withPatchDirectoryLock } from './patch-lock.js';
|
|
9
|
-
export { extractAffectedFiles } from './patch-parse.js';
|
|
10
|
-
/**
|
|
11
|
-
* Options for {@link applyPatchesWithContinue}.
|
|
12
|
-
*/
|
|
13
|
-
export interface ApplyPatchesOptions {
|
|
14
|
-
/** Continue applying patches even after one fails. */
|
|
15
|
-
continueOnFailure?: boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Stop applying patches after this filename has been processed
|
|
18
|
-
* (successfully or not). Any patches after it in apply order are left
|
|
19
|
-
* untouched. Accepts either the bare filename (with or without .patch)
|
|
20
|
-
* or the numeric ordinal as a string. Unknown identifiers throw.
|
|
21
|
-
*/
|
|
22
|
-
untilFilename?: string | undefined;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Decides whether a patch filename matches an `--until` identifier.
|
|
26
|
-
*
|
|
27
|
-
* The identifier is one of three shapes and the three shapes must stay
|
|
28
|
-
* disjoint so the operator can reason about which patch they picked:
|
|
29
|
-
*
|
|
30
|
-
* 1. Exact filename, `005-foo.patch`. Matches only that filename.
|
|
31
|
-
* 2. Filename without extension, `005-foo`. Matches `005-foo.patch`.
|
|
32
|
-
* 3. Bare numeric ordinal, `5` or `005`. Matches the patch whose
|
|
33
|
-
* order prefix parses to the same integer (so `5` and `005` both match
|
|
34
|
-
* `005-foo.patch`, and `05` matches too because parseInt normalizes
|
|
35
|
-
* leading zeros).
|
|
36
|
-
*
|
|
37
|
-
* A purely-numeric identifier is treated only as an ordinal: it does not
|
|
38
|
-
* also match a filename that happens to literally equal the digits. That
|
|
39
|
-
* would require a patch literally named `5` or `005`, which would collide
|
|
40
|
-
* with the filename prefix anyway.
|
|
41
|
-
*/
|
|
42
|
-
export declare function matchesUntilFilename(patchFilename: string, needle: string): boolean;
|
|
43
|
-
/**
|
|
44
|
-
* Enhanced patch application with continue mode.
|
|
45
|
-
* When continueOnFailure is false, rolls back all previously applied patches
|
|
46
|
-
* on the first failure to keep the engine directory in a clean state.
|
|
47
|
-
* @param patchesDir - Path to the patches directory
|
|
48
|
-
* @param engineDir - Path to the engine directory
|
|
49
|
-
* @param options - Application options
|
|
50
|
-
* @returns Import summary with all results
|
|
51
|
-
*/
|
|
52
|
-
export declare function applyPatchesWithContinue(patchesDir: string, engineDir: string, options?: ApplyPatchesOptions): Promise<ImportSummary>;
|
|
53
|
-
/**
|
|
54
|
-
* Batched patched-content computation shared by status classification,
|
|
55
|
-
* import's unmanaged-dirty guard, and discard baseline planning.
|
|
56
|
-
*/
|
|
57
|
-
export interface PatchedContentContext {
|
|
58
|
-
/** Manifest rows, so callers don't re-load the manifest per file. */
|
|
59
|
-
manifestPatches: readonly PatchMetadata[];
|
|
60
|
-
/** Cumulative patched content for a file (null if absent at HEAD with no creator). */
|
|
61
|
-
computePatched: (filePath: string) => Promise<string | null>;
|
|
62
|
-
/** Patches affecting a file, sorted by order (from the shared inverted index). */
|
|
63
|
-
getAffectingPatches: (filePath: string) => readonly PatchInfo[];
|
|
64
|
-
/** Patch body text, memoized per patch path across the whole batch. */
|
|
65
|
-
readPatchBody: (patch: PatchInfo) => Promise<string>;
|
|
66
|
-
/**
|
|
67
|
-
* Reads the HEAD content of every path in one `git cat-file --batch`
|
|
68
|
-
* and holds it for the next {@link computePatched} of each path, which
|
|
69
|
-
* otherwise spawns one `git show` per file. Call it before a loop.
|
|
70
|
-
*/
|
|
71
|
-
prefetchBase: (filePaths: readonly string[]) => Promise<void>;
|
|
72
|
-
/**
|
|
73
|
-
* Hashes every live file in one `git hash-object` per ARG_MAX chunk and
|
|
74
|
-
* holds the hashes for {@link liveBlobHash}.
|
|
75
|
-
*/
|
|
76
|
-
prefetchLiveBlobHashes: (fullPaths: readonly string[]) => Promise<void>;
|
|
77
|
-
/** The live blob hash of a file, from the prefetch or a single hash-object. */
|
|
78
|
-
liveBlobHash: (fullPath: string) => Promise<string | undefined>;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Builds a batched patched-content context that loads the manifest and
|
|
82
|
-
* discovers patch files once for many lookups, and memoizes each patch body
|
|
83
|
-
* read across the batch. A per-call helper re-runs `loadPatchesManifest` +
|
|
84
|
-
* `discoverPatches` and re-reads every affecting patch body for every file,
|
|
85
|
-
* which is O(dirtyFiles × patches) redundant IO when classifying a broad
|
|
86
|
-
* engine edit session during `status` or `import`.
|
|
87
|
-
*/
|
|
88
|
-
export declare function createPatchedContentContext(patchesDir: string, engineDir: string): Promise<PatchedContentContext>;
|
|
@@ -1,435 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Patch orchestration. Coordinates patch discovery, application, and validation.
|
|
4
|
-
* Pure parsing, content transformation, and lock management are in separate modules.
|
|
5
|
-
*/
|
|
6
|
-
import { lstat, readFile, readlink, realpath, rm } from 'node:fs/promises';
|
|
7
|
-
import { basename, dirname, join, resolve, sep } from 'node:path';
|
|
8
|
-
import { PatchError } from '../errors/patch.js';
|
|
9
|
-
import { toError } from '../utils/errors.js';
|
|
10
|
-
import { pathExists, readText, writeFileAtomic, writeText } from '../utils/fs.js';
|
|
11
|
-
import { verbose } from '../utils/logger.js';
|
|
12
|
-
import { isContainedRelativePath } from '../utils/paths.js';
|
|
13
|
-
import { applyPatchIdempotent, reversePatch } from './git.js';
|
|
14
|
-
import { getFileContentAtRef, getFilesContentAtRef, hashObjectBatch } from './git-file-ops.js';
|
|
15
|
-
import { discoverPatches } from './patch-files.js';
|
|
16
|
-
import { loadPatchesManifest } from './patch-manifest.js';
|
|
17
|
-
import { extractAffectedFiles, extractConflictingFiles, isNewFileInPatch, parseDiffSections, } from './patch-parse.js';
|
|
18
|
-
import { applyPatchTextToContent, extractNewFileContentFromDiff } from './patch-transform.js';
|
|
19
|
-
// Re-export from split modules so existing import sites continue working
|
|
20
|
-
export { PatchError } from '../errors/patch.js';
|
|
21
|
-
export { countPatches, discoverPatches } from './patch-files.js';
|
|
22
|
-
export { withPatchDirectoryLock } from './patch-lock.js';
|
|
23
|
-
export { extractAffectedFiles } from './patch-parse.js';
|
|
24
|
-
/**
|
|
25
|
-
* Applies a single patch.
|
|
26
|
-
*
|
|
27
|
-
* @param patch - Patch info
|
|
28
|
-
* @param engineDir - Path to the engine directory
|
|
29
|
-
* @param protectedFiles - Files touched by patches already applied in the
|
|
30
|
-
* current run. The idempotent-recovery reset must not wipe them (see
|
|
31
|
-
* applyPatchIdempotent). Overlapping queues (`--allow-overlap`) share files
|
|
32
|
-
* between patches, and resetting a shared file to HEAD during a later
|
|
33
|
-
* patch's recovery silently discards the earlier patch's changes.
|
|
34
|
-
* @returns Patch result
|
|
35
|
-
*/
|
|
36
|
-
async function applySinglePatch(patch, engineDir, protectedFiles) {
|
|
37
|
-
let patchContent = '';
|
|
38
|
-
let affectedFiles = [];
|
|
39
|
-
try {
|
|
40
|
-
patchContent = await readText(patch.path);
|
|
41
|
-
affectedFiles = extractAffectedFiles(patchContent);
|
|
42
|
-
await validatePatchTargets(patch, affectedFiles, engineDir);
|
|
43
|
-
await applyPatchIdempotent(patch.path, engineDir, {
|
|
44
|
-
...(protectedFiles ? { protectedFiles } : {}),
|
|
45
|
-
});
|
|
46
|
-
return { patch, success: true };
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
if (error instanceof PatchError) {
|
|
50
|
-
return { patch, success: false, error: error.message };
|
|
51
|
-
}
|
|
52
|
-
const applyError = toError(error);
|
|
53
|
-
// Check if this is a resolvable "new file" conflict
|
|
54
|
-
let resolvedNewFiles = false;
|
|
55
|
-
// Save original BYTES of files we might overwrite, so we can restore on
|
|
56
|
-
// failure. Raw buffers rather than decoded text: the same snapshot has to
|
|
57
|
-
// restore a binary target byte-for-byte, and a Buffer round-trips text
|
|
58
|
-
// losslessly where a utf-8 decode of a binary file does not.
|
|
59
|
-
const savedContents = new Map();
|
|
60
|
-
// New-file sections keyed by target, so the binary discrimination below
|
|
61
|
-
// reads the already-parsed section instead of re-scanning the body per
|
|
62
|
-
// file.
|
|
63
|
-
const newFileSections = new Map(parseDiffSections(patchContent)
|
|
64
|
-
.filter((section) => section.isNewFile)
|
|
65
|
-
.map((section) => [section.targetPath, section]));
|
|
66
|
-
try {
|
|
67
|
-
for (const file of affectedFiles) {
|
|
68
|
-
if (!isNewFileInPatch(patchContent, file))
|
|
69
|
-
continue;
|
|
70
|
-
const targetPath = join(engineDir, file);
|
|
71
|
-
if (!(await pathExists(targetPath)))
|
|
72
|
-
continue;
|
|
73
|
-
savedContents.set(file, await readFile(targetPath));
|
|
74
|
-
const section = newFileSections.get(file);
|
|
75
|
-
if (section?.isBinary === true) {
|
|
76
|
-
// A binary new file cannot be resolved by writing extracted
|
|
77
|
-
// text, because the payload is base85, whose alphabet includes
|
|
78
|
-
// '+'. It does not need to be: `git apply` decodes a `GIT binary
|
|
79
|
-
// patch` itself. So the resolution is to remove the blocking file
|
|
80
|
-
// and let the retry below create it from the payload, which is
|
|
81
|
-
// exactly what the text branch achieves by overwriting.
|
|
82
|
-
if (!section.hasBinaryDelta) {
|
|
83
|
-
// `Binary files … differ` records that the bytes changed and
|
|
84
|
-
// carries none of them, so nothing can recreate the file. Fail
|
|
85
|
-
// honestly rather than deleting a file we cannot put back.
|
|
86
|
-
throw new PatchError(`Cannot resolve the new-file conflict for ${file}: the patch's binary section ` +
|
|
87
|
-
'carries no replayable payload (`Binary files … differ` rather than `GIT binary ' +
|
|
88
|
-
'patch`), so the file cannot be recreated. Re-export the patch with a binary-aware ' +
|
|
89
|
-
'diff.', file);
|
|
90
|
-
}
|
|
91
|
-
await rm(targetPath, { force: true });
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
await writeText(targetPath, extractNewFileContentFromDiff(patchContent, file));
|
|
95
|
-
}
|
|
96
|
-
resolvedNewFiles = true;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
catch (extractError) {
|
|
100
|
-
// Resolution threw for a later target after earlier targets were
|
|
101
|
-
// already overwritten or removed. Restore them before reporting
|
|
102
|
-
// failure, instead of letting the exception skip the restore loop
|
|
103
|
-
// entirely and crash the whole import.
|
|
104
|
-
for (const [file, originalContent] of savedContents) {
|
|
105
|
-
await writeFileAtomic(join(engineDir, file), originalContent);
|
|
106
|
-
}
|
|
107
|
-
return { patch, success: false, error: toError(extractError).message };
|
|
108
|
-
}
|
|
109
|
-
if (resolvedNewFiles) {
|
|
110
|
-
try {
|
|
111
|
-
await applyPatchIdempotent(patch.path, engineDir, {
|
|
112
|
-
...(protectedFiles ? { protectedFiles } : {}),
|
|
113
|
-
});
|
|
114
|
-
// Keep the originals: rollbackPatches needs them if a later patch
|
|
115
|
-
// fails, since reverse-applying this new-file patch deletes the
|
|
116
|
-
// target and would otherwise permanently discard the pre-existing
|
|
117
|
-
// content (recoverable from git only if it was tracked at HEAD).
|
|
118
|
-
return { patch, success: true, autoResolved: true, autoResolvedOriginals: savedContents };
|
|
119
|
-
}
|
|
120
|
-
catch (retryError) {
|
|
121
|
-
verbose(`Auto-resolved new-file retry failed for ${patch.filename}: ${toError(retryError).message}`);
|
|
122
|
-
// Restore original file bytes before falling through to --reject
|
|
123
|
-
for (const [file, originalContent] of savedContents) {
|
|
124
|
-
await writeFileAtomic(join(engineDir, file), originalContent);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
// If it's not a simple new-file conflict, try with --reject to help manual resolution
|
|
129
|
-
let errorMessage = applyError.message;
|
|
130
|
-
try {
|
|
131
|
-
// Use --reject to apply what we can and create .rej files for what we can't
|
|
132
|
-
await applyPatchIdempotent(patch.path, engineDir, {
|
|
133
|
-
reject: true,
|
|
134
|
-
...(protectedFiles ? { protectedFiles } : {}),
|
|
135
|
-
});
|
|
136
|
-
// If this somehow succeeds with --reject but failed without, it still shouldn't
|
|
137
|
-
// happen because applyPatch first runs --check which would fail.
|
|
138
|
-
// But if it did succeed, we should still return failure because manual fix is needed
|
|
139
|
-
// for the rejected hunks.
|
|
140
|
-
}
|
|
141
|
-
catch (rejectError) {
|
|
142
|
-
// This is expected to fail, but now we have .rej files
|
|
143
|
-
errorMessage = toError(rejectError).message;
|
|
144
|
-
}
|
|
145
|
-
return { patch, success: false, error: errorMessage };
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Reverses previously applied patches in reverse order.
|
|
150
|
-
* Best-effort: logs warnings for individual failures but does not throw.
|
|
151
|
-
*/
|
|
152
|
-
async function rollbackPatches(results, engineDir) {
|
|
153
|
-
for (let i = results.length - 1; i >= 0; i--) {
|
|
154
|
-
const result = results[i];
|
|
155
|
-
if (!result?.success)
|
|
156
|
-
continue;
|
|
157
|
-
try {
|
|
158
|
-
await reversePatch(result.patch.path, engineDir);
|
|
159
|
-
verbose(`Rolled back ${result.patch.filename}`);
|
|
160
|
-
}
|
|
161
|
-
catch (rollbackError) {
|
|
162
|
-
verbose(`Failed to roll back ${result.patch.filename}: ${toError(rollbackError).message}`);
|
|
163
|
-
}
|
|
164
|
-
// Reversing an auto-resolved new-file patch deletes the target, so
|
|
165
|
-
// put back the pre-existing content the auto-resolve overwrote.
|
|
166
|
-
if (result.autoResolvedOriginals) {
|
|
167
|
-
for (const [file, originalContent] of result.autoResolvedOriginals) {
|
|
168
|
-
try {
|
|
169
|
-
await writeFileAtomic(join(engineDir, file), originalContent);
|
|
170
|
-
verbose(`Restored pre-existing content of ${file} after rollback`);
|
|
171
|
-
}
|
|
172
|
-
catch (restoreError) {
|
|
173
|
-
verbose(`Could not restore ${file}: ${toError(restoreError).message}`);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
async function validatePatchTargets(patch, affectedFiles, engineDir) {
|
|
180
|
-
// realpath the engine root once so containment is checked against the
|
|
181
|
-
// physical tree (the root itself may sit behind a symlink, e.g. /tmp on
|
|
182
|
-
// macOS). An unresolvable engine dir skips the symlink checks. A missing
|
|
183
|
-
// engine surfaces through `git apply --check` with a better message.
|
|
184
|
-
const engineRoot = engineDir ? await realpath(engineDir).catch(() => null) : null;
|
|
185
|
-
for (const file of affectedFiles) {
|
|
186
|
-
if (!isContainedRelativePath(file)) {
|
|
187
|
-
throw new PatchError(`Patch targets a path outside engine/: ${file}`, patch.filename);
|
|
188
|
-
}
|
|
189
|
-
// Verify that a write to the target would physically land inside the
|
|
190
|
-
// engine tree. A crafted patch could otherwise write through a symlink
|
|
191
|
-
// (the target itself, a dangling link, or a symlinked parent directory)
|
|
192
|
-
// to an arbitrary location.
|
|
193
|
-
if (engineDir && engineRoot) {
|
|
194
|
-
const destination = await resolvePatchWriteDestination(join(engineDir, file));
|
|
195
|
-
if (destination !== engineRoot && !destination.startsWith(engineRoot + sep)) {
|
|
196
|
-
throw new PatchError(`Patch targets a path that resolves outside engine/ (symlink escape): ${file}`, patch.filename);
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Resolves where a write to `targetPath` would physically land, following
|
|
203
|
-
* symlinks on every path component that already exists.
|
|
204
|
-
*
|
|
205
|
-
* - Existing target: `realpath` resolves it fully.
|
|
206
|
-
* - Dangling symlink: `realpath` rejects it, but a write through the link
|
|
207
|
-
* would still be created at the link target, so the target is resolved
|
|
208
|
-
* against the link's (real) parent directory. The link target is taken
|
|
209
|
-
* textually. A loop or nested dangling link fails at apply time anyway.
|
|
210
|
-
* - Not-yet-existing file: resolved against the nearest existing ancestor's
|
|
211
|
-
* real path. Components below that ancestor do not exist, so they cannot
|
|
212
|
-
* be symlinks and are appended verbatim.
|
|
213
|
-
*/
|
|
214
|
-
async function resolvePatchWriteDestination(targetPath) {
|
|
215
|
-
try {
|
|
216
|
-
return await realpath(targetPath);
|
|
217
|
-
}
|
|
218
|
-
catch {
|
|
219
|
-
// Fall through: the path (or its symlink target) does not exist.
|
|
220
|
-
}
|
|
221
|
-
try {
|
|
222
|
-
const stats = await lstat(targetPath);
|
|
223
|
-
if (stats.isSymbolicLink()) {
|
|
224
|
-
const linkTarget = await readlink(targetPath);
|
|
225
|
-
return resolve(await resolvePatchWriteDestination(dirname(targetPath)), linkTarget);
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
catch {
|
|
229
|
-
// The path component itself does not exist.
|
|
230
|
-
}
|
|
231
|
-
const parent = dirname(targetPath);
|
|
232
|
-
if (parent === targetPath) {
|
|
233
|
-
return targetPath;
|
|
234
|
-
}
|
|
235
|
-
return join(await resolvePatchWriteDestination(parent), basename(targetPath));
|
|
236
|
-
}
|
|
237
|
-
/**
|
|
238
|
-
* Decides whether a patch filename matches an `--until` identifier.
|
|
239
|
-
*
|
|
240
|
-
* The identifier is one of three shapes and the three shapes must stay
|
|
241
|
-
* disjoint so the operator can reason about which patch they picked:
|
|
242
|
-
*
|
|
243
|
-
* 1. Exact filename, `005-foo.patch`. Matches only that filename.
|
|
244
|
-
* 2. Filename without extension, `005-foo`. Matches `005-foo.patch`.
|
|
245
|
-
* 3. Bare numeric ordinal, `5` or `005`. Matches the patch whose
|
|
246
|
-
* order prefix parses to the same integer (so `5` and `005` both match
|
|
247
|
-
* `005-foo.patch`, and `05` matches too because parseInt normalizes
|
|
248
|
-
* leading zeros).
|
|
249
|
-
*
|
|
250
|
-
* A purely-numeric identifier is treated only as an ordinal: it does not
|
|
251
|
-
* also match a filename that happens to literally equal the digits. That
|
|
252
|
-
* would require a patch literally named `5` or `005`, which would collide
|
|
253
|
-
* with the filename prefix anyway.
|
|
254
|
-
*/
|
|
255
|
-
export function matchesUntilFilename(patchFilename, needle) {
|
|
256
|
-
const isNumeric = /^\d+$/.test(needle);
|
|
257
|
-
if (isNumeric) {
|
|
258
|
-
const order = parseInt(needle, 10);
|
|
259
|
-
const prefixMatch = /^(\d+)-/.exec(patchFilename);
|
|
260
|
-
return prefixMatch !== null && parseInt(prefixMatch[1] ?? '0', 10) === order;
|
|
261
|
-
}
|
|
262
|
-
if (patchFilename === needle)
|
|
263
|
-
return true;
|
|
264
|
-
if (patchFilename === `${needle}.patch`)
|
|
265
|
-
return true;
|
|
266
|
-
return false;
|
|
267
|
-
}
|
|
268
|
-
/**
|
|
269
|
-
* Enhanced patch application with continue mode.
|
|
270
|
-
* When continueOnFailure is false, rolls back all previously applied patches
|
|
271
|
-
* on the first failure to keep the engine directory in a clean state.
|
|
272
|
-
* @param patchesDir - Path to the patches directory
|
|
273
|
-
* @param engineDir - Path to the engine directory
|
|
274
|
-
* @param options - Application options
|
|
275
|
-
* @returns Import summary with all results
|
|
276
|
-
*/
|
|
277
|
-
export async function applyPatchesWithContinue(patchesDir, engineDir, options = {}) {
|
|
278
|
-
const continueOnFailure = options.continueOnFailure ?? false;
|
|
279
|
-
const untilFilename = options.untilFilename;
|
|
280
|
-
const patches = await discoverPatches(patchesDir);
|
|
281
|
-
// Resolve the --until stop index up front so callers get an immediate
|
|
282
|
-
// error on an unknown identifier instead of a silent no-op. Detect
|
|
283
|
-
// ambiguity (two patches matching the same needle). That should never
|
|
284
|
-
// happen in a well-formed manifest, but it surfaces queue corruption
|
|
285
|
-
// loudly instead of silently picking the first match.
|
|
286
|
-
let stopIndex = patches.length - 1;
|
|
287
|
-
if (untilFilename !== undefined) {
|
|
288
|
-
const matchingIndexes = [];
|
|
289
|
-
for (let i = 0; i < patches.length; i++) {
|
|
290
|
-
const patch = patches[i];
|
|
291
|
-
if (patch && matchesUntilFilename(patch.filename, untilFilename)) {
|
|
292
|
-
matchingIndexes.push(i);
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
if (matchingIndexes.length === 0) {
|
|
296
|
-
throw new PatchError(`--until identifier "${untilFilename}" does not match any patch. ` +
|
|
297
|
-
`Available: ${patches.map((p) => p.filename).join(', ')}`);
|
|
298
|
-
}
|
|
299
|
-
if (matchingIndexes.length > 1) {
|
|
300
|
-
const matches = matchingIndexes
|
|
301
|
-
.map((idx) => patches[idx]?.filename ?? '<unknown>')
|
|
302
|
-
.join(', ');
|
|
303
|
-
throw new PatchError(`--until identifier "${untilFilename}" is ambiguous: matches ${matchingIndexes.length} ` +
|
|
304
|
-
`patches (${matches}). Use the full filename to disambiguate.`);
|
|
305
|
-
}
|
|
306
|
-
stopIndex = matchingIndexes[0] ?? patches.length - 1;
|
|
307
|
-
}
|
|
308
|
-
const succeeded = [];
|
|
309
|
-
const failed = [];
|
|
310
|
-
const skipped = [];
|
|
311
|
-
const appliedFiles = new Set();
|
|
312
|
-
for (let i = 0; i < patches.length; i++) {
|
|
313
|
-
const patch = patches[i];
|
|
314
|
-
if (!patch)
|
|
315
|
-
continue;
|
|
316
|
-
if (i > stopIndex) {
|
|
317
|
-
// Patches beyond the --until cutoff are skipped on purpose. They
|
|
318
|
-
// are not failures. Record them in `skipped` so the summary still
|
|
319
|
-
// reflects what the full queue contained.
|
|
320
|
-
skipped.push(patch);
|
|
321
|
-
continue;
|
|
322
|
-
}
|
|
323
|
-
const result = await applySinglePatch(patch, engineDir, appliedFiles);
|
|
324
|
-
if (result.success) {
|
|
325
|
-
succeeded.push(result);
|
|
326
|
-
for (const file of extractAffectedFiles(await readText(patch.path))) {
|
|
327
|
-
appliedFiles.add(file);
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
else {
|
|
331
|
-
// Try to extract conflicting files from error message
|
|
332
|
-
result.conflictingFiles = extractConflictingFiles(result.error);
|
|
333
|
-
failed.push(result);
|
|
334
|
-
if (!continueOnFailure) {
|
|
335
|
-
// Roll back successfully applied patches to keep engine clean
|
|
336
|
-
if (succeeded.length > 0) {
|
|
337
|
-
verbose(`Rolling back ${succeeded.length} previously applied patch(es)…`);
|
|
338
|
-
await rollbackPatches(succeeded, engineDir);
|
|
339
|
-
}
|
|
340
|
-
// Mark remaining patches as skipped (including anything that was
|
|
341
|
-
// already past the --until cutoff, which stays skipped).
|
|
342
|
-
for (let j = i + 1; j < patches.length; j++) {
|
|
343
|
-
const remainingPatch = patches[j];
|
|
344
|
-
if (remainingPatch) {
|
|
345
|
-
skipped.push(remainingPatch);
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
break;
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
return {
|
|
353
|
-
total: patches.length,
|
|
354
|
-
succeeded,
|
|
355
|
-
failed,
|
|
356
|
-
skipped,
|
|
357
|
-
};
|
|
358
|
-
}
|
|
359
|
-
/**
|
|
360
|
-
* Builds a batched patched-content context that loads the manifest and
|
|
361
|
-
* discovers patch files once for many lookups, and memoizes each patch body
|
|
362
|
-
* read across the batch. A per-call helper re-runs `loadPatchesManifest` +
|
|
363
|
-
* `discoverPatches` and re-reads every affecting patch body for every file,
|
|
364
|
-
* which is O(dirtyFiles × patches) redundant IO when classifying a broad
|
|
365
|
-
* engine edit session during `status` or `import`.
|
|
366
|
-
*/
|
|
367
|
-
export async function createPatchedContentContext(patchesDir, engineDir) {
|
|
368
|
-
const manifest = await loadPatchesManifest(patchesDir);
|
|
369
|
-
const patches = await discoverPatches(patchesDir);
|
|
370
|
-
const patchByFilename = new Map(patches.map((p) => [p.filename, p]));
|
|
371
|
-
const affectingByFile = new Map();
|
|
372
|
-
for (const metadata of manifest?.patches ?? []) {
|
|
373
|
-
const patch = patchByFilename.get(metadata.filename);
|
|
374
|
-
if (!patch)
|
|
375
|
-
continue;
|
|
376
|
-
for (const file of metadata.filesAffected) {
|
|
377
|
-
const list = affectingByFile.get(file) ?? [];
|
|
378
|
-
list.push(patch);
|
|
379
|
-
affectingByFile.set(file, list);
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
|
-
for (const list of affectingByFile.values()) {
|
|
383
|
-
list.sort((a, b) => a.order - b.order);
|
|
384
|
-
}
|
|
385
|
-
// Promise-memoized so concurrent classification workers never read the
|
|
386
|
-
// same body twice (memoizing the promise, not the value, closes the
|
|
387
|
-
// window between two workers missing the cache at once).
|
|
388
|
-
const bodyPromises = new Map();
|
|
389
|
-
const readPatchBody = (patch) => {
|
|
390
|
-
let body = bodyPromises.get(patch.path);
|
|
391
|
-
if (!body) {
|
|
392
|
-
body = readText(patch.path);
|
|
393
|
-
bodyPromises.set(patch.path, body);
|
|
394
|
-
}
|
|
395
|
-
return body;
|
|
396
|
-
};
|
|
397
|
-
const getAffectingPatches = (filePath) => affectingByFile.get(filePath) ?? [];
|
|
398
|
-
// Prefetched HEAD content, consumed on first use so a large scan does not
|
|
399
|
-
// hold every base file for the life of the context.
|
|
400
|
-
const baseContent = new Map();
|
|
401
|
-
const takeBase = async (filePath) => {
|
|
402
|
-
if (baseContent.has(filePath)) {
|
|
403
|
-
const content = baseContent.get(filePath) ?? null;
|
|
404
|
-
baseContent.delete(filePath);
|
|
405
|
-
return content;
|
|
406
|
-
}
|
|
407
|
-
return getFileContentAtRef(engineDir, filePath);
|
|
408
|
-
};
|
|
409
|
-
const liveHashes = new Map();
|
|
410
|
-
return {
|
|
411
|
-
manifestPatches: manifest?.patches ?? [],
|
|
412
|
-
getAffectingPatches,
|
|
413
|
-
readPatchBody,
|
|
414
|
-
prefetchBase: async (filePaths) => {
|
|
415
|
-
const wanted = filePaths.filter((file) => !baseContent.has(file));
|
|
416
|
-
for (const [file, content] of await getFilesContentAtRef(engineDir, wanted)) {
|
|
417
|
-
baseContent.set(file, content);
|
|
418
|
-
}
|
|
419
|
-
},
|
|
420
|
-
prefetchLiveBlobHashes: async (fullPaths) => {
|
|
421
|
-
const wanted = fullPaths.filter((path) => !liveHashes.has(path));
|
|
422
|
-
for (const [path, hash] of await hashObjectBatch(engineDir, wanted)) {
|
|
423
|
-
liveHashes.set(path, hash);
|
|
424
|
-
}
|
|
425
|
-
},
|
|
426
|
-
liveBlobHash: async (fullPath) => liveHashes.get(fullPath) ?? (await hashObjectBatch(engineDir, [fullPath])).get(fullPath),
|
|
427
|
-
computePatched: async (filePath) => {
|
|
428
|
-
let content = await takeBase(filePath);
|
|
429
|
-
for (const patch of getAffectingPatches(filePath)) {
|
|
430
|
-
content = applyPatchTextToContent(content, await readPatchBody(patch), filePath);
|
|
431
|
-
}
|
|
432
|
-
return content;
|
|
433
|
-
},
|
|
434
|
-
};
|
|
435
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Patch coverage and supersession helpers used by export planning.
|
|
3
|
-
*/
|
|
4
|
-
import type { PatchInfo, PatchMetadata } from '../types/commands/index.js';
|
|
5
|
-
/**
|
|
6
|
-
* Report whether a patch is fully covered by a new export, and which of its
|
|
7
|
-
* files caused the coverage.
|
|
8
|
-
*/
|
|
9
|
-
export interface PatchCoverage {
|
|
10
|
-
covered: boolean;
|
|
11
|
-
byFiles: string[];
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Checks whether a patch is fully covered by a new export.
|
|
15
|
-
* A patch is fully covered when every file it affects is present in the new export.
|
|
16
|
-
* @param patchFiles - Files affected by the existing patch
|
|
17
|
-
* @param targetFiles - Files affected by the new export
|
|
18
|
-
* @returns Coverage report with the triggering file list when `covered` is true
|
|
19
|
-
*/
|
|
20
|
-
export declare function isPatchFullyCovered(patchFiles: string[], targetFiles: string[]): PatchCoverage;
|
|
21
|
-
/**
|
|
22
|
-
* Finds patches whose filesAffected entries are fully covered by the specified files.
|
|
23
|
-
* Used for complete supersession when exporting full-file patches.
|
|
24
|
-
* @param patchesDir - Path to the patches directory
|
|
25
|
-
* @param targetFiles - Files affected by the new export
|
|
26
|
-
* @param excludeFilename - Filename to exclude from results (the new patch itself)
|
|
27
|
-
* @returns Patches that are fully covered by the new export
|
|
28
|
-
*/
|
|
29
|
-
export declare function findAllPatchesForFiles(patchesDir: string, targetFiles: string[], excludeFilename?: string): Promise<PatchInfo[]>;
|
|
30
|
-
/**
|
|
31
|
-
* Describes which files in a covered patch triggered its supersession.
|
|
32
|
-
* Returned from `planExport` so dry-run previews can render a complete
|
|
33
|
-
* "moved / removed" picture rather than a bare patch count.
|
|
34
|
-
*/
|
|
35
|
-
export interface SupersedeCoverageDetail {
|
|
36
|
-
/** Existing patch filename. */
|
|
37
|
-
filename: string;
|
|
38
|
-
/** Files the existing patch claimed that the new export also claims. */
|
|
39
|
-
coveredByFiles: string[];
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Resolves coverage details for every existing patch that the new export
|
|
43
|
-
* would fully cover.
|
|
44
|
-
*/
|
|
45
|
-
export declare function findAllPatchesForFilesWithDetails(patchesDir: string, targetFiles: string[], excludeFilename?: string): Promise<{
|
|
46
|
-
patch: PatchInfo;
|
|
47
|
-
coverage: PatchCoverage;
|
|
48
|
-
metadata: PatchMetadata;
|
|
49
|
-
}[]>;
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Patch coverage and supersession helpers used by export planning.
|
|
4
|
-
*/
|
|
5
|
-
import { discoverPatches } from './patch-apply.js';
|
|
6
|
-
import { loadPatchesManifest } from './patch-manifest.js';
|
|
7
|
-
/**
|
|
8
|
-
* Checks whether a patch is fully covered by a new export.
|
|
9
|
-
* A patch is fully covered when every file it affects is present in the new export.
|
|
10
|
-
* @param patchFiles - Files affected by the existing patch
|
|
11
|
-
* @param targetFiles - Files affected by the new export
|
|
12
|
-
* @returns Coverage report with the triggering file list when `covered` is true
|
|
13
|
-
*/
|
|
14
|
-
export function isPatchFullyCovered(patchFiles, targetFiles) {
|
|
15
|
-
if (patchFiles.length === 0) {
|
|
16
|
-
return { covered: false, byFiles: [] };
|
|
17
|
-
}
|
|
18
|
-
const targetFileSet = new Set(targetFiles);
|
|
19
|
-
const covered = patchFiles.every((file) => targetFileSet.has(file));
|
|
20
|
-
return {
|
|
21
|
-
covered,
|
|
22
|
-
byFiles: covered ? [...patchFiles] : [],
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Finds patches whose filesAffected entries are fully covered by the specified files.
|
|
27
|
-
* Used for complete supersession when exporting full-file patches.
|
|
28
|
-
* @param patchesDir - Path to the patches directory
|
|
29
|
-
* @param targetFiles - Files affected by the new export
|
|
30
|
-
* @param excludeFilename - Filename to exclude from results (the new patch itself)
|
|
31
|
-
* @returns Patches that are fully covered by the new export
|
|
32
|
-
*/
|
|
33
|
-
export async function findAllPatchesForFiles(patchesDir, targetFiles, excludeFilename) {
|
|
34
|
-
const manifest = await loadPatchesManifest(patchesDir);
|
|
35
|
-
if (!manifest)
|
|
36
|
-
return [];
|
|
37
|
-
const patches = await discoverPatches(patchesDir);
|
|
38
|
-
const superseded = [];
|
|
39
|
-
for (const metadata of manifest.patches) {
|
|
40
|
-
if (excludeFilename && metadata.filename === excludeFilename)
|
|
41
|
-
continue;
|
|
42
|
-
if (isPatchFullyCovered(metadata.filesAffected, targetFiles).covered) {
|
|
43
|
-
const patch = patches.find((p) => p.filename === metadata.filename);
|
|
44
|
-
if (patch) {
|
|
45
|
-
superseded.push(patch);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return superseded;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Resolves coverage details for every existing patch that the new export
|
|
53
|
-
* would fully cover.
|
|
54
|
-
*/
|
|
55
|
-
export async function findAllPatchesForFilesWithDetails(patchesDir, targetFiles, excludeFilename) {
|
|
56
|
-
const manifest = await loadPatchesManifest(patchesDir);
|
|
57
|
-
if (!manifest)
|
|
58
|
-
return [];
|
|
59
|
-
const patches = await discoverPatches(patchesDir);
|
|
60
|
-
const results = [];
|
|
61
|
-
for (const metadata of manifest.patches) {
|
|
62
|
-
if (excludeFilename && metadata.filename === excludeFilename)
|
|
63
|
-
continue;
|
|
64
|
-
const coverage = isPatchFullyCovered(metadata.filesAffected, targetFiles);
|
|
65
|
-
if (!coverage.covered)
|
|
66
|
-
continue;
|
|
67
|
-
const patch = patches.find((p) => p.filename === metadata.filename);
|
|
68
|
-
if (!patch)
|
|
69
|
-
continue;
|
|
70
|
-
results.push({ patch, coverage, metadata });
|
|
71
|
-
}
|
|
72
|
-
return results;
|
|
73
|
-
}
|