@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,307 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { join } from 'node:path';
|
|
3
|
-
import { appendHistory, confirmDestructive, } from '../core/destructive.js';
|
|
4
|
-
import { enforceFreshFurnaceSources } from '../core/furnace-stale-export.js';
|
|
5
|
-
import { getDiffForFilesAgainstHead } from '../core/git-diff.js';
|
|
6
|
-
import { listTrackedInHead } from '../core/git-file-ops.js';
|
|
7
|
-
import { extractAffectedFiles } from '../core/patch-apply.js';
|
|
8
|
-
import { updatePatchAndMetadata } from '../core/patch-export.js';
|
|
9
|
-
import { buildPatchQueueContext, formatPatchLintIssue, lintPatchQueue, } from '../core/patch-lint.js';
|
|
10
|
-
import { buildLintIgnoreChecks, mergeLintIgnoreIds } from '../core/patch-lint-ignore.js';
|
|
11
|
-
import { computeProjectedLintRegressions } from '../core/patch-lint-projection.js';
|
|
12
|
-
import { loadPatchesManifest } from '../core/patch-manifest.js';
|
|
13
|
-
import { buildProjectedManifest, enforcePatchPolicy } from '../core/patch-policy.js';
|
|
14
|
-
import { InvalidArgumentError } from '../errors/base.js';
|
|
15
|
-
import { pathExists } from '../utils/fs.js';
|
|
16
|
-
import { info, outro, success, warn } from '../utils/logger.js';
|
|
17
|
-
import { runPatchLint } from './export-shared.js';
|
|
18
|
-
import { projectEntryBody } from './patch/entry-projection.js';
|
|
19
|
-
/**
|
|
20
|
-
* Computes the effective `tier` and `lintIgnore` carrying both the patch's
|
|
21
|
-
* existing values and the CLI flag overrides.
|
|
22
|
-
*
|
|
23
|
-
* Tier resolution: the CLI flag takes precedence. The patch's existing tier
|
|
24
|
-
* is the fallback. Lint-ignore resolution: union of the patch's existing list
|
|
25
|
-
* and the CLI flag values, de-duplicated. An empty result returns `undefined`
|
|
26
|
-
* so the caller can drop the field rather than write an empty array.
|
|
27
|
-
*/
|
|
28
|
-
function resolveEffectiveTierAndLintIgnore(target, options) {
|
|
29
|
-
const flagIgnoreSet = new Set(options.lintIgnore ?? []);
|
|
30
|
-
const effectiveLintIgnore = mergeLintIgnoreIds(target.lintIgnore, [...flagIgnoreSet]);
|
|
31
|
-
const effectiveTier = options.tier ?? target.tier;
|
|
32
|
-
return { effectiveTier, effectiveLintIgnore, flagIgnoreSet };
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Projects the cross-patch context (replace the target entry with its
|
|
36
|
-
* shrunken self), runs the patch-queue lint against the projection, and
|
|
37
|
-
* returns a conflict report only for regressions introduced *by* this
|
|
38
|
-
* shrink. Pre-existing cross-patch errors are surfaced as a non-blocking
|
|
39
|
-
* warning so the user does not walk away thinking the queue is clean.
|
|
40
|
-
*/
|
|
41
|
-
async function runProjectedCrossPatchLint(patchesDir, targetFilename, projectedDiff, config) {
|
|
42
|
-
// The config threads `patchLint.forwardRegistration` through, so a forward
|
|
43
|
-
// jar.mn registration is judged the way `lint --per-patch` judges it.
|
|
44
|
-
const baseCtx = await buildPatchQueueContext(patchesDir, config);
|
|
45
|
-
const projection = projectEntryBody(projectedDiff);
|
|
46
|
-
const projectedEntries = baseCtx.entries.map((entry) => {
|
|
47
|
-
if (entry.filename !== targetFilename)
|
|
48
|
-
return entry;
|
|
49
|
-
return { ...entry, ...projection };
|
|
50
|
-
});
|
|
51
|
-
const baselineIssues = lintPatchQueue(baseCtx).filter((i) => i.severity === 'error');
|
|
52
|
-
const projectedIssues = lintPatchQueue({ ...baseCtx, entries: projectedEntries }).filter((i) => i.severity === 'error');
|
|
53
|
-
const regressions = computeProjectedLintRegressions(baselineIssues, projectedIssues);
|
|
54
|
-
if (baselineIssues.length > 0 && regressions.length === 0) {
|
|
55
|
-
warn(`Note: projected queue still has ${baselineIssues.length} pre-existing ` +
|
|
56
|
-
`cross-patch error(s) unrelated to this shrink. Run "fireforge verify" to list them.`);
|
|
57
|
-
}
|
|
58
|
-
if (regressions.length === 0)
|
|
59
|
-
return null;
|
|
60
|
-
return {
|
|
61
|
-
reason: `projected --files state introduces ${regressions.length} new cross-patch lint error(s)`,
|
|
62
|
-
details: regressions.map(formatPatchLintIssue),
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Builds the `Partial<PatchMetadata>` payload for the `--files` write,
|
|
67
|
-
* folding in the CLI flag overrides for `tier` and `lintIgnore` only when the
|
|
68
|
-
* operator actually asked for them.
|
|
69
|
-
*/
|
|
70
|
-
function buildFilesModeMetadataUpdates(actualProjectedFiles, options, effectiveLintIgnore, flagIgnoreSet) {
|
|
71
|
-
const updates = {
|
|
72
|
-
filesAffected: actualProjectedFiles,
|
|
73
|
-
};
|
|
74
|
-
if (options.tier !== undefined) {
|
|
75
|
-
updates.tier = options.tier;
|
|
76
|
-
}
|
|
77
|
-
if (effectiveLintIgnore !== undefined && flagIgnoreSet.size > 0) {
|
|
78
|
-
updates.lintIgnore = effectiveLintIgnore;
|
|
79
|
-
}
|
|
80
|
-
return updates;
|
|
81
|
-
}
|
|
82
|
-
async function confirmFilesModeProjection(args) {
|
|
83
|
-
const { target, retained, removed, added, actualProjectedFiles, deletedFiles, options, conflicts, } = args;
|
|
84
|
-
const isDryRun = options.dryRun === true;
|
|
85
|
-
const summary = [
|
|
86
|
-
`re-export ${target.filename} with --files scope`,
|
|
87
|
-
`current files (${target.filesAffected.length}): ${target.filesAffected.join(', ') || '(none)'}`,
|
|
88
|
-
`retained files (${retained.length}): ${retained.join(', ') || '(none)'}`,
|
|
89
|
-
`projected files (${actualProjectedFiles.length}): ${actualProjectedFiles.join(', ') || '(none)'}`,
|
|
90
|
-
];
|
|
91
|
-
if (removed.length > 0) {
|
|
92
|
-
summary.push(`removed files (${removed.length}; become unmanaged): ${removed.join(', ')}`);
|
|
93
|
-
}
|
|
94
|
-
if (added.length > 0) {
|
|
95
|
-
summary.push(`newly included files (${added.length}): ${added.join(', ')}`);
|
|
96
|
-
}
|
|
97
|
-
if (deletedFiles.length > 0) {
|
|
98
|
-
summary.push(`deleted on disk (captured as deletions the patch will replay): ${deletedFiles.join(', ')}`);
|
|
99
|
-
}
|
|
100
|
-
if (!isDryRun && removed.length > 0 && options.allowShrink !== true) {
|
|
101
|
-
warn(`Refusing to shrink ${target.filename} without --allow-shrink.`);
|
|
102
|
-
for (const line of summary) {
|
|
103
|
-
info(` ${line}`);
|
|
104
|
-
}
|
|
105
|
-
throw new InvalidArgumentError(`Refusing to re-export ${target.filename} with --files because it would remove ${removed.length} existing patch-owned file${removed.length === 1 ? '' : 's'}. Run again with --allow-shrink after reviewing the dry-run output. ` +
|
|
106
|
-
'If the intent is to move those files into their own patch instead, ' +
|
|
107
|
-
'"fireforge patch move-files <from> <to> --file <path> --create --order <n>" does the shrink and the new patch in one transaction.', '--allow-shrink');
|
|
108
|
-
}
|
|
109
|
-
return confirmDestructive({
|
|
110
|
-
operation: 're-export-files',
|
|
111
|
-
title: `Re-export ${target.filename} with --files`,
|
|
112
|
-
summary,
|
|
113
|
-
// A captured deletion still needs the confirmation: the patch will now
|
|
114
|
-
// remove those files wherever it is applied, which is the same class of
|
|
115
|
-
// consequence as shrinking the scope.
|
|
116
|
-
yes: removed.length === 0 && deletedFiles.length === 0 ? true : options.yes === true,
|
|
117
|
-
dryRun: isDryRun,
|
|
118
|
-
unsafeOverride: options.forceUnsafe === true,
|
|
119
|
-
conflicts,
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Splits the requested paths into what can be diffed and what is a deletion.
|
|
124
|
-
*
|
|
125
|
-
* A path absent from disk is one of two very different things, and
|
|
126
|
-
* collapsing them is what made a deletion impossible to capture.
|
|
127
|
-
*
|
|
128
|
-
* Tracked in HEAD: a deletion. `git diff HEAD -- <path>` renders it as a
|
|
129
|
-
* proper `deleted file mode` section, so it stays in the diff scope. (The
|
|
130
|
-
* comment this replaces claimed the diff "would fail" on any missing path,
|
|
131
|
-
* which is true only for the never-tracked case.) Dropping these produced
|
|
132
|
-
* the dangerous shape: a re-export that reported success while writing a patch
|
|
133
|
-
* whose own file list claimed a path it did not restore, so a fresh clone
|
|
134
|
-
* would apply it and resurrect exactly what the change meant to remove.
|
|
135
|
-
*
|
|
136
|
-
* Never tracked in HEAD: nothing on disk and nothing to diff against, so
|
|
137
|
-
* there is no hunk to be had. Refused rather than warned about, because the
|
|
138
|
-
* patch cannot express it either way.
|
|
139
|
-
*
|
|
140
|
-
* @param requested - The `--files` scope
|
|
141
|
-
* @param engineDir - Absolute path to the engine checkout
|
|
142
|
-
* @param patchFilename - Target patch, for the refusal message
|
|
143
|
-
* @returns The diffable scope and the subset captured as deletions
|
|
144
|
-
*/
|
|
145
|
-
async function classifyRequestedPaths(requested, engineDir, patchFilename) {
|
|
146
|
-
const absentFiles = [];
|
|
147
|
-
for (const file of requested) {
|
|
148
|
-
if (!(await pathExists(join(engineDir, file)))) {
|
|
149
|
-
absentFiles.push(file);
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
const trackedAbsent = await listTrackedInHead(engineDir, absentFiles);
|
|
153
|
-
const untrackedAbsent = absentFiles.filter((f) => !trackedAbsent.has(f));
|
|
154
|
-
const deletedFiles = absentFiles.filter((f) => trackedAbsent.has(f));
|
|
155
|
-
if (untrackedAbsent.length > 0) {
|
|
156
|
-
throw new InvalidArgumentError(`Refusing to re-export ${patchFilename} with --files because ${untrackedAbsent.length} requested path${untrackedAbsent.length === 1 ? ' is' : 's are'} ` +
|
|
157
|
-
`neither on disk nor tracked in engine HEAD (${untrackedAbsent.join(', ')}). ` +
|
|
158
|
-
'There is no content to diff and no deletion to record, so the patch could not ' +
|
|
159
|
-
'honour the file list it would claim. Remove those paths from --files.', '--files');
|
|
160
|
-
}
|
|
161
|
-
for (const file of deletedFiles) {
|
|
162
|
-
info(`${patchFilename}: capturing deletion of ${file}`);
|
|
163
|
-
}
|
|
164
|
-
const untrackedSet = new Set(untrackedAbsent);
|
|
165
|
-
return { diffableFiles: requested.filter((f) => !untrackedSet.has(f)), deletedFiles };
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Handles `re-export --files` end-to-end: computes the projected diff, runs
|
|
169
|
-
* the per-patch and cross-patch lint against a context in which the target
|
|
170
|
-
* patch has been replaced with the projected state, gates on
|
|
171
|
-
* confirmDestructive, and writes atomically.
|
|
172
|
-
*
|
|
173
|
-
* Lives outside reExportSinglePatch because the --files path has strictly
|
|
174
|
-
* different semantics (authoritative file list, destructive shrink
|
|
175
|
-
* confirmation, cross-patch projection lint). Shoehorning it through the
|
|
176
|
-
* generic single-patch helper is what makes the projection lint run against
|
|
177
|
-
* the current (unchanged) queue instead of the projected state.
|
|
178
|
-
*/
|
|
179
|
-
export async function reExportFilesInPlace(paths, selectedPatches, options, config) {
|
|
180
|
-
const target = selectedPatches[0];
|
|
181
|
-
if (!target) {
|
|
182
|
-
throw new InvalidArgumentError('--files requires a target patch.', '--files');
|
|
183
|
-
}
|
|
184
|
-
const filesOption = options.files;
|
|
185
|
-
if (filesOption === undefined) {
|
|
186
|
-
throw new InvalidArgumentError('reExportFilesInPlace called with no --files.', '--files');
|
|
187
|
-
}
|
|
188
|
-
const requested = [...new Set(filesOption)].sort();
|
|
189
|
-
// Stale-furnace-source gate: same refusal as the generic re-export path,
|
|
190
|
-
// since the projected diff would capture stale deployed copies.
|
|
191
|
-
await enforceFreshFurnaceSources(paths.root, requested, options.allowStaleFurnace === true, 're-export');
|
|
192
|
-
const removed = target.filesAffected.filter((f) => !requested.includes(f));
|
|
193
|
-
const added = requested.filter((f) => !target.filesAffected.includes(f));
|
|
194
|
-
const retained = target.filesAffected.filter((f) => requested.includes(f));
|
|
195
|
-
const { diffableFiles, deletedFiles } = await classifyRequestedPaths(requested, paths.engine, target.filename);
|
|
196
|
-
// Compute the projected diff up front. This is the same diff the real
|
|
197
|
-
// write would produce, so we get an exact preview through the lint
|
|
198
|
-
// gate and avoid computing it twice.
|
|
199
|
-
const projectedDiff = diffableFiles.length > 0 ? await getDiffForFilesAgainstHead(paths.engine, diffableFiles) : '';
|
|
200
|
-
if (!projectedDiff.trim()) {
|
|
201
|
-
throw new InvalidArgumentError(`Refusing to re-export ${target.filename} with --files because the projected scope ` +
|
|
202
|
-
'produces an empty patch. FireForge does not write zero-hunk patch files; ' +
|
|
203
|
-
`use "fireforge patch delete ${target.filename}" if this patch should be removed entirely.`, '--files');
|
|
204
|
-
}
|
|
205
|
-
const actualProjectedFiles = extractAffectedFiles(projectedDiff);
|
|
206
|
-
const actualProjectedSet = new Set(actualProjectedFiles);
|
|
207
|
-
// Domain is the full requested list, not the diffable subset. When the
|
|
208
|
-
// subset was used, any path filtered out upstream was invisible to this
|
|
209
|
-
// check, which is how a dropped deletion slipped through while the run
|
|
210
|
-
// reported success. A patch must do what its own file list claims, so an
|
|
211
|
-
// explicitly named path that produced no hunk is a refusal.
|
|
212
|
-
const noDiffFiles = requested.filter((file) => !actualProjectedSet.has(file));
|
|
213
|
-
if (noDiffFiles.length > 0) {
|
|
214
|
-
throw new InvalidArgumentError(`Refusing to re-export ${target.filename} with --files because ${noDiffFiles.length} requested path${noDiffFiles.length === 1 ? '' : 's'} produced no diff hunks (${noDiffFiles.join(', ')}). ` +
|
|
215
|
-
'Keeping them in filesAffected would desync patches.json from the patch body. ' +
|
|
216
|
-
'Remove those paths from --files or modify them before retrying.', '--files');
|
|
217
|
-
}
|
|
218
|
-
// Run the per-patch lint against the projected diff, mirroring what
|
|
219
|
-
// runPatchLint does in the standard re-export path. The target patch's
|
|
220
|
-
// `lintIgnore` threads through so a shrink of an advisory-noisy-but-
|
|
221
|
-
// intentional patch (branding bundle, localised-resource pack) does not
|
|
222
|
-
// have to choose between `--skip-lint` (blunt) and the full rebase path.
|
|
223
|
-
// `target.tier` threads the explicit branding-threshold opt-in. CLI flags
|
|
224
|
-
// `--tier` and `--lint-ignore` participate too, with append/union
|
|
225
|
-
// semantics on the lint-ignore list.
|
|
226
|
-
const { effectiveTier, effectiveLintIgnore, flagIgnoreSet } = resolveEffectiveTierAndLintIgnore(target, options);
|
|
227
|
-
const ignoreChecks = buildLintIgnoreChecks(effectiveLintIgnore);
|
|
228
|
-
const patchQueueCtx = (await pathExists(paths.patches))
|
|
229
|
-
? await buildPatchQueueContext(paths.patches)
|
|
230
|
-
: undefined;
|
|
231
|
-
await runPatchLint({
|
|
232
|
-
engineDir: paths.engine,
|
|
233
|
-
filesAffected: actualProjectedFiles,
|
|
234
|
-
diffContent: projectedDiff,
|
|
235
|
-
config,
|
|
236
|
-
skipLint: options.skipLint,
|
|
237
|
-
patchQueueCtx,
|
|
238
|
-
ignoreChecks,
|
|
239
|
-
patchTier: effectiveTier,
|
|
240
|
-
});
|
|
241
|
-
const conflicts = await runProjectedCrossPatchLint(paths.patches, target.filename, projectedDiff, config);
|
|
242
|
-
const filesUpdates = buildFilesModeMetadataUpdates(actualProjectedFiles, options, effectiveLintIgnore, flagIgnoreSet);
|
|
243
|
-
const manifest = await loadPatchesManifest(paths.patches);
|
|
244
|
-
if (manifest) {
|
|
245
|
-
enforcePatchPolicy({
|
|
246
|
-
config,
|
|
247
|
-
manifest: buildProjectedManifest(manifest, manifest.patches.map((entry) => entry.filename === target.filename ? { ...entry, ...filesUpdates } : entry)),
|
|
248
|
-
command: 're-export --files',
|
|
249
|
-
forceUnsafe: options.forceUnsafe === true,
|
|
250
|
-
scope: [target.filename],
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
|
-
const decision = await confirmFilesModeProjection({
|
|
254
|
-
target,
|
|
255
|
-
retained,
|
|
256
|
-
removed,
|
|
257
|
-
added,
|
|
258
|
-
actualProjectedFiles,
|
|
259
|
-
deletedFiles,
|
|
260
|
-
options,
|
|
261
|
-
conflicts,
|
|
262
|
-
});
|
|
263
|
-
if (decision === 'declined') {
|
|
264
|
-
outro('Re-export cancelled');
|
|
265
|
-
return;
|
|
266
|
-
}
|
|
267
|
-
if (decision === 'dry-run') {
|
|
268
|
-
info(`[dry-run] ${target.filename}: ${actualProjectedFiles.length} file(s) in projected scope`);
|
|
269
|
-
outro('Dry run complete — no changes made');
|
|
270
|
-
return;
|
|
271
|
-
}
|
|
272
|
-
// Execute the write. At this point the projected diff is guaranteed
|
|
273
|
-
// non-empty and `actualProjectedFiles` is guaranteed to match the paths the
|
|
274
|
-
// body really touches, so the manifest cannot drift from the regenerated
|
|
275
|
-
// patch body. The history append runs inside the same patch directory lock
|
|
276
|
-
// as the mutation (via the onCommitted hook) so two concurrent re-exports
|
|
277
|
-
// cannot interleave records and a crash between mutation and append cannot
|
|
278
|
-
// orphan the audit trail.
|
|
279
|
-
await updatePatchAndMetadata({
|
|
280
|
-
patchesDir: paths.patches,
|
|
281
|
-
filename: target.filename,
|
|
282
|
-
newContent: projectedDiff,
|
|
283
|
-
updates: filesUpdates,
|
|
284
|
-
onCommitted: async () => {
|
|
285
|
-
await appendHistory(paths.patches, {
|
|
286
|
-
operation: 're-export-files',
|
|
287
|
-
args: {
|
|
288
|
-
filename: target.filename,
|
|
289
|
-
files: actualProjectedFiles,
|
|
290
|
-
previousFiles: target.filesAffected,
|
|
291
|
-
deletionsCaptured: deletedFiles,
|
|
292
|
-
},
|
|
293
|
-
...(options.yes === true ? { yes: true } : {}),
|
|
294
|
-
...(options.forceUnsafe === true ? { unsafeOverride: true } : {}),
|
|
295
|
-
result: 'ok',
|
|
296
|
-
});
|
|
297
|
-
},
|
|
298
|
-
policyGate: {
|
|
299
|
-
config,
|
|
300
|
-
command: 're-export --files',
|
|
301
|
-
forceUnsafe: options.forceUnsafe === true,
|
|
302
|
-
scope: [target.filename],
|
|
303
|
-
},
|
|
304
|
-
});
|
|
305
|
-
success(`Re-exported ${target.filename}`);
|
|
306
|
-
outro('Re-export complete');
|
|
307
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { type ParsedHunk } from '../core/patch-parse.js';
|
|
2
|
-
/** Which hunk mode a re-export runs in, and the diff naming the hunks. */
|
|
3
|
-
export interface HunkSelection {
|
|
4
|
-
mode: 'include' | 'exclude';
|
|
5
|
-
diffPath: string;
|
|
6
|
-
flag: '--hunks-from' | '--exclude-hunks';
|
|
7
|
-
}
|
|
8
|
-
/** The selection a re-export's options ask for, if any. */
|
|
9
|
-
export declare function hunkSelectionOf(options: {
|
|
10
|
-
hunksFrom?: string;
|
|
11
|
-
excludeHunks?: string;
|
|
12
|
-
}): HunkSelection | undefined;
|
|
13
|
-
/** Splits a diff into its raw per-file sections, keyed by target path. */
|
|
14
|
-
export declare function splitRawSections(diff: string): Map<string, string>;
|
|
15
|
-
/**
|
|
16
|
-
* Applies `hunks` to `content` by context, forward or reversed. A hunk
|
|
17
|
-
* whose context is not found refuses, naming it.
|
|
18
|
-
*/
|
|
19
|
-
export declare function applyHunksByContext(content: string, hunks: readonly ParsedHunk[], reverse: boolean, file: string): string;
|
|
20
|
-
/**
|
|
21
|
-
* Builds the re-export body for a hunk-selected run: named files from the
|
|
22
|
-
* selected hunks, the rest from the old body (`--hunks-from`) or the normal
|
|
23
|
-
* working-tree diff (`--exclude-hunks`).
|
|
24
|
-
*
|
|
25
|
-
* @param args.normalDiff - The diff a plain re-export would write
|
|
26
|
-
* @param args.oldBody - The patch's current body
|
|
27
|
-
* @param args.files - The files the refreshed patch owns
|
|
28
|
-
* @param args.patchFilename - The patch being refreshed
|
|
29
|
-
*/
|
|
30
|
-
export declare function buildHunkSelectedDiff(args: {
|
|
31
|
-
engineDir: string;
|
|
32
|
-
selection: HunkSelection;
|
|
33
|
-
patchFilename: string;
|
|
34
|
-
oldBody: string;
|
|
35
|
-
normalDiff: string;
|
|
36
|
-
files: readonly string[];
|
|
37
|
-
}): Promise<string>;
|
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* `re-export --hunks-from <diff>` and `--exclude-hunks <diff>`: export a
|
|
4
|
-
* file by hunk rather than as a whole.
|
|
5
|
-
*
|
|
6
|
-
* Re-export captures a file's working-tree content against engine HEAD, so
|
|
7
|
-
* on a shared engine a peer's unexported line in the same manifest or chrome
|
|
8
|
-
* document landed in the exporting patch, and the only way out was for the
|
|
9
|
-
* peer to park its hunk by hand. These two modes build the file's new
|
|
10
|
-
* content from the hunks a session names:
|
|
11
|
-
*
|
|
12
|
-
* - `--hunks-from`: the patch's current body for the file (HEAD with the
|
|
13
|
-
* old section applied) plus only the named hunks. Files the diff does
|
|
14
|
-
* not name keep their old section.
|
|
15
|
-
* - `--exclude-hunks`: the working tree minus the named hunks. Files the
|
|
16
|
-
* diff does not name export as usual.
|
|
17
|
-
*
|
|
18
|
-
* Hunks are placed by their context, searched outward from the line their
|
|
19
|
-
* header names, so a diff taken before a peer's edit above it still applies.
|
|
20
|
-
* The synthetic content is diffed against HEAD by git itself, on a
|
|
21
|
-
* throwaway index, so the section is byte-for-byte what a plain re-export
|
|
22
|
-
* would write for that content.
|
|
23
|
-
*/
|
|
24
|
-
import { mkdtemp, rm, writeFile } from 'node:fs/promises';
|
|
25
|
-
import { tmpdir } from 'node:os';
|
|
26
|
-
import { join } from 'node:path';
|
|
27
|
-
import { git } from '../core/git-base.js';
|
|
28
|
-
import { getFileContentAtRef, listTrackedInHead } from '../core/git-file-ops.js';
|
|
29
|
-
import { mintDisposableGitIndex } from '../core/git-readonly-index.js';
|
|
30
|
-
import { parseDiffGitHeader, parseDiffSections, withGitHeaders, } from '../core/patch-parse.js';
|
|
31
|
-
import { applyPatchTextToContent } from '../core/patch-transform.js';
|
|
32
|
-
import { GeneralError, InvalidArgumentError } from '../errors/base.js';
|
|
33
|
-
import { PatchError } from '../errors/patch.js';
|
|
34
|
-
import { pathExists, readText } from '../utils/fs.js';
|
|
35
|
-
import { normalizeEngineRelativeInput } from './re-export-scan.js';
|
|
36
|
-
/** The selection a re-export's options ask for, if any. */
|
|
37
|
-
export function hunkSelectionOf(options) {
|
|
38
|
-
if (options.hunksFrom !== undefined) {
|
|
39
|
-
return { mode: 'include', diffPath: options.hunksFrom, flag: '--hunks-from' };
|
|
40
|
-
}
|
|
41
|
-
if (options.excludeHunks !== undefined) {
|
|
42
|
-
return { mode: 'exclude', diffPath: options.excludeHunks, flag: '--exclude-hunks' };
|
|
43
|
-
}
|
|
44
|
-
return undefined;
|
|
45
|
-
}
|
|
46
|
-
/** Splits a diff into its raw per-file sections, keyed by target path. */
|
|
47
|
-
export function splitRawSections(diff) {
|
|
48
|
-
const sections = new Map();
|
|
49
|
-
let path;
|
|
50
|
-
let lines = [];
|
|
51
|
-
const flush = () => {
|
|
52
|
-
if (path !== undefined)
|
|
53
|
-
sections.set(path, `${lines.join('\n')}\n`);
|
|
54
|
-
};
|
|
55
|
-
for (const line of diff.split('\n')) {
|
|
56
|
-
const header = parseDiffGitHeader(line);
|
|
57
|
-
if (header) {
|
|
58
|
-
flush();
|
|
59
|
-
path = header.targetPath;
|
|
60
|
-
lines = [line];
|
|
61
|
-
}
|
|
62
|
-
else if (path !== undefined) {
|
|
63
|
-
lines.push(line);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
flush();
|
|
67
|
-
for (const [key, text] of sections)
|
|
68
|
-
sections.set(key, text.replace(/\n+$/, '\n'));
|
|
69
|
-
return sections;
|
|
70
|
-
}
|
|
71
|
-
/** The old and new line blocks a hunk replaces, swapped when reversed. */
|
|
72
|
-
function hunkBlocks(hunk, reverse) {
|
|
73
|
-
const oldLines = [];
|
|
74
|
-
const newLines = [];
|
|
75
|
-
for (const line of hunk.lines) {
|
|
76
|
-
const marker = line[0];
|
|
77
|
-
const text = line.slice(1);
|
|
78
|
-
if (marker === ' ' || marker === '-')
|
|
79
|
-
oldLines.push(text);
|
|
80
|
-
if (marker === ' ' || marker === '+')
|
|
81
|
-
newLines.push(text);
|
|
82
|
-
}
|
|
83
|
-
return reverse ? { from: newLines, to: oldLines } : { from: oldLines, to: newLines };
|
|
84
|
-
}
|
|
85
|
-
function matchesAt(lines, block, at) {
|
|
86
|
-
if (at < 0 || at + block.length > lines.length)
|
|
87
|
-
return false;
|
|
88
|
-
return block.every((line, index) => lines[at + index] === line);
|
|
89
|
-
}
|
|
90
|
-
/** The match of `block` nearest `expected`, at or after `floor`. */
|
|
91
|
-
function findBlock(lines, block, expected, floor) {
|
|
92
|
-
for (let distance = 0; distance <= lines.length; distance++) {
|
|
93
|
-
for (const at of distance === 0 ? [expected] : [expected - distance, expected + distance]) {
|
|
94
|
-
if (at >= floor && matchesAt(lines, block, at))
|
|
95
|
-
return at;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
return undefined;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Applies `hunks` to `content` by context, forward or reversed. A hunk
|
|
102
|
-
* whose context is not found refuses, naming it.
|
|
103
|
-
*/
|
|
104
|
-
export function applyHunksByContext(content, hunks, reverse, file) {
|
|
105
|
-
const endsWithNewline = content.endsWith('\n') || content === '';
|
|
106
|
-
const lines = content === '' ? [] : content.replace(/\n$/, '').split('\n');
|
|
107
|
-
let offset = 0;
|
|
108
|
-
let floor = 0;
|
|
109
|
-
for (const hunk of hunks) {
|
|
110
|
-
const { from, to } = hunkBlocks(hunk, reverse);
|
|
111
|
-
const start = (reverse ? hunk.newStart : hunk.oldStart) - (from.length === 0 ? 0 : 1);
|
|
112
|
-
const expected = Math.max(0, start + offset);
|
|
113
|
-
const at = from.length === 0 ? expected : findBlock(lines, from, expected, floor);
|
|
114
|
-
if (at === undefined) {
|
|
115
|
-
throw new PatchError(`The hunk @@ -${hunk.oldStart},${hunk.oldCount} +${hunk.newStart},${hunk.newCount} @@ ` +
|
|
116
|
-
`does not ${reverse ? 'match the working tree' : 'apply to the patch body'} of ${file}: ` +
|
|
117
|
-
`its ${reverse ? 'new' : 'old'}-side lines were not found.`);
|
|
118
|
-
}
|
|
119
|
-
lines.splice(at, from.length, ...to);
|
|
120
|
-
offset += to.length - from.length + (at - expected);
|
|
121
|
-
floor = at + to.length;
|
|
122
|
-
}
|
|
123
|
-
if (lines.length === 0)
|
|
124
|
-
return '';
|
|
125
|
-
return `${lines.join('\n')}${endsWithNewline ? '\n' : ''}`;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Diffs `content` for `file` against engine HEAD the way a re-export would,
|
|
129
|
-
* on a throwaway index so the shared one never moves.
|
|
130
|
-
*/
|
|
131
|
-
async function diffContentAgainstHead(engineDir, file, content, tracked) {
|
|
132
|
-
const index = await mintDisposableGitIndex(engineDir);
|
|
133
|
-
if (index === undefined) {
|
|
134
|
-
throw new GeneralError(`Cannot build a private git index in ${engineDir} to diff the hunk-selected ${file}.`);
|
|
135
|
-
}
|
|
136
|
-
const scratch = await mkdtemp(join(tmpdir(), 'fireforge-hunks-'));
|
|
137
|
-
try {
|
|
138
|
-
const temp = join(scratch, 'content');
|
|
139
|
-
await writeFile(temp, content);
|
|
140
|
-
const blob = (await git(['hash-object', '-w', '--path', file, '--', temp], engineDir)).trim();
|
|
141
|
-
const mode = tracked
|
|
142
|
-
? ((await git(['ls-tree', 'HEAD', '--', file], engineDir)).split(/\s/)[0] ?? '100644')
|
|
143
|
-
: '100644';
|
|
144
|
-
await git(['update-index', '--add', '--cacheinfo', `${mode},${blob},${file}`], engineDir, {
|
|
145
|
-
env: index.env,
|
|
146
|
-
});
|
|
147
|
-
return await git(['diff', '--binary', '--cached', 'HEAD', '--', file], engineDir, {
|
|
148
|
-
env: index.env,
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
finally {
|
|
152
|
-
await rm(scratch, { recursive: true, force: true });
|
|
153
|
-
await index.dispose();
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
/** Engine-relative form of a diff path, or undefined when it cannot be one. */
|
|
157
|
-
function asEnginePath(path, flag) {
|
|
158
|
-
try {
|
|
159
|
-
return normalizeEngineRelativeInput(path, flag);
|
|
160
|
-
}
|
|
161
|
-
catch {
|
|
162
|
-
return undefined;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* The owned file a section names. A section whose sides name different
|
|
167
|
-
* paths (`diff -u <(fireforge patch body …) engine/<file>`, or a
|
|
168
|
-
* `git diff --no-index` against a copy) is keyed on the side that is a file
|
|
169
|
-
* the patch owns. One whose sides both name owned files is a rename, and
|
|
170
|
-
* refused; one whose sides name none is keyed on its new side.
|
|
171
|
-
*/
|
|
172
|
-
function sectionFile(section, ownedSet, flag) {
|
|
173
|
-
const target = normalizeEngineRelativeInput(section.targetPath, flag);
|
|
174
|
-
if (section.sourcePath === section.targetPath)
|
|
175
|
-
return target;
|
|
176
|
-
const owned = [target, asEnginePath(section.sourcePath, flag)].filter((path) => path !== undefined && ownedSet.has(path));
|
|
177
|
-
if (owned.length > 1) {
|
|
178
|
-
throw new InvalidArgumentError(`${flag}: the section ${section.sourcePath} -> ${section.targetPath} is a rename; only text hunks of one file can be selected.`, flag);
|
|
179
|
-
}
|
|
180
|
-
return owned[0] ?? target;
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Reads and checks the hunk diff: text sections for files the patch owns.
|
|
184
|
-
* A plain unified diff (`diff -u`, no `diff --git` lines) is accepted.
|
|
185
|
-
*/
|
|
186
|
-
async function readSelection(selection, owned, patch) {
|
|
187
|
-
if (!(await pathExists(selection.diffPath))) {
|
|
188
|
-
throw new InvalidArgumentError(`${selection.flag} ${selection.diffPath} does not exist.`, selection.flag);
|
|
189
|
-
}
|
|
190
|
-
const sections = parseDiffSections(withGitHeaders(await readText(selection.diffPath)));
|
|
191
|
-
if (sections.length === 0) {
|
|
192
|
-
throw new InvalidArgumentError(`${selection.flag} ${selection.diffPath} holds no diff section (a "diff --git" header ` +
|
|
193
|
-
'or a "---"/"+++" pair).', selection.flag);
|
|
194
|
-
}
|
|
195
|
-
const ownedSet = new Set(owned);
|
|
196
|
-
const byFile = new Map();
|
|
197
|
-
for (const section of sections) {
|
|
198
|
-
if (section.isBinary) {
|
|
199
|
-
throw new InvalidArgumentError(`${selection.flag}: the section for ${section.targetPath} is binary; only text hunks can be selected.`, selection.flag);
|
|
200
|
-
}
|
|
201
|
-
const file = sectionFile(section, ownedSet, selection.flag);
|
|
202
|
-
if (!ownedSet.has(file)) {
|
|
203
|
-
throw new InvalidArgumentError(`${selection.flag}: ${file} is not a file this patch owns.`, selection.flag);
|
|
204
|
-
}
|
|
205
|
-
if (section.isNewFile && patch.created.has(file)) {
|
|
206
|
-
throw new InvalidArgumentError(`${selection.flag}: the section for ${file} creates it from /dev/null, but ` +
|
|
207
|
-
`${patch.filename} already creates ${file}, so the section's hunk is the whole file ` +
|
|
208
|
-
'rather than the lines changed since the patch body. Diff against the file as the ' +
|
|
209
|
-
'patch leaves it instead: ' +
|
|
210
|
-
`diff -u <(fireforge patch body ${patch.filename} ${file}) engine/${file}`, selection.flag);
|
|
211
|
-
}
|
|
212
|
-
byFile.set(file, section);
|
|
213
|
-
}
|
|
214
|
-
return byFile;
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Builds the re-export body for a hunk-selected run: named files from the
|
|
218
|
-
* selected hunks, the rest from the old body (`--hunks-from`) or the normal
|
|
219
|
-
* working-tree diff (`--exclude-hunks`).
|
|
220
|
-
*
|
|
221
|
-
* @param args.normalDiff - The diff a plain re-export would write
|
|
222
|
-
* @param args.oldBody - The patch's current body
|
|
223
|
-
* @param args.files - The files the refreshed patch owns
|
|
224
|
-
* @param args.patchFilename - The patch being refreshed
|
|
225
|
-
*/
|
|
226
|
-
export async function buildHunkSelectedDiff(args) {
|
|
227
|
-
const { engineDir, selection, oldBody, normalDiff, files } = args;
|
|
228
|
-
const created = new Set(parseDiffSections(oldBody)
|
|
229
|
-
.filter((section) => section.isNewFile)
|
|
230
|
-
.map((section) => section.targetPath));
|
|
231
|
-
const named = await readSelection(selection, files, {
|
|
232
|
-
filename: args.patchFilename,
|
|
233
|
-
created,
|
|
234
|
-
});
|
|
235
|
-
const tracked = await listTrackedInHead(engineDir, [...named.keys()]);
|
|
236
|
-
const fallback = splitRawSections(selection.mode === 'include' ? oldBody : normalDiff);
|
|
237
|
-
const out = [];
|
|
238
|
-
for (const file of [...files].sort()) {
|
|
239
|
-
const section = named.get(file);
|
|
240
|
-
if (section === undefined) {
|
|
241
|
-
const raw = fallback.get(file);
|
|
242
|
-
if (raw !== undefined)
|
|
243
|
-
out.push(raw);
|
|
244
|
-
continue;
|
|
245
|
-
}
|
|
246
|
-
const head = tracked.has(file) ? await getFileContentAtRef(engineDir, file) : null;
|
|
247
|
-
let content;
|
|
248
|
-
if (selection.mode === 'include') {
|
|
249
|
-
const base = applyPatchTextToContent(head, oldBody, file);
|
|
250
|
-
content = applyHunksByContext(base, section.hunks, false, file);
|
|
251
|
-
}
|
|
252
|
-
else {
|
|
253
|
-
const worktree = join(engineDir, file);
|
|
254
|
-
const current = (await pathExists(worktree)) ? await readText(worktree) : '';
|
|
255
|
-
content = applyHunksByContext(current, section.hunks, true, file);
|
|
256
|
-
}
|
|
257
|
-
if (head !== null && content === head)
|
|
258
|
-
continue;
|
|
259
|
-
const diff = await diffContentAgainstHead(engineDir, file, content, tracked.has(file));
|
|
260
|
-
if (diff.trim())
|
|
261
|
-
out.push(diff.endsWith('\n') ? diff : `${diff}\n`);
|
|
262
|
-
}
|
|
263
|
-
return out.join('');
|
|
264
|
-
}
|