@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,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Policy-aware checks for export placement plans.
|
|
3
|
-
*/
|
|
4
|
-
import type { PatchMetadata } from '../types/commands/index.js';
|
|
5
|
-
import type { FireForgeConfig } from '../types/config.js';
|
|
6
|
-
export interface PlacementPolicyPlan {
|
|
7
|
-
insertionOrder: number;
|
|
8
|
-
renameMap: ReadonlyMap<string, {
|
|
9
|
-
newFilename: string;
|
|
10
|
-
newOrder: number;
|
|
11
|
-
}>;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Refuses positional placement plans whose renumber would touch a
|
|
15
|
-
* `patchPolicy.reservedRanges` block, either by moving a patch into a
|
|
16
|
-
* reserved range or by moving a patch that currently sits inside one.
|
|
17
|
-
* Throws a single up-front error for the first reserved range hit (the
|
|
18
|
-
* per-patch alternative surfaced one confusing finding per shifted
|
|
19
|
-
* patch), suggesting the first free `--order` below the block when one
|
|
20
|
-
* exists. Exact `--order` plans have an empty rename map and pass.
|
|
21
|
-
*/
|
|
22
|
-
export declare function assertPlacementAvoidsReservedRanges(plan: PlacementPolicyPlan, manifestPatches: readonly PatchMetadata[], config: FireForgeConfig | undefined): void;
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Policy-aware checks for export placement plans.
|
|
4
|
-
*/
|
|
5
|
-
import { formatOrderRange, formatPatchOrder } from '../core/patch-parse.js';
|
|
6
|
-
import { InvalidArgumentError } from '../errors/base.js';
|
|
7
|
-
function findReservedRange(config, order) {
|
|
8
|
-
return (config.patchPolicy?.reservedRanges?.find((range) => order >= range.from && order <= range.to) ??
|
|
9
|
-
null);
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Scans downward from just below the reserved block for the first order
|
|
13
|
-
* not occupied by an existing patch. Returns null when every positive
|
|
14
|
-
* order below the block is taken.
|
|
15
|
-
*/
|
|
16
|
-
function firstFreeOrderBelowReservedRange(patches, range) {
|
|
17
|
-
const occupied = new Set(patches.map((patch) => patch.order));
|
|
18
|
-
for (let order = range.from - 1; order >= 1; order--) {
|
|
19
|
-
if (!occupied.has(order))
|
|
20
|
-
return order;
|
|
21
|
-
}
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Refuses positional placement plans whose renumber would touch a
|
|
26
|
-
* `patchPolicy.reservedRanges` block, either by moving a patch into a
|
|
27
|
-
* reserved range or by moving a patch that currently sits inside one.
|
|
28
|
-
* Throws a single up-front error for the first reserved range hit (the
|
|
29
|
-
* per-patch alternative surfaced one confusing finding per shifted
|
|
30
|
-
* patch), suggesting the first free `--order` below the block when one
|
|
31
|
-
* exists. Exact `--order` plans have an empty rename map and pass.
|
|
32
|
-
*/
|
|
33
|
-
export function assertPlacementAvoidsReservedRanges(plan, manifestPatches, config) {
|
|
34
|
-
if (config?.patchPolicy === undefined || plan.renameMap.size === 0)
|
|
35
|
-
return;
|
|
36
|
-
const byFilename = new Map(manifestPatches.map((patch) => [patch.filename, patch]));
|
|
37
|
-
for (const [filename, rename] of plan.renameMap) {
|
|
38
|
-
const oldOrder = byFilename.get(filename)?.order;
|
|
39
|
-
const reserved = findReservedRange(config, rename.newOrder) ??
|
|
40
|
-
(oldOrder !== undefined ? findReservedRange(config, oldOrder) : null);
|
|
41
|
-
if (reserved === null)
|
|
42
|
-
continue;
|
|
43
|
-
const label = formatOrderRange(reserved);
|
|
44
|
-
const freeOrder = firstFreeOrderBelowReservedRange(manifestPatches, reserved);
|
|
45
|
-
if (freeOrder !== null) {
|
|
46
|
-
throw new InvalidArgumentError(`Positional insert would renumber the reserved range ${label}; ` +
|
|
47
|
-
`pass --order ${formatPatchOrder(freeOrder)} (first free order below the ` +
|
|
48
|
-
'reserved block) to place the new patch without renumbering reserved patches.', 'export placement');
|
|
49
|
-
}
|
|
50
|
-
throw new InvalidArgumentError(`Positional insert would renumber the reserved range ${label}; ` +
|
|
51
|
-
'no free order exists below the reserved block. Choose an unused --order outside ' +
|
|
52
|
-
'the reserved range or adjust patchPolicy.reservedRanges.', 'export placement');
|
|
53
|
-
}
|
|
54
|
-
}
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
import type { LintIgnoreChecks } from '../core/patch-lint-ignore.js';
|
|
2
|
-
import type { PatchesManifest, PatchLintIssue } from '../types/commands/index.js';
|
|
3
|
-
import type { ExportOptions, PatchCategory } from '../types/commands/index.js';
|
|
4
|
-
import type { FireForgeConfig } from '../types/config.js';
|
|
5
|
-
import type { SpinnerHandle } from '../utils/logger.js';
|
|
6
|
-
export interface RunPatchLintOptions {
|
|
7
|
-
/** Engine root directory. */
|
|
8
|
-
engineDir: string;
|
|
9
|
-
/** Files touched by the patch. */
|
|
10
|
-
filesAffected: string[];
|
|
11
|
-
/** Raw unified diff string. */
|
|
12
|
-
diffContent: string;
|
|
13
|
-
/** Project configuration. */
|
|
14
|
-
config: FireForgeConfig;
|
|
15
|
-
/** If true, downgrade errors to warnings. */
|
|
16
|
-
skipLint?: boolean | undefined;
|
|
17
|
-
/** Optional cross-patch context for ownership resolution. */
|
|
18
|
-
patchQueueCtx?: import('../core/patch-lint-cross.js').PatchQueueContext | undefined;
|
|
19
|
-
/**
|
|
20
|
-
* Optional per-patch set of `check` IDs to suppress (threaded from
|
|
21
|
-
* `PatchMetadata.lintIgnore`). Surgical alternative to `--skip-lint` when
|
|
22
|
-
* exactly one advisory rule does not apply to a specific patch, e.g.
|
|
23
|
-
* `large-patch-lines` on a cohesive branding bundle that genuinely cannot
|
|
24
|
-
* be split.
|
|
25
|
-
*/
|
|
26
|
-
ignoreChecks?: LintIgnoreChecks | undefined;
|
|
27
|
-
/**
|
|
28
|
-
* Optional explicit tier override (threaded from `PatchMetadata.tier`).
|
|
29
|
-
* Forces the branding-tier thresholds when set, independent of the
|
|
30
|
-
* auto-detect allowlist. When the branding tier is applied, a single
|
|
31
|
-
* `info()` line surfaces the choice so the tier decision is visible rather
|
|
32
|
-
* than silent.
|
|
33
|
-
*/
|
|
34
|
-
patchTier?: 'branding' | undefined;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Runs the full patch lint pipeline and reports results. Warnings are always
|
|
38
|
-
* displayed. Errors block the export unless skipLint is true.
|
|
39
|
-
*
|
|
40
|
-
* @param options - See {@link RunPatchLintOptions}
|
|
41
|
-
*/
|
|
42
|
-
export declare function runPatchLint(options: RunPatchLintOptions): Promise<void>;
|
|
43
|
-
/**
|
|
44
|
-
* Prints a patch-lint issue list with `runPatchLint`'s exact severity
|
|
45
|
-
* buckets and skip-lint semantics, throwing on errors unless `skipLint`.
|
|
46
|
-
* Factored out so `re-export`'s cached-lint path can replay
|
|
47
|
-
* stored issues through the identical reporter without re-linting.
|
|
48
|
-
*/
|
|
49
|
-
export declare function reportPatchLintOutcome(issues: PatchLintIssue[], skipLint?: boolean): void;
|
|
50
|
-
/** Patch identity resolved for an export, from flags or interactive prompts. */
|
|
51
|
-
export interface ExportPatchMetadata {
|
|
52
|
-
/** Normalized patch name (without order prefix or extension). */
|
|
53
|
-
patchName: string;
|
|
54
|
-
/** Category the patch is filed under. */
|
|
55
|
-
selectedCategory: PatchCategory;
|
|
56
|
-
/** Human-readable patch description. */
|
|
57
|
-
description: string;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Resolves patch metadata interactively or from flags, with shared validation.
|
|
61
|
-
* @param options - Export command options
|
|
62
|
-
* @param isInteractive - Whether interactive prompts are allowed
|
|
63
|
-
* @param commandName - Command name for error/help text
|
|
64
|
-
*/
|
|
65
|
-
export declare function promptExportPatchMetadata(options: ExportOptions, isInteractive: boolean, commandName: 'export' | 'export-all', config?: FireForgeConfig): Promise<ExportPatchMetadata | null>;
|
|
66
|
-
/**
|
|
67
|
-
* Confirms whether an export may supersede existing patches.
|
|
68
|
-
* @param patchesDir - Patches directory
|
|
69
|
-
* @param filesAffected - Files touched by the pending export
|
|
70
|
-
* @param supersede - Explicit supersede flag from CLI options
|
|
71
|
-
* @param isInteractive - Whether interactive prompts are allowed
|
|
72
|
-
* @param s - Active spinner handle to stop before prompting
|
|
73
|
-
*/
|
|
74
|
-
export declare function confirmSupersedePatches(patchesDir: string, filesAffected: string[], supersede: boolean | undefined, isInteractive: boolean, s: SpinnerHandle): Promise<boolean>;
|
|
75
|
-
/**
|
|
76
|
-
* Detects new files missing license headers and offers to add them.
|
|
77
|
-
*
|
|
78
|
-
* In interactive mode the user is prompted before any files are modified. In
|
|
79
|
-
* non-interactive mode the function is a no-op. The existing lint error
|
|
80
|
-
* blocks the export instead.
|
|
81
|
-
*
|
|
82
|
-
* @param engineDir - Absolute path to engine directory
|
|
83
|
-
* @param diffContent - Current unified diff
|
|
84
|
-
* @param config - Project configuration
|
|
85
|
-
* @param isInteractive - Whether interactive prompts are available
|
|
86
|
-
* @param dryRun - When true, only report missing headers, never prompt or
|
|
87
|
-
* write. Dry-run must stay read-only: without this flag an interactive
|
|
88
|
-
* `export --dry-run` prompts (default Yes), writes license headers into
|
|
89
|
-
* engine/ files, and then closes with "no changes made".
|
|
90
|
-
* @returns true if files were modified on disk (caller must regenerate diff)
|
|
91
|
-
*/
|
|
92
|
-
export declare function autoFixLicenseHeaders(engineDir: string, diffContent: string, config: FireForgeConfig, isInteractive: boolean, dryRun?: boolean): Promise<boolean>;
|
|
93
|
-
/**
|
|
94
|
-
* Maps every file in `filesAffected` to the existing patches that already
|
|
95
|
-
* claim ownership of it, excluding the caller's own patch (when `newFilename`
|
|
96
|
-
* is provided) and any patches that the caller intends to fully supersede.
|
|
97
|
-
*
|
|
98
|
-
* Returns an empty map when no overlap exists. Used by the overlap gate in
|
|
99
|
-
* `export` and `export-all` to refuse a default-mode export that would
|
|
100
|
-
* silently create cross-patch ownership conflicts, the same class of
|
|
101
|
-
* conflict `verify` immediately fails with.
|
|
102
|
-
*/
|
|
103
|
-
export declare function findPartialOwnershipOverlap(manifest: PatchesManifest, filesAffected: string[], excludeFilenames: ReadonlySet<string>): Map<string, string[]>;
|
|
104
|
-
/**
|
|
105
|
-
* Gate that refuses the default export path when the new patch would
|
|
106
|
-
* silently claim files already tracked by other non-superseded patches.
|
|
107
|
-
* `findAllPatchesForFiles` catches the full-coverage supersede case. This
|
|
108
|
-
* fills the gap for partial overlap: two patches both claiming e.g.
|
|
109
|
-
* `browser/themes/shared/jar.inc.mn` after a second export with `--before`.
|
|
110
|
-
*
|
|
111
|
-
* Proceeds silently when there is no overlap, or when the caller passed
|
|
112
|
-
* `--allow-overlap`. In interactive mode the caller is prompted to
|
|
113
|
-
* acknowledge the overlap (the proper fix path is `re-export --files` to
|
|
114
|
-
* repartition ownership, so the prompt surfaces that pointer). In
|
|
115
|
-
* non-interactive mode it throws, since failing fast beats letting the
|
|
116
|
-
* queue fall out of sync with verify.
|
|
117
|
-
*/
|
|
118
|
-
export declare function guardOwnershipOverlap(args: {
|
|
119
|
-
patchesDir: string;
|
|
120
|
-
filesAffected: string[];
|
|
121
|
-
supersedingFilenames: ReadonlySet<string>;
|
|
122
|
-
allowOverlap: boolean;
|
|
123
|
-
isInteractive: boolean;
|
|
124
|
-
s: SpinnerHandle;
|
|
125
|
-
}): Promise<boolean>;
|
|
126
|
-
/**
|
|
127
|
-
* Runs the two pre-commit gates shared by `export` and `export-all` in
|
|
128
|
-
* order: the supersede confirmation, then the cross-patch ownership overlap
|
|
129
|
-
* guard. The overlap guard receives the filenames of the patches the export
|
|
130
|
-
* would fully supersede so it does not flag a file claimed by a patch that
|
|
131
|
-
* is about to be removed. Catching only full-coverage supersedes leaves a
|
|
132
|
-
* second export targeting a shared file creating a queue where two patches
|
|
133
|
-
* both claim it and `verify` fails immediately.
|
|
134
|
-
*
|
|
135
|
-
* @param args - Gate inputs shared by both export commands
|
|
136
|
-
* @param args.patchesDir - Absolute path of the patches directory
|
|
137
|
-
* @param args.filesAffected - Engine-relative files the export claims
|
|
138
|
-
* @param args.supersede - The command's `--supersede` flag
|
|
139
|
-
* @param args.allowOverlap - The command's `--allow-overlap` flag
|
|
140
|
-
* @param args.isInteractive - Whether prompting the operator is possible
|
|
141
|
-
* @param args.s - Active spinner, stopped before any prompt
|
|
142
|
-
* @returns `true` when both gates passed, `false` when the operator declined
|
|
143
|
-
* (the caller returns without committing)
|
|
144
|
-
*/
|
|
145
|
-
export declare function runSupersedeAndOverlapGates(args: {
|
|
146
|
-
patchesDir: string;
|
|
147
|
-
filesAffected: string[];
|
|
148
|
-
supersede: boolean | undefined;
|
|
149
|
-
allowOverlap: boolean;
|
|
150
|
-
isInteractive: boolean;
|
|
151
|
-
s: SpinnerHandle;
|
|
152
|
-
}): Promise<boolean>;
|
|
@@ -1,396 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { join } from 'node:path';
|
|
3
|
-
import { confirm, select, text } from '@clack/prompts';
|
|
4
|
-
import { addLicenseHeaderToFile, hasThirdPartyPermissiveBanner } from '../core/license-headers.js';
|
|
5
|
-
import { findAllPatchesForFiles } from '../core/patch-export.js';
|
|
6
|
-
import { commentStyleForFile, detectNewFilesInDiff, formatPatchLintIssue, isAcceptableNewFileHeader, lintExportedPatch, resolvePatchSizeTier, } from '../core/patch-lint.js';
|
|
7
|
-
import { resolvePatchOwnedSysMjs } from '../core/patch-lint-ownership.js';
|
|
8
|
-
import { loadPatchesManifest } from '../core/patch-manifest.js';
|
|
9
|
-
import { getPatchPolicyCategories, isCategoryAllowedByConfig } from '../core/patch-policy.js';
|
|
10
|
-
import { GeneralError, InvalidArgumentError } from '../errors/base.js';
|
|
11
|
-
import { pathExists, readText } from '../utils/fs.js';
|
|
12
|
-
import { cancel, info, isCancel, warn } from '../utils/logger.js';
|
|
13
|
-
import { describePatchNameProblem, normalizePatchDisplayName, PATCH_CATEGORIES, } from '../utils/validation.js';
|
|
14
|
-
/**
|
|
15
|
-
* Runs the full patch lint pipeline and reports results. Warnings are always
|
|
16
|
-
* displayed. Errors block the export unless skipLint is true.
|
|
17
|
-
*
|
|
18
|
-
* @param options - See {@link RunPatchLintOptions}
|
|
19
|
-
*/
|
|
20
|
-
export async function runPatchLint(options) {
|
|
21
|
-
const { engineDir, filesAffected, diffContent, config, skipLint, patchQueueCtx, ignoreChecks, patchTier, } = options;
|
|
22
|
-
// Compute the tier decision independently of the lint pipeline so it can
|
|
23
|
-
// be surfaced even when the rule body emitted no issues. A branding patch
|
|
24
|
-
// under the soft threshold still benefits from operators knowing which
|
|
25
|
-
// tier governed the run. The same helper is reused inside `lintPatchSize`,
|
|
26
|
-
// so the surfaced tier and the tier that actually drove the thresholds
|
|
27
|
-
// never drift.
|
|
28
|
-
const tierDecision = resolvePatchSizeTier(filesAffected, patchTier);
|
|
29
|
-
if (tierDecision.tier === 'branding') {
|
|
30
|
-
info(tierDecision.source === 'explicit'
|
|
31
|
-
? 'Lint: branding threshold tier applied via patches.json `tier: "branding"` opt-in.'
|
|
32
|
-
: 'Lint: branding threshold tier applied (patch is all under browser/branding/ plus registration siblings).');
|
|
33
|
-
}
|
|
34
|
-
// When a whole-queue context is supplied, checkJs resolves cross-patch
|
|
35
|
-
// `resource:///`/`chrome://` imports against every patch-owned module, but
|
|
36
|
-
// only this patch's own new modules should report diagnostics. Scope the
|
|
37
|
-
// report to the files this diff creates so re-exporting one patch does not
|
|
38
|
-
// surface another patch's findings (and no ambient stub shim is needed).
|
|
39
|
-
const checkJsReportScope = patchQueueCtx
|
|
40
|
-
? resolvePatchOwnedSysMjs(detectNewFilesInDiff(diffContent))
|
|
41
|
-
: undefined;
|
|
42
|
-
const issues = await lintExportedPatch(engineDir, filesAffected, diffContent, config, {
|
|
43
|
-
...(patchQueueCtx ? { patchQueueCtx } : {}),
|
|
44
|
-
...(ignoreChecks ? { ignoreChecks } : {}),
|
|
45
|
-
...(patchTier ? { patchTier } : {}),
|
|
46
|
-
...(checkJsReportScope ? { checkJsReportScope } : {}),
|
|
47
|
-
});
|
|
48
|
-
reportPatchLintOutcome(issues, skipLint);
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Prints a patch-lint issue list with `runPatchLint`'s exact severity
|
|
52
|
-
* buckets and skip-lint semantics, throwing on errors unless `skipLint`.
|
|
53
|
-
* Factored out so `re-export`'s cached-lint path can replay
|
|
54
|
-
* stored issues through the identical reporter without re-linting.
|
|
55
|
-
*/
|
|
56
|
-
export function reportPatchLintOutcome(issues, skipLint) {
|
|
57
|
-
if (issues.length === 0)
|
|
58
|
-
return;
|
|
59
|
-
const errors = issues.filter((i) => i.severity === 'error');
|
|
60
|
-
const warnings = issues.filter((i) => i.severity === 'warning');
|
|
61
|
-
const notices = issues.filter((i) => i.severity === 'notice');
|
|
62
|
-
for (const issue of notices) {
|
|
63
|
-
info(`NOTICE ${formatPatchLintIssue(issue)}`);
|
|
64
|
-
}
|
|
65
|
-
for (const issue of warnings) {
|
|
66
|
-
warn(formatPatchLintIssue(issue));
|
|
67
|
-
}
|
|
68
|
-
if (errors.length > 0) {
|
|
69
|
-
for (const issue of errors) {
|
|
70
|
-
if (skipLint) {
|
|
71
|
-
warn(formatPatchLintIssue(issue));
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
warn(`ERROR ${formatPatchLintIssue(issue)}`);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
if (!skipLint) {
|
|
78
|
-
throw new GeneralError(`Patch lint found ${errors.length} error(s) that must be fixed before exporting.\n` +
|
|
79
|
-
'Use --skip-lint to bypass this check.');
|
|
80
|
-
}
|
|
81
|
-
info(`Lint: ${errors.length} error(s) downgraded to warnings (--skip-lint)`);
|
|
82
|
-
}
|
|
83
|
-
else if (skipLint) {
|
|
84
|
-
// Always announce that --skip-lint was honoured, even when there were
|
|
85
|
-
// no errors to downgrade, so the operator can confirm the flag took
|
|
86
|
-
// effect. Without this, a clean `--skip-lint` run emitted nothing
|
|
87
|
-
// about the flag and looked identical to an unflagged run.
|
|
88
|
-
info('Lint: 0 error(s); --skip-lint is active (no effect on this run).');
|
|
89
|
-
}
|
|
90
|
-
const warnCount = warnings.length + (skipLint ? errors.length : 0);
|
|
91
|
-
if (warnCount > 0) {
|
|
92
|
-
info(`Patch lint: ${warnCount} warning(s)`);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Resolves patch metadata interactively or from flags, with shared validation.
|
|
97
|
-
* @param options - Export command options
|
|
98
|
-
* @param isInteractive - Whether interactive prompts are allowed
|
|
99
|
-
* @param commandName - Command name for error/help text
|
|
100
|
-
*/
|
|
101
|
-
export async function promptExportPatchMetadata(options, isInteractive, commandName, config) {
|
|
102
|
-
const categories = config !== undefined ? getPatchPolicyCategories(config) : [...PATCH_CATEGORIES];
|
|
103
|
-
// A filename-shaped `--name foo.patch` must not die on the dot rule, so
|
|
104
|
-
// strip the extension before validation and the one-step flow works for
|
|
105
|
-
// both name shapes.
|
|
106
|
-
let patchName = options.name?.trim().replace(/\.patch$/i, '');
|
|
107
|
-
if (patchName) {
|
|
108
|
-
const validationError = describePatchNameProblem(patchName);
|
|
109
|
-
if (validationError) {
|
|
110
|
-
throw new InvalidArgumentError(validationError, '--name');
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
if (!patchName && !isInteractive) {
|
|
114
|
-
throw new InvalidArgumentError('The --name flag is required in non-interactive mode', `Use: fireforge ${commandName} ${commandName === 'export' ? '<paths...> ' : ''}--name "my-patch-name" --category ${categories[0] ?? 'ui'}`);
|
|
115
|
-
}
|
|
116
|
-
if (!patchName) {
|
|
117
|
-
const nameResult = await text({
|
|
118
|
-
message: 'Enter a name for this patch:',
|
|
119
|
-
placeholder: commandName === 'export' ? 'my-change' : 'my-changes',
|
|
120
|
-
validate: (value) => describePatchNameProblem((value ?? '').trim()),
|
|
121
|
-
});
|
|
122
|
-
if (isCancel(nameResult)) {
|
|
123
|
-
cancel('Export cancelled');
|
|
124
|
-
return null;
|
|
125
|
-
}
|
|
126
|
-
patchName = nameResult.trim();
|
|
127
|
-
}
|
|
128
|
-
let category = options.category;
|
|
129
|
-
if (category) {
|
|
130
|
-
const isAllowed = config !== undefined
|
|
131
|
-
? isCategoryAllowedByConfig(config, category)
|
|
132
|
-
: PATCH_CATEGORIES.includes(category);
|
|
133
|
-
if (!isAllowed) {
|
|
134
|
-
throw new InvalidArgumentError(`Invalid category. Must be one of: ${categories.join(', ')}`, '--category');
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
else if (!isInteractive) {
|
|
138
|
-
throw new InvalidArgumentError('The --category flag is required in non-interactive mode', `Use: fireforge ${commandName} ${commandName === 'export' ? '<paths...> ' : ''}--name "name" --category <${categories.join('|')}>`);
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
const categoryResult = await select({
|
|
142
|
-
message: 'Select a category for this patch:',
|
|
143
|
-
options: categories.map((value) => ({ value, label: value })),
|
|
144
|
-
});
|
|
145
|
-
if (isCancel(categoryResult)) {
|
|
146
|
-
cancel('Export cancelled');
|
|
147
|
-
return null;
|
|
148
|
-
}
|
|
149
|
-
category = categoryResult;
|
|
150
|
-
}
|
|
151
|
-
let description = options.description ?? '';
|
|
152
|
-
if (!description && isInteractive) {
|
|
153
|
-
const descResult = await text({
|
|
154
|
-
message: 'Enter a description (optional):',
|
|
155
|
-
placeholder: 'Brief description of what this patch does',
|
|
156
|
-
});
|
|
157
|
-
if (!isCancel(descResult)) {
|
|
158
|
-
description = descResult;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
// The filename slug pipeline strips redundant category prefixes. The
|
|
162
|
-
// manifest display name must agree, or every `export --name ui-foo`
|
|
163
|
-
// needs a follow-up `patch rename` to satisfy bare-slug naming policy.
|
|
164
|
-
const normalized = normalizePatchDisplayName(patchName, category);
|
|
165
|
-
if (normalized !== patchName) {
|
|
166
|
-
info(`Patch name normalized: "${patchName}" → "${normalized}" (the filename carries the order and category prefix).`);
|
|
167
|
-
}
|
|
168
|
-
return {
|
|
169
|
-
patchName: normalized,
|
|
170
|
-
selectedCategory: category,
|
|
171
|
-
description,
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Confirms whether an export may supersede existing patches.
|
|
176
|
-
* @param patchesDir - Patches directory
|
|
177
|
-
* @param filesAffected - Files touched by the pending export
|
|
178
|
-
* @param supersede - Explicit supersede flag from CLI options
|
|
179
|
-
* @param isInteractive - Whether interactive prompts are allowed
|
|
180
|
-
* @param s - Active spinner handle to stop before prompting
|
|
181
|
-
*/
|
|
182
|
-
export async function confirmSupersedePatches(patchesDir, filesAffected, supersede, isInteractive, s) {
|
|
183
|
-
const wouldSupersede = await findAllPatchesForFiles(patchesDir, filesAffected);
|
|
184
|
-
if (wouldSupersede.length === 0 || supersede) {
|
|
185
|
-
return true;
|
|
186
|
-
}
|
|
187
|
-
s.stop();
|
|
188
|
-
const count = wouldSupersede.length;
|
|
189
|
-
warn(`This export would supersede ${count} existing patch${count === 1 ? '' : 'es'}:`);
|
|
190
|
-
for (const patch of wouldSupersede) {
|
|
191
|
-
warn(` - ${patch.filename}`);
|
|
192
|
-
}
|
|
193
|
-
if (!isInteractive) {
|
|
194
|
-
throw new GeneralError(`Refusing to supersede ${count} patch${count === 1 ? '' : 'es'} in non-interactive mode. ` +
|
|
195
|
-
'Use --supersede to confirm, or use "fireforge re-export" to update existing patches in place.');
|
|
196
|
-
}
|
|
197
|
-
const confirmed = await confirm({
|
|
198
|
-
message: `Supersede ${count} patch${count === 1 ? '' : 'es'}? This cannot be undone.`,
|
|
199
|
-
initialValue: false,
|
|
200
|
-
});
|
|
201
|
-
if (isCancel(confirmed) || !confirmed) {
|
|
202
|
-
cancel('Export cancelled');
|
|
203
|
-
return false;
|
|
204
|
-
}
|
|
205
|
-
return true;
|
|
206
|
-
}
|
|
207
|
-
/**
|
|
208
|
-
* Detects new files missing license headers and offers to add them.
|
|
209
|
-
*
|
|
210
|
-
* In interactive mode the user is prompted before any files are modified. In
|
|
211
|
-
* non-interactive mode the function is a no-op. The existing lint error
|
|
212
|
-
* blocks the export instead.
|
|
213
|
-
*
|
|
214
|
-
* @param engineDir - Absolute path to engine directory
|
|
215
|
-
* @param diffContent - Current unified diff
|
|
216
|
-
* @param config - Project configuration
|
|
217
|
-
* @param isInteractive - Whether interactive prompts are available
|
|
218
|
-
* @param dryRun - When true, only report missing headers, never prompt or
|
|
219
|
-
* write. Dry-run must stay read-only: without this flag an interactive
|
|
220
|
-
* `export --dry-run` prompts (default Yes), writes license headers into
|
|
221
|
-
* engine/ files, and then closes with "no changes made".
|
|
222
|
-
* @returns true if files were modified on disk (caller must regenerate diff)
|
|
223
|
-
*/
|
|
224
|
-
export async function autoFixLicenseHeaders(engineDir, diffContent, config, isInteractive, dryRun = false) {
|
|
225
|
-
const license = config.license ?? 'MPL-2.0';
|
|
226
|
-
const newFiles = detectNewFilesInDiff(diffContent);
|
|
227
|
-
if (newFiles.size === 0)
|
|
228
|
-
return false;
|
|
229
|
-
const filesToFix = [];
|
|
230
|
-
const vendoredFiles = [];
|
|
231
|
-
for (const file of newFiles) {
|
|
232
|
-
const style = commentStyleForFile(file);
|
|
233
|
-
if (!style)
|
|
234
|
-
continue;
|
|
235
|
-
const filePath = join(engineDir, file);
|
|
236
|
-
if (!(await pathExists(filePath)))
|
|
237
|
-
continue;
|
|
238
|
-
const content = await readText(filePath);
|
|
239
|
-
// Same acceptance policy as the missing-license-header rule: offering
|
|
240
|
-
// to "fix" a file the lint already accepts (e.g. a verbatim upstream
|
|
241
|
-
// MPL block header on a derived JS/CSS file) would stack a second
|
|
242
|
-
// header on top of a legitimate one.
|
|
243
|
-
if (!isAcceptableNewFileHeader(file, content, style, license)) {
|
|
244
|
-
// A recognized third-party permissive banner marks the file as
|
|
245
|
-
// vendored: prepending the project's own license header would break
|
|
246
|
-
// byte-identity pins and mislicense upstream code.
|
|
247
|
-
if (hasThirdPartyPermissiveBanner(content)) {
|
|
248
|
-
vendoredFiles.push(file);
|
|
249
|
-
}
|
|
250
|
-
else {
|
|
251
|
-
filesToFix.push(file);
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
if (vendoredFiles.length > 0) {
|
|
256
|
-
const vendoredList = vendoredFiles.map((f) => ` - ${f}`).join('\n');
|
|
257
|
-
info(`${vendoredFiles.length} new file(s) carry a third-party permissive license banner and ` +
|
|
258
|
-
'were left untouched (vendored); if the missing-license-header lint check flags them, ' +
|
|
259
|
-
`waive it with --lint-ignore missing-license-header:\n${vendoredList}`);
|
|
260
|
-
}
|
|
261
|
-
if (filesToFix.length === 0)
|
|
262
|
-
return false;
|
|
263
|
-
if (dryRun) {
|
|
264
|
-
const fileList = filesToFix.map((f) => ` - ${f}`).join('\n');
|
|
265
|
-
info(`[dry-run] ${filesToFix.length} new file(s) missing the ${license} license header ` +
|
|
266
|
-
`(a real export would offer to add them):\n${fileList}`);
|
|
267
|
-
return false;
|
|
268
|
-
}
|
|
269
|
-
if (!isInteractive)
|
|
270
|
-
return false;
|
|
271
|
-
const fileList = filesToFix.map((f) => ` - ${f}`).join('\n');
|
|
272
|
-
info(`${filesToFix.length} new file(s) missing the ${license} license header:\n${fileList}`);
|
|
273
|
-
const confirmed = await confirm({
|
|
274
|
-
message: `Add ${license} headers to ${filesToFix.length} file(s)?`,
|
|
275
|
-
initialValue: true,
|
|
276
|
-
});
|
|
277
|
-
if (isCancel(confirmed) || !confirmed)
|
|
278
|
-
return false;
|
|
279
|
-
for (const file of filesToFix) {
|
|
280
|
-
const style = commentStyleForFile(file);
|
|
281
|
-
if (!style)
|
|
282
|
-
continue;
|
|
283
|
-
const filePath = join(engineDir, file);
|
|
284
|
-
await addLicenseHeaderToFile(filePath, license, style);
|
|
285
|
-
info(`Added ${license} header to ${file}`);
|
|
286
|
-
}
|
|
287
|
-
return true;
|
|
288
|
-
}
|
|
289
|
-
/**
|
|
290
|
-
* Maps every file in `filesAffected` to the existing patches that already
|
|
291
|
-
* claim ownership of it, excluding the caller's own patch (when `newFilename`
|
|
292
|
-
* is provided) and any patches that the caller intends to fully supersede.
|
|
293
|
-
*
|
|
294
|
-
* Returns an empty map when no overlap exists. Used by the overlap gate in
|
|
295
|
-
* `export` and `export-all` to refuse a default-mode export that would
|
|
296
|
-
* silently create cross-patch ownership conflicts, the same class of
|
|
297
|
-
* conflict `verify` immediately fails with.
|
|
298
|
-
*/
|
|
299
|
-
export function findPartialOwnershipOverlap(manifest, filesAffected, excludeFilenames) {
|
|
300
|
-
const overlap = new Map();
|
|
301
|
-
const targetSet = new Set(filesAffected);
|
|
302
|
-
for (const patch of manifest.patches) {
|
|
303
|
-
if (excludeFilenames.has(patch.filename))
|
|
304
|
-
continue;
|
|
305
|
-
for (const file of patch.filesAffected) {
|
|
306
|
-
if (!targetSet.has(file))
|
|
307
|
-
continue;
|
|
308
|
-
const owners = overlap.get(file) ?? [];
|
|
309
|
-
owners.push(patch.filename);
|
|
310
|
-
overlap.set(file, owners);
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
return overlap;
|
|
314
|
-
}
|
|
315
|
-
/**
|
|
316
|
-
* Gate that refuses the default export path when the new patch would
|
|
317
|
-
* silently claim files already tracked by other non-superseded patches.
|
|
318
|
-
* `findAllPatchesForFiles` catches the full-coverage supersede case. This
|
|
319
|
-
* fills the gap for partial overlap: two patches both claiming e.g.
|
|
320
|
-
* `browser/themes/shared/jar.inc.mn` after a second export with `--before`.
|
|
321
|
-
*
|
|
322
|
-
* Proceeds silently when there is no overlap, or when the caller passed
|
|
323
|
-
* `--allow-overlap`. In interactive mode the caller is prompted to
|
|
324
|
-
* acknowledge the overlap (the proper fix path is `re-export --files` to
|
|
325
|
-
* repartition ownership, so the prompt surfaces that pointer). In
|
|
326
|
-
* non-interactive mode it throws, since failing fast beats letting the
|
|
327
|
-
* queue fall out of sync with verify.
|
|
328
|
-
*/
|
|
329
|
-
export async function guardOwnershipOverlap(args) {
|
|
330
|
-
const { patchesDir, filesAffected, supersedingFilenames, allowOverlap, isInteractive, s } = args;
|
|
331
|
-
if (allowOverlap)
|
|
332
|
-
return true;
|
|
333
|
-
const manifest = await loadPatchesManifest(patchesDir);
|
|
334
|
-
if (!manifest)
|
|
335
|
-
return true;
|
|
336
|
-
const overlap = findPartialOwnershipOverlap(manifest, filesAffected, supersedingFilenames);
|
|
337
|
-
if (overlap.size === 0)
|
|
338
|
-
return true;
|
|
339
|
-
s.stop();
|
|
340
|
-
const entries = [...overlap.entries()].sort(([a], [b]) => a.localeCompare(b));
|
|
341
|
-
warn(`This export would create cross-patch ownership overlap on ${entries.length} file${entries.length === 1 ? '' : 's'}:`);
|
|
342
|
-
for (const [file, owners] of entries) {
|
|
343
|
-
warn(` - ${file} already claimed by: ${owners.join(', ')}`);
|
|
344
|
-
}
|
|
345
|
-
warn('The queue would fail `fireforge verify` immediately after this export. ' +
|
|
346
|
-
'To repartition ownership safely, run `fireforge re-export --files <paths> <existing-patch>` ' +
|
|
347
|
-
'on the overlapping patches first, then re-run the export.');
|
|
348
|
-
if (!isInteractive) {
|
|
349
|
-
throw new GeneralError('Refusing to export a queue with cross-patch ownership overlap in non-interactive mode. ' +
|
|
350
|
-
'Pass --allow-overlap to acknowledge the conflict, or repartition ownership via `fireforge re-export --files`.');
|
|
351
|
-
}
|
|
352
|
-
const confirmed = await confirm({
|
|
353
|
-
message: 'Proceed with overlapping ownership? This will leave the queue in a verify-failing state.',
|
|
354
|
-
initialValue: false,
|
|
355
|
-
});
|
|
356
|
-
if (isCancel(confirmed) || !confirmed) {
|
|
357
|
-
cancel('Export cancelled');
|
|
358
|
-
return false;
|
|
359
|
-
}
|
|
360
|
-
return true;
|
|
361
|
-
}
|
|
362
|
-
/**
|
|
363
|
-
* Runs the two pre-commit gates shared by `export` and `export-all` in
|
|
364
|
-
* order: the supersede confirmation, then the cross-patch ownership overlap
|
|
365
|
-
* guard. The overlap guard receives the filenames of the patches the export
|
|
366
|
-
* would fully supersede so it does not flag a file claimed by a patch that
|
|
367
|
-
* is about to be removed. Catching only full-coverage supersedes leaves a
|
|
368
|
-
* second export targeting a shared file creating a queue where two patches
|
|
369
|
-
* both claim it and `verify` fails immediately.
|
|
370
|
-
*
|
|
371
|
-
* @param args - Gate inputs shared by both export commands
|
|
372
|
-
* @param args.patchesDir - Absolute path of the patches directory
|
|
373
|
-
* @param args.filesAffected - Engine-relative files the export claims
|
|
374
|
-
* @param args.supersede - The command's `--supersede` flag
|
|
375
|
-
* @param args.allowOverlap - The command's `--allow-overlap` flag
|
|
376
|
-
* @param args.isInteractive - Whether prompting the operator is possible
|
|
377
|
-
* @param args.s - Active spinner, stopped before any prompt
|
|
378
|
-
* @returns `true` when both gates passed, `false` when the operator declined
|
|
379
|
-
* (the caller returns without committing)
|
|
380
|
-
*/
|
|
381
|
-
export async function runSupersedeAndOverlapGates(args) {
|
|
382
|
-
const { patchesDir, filesAffected, supersede, allowOverlap, isInteractive, s } = args;
|
|
383
|
-
const shouldProceed = await confirmSupersedePatches(patchesDir, filesAffected, supersede, isInteractive, s);
|
|
384
|
-
if (!shouldProceed)
|
|
385
|
-
return false;
|
|
386
|
-
const willSupersede = await findAllPatchesForFiles(patchesDir, filesAffected);
|
|
387
|
-
const supersedingFilenames = new Set(willSupersede.map((p) => p.filename));
|
|
388
|
-
return guardOwnershipOverlap({
|
|
389
|
-
patchesDir,
|
|
390
|
-
filesAffected,
|
|
391
|
-
supersedingFilenames,
|
|
392
|
-
allowOverlap,
|
|
393
|
-
isInteractive,
|
|
394
|
-
s,
|
|
395
|
-
});
|
|
396
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lets `export --order` land a new system module whose moz.build line is
|
|
3
|
-
* still unexported working-tree drift in the patch that registers it.
|
|
4
|
-
*
|
|
5
|
-
* Without this the two refusals deadlock: the module's export fails
|
|
6
|
-
* `unregistered-system-module` because no patch body carries its moz.build
|
|
7
|
-
* line yet, and the registering patch cannot be re-exported first because
|
|
8
|
-
* its line names a file no patch creates. The way through is
|
|
9
|
-
* declared intent plus evidence: when the registering patch carries a
|
|
10
|
-
* staged registration for the module and the working tree's moz.build has
|
|
11
|
-
* exactly that line, the export is accepted and the operator is told to
|
|
12
|
-
* re-export the registering patch next. Without the declaration the
|
|
13
|
-
* refusal names the steps, with the exact `patch staged-dependency`
|
|
14
|
-
* command, instead of stopping at "register it".
|
|
15
|
-
*
|
|
16
|
-
* Consumed by export-flow.ts.
|
|
17
|
-
*/
|
|
18
|
-
import type { PatchQueueContext } from '../core/patch-lint.js';
|
|
19
|
-
import type { PatchLintIssue } from '../types/commands/index.js';
|
|
20
|
-
/** Result of {@link acceptTreeRegisteredModules}. */
|
|
21
|
-
export interface TreeRegistrationOutcome {
|
|
22
|
-
/** The projected errors left after accepted modules are removed. */
|
|
23
|
-
remaining: PatchLintIssue[];
|
|
24
|
-
/** One note per accepted module, naming the re-export to run next. */
|
|
25
|
-
accepted: string[];
|
|
26
|
-
/** Detail lines for modules whose registration is in the tree but undeclared. */
|
|
27
|
-
advice: string[];
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Removes `unregistered-system-module` findings for modules the pending
|
|
31
|
-
* export creates when a queue patch declares their registration as a
|
|
32
|
-
* staged dependency and the working tree's moz.build carries that line.
|
|
33
|
-
* For a module whose line is in the tree but undeclared, returns the steps
|
|
34
|
-
* that make it acceptable.
|
|
35
|
-
*
|
|
36
|
-
* @param args - The engine directory (the working tree), the current queue,
|
|
37
|
-
* the filename the pending export would take, the files it creates, and
|
|
38
|
-
* the placement projection's error findings
|
|
39
|
-
*/
|
|
40
|
-
export declare function acceptTreeRegisteredModules(args: {
|
|
41
|
-
engineDir: string;
|
|
42
|
-
baseCtx: PatchQueueContext;
|
|
43
|
-
newFilename: string;
|
|
44
|
-
pendingNewFiles: ReadonlySet<string>;
|
|
45
|
-
projectedIssues: readonly PatchLintIssue[];
|
|
46
|
-
}): Promise<TreeRegistrationOutcome>;
|