@hominis/fireforge 0.55.0 → 0.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +233 -6
- package/README.md +51 -17
- package/dist/bin/fireforge.js +34 -129
- package/dist/build-info.json +4 -4
- package/dist/src/check/check.js +394 -0
- package/dist/src/check/gate.js +448 -0
- package/dist/src/check/index.js +10 -0
- package/dist/src/check/record.js +155 -0
- package/dist/src/cli/command.js +286 -0
- package/dist/src/cli/output.js +96 -0
- package/dist/src/cli/program.js +231 -0
- package/dist/src/cli/stdio.js +59 -0
- package/dist/src/cli/version.js +99 -0
- package/dist/src/commands/bootstrap.js +17 -102
- package/dist/src/commands/build.js +34 -456
- package/dist/src/commands/check.js +44 -157
- package/dist/src/commands/config.js +50 -226
- package/dist/src/commands/discard.js +38 -215
- package/dist/src/commands/doctor.js +29 -456
- package/dist/src/commands/download.js +35 -499
- package/dist/src/commands/export.js +42 -431
- package/dist/src/commands/furnace.js +220 -0
- package/dist/src/commands/gate.js +127 -0
- package/dist/src/commands/import.js +44 -445
- package/dist/src/commands/index.js +86 -0
- package/dist/src/commands/lint.js +44 -546
- package/dist/src/commands/merge-driver.js +56 -0
- package/dist/src/commands/migrate.js +75 -0
- package/dist/src/commands/override.js +43 -0
- package/dist/src/commands/package.js +48 -77
- package/dist/src/commands/patch.js +221 -0
- package/dist/src/commands/re-export.js +55 -359
- package/dist/src/commands/rebase.js +69 -0
- package/dist/src/commands/register.js +62 -103
- package/dist/src/commands/reset.js +28 -91
- package/dist/src/commands/resolve.js +20 -167
- package/dist/src/commands/restore.js +19 -0
- package/dist/src/commands/run.js +60 -382
- package/dist/src/commands/setup.js +78 -90
- package/dist/src/commands/status.js +44 -413
- package/dist/src/commands/test.js +97 -423
- package/dist/src/commands/token.js +185 -228
- package/dist/src/commands/typecheck.js +59 -241
- package/dist/src/commands/verify.js +28 -334
- package/dist/src/commands/version.js +14 -0
- package/dist/src/commands/watch.js +20 -218
- package/dist/src/commands/wire.js +60 -349
- package/dist/src/commands/workspace.js +117 -0
- package/dist/src/config/edit.js +237 -0
- package/dist/src/config/index.js +15 -0
- package/dist/src/config/load.js +59 -0
- package/dist/src/config/previous.js +404 -0
- package/dist/src/config/schema/build.js +63 -0
- package/dist/src/config/schema/check.js +113 -0
- package/dist/src/config/schema/common.js +71 -0
- package/dist/src/config/schema/export-queue.js +36 -0
- package/dist/src/config/schema/firefox.js +69 -0
- package/dist/src/config/schema/gate.js +199 -0
- package/dist/src/config/schema/identity.js +55 -0
- package/dist/src/config/schema/index.js +45 -0
- package/dist/src/config/schema/lint.js +297 -0
- package/dist/src/config/schema/policy.js +111 -0
- package/dist/src/config/schema/source.js +90 -0
- package/dist/src/config/schema/test.js +17 -0
- package/dist/src/config/schema/toolchains.js +17 -0
- package/dist/src/config/schema/typecheck.js +29 -0
- package/dist/src/config/schema/wire.js +15 -0
- package/dist/src/diff/apply.js +129 -0
- package/dist/src/diff/index.js +16 -0
- package/dist/src/diff/model.js +267 -0
- package/dist/src/diff/query.js +65 -0
- package/dist/src/doctor/index.js +240 -0
- package/dist/src/engine/archive.js +396 -0
- package/dist/src/engine/audit.js +66 -0
- package/dist/src/engine/build.js +150 -0
- package/dist/src/engine/hostLocks.js +66 -0
- package/dist/src/engine/index.js +26 -0
- package/dist/src/engine/installManifests.js +147 -0
- package/dist/src/engine/mach.js +97 -0
- package/dist/src/engine/machHints.js +80 -0
- package/dist/src/engine/mozconfig.js +110 -0
- package/dist/src/engine/objdir.js +124 -0
- package/dist/src/engine/package.js +169 -0
- package/dist/src/engine/pin.js +12 -0
- package/dist/src/engine/pool.js +423 -0
- package/dist/src/engine/pristine.js +281 -0
- package/dist/src/engine/python.js +68 -0
- package/dist/src/engine/resourceGuard.js +582 -0
- package/dist/src/engine/run.js +259 -0
- package/dist/src/engine/smoke.js +204 -0
- package/dist/src/engine/staleness.js +229 -0
- package/dist/src/engine/watch.js +82 -0
- package/dist/src/engine/workspace.js +85 -0
- package/dist/src/furnace/config.js +360 -0
- package/dist/src/furnace/deploy.js +414 -0
- package/dist/src/furnace/diff.js +59 -0
- package/dist/src/furnace/edit.js +64 -0
- package/dist/src/furnace/fragments.js +53 -0
- package/dist/src/furnace/index.js +19 -0
- package/dist/src/furnace/operations.js +283 -0
- package/dist/src/furnace/registration.js +220 -0
- package/dist/src/furnace/scaffold.js +311 -0
- package/dist/src/furnace/typing.js +252 -0
- package/dist/src/furnace/validate.js +662 -0
- package/dist/src/git/apply.js +129 -0
- package/dist/src/git/diff.js +143 -0
- package/dist/src/git/index.js +33 -0
- package/dist/src/git/objects.js +201 -0
- package/dist/src/git/refs.js +85 -0
- package/dist/src/git/repo.js +222 -0
- package/dist/src/git/run.js +242 -0
- package/dist/src/git/status.js +156 -0
- package/dist/src/kernel/errors.js +123 -0
- package/dist/src/kernel/fs.js +515 -0
- package/dist/src/kernel/glob.js +63 -0
- package/dist/src/kernel/hash.js +28 -0
- package/dist/src/kernel/journal.js +524 -0
- package/dist/src/kernel/json-edit.js +198 -0
- package/dist/src/kernel/json.js +101 -0
- package/dist/src/kernel/lock.js +589 -0
- package/dist/src/kernel/log.js +154 -0
- package/dist/src/kernel/process/identity.js +313 -0
- package/dist/src/kernel/process/index.js +8 -0
- package/dist/src/kernel/process/listing.js +128 -0
- package/dist/src/kernel/process/spawn.js +430 -0
- package/dist/src/kernel/process/tree.js +301 -0
- package/dist/src/kernel/schema.js +308 -0
- package/dist/src/kernel/signals.js +171 -0
- package/dist/src/kernel/text.js +151 -0
- package/dist/src/kernel/time.js +83 -0
- package/dist/src/kernel/tty.js +84 -0
- package/dist/src/lint/cache.js +77 -0
- package/dist/src/lint/checkjs.js +400 -0
- package/dist/src/lint/index.js +3 -0
- package/dist/src/lint/input.js +100 -0
- package/dist/src/lint/report.js +107 -0
- package/dist/src/lint/rule.js +41 -0
- package/dist/src/lint/rules/css.js +308 -0
- package/dist/src/lint/rules/javascript.js +299 -0
- package/dist/src/lint/rules/jsdoc.js +249 -0
- package/dist/src/lint/rules/license.js +93 -0
- package/dist/src/lint/rules/policy.js +201 -0
- package/dist/src/lint/rules/registration.js +264 -0
- package/dist/src/lint/rules/size.js +299 -0
- package/dist/src/lint/run.js +126 -0
- package/dist/src/lint/shim.js +323 -0
- package/dist/src/lint/typescript.js +186 -0
- package/dist/src/lint/waivers.js +93 -0
- package/dist/src/mode/changes.js +264 -0
- package/dist/src/mode/diagnose.js +173 -0
- package/dist/src/mode/export.js +147 -0
- package/dist/src/mode/index.js +23 -0
- package/dist/src/mode/migrate.js +181 -0
- package/dist/src/mode/previousWaivers.js +206 -0
- package/dist/src/mode/pristine.js +61 -0
- package/dist/src/mode/rebase.js +197 -0
- package/dist/src/mode/report.js +157 -0
- package/dist/src/mode/setup.js +103 -0
- package/dist/src/mode/tracked.js +116 -0
- package/dist/src/mode/upgrade.js +281 -0
- package/dist/src/mode/watch.js +83 -0
- package/dist/src/mode/workspace.js +189 -0
- package/dist/src/mozbuild/index.js +6 -0
- package/dist/src/mozbuild/jar.js +366 -0
- package/dist/src/mozbuild/mozbuild.js +321 -0
- package/dist/src/mozbuild/paths.js +96 -0
- package/dist/src/mozbuild/references.js +39 -0
- package/dist/src/mozbuild/testManifest.js +343 -0
- package/dist/src/mozbuild/text.js +142 -0
- package/dist/src/project/changes.js +145 -0
- package/dist/src/project/checkout.js +66 -0
- package/dist/src/project/index.js +11 -0
- package/dist/src/project/license.js +119 -0
- package/dist/src/project/project.js +111 -0
- package/dist/src/project/state.js +85 -0
- package/dist/src/project/tracked.js +1 -0
- package/dist/src/queue/apply.js +270 -0
- package/dist/src/queue/attribute.js +159 -0
- package/dist/src/queue/baseline.js +409 -0
- package/dist/src/queue/capture.js +298 -0
- package/dist/src/queue/changes.js +234 -0
- package/dist/src/queue/index.js +50 -0
- package/dist/src/queue/manifest.js +341 -0
- package/dist/src/queue/operations.js +454 -0
- package/dist/src/queue/placement.js +220 -0
- package/dist/src/queue/queue.js +359 -0
- package/dist/src/queue/restore.js +103 -0
- package/dist/src/queue/session.js +685 -0
- package/dist/src/queue/status.js +137 -0
- package/dist/src/register/files.js +39 -0
- package/dist/src/register/index.js +8 -0
- package/dist/src/register/js.js +217 -0
- package/dist/src/register/register.js +359 -0
- package/dist/src/register/wire.js +146 -0
- package/dist/src/source/adopt.js +99 -0
- package/dist/src/source/changes.js +132 -0
- package/dist/src/source/edit.js +278 -0
- package/dist/src/source/export.js +70 -0
- package/dist/src/source/groups.js +131 -0
- package/dist/src/source/index.js +20 -0
- package/dist/src/source/materialize.js +382 -0
- package/dist/src/source/merge.js +255 -0
- package/dist/src/source/objects.js +102 -0
- package/dist/src/source/previous.js +166 -0
- package/dist/src/source/records.js +138 -0
- package/dist/src/source/refresh.js +264 -0
- package/dist/src/source/tree.js +337 -0
- package/dist/src/syntax/css.js +215 -0
- package/dist/src/syntax/fragments.js +63 -0
- package/dist/src/syntax/index.js +10 -0
- package/dist/src/syntax/js.js +270 -0
- package/dist/src/test/classify.js +826 -0
- package/dist/src/test/control.js +236 -0
- package/dist/src/test/host.js +266 -0
- package/dist/src/test/index.js +11 -0
- package/dist/src/test/plan.js +347 -0
- package/dist/src/test/rawLog.js +138 -0
- package/dist/src/test/run.js +404 -0
- package/dist/src/test/verdict.js +420 -0
- package/dist/src/test/xpcshell.js +143 -0
- package/dist/src/tokens/add.js +304 -0
- package/dist/src/tokens/coverage.js +65 -0
- package/dist/src/tokens/css.js +58 -0
- package/dist/src/tokens/index.js +12 -0
- package/dist/src/tokens/lint.js +96 -0
- package/dist/src/tokens/model.js +118 -0
- package/dist/src/tokens/settings.js +87 -0
- package/dist/src/tokens/siblings.js +104 -0
- package/dist/src/typecheck/explain.js +123 -0
- package/dist/src/typecheck/index.js +8 -0
- package/dist/src/typecheck/typecheck.js +332 -0
- package/docs/README.md +23 -28
- package/docs/authoring.md +97 -0
- package/docs/configuration.md +307 -766
- package/docs/exit-codes.md +76 -94
- package/docs/furnace.md +111 -221
- package/docs/gate.md +205 -0
- package/docs/getting-started.md +165 -0
- package/docs/machine-output.md +201 -290
- package/docs/migrating.md +261 -0
- package/docs/patch-workflow.md +159 -723
- package/docs/quality.md +220 -0
- package/docs/source-workflow.md +228 -0
- package/docs/testing.md +101 -719
- package/docs/workspaces.md +187 -0
- package/package.json +22 -30
- package/templates/configs/common.mozconfig +8 -2
- package/templates/configs/darwin.mozconfig +6 -7
- package/templates/configs/linux.mozconfig +5 -8
- package/templates/configs/win32.mozconfig +3 -9
- package/dist/bin/fireforge.d.ts +0 -9
- package/dist/src/cli-usage-error.d.ts +0 -46
- package/dist/src/cli-usage-error.js +0 -81
- package/dist/src/cli.d.ts +0 -41
- package/dist/src/cli.js +0 -380
- package/dist/src/commands/bootstrap-checks.d.ts +0 -16
- package/dist/src/commands/bootstrap-checks.js +0 -66
- package/dist/src/commands/bootstrap.d.ts +0 -10
- package/dist/src/commands/build-prelock.d.ts +0 -20
- package/dist/src/commands/build-prelock.js +0 -50
- package/dist/src/commands/build.d.ts +0 -13
- package/dist/src/commands/check-report.d.ts +0 -41
- package/dist/src/commands/check-report.js +0 -98
- package/dist/src/commands/check-run.d.ts +0 -44
- package/dist/src/commands/check-run.js +0 -125
- package/dist/src/commands/check-steps.d.ts +0 -75
- package/dist/src/commands/check-steps.js +0 -200
- package/dist/src/commands/check.d.ts +0 -32
- package/dist/src/commands/config.d.ts +0 -13
- package/dist/src/commands/declarations-report.d.ts +0 -49
- package/dist/src/commands/declarations-report.js +0 -83
- package/dist/src/commands/destructive-decision.d.ts +0 -19
- package/dist/src/commands/destructive-decision.js +0 -31
- package/dist/src/commands/discard.d.ts +0 -12
- package/dist/src/commands/doctor-check-core.d.ts +0 -110
- package/dist/src/commands/doctor-check-core.js +0 -24
- package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
- package/dist/src/commands/doctor-engine-eslint.js +0 -17
- package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
- package/dist/src/commands/doctor-external-toolchains.js +0 -56
- package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
- package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
- package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
- package/dist/src/commands/doctor-furnace-jar.js +0 -44
- package/dist/src/commands/doctor-furnace.d.ts +0 -8
- package/dist/src/commands/doctor-furnace.js +0 -514
- package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
- package/dist/src/commands/doctor-macos-sdk.js +0 -158
- package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
- package/dist/src/commands/doctor-orphaned-harness.js +0 -98
- package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
- package/dist/src/commands/doctor-patch-manifest.js +0 -156
- package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
- package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
- package/dist/src/commands/doctor-source-pin.d.ts +0 -29
- package/dist/src/commands/doctor-source-pin.js +0 -91
- package/dist/src/commands/doctor-working-tree.d.ts +0 -27
- package/dist/src/commands/doctor-working-tree.js +0 -89
- package/dist/src/commands/doctor.d.ts +0 -49
- package/dist/src/commands/download.d.ts +0 -11
- package/dist/src/commands/export-adopt-check.d.ts +0 -37
- package/dist/src/commands/export-adopt-check.js +0 -97
- package/dist/src/commands/export-all.d.ts +0 -11
- package/dist/src/commands/export-all.js +0 -361
- package/dist/src/commands/export-flow.d.ts +0 -124
- package/dist/src/commands/export-flow.js +0 -423
- package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
- package/dist/src/commands/export-placement-conflicts.js +0 -75
- package/dist/src/commands/export-placement-gate.d.ts +0 -42
- package/dist/src/commands/export-placement-gate.js +0 -107
- package/dist/src/commands/export-placement-policy.d.ts +0 -22
- package/dist/src/commands/export-placement-policy.js +0 -54
- package/dist/src/commands/export-shared.d.ts +0 -152
- package/dist/src/commands/export-shared.js +0 -396
- package/dist/src/commands/export-staged-registration.d.ts +0 -46
- package/dist/src/commands/export-staged-registration.js +0 -91
- package/dist/src/commands/export.d.ts +0 -13
- package/dist/src/commands/forward-import-remedy.d.ts +0 -31
- package/dist/src/commands/forward-import-remedy.js +0 -62
- package/dist/src/commands/furnace/apply.d.ts +0 -8
- package/dist/src/commands/furnace/apply.js +0 -327
- package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
- package/dist/src/commands/furnace/authoring-config.js +0 -19
- package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
- package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
- package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
- package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
- package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
- package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
- package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
- package/dist/src/commands/furnace/chrome-doc.js +0 -365
- package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
- package/dist/src/commands/furnace/create-browser-test.js +0 -179
- package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
- package/dist/src/commands/furnace/create-dry-run.js +0 -107
- package/dist/src/commands/furnace/create-features.d.ts +0 -24
- package/dist/src/commands/furnace/create-features.js +0 -55
- package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
- package/dist/src/commands/furnace/create-mochikit.js +0 -75
- package/dist/src/commands/furnace/create-readback.d.ts +0 -22
- package/dist/src/commands/furnace/create-readback.js +0 -32
- package/dist/src/commands/furnace/create-templates.d.ts +0 -119
- package/dist/src/commands/furnace/create-templates.js +0 -283
- package/dist/src/commands/furnace/create-validation.d.ts +0 -6
- package/dist/src/commands/furnace/create-validation.js +0 -59
- package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
- package/dist/src/commands/furnace/create-xpcshell.js +0 -80
- package/dist/src/commands/furnace/create.d.ts +0 -24
- package/dist/src/commands/furnace/create.js +0 -407
- package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
- package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
- package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
- package/dist/src/commands/furnace/deploy-named.js +0 -107
- package/dist/src/commands/furnace/deploy.d.ts +0 -9
- package/dist/src/commands/furnace/deploy.js +0 -229
- package/dist/src/commands/furnace/diff.d.ts +0 -11
- package/dist/src/commands/furnace/diff.js +0 -238
- package/dist/src/commands/furnace/index.d.ts +0 -4
- package/dist/src/commands/furnace/index.js +0 -283
- package/dist/src/commands/furnace/init.d.ts +0 -11
- package/dist/src/commands/furnace/init.js +0 -287
- package/dist/src/commands/furnace/list.d.ts +0 -8
- package/dist/src/commands/furnace/list.js +0 -104
- package/dist/src/commands/furnace/override.d.ts +0 -16
- package/dist/src/commands/furnace/override.js +0 -454
- package/dist/src/commands/furnace/preview.d.ts +0 -19
- package/dist/src/commands/furnace/preview.js +0 -349
- package/dist/src/commands/furnace/refresh.d.ts +0 -10
- package/dist/src/commands/furnace/refresh.js +0 -303
- package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
- package/dist/src/commands/furnace/remove-mutations.js +0 -168
- package/dist/src/commands/furnace/remove-state.d.ts +0 -20
- package/dist/src/commands/furnace/remove-state.js +0 -60
- package/dist/src/commands/furnace/remove.d.ts +0 -8
- package/dist/src/commands/furnace/remove.js +0 -415
- package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
- package/dist/src/commands/furnace/rename-browser-test.js +0 -68
- package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
- package/dist/src/commands/furnace/rename-dry-run.js +0 -127
- package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
- package/dist/src/commands/furnace/rename-helpers.js +0 -85
- package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
- package/dist/src/commands/furnace/rename-registrations.js +0 -98
- package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
- package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
- package/dist/src/commands/furnace/rename.d.ts +0 -6
- package/dist/src/commands/furnace/rename.js +0 -400
- package/dist/src/commands/furnace/scan.d.ts +0 -14
- package/dist/src/commands/furnace/scan.js +0 -192
- package/dist/src/commands/furnace/status.d.ts +0 -7
- package/dist/src/commands/furnace/status.js +0 -209
- package/dist/src/commands/furnace/sync.d.ts +0 -12
- package/dist/src/commands/furnace/sync.js +0 -145
- package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
- package/dist/src/commands/furnace/test-file-name.js +0 -39
- package/dist/src/commands/furnace/validate-report.d.ts +0 -45
- package/dist/src/commands/furnace/validate-report.js +0 -91
- package/dist/src/commands/furnace/validate.d.ts +0 -8
- package/dist/src/commands/furnace/validate.js +0 -309
- package/dist/src/commands/furnace/validation-output.d.ts +0 -47
- package/dist/src/commands/furnace/validation-output.js +0 -161
- package/dist/src/commands/import.d.ts +0 -11
- package/dist/src/commands/lint-per-patch.d.ts +0 -10
- package/dist/src/commands/lint-per-patch.js +0 -428
- package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
- package/dist/src/commands/lint-per-run-checkjs.js +0 -102
- package/dist/src/commands/lint-report.d.ts +0 -25
- package/dist/src/commands/lint-report.js +0 -76
- package/dist/src/commands/lint.d.ts +0 -47
- package/dist/src/commands/manifest.d.ts +0 -38
- package/dist/src/commands/manifest.js +0 -68
- package/dist/src/commands/package.d.ts +0 -11
- package/dist/src/commands/park.d.ts +0 -22
- package/dist/src/commands/park.js +0 -232
- package/dist/src/commands/patch/body.d.ts +0 -29
- package/dist/src/commands/patch/body.js +0 -60
- package/dist/src/commands/patch/compact.d.ts +0 -28
- package/dist/src/commands/patch/compact.js +0 -208
- package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
- package/dist/src/commands/patch/delete-gap-notice.js +0 -48
- package/dist/src/commands/patch/delete.d.ts +0 -28
- package/dist/src/commands/patch/delete.js +0 -131
- package/dist/src/commands/patch/entry-projection.d.ts +0 -13
- package/dist/src/commands/patch/entry-projection.js +0 -24
- package/dist/src/commands/patch/index.d.ts +0 -16
- package/dist/src/commands/patch/index.js +0 -54
- package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
- package/dist/src/commands/patch/lint-ignore-from.js +0 -141
- package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
- package/dist/src/commands/patch/lint-ignore.js +0 -263
- package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
- package/dist/src/commands/patch/move-files-adopt.js +0 -65
- package/dist/src/commands/patch/move-files-create.d.ts +0 -19
- package/dist/src/commands/patch/move-files-create.js +0 -187
- package/dist/src/commands/patch/move-files-into.d.ts +0 -65
- package/dist/src/commands/patch/move-files-into.js +0 -325
- package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
- package/dist/src/commands/patch/move-files-retire.js +0 -91
- package/dist/src/commands/patch/move-files.d.ts +0 -28
- package/dist/src/commands/patch/move-files.js +0 -224
- package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
- package/dist/src/commands/patch/move-size-tier.js +0 -66
- package/dist/src/commands/patch/patch-context.d.ts +0 -40
- package/dist/src/commands/patch/patch-context.js +0 -51
- package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
- package/dist/src/commands/patch/removal-created-files.js +0 -83
- package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
- package/dist/src/commands/patch/removal-dependents.js +0 -133
- package/dist/src/commands/patch/rename.d.ts +0 -35
- package/dist/src/commands/patch/rename.js +0 -378
- package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
- package/dist/src/commands/patch/reorder-projection.js +0 -49
- package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
- package/dist/src/commands/patch/reorder-shift.js +0 -307
- package/dist/src/commands/patch/reorder.d.ts +0 -34
- package/dist/src/commands/patch/reorder.js +0 -375
- package/dist/src/commands/patch/reserve.d.ts +0 -33
- package/dist/src/commands/patch/reserve.js +0 -152
- package/dist/src/commands/patch/retire.d.ts +0 -34
- package/dist/src/commands/patch/retire.js +0 -133
- package/dist/src/commands/patch/split-plan.d.ts +0 -125
- package/dist/src/commands/patch/split-plan.js +0 -313
- package/dist/src/commands/patch/split-staged.d.ts +0 -108
- package/dist/src/commands/patch/split-staged.js +0 -202
- package/dist/src/commands/patch/split.d.ts +0 -43
- package/dist/src/commands/patch/split.js +0 -367
- package/dist/src/commands/patch/stage.d.ts +0 -34
- package/dist/src/commands/patch/stage.js +0 -153
- package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
- package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
- package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
- package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
- package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
- package/dist/src/commands/patch/staged-dependency-from.js +0 -114
- package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
- package/dist/src/commands/patch/staged-dependency-remove.js +0 -114
- package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -27
- package/dist/src/commands/patch/staged-dependency-validate.js +0 -78
- package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
- package/dist/src/commands/patch/staged-dependency.js +0 -251
- package/dist/src/commands/patch/tier.d.ts +0 -34
- package/dist/src/commands/patch/tier.js +0 -125
- package/dist/src/commands/patch-rename-map.d.ts +0 -30
- package/dist/src/commands/patch-rename-map.js +0 -54
- package/dist/src/commands/pending-resolution.d.ts +0 -15
- package/dist/src/commands/pending-resolution.js +0 -25
- package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
- package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
- package/dist/src/commands/re-export-adjacent.d.ts +0 -111
- package/dist/src/commands/re-export-adjacent.js +0 -285
- package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
- package/dist/src/commands/re-export-bulk-scan.js +0 -233
- package/dist/src/commands/re-export-drift.d.ts +0 -110
- package/dist/src/commands/re-export-drift.js +0 -358
- package/dist/src/commands/re-export-each.d.ts +0 -46
- package/dist/src/commands/re-export-each.js +0 -110
- package/dist/src/commands/re-export-files.d.ts +0 -15
- package/dist/src/commands/re-export-files.js +0 -307
- package/dist/src/commands/re-export-hunks.d.ts +0 -37
- package/dist/src/commands/re-export-hunks.js +0 -264
- package/dist/src/commands/re-export-lint.d.ts +0 -137
- package/dist/src/commands/re-export-lint.js +0 -303
- package/dist/src/commands/re-export-options.d.ts +0 -29
- package/dist/src/commands/re-export-options.js +0 -192
- package/dist/src/commands/re-export-preflight.d.ts +0 -23
- package/dist/src/commands/re-export-preflight.js +0 -159
- package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
- package/dist/src/commands/re-export-purity-scope.js +0 -137
- package/dist/src/commands/re-export-register.d.ts +0 -12
- package/dist/src/commands/re-export-register.js +0 -99
- package/dist/src/commands/re-export-removed.d.ts +0 -15
- package/dist/src/commands/re-export-removed.js +0 -94
- package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
- package/dist/src/commands/re-export-retired-declarations.js +0 -113
- package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
- package/dist/src/commands/re-export-scan-owner.js +0 -116
- package/dist/src/commands/re-export-scan.d.ts +0 -72
- package/dist/src/commands/re-export-scan.js +0 -265
- package/dist/src/commands/re-export-single.d.ts +0 -53
- package/dist/src/commands/re-export-single.js +0 -426
- package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
- package/dist/src/commands/re-export-stale-registrations.js +0 -106
- package/dist/src/commands/re-export-summary.d.ts +0 -44
- package/dist/src/commands/re-export-summary.js +0 -59
- package/dist/src/commands/re-export.d.ts +0 -8
- package/dist/src/commands/rebase/abort.d.ts +0 -7
- package/dist/src/commands/rebase/abort.js +0 -67
- package/dist/src/commands/rebase/confirm.d.ts +0 -42
- package/dist/src/commands/rebase/confirm.js +0 -36
- package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
- package/dist/src/commands/rebase/conflict-summary.js +0 -37
- package/dist/src/commands/rebase/continue.d.ts +0 -7
- package/dist/src/commands/rebase/continue.js +0 -119
- package/dist/src/commands/rebase/index.d.ts +0 -22
- package/dist/src/commands/rebase/index.js +0 -209
- package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
- package/dist/src/commands/rebase/patch-loop.js +0 -289
- package/dist/src/commands/rebase/summary.d.ts +0 -8
- package/dist/src/commands/rebase/summary.js +0 -47
- package/dist/src/commands/register.d.ts +0 -13
- package/dist/src/commands/reset.d.ts +0 -11
- package/dist/src/commands/resolve.d.ts +0 -36
- package/dist/src/commands/run.d.ts +0 -10
- package/dist/src/commands/setup-support.d.ts +0 -35
- package/dist/src/commands/setup-support.js +0 -386
- package/dist/src/commands/setup.d.ts +0 -11
- package/dist/src/commands/source.d.ts +0 -9
- package/dist/src/commands/source.js +0 -120
- package/dist/src/commands/status-check.d.ts +0 -87
- package/dist/src/commands/status-check.js +0 -161
- package/dist/src/commands/status-json.d.ts +0 -45
- package/dist/src/commands/status-json.js +0 -97
- package/dist/src/commands/status-output.d.ts +0 -23
- package/dist/src/commands/status-output.js +0 -231
- package/dist/src/commands/status-ownership.d.ts +0 -54
- package/dist/src/commands/status-ownership.js +0 -59
- package/dist/src/commands/status-scope.d.ts +0 -37
- package/dist/src/commands/status-scope.js +0 -54
- package/dist/src/commands/status.d.ts +0 -11
- package/dist/src/commands/test-appdir.d.ts +0 -6
- package/dist/src/commands/test-appdir.js +0 -29
- package/dist/src/commands/test-browser-preflight.d.ts +0 -28
- package/dist/src/commands/test-browser-preflight.js +0 -197
- package/dist/src/commands/test-build-furnace.d.ts +0 -21
- package/dist/src/commands/test-build-furnace.js +0 -53
- package/dist/src/commands/test-build-phase.d.ts +0 -34
- package/dist/src/commands/test-build-phase.js +0 -291
- package/dist/src/commands/test-checkjs.d.ts +0 -3
- package/dist/src/commands/test-checkjs.js +0 -35
- package/dist/src/commands/test-control-restore.d.ts +0 -40
- package/dist/src/commands/test-control-restore.js +0 -86
- package/dist/src/commands/test-diagnose.d.ts +0 -23
- package/dist/src/commands/test-diagnose.js +0 -317
- package/dist/src/commands/test-dispatch.d.ts +0 -39
- package/dist/src/commands/test-dispatch.js +0 -281
- package/dist/src/commands/test-furnace-reach.d.ts +0 -37
- package/dist/src/commands/test-furnace-reach.js +0 -132
- package/dist/src/commands/test-harness-env.d.ts +0 -23
- package/dist/src/commands/test-harness-env.js +0 -81
- package/dist/src/commands/test-harness-teardown.d.ts +0 -62
- package/dist/src/commands/test-harness-teardown.js +0 -128
- package/dist/src/commands/test-modes.d.ts +0 -57
- package/dist/src/commands/test-modes.js +0 -158
- package/dist/src/commands/test-multi-verdict.d.ts +0 -61
- package/dist/src/commands/test-multi-verdict.js +0 -112
- package/dist/src/commands/test-orchestrate.d.ts +0 -70
- package/dist/src/commands/test-orchestrate.js +0 -277
- package/dist/src/commands/test-perf-scope.d.ts +0 -50
- package/dist/src/commands/test-perf-scope.js +0 -138
- package/dist/src/commands/test-prelock.d.ts +0 -61
- package/dist/src/commands/test-prelock.js +0 -301
- package/dist/src/commands/test-register.d.ts +0 -4
- package/dist/src/commands/test-register.js +0 -181
- package/dist/src/commands/test-results.d.ts +0 -71
- package/dist/src/commands/test-results.js +0 -79
- package/dist/src/commands/test-run.d.ts +0 -89
- package/dist/src/commands/test-run.js +0 -251
- package/dist/src/commands/test-shards.d.ts +0 -114
- package/dist/src/commands/test-shards.js +0 -272
- package/dist/src/commands/test-stale-gate.d.ts +0 -56
- package/dist/src/commands/test-stale-gate.js +0 -208
- package/dist/src/commands/test-verdict.d.ts +0 -102
- package/dist/src/commands/test-verdict.js +0 -176
- package/dist/src/commands/test.d.ts +0 -22
- package/dist/src/commands/token-coverage.d.ts +0 -5
- package/dist/src/commands/token-coverage.js +0 -170
- package/dist/src/commands/token-lint.d.ts +0 -14
- package/dist/src/commands/token-lint.js +0 -151
- package/dist/src/commands/token-list.d.ts +0 -26
- package/dist/src/commands/token-list.js +0 -153
- package/dist/src/commands/token.d.ts +0 -14
- package/dist/src/commands/tree.d.ts +0 -19
- package/dist/src/commands/tree.js +0 -341
- package/dist/src/commands/typecheck-explain.d.ts +0 -13
- package/dist/src/commands/typecheck-explain.js +0 -100
- package/dist/src/commands/typecheck.d.ts +0 -61
- package/dist/src/commands/verify-scope.d.ts +0 -28
- package/dist/src/commands/verify-scope.js +0 -67
- package/dist/src/commands/verify.d.ts +0 -58
- package/dist/src/commands/watch.d.ts +0 -9
- package/dist/src/commands/wire.d.ts +0 -13
- package/dist/src/core/ast-utils.d.ts +0 -73
- package/dist/src/core/ast-utils.js +0 -105
- package/dist/src/core/brand-validation.d.ts +0 -7
- package/dist/src/core/brand-validation.js +0 -14
- package/dist/src/core/branding.d.ts +0 -86
- package/dist/src/core/branding.js +0 -371
- package/dist/src/core/browser-wire.d.ts +0 -48
- package/dist/src/core/browser-wire.js +0 -133
- package/dist/src/core/build-audit-platform.d.ts +0 -67
- package/dist/src/core/build-audit-platform.js +0 -373
- package/dist/src/core/build-audit-registration.d.ts +0 -80
- package/dist/src/core/build-audit-registration.js +0 -181
- package/dist/src/core/build-audit-resolve.d.ts +0 -78
- package/dist/src/core/build-audit-resolve.js +0 -240
- package/dist/src/core/build-audit-skip.d.ts +0 -57
- package/dist/src/core/build-audit-skip.js +0 -112
- package/dist/src/core/build-audit-transforms.d.ts +0 -23
- package/dist/src/core/build-audit-transforms.js +0 -92
- package/dist/src/core/build-audit.d.ts +0 -93
- package/dist/src/core/build-audit.js +0 -633
- package/dist/src/core/build-baseline-types.d.ts +0 -225
- package/dist/src/core/build-baseline-types.js +0 -10
- package/dist/src/core/build-baseline-validate.d.ts +0 -32
- package/dist/src/core/build-baseline-validate.js +0 -173
- package/dist/src/core/build-baseline.d.ts +0 -103
- package/dist/src/core/build-baseline.js +0 -261
- package/dist/src/core/build-jar-escalation.d.ts +0 -61
- package/dist/src/core/build-jar-escalation.js +0 -125
- package/dist/src/core/build-overwrite-guard.d.ts +0 -92
- package/dist/src/core/build-overwrite-guard.js +0 -235
- package/dist/src/core/build-prepare.d.ts +0 -83
- package/dist/src/core/build-prepare.js +0 -414
- package/dist/src/core/build-run-record.d.ts +0 -74
- package/dist/src/core/build-run-record.js +0 -136
- package/dist/src/core/checkjs-support-heads.d.ts +0 -41
- package/dist/src/core/checkjs-support-heads.js +0 -104
- package/dist/src/core/component-source-guard.d.ts +0 -20
- package/dist/src/core/component-source-guard.js +0 -68
- package/dist/src/core/config-mutate.d.ts +0 -16
- package/dist/src/core/config-mutate.js +0 -76
- package/dist/src/core/config-paths.d.ts +0 -16
- package/dist/src/core/config-paths.js +0 -106
- package/dist/src/core/config-state.d.ts +0 -16
- package/dist/src/core/config-state.js +0 -141
- package/dist/src/core/config-validate-build-audit.d.ts +0 -8
- package/dist/src/core/config-validate-build-audit.js +0 -80
- package/dist/src/core/config-validate-check.d.ts +0 -8
- package/dist/src/core/config-validate-check.js +0 -219
- package/dist/src/core/config-validate-file-size.d.ts +0 -15
- package/dist/src/core/config-validate-file-size.js +0 -154
- package/dist/src/core/config-validate-history.d.ts +0 -11
- package/dist/src/core/config-validate-history.js +0 -38
- package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
- package/dist/src/core/config-validate-patch-policy.js +0 -284
- package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
- package/dist/src/core/config-validate-test-toolchains.js +0 -133
- package/dist/src/core/config-validate-token-scales.d.ts +0 -9
- package/dist/src/core/config-validate-token-scales.js +0 -125
- package/dist/src/core/config-validate.d.ts +0 -11
- package/dist/src/core/config-validate.js +0 -509
- package/dist/src/core/config.d.ts +0 -92
- package/dist/src/core/config.js +0 -169
- package/dist/src/core/coverage-dispatch.d.ts +0 -24
- package/dist/src/core/coverage-dispatch.js +0 -44
- package/dist/src/core/coverage-extend.d.ts +0 -89
- package/dist/src/core/coverage-extend.js +0 -239
- package/dist/src/core/coverage-records.d.ts +0 -107
- package/dist/src/core/coverage-records.js +0 -383
- package/dist/src/core/destructive.d.ts +0 -144
- package/dist/src/core/destructive.js +0 -182
- package/dist/src/core/dev-profile.d.ts +0 -28
- package/dist/src/core/dev-profile.js +0 -58
- package/dist/src/core/diff-hunks.d.ts +0 -73
- package/dist/src/core/diff-hunks.js +0 -286
- package/dist/src/core/discard-baseline.d.ts +0 -60
- package/dist/src/core/discard-baseline.js +0 -247
- package/dist/src/core/display-state.d.ts +0 -50
- package/dist/src/core/display-state.js +0 -87
- package/dist/src/core/engine-changes.d.ts +0 -40
- package/dist/src/core/engine-changes.js +0 -95
- package/dist/src/core/engine-precondition.d.ts +0 -42
- package/dist/src/core/engine-precondition.js +0 -60
- package/dist/src/core/engine-session-lock.d.ts +0 -119
- package/dist/src/core/engine-session-lock.js +0 -374
- package/dist/src/core/engine-write-boundary.d.ts +0 -5
- package/dist/src/core/engine-write-boundary.js +0 -41
- package/dist/src/core/export-moved-code-shape.d.ts +0 -98
- package/dist/src/core/export-moved-code-shape.js +0 -220
- package/dist/src/core/file-lock-owner.d.ts +0 -103
- package/dist/src/core/file-lock-owner.js +0 -259
- package/dist/src/core/file-lock-queue.d.ts +0 -67
- package/dist/src/core/file-lock-queue.js +0 -219
- package/dist/src/core/file-lock-shared.d.ts +0 -57
- package/dist/src/core/file-lock-shared.js +0 -117
- package/dist/src/core/file-lock.d.ts +0 -143
- package/dist/src/core/file-lock.js +0 -531
- package/dist/src/core/firefox-archive.d.ts +0 -45
- package/dist/src/core/firefox-archive.js +0 -96
- package/dist/src/core/firefox-cache.d.ts +0 -30
- package/dist/src/core/firefox-cache.js +0 -248
- package/dist/src/core/firefox-download.d.ts +0 -30
- package/dist/src/core/firefox-download.js +0 -152
- package/dist/src/core/firefox-extract.d.ts +0 -42
- package/dist/src/core/firefox-extract.js +0 -248
- package/dist/src/core/firefox-ignorefile.d.ts +0 -17
- package/dist/src/core/firefox-ignorefile.js +0 -30
- package/dist/src/core/firefox.d.ts +0 -66
- package/dist/src/core/firefox.js +0 -121
- package/dist/src/core/forward-registrations.d.ts +0 -33
- package/dist/src/core/forward-registrations.js +0 -16
- package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
- package/dist/src/core/furnace-apply-dry-run.js +0 -99
- package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
- package/dist/src/core/furnace-apply-ftl.js +0 -210
- package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
- package/dist/src/core/furnace-apply-helpers.js +0 -436
- package/dist/src/core/furnace-apply-output.d.ts +0 -36
- package/dist/src/core/furnace-apply-output.js +0 -111
- package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -67
- package/dist/src/core/furnace-apply-overwrite-warn.js +0 -131
- package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
- package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
- package/dist/src/core/furnace-apply.d.ts +0 -49
- package/dist/src/core/furnace-apply.js +0 -465
- package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
- package/dist/src/core/furnace-checksum-utils.js +0 -54
- package/dist/src/core/furnace-composed-source.d.ts +0 -76
- package/dist/src/core/furnace-composed-source.js +0 -167
- package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
- package/dist/src/core/furnace-config-array-utils.js +0 -26
- package/dist/src/core/furnace-config-custom.d.ts +0 -15
- package/dist/src/core/furnace-config-custom.js +0 -73
- package/dist/src/core/furnace-config-order.d.ts +0 -8
- package/dist/src/core/furnace-config-order.js +0 -90
- package/dist/src/core/furnace-config-tokens.d.ts +0 -17
- package/dist/src/core/furnace-config-tokens.js +0 -42
- package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
- package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
- package/dist/src/core/furnace-config-validate.d.ts +0 -32
- package/dist/src/core/furnace-config-validate.js +0 -167
- package/dist/src/core/furnace-config.d.ts +0 -139
- package/dist/src/core/furnace-config.js +0 -511
- package/dist/src/core/furnace-constants.d.ts +0 -81
- package/dist/src/core/furnace-constants.js +0 -125
- package/dist/src/core/furnace-css-fragments.d.ts +0 -96
- package/dist/src/core/furnace-css-fragments.js +0 -279
- package/dist/src/core/furnace-deploy-owner.d.ts +0 -29
- package/dist/src/core/furnace-deploy-owner.js +0 -116
- package/dist/src/core/furnace-dir-entry.d.ts +0 -20
- package/dist/src/core/furnace-dir-entry.js +0 -21
- package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
- package/dist/src/core/furnace-fragment-includers.js +0 -122
- package/dist/src/core/furnace-graph-utils.d.ts +0 -11
- package/dist/src/core/furnace-graph-utils.js +0 -93
- package/dist/src/core/furnace-jsconfig.d.ts +0 -87
- package/dist/src/core/furnace-jsconfig.js +0 -248
- package/dist/src/core/furnace-marker.d.ts +0 -15
- package/dist/src/core/furnace-marker.js +0 -21
- package/dist/src/core/furnace-operation.d.ts +0 -195
- package/dist/src/core/furnace-operation.js +0 -444
- package/dist/src/core/furnace-precondition.d.ts +0 -61
- package/dist/src/core/furnace-precondition.js +0 -67
- package/dist/src/core/furnace-refresh.d.ts +0 -28
- package/dist/src/core/furnace-refresh.js +0 -125
- package/dist/src/core/furnace-registration-ast.d.ts +0 -53
- package/dist/src/core/furnace-registration-ast.js +0 -402
- package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
- package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
- package/dist/src/core/furnace-registration-remove.d.ts +0 -56
- package/dist/src/core/furnace-registration-remove.js +0 -260
- package/dist/src/core/furnace-registration-rename.d.ts +0 -26
- package/dist/src/core/furnace-registration-rename.js +0 -77
- package/dist/src/core/furnace-registration-validate.d.ts +0 -53
- package/dist/src/core/furnace-registration-validate.js +0 -110
- package/dist/src/core/furnace-registration.d.ts +0 -112
- package/dist/src/core/furnace-registration.js +0 -348
- package/dist/src/core/furnace-rollback.d.ts +0 -48
- package/dist/src/core/furnace-rollback.js +0 -170
- package/dist/src/core/furnace-scanner.d.ts +0 -47
- package/dist/src/core/furnace-scanner.js +0 -236
- package/dist/src/core/furnace-stale-export.d.ts +0 -60
- package/dist/src/core/furnace-stale-export.js +0 -125
- package/dist/src/core/furnace-staleness.d.ts +0 -24
- package/dist/src/core/furnace-staleness.js +0 -67
- package/dist/src/core/furnace-state-persist.d.ts +0 -68
- package/dist/src/core/furnace-state-persist.js +0 -116
- package/dist/src/core/furnace-step-errors.d.ts +0 -23
- package/dist/src/core/furnace-step-errors.js +0 -25
- package/dist/src/core/furnace-stories.d.ts +0 -37
- package/dist/src/core/furnace-stories.js +0 -186
- package/dist/src/core/furnace-tag-map.d.ts +0 -47
- package/dist/src/core/furnace-tag-map.js +0 -182
- package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
- package/dist/src/core/furnace-validate-accessibility.js +0 -417
- package/dist/src/core/furnace-validate-checks.d.ts +0 -4
- package/dist/src/core/furnace-validate-checks.js +0 -6
- package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
- package/dist/src/core/furnace-validate-compatibility.js +0 -295
- package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
- package/dist/src/core/furnace-validate-exceptions.js +0 -98
- package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
- package/dist/src/core/furnace-validate-helpers.js +0 -4
- package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
- package/dist/src/core/furnace-validate-icon-button.js +0 -78
- package/dist/src/core/furnace-validate-registration.d.ts +0 -67
- package/dist/src/core/furnace-validate-registration.js +0 -487
- package/dist/src/core/furnace-validate-structure.d.ts +0 -22
- package/dist/src/core/furnace-validate-structure.js +0 -122
- package/dist/src/core/furnace-validate.d.ts +0 -41
- package/dist/src/core/furnace-validate.js +0 -331
- package/dist/src/core/furnace-version-drift.d.ts +0 -57
- package/dist/src/core/furnace-version-drift.js +0 -102
- package/dist/src/core/gecko-dom-types.d.ts +0 -2
- package/dist/src/core/gecko-dom-types.js +0 -17
- package/dist/src/core/git-base.d.ts +0 -101
- package/dist/src/core/git-base.js +0 -162
- package/dist/src/core/git-diff-new-file.d.ts +0 -40
- package/dist/src/core/git-diff-new-file.js +0 -118
- package/dist/src/core/git-diff.d.ts +0 -82
- package/dist/src/core/git-diff.js +0 -539
- package/dist/src/core/git-file-ops.d.ts +0 -108
- package/dist/src/core/git-file-ops.js +0 -280
- package/dist/src/core/git-readonly-index.d.ts +0 -91
- package/dist/src/core/git-readonly-index.js +0 -177
- package/dist/src/core/git-status.d.ts +0 -84
- package/dist/src/core/git-status.js +0 -208
- package/dist/src/core/git.d.ts +0 -114
- package/dist/src/core/git.js +0 -540
- package/dist/src/core/harness-helper-pids.d.ts +0 -98
- package/dist/src/core/harness-helper-pids.js +0 -240
- package/dist/src/core/harness-orphans.d.ts +0 -118
- package/dist/src/core/harness-orphans.js +0 -268
- package/dist/src/core/harness-port-fallback.d.ts +0 -60
- package/dist/src/core/harness-port-fallback.js +0 -96
- package/dist/src/core/harness-port-reservation.d.ts +0 -60
- package/dist/src/core/harness-port-reservation.js +0 -122
- package/dist/src/core/history-log-file.d.ts +0 -61
- package/dist/src/core/history-log-file.js +0 -164
- package/dist/src/core/history-log.d.ts +0 -20
- package/dist/src/core/history-log.js +0 -30
- package/dist/src/core/json-preserving-edit.d.ts +0 -22
- package/dist/src/core/json-preserving-edit.js +0 -199
- package/dist/src/core/launchable-build.d.ts +0 -39
- package/dist/src/core/launchable-build.js +0 -85
- package/dist/src/core/license-headers.d.ts +0 -103
- package/dist/src/core/license-headers.js +0 -328
- package/dist/src/core/line-prefixer.d.ts +0 -18
- package/dist/src/core/line-prefixer.js +0 -34
- package/dist/src/core/lit-template-regions.d.ts +0 -4
- package/dist/src/core/lit-template-regions.js +0 -50
- package/dist/src/core/mach-build-artifacts.d.ts +0 -176
- package/dist/src/core/mach-build-artifacts.js +0 -436
- package/dist/src/core/mach-error-hints.d.ts +0 -24
- package/dist/src/core/mach-error-hints.js +0 -135
- package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
- package/dist/src/core/mach-known-noise-filter.js +0 -257
- package/dist/src/core/mach-mozconfig.d.ts +0 -57
- package/dist/src/core/mach-mozconfig.js +0 -166
- package/dist/src/core/mach-python.d.ts +0 -19
- package/dist/src/core/mach-python.js +0 -131
- package/dist/src/core/mach-resource-shim.d.ts +0 -107
- package/dist/src/core/mach-resource-shim.js +0 -640
- package/dist/src/core/mach.d.ts +0 -284
- package/dist/src/core/mach.js +0 -445
- package/dist/src/core/marionette-port.d.ts +0 -153
- package/dist/src/core/marionette-port.js +0 -474
- package/dist/src/core/marionette-preflight.d.ts +0 -58
- package/dist/src/core/marionette-preflight.js +0 -332
- package/dist/src/core/markdown-table.d.ts +0 -104
- package/dist/src/core/markdown-table.js +0 -265
- package/dist/src/core/mochitest-server-port.d.ts +0 -81
- package/dist/src/core/mochitest-server-port.js +0 -175
- package/dist/src/core/module-resolution-preflight.d.ts +0 -65
- package/dist/src/core/module-resolution-preflight.js +0 -171
- package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
- package/dist/src/core/moz-manifest-helpers.js +0 -163
- package/dist/src/core/moz-manifest-register.d.ts +0 -19
- package/dist/src/core/moz-manifest-register.js +0 -51
- package/dist/src/core/moz-manifest-rules.d.ts +0 -58
- package/dist/src/core/moz-manifest-rules.js +0 -264
- package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
- package/dist/src/core/moz-manifest-tokenizers.js +0 -108
- package/dist/src/core/negative-control-compiled.d.ts +0 -46
- package/dist/src/core/negative-control-compiled.js +0 -109
- package/dist/src/core/negative-control-diff.d.ts +0 -51
- package/dist/src/core/negative-control-diff.js +0 -167
- package/dist/src/core/negative-control.d.ts +0 -150
- package/dist/src/core/negative-control.js +0 -399
- package/dist/src/core/objdir-install-manifests.d.ts +0 -73
- package/dist/src/core/objdir-install-manifests.js +0 -226
- package/dist/src/core/objdir-maintenance.d.ts +0 -10
- package/dist/src/core/objdir-maintenance.js +0 -167
- package/dist/src/core/ownership-table.d.ts +0 -53
- package/dist/src/core/ownership-table.js +0 -159
- package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
- package/dist/src/core/parent-exit-watchdog.js +0 -69
- package/dist/src/core/park-store.d.ts +0 -63
- package/dist/src/core/park-store.js +0 -216
- package/dist/src/core/parser-fallback.d.ts +0 -50
- package/dist/src/core/parser-fallback.js +0 -61
- package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
- package/dist/src/core/patch-apply-fuzz.js +0 -125
- package/dist/src/core/patch-apply.d.ts +0 -88
- package/dist/src/core/patch-apply.js +0 -435
- package/dist/src/core/patch-export-coverage.d.ts +0 -49
- package/dist/src/core/patch-export-coverage.js +0 -73
- package/dist/src/core/patch-export-metadata.d.ts +0 -46
- package/dist/src/core/patch-export-metadata.js +0 -47
- package/dist/src/core/patch-export-update.d.ts +0 -55
- package/dist/src/core/patch-export-update.js +0 -95
- package/dist/src/core/patch-export.d.ts +0 -175
- package/dist/src/core/patch-export.js +0 -312
- package/dist/src/core/patch-files.d.ts +0 -17
- package/dist/src/core/patch-files.js +0 -59
- package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
- package/dist/src/core/patch-identifier-suggest.js +0 -135
- package/dist/src/core/patch-lint-binary.d.ts +0 -45
- package/dist/src/core/patch-lint-binary.js +0 -39
- package/dist/src/core/patch-lint-cache-checkjs.d.ts +0 -45
- package/dist/src/core/patch-lint-cache-checkjs.js +0 -195
- package/dist/src/core/patch-lint-cache.d.ts +0 -79
- package/dist/src/core/patch-lint-cache.js +0 -247
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -57
- package/dist/src/core/patch-lint-checkjs-any-import.js +0 -91
- package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
- package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
- package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
- package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
- package/dist/src/core/patch-lint-checkjs-resolve.d.ts +0 -31
- package/dist/src/core/patch-lint-checkjs-resolve.js +0 -86
- package/dist/src/core/patch-lint-checkjs.d.ts +0 -182
- package/dist/src/core/patch-lint-checkjs.js +0 -563
- package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
- package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
- package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
- package/dist/src/core/patch-lint-code-lines.js +0 -105
- package/dist/src/core/patch-lint-creators.d.ts +0 -26
- package/dist/src/core/patch-lint-creators.js +0 -45
- package/dist/src/core/patch-lint-cross.d.ts +0 -232
- package/dist/src/core/patch-lint-cross.js +0 -590
- package/dist/src/core/patch-lint-css.d.ts +0 -27
- package/dist/src/core/patch-lint-css.js +0 -228
- package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
- package/dist/src/core/patch-lint-diff-tag.js +0 -105
- package/dist/src/core/patch-lint-diff.d.ts +0 -42
- package/dist/src/core/patch-lint-diff.js +0 -100
- package/dist/src/core/patch-lint-file-size.d.ts +0 -57
- package/dist/src/core/patch-lint-file-size.js +0 -62
- package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
- package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
- package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
- package/dist/src/core/patch-lint-forward-registration.js +0 -266
- package/dist/src/core/patch-lint-ignore.d.ts +0 -196
- package/dist/src/core/patch-lint-ignore.js +0 -429
- package/dist/src/core/patch-lint-imports.d.ts +0 -9
- package/dist/src/core/patch-lint-imports.js +0 -90
- package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
- package/dist/src/core/patch-lint-jsdoc.js +0 -471
- package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
- package/dist/src/core/patch-lint-module-registration.js +0 -97
- package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
- package/dist/src/core/patch-lint-mozbuild.js +0 -192
- package/dist/src/core/patch-lint-observer.d.ts +0 -37
- package/dist/src/core/patch-lint-observer.js +0 -167
- package/dist/src/core/patch-lint-ownership.d.ts +0 -74
- package/dist/src/core/patch-lint-ownership.js +0 -125
- package/dist/src/core/patch-lint-prettier.d.ts +0 -34
- package/dist/src/core/patch-lint-prettier.js +0 -124
- package/dist/src/core/patch-lint-projection.d.ts +0 -25
- package/dist/src/core/patch-lint-projection.js +0 -43
- package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
- package/dist/src/core/patch-lint-queue-types.js +0 -12
- package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
- package/dist/src/core/patch-lint-size-thresholds.js +0 -110
- package/dist/src/core/patch-lint-size.d.ts +0 -117
- package/dist/src/core/patch-lint-size.js +0 -331
- package/dist/src/core/patch-lint-staged-registration.d.ts +0 -98
- package/dist/src/core/patch-lint-staged-registration.js +0 -128
- package/dist/src/core/patch-lint-token-scale.d.ts +0 -65
- package/dist/src/core/patch-lint-token-scale.js +0 -304
- package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
- package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
- package/dist/src/core/patch-lint.d.ts +0 -206
- package/dist/src/core/patch-lint.js +0 -533
- package/dist/src/core/patch-lock.d.ts +0 -40
- package/dist/src/core/patch-lock.js +0 -129
- package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
- package/dist/src/core/patch-manifest-consistency.js +0 -256
- package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
- package/dist/src/core/patch-manifest-files-affected.js +0 -77
- package/dist/src/core/patch-manifest-io.d.ts +0 -199
- package/dist/src/core/patch-manifest-io.js +0 -556
- package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
- package/dist/src/core/patch-manifest-key-order.js +0 -60
- package/dist/src/core/patch-manifest-query.d.ts +0 -55
- package/dist/src/core/patch-manifest-query.js +0 -139
- package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
- package/dist/src/core/patch-manifest-resolve.js +0 -35
- package/dist/src/core/patch-manifest-stage.d.ts +0 -46
- package/dist/src/core/patch-manifest-stage.js +0 -96
- package/dist/src/core/patch-manifest-validate.d.ts +0 -20
- package/dist/src/core/patch-manifest-validate.js +0 -240
- package/dist/src/core/patch-manifest.d.ts +0 -12
- package/dist/src/core/patch-manifest.js +0 -13
- package/dist/src/core/patch-order-legal.d.ts +0 -26
- package/dist/src/core/patch-order-legal.js +0 -88
- package/dist/src/core/patch-parse.d.ts +0 -176
- package/dist/src/core/patch-parse.js +0 -416
- package/dist/src/core/patch-policy-content.d.ts +0 -40
- package/dist/src/core/patch-policy-content.js +0 -219
- package/dist/src/core/patch-policy.d.ts +0 -80
- package/dist/src/core/patch-policy.js +0 -394
- package/dist/src/core/patch-registration-refs.d.ts +0 -41
- package/dist/src/core/patch-registration-refs.js +0 -107
- package/dist/src/core/patch-retired.d.ts +0 -57
- package/dist/src/core/patch-retired.js +0 -92
- package/dist/src/core/patch-source-metadata.d.ts +0 -6
- package/dist/src/core/patch-source-metadata.js +0 -12
- package/dist/src/core/patch-subset.d.ts +0 -18
- package/dist/src/core/patch-subset.js +0 -67
- package/dist/src/core/patch-transform.d.ts +0 -61
- package/dist/src/core/patch-transform.js +0 -198
- package/dist/src/core/preflight-wait.d.ts +0 -22
- package/dist/src/core/preflight-wait.js +0 -62
- package/dist/src/core/process-cpu-time.d.ts +0 -12
- package/dist/src/core/process-cpu-time.js +0 -52
- package/dist/src/core/process-owner.d.ts +0 -9
- package/dist/src/core/process-owner.js +0 -43
- package/dist/src/core/rebase-dry-run.d.ts +0 -48
- package/dist/src/core/rebase-dry-run.js +0 -105
- package/dist/src/core/rebase-from-version.d.ts +0 -46
- package/dist/src/core/rebase-from-version.js +0 -71
- package/dist/src/core/rebase-session.d.ts +0 -100
- package/dist/src/core/rebase-session.js +0 -174
- package/dist/src/core/register-browser-content.d.ts +0 -11
- package/dist/src/core/register-browser-content.js +0 -52
- package/dist/src/core/register-browser-test.d.ts +0 -18
- package/dist/src/core/register-browser-test.js +0 -66
- package/dist/src/core/register-module.d.ts +0 -11
- package/dist/src/core/register-module.js +0 -56
- package/dist/src/core/register-result.d.ts +0 -30
- package/dist/src/core/register-result.js +0 -8
- package/dist/src/core/register-scaffold.d.ts +0 -55
- package/dist/src/core/register-scaffold.js +0 -146
- package/dist/src/core/register-shared-css.d.ts +0 -36
- package/dist/src/core/register-shared-css.js +0 -112
- package/dist/src/core/register-xpcshell-test.d.ts +0 -50
- package/dist/src/core/register-xpcshell-test.js +0 -143
- package/dist/src/core/run-log-redact.d.ts +0 -38
- package/dist/src/core/run-log-redact.js +0 -69
- package/dist/src/core/run-log.d.ts +0 -97
- package/dist/src/core/run-log.js +0 -334
- package/dist/src/core/run-profile.d.ts +0 -57
- package/dist/src/core/run-profile.js +0 -137
- package/dist/src/core/shared-ftl.d.ts +0 -28
- package/dist/src/core/shared-ftl.js +0 -49
- package/dist/src/core/signal-critical.d.ts +0 -38
- package/dist/src/core/signal-critical.js +0 -62
- package/dist/src/core/smoke-patterns.d.ts +0 -81
- package/dist/src/core/smoke-patterns.js +0 -176
- package/dist/src/core/state-file.d.ts +0 -60
- package/dist/src/core/state-file.js +0 -71
- package/dist/src/core/status-binary.d.ts +0 -62
- package/dist/src/core/status-binary.js +0 -133
- package/dist/src/core/status-classify.d.ts +0 -96
- package/dist/src/core/status-classify.js +0 -244
- package/dist/src/core/test-changed-prefs.d.ts +0 -30
- package/dist/src/core/test-changed-prefs.js +0 -93
- package/dist/src/core/test-harness-crash.d.ts +0 -251
- package/dist/src/core/test-harness-crash.js +0 -780
- package/dist/src/core/test-harness-infra.d.ts +0 -32
- package/dist/src/core/test-harness-infra.js +0 -69
- package/dist/src/core/test-harness-output.d.ts +0 -45
- package/dist/src/core/test-harness-output.js +0 -119
- package/dist/src/core/test-harness-signature.d.ts +0 -57
- package/dist/src/core/test-harness-signature.js +0 -35
- package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
- package/dist/src/core/test-harness-verdict-notes.js +0 -48
- package/dist/src/core/test-host-state.d.ts +0 -14
- package/dist/src/core/test-host-state.js +0 -80
- package/dist/src/core/test-path-scope.d.ts +0 -59
- package/dist/src/core/test-path-scope.js +0 -147
- package/dist/src/core/test-profile-files.d.ts +0 -17
- package/dist/src/core/test-profile-files.js +0 -75
- package/dist/src/core/test-raw-log.d.ts +0 -66
- package/dist/src/core/test-raw-log.js +0 -122
- package/dist/src/core/test-run-completeness.d.ts +0 -97
- package/dist/src/core/test-run-completeness.js +0 -191
- package/dist/src/core/test-stale-check.d.ts +0 -213
- package/dist/src/core/test-stale-check.js +0 -396
- package/dist/src/core/test-stale-exempt.d.ts +0 -40
- package/dist/src/core/test-stale-exempt.js +0 -70
- package/dist/src/core/test-stale-symlink.d.ts +0 -12
- package/dist/src/core/test-stale-symlink.js +0 -39
- package/dist/src/core/test-stall-triage.d.ts +0 -51
- package/dist/src/core/test-stall-triage.js +0 -142
- package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
- package/dist/src/core/test-xpcshell-retry.js +0 -31
- package/dist/src/core/token-category.d.ts +0 -54
- package/dist/src/core/token-category.js +0 -299
- package/dist/src/core/token-coverage.d.ts +0 -12
- package/dist/src/core/token-coverage.js +0 -96
- package/dist/src/core/token-dark-mode.d.ts +0 -64
- package/dist/src/core/token-dark-mode.js +0 -186
- package/dist/src/core/token-docs.d.ts +0 -34
- package/dist/src/core/token-docs.js +0 -102
- package/dist/src/core/token-inventory.d.ts +0 -56
- package/dist/src/core/token-inventory.js +0 -114
- package/dist/src/core/token-lint.d.ts +0 -53
- package/dist/src/core/token-lint.js +0 -131
- package/dist/src/core/token-manager.d.ts +0 -87
- package/dist/src/core/token-manager.js +0 -407
- package/dist/src/core/token-scaffold.d.ts +0 -36
- package/dist/src/core/token-scaffold.js +0 -73
- package/dist/src/core/token-sibling-sheets.d.ts +0 -46
- package/dist/src/core/token-sibling-sheets.js +0 -119
- package/dist/src/core/token-variant.d.ts +0 -90
- package/dist/src/core/token-variant.js +0 -327
- package/dist/src/core/toolchain-preflight.d.ts +0 -90
- package/dist/src/core/toolchain-preflight.js +0 -251
- package/dist/src/core/tree-cow.d.ts +0 -16
- package/dist/src/core/tree-cow.js +0 -71
- package/dist/src/core/tree-guard.d.ts +0 -35
- package/dist/src/core/tree-guard.js +0 -194
- package/dist/src/core/tree-store.d.ts +0 -143
- package/dist/src/core/tree-store.js +0 -478
- package/dist/src/core/typecheck-explain.d.ts +0 -93
- package/dist/src/core/typecheck-explain.js +0 -213
- package/dist/src/core/typecheck-shim.d.ts +0 -90
- package/dist/src/core/typecheck-shim.js +0 -508
- package/dist/src/core/typecheck.d.ts +0 -97
- package/dist/src/core/typecheck.js +0 -457
- package/dist/src/core/wire-destroy.d.ts +0 -25
- package/dist/src/core/wire-destroy.js +0 -126
- package/dist/src/core/wire-dom-fragment.d.ts +0 -44
- package/dist/src/core/wire-dom-fragment.js +0 -139
- package/dist/src/core/wire-init.d.ts +0 -28
- package/dist/src/core/wire-init.js +0 -219
- package/dist/src/core/wire-subscript.d.ts +0 -23
- package/dist/src/core/wire-subscript.js +0 -145
- package/dist/src/core/wire-utils.d.ts +0 -149
- package/dist/src/core/wire-utils.js +0 -338
- package/dist/src/core/xpcshell-appdir.d.ts +0 -157
- package/dist/src/core/xpcshell-appdir.js +0 -299
- package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
- package/dist/src/core/xpcshell-profile-dir.js +0 -45
- package/dist/src/errors/base.d.ts +0 -217
- package/dist/src/errors/base.js +0 -279
- package/dist/src/errors/build.d.ts +0 -92
- package/dist/src/errors/build.js +0 -166
- package/dist/src/errors/codes.d.ts +0 -74
- package/dist/src/errors/codes.js +0 -74
- package/dist/src/errors/config.d.ts +0 -17
- package/dist/src/errors/config.js +0 -39
- package/dist/src/errors/download.d.ts +0 -66
- package/dist/src/errors/download.js +0 -160
- package/dist/src/errors/furnace.d.ts +0 -20
- package/dist/src/errors/furnace.js +0 -28
- package/dist/src/errors/git.d.ts +0 -65
- package/dist/src/errors/git.js +0 -140
- package/dist/src/errors/patch.d.ts +0 -27
- package/dist/src/errors/patch.js +0 -52
- package/dist/src/errors/rebase.d.ts +0 -42
- package/dist/src/errors/rebase.js +0 -71
- package/dist/src/errors/run.d.ts +0 -16
- package/dist/src/errors/run.js +0 -22
- package/dist/src/index.d.ts +0 -42
- package/dist/src/index.js +0 -32
- package/dist/src/types/cli.d.ts +0 -14
- package/dist/src/types/commands/index.d.ts +0 -6
- package/dist/src/types/commands/index.js +0 -5
- package/dist/src/types/commands/options.d.ts +0 -1372
- package/dist/src/types/commands/options.js +0 -5
- package/dist/src/types/commands/patches.d.ts +0 -352
- package/dist/src/types/commands/patches.js +0 -5
- package/dist/src/types/commands/project.d.ts +0 -51
- package/dist/src/types/commands/project.js +0 -5
- package/dist/src/types/config.d.ts +0 -732
- package/dist/src/types/config.js +0 -15
- package/dist/src/types/furnace.d.ts +0 -422
- package/dist/src/types/furnace.js +0 -26
- package/dist/src/types/index.d.ts +0 -5
- package/dist/src/types/index.js +0 -5
- package/dist/src/types/json.d.ts +0 -22
- package/dist/src/types/json.js +0 -11
- package/dist/src/types/typecheck.d.ts +0 -51
- package/dist/src/types/typecheck.js +0 -14
- package/dist/src/utils/assert.d.ts +0 -34
- package/dist/src/utils/assert.js +0 -61
- package/dist/src/utils/build-info.d.ts +0 -30
- package/dist/src/utils/build-info.js +0 -99
- package/dist/src/utils/child-env.d.ts +0 -28
- package/dist/src/utils/child-env.js +0 -27
- package/dist/src/utils/concurrency.d.ts +0 -8
- package/dist/src/utils/concurrency.js +0 -32
- package/dist/src/utils/elapsed.d.ts +0 -2
- package/dist/src/utils/elapsed.js +0 -23
- package/dist/src/utils/errors.d.ts +0 -39
- package/dist/src/utils/errors.js +0 -67
- package/dist/src/utils/fs.d.ts +0 -113
- package/dist/src/utils/fs.js +0 -337
- package/dist/src/utils/hash.d.ts +0 -12
- package/dist/src/utils/hash.js +0 -16
- package/dist/src/utils/line-dispatch.d.ts +0 -15
- package/dist/src/utils/line-dispatch.js +0 -48
- package/dist/src/utils/logger.d.ts +0 -109
- package/dist/src/utils/logger.js +0 -270
- package/dist/src/utils/machine-output.d.ts +0 -12
- package/dist/src/utils/machine-output.js +0 -33
- package/dist/src/utils/options.d.ts +0 -155
- package/dist/src/utils/options.js +0 -312
- package/dist/src/utils/package-root.d.ts +0 -21
- package/dist/src/utils/package-root.js +0 -70
- package/dist/src/utils/parse.d.ts +0 -117
- package/dist/src/utils/parse.js +0 -214
- package/dist/src/utils/path-glob.d.ts +0 -15
- package/dist/src/utils/path-glob.js +0 -47
- package/dist/src/utils/paths.d.ts +0 -31
- package/dist/src/utils/paths.js +0 -80
- package/dist/src/utils/platform.d.ts +0 -9
- package/dist/src/utils/platform.js +0 -14
- package/dist/src/utils/process-group.d.ts +0 -42
- package/dist/src/utils/process-group.js +0 -190
- package/dist/src/utils/process-input.d.ts +0 -27
- package/dist/src/utils/process-input.js +0 -46
- package/dist/src/utils/process.d.ts +0 -293
- package/dist/src/utils/process.js +0 -593
- package/dist/src/utils/ps-duration.d.ts +0 -31
- package/dist/src/utils/ps-duration.js +0 -70
- package/dist/src/utils/regex.d.ts +0 -39
- package/dist/src/utils/regex.js +0 -109
- package/dist/src/utils/sleep.d.ts +0 -25
- package/dist/src/utils/sleep.js +0 -30
- package/dist/src/utils/stdio-drain.d.ts +0 -28
- package/dist/src/utils/stdio-drain.js +0 -54
- package/dist/src/utils/validation.d.ts +0 -182
- package/dist/src/utils/validation.js +0 -394
- package/docs/lifecycle-invariants.md +0 -523
- package/docs/run-logs.md +0 -122
- package/docs/verification-trees.md +0 -49
- /package/dist/src/{types/cli.js → cli/context.js} +0 -0
|
@@ -1,547 +1,45 @@
|
|
|
1
1
|
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
// Strip a leading `engine/` segment up-front so the rest of the lookup
|
|
47
|
-
// pipeline (directory stat, modified-files-in-dir, status probe) sees the
|
|
48
|
-
// engine-relative form. Without it, passing
|
|
49
|
-
// `engine/browser/base/content/foo.js` falls through to "No modified
|
|
50
|
-
// files found in the specified paths.", because git sees every path
|
|
51
|
-
// relative to engine/. The same normalization runs in `register`,
|
|
52
|
-
// `test`, and `export`.
|
|
53
|
-
const normalizedFiles = files.map((inputPath) => stripEnginePrefix(inputPath));
|
|
54
|
-
for (const inputPath of normalizedFiles) {
|
|
55
|
-
const fullInputPath = join(engineDir, inputPath);
|
|
56
|
-
let isDirectory = false;
|
|
57
|
-
try {
|
|
58
|
-
const fileStat = await stat(fullInputPath);
|
|
59
|
-
isDirectory = fileStat.isDirectory();
|
|
60
|
-
}
|
|
61
|
-
catch {
|
|
62
|
-
// Treat as file
|
|
63
|
-
}
|
|
64
|
-
if (isDirectory) {
|
|
65
|
-
const dirPath = inputPath.endsWith('/') ? inputPath.slice(0, -1) : inputPath;
|
|
66
|
-
const modifiedFiles = await getModifiedFilesInDir(engineDir, dirPath);
|
|
67
|
-
const dirUntrackedFiles = await getUntrackedFilesInDir(engineDir, dirPath);
|
|
68
|
-
for (const f of modifiedFiles)
|
|
69
|
-
collectedFiles.add(f);
|
|
70
|
-
for (const f of dirUntrackedFiles)
|
|
71
|
-
collectedFiles.add(f);
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
if (!fileStatuses)
|
|
75
|
-
fileStatuses = await getStatusWithCodes(engineDir);
|
|
76
|
-
if (!untrackedFiles)
|
|
77
|
-
untrackedFiles = await getUntrackedFiles(engineDir);
|
|
78
|
-
const hasStatus = fileStatuses.some((s) => s.file === inputPath) || untrackedFiles.includes(inputPath);
|
|
79
|
-
if (hasStatus)
|
|
80
|
-
collectedFiles.add(inputPath);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
if (collectedFiles.size === 0) {
|
|
84
|
-
info('No modified files found in the specified paths.');
|
|
85
|
-
outro('Nothing to lint');
|
|
86
|
-
return null;
|
|
87
|
-
}
|
|
88
|
-
const diff = await getDiffForFilesAgainstHead(engineDir, [...collectedFiles].sort());
|
|
89
|
-
if (!diff.trim()) {
|
|
90
|
-
info('No diff content to lint.');
|
|
91
|
-
outro('Nothing to lint');
|
|
92
|
-
return null;
|
|
93
|
-
}
|
|
94
|
-
return diff;
|
|
95
|
-
}
|
|
96
|
-
if (!(await hasChanges(engineDir))) {
|
|
97
|
-
info('No changes to lint.');
|
|
98
|
-
outro('Nothing to lint');
|
|
99
|
-
return null;
|
|
100
|
-
}
|
|
101
|
-
// Aggregate-mode branding exclusion. A fresh-setup workspace carries a
|
|
102
|
-
// large tool-managed branding diff the operator did not author. Running
|
|
103
|
-
// the default lint against it fires size and license-header rules on
|
|
104
|
-
// content that was never intended to survive in the patch queue as-is. The
|
|
105
|
-
// exclusion mirrors the `branding` bucket in `fireforge status` so the two
|
|
106
|
-
// views stay consistent.
|
|
107
|
-
//
|
|
108
|
-
// `expandUntrackedDirectoryEntries` promotes collapsed `?? dir/` status
|
|
109
|
-
// rows to individual file entries before the diff pass. Without it, a
|
|
110
|
-
// patch that introduces a new directory shows up as
|
|
111
|
-
// `?? browser/modules/<fork>/` and `getDiffForFilesAgainstHead` crashes
|
|
112
|
-
// with EISDIR reading the directory as if it were a file.
|
|
113
|
-
if (binaryName) {
|
|
114
|
-
const rawStatus = await getWorkingTreeStatus(engineDir);
|
|
115
|
-
const expanded = await expandUntrackedDirectoryEntries(engineDir, rawStatus);
|
|
116
|
-
const allPaths = [...new Set(expanded.map((entry) => entry.file))];
|
|
117
|
-
const nonBrandingPaths = allPaths.filter((path) => !isBrandingManagedPath(path, binaryName));
|
|
118
|
-
const brandingExcluded = allPaths.length - nonBrandingPaths.length;
|
|
119
|
-
// Drop Furnace-managed paths the same way branding is dropped: their
|
|
120
|
-
// contents are tool output (overrides, custom widgets, preview-generated
|
|
121
|
-
// stories) that the operator did not author and never intended to land
|
|
122
|
-
// on the patch queue. Without the carve-out, a post-`furnace preview`
|
|
123
|
-
// aggregate `lint` fails with one `missing-license-header` error per
|
|
124
|
-
// generated story file. Each is header-less on purpose because it is
|
|
125
|
-
// re-generated from component metadata on every preview run.
|
|
126
|
-
const filteredPaths = furnacePrefixes
|
|
127
|
-
? nonBrandingPaths.filter((path) => ![...furnacePrefixes].some((p) => path.startsWith(p)))
|
|
128
|
-
: nonBrandingPaths;
|
|
129
|
-
const furnaceExcluded = nonBrandingPaths.length - filteredPaths.length;
|
|
130
|
-
if (brandingExcluded > 0) {
|
|
131
|
-
info(`Excluded ${brandingExcluded} tool-managed branding file${brandingExcluded === 1 ? '' : 's'} from lint. Pass the path explicitly or use \`fireforge lint <path>\` to include them.`);
|
|
132
|
-
}
|
|
133
|
-
if (furnaceExcluded > 0) {
|
|
134
|
-
info(`Excluded ${furnaceExcluded} Furnace-managed file${furnaceExcluded === 1 ? '' : 's'} from lint (deployed components and preview-generated stories). Pass the path explicitly to include them.`);
|
|
135
|
-
}
|
|
136
|
-
if (filteredPaths.length === 0) {
|
|
137
|
-
info('No non-branding, non-Furnace changes to lint.');
|
|
138
|
-
outro('Nothing to lint');
|
|
139
|
-
return null;
|
|
140
|
-
}
|
|
141
|
-
const diff = await getDiffForFilesAgainstHead(engineDir, filteredPaths.sort());
|
|
142
|
-
if (!diff.trim()) {
|
|
143
|
-
info('No diff content to lint.');
|
|
144
|
-
outro('Nothing to lint');
|
|
145
|
-
return null;
|
|
146
|
-
}
|
|
147
|
-
return diff;
|
|
148
|
-
}
|
|
149
|
-
// Fallback path: no binaryName available (a caller without a loaded
|
|
150
|
-
// config). Lint the full diff so the lint surface stays at least as broad.
|
|
151
|
-
const diff = await getAllDiff(engineDir);
|
|
152
|
-
if (!diff.trim()) {
|
|
153
|
-
info('No diff content to lint.');
|
|
154
|
-
outro('Nothing to lint');
|
|
155
|
-
return null;
|
|
156
|
-
}
|
|
157
|
-
return diff;
|
|
158
|
-
}
|
|
159
|
-
function buildMaxWarningsMessage(count, maxWarnings, scope) {
|
|
160
|
-
const scoped = scope ? ` ${scope}` : '';
|
|
161
|
-
const base = `Patch lint found ${count} warning(s)${scoped}, exceeding --max-warnings ${maxWarnings}.`;
|
|
162
|
-
return (base +
|
|
163
|
-
' If this is a release gate, run with --per-patch to identify the owning patch. For intentional staged imports, use patch staged-dependency; for ownership repairs, preview patch move-files, patch reorder --dry-run, or re-export --files --dry-run; add scoped lintIgnore only after review.');
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Filters aggregate-mode lint issues against per-patch `lintIgnore` lists
|
|
167
|
-
* drawn from the manifest. An issue is dropped when at least one patch whose
|
|
168
|
-
* `filesAffected` covers `issue.file` lists `issue.check` in its
|
|
169
|
-
* `lintIgnore`.
|
|
170
|
-
*
|
|
171
|
-
* Mirrors the per-patch contract: `--per-patch` mode threads each patch's
|
|
172
|
-
* `lintIgnore` directly into `lintExportedPatch`, so a check the operator
|
|
173
|
-
* explicitly waived in `patches.json` does not surface. Aggregate `--since`
|
|
174
|
-
* mode has no patch-level scope of its own and would otherwise rediscover
|
|
175
|
-
* the suppressed warning every CI run. Attributing each issue's file to its
|
|
176
|
-
* owning patch via `filesAffected` re-establishes the same suppression
|
|
177
|
-
* semantics. Cross-patch findings (forward-import, duplicate-creation) also
|
|
178
|
-
* attribute via `issue.file`, which is the offending site and is owned by
|
|
179
|
-
* some patch.
|
|
180
|
-
*
|
|
181
|
-
* Multiple owners: an issue is dropped if any owning patch waived the
|
|
182
|
-
* rule. This is conservative: it never adds new findings, only drops
|
|
183
|
-
* already-waived ones.
|
|
184
|
-
*
|
|
185
|
-
* @param issues - Issues collected from the aggregate lint run.
|
|
186
|
-
* @param ctx - Patch queue context used to attribute file → patch.
|
|
187
|
-
* @returns Filtered issue list and the count of dropped findings.
|
|
188
|
-
*/
|
|
189
|
-
export function applyAggregateLintIgnoreSuppression(issues, ctx) {
|
|
190
|
-
const filtered = filterLintIgnoredByOwners(issues, ctx.entries.map((entry) => entry.metadata));
|
|
191
|
-
return { issues: filtered, dropped: issues.length - filtered.length };
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Up-front flag validation for `lintCommand`: rejects `--only-introduced`
|
|
195
|
-
* without `--since` and non-integer `--max-warnings`, each a
|
|
196
|
-
* misconfiguration that should fail loud rather than silently narrow the
|
|
197
|
-
* result. Positional arguments in per-patch mode are patch selectors
|
|
198
|
-
* and are validated downstream by `selectPatchSubset`.
|
|
199
|
-
*/
|
|
200
|
-
function validateLintFlags(options) {
|
|
201
|
-
// `--only-introduced` scopes the exit code to `--since`-tagged issues, so
|
|
202
|
-
// without a revision to anchor the diff there is no "introduced" subset
|
|
203
|
-
// to scope to. Reject the combination up-front so a misconfigured CI
|
|
204
|
-
// invocation fails loud instead of silently treating every error as
|
|
205
|
-
// cumulative and passing.
|
|
206
|
-
if (options.onlyIntroduced && !options.since) {
|
|
207
|
-
throw new GeneralError('--only-introduced requires --since <git-rev> so introduced-vs-cumulative can be distinguished.');
|
|
208
|
-
}
|
|
209
|
-
if (options.maxWarnings !== undefined &&
|
|
210
|
-
(!Number.isInteger(options.maxWarnings) || options.maxWarnings < 0)) {
|
|
211
|
-
throw new InvalidArgumentError('--max-warnings must be a non-negative integer.', '--max-warnings');
|
|
212
|
-
}
|
|
213
|
-
// `--patches` only means something in per-patch mode, where it filters
|
|
214
|
-
// the queue. In aggregate/file-list mode there is no patch loop to narrow.
|
|
215
|
-
if (options.patches !== undefined && !options.perPatch) {
|
|
216
|
-
throw new InvalidArgumentError('--patches requires --per-patch.', '--patches');
|
|
217
|
-
}
|
|
218
|
-
// The JSON report is a per-patch artifact (per-patch size metrics and
|
|
219
|
-
// suppressed issues). Aggregate mode has no per-patch rows to report.
|
|
220
|
-
if (options.report !== undefined && !options.perPatch) {
|
|
221
|
-
throw new InvalidArgumentError('--report requires --per-patch.', '--report');
|
|
222
|
-
}
|
|
223
|
-
if (options.notices !== undefined && !options.perPatch) {
|
|
224
|
-
throw new InvalidArgumentError('--notices requires --per-patch.', '--notices');
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* Aggregate-mode patch-size softening: when the linted diff is every
|
|
229
|
-
* applied patch summed (no explicit file scope, multi-patch queue), the
|
|
230
|
-
* `large-patch-lines` / `large-patch-files` counts are an artefact of
|
|
231
|
-
* aggregation rather than a property of any one patch. Surface the
|
|
232
|
-
* `--per-patch` hint and downgrade those two rules to warnings. Per-patch
|
|
233
|
-
* mode keeps them as errors.
|
|
234
|
-
*/
|
|
235
|
-
function downgradeAggregateSizeRules(issues, files, ctx) {
|
|
236
|
-
const aggregateHintApplicable = files.length === 0 && ctx !== undefined && ctx.entries.length > 1;
|
|
237
|
-
if (aggregateHintApplicable &&
|
|
238
|
-
issues.some((i) => i.check === 'large-patch-lines' || i.check === 'large-patch-files')) {
|
|
239
|
-
info('NOTE: aggregate diff across all applied patches. Use `fireforge lint --per-patch` to lint each patch individually; patch-size rules fire against the sum in aggregate mode and are reported as warnings rather than errors here.');
|
|
240
|
-
for (const issue of issues) {
|
|
241
|
-
if ((issue.check === 'large-patch-lines' || issue.check === 'large-patch-files') &&
|
|
242
|
-
issue.severity === 'error') {
|
|
243
|
-
issue.severity = 'warning';
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
/**
|
|
249
|
-
* Evaluates the patch-size rules (`large-patch-files` / `large-patch-lines`)
|
|
250
|
-
* for an ad-hoc explicit-file-list lint, scoped to each file's owning
|
|
251
|
-
* patch rather than the combined file list.
|
|
252
|
-
*
|
|
253
|
-
* Feeding every passed file to `lintExportedPatch` as one synthetic patch
|
|
254
|
-
* makes a cross-patch selection of eight files belonging to four patches
|
|
255
|
-
* report `Patch affects 8 files` even though no single owning patch is
|
|
256
|
-
* oversized. This helper groups the affected files by their owning patch
|
|
257
|
-
* (via the manifest's `filesAffected`), then runs `lintPatchSize` against
|
|
258
|
-
* each owner's real file count + diff, honouring that owner's `tier` and
|
|
259
|
-
* `lintIgnore`, so `lint <files>`, `lint --per-patch`, and
|
|
260
|
-
* `re-export --dry-run` agree on the same size findings for the same files.
|
|
261
|
-
* Files no patch claims are evaluated together as one prospective new patch,
|
|
262
|
-
* preserving the pre-export oversized-change warning.
|
|
263
|
-
*
|
|
264
|
-
* @param engineDir - Absolute engine directory
|
|
265
|
-
* @param filesAffected - Engine-relative files touched by the ad-hoc diff
|
|
266
|
-
* @param ctx - Patch queue context used to attribute file → owning patch
|
|
267
|
-
* @returns Size issues, each attributed to its owning patch by message prefix
|
|
268
|
-
*/
|
|
269
|
-
async function lintOwningPatchSizes(engineDir, filesAffected, ctx, config) {
|
|
270
|
-
const listed = new Set(filesAffected);
|
|
271
|
-
const owners = new Map();
|
|
272
|
-
const ownedListed = new Set();
|
|
273
|
-
for (const entry of ctx.entries) {
|
|
274
|
-
const md = entry.metadata;
|
|
275
|
-
if (!md)
|
|
276
|
-
continue;
|
|
277
|
-
let ownsAny = false;
|
|
278
|
-
for (const f of md.filesAffected) {
|
|
279
|
-
if (listed.has(f)) {
|
|
280
|
-
ownedListed.add(f);
|
|
281
|
-
ownsAny = true;
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
if (ownsAny)
|
|
285
|
-
owners.set(entry.filename, entry);
|
|
286
|
-
}
|
|
287
|
-
const issues = [];
|
|
288
|
-
const sizeForFiles = async (relPaths) => {
|
|
289
|
-
const existing = [];
|
|
290
|
-
for (const f of relPaths) {
|
|
291
|
-
if (await pathExists(join(engineDir, f)))
|
|
292
|
-
existing.push(f);
|
|
293
|
-
}
|
|
294
|
-
const diff = existing.length > 0 ? await getDiffForFilesAgainstHead(engineDir, existing) : '';
|
|
295
|
-
// The file count stays the owner's whole `filesAffected`, as before.
|
|
296
|
-
return measurePatchSize(engineDir, diff, relPaths, config);
|
|
297
|
-
};
|
|
298
|
-
for (const entry of owners.values()) {
|
|
299
|
-
const md = entry.metadata;
|
|
300
|
-
if (!md)
|
|
301
|
-
continue;
|
|
302
|
-
const size = await sizeForFiles(md.filesAffected);
|
|
303
|
-
const ignore = buildLintIgnoreChecks(md.lintIgnore);
|
|
304
|
-
const sized = lintPatchSize(md.filesAffected, size, md.tier, config);
|
|
305
|
-
for (const issue of partitionLintIgnoredIssues(sized, ignore).kept) {
|
|
306
|
-
issues.push({ ...issue, message: `${entry.filename}: ${issue.message}` });
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
// Files no patch claims are a prospective new patch: evaluate them as one
|
|
310
|
-
// unit so a genuinely oversized fresh change still surfaces.
|
|
311
|
-
const unowned = filesAffected.filter((f) => !ownedListed.has(f));
|
|
312
|
-
if (unowned.length > 0) {
|
|
313
|
-
const size = await sizeForFiles(unowned);
|
|
314
|
-
issues.push(...lintPatchSize(unowned, size, undefined, config));
|
|
315
|
-
}
|
|
316
|
-
return issues;
|
|
317
|
-
}
|
|
318
|
-
/**
|
|
319
|
-
* Reporting + exit phase of `lintCommand`: tags issues against `--since`,
|
|
320
|
-
* renders every notice/warning/error row, prints the summary, and applies
|
|
321
|
-
* the failure criteria (`--only-introduced` scoping, `--max-warnings`)
|
|
322
|
-
* by throwing GeneralError. Issues must be non-empty.
|
|
323
|
-
*/
|
|
324
|
-
async function reportLintOutcome(engineDir, issues, options) {
|
|
325
|
-
// Diff-scoping: tag each issue as introduced-in-current-task vs
|
|
326
|
-
// cumulative-pre-existing-drift. Nothing is filtered (the full set still
|
|
327
|
-
// prints and exit code semantics are unchanged), but the per-line prefix
|
|
328
|
-
// and summary make triage easier on a large patch series.
|
|
329
|
-
const sinceActive = Boolean(options.since);
|
|
330
|
-
if (options.since) {
|
|
331
|
-
const diffFiles = await collectDiffFilePaths(engineDir, options.since);
|
|
332
|
-
tagLintIssues(issues, diffFiles);
|
|
333
|
-
}
|
|
334
|
-
const errors = issues.filter((i) => i.severity === 'error');
|
|
335
|
-
const warnings = issues.filter((i) => i.severity === 'warning');
|
|
336
|
-
const notices = issues.filter((i) => i.severity === 'notice');
|
|
337
|
-
const tagPrefix = (issue) => sinceActive && issue.tag ? `[${issue.tag}] ` : '';
|
|
338
|
-
for (const issue of notices) {
|
|
339
|
-
info(`${tagPrefix(issue)}NOTICE ${formatPatchLintIssue(issue)}`);
|
|
340
|
-
}
|
|
341
|
-
for (const issue of warnings) {
|
|
342
|
-
warn(`${tagPrefix(issue)}${formatPatchLintIssue(issue)}`);
|
|
343
|
-
}
|
|
344
|
-
for (const issue of errors) {
|
|
345
|
-
warn(`${tagPrefix(issue)}ERROR ${formatPatchLintIssue(issue)}`);
|
|
346
|
-
}
|
|
347
|
-
if (sinceActive) {
|
|
348
|
-
const introducedErrors = errors.filter((i) => i.tag === 'introduced').length;
|
|
349
|
-
const introducedWarnings = warnings.filter((i) => i.tag === 'introduced').length;
|
|
350
|
-
const cumulativeErrors = errors.length - introducedErrors;
|
|
351
|
-
const cumulativeWarnings = warnings.length - introducedWarnings;
|
|
352
|
-
info(`\nLint: ${introducedErrors} introduced error(s), ${introducedWarnings} introduced warning(s); ${cumulativeErrors} cumulative error(s), ${cumulativeWarnings} cumulative warning(s)`);
|
|
353
|
-
}
|
|
354
|
-
else {
|
|
355
|
-
info(`\nLint: ${errors.length} error(s), ${warnings.length} warning(s)`);
|
|
356
|
-
}
|
|
357
|
-
// Exit-code scope: `--only-introduced` narrows the failure criterion to
|
|
358
|
-
// issues tagged `introduced`. Cumulative errors still print so the
|
|
359
|
-
// operator sees the full queue state, but do not fail lint. The case
|
|
360
|
-
// this serves is a branch whose own diff is clean but whose repo
|
|
361
|
-
// already carries pre-existing queue errors from older patches.
|
|
362
|
-
const failingErrors = options.onlyIntroduced
|
|
363
|
-
? errors.filter((i) => i.tag === 'introduced')
|
|
364
|
-
: errors;
|
|
365
|
-
if (failingErrors.length > 0) {
|
|
366
|
-
outro('Lint failed');
|
|
367
|
-
const cumulativeSuppressed = options.onlyIntroduced && errors.length > failingErrors.length
|
|
368
|
-
? ` (${errors.length - failingErrors.length} cumulative error(s) suppressed by --only-introduced)`
|
|
369
|
-
: '';
|
|
370
|
-
throw new GeneralError(`Patch lint found ${failingErrors.length} ${options.onlyIntroduced ? 'introduced ' : ''}error(s). Fix these before exporting.${cumulativeSuppressed}`);
|
|
371
|
-
}
|
|
372
|
-
if (options.maxWarnings !== undefined && warnings.length > options.maxWarnings) {
|
|
373
|
-
outro('Lint failed');
|
|
374
|
-
throw new GeneralError(buildMaxWarningsMessage(warnings.length, options.maxWarnings));
|
|
375
|
-
}
|
|
376
|
-
// Notices are advisory and do not count as warnings: emitting "passed
|
|
377
|
-
// with warnings" when only notices fired contradicts the preceding
|
|
378
|
-
// `0 warning(s)` summary line and reads as a regression. Errors suppressed
|
|
379
|
-
// by --only-introduced still warrant the "with warnings" outro: they print
|
|
380
|
-
// as ERROR rows but do not fail the run, which is the same contract the
|
|
381
|
-
// operator gets from a real warning.
|
|
382
|
-
const suppressedErrors = options.onlyIntroduced && errors.length > 0;
|
|
383
|
-
if (warnings.length > 0 || suppressedErrors) {
|
|
384
|
-
outro('Lint passed with warnings');
|
|
385
|
-
}
|
|
386
|
-
else if (notices.length > 0) {
|
|
387
|
-
outro('Lint passed with notices');
|
|
388
|
-
}
|
|
389
|
-
else {
|
|
390
|
-
outro('Lint passed');
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
|
-
/**
|
|
394
|
-
* Runs the lint command to check engine changes against patch quality rules.
|
|
395
|
-
* @param projectRoot - Root directory of the project
|
|
396
|
-
* @param files - Optional file/directory paths to lint (relative to engine/)
|
|
397
|
-
* @param options - Additional lint options such as `--since` diff-scoping
|
|
398
|
-
*/
|
|
399
|
-
export async function lintCommand(projectRoot, files, options = {}) {
|
|
400
|
-
intro('FireForge Lint');
|
|
401
|
-
validateLintFlags(options);
|
|
402
|
-
const paths = getProjectPaths(projectRoot);
|
|
403
|
-
await assertEngineGitReady(paths.engine);
|
|
404
|
-
if (options.perPatch) {
|
|
405
|
-
// Positional arguments in per-patch mode select patches through the
|
|
406
|
-
// same alias resolution as --patches. A non-matching positional fails
|
|
407
|
-
// loud against the queue listing, so an engine path can never silently
|
|
408
|
-
// lint. Explicit --patches entries come first.
|
|
409
|
-
const perPatchOptions = files.length > 0 ? { ...options, patches: [...(options.patches ?? []), ...files] } : options;
|
|
410
|
-
await lintPerPatch(projectRoot, paths, perPatchOptions);
|
|
411
|
-
return;
|
|
412
|
-
}
|
|
413
|
-
// Load the config before resolving the diff so `binaryName` can be passed
|
|
414
|
-
// into the aggregate-mode branding exclusion in `resolveLintDiff`.
|
|
415
|
-
const config = await loadConfig(projectRoot);
|
|
416
|
-
// Pull the Furnace-managed prefix set up-front so aggregate lint can
|
|
417
|
-
// mirror the branding exclusion for Furnace material. Without it,
|
|
418
|
-
// preview-generated stories under `browser/components/storybook/
|
|
419
|
-
// stories/furnace/` show up as license-header errors on every
|
|
420
|
-
// post-preview lint run.
|
|
421
|
-
const furnacePrefixes = await collectFurnaceManagedPrefixes(projectRoot);
|
|
422
|
-
const diff = await resolveLintDiff(paths.engine, files, config.binaryName, furnacePrefixes);
|
|
423
|
-
if (diff === null)
|
|
424
|
-
return;
|
|
425
|
-
const filesAffected = extractAffectedFiles(diff);
|
|
426
|
-
// Build patch queue context once so it can be shared between the
|
|
427
|
-
// per-patch ownership resolver and the cross-patch rules.
|
|
428
|
-
let ctx;
|
|
429
|
-
if (await pathExists(paths.patches)) {
|
|
430
|
-
ctx = await buildPatchQueueContext(paths.patches, config);
|
|
431
|
-
}
|
|
432
|
-
// Ad-hoc explicit-file-list mode evaluates the patch-size rules per
|
|
433
|
-
// owning patch (see `lintOwningPatchSizes`), so suppress the synthetic
|
|
434
|
-
// combined-list size check in the shared pass. Otherwise a cross-patch
|
|
435
|
-
// selection synthesises a phantom oversized patch from the file count.
|
|
436
|
-
const fileListMode = files.length > 0 && ctx !== undefined;
|
|
437
|
-
let issues = [
|
|
438
|
-
...(await lintExportedPatch(paths.engine, filesAffected, diff, config, {
|
|
439
|
-
...(ctx ? { patchQueueCtx: ctx } : {}),
|
|
440
|
-
...(fileListMode ? { skipPatchSize: true } : {}),
|
|
441
|
-
})),
|
|
442
|
-
];
|
|
443
|
-
if (files.length > 0 && ctx) {
|
|
444
|
-
issues.push(...(await lintOwningPatchSizes(paths.engine, filesAffected, ctx, config)));
|
|
445
|
-
}
|
|
446
|
-
// Cross-patch rules operate over the whole queue, so run them whenever a
|
|
447
|
-
// patches directory exists. They surface duplicate /dev/null creations
|
|
448
|
-
// and forward-import chains that the per-patch orchestrator cannot see.
|
|
449
|
-
if (ctx) {
|
|
450
|
-
issues.push(...lintPatchQueue(ctx));
|
|
451
|
-
}
|
|
452
|
-
// Honor per-patch `lintIgnore` in aggregate mode by attributing each
|
|
453
|
-
// issue's file to its owning patches via the manifest's `filesAffected`.
|
|
454
|
-
// Per-patch mode threads `lintIgnore` directly into `lintExportedPatch`.
|
|
455
|
-
// Aggregate mode has no patch-level scope to consult, so a check an
|
|
456
|
-
// operator explicitly waived in `patches.json` re-surfaces on every
|
|
457
|
-
// `--since` run (the CI default).
|
|
458
|
-
if (ctx) {
|
|
459
|
-
const result = applyAggregateLintIgnoreSuppression(issues, ctx);
|
|
460
|
-
issues = result.issues;
|
|
461
|
-
if (result.dropped > 0) {
|
|
462
|
-
info(`Suppressed ${result.dropped} issue(s) via per-patch lintIgnore (aggregate mode).`);
|
|
463
|
-
}
|
|
464
|
-
}
|
|
465
|
-
downgradeAggregateSizeRules(issues, files, ctx);
|
|
466
|
-
if (issues.length === 0) {
|
|
467
|
-
success('No lint issues found.');
|
|
468
|
-
outro('Lint passed');
|
|
469
|
-
return;
|
|
470
|
-
}
|
|
471
|
-
await reportLintOutcome(paths.engine, issues, options);
|
|
472
|
-
}
|
|
473
|
-
/** Registers the lint command on the CLI program. */
|
|
474
|
-
export function registerLint(program, { getProjectRoot, withErrorHandling }) {
|
|
475
|
-
const lint = program
|
|
476
|
-
.command('lint [paths...]')
|
|
477
|
-
.description('Lint engine changes against patch quality rules. Default: aggregate diff against HEAD ' +
|
|
478
|
-
'(every applied patch summed). Use --per-patch for per-patch scope, or pass explicit ' +
|
|
479
|
-
'file paths to narrow to those.')
|
|
480
|
-
.option('--since <git-rev>', 'Tag issues as [introduced] or [cumulative] based on whether the file changed since <git-rev> (e.g. HEAD, a branch, a SHA)')
|
|
481
|
-
.option('--only-introduced', 'Fail only on issues tagged [introduced] (requires --since). Cumulative errors still print but do not set a non-zero exit.')
|
|
482
|
-
.option('--per-patch', "Lint each patch in the queue as its own isolated diff. Rescopes patch-size rules so they fire against individual patches rather than the aggregate. Honours each patch's `lintIgnore` entries.")
|
|
483
|
-
.option('--patches <names...>', 'With --per-patch, lint only the named patches. Accepts repeated flags, comma or whitespace lists, full filenames/stems, bare order numbers, manifest names, category-prefixed slugs, or bare slugs. Positional arguments after --per-patch are treated the same way.')
|
|
484
|
-
.option('--max-warnings <n>', 'Fail when lint reports more than <n> warning(s); use 0 for warning-clean release gates.')
|
|
485
|
-
.option('--no-cache', 'Bypass per-patch lint result cache reads and writes.')
|
|
486
|
-
.option('--report <path>', 'With --per-patch, write a machine-readable JSON report (per-patch size metrics, tier, thresholds, issues, and lintIgnore-suppressed issues) to <path>.')
|
|
487
|
-
.option('--notices <mode>', 'With --per-patch: "full" (default) prints every NOTICE line; "summary" prints one line per check with its count and patch count. The full list stays in --report. Errors and warnings always print in full.')
|
|
488
|
-
.action(withErrorHandling(async (paths, options) => {
|
|
489
|
-
const lintOptions = {};
|
|
490
|
-
if (options.since !== undefined) {
|
|
491
|
-
lintOptions.since = options.since;
|
|
492
|
-
}
|
|
493
|
-
if (options.onlyIntroduced !== undefined) {
|
|
494
|
-
lintOptions.onlyIntroduced = options.onlyIntroduced;
|
|
495
|
-
}
|
|
496
|
-
if (options.perPatch !== undefined) {
|
|
497
|
-
lintOptions.perPatch = options.perPatch;
|
|
498
|
-
}
|
|
499
|
-
if (options.patches !== undefined) {
|
|
500
|
-
lintOptions.patches = options.patches;
|
|
501
|
-
}
|
|
502
|
-
if (options.maxWarnings !== undefined) {
|
|
503
|
-
const maxWarnings = Number(options.maxWarnings);
|
|
504
|
-
if (!Number.isInteger(maxWarnings) || maxWarnings < 0) {
|
|
505
|
-
throw new InvalidArgumentError('--max-warnings must be a non-negative integer.', '--max-warnings');
|
|
506
|
-
}
|
|
507
|
-
lintOptions.maxWarnings = maxWarnings;
|
|
508
|
-
}
|
|
509
|
-
if (options.cache === false) {
|
|
510
|
-
lintOptions.noCache = true;
|
|
511
|
-
}
|
|
512
|
-
if (options.report !== undefined) {
|
|
513
|
-
lintOptions.report = options.report;
|
|
514
|
-
}
|
|
515
|
-
if (options.notices !== undefined) {
|
|
516
|
-
if (options.notices !== 'summary' && options.notices !== 'full') {
|
|
517
|
-
throw new InvalidArgumentError(`--notices must be "summary" or "full" (got "${options.notices}").`, '--notices');
|
|
518
|
-
}
|
|
519
|
-
lintOptions.notices = options.notices;
|
|
520
|
-
}
|
|
521
|
-
await lintCommand(getProjectRoot(), paths, lintOptions);
|
|
522
|
-
}));
|
|
523
|
-
// This action also has subcommands; all its wait flags are accept-only.
|
|
524
|
-
addAcceptedWaitLockOption(lint);
|
|
525
|
-
const lintCache = lint
|
|
526
|
-
.command('cache')
|
|
527
|
-
.description('Manage the per-patch lint result cache')
|
|
528
|
-
// Commander routes `fireforge lint cache` here even when the operator
|
|
529
|
-
// meant to lint an engine directory literally named `cache`. A bare
|
|
530
|
-
// `lint cache` (no subcommand) would otherwise silently do nothing, so
|
|
531
|
-
// make the ambiguity explicit instead of doing the wrong operation quietly.
|
|
532
|
-
.action(withErrorHandling(() => {
|
|
533
|
-
info('Nothing to do: "lint cache" manages the lint result cache (try "lint cache clear"). ' +
|
|
534
|
-
'To lint a directory named cache/, disambiguate with a trailing slash: "fireforge lint cache/".');
|
|
535
|
-
return Promise.resolve();
|
|
536
|
-
}));
|
|
537
|
-
addAcceptedWaitLockOption(lintCache);
|
|
538
|
-
lintCache
|
|
539
|
-
.command('clear')
|
|
540
|
-
.description('Clear cached per-patch lint results')
|
|
541
|
-
.action(withErrorHandling(async () => {
|
|
542
|
-
intro('FireForge Lint Cache');
|
|
543
|
-
await clearPerPatchLintCache(getProjectRoot());
|
|
544
|
-
success('Cleared per-patch lint cache.');
|
|
545
|
-
outro('Lint cache cleared');
|
|
546
|
-
}));
|
|
547
|
-
}
|
|
2
|
+
import { arg, defineCommand, lockOptions, lockWaitMs, opt } from '../cli/command.js';
|
|
3
|
+
import { FireForgeError } from '../kernel/errors.js';
|
|
4
|
+
import { isVerbose } from '../kernel/log.js';
|
|
5
|
+
import { lintReportJson, lintVerdict, renderLintReport, runLint } from '../lint/index.js';
|
|
6
|
+
import { lintSubject, typeCacheDir, withOwnedRead } from '../mode/index.js';
|
|
7
|
+
import { loadProject } from '../project/index.js';
|
|
8
|
+
export const lint = defineCommand({
|
|
9
|
+
name: 'lint',
|
|
10
|
+
summary: 'Check the owned changes against the quality rules',
|
|
11
|
+
description: 'Runs every rule over the owned changes (patchLint, patchPolicy, checkJs) and applies the ' +
|
|
12
|
+
"groups' waivers. Errors fail the run; warnings fail it past --max-warnings.",
|
|
13
|
+
group: 'Daily',
|
|
14
|
+
args: { paths: arg.list('Engine-relative files or directories to report on') },
|
|
15
|
+
options: {
|
|
16
|
+
maxWarnings: opt.integer('Fail when more warnings than this remain', { min: 0 }),
|
|
17
|
+
perPatch: opt.flag('Patch mode: judge the stored queue patch by patch instead of what the engine holds'),
|
|
18
|
+
...lockOptions,
|
|
19
|
+
},
|
|
20
|
+
json: true,
|
|
21
|
+
run: async (ctx, { paths }, { maxWarnings, perPatch, waitLock }) => {
|
|
22
|
+
const project = await loadProject(ctx.cwd, ctx.env);
|
|
23
|
+
await withOwnedRead(project, { command: 'lint', waitMs: lockWaitMs(waitLock) }, async () => {
|
|
24
|
+
const subject = await lintSubject(project, { scope: perPatch ? 'queue' : 'engine' });
|
|
25
|
+
const report = await runLint(subject.changes, subject.engine, project.config, {
|
|
26
|
+
projectRoot: project.root,
|
|
27
|
+
sequential: subject.sequential,
|
|
28
|
+
components: subject.components,
|
|
29
|
+
paths,
|
|
30
|
+
cacheDir: typeCacheDir(project),
|
|
31
|
+
...(subject.tokens === undefined ? {} : { tokens: subject.tokens }),
|
|
32
|
+
});
|
|
33
|
+
const verdict = lintVerdict(report, maxWarnings);
|
|
34
|
+
for (const line of renderLintReport(report, verdict, isVerbose()))
|
|
35
|
+
ctx.out.line(line);
|
|
36
|
+
ctx.out.json(lintReportJson(report, verdict));
|
|
37
|
+
if (!verdict.pass) {
|
|
38
|
+
throw new FireForgeError('lint-failed', `Lint failed: ${verdict.reason ?? ''}.`, {
|
|
39
|
+
hint: 'Fix the findings listed above, or, for a reviewed exception, add the rule to the ' +
|
|
40
|
+
"group's lintIgnore.",
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
},
|
|
45
|
+
});
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
+
import { dirname, resolve } from 'node:path';
|
|
3
|
+
import { arg, defineCommand } from '../cli/command.js';
|
|
4
|
+
import { FireForgeError } from '../kernel/errors.js';
|
|
5
|
+
import { warn } from '../kernel/log.js';
|
|
6
|
+
import { pinnedPristine } from '../mode/index.js';
|
|
7
|
+
import { loadProject } from '../project/index.js';
|
|
8
|
+
import { installMergeDriver, requireSourceMode, runMergeDriver } from '../source/index.js';
|
|
9
|
+
const run = defineCommand({
|
|
10
|
+
name: 'run',
|
|
11
|
+
summary: 'Merge one owned file (git runs this)',
|
|
12
|
+
hidden: true,
|
|
13
|
+
args: {
|
|
14
|
+
base: arg.path('%O: the ancestor version'),
|
|
15
|
+
ours: arg.path('%A: our version, which receives the result'),
|
|
16
|
+
theirs: arg.path('%B: their version'),
|
|
17
|
+
path: arg.string('%P: the path being merged'),
|
|
18
|
+
label: arg.string('%S: the ancestor label', { optional: true }),
|
|
19
|
+
},
|
|
20
|
+
run: async (ctx, args) => {
|
|
21
|
+
const project = requireSourceMode(await loadProject(dirname(resolve(ctx.cwd, args.path)), ctx.env));
|
|
22
|
+
const clean = await runMergeDriver(project, () => pinnedPristine(project), {
|
|
23
|
+
base: args.base,
|
|
24
|
+
ours: args.ours,
|
|
25
|
+
theirs: args.theirs,
|
|
26
|
+
path: args.path,
|
|
27
|
+
...(args.label === undefined ? {} : { label: args.label }),
|
|
28
|
+
});
|
|
29
|
+
if (!clean) {
|
|
30
|
+
throw new FireForgeError('merge-conflict', `Conflicts left in ${args.path}.`, {
|
|
31
|
+
hint: 'Resolve the conflict markers in the file, then "git add" it.',
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
const install = defineCommand({
|
|
37
|
+
name: 'install',
|
|
38
|
+
summary: 'Configure the merge driver in this repository',
|
|
39
|
+
json: true,
|
|
40
|
+
run: async (ctx) => {
|
|
41
|
+
const project = requireSourceMode(await loadProject(ctx.cwd, ctx.env));
|
|
42
|
+
const installed = await installMergeDriver(project);
|
|
43
|
+
if (!installed.labelSupported) {
|
|
44
|
+
warn('This git does not pass the ancestor label to merge drivers (Git 2.44 or later does); ' +
|
|
45
|
+
'first touches of one upstream file will conflict as git reports them.');
|
|
46
|
+
}
|
|
47
|
+
ctx.out.line(`merge.fireforge.driver = ${installed.driver}`);
|
|
48
|
+
ctx.out.json({ ...installed });
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
export const mergeDriver = defineCommand({
|
|
52
|
+
name: 'merge-driver',
|
|
53
|
+
summary: 'Git merge driver that merges first touches of upstream files against pristine',
|
|
54
|
+
group: 'Source',
|
|
55
|
+
subcommands: [install, run],
|
|
56
|
+
});
|