@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,533 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { dirname, join } from 'node:path';
|
|
3
|
-
import { pathExists, readText } from '../utils/fs.js';
|
|
4
|
-
import { stripJsComments } from '../utils/regex.js';
|
|
5
|
-
import { containsUpstreamLicenseText, getLicenseHeader, hasAnyLicenseHeader, hasAnyLicenseHeaderAnyStyle, hasUpstreamMplBlockHeader, } from './license-headers.js';
|
|
6
|
-
import { invokePatchLintCheckJs, runCheckJsTestFilesGrouped } from './patch-lint-checkjs.js';
|
|
7
|
-
import { lintChromeScriptJsDocForFile } from './patch-lint-chrome-jsdoc.js';
|
|
8
|
-
import { countCodeLines, countRawLines } from './patch-lint-code-lines.js';
|
|
9
|
-
import { lintPatchedCss } from './patch-lint-css.js';
|
|
10
|
-
import { detectNewFilesInDiff, extractAddedLineNumbersPerFile, extractAddedLinesPerFile, } from './patch-lint-diff.js';
|
|
11
|
-
import { formatFileTooLargeMessage, resolveFileSizeThresholds } from './patch-lint-file-size.js';
|
|
12
|
-
import { partitionLintIgnoredIssues } from './patch-lint-ignore.js';
|
|
13
|
-
import { relativeImportLines } from './patch-lint-imports.js';
|
|
14
|
-
import { validateExportJsDoc } from './patch-lint-jsdoc.js';
|
|
15
|
-
import { lintMozBuildSortedLists } from './patch-lint-mozbuild.js';
|
|
16
|
-
import { lintObserverTopics } from './patch-lint-observer.js';
|
|
17
|
-
import { resolvableModulesForTests, resolvePatchOwnedChromeScripts, resolvePatchOwnedSysMjs, resolvePatchOwnedTestScripts, } from './patch-lint-ownership.js';
|
|
18
|
-
import { invokePatchLintPrettier } from './patch-lint-prettier.js';
|
|
19
|
-
import { isTestFile, lintPatchSize, measurePatchSize, } from './patch-lint-size.js';
|
|
20
|
-
// ---------------------------------------------------------------------------
|
|
21
|
-
// Cross-patch lint re-exports
|
|
22
|
-
// ---------------------------------------------------------------------------
|
|
23
|
-
//
|
|
24
|
-
// The cross-patch lint infrastructure (queue context builder,
|
|
25
|
-
// duplicate-creation and forward-import rules, ignore marker) lives in
|
|
26
|
-
// `patch-lint-cross.ts` so the per-patch and cross-patch rule bodies each
|
|
27
|
-
// stay within the per-file line budget. Its surface is re-exported here so
|
|
28
|
-
// callers keep importing from one module.
|
|
29
|
-
export * from './patch-lint-cross.js';
|
|
30
|
-
export { buildModifiedFileAdditionsFromDiff, detectNewFilesInDiff } from './patch-lint-diff.js';
|
|
31
|
-
// The CSS rule bodies live in `patch-lint-css.ts` (same per-file-budget
|
|
32
|
-
// split as the other rule families). Re-export the imported binding so
|
|
33
|
-
// callers and tests keep importing `lintPatchedCss` from this module.
|
|
34
|
-
export { lintPatchedCss };
|
|
35
|
-
// Same split for the patch-size rules and their measurement.
|
|
36
|
-
export { countNonBinaryDiffLines, getPatchSizeThresholds, isTestFile, lintPatchSize, measurePatchSize, resolvePatchSizeTier, } from './patch-lint-size.js';
|
|
37
|
-
// ---------------------------------------------------------------------------
|
|
38
|
-
// Helpers
|
|
39
|
-
// ---------------------------------------------------------------------------
|
|
40
|
-
const JS_EXTENSIONS = ['.js', '.mjs', '.jsm'];
|
|
41
|
-
/**
|
|
42
|
-
* Canonical `[check] file: message` rendering of a patch-lint issue. It is
|
|
43
|
-
* the one string shape every reporter and refusal message uses, so operators
|
|
44
|
-
* can grep one format across lint output and refusal details.
|
|
45
|
-
*/
|
|
46
|
-
export function formatPatchLintIssue(issue) {
|
|
47
|
-
return `[${issue.check}] ${issue.file}: ${issue.message}`;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Returns true if the filename looks like a JS/MJS/JSM file.
|
|
51
|
-
* Handles `.sys.mjs` as well.
|
|
52
|
-
*/
|
|
53
|
-
function isJsFile(file) {
|
|
54
|
-
return JS_EXTENSIONS.some((ext) => file.endsWith(ext));
|
|
55
|
-
}
|
|
56
|
-
/** The subset of a patch's new files that `file-too-large` measures. */
|
|
57
|
-
function measuredByFileTooLarge(newFiles) {
|
|
58
|
-
return new Set([...newFiles].filter(isJsFile));
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* The files the `file-too-large` rule measures for a patch: the JS files
|
|
62
|
-
* (`.js`, `.mjs`, `.sys.mjs`, …) the patch creates. A modified file is
|
|
63
|
-
* never measured, and neither is a new file of another kind (CSS, FTL,
|
|
64
|
-
* markup), however long. This is the rule's own predicate, not a mirror
|
|
65
|
-
* of it: the rule selects its files through the same function.
|
|
66
|
-
*
|
|
67
|
-
* @param patchText - Unified-diff body of one patch
|
|
68
|
-
* @returns Engine-relative paths the rule would size-check
|
|
69
|
-
*/
|
|
70
|
-
export function filesMeasuredByFileTooLarge(patchText) {
|
|
71
|
-
return measuredByFileTooLarge(detectNewFilesInDiff(patchText));
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* The `file-too-large` rule for one measured file, in the configured
|
|
75
|
-
* `patchLint.fileSizeMetric`. Under `"code"`, a file acorn cannot tokenize
|
|
76
|
-
* is measured in raw lines (the upper bound) and a `file-size-unparsed`
|
|
77
|
-
* notice names it, so the fallback is visible instead of silently lenient.
|
|
78
|
-
*/
|
|
79
|
-
function lintFileSize(file, content, config) {
|
|
80
|
-
const issues = [];
|
|
81
|
-
let lineCount = countRawLines(content);
|
|
82
|
-
let unit = 'lines';
|
|
83
|
-
if (config.patchLint?.fileSizeMetric === 'code') {
|
|
84
|
-
const counted = countCodeLines(content);
|
|
85
|
-
if (counted.parsed) {
|
|
86
|
-
lineCount = counted.lines;
|
|
87
|
-
unit = 'code lines';
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
issues.push({
|
|
91
|
-
file,
|
|
92
|
-
check: 'file-size-unparsed',
|
|
93
|
-
message: `Could not parse the file as a module or a script, so file-too-large counted its ` +
|
|
94
|
-
`${lineCount} raw lines (the upper bound) instead of code lines.`,
|
|
95
|
-
severity: 'notice',
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
const isTest = isTestFile(file);
|
|
100
|
-
const thresholds = resolveFileSizeThresholds(config.patchLint?.fileSizeThresholds, isTest);
|
|
101
|
-
const band = lineCount > thresholds.error
|
|
102
|
-
? 'error'
|
|
103
|
-
: lineCount > thresholds.warning
|
|
104
|
-
? 'warning'
|
|
105
|
-
: lineCount > thresholds.notice
|
|
106
|
-
? 'notice'
|
|
107
|
-
: undefined;
|
|
108
|
-
if (band !== undefined) {
|
|
109
|
-
issues.push({
|
|
110
|
-
file,
|
|
111
|
-
check: 'file-too-large',
|
|
112
|
-
message: formatFileTooLargeMessage({
|
|
113
|
-
label: isTest ? 'Test file' : 'New file',
|
|
114
|
-
lineCount,
|
|
115
|
-
unit,
|
|
116
|
-
thresholds,
|
|
117
|
-
band,
|
|
118
|
-
verb: isTest ? 'splitting' : 'decomposing',
|
|
119
|
-
}),
|
|
120
|
-
severity: band,
|
|
121
|
-
measurement: lineCount,
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
return issues;
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Narrower scope than `isTestFile`: only browser-chrome test files
|
|
128
|
-
* (`browser_*.js` under a `/test/` or `/tests/` directory). Excludes
|
|
129
|
-
* `head.js` and `head_*.js` test helpers.
|
|
130
|
-
*/
|
|
131
|
-
function isBrowserChromeTestFile(file) {
|
|
132
|
-
if (!file.endsWith('.js'))
|
|
133
|
-
return false;
|
|
134
|
-
if (!/\/(?:test|tests)\//.test(file))
|
|
135
|
-
return false;
|
|
136
|
-
const basename = file.split('/').pop() ?? '';
|
|
137
|
-
if (basename === 'head.js' || /^head_.*\.js$/.test(basename))
|
|
138
|
-
return false;
|
|
139
|
-
return basename.startsWith('browser_');
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Bare assertion-call detection for the `test-needs-assertion` floor.
|
|
143
|
-
*
|
|
144
|
-
* Each alternative must sit at a call boundary: preceded by something that
|
|
145
|
-
* is not an identifier character, `.`, `#`, or `-`. A plain
|
|
146
|
-
* `strippedContent.includes(tok)` over `Assert.`, `ok(`, `is(`, `isnot(`,
|
|
147
|
-
* `isDeeply(` lets any identifier merely *ending* in one satisfy the gate:
|
|
148
|
-
* `this.axis(3)` contains `is(`, `book(` contains `ok(`, and
|
|
149
|
-
* `promiseIsDeeply(` contains `isDeeply(`, so an assertion-free smoke test
|
|
150
|
-
* using any such call clears the floor.
|
|
151
|
-
*
|
|
152
|
-
* The namespaced arm must name a member and a call. Matching the namespace
|
|
153
|
-
* and its dot alone re-opens the same hole from the other side:
|
|
154
|
-
* `SimpleTest` is mostly *harness* API, so `SimpleTest.finish()`,
|
|
155
|
-
* `SimpleTest.waitForExplicitFinish()` and `SimpleTest.requestCompleteLog()`
|
|
156
|
-
* would each clear the floor on their own, which are the exact calls an
|
|
157
|
-
* assertion-free smoke test contains. The enumeration below is the
|
|
158
|
-
* mochitest/xpcshell assertion surface both namespaces share, and it is what
|
|
159
|
-
* the user-facing message names.
|
|
160
|
-
*
|
|
161
|
-
* Two qualified spellings of the bare four also count: `window.ok(...)` (the
|
|
162
|
-
* globals are window properties) and an optional-chained `win?.ok(...)`.
|
|
163
|
-
* Blocking those flags tests whose only assertions are real as
|
|
164
|
-
* assertion-free. `SpecialPowers.ok(` stays excluded: that is API surface,
|
|
165
|
-
* not an assertion.
|
|
166
|
-
*
|
|
167
|
-
* Textual rather than AST-based, on purpose: this runs over patch bodies
|
|
168
|
-
* rather than resolvable sources, and the surrounding rule is a floor, not
|
|
169
|
-
* a proof.
|
|
170
|
-
*/
|
|
171
|
-
const ASSERTION_MEMBERS = [
|
|
172
|
-
'ok',
|
|
173
|
-
'is',
|
|
174
|
-
'isnot',
|
|
175
|
-
'isDeeply',
|
|
176
|
-
'equal',
|
|
177
|
-
'notEqual',
|
|
178
|
-
'deepEqual',
|
|
179
|
-
'notDeepEqual',
|
|
180
|
-
'strictEqual',
|
|
181
|
-
'notStrictEqual',
|
|
182
|
-
'greater',
|
|
183
|
-
'greaterOrEqual',
|
|
184
|
-
'less',
|
|
185
|
-
'lessOrEqual',
|
|
186
|
-
'stringMatches',
|
|
187
|
-
'stringContains',
|
|
188
|
-
'throws',
|
|
189
|
-
'rejects',
|
|
190
|
-
// `todo`, `todo_is`, `todo_isnot`, `info`-free: todo* record an expected
|
|
191
|
-
// failure, which is still a recorded assertion outcome.
|
|
192
|
-
'todo',
|
|
193
|
-
'todo_is',
|
|
194
|
-
'todo_isnot',
|
|
195
|
-
].join('|');
|
|
196
|
-
const BROWSER_CHROME_ASSERTION = new RegExp(`(?<![\\w.#$-])(?:(?:Assert|SimpleTest)\\.(?:${ASSERTION_MEMBERS})\\s*\\(|(?:window\\.|[\\w$]+\\?\\.)?(?:ok|is|isnot|isDeeply)\\s*\\()`);
|
|
197
|
-
/** True when `strippedContent` contains at least one assertion call. */
|
|
198
|
-
export function hasBrowserChromeAssertion(strippedContent) {
|
|
199
|
-
return BROWSER_CHROME_ASSERTION.test(strippedContent);
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Detects comment style from file extension for license header checks.
|
|
203
|
-
*/
|
|
204
|
-
export function commentStyleForFile(file) {
|
|
205
|
-
if (file.endsWith('.css'))
|
|
206
|
-
return 'css';
|
|
207
|
-
if (file.endsWith('.ftl'))
|
|
208
|
-
return 'hash';
|
|
209
|
-
if (isJsFile(file))
|
|
210
|
-
return 'js';
|
|
211
|
-
return null;
|
|
212
|
-
}
|
|
213
|
-
// ---------------------------------------------------------------------------
|
|
214
|
-
// License header lint
|
|
215
|
-
// ---------------------------------------------------------------------------
|
|
216
|
-
/**
|
|
217
|
-
* Decides whether a new file's leading header satisfies the
|
|
218
|
-
* `missing-license-header` rule. It is the single owner of the acceptance
|
|
219
|
-
* policy: `lintNewFileHeaders` (the rule) and `autoFixLicenseHeaders` (the
|
|
220
|
-
* interactive export fixer) must agree, or the fixer offers to stack a
|
|
221
|
-
* second header onto a file the lint already accepts.
|
|
222
|
-
*
|
|
223
|
-
* Accepted shapes, in order:
|
|
224
|
-
* - the project's own header for the file's comment style.
|
|
225
|
-
* - under `browser/branding/`, any recognised license header in the
|
|
226
|
-
* matching style: the setup-generated branding directory is copied from
|
|
227
|
-
* Firefox's `unofficial` template and arrives with Mozilla MPL-2.0
|
|
228
|
-
* headers, legitimate for copyright purposes (the assets are Mozilla's)
|
|
229
|
-
* even when the fork's own code is 0BSD / EUPL-1.2 / GPL-2.0-or-later.
|
|
230
|
-
* - on an MPL-2.0 project, any recognised header in the matching style.
|
|
231
|
-
* - the verbatim upstream MPL-2.0 block header (`/* … *\/`, optionally
|
|
232
|
-
* behind a leading editor-directive comment) regardless of the project
|
|
233
|
-
* license, on any file whose comment syntax is the block form (JS and
|
|
234
|
-
* CSS): a file copied from the Firefox tree legitimately keeps Mozilla's
|
|
235
|
-
* header for provenance in an EUPL/GPL/0BSD project too. Only the block
|
|
236
|
-
* form is accepted, because the `// `-style MPL header is
|
|
237
|
-
* FireForge-generated rather than upstream provenance, and `hash`-style
|
|
238
|
-
* files (FTL) stay excluded
|
|
239
|
-
* because `/* … *\/` is not a comment there.
|
|
240
|
-
*
|
|
241
|
-
* @param file - Engine-relative path of the new file
|
|
242
|
-
* @param content - File content
|
|
243
|
-
* @param style - Comment style resolved for the file
|
|
244
|
-
* @param license - The project license
|
|
245
|
-
*/
|
|
246
|
-
export function isAcceptableNewFileHeader(file, content, style, license) {
|
|
247
|
-
if (content.startsWith(getLicenseHeader(license, style)))
|
|
248
|
-
return true;
|
|
249
|
-
if (file.startsWith('browser/branding/') && hasAnyLicenseHeader(content, style))
|
|
250
|
-
return true;
|
|
251
|
-
if (license === 'MPL-2.0' && hasAnyLicenseHeader(content, style))
|
|
252
|
-
return true;
|
|
253
|
-
if ((style === 'js' || style === 'css') && hasUpstreamMplBlockHeader(content))
|
|
254
|
-
return true;
|
|
255
|
-
return false;
|
|
256
|
-
}
|
|
257
|
-
/**
|
|
258
|
-
* Checks new files for required license headers (acceptance policy in
|
|
259
|
-
* {@link isAcceptableNewFileHeader}).
|
|
260
|
-
*
|
|
261
|
-
* @param repoDir - Absolute path to the engine directory
|
|
262
|
-
* @param newFiles - New file paths (relative to repoDir)
|
|
263
|
-
* @param config - Project configuration
|
|
264
|
-
* @returns Array of lint issues
|
|
265
|
-
*/
|
|
266
|
-
export async function lintNewFileHeaders(repoDir, newFiles, config) {
|
|
267
|
-
const license = config.license ?? 'MPL-2.0';
|
|
268
|
-
const issues = [];
|
|
269
|
-
for (const file of newFiles) {
|
|
270
|
-
const style = commentStyleForFile(file);
|
|
271
|
-
if (!style)
|
|
272
|
-
continue;
|
|
273
|
-
const filePath = join(repoDir, file);
|
|
274
|
-
if (!(await pathExists(filePath)))
|
|
275
|
-
continue;
|
|
276
|
-
const content = await readText(filePath);
|
|
277
|
-
if (isAcceptableNewFileHeader(file, content, style, license))
|
|
278
|
-
continue;
|
|
279
|
-
issues.push({
|
|
280
|
-
file,
|
|
281
|
-
check: 'missing-license-header',
|
|
282
|
-
message: `New file is missing the required ${license} license header.`,
|
|
283
|
-
severity: 'error',
|
|
284
|
-
});
|
|
285
|
-
}
|
|
286
|
-
return issues;
|
|
287
|
-
}
|
|
288
|
-
/**
|
|
289
|
-
* Lints patched JS/MJS files for import conventions, file size, JSDoc, and
|
|
290
|
-
* observer topic naming.
|
|
291
|
-
*
|
|
292
|
-
* @param repoDir - Absolute path to the engine directory
|
|
293
|
-
* @param affectedFiles - File paths (relative to repoDir)
|
|
294
|
-
* @param newFiles - Set of files that are newly created in this patch
|
|
295
|
-
* @param config - Project configuration
|
|
296
|
-
* @param scope - Optional ownership sets and patch diff; see {@link LintPatchedJsScope}
|
|
297
|
-
* @returns Array of lint issues
|
|
298
|
-
*/
|
|
299
|
-
export async function lintPatchedJs(repoDir, affectedFiles, newFiles, config, scope = {}) {
|
|
300
|
-
const { patchOwnedFiles, patchOwnedChromeScripts, diffContent } = scope;
|
|
301
|
-
const jsFiles = affectedFiles.filter(isJsFile);
|
|
302
|
-
if (jsFiles.length === 0)
|
|
303
|
-
return [];
|
|
304
|
-
const addedLineNumbersByFile = diffContent !== undefined ? extractAddedLineNumbersPerFile(diffContent) : undefined;
|
|
305
|
-
const issues = [];
|
|
306
|
-
const binaryName = config.binaryName.toLowerCase();
|
|
307
|
-
const sizeMeasured = measuredByFileTooLarge(newFiles);
|
|
308
|
-
for (const file of jsFiles) {
|
|
309
|
-
const filePath = join(repoDir, file);
|
|
310
|
-
if (!(await pathExists(filePath)))
|
|
311
|
-
continue;
|
|
312
|
-
const content = await readText(filePath);
|
|
313
|
-
const isNew = newFiles.has(file);
|
|
314
|
-
const isSysMjs = file.endsWith('.sys.mjs');
|
|
315
|
-
// 1. Relative import check: a file the patch creates is judged whole, a
|
|
316
|
-
// modified upstream file on the lines the patch adds when the diff is known.
|
|
317
|
-
const strippedContent = stripJsComments(content);
|
|
318
|
-
const importLines = relativeImportLines(content);
|
|
319
|
-
const addedLines = isNew ? undefined : addedLineNumbersByFile?.get(file);
|
|
320
|
-
const offendingImportLines = isNew || addedLineNumbersByFile === undefined
|
|
321
|
-
? importLines
|
|
322
|
-
: importLines.filter((line) => addedLines?.includes(line) === true);
|
|
323
|
-
if (offendingImportLines.length > 0) {
|
|
324
|
-
issues.push({
|
|
325
|
-
file,
|
|
326
|
-
check: 'relative-import',
|
|
327
|
-
message: `Relative imports are not allowed. Use "resource:///modules/${config.binaryName}/" for .sys.mjs or "chrome://browser/content/" for subscripts.`,
|
|
328
|
-
severity: 'error',
|
|
329
|
-
});
|
|
330
|
-
}
|
|
331
|
-
// 2. File size check (new JS files only; see filesMeasuredByFileTooLarge)
|
|
332
|
-
if (sizeMeasured.has(file)) {
|
|
333
|
-
issues.push(...lintFileSize(file, content, config));
|
|
334
|
-
}
|
|
335
|
-
// 3. JSDoc on exports (patch-owned .sys.mjs files)
|
|
336
|
-
const isOwned = patchOwnedFiles ? patchOwnedFiles.has(file) : isNew;
|
|
337
|
-
if (isOwned && isSysMjs) {
|
|
338
|
-
const classMethodMode = config.patchLint?.jsdocClassMethods;
|
|
339
|
-
const jsdocIssues = validateExportJsDoc(content, classMethodMode ? { classMethodMode } : undefined);
|
|
340
|
-
for (const jsdocIssue of jsdocIssues) {
|
|
341
|
-
issues.push({
|
|
342
|
-
file,
|
|
343
|
-
check: jsdocIssue.check,
|
|
344
|
-
message: jsdocIssue.message,
|
|
345
|
-
severity: jsdocIssue.severity ?? 'error',
|
|
346
|
-
});
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
// 3a. JSDoc on top-level declarations in patch-owned chrome subscripts.
|
|
350
|
-
// Dispatched out-of-line to keep this file under the per-file line
|
|
351
|
-
// budget. See `patch-lint-chrome-jsdoc.ts` for the rule body.
|
|
352
|
-
const isChromeOwned = file.endsWith('.js') &&
|
|
353
|
-
!isSysMjs &&
|
|
354
|
-
(patchOwnedChromeScripts ? patchOwnedChromeScripts.has(file) : isNew);
|
|
355
|
-
const chromeMode = config.patchLint?.chromeScriptJsDoc;
|
|
356
|
-
issues.push(...lintChromeScriptJsDocForFile(file, content, isChromeOwned, chromeMode));
|
|
357
|
-
// 3b. Assertion floor for browser-chrome tests touched by this patch
|
|
358
|
-
// (covers both newly introduced files and modified upstream tests:
|
|
359
|
-
// a patch that strips the last `Assert.equal` from an existing
|
|
360
|
-
// browser_*.js silently passed under the old `isNew` gate).
|
|
361
|
-
const assertionFloor = config.patchLint?.testAssertionFloor;
|
|
362
|
-
if (assertionFloor && assertionFloor !== 'off' && isBrowserChromeTestFile(file)) {
|
|
363
|
-
const hasAssertion = hasBrowserChromeAssertion(strippedContent);
|
|
364
|
-
if (!hasAssertion) {
|
|
365
|
-
issues.push({
|
|
366
|
-
file,
|
|
367
|
-
check: 'test-needs-assertion',
|
|
368
|
-
message: `Test file ${file} contains no assertions (Assert.*, ok(), is(), isnot(), isDeeply()). Smoke-only tests do not count as coverage. Add at least one assertion that pins user-visible behavior, or remove the file.`,
|
|
369
|
-
severity: assertionFloor,
|
|
370
|
-
});
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
// 4. Observer topic naming. Rule body lives in `patch-lint-observer.ts`:
|
|
374
|
-
// argument-position-aware, multi-line-safe, and allowlists Firefox-owned
|
|
375
|
-
// topics so simulated upstream notifications are not flagged.
|
|
376
|
-
issues.push(...lintObserverTopics(strippedContent, file, binaryName));
|
|
377
|
-
}
|
|
378
|
-
return issues;
|
|
379
|
-
}
|
|
380
|
-
// ---------------------------------------------------------------------------
|
|
381
|
-
// Modification comment lint
|
|
382
|
-
// ---------------------------------------------------------------------------
|
|
383
|
-
/**
|
|
384
|
-
* Checks that modifications to existing (non-new) JS/MJS files include at
|
|
385
|
-
* least one `// BINARYNAME:` comment in the added lines.
|
|
386
|
-
*
|
|
387
|
-
* @param diffContent - Raw unified diff string
|
|
388
|
-
* @param config - Project configuration
|
|
389
|
-
* @returns Array of lint issues
|
|
390
|
-
*/
|
|
391
|
-
export function lintModificationComments(diffContent, config) {
|
|
392
|
-
const newFiles = detectNewFilesInDiff(diffContent);
|
|
393
|
-
const addedLines = extractAddedLinesPerFile(diffContent);
|
|
394
|
-
const issues = [];
|
|
395
|
-
const marker = `// ${config.binaryName.toUpperCase()}:`;
|
|
396
|
-
for (const [file, lines] of addedLines) {
|
|
397
|
-
// Only check JS/MJS files that are modifications (not new files)
|
|
398
|
-
if (!isJsFile(file) || newFiles.has(file))
|
|
399
|
-
continue;
|
|
400
|
-
const hasMarker = lines.some((line) => line.toUpperCase().includes(marker.toUpperCase()));
|
|
401
|
-
if (!hasMarker && lines.length > 0) {
|
|
402
|
-
issues.push({
|
|
403
|
-
file,
|
|
404
|
-
check: 'missing-modification-comment',
|
|
405
|
-
message: `Modified upstream file lacks a "${marker}" comment marking your changes.`,
|
|
406
|
-
severity: 'warning',
|
|
407
|
-
});
|
|
408
|
-
}
|
|
409
|
-
}
|
|
410
|
-
return issues;
|
|
411
|
-
}
|
|
412
|
-
// ---------------------------------------------------------------------------
|
|
413
|
-
// Modified file header lint
|
|
414
|
-
// ---------------------------------------------------------------------------
|
|
415
|
-
/**
|
|
416
|
-
* Checks that modified (non-new) files with a supported extension still
|
|
417
|
-
* start with a recognized license header.
|
|
418
|
-
*
|
|
419
|
-
* @param repoDir - Engine root directory
|
|
420
|
-
* @param affectedFiles - All files affected by the patch
|
|
421
|
-
* @param newFiles - Set of newly created files (excluded from this check)
|
|
422
|
-
* @returns Warning-level lint issues for files missing any recognized header
|
|
423
|
-
*/
|
|
424
|
-
export async function lintModifiedFileHeaders(repoDir, affectedFiles, newFiles) {
|
|
425
|
-
const issues = [];
|
|
426
|
-
for (const file of affectedFiles) {
|
|
427
|
-
if (newFiles.has(file))
|
|
428
|
-
continue;
|
|
429
|
-
const style = commentStyleForFile(file);
|
|
430
|
-
if (!style)
|
|
431
|
-
continue;
|
|
432
|
-
const filePath = join(repoDir, file);
|
|
433
|
-
if (!(await pathExists(filePath)))
|
|
434
|
-
continue;
|
|
435
|
-
const content = await readText(filePath);
|
|
436
|
-
if (!hasAnyLicenseHeader(content, style) &&
|
|
437
|
-
!hasAnyLicenseHeaderAnyStyle(content) &&
|
|
438
|
-
!containsUpstreamLicenseText(content)) {
|
|
439
|
-
issues.push({
|
|
440
|
-
file,
|
|
441
|
-
check: 'modified-file-missing-header',
|
|
442
|
-
message: 'Modified upstream file appears to be missing a recognized license header.',
|
|
443
|
-
severity: 'warning',
|
|
444
|
-
});
|
|
445
|
-
}
|
|
446
|
-
}
|
|
447
|
-
return issues;
|
|
448
|
-
}
|
|
449
|
-
/**
|
|
450
|
-
* Runs all patch lint checks and returns combined issues.
|
|
451
|
-
*
|
|
452
|
-
* @param repoDir - Absolute path to the engine directory
|
|
453
|
-
* @param affectedFiles - File paths (relative to repoDir) affected by the patch
|
|
454
|
-
* @param diffContent - Raw unified diff string
|
|
455
|
-
* @param config - Project configuration
|
|
456
|
-
* @param options - Optional context and behaviour switches. See
|
|
457
|
-
* {@link LintExportedPatchOptions}. Every optional input lives here
|
|
458
|
-
* rather than in a positional tail: four of the five call sites had to
|
|
459
|
-
* pass `undefined` placeholders to reach the one member they wanted.
|
|
460
|
-
* @returns Array of all lint issues found
|
|
461
|
-
*/
|
|
462
|
-
export async function lintExportedPatch(repoDir, affectedFiles, diffContent, config, options) {
|
|
463
|
-
const { patchQueueCtx, ignoreChecks, patchTier } = options ?? {};
|
|
464
|
-
const newFiles = detectNewFilesInDiff(diffContent);
|
|
465
|
-
const patchOwnedFiles = resolvePatchOwnedSysMjs(newFiles, patchQueueCtx);
|
|
466
|
-
const patchOwnedChromeScripts = resolvePatchOwnedChromeScripts(newFiles, patchQueueCtx);
|
|
467
|
-
const [cssIssues, headerIssues, jsIssues, modifiedHeaderIssues, mozBuildIssues] = await Promise.all([
|
|
468
|
-
lintPatchedCss(repoDir, affectedFiles, diffContent, config),
|
|
469
|
-
lintNewFileHeaders(repoDir, [...newFiles], config),
|
|
470
|
-
lintPatchedJs(repoDir, affectedFiles, newFiles, config, {
|
|
471
|
-
patchOwnedFiles,
|
|
472
|
-
patchOwnedChromeScripts,
|
|
473
|
-
diffContent,
|
|
474
|
-
}),
|
|
475
|
-
lintModifiedFileHeaders(repoDir, affectedFiles, newFiles),
|
|
476
|
-
lintMozBuildSortedLists(repoDir, affectedFiles),
|
|
477
|
-
]);
|
|
478
|
-
const modCommentIssues = lintModificationComments(diffContent, config);
|
|
479
|
-
const sizeIssues = options?.skipPatchSize
|
|
480
|
-
? []
|
|
481
|
-
: lintPatchSize(affectedFiles, options?.patchSizeMeasurement ??
|
|
482
|
-
(await measurePatchSize(repoDir, diffContent, affectedFiles, config)), patchTier, config);
|
|
483
|
-
const issues = [
|
|
484
|
-
...sizeIssues,
|
|
485
|
-
...cssIssues,
|
|
486
|
-
...headerIssues,
|
|
487
|
-
...modifiedHeaderIssues,
|
|
488
|
-
...jsIssues,
|
|
489
|
-
...modCommentIssues,
|
|
490
|
-
...mozBuildIssues,
|
|
491
|
-
];
|
|
492
|
-
if (options?.precomputedCheckJs) {
|
|
493
|
-
// Per-patch lint built one queue-wide program and already attributed
|
|
494
|
-
// this patch's findings, so append them instead of rebuilding the program.
|
|
495
|
-
issues.push(...options.precomputedCheckJs);
|
|
496
|
-
}
|
|
497
|
-
else if (config.patchLint?.checkJs) {
|
|
498
|
-
issues.push(...(await invokePatchLintCheckJs(repoDir, patchOwnedFiles, config.patchLint, dirname(repoDir), options?.checkJsReportScope)));
|
|
499
|
-
// Export-time twin of per-patch lint's test-file pass, so
|
|
500
|
-
// export/re-export and `lint --per-patch` agree on the checked surface.
|
|
501
|
-
if (config.patchLint.checkJsTestFiles === true) {
|
|
502
|
-
const testGrouped = await runCheckJsTestFilesGrouped(repoDir, resolvePatchOwnedTestScripts(newFiles, patchQueueCtx), config.patchLint, dirname(repoDir), undefined, patchQueueCtx ? resolvableModulesForTests(patchQueueCtx) : undefined);
|
|
503
|
-
issues.push(...testGrouped.global);
|
|
504
|
-
for (const [rel, list] of testGrouped.byFile) {
|
|
505
|
-
if (options?.checkJsReportScope && !options.checkJsReportScope.has(rel))
|
|
506
|
-
continue;
|
|
507
|
-
issues.push(...list);
|
|
508
|
-
}
|
|
509
|
-
}
|
|
510
|
-
}
|
|
511
|
-
// Prettier over patch-owned .sys.mjs. Kept out of the
|
|
512
|
-
// precomputedCheckJs short-circuit on purpose: it is a separate tool with
|
|
513
|
-
// its own gate, and a queue-wide program has no equivalent to share.
|
|
514
|
-
// Scoped to the files this patch owns, run from engine/ so its own config
|
|
515
|
-
// and ignore file decide (see `patch-lint-prettier.ts`).
|
|
516
|
-
const prettierGate = config.patchLint?.prettier ?? 'off';
|
|
517
|
-
if (prettierGate !== 'off' && patchOwnedFiles.size > 0) {
|
|
518
|
-
const scoped = [...patchOwnedFiles].filter((file) => !options?.checkJsReportScope || options.checkJsReportScope.has(file));
|
|
519
|
-
issues.push(...(await invokePatchLintPrettier(repoDir, dirname(repoDir), scoped.sort(), prettierGate)));
|
|
520
|
-
}
|
|
521
|
-
// Filter out ignored checks last so every rule still runs (keeps the
|
|
522
|
-
// implementation uniform) but suppressed rules do not surface. We do not
|
|
523
|
-
// reclassify severities: an ignored error simply drops, mirroring how
|
|
524
|
-
// inline `fireforge-ignore: <check>` markers work in the CSS and
|
|
525
|
-
// forward-import rules.
|
|
526
|
-
// A ceiling entry (see `patch-lint-ignore.ts`) drops a size finding only
|
|
527
|
-
// while its measurement stays at or below the ceiling.
|
|
528
|
-
const { kept, suppressed } = partitionLintIgnoredIssues(issues, ignoreChecks);
|
|
529
|
-
if (suppressed.length > 0) {
|
|
530
|
-
options?.onSuppressed?.(suppressed);
|
|
531
|
-
}
|
|
532
|
-
return kept;
|
|
533
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Filesystem-based lock for serializing patch directory mutations.
|
|
3
|
-
*/
|
|
4
|
-
export interface PatchDirectoryLockOptions {
|
|
5
|
-
/**
|
|
6
|
-
* Wait up to this many seconds for the patch directory lock instead of the
|
|
7
|
-
* default ~30 s budget. Enables exponential poll backoff (100 ms → 2 s)
|
|
8
|
-
* and a holder-identified progress line roughly every 5 s. `undefined`
|
|
9
|
-
* keeps the default.
|
|
10
|
-
*/
|
|
11
|
-
waitLockSeconds?: number | undefined;
|
|
12
|
-
/** Command name recorded in the lock's owner metadata for holder diagnostics. */
|
|
13
|
-
command?: string | undefined;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Asserts that this process is inside {@link withPatchDirectoryLock} for the
|
|
17
|
-
* given patches directory.
|
|
18
|
-
*
|
|
19
|
-
* The manifest mutators document "under the caller's lock" and are reached
|
|
20
|
-
* from six different command bodies, none of which the mutator can see. This
|
|
21
|
-
* turns that comment into a check at the point it matters: filename
|
|
22
|
-
* allocation and manifest read-modify-writes are only atomic while the lock
|
|
23
|
-
* is held, so an unlocked caller silently reintroduces the interleaving the
|
|
24
|
-
* lock exists to prevent.
|
|
25
|
-
*
|
|
26
|
-
* Fail-open on an unreadable owner record, on purpose: `withFileLock`
|
|
27
|
-
* treats writing that record as non-fatal, so a live holder can legitimately
|
|
28
|
-
* have no readable PID and asserting on its presence would fire on a lock we
|
|
29
|
-
* really do hold.
|
|
30
|
-
*
|
|
31
|
-
* @param patchesDir - The patches directory whose lock must be held
|
|
32
|
-
* @param context - What is about to be done, for the failure message
|
|
33
|
-
* @throws {@link InternalInvariantError} when the lock is not held by us.
|
|
34
|
-
*/
|
|
35
|
-
export declare function assertPatchDirectoryLockHeld(patchesDir: string, context: string): Promise<void>;
|
|
36
|
-
/**
|
|
37
|
-
* Runs a patch directory mutation while holding an exclusive filesystem lock.
|
|
38
|
-
* This serializes filename allocation and manifest writes across parallel exports.
|
|
39
|
-
*/
|
|
40
|
-
export declare function withPatchDirectoryLock<T>(patchesDir: string, operation: () => Promise<T>, options?: PatchDirectoryLockOptions): Promise<T>;
|