@hominis/fireforge 0.54.0 → 0.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +287 -6
- package/README.md +51 -17
- package/dist/bin/fireforge.js +34 -129
- package/dist/build-info.json +4 -4
- package/dist/src/check/check.js +394 -0
- package/dist/src/check/gate.js +448 -0
- package/dist/src/check/index.js +10 -0
- package/dist/src/check/record.js +155 -0
- package/dist/src/cli/command.js +286 -0
- package/dist/src/cli/output.js +96 -0
- package/dist/src/cli/program.js +231 -0
- package/dist/src/cli/stdio.js +59 -0
- package/dist/src/cli/version.js +99 -0
- package/dist/src/commands/bootstrap.js +17 -102
- package/dist/src/commands/build.js +34 -438
- package/dist/src/commands/check.js +44 -157
- package/dist/src/commands/config.js +50 -226
- package/dist/src/commands/discard.js +38 -215
- package/dist/src/commands/doctor.js +29 -456
- package/dist/src/commands/download.js +35 -499
- package/dist/src/commands/export.js +42 -431
- package/dist/src/commands/furnace.js +220 -0
- package/dist/src/commands/gate.js +127 -0
- package/dist/src/commands/import.js +44 -445
- package/dist/src/commands/index.js +86 -0
- package/dist/src/commands/lint.js +44 -546
- package/dist/src/commands/merge-driver.js +56 -0
- package/dist/src/commands/migrate.js +75 -0
- package/dist/src/commands/override.js +43 -0
- package/dist/src/commands/package.js +48 -77
- package/dist/src/commands/patch.js +221 -0
- package/dist/src/commands/re-export.js +55 -332
- package/dist/src/commands/rebase.js +69 -0
- package/dist/src/commands/register.js +62 -103
- package/dist/src/commands/reset.js +28 -91
- package/dist/src/commands/resolve.js +20 -167
- package/dist/src/commands/restore.js +19 -0
- package/dist/src/commands/run.js +60 -420
- package/dist/src/commands/setup.js +78 -90
- package/dist/src/commands/status.js +44 -413
- package/dist/src/commands/test.js +97 -422
- package/dist/src/commands/token.js +185 -228
- package/dist/src/commands/typecheck.js +59 -208
- package/dist/src/commands/verify.js +28 -334
- package/dist/src/commands/version.js +14 -0
- package/dist/src/commands/watch.js +20 -218
- package/dist/src/commands/wire.js +60 -349
- package/dist/src/commands/workspace.js +117 -0
- package/dist/src/config/edit.js +237 -0
- package/dist/src/config/index.js +15 -0
- package/dist/src/config/load.js +59 -0
- package/dist/src/config/previous.js +404 -0
- package/dist/src/config/schema/build.js +63 -0
- package/dist/src/config/schema/check.js +113 -0
- package/dist/src/config/schema/common.js +71 -0
- package/dist/src/config/schema/export-queue.js +36 -0
- package/dist/src/config/schema/firefox.js +69 -0
- package/dist/src/config/schema/gate.js +199 -0
- package/dist/src/config/schema/identity.js +55 -0
- package/dist/src/config/schema/index.js +45 -0
- package/dist/src/config/schema/lint.js +297 -0
- package/dist/src/config/schema/policy.js +111 -0
- package/dist/src/config/schema/source.js +90 -0
- package/dist/src/config/schema/test.js +17 -0
- package/dist/src/config/schema/toolchains.js +17 -0
- package/dist/src/config/schema/typecheck.js +29 -0
- package/dist/src/config/schema/wire.js +15 -0
- package/dist/src/diff/apply.js +129 -0
- package/dist/src/diff/index.js +16 -0
- package/dist/src/diff/model.js +267 -0
- package/dist/src/diff/query.js +65 -0
- package/dist/src/doctor/index.js +240 -0
- package/dist/src/engine/archive.js +396 -0
- package/dist/src/engine/audit.js +66 -0
- package/dist/src/engine/build.js +150 -0
- package/dist/src/engine/hostLocks.js +66 -0
- package/dist/src/engine/index.js +26 -0
- package/dist/src/engine/installManifests.js +147 -0
- package/dist/src/engine/mach.js +97 -0
- package/dist/src/engine/machHints.js +80 -0
- package/dist/src/engine/mozconfig.js +110 -0
- package/dist/src/engine/objdir.js +124 -0
- package/dist/src/engine/package.js +169 -0
- package/dist/src/engine/pin.js +12 -0
- package/dist/src/engine/pool.js +423 -0
- package/dist/src/engine/pristine.js +281 -0
- package/dist/src/engine/python.js +68 -0
- package/dist/src/engine/resourceGuard.js +582 -0
- package/dist/src/engine/run.js +259 -0
- package/dist/src/engine/smoke.js +204 -0
- package/dist/src/engine/staleness.js +229 -0
- package/dist/src/engine/watch.js +82 -0
- package/dist/src/engine/workspace.js +85 -0
- package/dist/src/furnace/config.js +360 -0
- package/dist/src/furnace/deploy.js +414 -0
- package/dist/src/furnace/diff.js +59 -0
- package/dist/src/furnace/edit.js +64 -0
- package/dist/src/furnace/fragments.js +53 -0
- package/dist/src/furnace/index.js +19 -0
- package/dist/src/furnace/operations.js +283 -0
- package/dist/src/furnace/registration.js +220 -0
- package/dist/src/furnace/scaffold.js +311 -0
- package/dist/src/furnace/typing.js +252 -0
- package/dist/src/furnace/validate.js +662 -0
- package/dist/src/git/apply.js +129 -0
- package/dist/src/git/diff.js +143 -0
- package/dist/src/git/index.js +33 -0
- package/dist/src/git/objects.js +201 -0
- package/dist/src/git/refs.js +85 -0
- package/dist/src/git/repo.js +222 -0
- package/dist/src/git/run.js +242 -0
- package/dist/src/git/status.js +156 -0
- package/dist/src/kernel/errors.js +123 -0
- package/dist/src/kernel/fs.js +515 -0
- package/dist/src/kernel/glob.js +63 -0
- package/dist/src/kernel/hash.js +28 -0
- package/dist/src/kernel/journal.js +524 -0
- package/dist/src/kernel/json-edit.js +198 -0
- package/dist/src/kernel/json.js +101 -0
- package/dist/src/kernel/lock.js +589 -0
- package/dist/src/kernel/log.js +154 -0
- package/dist/src/kernel/process/identity.js +313 -0
- package/dist/src/kernel/process/index.js +8 -0
- package/dist/src/kernel/process/listing.js +128 -0
- package/dist/src/kernel/process/spawn.js +430 -0
- package/dist/src/kernel/process/tree.js +301 -0
- package/dist/src/kernel/schema.js +308 -0
- package/dist/src/kernel/signals.js +171 -0
- package/dist/src/kernel/text.js +151 -0
- package/dist/src/kernel/time.js +83 -0
- package/dist/src/kernel/tty.js +84 -0
- package/dist/src/lint/cache.js +77 -0
- package/dist/src/lint/checkjs.js +400 -0
- package/dist/src/lint/index.js +3 -0
- package/dist/src/lint/input.js +100 -0
- package/dist/src/lint/report.js +107 -0
- package/dist/src/lint/rule.js +41 -0
- package/dist/src/lint/rules/css.js +308 -0
- package/dist/src/lint/rules/javascript.js +299 -0
- package/dist/src/lint/rules/jsdoc.js +249 -0
- package/dist/src/lint/rules/license.js +93 -0
- package/dist/src/lint/rules/policy.js +201 -0
- package/dist/src/lint/rules/registration.js +264 -0
- package/dist/src/lint/rules/size.js +299 -0
- package/dist/src/lint/run.js +126 -0
- package/dist/src/lint/shim.js +323 -0
- package/dist/src/lint/typescript.js +186 -0
- package/dist/src/lint/waivers.js +93 -0
- package/dist/src/mode/changes.js +264 -0
- package/dist/src/mode/diagnose.js +173 -0
- package/dist/src/mode/export.js +147 -0
- package/dist/src/mode/index.js +23 -0
- package/dist/src/mode/migrate.js +181 -0
- package/dist/src/mode/previousWaivers.js +206 -0
- package/dist/src/mode/pristine.js +61 -0
- package/dist/src/mode/rebase.js +197 -0
- package/dist/src/mode/report.js +157 -0
- package/dist/src/mode/setup.js +103 -0
- package/dist/src/mode/tracked.js +116 -0
- package/dist/src/mode/upgrade.js +281 -0
- package/dist/src/mode/watch.js +83 -0
- package/dist/src/mode/workspace.js +189 -0
- package/dist/src/mozbuild/index.js +6 -0
- package/dist/src/mozbuild/jar.js +366 -0
- package/dist/src/mozbuild/mozbuild.js +321 -0
- package/dist/src/mozbuild/paths.js +96 -0
- package/dist/src/mozbuild/references.js +39 -0
- package/dist/src/mozbuild/testManifest.js +343 -0
- package/dist/src/mozbuild/text.js +142 -0
- package/dist/src/project/changes.js +145 -0
- package/dist/src/project/checkout.js +66 -0
- package/dist/src/project/index.js +11 -0
- package/dist/src/project/license.js +119 -0
- package/dist/src/project/project.js +111 -0
- package/dist/src/project/state.js +85 -0
- package/dist/src/project/tracked.js +1 -0
- package/dist/src/queue/apply.js +270 -0
- package/dist/src/queue/attribute.js +159 -0
- package/dist/src/queue/baseline.js +409 -0
- package/dist/src/queue/capture.js +298 -0
- package/dist/src/queue/changes.js +234 -0
- package/dist/src/queue/index.js +50 -0
- package/dist/src/queue/manifest.js +341 -0
- package/dist/src/queue/operations.js +454 -0
- package/dist/src/queue/placement.js +220 -0
- package/dist/src/queue/queue.js +359 -0
- package/dist/src/queue/restore.js +103 -0
- package/dist/src/queue/session.js +685 -0
- package/dist/src/queue/status.js +137 -0
- package/dist/src/register/files.js +39 -0
- package/dist/src/register/index.js +8 -0
- package/dist/src/register/js.js +217 -0
- package/dist/src/register/register.js +359 -0
- package/dist/src/register/wire.js +146 -0
- package/dist/src/source/adopt.js +99 -0
- package/dist/src/source/changes.js +132 -0
- package/dist/src/source/edit.js +278 -0
- package/dist/src/source/export.js +70 -0
- package/dist/src/source/groups.js +131 -0
- package/dist/src/source/index.js +20 -0
- package/dist/src/source/materialize.js +382 -0
- package/dist/src/source/merge.js +255 -0
- package/dist/src/source/objects.js +102 -0
- package/dist/src/source/previous.js +166 -0
- package/dist/src/source/records.js +138 -0
- package/dist/src/source/refresh.js +264 -0
- package/dist/src/source/tree.js +337 -0
- package/dist/src/syntax/css.js +215 -0
- package/dist/src/syntax/fragments.js +63 -0
- package/dist/src/syntax/index.js +10 -0
- package/dist/src/syntax/js.js +270 -0
- package/dist/src/test/classify.js +826 -0
- package/dist/src/test/control.js +236 -0
- package/dist/src/test/host.js +266 -0
- package/dist/src/test/index.js +11 -0
- package/dist/src/test/plan.js +347 -0
- package/dist/src/test/rawLog.js +138 -0
- package/dist/src/test/run.js +404 -0
- package/dist/src/test/verdict.js +420 -0
- package/dist/src/test/xpcshell.js +143 -0
- package/dist/src/tokens/add.js +304 -0
- package/dist/src/tokens/coverage.js +65 -0
- package/dist/src/tokens/css.js +58 -0
- package/dist/src/tokens/index.js +12 -0
- package/dist/src/tokens/lint.js +96 -0
- package/dist/src/tokens/model.js +118 -0
- package/dist/src/tokens/settings.js +87 -0
- package/dist/src/tokens/siblings.js +104 -0
- package/dist/src/typecheck/explain.js +123 -0
- package/dist/src/typecheck/index.js +8 -0
- package/dist/src/typecheck/typecheck.js +332 -0
- package/docs/README.md +23 -28
- package/docs/authoring.md +97 -0
- package/docs/configuration.md +307 -692
- package/docs/exit-codes.md +76 -94
- package/docs/furnace.md +113 -181
- package/docs/gate.md +205 -0
- package/docs/getting-started.md +165 -0
- package/docs/machine-output.md +201 -277
- package/docs/migrating.md +261 -0
- package/docs/patch-workflow.md +163 -653
- package/docs/quality.md +220 -0
- package/docs/source-workflow.md +228 -0
- package/docs/testing.md +101 -712
- package/docs/workspaces.md +187 -0
- package/package.json +22 -30
- package/templates/configs/common.mozconfig +8 -2
- package/templates/configs/darwin.mozconfig +6 -7
- package/templates/configs/linux.mozconfig +5 -8
- package/templates/configs/win32.mozconfig +3 -9
- package/dist/bin/fireforge.d.ts +0 -9
- package/dist/src/cli-usage-error.d.ts +0 -46
- package/dist/src/cli-usage-error.js +0 -81
- package/dist/src/cli.d.ts +0 -41
- package/dist/src/cli.js +0 -380
- package/dist/src/commands/bootstrap-checks.d.ts +0 -16
- package/dist/src/commands/bootstrap-checks.js +0 -66
- package/dist/src/commands/bootstrap.d.ts +0 -10
- package/dist/src/commands/build-prelock.d.ts +0 -20
- package/dist/src/commands/build-prelock.js +0 -50
- package/dist/src/commands/build.d.ts +0 -13
- package/dist/src/commands/check-report.d.ts +0 -41
- package/dist/src/commands/check-report.js +0 -91
- package/dist/src/commands/check-run.d.ts +0 -33
- package/dist/src/commands/check-run.js +0 -112
- package/dist/src/commands/check-steps.d.ts +0 -75
- package/dist/src/commands/check-steps.js +0 -200
- package/dist/src/commands/check.d.ts +0 -32
- package/dist/src/commands/config.d.ts +0 -13
- package/dist/src/commands/declarations-report.d.ts +0 -49
- package/dist/src/commands/declarations-report.js +0 -83
- package/dist/src/commands/destructive-decision.d.ts +0 -19
- package/dist/src/commands/destructive-decision.js +0 -31
- package/dist/src/commands/discard.d.ts +0 -12
- package/dist/src/commands/doctor-check-core.d.ts +0 -110
- package/dist/src/commands/doctor-check-core.js +0 -24
- package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
- package/dist/src/commands/doctor-engine-eslint.js +0 -17
- package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
- package/dist/src/commands/doctor-external-toolchains.js +0 -56
- package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
- package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
- package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
- package/dist/src/commands/doctor-furnace-jar.js +0 -44
- package/dist/src/commands/doctor-furnace.d.ts +0 -8
- package/dist/src/commands/doctor-furnace.js +0 -514
- package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
- package/dist/src/commands/doctor-macos-sdk.js +0 -158
- package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
- package/dist/src/commands/doctor-orphaned-harness.js +0 -98
- package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
- package/dist/src/commands/doctor-patch-manifest.js +0 -156
- package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
- package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
- package/dist/src/commands/doctor-source-pin.d.ts +0 -29
- package/dist/src/commands/doctor-source-pin.js +0 -91
- package/dist/src/commands/doctor-working-tree.d.ts +0 -27
- package/dist/src/commands/doctor-working-tree.js +0 -89
- package/dist/src/commands/doctor.d.ts +0 -49
- package/dist/src/commands/download.d.ts +0 -11
- package/dist/src/commands/export-adopt-check.d.ts +0 -37
- package/dist/src/commands/export-adopt-check.js +0 -97
- package/dist/src/commands/export-all.d.ts +0 -11
- package/dist/src/commands/export-all.js +0 -361
- package/dist/src/commands/export-flow.d.ts +0 -124
- package/dist/src/commands/export-flow.js +0 -423
- package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
- package/dist/src/commands/export-placement-conflicts.js +0 -75
- package/dist/src/commands/export-placement-gate.d.ts +0 -42
- package/dist/src/commands/export-placement-gate.js +0 -107
- package/dist/src/commands/export-placement-policy.d.ts +0 -22
- package/dist/src/commands/export-placement-policy.js +0 -54
- package/dist/src/commands/export-shared.d.ts +0 -152
- package/dist/src/commands/export-shared.js +0 -396
- package/dist/src/commands/export-staged-registration.d.ts +0 -46
- package/dist/src/commands/export-staged-registration.js +0 -91
- package/dist/src/commands/export.d.ts +0 -13
- package/dist/src/commands/forward-import-remedy.d.ts +0 -31
- package/dist/src/commands/forward-import-remedy.js +0 -62
- package/dist/src/commands/furnace/apply.d.ts +0 -8
- package/dist/src/commands/furnace/apply.js +0 -327
- package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
- package/dist/src/commands/furnace/authoring-config.js +0 -19
- package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
- package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
- package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
- package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
- package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
- package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
- package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
- package/dist/src/commands/furnace/chrome-doc.js +0 -365
- package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
- package/dist/src/commands/furnace/create-browser-test.js +0 -179
- package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
- package/dist/src/commands/furnace/create-dry-run.js +0 -107
- package/dist/src/commands/furnace/create-features.d.ts +0 -24
- package/dist/src/commands/furnace/create-features.js +0 -55
- package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
- package/dist/src/commands/furnace/create-mochikit.js +0 -75
- package/dist/src/commands/furnace/create-readback.d.ts +0 -22
- package/dist/src/commands/furnace/create-readback.js +0 -32
- package/dist/src/commands/furnace/create-templates.d.ts +0 -119
- package/dist/src/commands/furnace/create-templates.js +0 -283
- package/dist/src/commands/furnace/create-validation.d.ts +0 -6
- package/dist/src/commands/furnace/create-validation.js +0 -59
- package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
- package/dist/src/commands/furnace/create-xpcshell.js +0 -80
- package/dist/src/commands/furnace/create.d.ts +0 -24
- package/dist/src/commands/furnace/create.js +0 -407
- package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
- package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
- package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
- package/dist/src/commands/furnace/deploy-named.js +0 -107
- package/dist/src/commands/furnace/deploy.d.ts +0 -9
- package/dist/src/commands/furnace/deploy.js +0 -218
- package/dist/src/commands/furnace/diff.d.ts +0 -11
- package/dist/src/commands/furnace/diff.js +0 -238
- package/dist/src/commands/furnace/index.d.ts +0 -4
- package/dist/src/commands/furnace/index.js +0 -282
- package/dist/src/commands/furnace/init.d.ts +0 -11
- package/dist/src/commands/furnace/init.js +0 -287
- package/dist/src/commands/furnace/list.d.ts +0 -8
- package/dist/src/commands/furnace/list.js +0 -104
- package/dist/src/commands/furnace/override.d.ts +0 -16
- package/dist/src/commands/furnace/override.js +0 -454
- package/dist/src/commands/furnace/preview.d.ts +0 -19
- package/dist/src/commands/furnace/preview.js +0 -349
- package/dist/src/commands/furnace/refresh.d.ts +0 -10
- package/dist/src/commands/furnace/refresh.js +0 -303
- package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
- package/dist/src/commands/furnace/remove-mutations.js +0 -168
- package/dist/src/commands/furnace/remove-state.d.ts +0 -20
- package/dist/src/commands/furnace/remove-state.js +0 -60
- package/dist/src/commands/furnace/remove.d.ts +0 -8
- package/dist/src/commands/furnace/remove.js +0 -415
- package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
- package/dist/src/commands/furnace/rename-browser-test.js +0 -68
- package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
- package/dist/src/commands/furnace/rename-dry-run.js +0 -127
- package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
- package/dist/src/commands/furnace/rename-helpers.js +0 -85
- package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
- package/dist/src/commands/furnace/rename-registrations.js +0 -98
- package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
- package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
- package/dist/src/commands/furnace/rename.d.ts +0 -6
- package/dist/src/commands/furnace/rename.js +0 -400
- package/dist/src/commands/furnace/scan.d.ts +0 -14
- package/dist/src/commands/furnace/scan.js +0 -192
- package/dist/src/commands/furnace/status.d.ts +0 -7
- package/dist/src/commands/furnace/status.js +0 -209
- package/dist/src/commands/furnace/sync.d.ts +0 -12
- package/dist/src/commands/furnace/sync.js +0 -145
- package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
- package/dist/src/commands/furnace/test-file-name.js +0 -39
- package/dist/src/commands/furnace/validate-report.d.ts +0 -45
- package/dist/src/commands/furnace/validate-report.js +0 -91
- package/dist/src/commands/furnace/validate.d.ts +0 -8
- package/dist/src/commands/furnace/validate.js +0 -309
- package/dist/src/commands/furnace/validation-output.d.ts +0 -47
- package/dist/src/commands/furnace/validation-output.js +0 -161
- package/dist/src/commands/import.d.ts +0 -11
- package/dist/src/commands/lint-per-patch.d.ts +0 -10
- package/dist/src/commands/lint-per-patch.js +0 -428
- package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
- package/dist/src/commands/lint-per-run-checkjs.js +0 -102
- package/dist/src/commands/lint-report.d.ts +0 -25
- package/dist/src/commands/lint-report.js +0 -76
- package/dist/src/commands/lint.d.ts +0 -47
- package/dist/src/commands/manifest.d.ts +0 -38
- package/dist/src/commands/manifest.js +0 -68
- package/dist/src/commands/package.d.ts +0 -11
- package/dist/src/commands/park.d.ts +0 -22
- package/dist/src/commands/park.js +0 -232
- package/dist/src/commands/patch/compact.d.ts +0 -28
- package/dist/src/commands/patch/compact.js +0 -208
- package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
- package/dist/src/commands/patch/delete-gap-notice.js +0 -48
- package/dist/src/commands/patch/delete.d.ts +0 -28
- package/dist/src/commands/patch/delete.js +0 -131
- package/dist/src/commands/patch/entry-projection.d.ts +0 -13
- package/dist/src/commands/patch/entry-projection.js +0 -24
- package/dist/src/commands/patch/index.d.ts +0 -16
- package/dist/src/commands/patch/index.js +0 -52
- package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
- package/dist/src/commands/patch/lint-ignore-from.js +0 -141
- package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
- package/dist/src/commands/patch/lint-ignore.js +0 -261
- package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
- package/dist/src/commands/patch/move-files-adopt.js +0 -65
- package/dist/src/commands/patch/move-files-create.d.ts +0 -19
- package/dist/src/commands/patch/move-files-create.js +0 -187
- package/dist/src/commands/patch/move-files-into.d.ts +0 -65
- package/dist/src/commands/patch/move-files-into.js +0 -325
- package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
- package/dist/src/commands/patch/move-files-retire.js +0 -91
- package/dist/src/commands/patch/move-files.d.ts +0 -28
- package/dist/src/commands/patch/move-files.js +0 -224
- package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
- package/dist/src/commands/patch/move-size-tier.js +0 -66
- package/dist/src/commands/patch/patch-context.d.ts +0 -40
- package/dist/src/commands/patch/patch-context.js +0 -51
- package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
- package/dist/src/commands/patch/removal-created-files.js +0 -83
- package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
- package/dist/src/commands/patch/removal-dependents.js +0 -133
- package/dist/src/commands/patch/rename.d.ts +0 -35
- package/dist/src/commands/patch/rename.js +0 -378
- package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
- package/dist/src/commands/patch/reorder-projection.js +0 -49
- package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
- package/dist/src/commands/patch/reorder-shift.js +0 -307
- package/dist/src/commands/patch/reorder.d.ts +0 -34
- package/dist/src/commands/patch/reorder.js +0 -375
- package/dist/src/commands/patch/reserve.d.ts +0 -33
- package/dist/src/commands/patch/reserve.js +0 -152
- package/dist/src/commands/patch/retire.d.ts +0 -34
- package/dist/src/commands/patch/retire.js +0 -133
- package/dist/src/commands/patch/split-plan.d.ts +0 -125
- package/dist/src/commands/patch/split-plan.js +0 -313
- package/dist/src/commands/patch/split-staged.d.ts +0 -108
- package/dist/src/commands/patch/split-staged.js +0 -202
- package/dist/src/commands/patch/split.d.ts +0 -43
- package/dist/src/commands/patch/split.js +0 -367
- package/dist/src/commands/patch/stage.d.ts +0 -34
- package/dist/src/commands/patch/stage.js +0 -153
- package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
- package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
- package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
- package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
- package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
- package/dist/src/commands/patch/staged-dependency-from.js +0 -114
- package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
- package/dist/src/commands/patch/staged-dependency-remove.js +0 -117
- package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -15
- package/dist/src/commands/patch/staged-dependency-validate.js +0 -49
- package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
- package/dist/src/commands/patch/staged-dependency.js +0 -248
- package/dist/src/commands/patch/tier.d.ts +0 -34
- package/dist/src/commands/patch/tier.js +0 -125
- package/dist/src/commands/patch-rename-map.d.ts +0 -30
- package/dist/src/commands/patch-rename-map.js +0 -54
- package/dist/src/commands/pending-resolution.d.ts +0 -15
- package/dist/src/commands/pending-resolution.js +0 -25
- package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
- package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
- package/dist/src/commands/re-export-adjacent.d.ts +0 -111
- package/dist/src/commands/re-export-adjacent.js +0 -267
- package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
- package/dist/src/commands/re-export-bulk-scan.js +0 -233
- package/dist/src/commands/re-export-drift.d.ts +0 -110
- package/dist/src/commands/re-export-drift.js +0 -358
- package/dist/src/commands/re-export-files.d.ts +0 -15
- package/dist/src/commands/re-export-files.js +0 -307
- package/dist/src/commands/re-export-hunks.d.ts +0 -35
- package/dist/src/commands/re-export-hunks.js +0 -220
- package/dist/src/commands/re-export-lint.d.ts +0 -137
- package/dist/src/commands/re-export-lint.js +0 -303
- package/dist/src/commands/re-export-options.d.ts +0 -29
- package/dist/src/commands/re-export-options.js +0 -191
- package/dist/src/commands/re-export-preflight.d.ts +0 -23
- package/dist/src/commands/re-export-preflight.js +0 -159
- package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
- package/dist/src/commands/re-export-purity-scope.js +0 -137
- package/dist/src/commands/re-export-register.d.ts +0 -12
- package/dist/src/commands/re-export-register.js +0 -99
- package/dist/src/commands/re-export-removed.d.ts +0 -15
- package/dist/src/commands/re-export-removed.js +0 -94
- package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
- package/dist/src/commands/re-export-retired-declarations.js +0 -113
- package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
- package/dist/src/commands/re-export-scan-owner.js +0 -116
- package/dist/src/commands/re-export-scan.d.ts +0 -72
- package/dist/src/commands/re-export-scan.js +0 -265
- package/dist/src/commands/re-export-single.d.ts +0 -39
- package/dist/src/commands/re-export-single.js +0 -388
- package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
- package/dist/src/commands/re-export-stale-registrations.js +0 -106
- package/dist/src/commands/re-export-summary.d.ts +0 -28
- package/dist/src/commands/re-export-summary.js +0 -36
- package/dist/src/commands/re-export.d.ts +0 -8
- package/dist/src/commands/rebase/abort.d.ts +0 -7
- package/dist/src/commands/rebase/abort.js +0 -67
- package/dist/src/commands/rebase/confirm.d.ts +0 -42
- package/dist/src/commands/rebase/confirm.js +0 -36
- package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
- package/dist/src/commands/rebase/conflict-summary.js +0 -37
- package/dist/src/commands/rebase/continue.d.ts +0 -7
- package/dist/src/commands/rebase/continue.js +0 -119
- package/dist/src/commands/rebase/index.d.ts +0 -22
- package/dist/src/commands/rebase/index.js +0 -209
- package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
- package/dist/src/commands/rebase/patch-loop.js +0 -289
- package/dist/src/commands/rebase/summary.d.ts +0 -8
- package/dist/src/commands/rebase/summary.js +0 -47
- package/dist/src/commands/register.d.ts +0 -13
- package/dist/src/commands/reset.d.ts +0 -11
- package/dist/src/commands/resolve.d.ts +0 -36
- package/dist/src/commands/run.d.ts +0 -10
- package/dist/src/commands/setup-support.d.ts +0 -35
- package/dist/src/commands/setup-support.js +0 -386
- package/dist/src/commands/setup.d.ts +0 -11
- package/dist/src/commands/source.d.ts +0 -9
- package/dist/src/commands/source.js +0 -120
- package/dist/src/commands/status-check.d.ts +0 -87
- package/dist/src/commands/status-check.js +0 -161
- package/dist/src/commands/status-json.d.ts +0 -45
- package/dist/src/commands/status-json.js +0 -97
- package/dist/src/commands/status-output.d.ts +0 -23
- package/dist/src/commands/status-output.js +0 -231
- package/dist/src/commands/status-ownership.d.ts +0 -54
- package/dist/src/commands/status-ownership.js +0 -59
- package/dist/src/commands/status-scope.d.ts +0 -37
- package/dist/src/commands/status-scope.js +0 -54
- package/dist/src/commands/status.d.ts +0 -11
- package/dist/src/commands/test-appdir.d.ts +0 -6
- package/dist/src/commands/test-appdir.js +0 -29
- package/dist/src/commands/test-browser-preflight.d.ts +0 -28
- package/dist/src/commands/test-browser-preflight.js +0 -197
- package/dist/src/commands/test-build-furnace.d.ts +0 -21
- package/dist/src/commands/test-build-furnace.js +0 -53
- package/dist/src/commands/test-build-phase.d.ts +0 -29
- package/dist/src/commands/test-build-phase.js +0 -290
- package/dist/src/commands/test-checkjs.d.ts +0 -3
- package/dist/src/commands/test-checkjs.js +0 -35
- package/dist/src/commands/test-control-restore.d.ts +0 -40
- package/dist/src/commands/test-control-restore.js +0 -86
- package/dist/src/commands/test-diagnose.d.ts +0 -23
- package/dist/src/commands/test-diagnose.js +0 -317
- package/dist/src/commands/test-dispatch.d.ts +0 -39
- package/dist/src/commands/test-dispatch.js +0 -281
- package/dist/src/commands/test-furnace-reach.d.ts +0 -37
- package/dist/src/commands/test-furnace-reach.js +0 -132
- package/dist/src/commands/test-harness-env.d.ts +0 -23
- package/dist/src/commands/test-harness-env.js +0 -81
- package/dist/src/commands/test-harness-teardown.d.ts +0 -62
- package/dist/src/commands/test-harness-teardown.js +0 -128
- package/dist/src/commands/test-modes.d.ts +0 -57
- package/dist/src/commands/test-modes.js +0 -158
- package/dist/src/commands/test-multi-verdict.d.ts +0 -61
- package/dist/src/commands/test-multi-verdict.js +0 -112
- package/dist/src/commands/test-orchestrate.d.ts +0 -63
- package/dist/src/commands/test-orchestrate.js +0 -274
- package/dist/src/commands/test-perf-scope.d.ts +0 -50
- package/dist/src/commands/test-perf-scope.js +0 -138
- package/dist/src/commands/test-prelock.d.ts +0 -61
- package/dist/src/commands/test-prelock.js +0 -301
- package/dist/src/commands/test-register.d.ts +0 -4
- package/dist/src/commands/test-register.js +0 -181
- package/dist/src/commands/test-results.d.ts +0 -71
- package/dist/src/commands/test-results.js +0 -79
- package/dist/src/commands/test-run.d.ts +0 -89
- package/dist/src/commands/test-run.js +0 -251
- package/dist/src/commands/test-shards.d.ts +0 -114
- package/dist/src/commands/test-shards.js +0 -272
- package/dist/src/commands/test-stale-gate.d.ts +0 -52
- package/dist/src/commands/test-stale-gate.js +0 -165
- package/dist/src/commands/test-verdict.d.ts +0 -92
- package/dist/src/commands/test-verdict.js +0 -162
- package/dist/src/commands/test.d.ts +0 -22
- package/dist/src/commands/token-coverage.d.ts +0 -5
- package/dist/src/commands/token-coverage.js +0 -170
- package/dist/src/commands/token-lint.d.ts +0 -14
- package/dist/src/commands/token-lint.js +0 -151
- package/dist/src/commands/token-list.d.ts +0 -26
- package/dist/src/commands/token-list.js +0 -153
- package/dist/src/commands/token.d.ts +0 -14
- package/dist/src/commands/tree.d.ts +0 -19
- package/dist/src/commands/tree.js +0 -341
- package/dist/src/commands/typecheck.d.ts +0 -56
- package/dist/src/commands/verify-scope.d.ts +0 -28
- package/dist/src/commands/verify-scope.js +0 -67
- package/dist/src/commands/verify.d.ts +0 -58
- package/dist/src/commands/watch.d.ts +0 -9
- package/dist/src/commands/wire.d.ts +0 -13
- package/dist/src/core/ast-utils.d.ts +0 -73
- package/dist/src/core/ast-utils.js +0 -105
- package/dist/src/core/brand-validation.d.ts +0 -7
- package/dist/src/core/brand-validation.js +0 -14
- package/dist/src/core/branding.d.ts +0 -86
- package/dist/src/core/branding.js +0 -371
- package/dist/src/core/browser-wire.d.ts +0 -48
- package/dist/src/core/browser-wire.js +0 -133
- package/dist/src/core/build-audit-platform.d.ts +0 -67
- package/dist/src/core/build-audit-platform.js +0 -373
- package/dist/src/core/build-audit-registration.d.ts +0 -80
- package/dist/src/core/build-audit-registration.js +0 -181
- package/dist/src/core/build-audit-resolve.d.ts +0 -78
- package/dist/src/core/build-audit-resolve.js +0 -240
- package/dist/src/core/build-audit-skip.d.ts +0 -57
- package/dist/src/core/build-audit-skip.js +0 -112
- package/dist/src/core/build-audit-transforms.d.ts +0 -23
- package/dist/src/core/build-audit-transforms.js +0 -92
- package/dist/src/core/build-audit.d.ts +0 -93
- package/dist/src/core/build-audit.js +0 -633
- package/dist/src/core/build-baseline-types.d.ts +0 -225
- package/dist/src/core/build-baseline-types.js +0 -10
- package/dist/src/core/build-baseline-validate.d.ts +0 -32
- package/dist/src/core/build-baseline-validate.js +0 -173
- package/dist/src/core/build-baseline.d.ts +0 -103
- package/dist/src/core/build-baseline.js +0 -261
- package/dist/src/core/build-jar-escalation.d.ts +0 -61
- package/dist/src/core/build-jar-escalation.js +0 -125
- package/dist/src/core/build-overwrite-guard.d.ts +0 -92
- package/dist/src/core/build-overwrite-guard.js +0 -235
- package/dist/src/core/build-prepare.d.ts +0 -83
- package/dist/src/core/build-prepare.js +0 -414
- package/dist/src/core/build-run-record.d.ts +0 -74
- package/dist/src/core/build-run-record.js +0 -136
- package/dist/src/core/checkjs-support-heads.d.ts +0 -41
- package/dist/src/core/checkjs-support-heads.js +0 -104
- package/dist/src/core/component-source-guard.d.ts +0 -20
- package/dist/src/core/component-source-guard.js +0 -68
- package/dist/src/core/config-mutate.d.ts +0 -16
- package/dist/src/core/config-mutate.js +0 -76
- package/dist/src/core/config-paths.d.ts +0 -16
- package/dist/src/core/config-paths.js +0 -106
- package/dist/src/core/config-state.d.ts +0 -16
- package/dist/src/core/config-state.js +0 -141
- package/dist/src/core/config-validate-build-audit.d.ts +0 -8
- package/dist/src/core/config-validate-build-audit.js +0 -80
- package/dist/src/core/config-validate-check.d.ts +0 -8
- package/dist/src/core/config-validate-check.js +0 -219
- package/dist/src/core/config-validate-file-size.d.ts +0 -15
- package/dist/src/core/config-validate-file-size.js +0 -154
- package/dist/src/core/config-validate-history.d.ts +0 -11
- package/dist/src/core/config-validate-history.js +0 -38
- package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
- package/dist/src/core/config-validate-patch-policy.js +0 -274
- package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
- package/dist/src/core/config-validate-test-toolchains.js +0 -133
- package/dist/src/core/config-validate-token-scales.d.ts +0 -9
- package/dist/src/core/config-validate-token-scales.js +0 -92
- package/dist/src/core/config-validate.d.ts +0 -11
- package/dist/src/core/config-validate.js +0 -503
- package/dist/src/core/config.d.ts +0 -92
- package/dist/src/core/config.js +0 -169
- package/dist/src/core/coverage-dispatch.d.ts +0 -24
- package/dist/src/core/coverage-dispatch.js +0 -44
- package/dist/src/core/coverage-extend.d.ts +0 -89
- package/dist/src/core/coverage-extend.js +0 -239
- package/dist/src/core/coverage-records.d.ts +0 -107
- package/dist/src/core/coverage-records.js +0 -383
- package/dist/src/core/destructive.d.ts +0 -144
- package/dist/src/core/destructive.js +0 -182
- package/dist/src/core/diff-hunks.d.ts +0 -73
- package/dist/src/core/diff-hunks.js +0 -286
- package/dist/src/core/discard-baseline.d.ts +0 -60
- package/dist/src/core/discard-baseline.js +0 -247
- package/dist/src/core/display-state.d.ts +0 -50
- package/dist/src/core/display-state.js +0 -87
- package/dist/src/core/engine-changes.d.ts +0 -40
- package/dist/src/core/engine-changes.js +0 -95
- package/dist/src/core/engine-precondition.d.ts +0 -42
- package/dist/src/core/engine-precondition.js +0 -60
- package/dist/src/core/engine-session-lock.d.ts +0 -119
- package/dist/src/core/engine-session-lock.js +0 -374
- package/dist/src/core/engine-write-boundary.d.ts +0 -5
- package/dist/src/core/engine-write-boundary.js +0 -41
- package/dist/src/core/export-moved-code-shape.d.ts +0 -98
- package/dist/src/core/export-moved-code-shape.js +0 -220
- package/dist/src/core/file-lock-owner.d.ts +0 -103
- package/dist/src/core/file-lock-owner.js +0 -259
- package/dist/src/core/file-lock-queue.d.ts +0 -67
- package/dist/src/core/file-lock-queue.js +0 -219
- package/dist/src/core/file-lock-shared.d.ts +0 -57
- package/dist/src/core/file-lock-shared.js +0 -117
- package/dist/src/core/file-lock.d.ts +0 -143
- package/dist/src/core/file-lock.js +0 -531
- package/dist/src/core/firefox-archive.d.ts +0 -45
- package/dist/src/core/firefox-archive.js +0 -96
- package/dist/src/core/firefox-cache.d.ts +0 -30
- package/dist/src/core/firefox-cache.js +0 -248
- package/dist/src/core/firefox-download.d.ts +0 -30
- package/dist/src/core/firefox-download.js +0 -152
- package/dist/src/core/firefox-extract.d.ts +0 -42
- package/dist/src/core/firefox-extract.js +0 -248
- package/dist/src/core/firefox-ignorefile.d.ts +0 -17
- package/dist/src/core/firefox-ignorefile.js +0 -30
- package/dist/src/core/firefox.d.ts +0 -66
- package/dist/src/core/firefox.js +0 -121
- package/dist/src/core/forward-registrations.d.ts +0 -33
- package/dist/src/core/forward-registrations.js +0 -16
- package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
- package/dist/src/core/furnace-apply-dry-run.js +0 -99
- package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
- package/dist/src/core/furnace-apply-ftl.js +0 -210
- package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
- package/dist/src/core/furnace-apply-helpers.js +0 -436
- package/dist/src/core/furnace-apply-output.d.ts +0 -36
- package/dist/src/core/furnace-apply-output.js +0 -111
- package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -62
- package/dist/src/core/furnace-apply-overwrite-warn.js +0 -124
- package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
- package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
- package/dist/src/core/furnace-apply.d.ts +0 -49
- package/dist/src/core/furnace-apply.js +0 -465
- package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
- package/dist/src/core/furnace-checksum-utils.js +0 -54
- package/dist/src/core/furnace-composed-source.d.ts +0 -76
- package/dist/src/core/furnace-composed-source.js +0 -167
- package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
- package/dist/src/core/furnace-config-array-utils.js +0 -26
- package/dist/src/core/furnace-config-custom.d.ts +0 -15
- package/dist/src/core/furnace-config-custom.js +0 -73
- package/dist/src/core/furnace-config-order.d.ts +0 -8
- package/dist/src/core/furnace-config-order.js +0 -90
- package/dist/src/core/furnace-config-tokens.d.ts +0 -17
- package/dist/src/core/furnace-config-tokens.js +0 -42
- package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
- package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
- package/dist/src/core/furnace-config-validate.d.ts +0 -32
- package/dist/src/core/furnace-config-validate.js +0 -146
- package/dist/src/core/furnace-config.d.ts +0 -139
- package/dist/src/core/furnace-config.js +0 -511
- package/dist/src/core/furnace-constants.d.ts +0 -79
- package/dist/src/core/furnace-constants.js +0 -123
- package/dist/src/core/furnace-css-fragments.d.ts +0 -96
- package/dist/src/core/furnace-css-fragments.js +0 -279
- package/dist/src/core/furnace-dir-entry.d.ts +0 -20
- package/dist/src/core/furnace-dir-entry.js +0 -21
- package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
- package/dist/src/core/furnace-fragment-includers.js +0 -122
- package/dist/src/core/furnace-graph-utils.d.ts +0 -11
- package/dist/src/core/furnace-graph-utils.js +0 -93
- package/dist/src/core/furnace-jsconfig.d.ts +0 -61
- package/dist/src/core/furnace-jsconfig.js +0 -208
- package/dist/src/core/furnace-marker.d.ts +0 -15
- package/dist/src/core/furnace-marker.js +0 -21
- package/dist/src/core/furnace-operation.d.ts +0 -195
- package/dist/src/core/furnace-operation.js +0 -444
- package/dist/src/core/furnace-precondition.d.ts +0 -61
- package/dist/src/core/furnace-precondition.js +0 -67
- package/dist/src/core/furnace-refresh.d.ts +0 -28
- package/dist/src/core/furnace-refresh.js +0 -125
- package/dist/src/core/furnace-registration-ast.d.ts +0 -53
- package/dist/src/core/furnace-registration-ast.js +0 -402
- package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
- package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
- package/dist/src/core/furnace-registration-remove.d.ts +0 -56
- package/dist/src/core/furnace-registration-remove.js +0 -260
- package/dist/src/core/furnace-registration-rename.d.ts +0 -26
- package/dist/src/core/furnace-registration-rename.js +0 -77
- package/dist/src/core/furnace-registration-validate.d.ts +0 -53
- package/dist/src/core/furnace-registration-validate.js +0 -110
- package/dist/src/core/furnace-registration.d.ts +0 -112
- package/dist/src/core/furnace-registration.js +0 -348
- package/dist/src/core/furnace-rollback.d.ts +0 -48
- package/dist/src/core/furnace-rollback.js +0 -170
- package/dist/src/core/furnace-scanner.d.ts +0 -47
- package/dist/src/core/furnace-scanner.js +0 -236
- package/dist/src/core/furnace-stale-export.d.ts +0 -60
- package/dist/src/core/furnace-stale-export.js +0 -125
- package/dist/src/core/furnace-staleness.d.ts +0 -24
- package/dist/src/core/furnace-staleness.js +0 -67
- package/dist/src/core/furnace-state-persist.d.ts +0 -68
- package/dist/src/core/furnace-state-persist.js +0 -116
- package/dist/src/core/furnace-step-errors.d.ts +0 -23
- package/dist/src/core/furnace-step-errors.js +0 -25
- package/dist/src/core/furnace-stories.d.ts +0 -37
- package/dist/src/core/furnace-stories.js +0 -186
- package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
- package/dist/src/core/furnace-validate-accessibility.js +0 -417
- package/dist/src/core/furnace-validate-checks.d.ts +0 -4
- package/dist/src/core/furnace-validate-checks.js +0 -6
- package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
- package/dist/src/core/furnace-validate-compatibility.js +0 -295
- package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
- package/dist/src/core/furnace-validate-exceptions.js +0 -98
- package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
- package/dist/src/core/furnace-validate-helpers.js +0 -4
- package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
- package/dist/src/core/furnace-validate-icon-button.js +0 -78
- package/dist/src/core/furnace-validate-registration.d.ts +0 -67
- package/dist/src/core/furnace-validate-registration.js +0 -487
- package/dist/src/core/furnace-validate-structure.d.ts +0 -22
- package/dist/src/core/furnace-validate-structure.js +0 -122
- package/dist/src/core/furnace-validate.d.ts +0 -41
- package/dist/src/core/furnace-validate.js +0 -302
- package/dist/src/core/furnace-version-drift.d.ts +0 -57
- package/dist/src/core/furnace-version-drift.js +0 -102
- package/dist/src/core/gecko-dom-types.d.ts +0 -2
- package/dist/src/core/gecko-dom-types.js +0 -17
- package/dist/src/core/git-base.d.ts +0 -101
- package/dist/src/core/git-base.js +0 -162
- package/dist/src/core/git-diff-new-file.d.ts +0 -40
- package/dist/src/core/git-diff-new-file.js +0 -118
- package/dist/src/core/git-diff.d.ts +0 -82
- package/dist/src/core/git-diff.js +0 -539
- package/dist/src/core/git-file-ops.d.ts +0 -108
- package/dist/src/core/git-file-ops.js +0 -280
- package/dist/src/core/git-readonly-index.d.ts +0 -91
- package/dist/src/core/git-readonly-index.js +0 -177
- package/dist/src/core/git-status.d.ts +0 -84
- package/dist/src/core/git-status.js +0 -208
- package/dist/src/core/git.d.ts +0 -114
- package/dist/src/core/git.js +0 -540
- package/dist/src/core/harness-helper-pids.d.ts +0 -98
- package/dist/src/core/harness-helper-pids.js +0 -240
- package/dist/src/core/harness-orphans.d.ts +0 -118
- package/dist/src/core/harness-orphans.js +0 -268
- package/dist/src/core/harness-port-fallback.d.ts +0 -60
- package/dist/src/core/harness-port-fallback.js +0 -96
- package/dist/src/core/harness-port-reservation.d.ts +0 -60
- package/dist/src/core/harness-port-reservation.js +0 -122
- package/dist/src/core/history-log-file.d.ts +0 -61
- package/dist/src/core/history-log-file.js +0 -164
- package/dist/src/core/history-log.d.ts +0 -20
- package/dist/src/core/history-log.js +0 -30
- package/dist/src/core/json-preserving-edit.d.ts +0 -22
- package/dist/src/core/json-preserving-edit.js +0 -199
- package/dist/src/core/launchable-build.d.ts +0 -39
- package/dist/src/core/launchable-build.js +0 -85
- package/dist/src/core/license-headers.d.ts +0 -103
- package/dist/src/core/license-headers.js +0 -318
- package/dist/src/core/line-prefixer.d.ts +0 -18
- package/dist/src/core/line-prefixer.js +0 -34
- package/dist/src/core/lit-template-regions.d.ts +0 -4
- package/dist/src/core/lit-template-regions.js +0 -50
- package/dist/src/core/mach-build-artifacts.d.ts +0 -176
- package/dist/src/core/mach-build-artifacts.js +0 -436
- package/dist/src/core/mach-error-hints.d.ts +0 -24
- package/dist/src/core/mach-error-hints.js +0 -135
- package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
- package/dist/src/core/mach-known-noise-filter.js +0 -257
- package/dist/src/core/mach-mozconfig.d.ts +0 -57
- package/dist/src/core/mach-mozconfig.js +0 -166
- package/dist/src/core/mach-python.d.ts +0 -19
- package/dist/src/core/mach-python.js +0 -131
- package/dist/src/core/mach-resource-shim.d.ts +0 -107
- package/dist/src/core/mach-resource-shim.js +0 -640
- package/dist/src/core/mach.d.ts +0 -284
- package/dist/src/core/mach.js +0 -445
- package/dist/src/core/marionette-port.d.ts +0 -153
- package/dist/src/core/marionette-port.js +0 -474
- package/dist/src/core/marionette-preflight.d.ts +0 -58
- package/dist/src/core/marionette-preflight.js +0 -332
- package/dist/src/core/markdown-table.d.ts +0 -104
- package/dist/src/core/markdown-table.js +0 -265
- package/dist/src/core/mochitest-server-port.d.ts +0 -81
- package/dist/src/core/mochitest-server-port.js +0 -175
- package/dist/src/core/module-resolution-preflight.d.ts +0 -65
- package/dist/src/core/module-resolution-preflight.js +0 -171
- package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
- package/dist/src/core/moz-manifest-helpers.js +0 -163
- package/dist/src/core/moz-manifest-register.d.ts +0 -19
- package/dist/src/core/moz-manifest-register.js +0 -51
- package/dist/src/core/moz-manifest-rules.d.ts +0 -58
- package/dist/src/core/moz-manifest-rules.js +0 -264
- package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
- package/dist/src/core/moz-manifest-tokenizers.js +0 -108
- package/dist/src/core/negative-control-compiled.d.ts +0 -46
- package/dist/src/core/negative-control-compiled.js +0 -109
- package/dist/src/core/negative-control-diff.d.ts +0 -51
- package/dist/src/core/negative-control-diff.js +0 -204
- package/dist/src/core/negative-control.d.ts +0 -150
- package/dist/src/core/negative-control.js +0 -399
- package/dist/src/core/objdir-install-manifests.d.ts +0 -73
- package/dist/src/core/objdir-install-manifests.js +0 -226
- package/dist/src/core/objdir-maintenance.d.ts +0 -10
- package/dist/src/core/objdir-maintenance.js +0 -167
- package/dist/src/core/ownership-table.d.ts +0 -53
- package/dist/src/core/ownership-table.js +0 -159
- package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
- package/dist/src/core/parent-exit-watchdog.js +0 -69
- package/dist/src/core/park-store.d.ts +0 -63
- package/dist/src/core/park-store.js +0 -216
- package/dist/src/core/parser-fallback.d.ts +0 -50
- package/dist/src/core/parser-fallback.js +0 -61
- package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
- package/dist/src/core/patch-apply-fuzz.js +0 -125
- package/dist/src/core/patch-apply.d.ts +0 -88
- package/dist/src/core/patch-apply.js +0 -435
- package/dist/src/core/patch-export-coverage.d.ts +0 -49
- package/dist/src/core/patch-export-coverage.js +0 -73
- package/dist/src/core/patch-export-metadata.d.ts +0 -46
- package/dist/src/core/patch-export-metadata.js +0 -47
- package/dist/src/core/patch-export-update.d.ts +0 -55
- package/dist/src/core/patch-export-update.js +0 -95
- package/dist/src/core/patch-export.d.ts +0 -175
- package/dist/src/core/patch-export.js +0 -312
- package/dist/src/core/patch-files.d.ts +0 -17
- package/dist/src/core/patch-files.js +0 -59
- package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
- package/dist/src/core/patch-identifier-suggest.js +0 -135
- package/dist/src/core/patch-lint-binary.d.ts +0 -45
- package/dist/src/core/patch-lint-binary.js +0 -39
- package/dist/src/core/patch-lint-cache.d.ts +0 -78
- package/dist/src/core/patch-lint-cache.js +0 -233
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -39
- package/dist/src/core/patch-lint-checkjs-any-import.js +0 -63
- package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
- package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
- package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
- package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
- package/dist/src/core/patch-lint-checkjs.d.ts +0 -180
- package/dist/src/core/patch-lint-checkjs.js +0 -611
- package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
- package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
- package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
- package/dist/src/core/patch-lint-code-lines.js +0 -105
- package/dist/src/core/patch-lint-creators.d.ts +0 -26
- package/dist/src/core/patch-lint-creators.js +0 -45
- package/dist/src/core/patch-lint-cross.d.ts +0 -232
- package/dist/src/core/patch-lint-cross.js +0 -590
- package/dist/src/core/patch-lint-css.d.ts +0 -27
- package/dist/src/core/patch-lint-css.js +0 -228
- package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
- package/dist/src/core/patch-lint-diff-tag.js +0 -105
- package/dist/src/core/patch-lint-diff.d.ts +0 -42
- package/dist/src/core/patch-lint-diff.js +0 -100
- package/dist/src/core/patch-lint-file-size.d.ts +0 -57
- package/dist/src/core/patch-lint-file-size.js +0 -62
- package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
- package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
- package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
- package/dist/src/core/patch-lint-forward-registration.js +0 -266
- package/dist/src/core/patch-lint-ignore.d.ts +0 -196
- package/dist/src/core/patch-lint-ignore.js +0 -429
- package/dist/src/core/patch-lint-imports.d.ts +0 -5
- package/dist/src/core/patch-lint-imports.js +0 -67
- package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
- package/dist/src/core/patch-lint-jsdoc.js +0 -471
- package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
- package/dist/src/core/patch-lint-module-registration.js +0 -97
- package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
- package/dist/src/core/patch-lint-mozbuild.js +0 -192
- package/dist/src/core/patch-lint-observer.d.ts +0 -37
- package/dist/src/core/patch-lint-observer.js +0 -167
- package/dist/src/core/patch-lint-ownership.d.ts +0 -74
- package/dist/src/core/patch-lint-ownership.js +0 -125
- package/dist/src/core/patch-lint-prettier.d.ts +0 -34
- package/dist/src/core/patch-lint-prettier.js +0 -124
- package/dist/src/core/patch-lint-projection.d.ts +0 -25
- package/dist/src/core/patch-lint-projection.js +0 -43
- package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
- package/dist/src/core/patch-lint-queue-types.js +0 -12
- package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
- package/dist/src/core/patch-lint-size-thresholds.js +0 -110
- package/dist/src/core/patch-lint-size.d.ts +0 -117
- package/dist/src/core/patch-lint-size.js +0 -331
- package/dist/src/core/patch-lint-staged-registration.d.ts +0 -78
- package/dist/src/core/patch-lint-staged-registration.js +0 -110
- package/dist/src/core/patch-lint-token-scale.d.ts +0 -57
- package/dist/src/core/patch-lint-token-scale.js +0 -286
- package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
- package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
- package/dist/src/core/patch-lint.d.ts +0 -191
- package/dist/src/core/patch-lint.js +0 -529
- package/dist/src/core/patch-lock.d.ts +0 -40
- package/dist/src/core/patch-lock.js +0 -129
- package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
- package/dist/src/core/patch-manifest-consistency.js +0 -256
- package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
- package/dist/src/core/patch-manifest-files-affected.js +0 -77
- package/dist/src/core/patch-manifest-io.d.ts +0 -199
- package/dist/src/core/patch-manifest-io.js +0 -556
- package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
- package/dist/src/core/patch-manifest-key-order.js +0 -60
- package/dist/src/core/patch-manifest-query.d.ts +0 -55
- package/dist/src/core/patch-manifest-query.js +0 -139
- package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
- package/dist/src/core/patch-manifest-resolve.js +0 -35
- package/dist/src/core/patch-manifest-stage.d.ts +0 -46
- package/dist/src/core/patch-manifest-stage.js +0 -96
- package/dist/src/core/patch-manifest-validate.d.ts +0 -20
- package/dist/src/core/patch-manifest-validate.js +0 -240
- package/dist/src/core/patch-manifest.d.ts +0 -12
- package/dist/src/core/patch-manifest.js +0 -13
- package/dist/src/core/patch-order-legal.d.ts +0 -26
- package/dist/src/core/patch-order-legal.js +0 -88
- package/dist/src/core/patch-parse.d.ts +0 -161
- package/dist/src/core/patch-parse.js +0 -347
- package/dist/src/core/patch-policy-content.d.ts +0 -40
- package/dist/src/core/patch-policy-content.js +0 -216
- package/dist/src/core/patch-policy.d.ts +0 -80
- package/dist/src/core/patch-policy.js +0 -394
- package/dist/src/core/patch-registration-refs.d.ts +0 -41
- package/dist/src/core/patch-registration-refs.js +0 -107
- package/dist/src/core/patch-retired.d.ts +0 -57
- package/dist/src/core/patch-retired.js +0 -92
- package/dist/src/core/patch-source-metadata.d.ts +0 -6
- package/dist/src/core/patch-source-metadata.js +0 -12
- package/dist/src/core/patch-subset.d.ts +0 -18
- package/dist/src/core/patch-subset.js +0 -67
- package/dist/src/core/patch-transform.d.ts +0 -61
- package/dist/src/core/patch-transform.js +0 -198
- package/dist/src/core/preflight-wait.d.ts +0 -22
- package/dist/src/core/preflight-wait.js +0 -62
- package/dist/src/core/process-cpu-time.d.ts +0 -12
- package/dist/src/core/process-cpu-time.js +0 -52
- package/dist/src/core/process-owner.d.ts +0 -9
- package/dist/src/core/process-owner.js +0 -43
- package/dist/src/core/rebase-dry-run.d.ts +0 -48
- package/dist/src/core/rebase-dry-run.js +0 -105
- package/dist/src/core/rebase-from-version.d.ts +0 -46
- package/dist/src/core/rebase-from-version.js +0 -71
- package/dist/src/core/rebase-session.d.ts +0 -100
- package/dist/src/core/rebase-session.js +0 -174
- package/dist/src/core/register-browser-content.d.ts +0 -11
- package/dist/src/core/register-browser-content.js +0 -52
- package/dist/src/core/register-browser-test.d.ts +0 -18
- package/dist/src/core/register-browser-test.js +0 -66
- package/dist/src/core/register-module.d.ts +0 -11
- package/dist/src/core/register-module.js +0 -56
- package/dist/src/core/register-result.d.ts +0 -30
- package/dist/src/core/register-result.js +0 -8
- package/dist/src/core/register-scaffold.d.ts +0 -55
- package/dist/src/core/register-scaffold.js +0 -146
- package/dist/src/core/register-shared-css.d.ts +0 -36
- package/dist/src/core/register-shared-css.js +0 -112
- package/dist/src/core/register-xpcshell-test.d.ts +0 -50
- package/dist/src/core/register-xpcshell-test.js +0 -143
- package/dist/src/core/run-log-redact.d.ts +0 -38
- package/dist/src/core/run-log-redact.js +0 -69
- package/dist/src/core/run-log.d.ts +0 -97
- package/dist/src/core/run-log.js +0 -334
- package/dist/src/core/run-profile.d.ts +0 -57
- package/dist/src/core/run-profile.js +0 -137
- package/dist/src/core/shared-ftl.d.ts +0 -28
- package/dist/src/core/shared-ftl.js +0 -49
- package/dist/src/core/signal-critical.d.ts +0 -38
- package/dist/src/core/signal-critical.js +0 -62
- package/dist/src/core/smoke-patterns.d.ts +0 -81
- package/dist/src/core/smoke-patterns.js +0 -176
- package/dist/src/core/state-file.d.ts +0 -60
- package/dist/src/core/state-file.js +0 -71
- package/dist/src/core/status-binary.d.ts +0 -62
- package/dist/src/core/status-binary.js +0 -133
- package/dist/src/core/status-classify.d.ts +0 -96
- package/dist/src/core/status-classify.js +0 -244
- package/dist/src/core/test-changed-prefs.d.ts +0 -30
- package/dist/src/core/test-changed-prefs.js +0 -93
- package/dist/src/core/test-harness-crash.d.ts +0 -251
- package/dist/src/core/test-harness-crash.js +0 -780
- package/dist/src/core/test-harness-infra.d.ts +0 -32
- package/dist/src/core/test-harness-infra.js +0 -69
- package/dist/src/core/test-harness-output.d.ts +0 -45
- package/dist/src/core/test-harness-output.js +0 -119
- package/dist/src/core/test-harness-signature.d.ts +0 -57
- package/dist/src/core/test-harness-signature.js +0 -35
- package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
- package/dist/src/core/test-harness-verdict-notes.js +0 -48
- package/dist/src/core/test-host-state.d.ts +0 -14
- package/dist/src/core/test-host-state.js +0 -80
- package/dist/src/core/test-path-scope.d.ts +0 -59
- package/dist/src/core/test-path-scope.js +0 -147
- package/dist/src/core/test-profile-files.d.ts +0 -17
- package/dist/src/core/test-profile-files.js +0 -75
- package/dist/src/core/test-raw-log.d.ts +0 -66
- package/dist/src/core/test-raw-log.js +0 -122
- package/dist/src/core/test-run-completeness.d.ts +0 -97
- package/dist/src/core/test-run-completeness.js +0 -191
- package/dist/src/core/test-stale-check.d.ts +0 -213
- package/dist/src/core/test-stale-check.js +0 -396
- package/dist/src/core/test-stale-exempt.d.ts +0 -40
- package/dist/src/core/test-stale-exempt.js +0 -70
- package/dist/src/core/test-stale-symlink.d.ts +0 -12
- package/dist/src/core/test-stale-symlink.js +0 -39
- package/dist/src/core/test-stall-triage.d.ts +0 -51
- package/dist/src/core/test-stall-triage.js +0 -142
- package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
- package/dist/src/core/test-xpcshell-retry.js +0 -31
- package/dist/src/core/token-category.d.ts +0 -54
- package/dist/src/core/token-category.js +0 -299
- package/dist/src/core/token-coverage.d.ts +0 -12
- package/dist/src/core/token-coverage.js +0 -96
- package/dist/src/core/token-dark-mode.d.ts +0 -64
- package/dist/src/core/token-dark-mode.js +0 -186
- package/dist/src/core/token-docs.d.ts +0 -34
- package/dist/src/core/token-docs.js +0 -102
- package/dist/src/core/token-inventory.d.ts +0 -56
- package/dist/src/core/token-inventory.js +0 -114
- package/dist/src/core/token-lint.d.ts +0 -53
- package/dist/src/core/token-lint.js +0 -131
- package/dist/src/core/token-manager.d.ts +0 -87
- package/dist/src/core/token-manager.js +0 -407
- package/dist/src/core/token-scaffold.d.ts +0 -36
- package/dist/src/core/token-scaffold.js +0 -73
- package/dist/src/core/token-sibling-sheets.d.ts +0 -46
- package/dist/src/core/token-sibling-sheets.js +0 -119
- package/dist/src/core/token-variant.d.ts +0 -90
- package/dist/src/core/token-variant.js +0 -327
- package/dist/src/core/toolchain-preflight.d.ts +0 -90
- package/dist/src/core/toolchain-preflight.js +0 -251
- package/dist/src/core/tree-cow.d.ts +0 -16
- package/dist/src/core/tree-cow.js +0 -71
- package/dist/src/core/tree-guard.d.ts +0 -35
- package/dist/src/core/tree-guard.js +0 -194
- package/dist/src/core/tree-store.d.ts +0 -143
- package/dist/src/core/tree-store.js +0 -478
- package/dist/src/core/typecheck-shim.d.ts +0 -90
- package/dist/src/core/typecheck-shim.js +0 -507
- package/dist/src/core/typecheck.d.ts +0 -75
- package/dist/src/core/typecheck.js +0 -433
- package/dist/src/core/wire-destroy.d.ts +0 -25
- package/dist/src/core/wire-destroy.js +0 -126
- package/dist/src/core/wire-dom-fragment.d.ts +0 -44
- package/dist/src/core/wire-dom-fragment.js +0 -139
- package/dist/src/core/wire-init.d.ts +0 -28
- package/dist/src/core/wire-init.js +0 -219
- package/dist/src/core/wire-subscript.d.ts +0 -23
- package/dist/src/core/wire-subscript.js +0 -145
- package/dist/src/core/wire-utils.d.ts +0 -149
- package/dist/src/core/wire-utils.js +0 -338
- package/dist/src/core/xpcshell-appdir.d.ts +0 -157
- package/dist/src/core/xpcshell-appdir.js +0 -299
- package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
- package/dist/src/core/xpcshell-profile-dir.js +0 -45
- package/dist/src/errors/base.d.ts +0 -217
- package/dist/src/errors/base.js +0 -279
- package/dist/src/errors/build.d.ts +0 -92
- package/dist/src/errors/build.js +0 -166
- package/dist/src/errors/codes.d.ts +0 -74
- package/dist/src/errors/codes.js +0 -74
- package/dist/src/errors/config.d.ts +0 -17
- package/dist/src/errors/config.js +0 -39
- package/dist/src/errors/download.d.ts +0 -66
- package/dist/src/errors/download.js +0 -160
- package/dist/src/errors/furnace.d.ts +0 -20
- package/dist/src/errors/furnace.js +0 -28
- package/dist/src/errors/git.d.ts +0 -65
- package/dist/src/errors/git.js +0 -140
- package/dist/src/errors/patch.d.ts +0 -27
- package/dist/src/errors/patch.js +0 -52
- package/dist/src/errors/rebase.d.ts +0 -42
- package/dist/src/errors/rebase.js +0 -71
- package/dist/src/errors/run.d.ts +0 -16
- package/dist/src/errors/run.js +0 -22
- package/dist/src/index.d.ts +0 -42
- package/dist/src/index.js +0 -32
- package/dist/src/types/cli.d.ts +0 -14
- package/dist/src/types/commands/index.d.ts +0 -6
- package/dist/src/types/commands/index.js +0 -5
- package/dist/src/types/commands/options.d.ts +0 -1367
- package/dist/src/types/commands/options.js +0 -5
- package/dist/src/types/commands/patches.d.ts +0 -352
- package/dist/src/types/commands/patches.js +0 -5
- package/dist/src/types/commands/project.d.ts +0 -51
- package/dist/src/types/commands/project.js +0 -5
- package/dist/src/types/config.d.ts +0 -703
- package/dist/src/types/config.js +0 -15
- package/dist/src/types/furnace.d.ts +0 -415
- package/dist/src/types/furnace.js +0 -26
- package/dist/src/types/index.d.ts +0 -5
- package/dist/src/types/index.js +0 -5
- package/dist/src/types/json.d.ts +0 -22
- package/dist/src/types/json.js +0 -11
- package/dist/src/types/typecheck.d.ts +0 -51
- package/dist/src/types/typecheck.js +0 -14
- package/dist/src/utils/assert.d.ts +0 -34
- package/dist/src/utils/assert.js +0 -61
- package/dist/src/utils/build-info.d.ts +0 -30
- package/dist/src/utils/build-info.js +0 -99
- package/dist/src/utils/child-env.d.ts +0 -28
- package/dist/src/utils/child-env.js +0 -27
- package/dist/src/utils/concurrency.d.ts +0 -8
- package/dist/src/utils/concurrency.js +0 -32
- package/dist/src/utils/elapsed.d.ts +0 -2
- package/dist/src/utils/elapsed.js +0 -23
- package/dist/src/utils/errors.d.ts +0 -39
- package/dist/src/utils/errors.js +0 -67
- package/dist/src/utils/fs.d.ts +0 -113
- package/dist/src/utils/fs.js +0 -337
- package/dist/src/utils/hash.d.ts +0 -12
- package/dist/src/utils/hash.js +0 -16
- package/dist/src/utils/line-dispatch.d.ts +0 -15
- package/dist/src/utils/line-dispatch.js +0 -48
- package/dist/src/utils/logger.d.ts +0 -109
- package/dist/src/utils/logger.js +0 -270
- package/dist/src/utils/machine-output.d.ts +0 -12
- package/dist/src/utils/machine-output.js +0 -33
- package/dist/src/utils/options.d.ts +0 -155
- package/dist/src/utils/options.js +0 -312
- package/dist/src/utils/package-root.d.ts +0 -21
- package/dist/src/utils/package-root.js +0 -70
- package/dist/src/utils/parse.d.ts +0 -117
- package/dist/src/utils/parse.js +0 -214
- package/dist/src/utils/path-glob.d.ts +0 -15
- package/dist/src/utils/path-glob.js +0 -47
- package/dist/src/utils/paths.d.ts +0 -31
- package/dist/src/utils/paths.js +0 -80
- package/dist/src/utils/platform.d.ts +0 -9
- package/dist/src/utils/platform.js +0 -14
- package/dist/src/utils/process-group.d.ts +0 -42
- package/dist/src/utils/process-group.js +0 -190
- package/dist/src/utils/process-input.d.ts +0 -27
- package/dist/src/utils/process-input.js +0 -46
- package/dist/src/utils/process.d.ts +0 -293
- package/dist/src/utils/process.js +0 -593
- package/dist/src/utils/ps-duration.d.ts +0 -31
- package/dist/src/utils/ps-duration.js +0 -70
- package/dist/src/utils/regex.d.ts +0 -39
- package/dist/src/utils/regex.js +0 -109
- package/dist/src/utils/sleep.d.ts +0 -25
- package/dist/src/utils/sleep.js +0 -30
- package/dist/src/utils/stdio-drain.d.ts +0 -28
- package/dist/src/utils/stdio-drain.js +0 -54
- package/dist/src/utils/validation.d.ts +0 -182
- package/dist/src/utils/validation.js +0 -394
- package/docs/lifecycle-invariants.md +0 -523
- package/docs/run-logs.md +0 -122
- package/docs/verification-trees.md +0 -49
- /package/dist/src/{types/cli.js → cli/context.js} +0 -0
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import type { PatchesManifest, PatchMetadata, ReExportOptions } from '../types/commands/index.js';
|
|
2
|
-
import type { ProjectPaths } from '../types/config.js';
|
|
3
|
-
/**
|
|
4
|
-
* Shared per-run context for the adjacency advisory: the classification
|
|
5
|
-
* inputs computed once by `reExportCommand`, plus the collection of
|
|
6
|
-
* patches refused under `--refuse-adjacent-unmanaged` (collected across
|
|
7
|
-
* the loop so a multi-patch run reports every offender in one refusal).
|
|
8
|
-
*/
|
|
9
|
-
export interface AdjacentUnmanagedContext {
|
|
10
|
-
binaryName: string;
|
|
11
|
-
furnacePrefixes: ReadonlySet<string>;
|
|
12
|
-
refuseAdjacentUnmanaged: boolean;
|
|
13
|
-
/**
|
|
14
|
-
* Engine-relative paths named by `--expect-unmanaged`: reviewed, recorded
|
|
15
|
-
* exceptions that are reported but never refuse. Normalized once by the
|
|
16
|
-
* caller so the comparison matches git's engine-relative output.
|
|
17
|
-
*/
|
|
18
|
-
approvedUnmanaged: ReadonlySet<string>;
|
|
19
|
-
/** Approved paths actually met this run, so unused ones can be surfaced. */
|
|
20
|
-
approvedSeen: Set<string>;
|
|
21
|
-
/**
|
|
22
|
-
* Engine-relative paths named by `--expect-new`: files this session
|
|
23
|
-
* created and will adopt with its next export (or `--scan-file`). They
|
|
24
|
-
* pass the belt and are reported, while every other adjacent file still
|
|
25
|
-
* refuses, so a peer's neighbour is not admitted with them.
|
|
26
|
-
*/
|
|
27
|
-
expectedNew: ReadonlySet<string>;
|
|
28
|
-
/** `--expect-new` paths actually met this run. */
|
|
29
|
-
expectedNewSeen: Set<string>;
|
|
30
|
-
/**
|
|
31
|
-
* Reviewed `--adjacent-ignore` entries: an engine-relative path, or a
|
|
32
|
-
* glob whose `*` stays within one path segment. Matches are reported in
|
|
33
|
-
* one line and never refuse.
|
|
34
|
-
*/
|
|
35
|
-
adjacentIgnore: readonly string[];
|
|
36
|
-
/** `--adjacent-ignore` entries that matched a file this run. */
|
|
37
|
-
adjacentIgnoreSeen: Set<string>;
|
|
38
|
-
/**
|
|
39
|
-
* Offenders collected across the loop. `files` stays the bare paths that
|
|
40
|
-
* downstream consumers already read. `anchored` carries the same entries
|
|
41
|
-
* with the owned directory that made each one adjacent, so the run-level
|
|
42
|
-
* refusal can name the anchor without re-deriving it.
|
|
43
|
-
*/
|
|
44
|
-
refusals: {
|
|
45
|
-
patchFilename: string;
|
|
46
|
-
files: string[];
|
|
47
|
-
anchored: string[];
|
|
48
|
-
}[];
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Builds the run's adjacency context. The path flags are normalized once
|
|
52
|
-
* here, so the per-file comparison matches git's engine-relative output.
|
|
53
|
-
*/
|
|
54
|
-
export declare function buildAdjacentUnmanagedContext(options: ReExportOptions, binaryName: string, furnacePrefixes: ReadonlySet<string>): AdjacentUnmanagedContext;
|
|
55
|
-
/**
|
|
56
|
-
* The one definition of "adjacent", shared by the per-patch notice and the
|
|
57
|
-
* run-level refusal so the two cannot drift apart.
|
|
58
|
-
*/
|
|
59
|
-
export declare const ADJACENT_MEANS: string;
|
|
60
|
-
/** Returns the subset of `files` that no longer exist under `engineDir`. */
|
|
61
|
-
export declare function findMissingFiles(engineDir: string, files: readonly string[]): Promise<string[]>;
|
|
62
|
-
/**
|
|
63
|
-
* One unmanaged file and the owned directory that made it adjacent.
|
|
64
|
-
*
|
|
65
|
-
* The anchor names which of the patch's owned locations the file sits
|
|
66
|
-
* beside, so an unattended run can triage a refusal on a patch that owns
|
|
67
|
-
* files in several directories without re-deriving the adjacency by hand
|
|
68
|
-
* from the manifest.
|
|
69
|
-
*/
|
|
70
|
-
export interface AdjacentUnmanagedFile {
|
|
71
|
-
/** Engine-relative path of the unmanaged file. */
|
|
72
|
-
file: string;
|
|
73
|
-
/**
|
|
74
|
-
* Directory holding at least one file this patch owns, or for a
|
|
75
|
-
* registration-named file, the directory of the carrier naming it.
|
|
76
|
-
*/
|
|
77
|
-
anchorDir: string;
|
|
78
|
-
/** The owned carrier whose added registration line names the file. */
|
|
79
|
-
registeredBy?: string;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Emits the scan-less advisory for one patch: missing manifest files and
|
|
83
|
-
* unmanaged files adjacent to the patch's ownership. When
|
|
84
|
-
* `--refuse-adjacent-unmanaged` is set and any unmanaged adjacent file
|
|
85
|
-
* exists, records the patch into `ctx.refusals` and returns true. The
|
|
86
|
-
* caller then skips the write for this patch and converts the collection
|
|
87
|
-
* into one run-level non-zero refusal after the loop.
|
|
88
|
-
*/
|
|
89
|
-
export declare function reportAdjacentUnmanagedFiles(args: {
|
|
90
|
-
patch: PatchMetadata;
|
|
91
|
-
paths: ProjectPaths;
|
|
92
|
-
manifest: PatchesManifest;
|
|
93
|
-
currentFilesAffected: readonly string[];
|
|
94
|
-
ctx: AdjacentUnmanagedContext;
|
|
95
|
-
/**
|
|
96
|
-
* Set beside `--scan`: the scan has already reconciled missing files and
|
|
97
|
-
* adopted what it was asked to, so only the neighbours it left are judged.
|
|
98
|
-
*/
|
|
99
|
-
afterScan?: boolean;
|
|
100
|
-
}): Promise<boolean>;
|
|
101
|
-
/**
|
|
102
|
-
* End-of-run accounting for `--expect-new` and `--adjacent-ignore`.
|
|
103
|
-
*
|
|
104
|
-
* An `--expect-new` path is a promise that the next export adopts it, so a
|
|
105
|
-
* met one is repeated as the export still owed, and an unmet one is a
|
|
106
|
-
* warning: a typo there leaves the refusal armed for the file it meant to
|
|
107
|
-
* admit. An unmatched `--adjacent-ignore` entry is only noted, because a
|
|
108
|
-
* reviewed ignore list is reused across runs and patches, and "not met"
|
|
109
|
-
* is its normal case.
|
|
110
|
-
*/
|
|
111
|
-
export declare function reportAdjacentCarveOutUsage(ctx: AdjacentUnmanagedContext): void;
|
|
@@ -1,267 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Re-export adjacency advisory.
|
|
4
|
-
*
|
|
5
|
-
* A plain `re-export` keeps the manifest's filesAffected unchanged, so a
|
|
6
|
-
* brand-new file an author just created beside a patch's owned files is
|
|
7
|
-
* silently left out of the refreshed body. This module detects such adjacent
|
|
8
|
-
* files, filters out tool-managed paths (branding, furnace) so the notice
|
|
9
|
-
* names only genuinely unmanaged candidates, and, under
|
|
10
|
-
* `--refuse-adjacent-unmanaged`, lets the caller turn the notice into a
|
|
11
|
-
* non-zero refusal. Beside `--scan` it judges the files the scan did not
|
|
12
|
-
* adopt, so a targeted `--scan-file` adoption keeps the belt.
|
|
13
|
-
*
|
|
14
|
-
* Split out of re-export.ts to keep that file inside the max-lines budget.
|
|
15
|
-
* Exports helpers consumed by re-export.ts, no registrar.
|
|
16
|
-
*/
|
|
17
|
-
import { dirname, join } from 'node:path';
|
|
18
|
-
import { isBrandingManagedPath } from '../core/branding.js';
|
|
19
|
-
import { getModifiedFilesInDir, getUntrackedFilesInDir } from '../core/git-status.js';
|
|
20
|
-
import { getClaimedFiles } from '../core/patch-manifest.js';
|
|
21
|
-
import { isGeneratedBrandingPath } from '../core/status-classify.js';
|
|
22
|
-
import { mapWithConcurrency } from '../utils/concurrency.js';
|
|
23
|
-
import { pathExists } from '../utils/fs.js';
|
|
24
|
-
import { info, warn } from '../utils/logger.js';
|
|
25
|
-
import { escapeRegex } from '../utils/regex.js';
|
|
26
|
-
import { findRegisteredChangedFiles } from './re-export-adjacent-registrations.js';
|
|
27
|
-
import { normalizeEngineRelativeInput } from './re-export-scan.js';
|
|
28
|
-
/**
|
|
29
|
-
* Builds the run's adjacency context. The path flags are normalized once
|
|
30
|
-
* here, so the per-file comparison matches git's engine-relative output.
|
|
31
|
-
*/
|
|
32
|
-
export function buildAdjacentUnmanagedContext(options, binaryName, furnacePrefixes) {
|
|
33
|
-
const normalized = (flag, values) => (values ?? []).map((value) => normalizeEngineRelativeInput(value, flag));
|
|
34
|
-
return {
|
|
35
|
-
binaryName,
|
|
36
|
-
furnacePrefixes,
|
|
37
|
-
refuseAdjacentUnmanaged: options.refuseAdjacentUnmanaged === true,
|
|
38
|
-
approvedUnmanaged: new Set(normalized('--expect-unmanaged', options.expectUnmanaged)),
|
|
39
|
-
approvedSeen: new Set(),
|
|
40
|
-
expectedNew: new Set(normalized('--expect-new', options.expectNew)),
|
|
41
|
-
expectedNewSeen: new Set(),
|
|
42
|
-
adjacentIgnore: normalized('--adjacent-ignore', options.adjacentIgnore),
|
|
43
|
-
adjacentIgnoreSeen: new Set(),
|
|
44
|
-
refusals: [],
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* The one definition of "adjacent", shared by the per-patch notice and the
|
|
49
|
-
* run-level refusal so the two cannot drift apart.
|
|
50
|
-
*/
|
|
51
|
-
export const ADJACENT_MEANS = 'Adjacent means the file sits in the same directory as a file this patch owns, ' +
|
|
52
|
-
'or a registration line this patch adds (jar.mn, moz.build, test manifest) names it.';
|
|
53
|
-
/** Concurrency bound for existence probes (matches the classify/lint pools). */
|
|
54
|
-
const PATH_PROBE_CONCURRENCY = 8;
|
|
55
|
-
/** Returns the subset of `files` that no longer exist under `engineDir`. */
|
|
56
|
-
export async function findMissingFiles(engineDir, files) {
|
|
57
|
-
const exists = await mapWithConcurrency(files, PATH_PROBE_CONCURRENCY, (file) => pathExists(join(engineDir, file)));
|
|
58
|
-
return files.filter((_, index) => exists[index] !== true);
|
|
59
|
-
}
|
|
60
|
-
function isToolManagedPath(file, isNewFile, ctx) {
|
|
61
|
-
// Mirrors status-classify: a generated branding path is tool-managed
|
|
62
|
-
// outright. A brand-new unowned file under the branding root is still a
|
|
63
|
-
// patch candidate (the Assets.car precedent) and must stay listed.
|
|
64
|
-
if (isBrandingManagedPath(file, ctx.binaryName) &&
|
|
65
|
-
(!isNewFile || isGeneratedBrandingPath(file, ctx.binaryName))) {
|
|
66
|
-
return true;
|
|
67
|
-
}
|
|
68
|
-
for (const prefix of ctx.furnacePrefixes) {
|
|
69
|
-
if (file.startsWith(prefix))
|
|
70
|
-
return true;
|
|
71
|
-
}
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Matches an `--adjacent-ignore` entry. A `*` stays inside one path
|
|
76
|
-
* segment, the same narrowness as `buildAudit.unpackaged`: a carve-out that
|
|
77
|
-
* silently spans subtrees is how a reviewed exception becomes a blanket one.
|
|
78
|
-
*/
|
|
79
|
-
function matchesIgnoreEntry(entry, file) {
|
|
80
|
-
if (!entry.includes('*'))
|
|
81
|
-
return entry === file;
|
|
82
|
-
const pattern = entry
|
|
83
|
-
.split('*')
|
|
84
|
-
.map((part) => escapeRegex(part))
|
|
85
|
-
.join('[^/]*');
|
|
86
|
-
return new RegExp(`^${pattern}$`).test(file);
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Lists the unmanaged files a re-export of this patch would plausibly have
|
|
90
|
-
* to capture: changed files directly in a directory the patch owns a file
|
|
91
|
-
* in, and changed files a registration line the patch adds names. A file in
|
|
92
|
-
* a sibling or nested directory is not adjacent. The directory listing
|
|
93
|
-
* recurses (pathspecs do), so it is filtered back to the exact directories,
|
|
94
|
-
* the same footprint the broad `--scan` adopts from.
|
|
95
|
-
*/
|
|
96
|
-
async function findAdjacentUnmanagedFiles(args) {
|
|
97
|
-
const { currentFilesAffected, engineDir, manifest, patchFilename, ctx } = args;
|
|
98
|
-
const parentDirs = [...new Set(currentFilesAffected.map((file) => dirname(file)))];
|
|
99
|
-
const parentDirSet = new Set(parentDirs);
|
|
100
|
-
const currentSet = new Set(currentFilesAffected);
|
|
101
|
-
const claimedByOthers = getClaimedFiles(manifest, patchFilename);
|
|
102
|
-
// First anchor wins: a file lives in exactly one directory, and a
|
|
103
|
-
// directory anchor is the stronger statement than a registration one.
|
|
104
|
-
const candidates = new Map();
|
|
105
|
-
const isCandidate = (file, isNewFile) => !currentSet.has(file) &&
|
|
106
|
-
!claimedByOthers.has(file) &&
|
|
107
|
-
!candidates.has(file) &&
|
|
108
|
-
!isToolManagedPath(file, isNewFile, ctx);
|
|
109
|
-
for (const dir of parentDirs) {
|
|
110
|
-
const [modifiedFiles, untrackedFiles] = await Promise.all([
|
|
111
|
-
getModifiedFilesInDir(engineDir, dir),
|
|
112
|
-
getUntrackedFilesInDir(engineDir, dir),
|
|
113
|
-
]);
|
|
114
|
-
const untrackedSet = new Set(untrackedFiles);
|
|
115
|
-
for (const file of [...modifiedFiles, ...untrackedFiles]) {
|
|
116
|
-
if (!parentDirSet.has(dirname(file)))
|
|
117
|
-
continue;
|
|
118
|
-
if (isCandidate(file, untrackedSet.has(file))) {
|
|
119
|
-
candidates.set(file, { file, anchorDir: dirname(file) });
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
const registered = await findRegisteredChangedFiles(engineDir, currentFilesAffected);
|
|
124
|
-
for (const { file, carrier } of registered) {
|
|
125
|
-
// A registered path is a patch candidate whatever its tracking state,
|
|
126
|
-
// so it is classified as new: only a generated path is tool-managed.
|
|
127
|
-
if (isCandidate(file, true)) {
|
|
128
|
-
candidates.set(file, { file, anchorDir: dirname(carrier), registeredBy: carrier });
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
return [...candidates.values()].sort((a, b) => a.file.localeCompare(b.file));
|
|
132
|
-
}
|
|
133
|
-
function dispositionOf(file, ctx) {
|
|
134
|
-
if (ctx.approvedUnmanaged.has(file)) {
|
|
135
|
-
ctx.approvedSeen.add(file);
|
|
136
|
-
return 'approved';
|
|
137
|
-
}
|
|
138
|
-
if (ctx.expectedNew.has(file)) {
|
|
139
|
-
ctx.expectedNewSeen.add(file);
|
|
140
|
-
return 'expected-new';
|
|
141
|
-
}
|
|
142
|
-
const ignore = ctx.adjacentIgnore.find((entry) => matchesIgnoreEntry(entry, file));
|
|
143
|
-
if (ignore !== undefined) {
|
|
144
|
-
ctx.adjacentIgnoreSeen.add(ignore);
|
|
145
|
-
return 'ignored';
|
|
146
|
-
}
|
|
147
|
-
return 'refusing';
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Splits the candidates into the ones that refuse and the ones a carve-out
|
|
151
|
-
* (`--expect-unmanaged`, `--expect-new`, `--adjacent-ignore`) admits. Met
|
|
152
|
-
* carve-outs are recorded so an unused one can be reported, and admitted
|
|
153
|
-
* files are returned rather than dropped, so the exception stays visible
|
|
154
|
-
* instead of quietly widening.
|
|
155
|
-
*/
|
|
156
|
-
function partitionApproved(files, ctx) {
|
|
157
|
-
const groups = {
|
|
158
|
-
refusing: [],
|
|
159
|
-
approved: [],
|
|
160
|
-
'expected-new': [],
|
|
161
|
-
ignored: [],
|
|
162
|
-
};
|
|
163
|
-
for (const entry of files)
|
|
164
|
-
groups[dispositionOf(entry.file, ctx)].push(entry);
|
|
165
|
-
return groups;
|
|
166
|
-
}
|
|
167
|
-
/** How a notice names one file's anchor. */
|
|
168
|
-
function describeAnchor(entry) {
|
|
169
|
-
return entry.registeredBy !== undefined
|
|
170
|
-
? `registered by engine/${entry.registeredBy}`
|
|
171
|
-
: `beside engine/${entry.anchorDir}`;
|
|
172
|
-
}
|
|
173
|
-
/** Renders `<file> (beside engine/<dir>)` or `<file> (registered by engine/<carrier>)`. */
|
|
174
|
-
function describeAnchored(entry) {
|
|
175
|
-
return `${entry.file} (${describeAnchor(entry)})`;
|
|
176
|
-
}
|
|
177
|
-
/** The admitted-file notice lines, one per carve-out that admitted anything. */
|
|
178
|
-
function reportAdmitted(patchFilename, groups) {
|
|
179
|
-
const notices = [
|
|
180
|
-
[groups.approved, 'admitted by --expect-unmanaged'],
|
|
181
|
-
[groups['expected-new'], 'expected by --expect-new'],
|
|
182
|
-
[groups.ignored, 'ignored by --adjacent-ignore'],
|
|
183
|
-
];
|
|
184
|
-
for (const [entries, how] of notices) {
|
|
185
|
-
if (entries.length === 0)
|
|
186
|
-
continue;
|
|
187
|
-
info(`${patchFilename}: ${entries.length} adjacent unmanaged file(s) ${how} ` +
|
|
188
|
-
`(${entries.map(describeAnchored).join(', ')}) — reported, not refused.`);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Emits the scan-less advisory for one patch: missing manifest files and
|
|
193
|
-
* unmanaged files adjacent to the patch's ownership. When
|
|
194
|
-
* `--refuse-adjacent-unmanaged` is set and any unmanaged adjacent file
|
|
195
|
-
* exists, records the patch into `ctx.refusals` and returns true. The
|
|
196
|
-
* caller then skips the write for this patch and converts the collection
|
|
197
|
-
* into one run-level non-zero refusal after the loop.
|
|
198
|
-
*/
|
|
199
|
-
export async function reportAdjacentUnmanagedFiles(args) {
|
|
200
|
-
const { patch, paths, manifest, currentFilesAffected, ctx } = args;
|
|
201
|
-
const missingFiles = args.afterScan === true ? [] : await findMissingFiles(paths.engine, currentFilesAffected);
|
|
202
|
-
if (missingFiles.length > 0) {
|
|
203
|
-
warn(`${patch.filename}: some files in patches.json no longer exist on disk ` +
|
|
204
|
-
`(${missingFiles.join(', ')}). Without --scan, re-export keeps the manifest's ` +
|
|
205
|
-
`filesAffected unchanged and the missing entries will be preserved — ` +
|
|
206
|
-
`\`fireforge verify\` may flag manifest inconsistency after this run.\n` +
|
|
207
|
-
` Re-run with --scan to reconcile filesAffected with the current worktree, ` +
|
|
208
|
-
`or pass --files <paths> to set the list explicitly.`);
|
|
209
|
-
}
|
|
210
|
-
const allUnmanaged = await findAdjacentUnmanagedFiles({
|
|
211
|
-
currentFilesAffected,
|
|
212
|
-
engineDir: paths.engine,
|
|
213
|
-
manifest,
|
|
214
|
-
patchFilename: patch.filename,
|
|
215
|
-
ctx,
|
|
216
|
-
});
|
|
217
|
-
const groups = partitionApproved(allUnmanaged, ctx);
|
|
218
|
-
reportAdmitted(patch.filename, groups);
|
|
219
|
-
const unmanagedFiles = groups.refusing;
|
|
220
|
-
if (unmanagedFiles.length === 0)
|
|
221
|
-
return false;
|
|
222
|
-
const firstFew = unmanagedFiles.slice(0, 3).map(describeAnchored).join(', ');
|
|
223
|
-
const more = unmanagedFiles.length > 3 ? `, +${unmanagedFiles.length - 3} more` : '';
|
|
224
|
-
warn(`${patch.filename}: found ${unmanagedFiles.length} unmanaged file(s) adjacent to this patch's ownership (${firstFew}${more}). ` +
|
|
225
|
-
`${ADJACENT_MEANS} ` +
|
|
226
|
-
`Plain re-export keeps filesAffected unchanged — use --scan-file to include reviewed files, ` +
|
|
227
|
-
`or --expect-new for a file your next export adopts.`);
|
|
228
|
-
for (const entry of unmanagedFiles) {
|
|
229
|
-
info(` ${entry.file} — ${describeAnchor(entry)} — ` +
|
|
230
|
-
`fireforge re-export ${patch.filename} --scan --scan-file ${entry.file}`);
|
|
231
|
-
}
|
|
232
|
-
if (ctx.refuseAdjacentUnmanaged) {
|
|
233
|
-
ctx.refusals.push({
|
|
234
|
-
patchFilename: patch.filename,
|
|
235
|
-
files: unmanagedFiles.map((entry) => entry.file),
|
|
236
|
-
anchored: unmanagedFiles.map(describeAnchored),
|
|
237
|
-
});
|
|
238
|
-
return true;
|
|
239
|
-
}
|
|
240
|
-
return false;
|
|
241
|
-
}
|
|
242
|
-
/**
|
|
243
|
-
* End-of-run accounting for `--expect-new` and `--adjacent-ignore`.
|
|
244
|
-
*
|
|
245
|
-
* An `--expect-new` path is a promise that the next export adopts it, so a
|
|
246
|
-
* met one is repeated as the export still owed, and an unmet one is a
|
|
247
|
-
* warning: a typo there leaves the refusal armed for the file it meant to
|
|
248
|
-
* admit. An unmatched `--adjacent-ignore` entry is only noted, because a
|
|
249
|
-
* reviewed ignore list is reused across runs and patches, and "not met"
|
|
250
|
-
* is its normal case.
|
|
251
|
-
*/
|
|
252
|
-
export function reportAdjacentCarveOutUsage(ctx) {
|
|
253
|
-
const unseenNew = [...ctx.expectedNew].filter((file) => !ctx.expectedNewSeen.has(file));
|
|
254
|
-
if (unseenNew.length > 0) {
|
|
255
|
-
warn(`--expect-new path(s) were not met as adjacent unmanaged files this run: ` +
|
|
256
|
-
`${unseenNew.join(', ')}. Check the path for a typo, and that a selected patch owns a ` +
|
|
257
|
-
'file in its directory or registers it. The refusal stayed armed for everything else.');
|
|
258
|
-
}
|
|
259
|
-
if (ctx.expectedNewSeen.size > 0) {
|
|
260
|
-
info(`--expect-new admitted ${[...ctx.expectedNewSeen].sort().join(', ')}, which no patch owns ` +
|
|
261
|
-
'yet. Export them next so the queue does not register files it does not ship.');
|
|
262
|
-
}
|
|
263
|
-
const unseenIgnore = ctx.adjacentIgnore.filter((entry) => !ctx.adjacentIgnoreSeen.has(entry));
|
|
264
|
-
if (unseenIgnore.length > 0) {
|
|
265
|
-
info(`--adjacent-ignore entries matched no adjacent file this run: ${unseenIgnore.join(', ')}.`);
|
|
266
|
-
}
|
|
267
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { PatchesManifest } from '../types/commands/index.js';
|
|
2
|
-
import { type DryRunPurityScope } from './re-export-purity-scope.js';
|
|
3
|
-
/** Loads and validates a `re-export --scan-files` assignment manifest. */
|
|
4
|
-
export declare function loadScanFilesAssignments(manifestPath: string, manifest: PatchesManifest): Promise<Map<string, string[]>>;
|
|
5
|
-
/**
|
|
6
|
-
* Runtime enforcement of the dry-run purity contract: fingerprints the engine
|
|
7
|
-
* tree and every patch artifact before and after `operation`, and throws when
|
|
8
|
-
* a dry-run changed anything it promised only to inspect. That turns a
|
|
9
|
-
* "dry-run reverted a just-written export" incident into a hard, named
|
|
10
|
-
* failure instead of silent data loss discovered only when a later gate
|
|
11
|
-
* fails. The post-fingerprint runs whether `operation` resolves or rejects,
|
|
12
|
-
* because a dry-run that mutates state and then fails is exactly the case
|
|
13
|
-
* where a rollback defect must not go unreported. A rejection with a purity
|
|
14
|
-
* violation surfaces the violation with the original error as `cause`.
|
|
15
|
-
* No-op outside dry-run.
|
|
16
|
-
*/
|
|
17
|
-
export declare function withDryRunPurityGuard<T>(engineDir: string, patchesDir: string, isDryRun: boolean, operation: () => Promise<T>, scope?: DryRunPurityScope): Promise<T>;
|
|
18
|
-
/** Serializes dry-run re-export git inspection against the same project tree. */
|
|
19
|
-
export declare function withDryRunReExportLock<T>(fireforgeDir: string, isDryRun: boolean, operation: () => Promise<T>): Promise<T>;
|
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { readdir, readFile } from 'node:fs/promises';
|
|
3
|
-
import { join } from 'node:path';
|
|
4
|
-
import { isUnavailableGenerationToken, snapshotEngineGeneration, unavailableGenerationReason, } from '../core/engine-session-lock.js';
|
|
5
|
-
import { createSiblingLockPath, withFileLock } from '../core/file-lock.js';
|
|
6
|
-
import { formatPatchNotFoundError } from '../core/patch-identifier-suggest.js';
|
|
7
|
-
import { resolvePatchIdentifier } from '../core/patch-manifest.js';
|
|
8
|
-
import { GeneralError, InvalidArgumentError } from '../errors/base.js';
|
|
9
|
-
import { mapWithConcurrency } from '../utils/concurrency.js';
|
|
10
|
-
import { getNodeErrorCode, toError } from '../utils/errors.js';
|
|
11
|
-
import { readText } from '../utils/fs.js';
|
|
12
|
-
import { sha256Hex } from '../utils/hash.js';
|
|
13
|
-
import { isObject } from '../utils/validation.js';
|
|
14
|
-
import { describeForeignWriters, fingerprintScopedDryRunState, } from './re-export-purity-scope.js';
|
|
15
|
-
import { normalizeEngineRelativeInput } from './re-export-scan.js';
|
|
16
|
-
/** Concurrency bound for patch-body hashing (matches the classify/lint pools). */
|
|
17
|
-
const PATCH_HASH_CONCURRENCY = 8;
|
|
18
|
-
function parseScanFilesManifest(raw, manifestPath) {
|
|
19
|
-
let parsed;
|
|
20
|
-
try {
|
|
21
|
-
parsed = JSON.parse(raw);
|
|
22
|
-
}
|
|
23
|
-
catch (error) {
|
|
24
|
-
throw new InvalidArgumentError(`--scan-files manifest is not valid JSON (${manifestPath}): ${toError(error).message}`, '--scan-files');
|
|
25
|
-
}
|
|
26
|
-
if (!isObject(parsed) || !Array.isArray(parsed['assignments'])) {
|
|
27
|
-
throw new InvalidArgumentError('--scan-files manifest must contain an assignments array.', '--scan-files');
|
|
28
|
-
}
|
|
29
|
-
const assignments = [];
|
|
30
|
-
for (const [index, assignment] of parsed['assignments'].entries()) {
|
|
31
|
-
if (!isObject(assignment)) {
|
|
32
|
-
throw new InvalidArgumentError(`--scan-files assignments[${index}] must be an object.`, '--scan-files');
|
|
33
|
-
}
|
|
34
|
-
const { patch, files } = assignment;
|
|
35
|
-
if (typeof patch !== 'string' || patch.trim().length === 0) {
|
|
36
|
-
throw new InvalidArgumentError(`--scan-files assignments[${index}].patch must be a non-empty string.`, '--scan-files');
|
|
37
|
-
}
|
|
38
|
-
if (!Array.isArray(files) ||
|
|
39
|
-
files.length === 0 ||
|
|
40
|
-
!files.every((file) => typeof file === 'string')) {
|
|
41
|
-
throw new InvalidArgumentError(`--scan-files assignments[${index}].files must be a non-empty string array.`, '--scan-files');
|
|
42
|
-
}
|
|
43
|
-
assignments.push({ patch, files });
|
|
44
|
-
}
|
|
45
|
-
if (assignments.length === 0) {
|
|
46
|
-
throw new InvalidArgumentError('--scan-files manifest must assign at least one file.', '--scan-files');
|
|
47
|
-
}
|
|
48
|
-
return { assignments };
|
|
49
|
-
}
|
|
50
|
-
/** Loads and validates a `re-export --scan-files` assignment manifest. */
|
|
51
|
-
export async function loadScanFilesAssignments(manifestPath, manifest) {
|
|
52
|
-
const parsed = parseScanFilesManifest(await readText(manifestPath), manifestPath);
|
|
53
|
-
const filesByPatch = new Map();
|
|
54
|
-
const ownerByFile = new Map();
|
|
55
|
-
for (const assignment of parsed.assignments) {
|
|
56
|
-
const patch = resolvePatchIdentifier(assignment.patch, manifest.patches);
|
|
57
|
-
if (!patch) {
|
|
58
|
-
// Suggest close matches instead of dumping the whole queue.
|
|
59
|
-
throw new InvalidArgumentError(`--scan-files: ${formatPatchNotFoundError(assignment.patch, manifest.patches)}`, '--scan-files');
|
|
60
|
-
}
|
|
61
|
-
const patchFiles = filesByPatch.get(patch.filename) ?? new Set();
|
|
62
|
-
filesByPatch.set(patch.filename, patchFiles);
|
|
63
|
-
for (const rawFile of assignment.files) {
|
|
64
|
-
const file = normalizeEngineRelativeInput(rawFile, '--scan-files');
|
|
65
|
-
const previousOwner = ownerByFile.get(file);
|
|
66
|
-
if (previousOwner !== undefined && previousOwner !== patch.filename) {
|
|
67
|
-
throw new InvalidArgumentError(`--scan-files path is assigned to more than one patch: ${file} (${previousOwner}, ${patch.filename})`, '--scan-files');
|
|
68
|
-
}
|
|
69
|
-
ownerByFile.set(file, patch.filename);
|
|
70
|
-
patchFiles.add(file);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
return new Map([...filesByPatch.entries()].map(([patchFilename, files]) => [patchFilename, [...files].sort()]));
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Fingerprints every piece of state a `re-export --dry-run` promises not to
|
|
77
|
-
* disturb: the engine's commit + working-tree status (via the same
|
|
78
|
-
* generation token `fireforge test` uses) and the byte content of every
|
|
79
|
-
* regular file under `patches/`. That covers all of them, not just the
|
|
80
|
-
* selected patches, because a dry-run of patch B can revert a just-written
|
|
81
|
-
* export of patch A.
|
|
82
|
-
*
|
|
83
|
-
* A missing patches directory (ENOENT/ENOTDIR) fingerprints as empty, since
|
|
84
|
-
* there is nothing there to protect. Any other listing failure (EACCES, EIO,
|
|
85
|
-
* …) throws: an unreadable directory is not evidence it is empty, and
|
|
86
|
-
* treating it as such lets the guard silently vouch for state it never saw.
|
|
87
|
-
* The same rule covers an unmeasurable engine generation and an unreadable
|
|
88
|
-
* individual patch file. A before-pass failure aborts the dry run before it
|
|
89
|
-
* starts, since a guard that measured nothing cannot vouch for anything.
|
|
90
|
-
*/
|
|
91
|
-
async function fingerprintDryRunState(engineDir, patchesDir) {
|
|
92
|
-
const fingerprint = new Map();
|
|
93
|
-
const generation = await snapshotEngineGeneration(engineDir);
|
|
94
|
-
if (isUnavailableGenerationToken(generation)) {
|
|
95
|
-
// A failed probe measured nothing. Hashing the failure token would let
|
|
96
|
-
// two identical failures compare "unchanged" (vouching for unmeasured
|
|
97
|
-
// state) and two differing messages report a spurious violation.
|
|
98
|
-
throw new GeneralError(`[dry-run] cannot fingerprint the engine working tree for the purity guard: ` +
|
|
99
|
-
unavailableGenerationReason(generation));
|
|
100
|
-
}
|
|
101
|
-
fingerprint.set('the engine working tree', sha256Hex(generation));
|
|
102
|
-
let names = [];
|
|
103
|
-
try {
|
|
104
|
-
const entries = await readdir(patchesDir, { withFileTypes: true });
|
|
105
|
-
names = entries
|
|
106
|
-
.filter((entry) => entry.isFile())
|
|
107
|
-
.map((entry) => entry.name)
|
|
108
|
-
.sort();
|
|
109
|
-
}
|
|
110
|
-
catch (error) {
|
|
111
|
-
// No patches directory, so nothing there to protect. The same condition
|
|
112
|
-
// on the post-run pass produces the same empty set, and a directory that
|
|
113
|
-
// appears mid-dry-run correctly reports as a violation. Any other failure
|
|
114
|
-
// must not read as "empty": the guard would be vouching for state it
|
|
115
|
-
// never saw.
|
|
116
|
-
const code = getNodeErrorCode(error);
|
|
117
|
-
if (code !== 'ENOENT' && code !== 'ENOTDIR') {
|
|
118
|
-
throw new GeneralError(`[dry-run] cannot fingerprint ${patchesDir} for the purity guard: ${toError(error).message}`, error);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
const results = await mapWithConcurrency(names, PATCH_HASH_CONCURRENCY, async (name) => {
|
|
122
|
-
try {
|
|
123
|
-
return {
|
|
124
|
-
hash: sha256Hex(await readFile(join(patchesDir, name))),
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
catch (error) {
|
|
128
|
-
// A file that vanished between the listing and the read is omitted, so
|
|
129
|
-
// a dry run that deleted a patch artifact reports as the violation it
|
|
130
|
-
// is (key present before, absent after) instead of hiding behind a
|
|
131
|
-
// fingerprinting error. Every other failure fails closed: a constant
|
|
132
|
-
// placeholder would make unreadable-before equal unreadable-after even
|
|
133
|
-
// when the bytes changed underneath.
|
|
134
|
-
const code = getNodeErrorCode(error);
|
|
135
|
-
if (code === 'ENOENT' || code === 'ENOTDIR')
|
|
136
|
-
return { vanished: true };
|
|
137
|
-
return { error };
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
for (const [index, name] of names.entries()) {
|
|
141
|
-
const result = results[index];
|
|
142
|
-
if (result === undefined)
|
|
143
|
-
continue;
|
|
144
|
-
if ('error' in result) {
|
|
145
|
-
throw new GeneralError(`[dry-run] cannot fingerprint ${join(patchesDir, name)} for the purity guard: ${toError(result.error).message}`, result.error);
|
|
146
|
-
}
|
|
147
|
-
if ('vanished' in result)
|
|
148
|
-
continue;
|
|
149
|
-
fingerprint.set(`patches/${name}`, result.hash);
|
|
150
|
-
}
|
|
151
|
-
return fingerprint;
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* Runtime enforcement of the dry-run purity contract: fingerprints the engine
|
|
155
|
-
* tree and every patch artifact before and after `operation`, and throws when
|
|
156
|
-
* a dry-run changed anything it promised only to inspect. That turns a
|
|
157
|
-
* "dry-run reverted a just-written export" incident into a hard, named
|
|
158
|
-
* failure instead of silent data loss discovered only when a later gate
|
|
159
|
-
* fails. The post-fingerprint runs whether `operation` resolves or rejects,
|
|
160
|
-
* because a dry-run that mutates state and then fails is exactly the case
|
|
161
|
-
* where a rollback defect must not go unreported. A rejection with a purity
|
|
162
|
-
* violation surfaces the violation with the original error as `cause`.
|
|
163
|
-
* No-op outside dry-run.
|
|
164
|
-
*/
|
|
165
|
-
export async function withDryRunPurityGuard(engineDir, patchesDir, isDryRun, operation, scope) {
|
|
166
|
-
if (!isDryRun)
|
|
167
|
-
return operation();
|
|
168
|
-
const fingerprint = () => scope === undefined
|
|
169
|
-
? fingerprintDryRunState(engineDir, patchesDir)
|
|
170
|
-
: fingerprintScopedDryRunState(engineDir, patchesDir, scope);
|
|
171
|
-
const startedAt = Date.now();
|
|
172
|
-
const before = await fingerprint();
|
|
173
|
-
let result;
|
|
174
|
-
let operationError;
|
|
175
|
-
let failed = false;
|
|
176
|
-
try {
|
|
177
|
-
result = await operation();
|
|
178
|
-
}
|
|
179
|
-
catch (error) {
|
|
180
|
-
failed = true;
|
|
181
|
-
operationError = error;
|
|
182
|
-
}
|
|
183
|
-
let after;
|
|
184
|
-
try {
|
|
185
|
-
after = await fingerprint();
|
|
186
|
-
}
|
|
187
|
-
catch (fingerprintError) {
|
|
188
|
-
// The post-run fingerprint failing must not swallow the dry run's own
|
|
189
|
-
// failure: an operation that mutated state, broke it, and made it
|
|
190
|
-
// unreadable is exactly the case where both facts matter. The combined
|
|
191
|
-
// message carries both. The operation error stays the `cause`.
|
|
192
|
-
if (failed) {
|
|
193
|
-
throw new GeneralError(`[dry-run] this dry run failed (${toError(operationError).message}), and its purity could ` +
|
|
194
|
-
`not be verified afterwards: ${toError(fingerprintError).message}. Inspect engine/ and ` +
|
|
195
|
-
'your patches/ diff before trusting them.', operationError);
|
|
196
|
-
}
|
|
197
|
-
throw fingerprintError;
|
|
198
|
-
}
|
|
199
|
-
const touched = [...new Set([...before.keys(), ...after.keys()])]
|
|
200
|
-
.sort()
|
|
201
|
-
.filter((key) => before.get(key) !== after.get(key));
|
|
202
|
-
if (touched.length > 0) {
|
|
203
|
-
const also = failed ? ` The dry run also failed: ${toError(operationError).message}` : '';
|
|
204
|
-
const writers = await describeForeignWriters(patchesDir, startedAt);
|
|
205
|
-
if (writers.length > 0) {
|
|
206
|
-
throw new GeneralError(`[dry-run] ${touched.join(', ')} changed during this dry run, written by another ` +
|
|
207
|
-
`writer: ${writers.join('; ')}. The preview raced that write; rerun it once the ` +
|
|
208
|
-
`writer is done.${also}`, operationError);
|
|
209
|
-
}
|
|
210
|
-
throw new GeneralError(`[dry-run] invariant violated: ${touched.join(', ')} changed during this dry run. No ` +
|
|
211
|
-
'other FireForge command recorded a write in that window, so either another writer ' +
|
|
212
|
-
'(an editor, an agent or a git command in engine/) changed it, or this is a FireForge ' +
|
|
213
|
-
'bug. Rerun the dry run; if it repeats on a quiet tree, please report it, and inspect ' +
|
|
214
|
-
'the listed state (e.g. `git status` in engine/ and your patches/ diff) before ' +
|
|
215
|
-
'trusting it.' +
|
|
216
|
-
also, operationError);
|
|
217
|
-
}
|
|
218
|
-
if (failed)
|
|
219
|
-
throw operationError;
|
|
220
|
-
return result;
|
|
221
|
-
}
|
|
222
|
-
/** Serializes dry-run re-export git inspection against the same project tree. */
|
|
223
|
-
export async function withDryRunReExportLock(fireforgeDir, isDryRun, operation) {
|
|
224
|
-
if (!isDryRun)
|
|
225
|
-
return operation();
|
|
226
|
-
const lockPath = createSiblingLockPath(join(fireforgeDir, 're-export-dry-run'), '.lock');
|
|
227
|
-
return withFileLock(lockPath, operation, {
|
|
228
|
-
timeoutMs: 24 * 60 * 60 * 1000,
|
|
229
|
-
onTimeoutMessage: `Timed out waiting for the FireForge re-export dry-run lock at ${lockPath}. ` +
|
|
230
|
-
'If no other `fireforge re-export --dry-run` is running, remove the lock directory and retry.',
|
|
231
|
-
onStaleLockMessage: (ageMs) => `Removing stale FireForge re-export dry-run lock (age: ${Math.round(ageMs / 1000)}s). A previous dry-run process may have crashed.`,
|
|
232
|
-
});
|
|
233
|
-
}
|