@hominis/fireforge 0.54.0 → 0.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +287 -6
- package/README.md +51 -17
- package/dist/bin/fireforge.js +34 -129
- package/dist/build-info.json +4 -4
- package/dist/src/check/check.js +394 -0
- package/dist/src/check/gate.js +448 -0
- package/dist/src/check/index.js +10 -0
- package/dist/src/check/record.js +155 -0
- package/dist/src/cli/command.js +286 -0
- package/dist/src/cli/output.js +96 -0
- package/dist/src/cli/program.js +231 -0
- package/dist/src/cli/stdio.js +59 -0
- package/dist/src/cli/version.js +99 -0
- package/dist/src/commands/bootstrap.js +17 -102
- package/dist/src/commands/build.js +34 -438
- package/dist/src/commands/check.js +44 -157
- package/dist/src/commands/config.js +50 -226
- package/dist/src/commands/discard.js +38 -215
- package/dist/src/commands/doctor.js +29 -456
- package/dist/src/commands/download.js +35 -499
- package/dist/src/commands/export.js +42 -431
- package/dist/src/commands/furnace.js +220 -0
- package/dist/src/commands/gate.js +127 -0
- package/dist/src/commands/import.js +44 -445
- package/dist/src/commands/index.js +86 -0
- package/dist/src/commands/lint.js +44 -546
- package/dist/src/commands/merge-driver.js +56 -0
- package/dist/src/commands/migrate.js +75 -0
- package/dist/src/commands/override.js +43 -0
- package/dist/src/commands/package.js +48 -77
- package/dist/src/commands/patch.js +221 -0
- package/dist/src/commands/re-export.js +55 -332
- package/dist/src/commands/rebase.js +69 -0
- package/dist/src/commands/register.js +62 -103
- package/dist/src/commands/reset.js +28 -91
- package/dist/src/commands/resolve.js +20 -167
- package/dist/src/commands/restore.js +19 -0
- package/dist/src/commands/run.js +60 -420
- package/dist/src/commands/setup.js +78 -90
- package/dist/src/commands/status.js +44 -413
- package/dist/src/commands/test.js +97 -422
- package/dist/src/commands/token.js +185 -228
- package/dist/src/commands/typecheck.js +59 -208
- package/dist/src/commands/verify.js +28 -334
- package/dist/src/commands/version.js +14 -0
- package/dist/src/commands/watch.js +20 -218
- package/dist/src/commands/wire.js +60 -349
- package/dist/src/commands/workspace.js +117 -0
- package/dist/src/config/edit.js +237 -0
- package/dist/src/config/index.js +15 -0
- package/dist/src/config/load.js +59 -0
- package/dist/src/config/previous.js +404 -0
- package/dist/src/config/schema/build.js +63 -0
- package/dist/src/config/schema/check.js +113 -0
- package/dist/src/config/schema/common.js +71 -0
- package/dist/src/config/schema/export-queue.js +36 -0
- package/dist/src/config/schema/firefox.js +69 -0
- package/dist/src/config/schema/gate.js +199 -0
- package/dist/src/config/schema/identity.js +55 -0
- package/dist/src/config/schema/index.js +45 -0
- package/dist/src/config/schema/lint.js +297 -0
- package/dist/src/config/schema/policy.js +111 -0
- package/dist/src/config/schema/source.js +90 -0
- package/dist/src/config/schema/test.js +17 -0
- package/dist/src/config/schema/toolchains.js +17 -0
- package/dist/src/config/schema/typecheck.js +29 -0
- package/dist/src/config/schema/wire.js +15 -0
- package/dist/src/diff/apply.js +129 -0
- package/dist/src/diff/index.js +16 -0
- package/dist/src/diff/model.js +267 -0
- package/dist/src/diff/query.js +65 -0
- package/dist/src/doctor/index.js +240 -0
- package/dist/src/engine/archive.js +396 -0
- package/dist/src/engine/audit.js +66 -0
- package/dist/src/engine/build.js +150 -0
- package/dist/src/engine/hostLocks.js +66 -0
- package/dist/src/engine/index.js +26 -0
- package/dist/src/engine/installManifests.js +147 -0
- package/dist/src/engine/mach.js +97 -0
- package/dist/src/engine/machHints.js +80 -0
- package/dist/src/engine/mozconfig.js +110 -0
- package/dist/src/engine/objdir.js +124 -0
- package/dist/src/engine/package.js +169 -0
- package/dist/src/engine/pin.js +12 -0
- package/dist/src/engine/pool.js +423 -0
- package/dist/src/engine/pristine.js +281 -0
- package/dist/src/engine/python.js +68 -0
- package/dist/src/engine/resourceGuard.js +582 -0
- package/dist/src/engine/run.js +259 -0
- package/dist/src/engine/smoke.js +204 -0
- package/dist/src/engine/staleness.js +229 -0
- package/dist/src/engine/watch.js +82 -0
- package/dist/src/engine/workspace.js +85 -0
- package/dist/src/furnace/config.js +360 -0
- package/dist/src/furnace/deploy.js +414 -0
- package/dist/src/furnace/diff.js +59 -0
- package/dist/src/furnace/edit.js +64 -0
- package/dist/src/furnace/fragments.js +53 -0
- package/dist/src/furnace/index.js +19 -0
- package/dist/src/furnace/operations.js +283 -0
- package/dist/src/furnace/registration.js +220 -0
- package/dist/src/furnace/scaffold.js +311 -0
- package/dist/src/furnace/typing.js +252 -0
- package/dist/src/furnace/validate.js +662 -0
- package/dist/src/git/apply.js +129 -0
- package/dist/src/git/diff.js +143 -0
- package/dist/src/git/index.js +33 -0
- package/dist/src/git/objects.js +201 -0
- package/dist/src/git/refs.js +85 -0
- package/dist/src/git/repo.js +222 -0
- package/dist/src/git/run.js +242 -0
- package/dist/src/git/status.js +156 -0
- package/dist/src/kernel/errors.js +123 -0
- package/dist/src/kernel/fs.js +515 -0
- package/dist/src/kernel/glob.js +63 -0
- package/dist/src/kernel/hash.js +28 -0
- package/dist/src/kernel/journal.js +524 -0
- package/dist/src/kernel/json-edit.js +198 -0
- package/dist/src/kernel/json.js +101 -0
- package/dist/src/kernel/lock.js +589 -0
- package/dist/src/kernel/log.js +154 -0
- package/dist/src/kernel/process/identity.js +313 -0
- package/dist/src/kernel/process/index.js +8 -0
- package/dist/src/kernel/process/listing.js +128 -0
- package/dist/src/kernel/process/spawn.js +430 -0
- package/dist/src/kernel/process/tree.js +301 -0
- package/dist/src/kernel/schema.js +308 -0
- package/dist/src/kernel/signals.js +171 -0
- package/dist/src/kernel/text.js +151 -0
- package/dist/src/kernel/time.js +83 -0
- package/dist/src/kernel/tty.js +84 -0
- package/dist/src/lint/cache.js +77 -0
- package/dist/src/lint/checkjs.js +400 -0
- package/dist/src/lint/index.js +3 -0
- package/dist/src/lint/input.js +100 -0
- package/dist/src/lint/report.js +107 -0
- package/dist/src/lint/rule.js +41 -0
- package/dist/src/lint/rules/css.js +308 -0
- package/dist/src/lint/rules/javascript.js +299 -0
- package/dist/src/lint/rules/jsdoc.js +249 -0
- package/dist/src/lint/rules/license.js +93 -0
- package/dist/src/lint/rules/policy.js +201 -0
- package/dist/src/lint/rules/registration.js +264 -0
- package/dist/src/lint/rules/size.js +299 -0
- package/dist/src/lint/run.js +126 -0
- package/dist/src/lint/shim.js +323 -0
- package/dist/src/lint/typescript.js +186 -0
- package/dist/src/lint/waivers.js +93 -0
- package/dist/src/mode/changes.js +264 -0
- package/dist/src/mode/diagnose.js +173 -0
- package/dist/src/mode/export.js +147 -0
- package/dist/src/mode/index.js +23 -0
- package/dist/src/mode/migrate.js +181 -0
- package/dist/src/mode/previousWaivers.js +206 -0
- package/dist/src/mode/pristine.js +61 -0
- package/dist/src/mode/rebase.js +197 -0
- package/dist/src/mode/report.js +157 -0
- package/dist/src/mode/setup.js +103 -0
- package/dist/src/mode/tracked.js +116 -0
- package/dist/src/mode/upgrade.js +281 -0
- package/dist/src/mode/watch.js +83 -0
- package/dist/src/mode/workspace.js +189 -0
- package/dist/src/mozbuild/index.js +6 -0
- package/dist/src/mozbuild/jar.js +366 -0
- package/dist/src/mozbuild/mozbuild.js +321 -0
- package/dist/src/mozbuild/paths.js +96 -0
- package/dist/src/mozbuild/references.js +39 -0
- package/dist/src/mozbuild/testManifest.js +343 -0
- package/dist/src/mozbuild/text.js +142 -0
- package/dist/src/project/changes.js +145 -0
- package/dist/src/project/checkout.js +66 -0
- package/dist/src/project/index.js +11 -0
- package/dist/src/project/license.js +119 -0
- package/dist/src/project/project.js +111 -0
- package/dist/src/project/state.js +85 -0
- package/dist/src/project/tracked.js +1 -0
- package/dist/src/queue/apply.js +270 -0
- package/dist/src/queue/attribute.js +159 -0
- package/dist/src/queue/baseline.js +409 -0
- package/dist/src/queue/capture.js +298 -0
- package/dist/src/queue/changes.js +234 -0
- package/dist/src/queue/index.js +50 -0
- package/dist/src/queue/manifest.js +341 -0
- package/dist/src/queue/operations.js +454 -0
- package/dist/src/queue/placement.js +220 -0
- package/dist/src/queue/queue.js +359 -0
- package/dist/src/queue/restore.js +103 -0
- package/dist/src/queue/session.js +685 -0
- package/dist/src/queue/status.js +137 -0
- package/dist/src/register/files.js +39 -0
- package/dist/src/register/index.js +8 -0
- package/dist/src/register/js.js +217 -0
- package/dist/src/register/register.js +359 -0
- package/dist/src/register/wire.js +146 -0
- package/dist/src/source/adopt.js +99 -0
- package/dist/src/source/changes.js +132 -0
- package/dist/src/source/edit.js +278 -0
- package/dist/src/source/export.js +70 -0
- package/dist/src/source/groups.js +131 -0
- package/dist/src/source/index.js +20 -0
- package/dist/src/source/materialize.js +382 -0
- package/dist/src/source/merge.js +255 -0
- package/dist/src/source/objects.js +102 -0
- package/dist/src/source/previous.js +166 -0
- package/dist/src/source/records.js +138 -0
- package/dist/src/source/refresh.js +264 -0
- package/dist/src/source/tree.js +337 -0
- package/dist/src/syntax/css.js +215 -0
- package/dist/src/syntax/fragments.js +63 -0
- package/dist/src/syntax/index.js +10 -0
- package/dist/src/syntax/js.js +270 -0
- package/dist/src/test/classify.js +826 -0
- package/dist/src/test/control.js +236 -0
- package/dist/src/test/host.js +266 -0
- package/dist/src/test/index.js +11 -0
- package/dist/src/test/plan.js +347 -0
- package/dist/src/test/rawLog.js +138 -0
- package/dist/src/test/run.js +404 -0
- package/dist/src/test/verdict.js +420 -0
- package/dist/src/test/xpcshell.js +143 -0
- package/dist/src/tokens/add.js +304 -0
- package/dist/src/tokens/coverage.js +65 -0
- package/dist/src/tokens/css.js +58 -0
- package/dist/src/tokens/index.js +12 -0
- package/dist/src/tokens/lint.js +96 -0
- package/dist/src/tokens/model.js +118 -0
- package/dist/src/tokens/settings.js +87 -0
- package/dist/src/tokens/siblings.js +104 -0
- package/dist/src/typecheck/explain.js +123 -0
- package/dist/src/typecheck/index.js +8 -0
- package/dist/src/typecheck/typecheck.js +332 -0
- package/docs/README.md +23 -28
- package/docs/authoring.md +97 -0
- package/docs/configuration.md +307 -692
- package/docs/exit-codes.md +76 -94
- package/docs/furnace.md +113 -181
- package/docs/gate.md +205 -0
- package/docs/getting-started.md +165 -0
- package/docs/machine-output.md +201 -277
- package/docs/migrating.md +261 -0
- package/docs/patch-workflow.md +163 -653
- package/docs/quality.md +220 -0
- package/docs/source-workflow.md +228 -0
- package/docs/testing.md +101 -712
- package/docs/workspaces.md +187 -0
- package/package.json +22 -30
- package/templates/configs/common.mozconfig +8 -2
- package/templates/configs/darwin.mozconfig +6 -7
- package/templates/configs/linux.mozconfig +5 -8
- package/templates/configs/win32.mozconfig +3 -9
- package/dist/bin/fireforge.d.ts +0 -9
- package/dist/src/cli-usage-error.d.ts +0 -46
- package/dist/src/cli-usage-error.js +0 -81
- package/dist/src/cli.d.ts +0 -41
- package/dist/src/cli.js +0 -380
- package/dist/src/commands/bootstrap-checks.d.ts +0 -16
- package/dist/src/commands/bootstrap-checks.js +0 -66
- package/dist/src/commands/bootstrap.d.ts +0 -10
- package/dist/src/commands/build-prelock.d.ts +0 -20
- package/dist/src/commands/build-prelock.js +0 -50
- package/dist/src/commands/build.d.ts +0 -13
- package/dist/src/commands/check-report.d.ts +0 -41
- package/dist/src/commands/check-report.js +0 -91
- package/dist/src/commands/check-run.d.ts +0 -33
- package/dist/src/commands/check-run.js +0 -112
- package/dist/src/commands/check-steps.d.ts +0 -75
- package/dist/src/commands/check-steps.js +0 -200
- package/dist/src/commands/check.d.ts +0 -32
- package/dist/src/commands/config.d.ts +0 -13
- package/dist/src/commands/declarations-report.d.ts +0 -49
- package/dist/src/commands/declarations-report.js +0 -83
- package/dist/src/commands/destructive-decision.d.ts +0 -19
- package/dist/src/commands/destructive-decision.js +0 -31
- package/dist/src/commands/discard.d.ts +0 -12
- package/dist/src/commands/doctor-check-core.d.ts +0 -110
- package/dist/src/commands/doctor-check-core.js +0 -24
- package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
- package/dist/src/commands/doctor-engine-eslint.js +0 -17
- package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
- package/dist/src/commands/doctor-external-toolchains.js +0 -56
- package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
- package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
- package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
- package/dist/src/commands/doctor-furnace-jar.js +0 -44
- package/dist/src/commands/doctor-furnace.d.ts +0 -8
- package/dist/src/commands/doctor-furnace.js +0 -514
- package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
- package/dist/src/commands/doctor-macos-sdk.js +0 -158
- package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
- package/dist/src/commands/doctor-orphaned-harness.js +0 -98
- package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
- package/dist/src/commands/doctor-patch-manifest.js +0 -156
- package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
- package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
- package/dist/src/commands/doctor-source-pin.d.ts +0 -29
- package/dist/src/commands/doctor-source-pin.js +0 -91
- package/dist/src/commands/doctor-working-tree.d.ts +0 -27
- package/dist/src/commands/doctor-working-tree.js +0 -89
- package/dist/src/commands/doctor.d.ts +0 -49
- package/dist/src/commands/download.d.ts +0 -11
- package/dist/src/commands/export-adopt-check.d.ts +0 -37
- package/dist/src/commands/export-adopt-check.js +0 -97
- package/dist/src/commands/export-all.d.ts +0 -11
- package/dist/src/commands/export-all.js +0 -361
- package/dist/src/commands/export-flow.d.ts +0 -124
- package/dist/src/commands/export-flow.js +0 -423
- package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
- package/dist/src/commands/export-placement-conflicts.js +0 -75
- package/dist/src/commands/export-placement-gate.d.ts +0 -42
- package/dist/src/commands/export-placement-gate.js +0 -107
- package/dist/src/commands/export-placement-policy.d.ts +0 -22
- package/dist/src/commands/export-placement-policy.js +0 -54
- package/dist/src/commands/export-shared.d.ts +0 -152
- package/dist/src/commands/export-shared.js +0 -396
- package/dist/src/commands/export-staged-registration.d.ts +0 -46
- package/dist/src/commands/export-staged-registration.js +0 -91
- package/dist/src/commands/export.d.ts +0 -13
- package/dist/src/commands/forward-import-remedy.d.ts +0 -31
- package/dist/src/commands/forward-import-remedy.js +0 -62
- package/dist/src/commands/furnace/apply.d.ts +0 -8
- package/dist/src/commands/furnace/apply.js +0 -327
- package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
- package/dist/src/commands/furnace/authoring-config.js +0 -19
- package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
- package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
- package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
- package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
- package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
- package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
- package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
- package/dist/src/commands/furnace/chrome-doc.js +0 -365
- package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
- package/dist/src/commands/furnace/create-browser-test.js +0 -179
- package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
- package/dist/src/commands/furnace/create-dry-run.js +0 -107
- package/dist/src/commands/furnace/create-features.d.ts +0 -24
- package/dist/src/commands/furnace/create-features.js +0 -55
- package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
- package/dist/src/commands/furnace/create-mochikit.js +0 -75
- package/dist/src/commands/furnace/create-readback.d.ts +0 -22
- package/dist/src/commands/furnace/create-readback.js +0 -32
- package/dist/src/commands/furnace/create-templates.d.ts +0 -119
- package/dist/src/commands/furnace/create-templates.js +0 -283
- package/dist/src/commands/furnace/create-validation.d.ts +0 -6
- package/dist/src/commands/furnace/create-validation.js +0 -59
- package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
- package/dist/src/commands/furnace/create-xpcshell.js +0 -80
- package/dist/src/commands/furnace/create.d.ts +0 -24
- package/dist/src/commands/furnace/create.js +0 -407
- package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
- package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
- package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
- package/dist/src/commands/furnace/deploy-named.js +0 -107
- package/dist/src/commands/furnace/deploy.d.ts +0 -9
- package/dist/src/commands/furnace/deploy.js +0 -218
- package/dist/src/commands/furnace/diff.d.ts +0 -11
- package/dist/src/commands/furnace/diff.js +0 -238
- package/dist/src/commands/furnace/index.d.ts +0 -4
- package/dist/src/commands/furnace/index.js +0 -282
- package/dist/src/commands/furnace/init.d.ts +0 -11
- package/dist/src/commands/furnace/init.js +0 -287
- package/dist/src/commands/furnace/list.d.ts +0 -8
- package/dist/src/commands/furnace/list.js +0 -104
- package/dist/src/commands/furnace/override.d.ts +0 -16
- package/dist/src/commands/furnace/override.js +0 -454
- package/dist/src/commands/furnace/preview.d.ts +0 -19
- package/dist/src/commands/furnace/preview.js +0 -349
- package/dist/src/commands/furnace/refresh.d.ts +0 -10
- package/dist/src/commands/furnace/refresh.js +0 -303
- package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
- package/dist/src/commands/furnace/remove-mutations.js +0 -168
- package/dist/src/commands/furnace/remove-state.d.ts +0 -20
- package/dist/src/commands/furnace/remove-state.js +0 -60
- package/dist/src/commands/furnace/remove.d.ts +0 -8
- package/dist/src/commands/furnace/remove.js +0 -415
- package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
- package/dist/src/commands/furnace/rename-browser-test.js +0 -68
- package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
- package/dist/src/commands/furnace/rename-dry-run.js +0 -127
- package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
- package/dist/src/commands/furnace/rename-helpers.js +0 -85
- package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
- package/dist/src/commands/furnace/rename-registrations.js +0 -98
- package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
- package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
- package/dist/src/commands/furnace/rename.d.ts +0 -6
- package/dist/src/commands/furnace/rename.js +0 -400
- package/dist/src/commands/furnace/scan.d.ts +0 -14
- package/dist/src/commands/furnace/scan.js +0 -192
- package/dist/src/commands/furnace/status.d.ts +0 -7
- package/dist/src/commands/furnace/status.js +0 -209
- package/dist/src/commands/furnace/sync.d.ts +0 -12
- package/dist/src/commands/furnace/sync.js +0 -145
- package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
- package/dist/src/commands/furnace/test-file-name.js +0 -39
- package/dist/src/commands/furnace/validate-report.d.ts +0 -45
- package/dist/src/commands/furnace/validate-report.js +0 -91
- package/dist/src/commands/furnace/validate.d.ts +0 -8
- package/dist/src/commands/furnace/validate.js +0 -309
- package/dist/src/commands/furnace/validation-output.d.ts +0 -47
- package/dist/src/commands/furnace/validation-output.js +0 -161
- package/dist/src/commands/import.d.ts +0 -11
- package/dist/src/commands/lint-per-patch.d.ts +0 -10
- package/dist/src/commands/lint-per-patch.js +0 -428
- package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
- package/dist/src/commands/lint-per-run-checkjs.js +0 -102
- package/dist/src/commands/lint-report.d.ts +0 -25
- package/dist/src/commands/lint-report.js +0 -76
- package/dist/src/commands/lint.d.ts +0 -47
- package/dist/src/commands/manifest.d.ts +0 -38
- package/dist/src/commands/manifest.js +0 -68
- package/dist/src/commands/package.d.ts +0 -11
- package/dist/src/commands/park.d.ts +0 -22
- package/dist/src/commands/park.js +0 -232
- package/dist/src/commands/patch/compact.d.ts +0 -28
- package/dist/src/commands/patch/compact.js +0 -208
- package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
- package/dist/src/commands/patch/delete-gap-notice.js +0 -48
- package/dist/src/commands/patch/delete.d.ts +0 -28
- package/dist/src/commands/patch/delete.js +0 -131
- package/dist/src/commands/patch/entry-projection.d.ts +0 -13
- package/dist/src/commands/patch/entry-projection.js +0 -24
- package/dist/src/commands/patch/index.d.ts +0 -16
- package/dist/src/commands/patch/index.js +0 -52
- package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
- package/dist/src/commands/patch/lint-ignore-from.js +0 -141
- package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
- package/dist/src/commands/patch/lint-ignore.js +0 -261
- package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
- package/dist/src/commands/patch/move-files-adopt.js +0 -65
- package/dist/src/commands/patch/move-files-create.d.ts +0 -19
- package/dist/src/commands/patch/move-files-create.js +0 -187
- package/dist/src/commands/patch/move-files-into.d.ts +0 -65
- package/dist/src/commands/patch/move-files-into.js +0 -325
- package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
- package/dist/src/commands/patch/move-files-retire.js +0 -91
- package/dist/src/commands/patch/move-files.d.ts +0 -28
- package/dist/src/commands/patch/move-files.js +0 -224
- package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
- package/dist/src/commands/patch/move-size-tier.js +0 -66
- package/dist/src/commands/patch/patch-context.d.ts +0 -40
- package/dist/src/commands/patch/patch-context.js +0 -51
- package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
- package/dist/src/commands/patch/removal-created-files.js +0 -83
- package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
- package/dist/src/commands/patch/removal-dependents.js +0 -133
- package/dist/src/commands/patch/rename.d.ts +0 -35
- package/dist/src/commands/patch/rename.js +0 -378
- package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
- package/dist/src/commands/patch/reorder-projection.js +0 -49
- package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
- package/dist/src/commands/patch/reorder-shift.js +0 -307
- package/dist/src/commands/patch/reorder.d.ts +0 -34
- package/dist/src/commands/patch/reorder.js +0 -375
- package/dist/src/commands/patch/reserve.d.ts +0 -33
- package/dist/src/commands/patch/reserve.js +0 -152
- package/dist/src/commands/patch/retire.d.ts +0 -34
- package/dist/src/commands/patch/retire.js +0 -133
- package/dist/src/commands/patch/split-plan.d.ts +0 -125
- package/dist/src/commands/patch/split-plan.js +0 -313
- package/dist/src/commands/patch/split-staged.d.ts +0 -108
- package/dist/src/commands/patch/split-staged.js +0 -202
- package/dist/src/commands/patch/split.d.ts +0 -43
- package/dist/src/commands/patch/split.js +0 -367
- package/dist/src/commands/patch/stage.d.ts +0 -34
- package/dist/src/commands/patch/stage.js +0 -153
- package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
- package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
- package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
- package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
- package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
- package/dist/src/commands/patch/staged-dependency-from.js +0 -114
- package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
- package/dist/src/commands/patch/staged-dependency-remove.js +0 -117
- package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -15
- package/dist/src/commands/patch/staged-dependency-validate.js +0 -49
- package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
- package/dist/src/commands/patch/staged-dependency.js +0 -248
- package/dist/src/commands/patch/tier.d.ts +0 -34
- package/dist/src/commands/patch/tier.js +0 -125
- package/dist/src/commands/patch-rename-map.d.ts +0 -30
- package/dist/src/commands/patch-rename-map.js +0 -54
- package/dist/src/commands/pending-resolution.d.ts +0 -15
- package/dist/src/commands/pending-resolution.js +0 -25
- package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
- package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
- package/dist/src/commands/re-export-adjacent.d.ts +0 -111
- package/dist/src/commands/re-export-adjacent.js +0 -267
- package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
- package/dist/src/commands/re-export-bulk-scan.js +0 -233
- package/dist/src/commands/re-export-drift.d.ts +0 -110
- package/dist/src/commands/re-export-drift.js +0 -358
- package/dist/src/commands/re-export-files.d.ts +0 -15
- package/dist/src/commands/re-export-files.js +0 -307
- package/dist/src/commands/re-export-hunks.d.ts +0 -35
- package/dist/src/commands/re-export-hunks.js +0 -220
- package/dist/src/commands/re-export-lint.d.ts +0 -137
- package/dist/src/commands/re-export-lint.js +0 -303
- package/dist/src/commands/re-export-options.d.ts +0 -29
- package/dist/src/commands/re-export-options.js +0 -191
- package/dist/src/commands/re-export-preflight.d.ts +0 -23
- package/dist/src/commands/re-export-preflight.js +0 -159
- package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
- package/dist/src/commands/re-export-purity-scope.js +0 -137
- package/dist/src/commands/re-export-register.d.ts +0 -12
- package/dist/src/commands/re-export-register.js +0 -99
- package/dist/src/commands/re-export-removed.d.ts +0 -15
- package/dist/src/commands/re-export-removed.js +0 -94
- package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
- package/dist/src/commands/re-export-retired-declarations.js +0 -113
- package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
- package/dist/src/commands/re-export-scan-owner.js +0 -116
- package/dist/src/commands/re-export-scan.d.ts +0 -72
- package/dist/src/commands/re-export-scan.js +0 -265
- package/dist/src/commands/re-export-single.d.ts +0 -39
- package/dist/src/commands/re-export-single.js +0 -388
- package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
- package/dist/src/commands/re-export-stale-registrations.js +0 -106
- package/dist/src/commands/re-export-summary.d.ts +0 -28
- package/dist/src/commands/re-export-summary.js +0 -36
- package/dist/src/commands/re-export.d.ts +0 -8
- package/dist/src/commands/rebase/abort.d.ts +0 -7
- package/dist/src/commands/rebase/abort.js +0 -67
- package/dist/src/commands/rebase/confirm.d.ts +0 -42
- package/dist/src/commands/rebase/confirm.js +0 -36
- package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
- package/dist/src/commands/rebase/conflict-summary.js +0 -37
- package/dist/src/commands/rebase/continue.d.ts +0 -7
- package/dist/src/commands/rebase/continue.js +0 -119
- package/dist/src/commands/rebase/index.d.ts +0 -22
- package/dist/src/commands/rebase/index.js +0 -209
- package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
- package/dist/src/commands/rebase/patch-loop.js +0 -289
- package/dist/src/commands/rebase/summary.d.ts +0 -8
- package/dist/src/commands/rebase/summary.js +0 -47
- package/dist/src/commands/register.d.ts +0 -13
- package/dist/src/commands/reset.d.ts +0 -11
- package/dist/src/commands/resolve.d.ts +0 -36
- package/dist/src/commands/run.d.ts +0 -10
- package/dist/src/commands/setup-support.d.ts +0 -35
- package/dist/src/commands/setup-support.js +0 -386
- package/dist/src/commands/setup.d.ts +0 -11
- package/dist/src/commands/source.d.ts +0 -9
- package/dist/src/commands/source.js +0 -120
- package/dist/src/commands/status-check.d.ts +0 -87
- package/dist/src/commands/status-check.js +0 -161
- package/dist/src/commands/status-json.d.ts +0 -45
- package/dist/src/commands/status-json.js +0 -97
- package/dist/src/commands/status-output.d.ts +0 -23
- package/dist/src/commands/status-output.js +0 -231
- package/dist/src/commands/status-ownership.d.ts +0 -54
- package/dist/src/commands/status-ownership.js +0 -59
- package/dist/src/commands/status-scope.d.ts +0 -37
- package/dist/src/commands/status-scope.js +0 -54
- package/dist/src/commands/status.d.ts +0 -11
- package/dist/src/commands/test-appdir.d.ts +0 -6
- package/dist/src/commands/test-appdir.js +0 -29
- package/dist/src/commands/test-browser-preflight.d.ts +0 -28
- package/dist/src/commands/test-browser-preflight.js +0 -197
- package/dist/src/commands/test-build-furnace.d.ts +0 -21
- package/dist/src/commands/test-build-furnace.js +0 -53
- package/dist/src/commands/test-build-phase.d.ts +0 -29
- package/dist/src/commands/test-build-phase.js +0 -290
- package/dist/src/commands/test-checkjs.d.ts +0 -3
- package/dist/src/commands/test-checkjs.js +0 -35
- package/dist/src/commands/test-control-restore.d.ts +0 -40
- package/dist/src/commands/test-control-restore.js +0 -86
- package/dist/src/commands/test-diagnose.d.ts +0 -23
- package/dist/src/commands/test-diagnose.js +0 -317
- package/dist/src/commands/test-dispatch.d.ts +0 -39
- package/dist/src/commands/test-dispatch.js +0 -281
- package/dist/src/commands/test-furnace-reach.d.ts +0 -37
- package/dist/src/commands/test-furnace-reach.js +0 -132
- package/dist/src/commands/test-harness-env.d.ts +0 -23
- package/dist/src/commands/test-harness-env.js +0 -81
- package/dist/src/commands/test-harness-teardown.d.ts +0 -62
- package/dist/src/commands/test-harness-teardown.js +0 -128
- package/dist/src/commands/test-modes.d.ts +0 -57
- package/dist/src/commands/test-modes.js +0 -158
- package/dist/src/commands/test-multi-verdict.d.ts +0 -61
- package/dist/src/commands/test-multi-verdict.js +0 -112
- package/dist/src/commands/test-orchestrate.d.ts +0 -63
- package/dist/src/commands/test-orchestrate.js +0 -274
- package/dist/src/commands/test-perf-scope.d.ts +0 -50
- package/dist/src/commands/test-perf-scope.js +0 -138
- package/dist/src/commands/test-prelock.d.ts +0 -61
- package/dist/src/commands/test-prelock.js +0 -301
- package/dist/src/commands/test-register.d.ts +0 -4
- package/dist/src/commands/test-register.js +0 -181
- package/dist/src/commands/test-results.d.ts +0 -71
- package/dist/src/commands/test-results.js +0 -79
- package/dist/src/commands/test-run.d.ts +0 -89
- package/dist/src/commands/test-run.js +0 -251
- package/dist/src/commands/test-shards.d.ts +0 -114
- package/dist/src/commands/test-shards.js +0 -272
- package/dist/src/commands/test-stale-gate.d.ts +0 -52
- package/dist/src/commands/test-stale-gate.js +0 -165
- package/dist/src/commands/test-verdict.d.ts +0 -92
- package/dist/src/commands/test-verdict.js +0 -162
- package/dist/src/commands/test.d.ts +0 -22
- package/dist/src/commands/token-coverage.d.ts +0 -5
- package/dist/src/commands/token-coverage.js +0 -170
- package/dist/src/commands/token-lint.d.ts +0 -14
- package/dist/src/commands/token-lint.js +0 -151
- package/dist/src/commands/token-list.d.ts +0 -26
- package/dist/src/commands/token-list.js +0 -153
- package/dist/src/commands/token.d.ts +0 -14
- package/dist/src/commands/tree.d.ts +0 -19
- package/dist/src/commands/tree.js +0 -341
- package/dist/src/commands/typecheck.d.ts +0 -56
- package/dist/src/commands/verify-scope.d.ts +0 -28
- package/dist/src/commands/verify-scope.js +0 -67
- package/dist/src/commands/verify.d.ts +0 -58
- package/dist/src/commands/watch.d.ts +0 -9
- package/dist/src/commands/wire.d.ts +0 -13
- package/dist/src/core/ast-utils.d.ts +0 -73
- package/dist/src/core/ast-utils.js +0 -105
- package/dist/src/core/brand-validation.d.ts +0 -7
- package/dist/src/core/brand-validation.js +0 -14
- package/dist/src/core/branding.d.ts +0 -86
- package/dist/src/core/branding.js +0 -371
- package/dist/src/core/browser-wire.d.ts +0 -48
- package/dist/src/core/browser-wire.js +0 -133
- package/dist/src/core/build-audit-platform.d.ts +0 -67
- package/dist/src/core/build-audit-platform.js +0 -373
- package/dist/src/core/build-audit-registration.d.ts +0 -80
- package/dist/src/core/build-audit-registration.js +0 -181
- package/dist/src/core/build-audit-resolve.d.ts +0 -78
- package/dist/src/core/build-audit-resolve.js +0 -240
- package/dist/src/core/build-audit-skip.d.ts +0 -57
- package/dist/src/core/build-audit-skip.js +0 -112
- package/dist/src/core/build-audit-transforms.d.ts +0 -23
- package/dist/src/core/build-audit-transforms.js +0 -92
- package/dist/src/core/build-audit.d.ts +0 -93
- package/dist/src/core/build-audit.js +0 -633
- package/dist/src/core/build-baseline-types.d.ts +0 -225
- package/dist/src/core/build-baseline-types.js +0 -10
- package/dist/src/core/build-baseline-validate.d.ts +0 -32
- package/dist/src/core/build-baseline-validate.js +0 -173
- package/dist/src/core/build-baseline.d.ts +0 -103
- package/dist/src/core/build-baseline.js +0 -261
- package/dist/src/core/build-jar-escalation.d.ts +0 -61
- package/dist/src/core/build-jar-escalation.js +0 -125
- package/dist/src/core/build-overwrite-guard.d.ts +0 -92
- package/dist/src/core/build-overwrite-guard.js +0 -235
- package/dist/src/core/build-prepare.d.ts +0 -83
- package/dist/src/core/build-prepare.js +0 -414
- package/dist/src/core/build-run-record.d.ts +0 -74
- package/dist/src/core/build-run-record.js +0 -136
- package/dist/src/core/checkjs-support-heads.d.ts +0 -41
- package/dist/src/core/checkjs-support-heads.js +0 -104
- package/dist/src/core/component-source-guard.d.ts +0 -20
- package/dist/src/core/component-source-guard.js +0 -68
- package/dist/src/core/config-mutate.d.ts +0 -16
- package/dist/src/core/config-mutate.js +0 -76
- package/dist/src/core/config-paths.d.ts +0 -16
- package/dist/src/core/config-paths.js +0 -106
- package/dist/src/core/config-state.d.ts +0 -16
- package/dist/src/core/config-state.js +0 -141
- package/dist/src/core/config-validate-build-audit.d.ts +0 -8
- package/dist/src/core/config-validate-build-audit.js +0 -80
- package/dist/src/core/config-validate-check.d.ts +0 -8
- package/dist/src/core/config-validate-check.js +0 -219
- package/dist/src/core/config-validate-file-size.d.ts +0 -15
- package/dist/src/core/config-validate-file-size.js +0 -154
- package/dist/src/core/config-validate-history.d.ts +0 -11
- package/dist/src/core/config-validate-history.js +0 -38
- package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
- package/dist/src/core/config-validate-patch-policy.js +0 -274
- package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
- package/dist/src/core/config-validate-test-toolchains.js +0 -133
- package/dist/src/core/config-validate-token-scales.d.ts +0 -9
- package/dist/src/core/config-validate-token-scales.js +0 -92
- package/dist/src/core/config-validate.d.ts +0 -11
- package/dist/src/core/config-validate.js +0 -503
- package/dist/src/core/config.d.ts +0 -92
- package/dist/src/core/config.js +0 -169
- package/dist/src/core/coverage-dispatch.d.ts +0 -24
- package/dist/src/core/coverage-dispatch.js +0 -44
- package/dist/src/core/coverage-extend.d.ts +0 -89
- package/dist/src/core/coverage-extend.js +0 -239
- package/dist/src/core/coverage-records.d.ts +0 -107
- package/dist/src/core/coverage-records.js +0 -383
- package/dist/src/core/destructive.d.ts +0 -144
- package/dist/src/core/destructive.js +0 -182
- package/dist/src/core/diff-hunks.d.ts +0 -73
- package/dist/src/core/diff-hunks.js +0 -286
- package/dist/src/core/discard-baseline.d.ts +0 -60
- package/dist/src/core/discard-baseline.js +0 -247
- package/dist/src/core/display-state.d.ts +0 -50
- package/dist/src/core/display-state.js +0 -87
- package/dist/src/core/engine-changes.d.ts +0 -40
- package/dist/src/core/engine-changes.js +0 -95
- package/dist/src/core/engine-precondition.d.ts +0 -42
- package/dist/src/core/engine-precondition.js +0 -60
- package/dist/src/core/engine-session-lock.d.ts +0 -119
- package/dist/src/core/engine-session-lock.js +0 -374
- package/dist/src/core/engine-write-boundary.d.ts +0 -5
- package/dist/src/core/engine-write-boundary.js +0 -41
- package/dist/src/core/export-moved-code-shape.d.ts +0 -98
- package/dist/src/core/export-moved-code-shape.js +0 -220
- package/dist/src/core/file-lock-owner.d.ts +0 -103
- package/dist/src/core/file-lock-owner.js +0 -259
- package/dist/src/core/file-lock-queue.d.ts +0 -67
- package/dist/src/core/file-lock-queue.js +0 -219
- package/dist/src/core/file-lock-shared.d.ts +0 -57
- package/dist/src/core/file-lock-shared.js +0 -117
- package/dist/src/core/file-lock.d.ts +0 -143
- package/dist/src/core/file-lock.js +0 -531
- package/dist/src/core/firefox-archive.d.ts +0 -45
- package/dist/src/core/firefox-archive.js +0 -96
- package/dist/src/core/firefox-cache.d.ts +0 -30
- package/dist/src/core/firefox-cache.js +0 -248
- package/dist/src/core/firefox-download.d.ts +0 -30
- package/dist/src/core/firefox-download.js +0 -152
- package/dist/src/core/firefox-extract.d.ts +0 -42
- package/dist/src/core/firefox-extract.js +0 -248
- package/dist/src/core/firefox-ignorefile.d.ts +0 -17
- package/dist/src/core/firefox-ignorefile.js +0 -30
- package/dist/src/core/firefox.d.ts +0 -66
- package/dist/src/core/firefox.js +0 -121
- package/dist/src/core/forward-registrations.d.ts +0 -33
- package/dist/src/core/forward-registrations.js +0 -16
- package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
- package/dist/src/core/furnace-apply-dry-run.js +0 -99
- package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
- package/dist/src/core/furnace-apply-ftl.js +0 -210
- package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
- package/dist/src/core/furnace-apply-helpers.js +0 -436
- package/dist/src/core/furnace-apply-output.d.ts +0 -36
- package/dist/src/core/furnace-apply-output.js +0 -111
- package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -62
- package/dist/src/core/furnace-apply-overwrite-warn.js +0 -124
- package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
- package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
- package/dist/src/core/furnace-apply.d.ts +0 -49
- package/dist/src/core/furnace-apply.js +0 -465
- package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
- package/dist/src/core/furnace-checksum-utils.js +0 -54
- package/dist/src/core/furnace-composed-source.d.ts +0 -76
- package/dist/src/core/furnace-composed-source.js +0 -167
- package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
- package/dist/src/core/furnace-config-array-utils.js +0 -26
- package/dist/src/core/furnace-config-custom.d.ts +0 -15
- package/dist/src/core/furnace-config-custom.js +0 -73
- package/dist/src/core/furnace-config-order.d.ts +0 -8
- package/dist/src/core/furnace-config-order.js +0 -90
- package/dist/src/core/furnace-config-tokens.d.ts +0 -17
- package/dist/src/core/furnace-config-tokens.js +0 -42
- package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
- package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
- package/dist/src/core/furnace-config-validate.d.ts +0 -32
- package/dist/src/core/furnace-config-validate.js +0 -146
- package/dist/src/core/furnace-config.d.ts +0 -139
- package/dist/src/core/furnace-config.js +0 -511
- package/dist/src/core/furnace-constants.d.ts +0 -79
- package/dist/src/core/furnace-constants.js +0 -123
- package/dist/src/core/furnace-css-fragments.d.ts +0 -96
- package/dist/src/core/furnace-css-fragments.js +0 -279
- package/dist/src/core/furnace-dir-entry.d.ts +0 -20
- package/dist/src/core/furnace-dir-entry.js +0 -21
- package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
- package/dist/src/core/furnace-fragment-includers.js +0 -122
- package/dist/src/core/furnace-graph-utils.d.ts +0 -11
- package/dist/src/core/furnace-graph-utils.js +0 -93
- package/dist/src/core/furnace-jsconfig.d.ts +0 -61
- package/dist/src/core/furnace-jsconfig.js +0 -208
- package/dist/src/core/furnace-marker.d.ts +0 -15
- package/dist/src/core/furnace-marker.js +0 -21
- package/dist/src/core/furnace-operation.d.ts +0 -195
- package/dist/src/core/furnace-operation.js +0 -444
- package/dist/src/core/furnace-precondition.d.ts +0 -61
- package/dist/src/core/furnace-precondition.js +0 -67
- package/dist/src/core/furnace-refresh.d.ts +0 -28
- package/dist/src/core/furnace-refresh.js +0 -125
- package/dist/src/core/furnace-registration-ast.d.ts +0 -53
- package/dist/src/core/furnace-registration-ast.js +0 -402
- package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
- package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
- package/dist/src/core/furnace-registration-remove.d.ts +0 -56
- package/dist/src/core/furnace-registration-remove.js +0 -260
- package/dist/src/core/furnace-registration-rename.d.ts +0 -26
- package/dist/src/core/furnace-registration-rename.js +0 -77
- package/dist/src/core/furnace-registration-validate.d.ts +0 -53
- package/dist/src/core/furnace-registration-validate.js +0 -110
- package/dist/src/core/furnace-registration.d.ts +0 -112
- package/dist/src/core/furnace-registration.js +0 -348
- package/dist/src/core/furnace-rollback.d.ts +0 -48
- package/dist/src/core/furnace-rollback.js +0 -170
- package/dist/src/core/furnace-scanner.d.ts +0 -47
- package/dist/src/core/furnace-scanner.js +0 -236
- package/dist/src/core/furnace-stale-export.d.ts +0 -60
- package/dist/src/core/furnace-stale-export.js +0 -125
- package/dist/src/core/furnace-staleness.d.ts +0 -24
- package/dist/src/core/furnace-staleness.js +0 -67
- package/dist/src/core/furnace-state-persist.d.ts +0 -68
- package/dist/src/core/furnace-state-persist.js +0 -116
- package/dist/src/core/furnace-step-errors.d.ts +0 -23
- package/dist/src/core/furnace-step-errors.js +0 -25
- package/dist/src/core/furnace-stories.d.ts +0 -37
- package/dist/src/core/furnace-stories.js +0 -186
- package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
- package/dist/src/core/furnace-validate-accessibility.js +0 -417
- package/dist/src/core/furnace-validate-checks.d.ts +0 -4
- package/dist/src/core/furnace-validate-checks.js +0 -6
- package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
- package/dist/src/core/furnace-validate-compatibility.js +0 -295
- package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
- package/dist/src/core/furnace-validate-exceptions.js +0 -98
- package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
- package/dist/src/core/furnace-validate-helpers.js +0 -4
- package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
- package/dist/src/core/furnace-validate-icon-button.js +0 -78
- package/dist/src/core/furnace-validate-registration.d.ts +0 -67
- package/dist/src/core/furnace-validate-registration.js +0 -487
- package/dist/src/core/furnace-validate-structure.d.ts +0 -22
- package/dist/src/core/furnace-validate-structure.js +0 -122
- package/dist/src/core/furnace-validate.d.ts +0 -41
- package/dist/src/core/furnace-validate.js +0 -302
- package/dist/src/core/furnace-version-drift.d.ts +0 -57
- package/dist/src/core/furnace-version-drift.js +0 -102
- package/dist/src/core/gecko-dom-types.d.ts +0 -2
- package/dist/src/core/gecko-dom-types.js +0 -17
- package/dist/src/core/git-base.d.ts +0 -101
- package/dist/src/core/git-base.js +0 -162
- package/dist/src/core/git-diff-new-file.d.ts +0 -40
- package/dist/src/core/git-diff-new-file.js +0 -118
- package/dist/src/core/git-diff.d.ts +0 -82
- package/dist/src/core/git-diff.js +0 -539
- package/dist/src/core/git-file-ops.d.ts +0 -108
- package/dist/src/core/git-file-ops.js +0 -280
- package/dist/src/core/git-readonly-index.d.ts +0 -91
- package/dist/src/core/git-readonly-index.js +0 -177
- package/dist/src/core/git-status.d.ts +0 -84
- package/dist/src/core/git-status.js +0 -208
- package/dist/src/core/git.d.ts +0 -114
- package/dist/src/core/git.js +0 -540
- package/dist/src/core/harness-helper-pids.d.ts +0 -98
- package/dist/src/core/harness-helper-pids.js +0 -240
- package/dist/src/core/harness-orphans.d.ts +0 -118
- package/dist/src/core/harness-orphans.js +0 -268
- package/dist/src/core/harness-port-fallback.d.ts +0 -60
- package/dist/src/core/harness-port-fallback.js +0 -96
- package/dist/src/core/harness-port-reservation.d.ts +0 -60
- package/dist/src/core/harness-port-reservation.js +0 -122
- package/dist/src/core/history-log-file.d.ts +0 -61
- package/dist/src/core/history-log-file.js +0 -164
- package/dist/src/core/history-log.d.ts +0 -20
- package/dist/src/core/history-log.js +0 -30
- package/dist/src/core/json-preserving-edit.d.ts +0 -22
- package/dist/src/core/json-preserving-edit.js +0 -199
- package/dist/src/core/launchable-build.d.ts +0 -39
- package/dist/src/core/launchable-build.js +0 -85
- package/dist/src/core/license-headers.d.ts +0 -103
- package/dist/src/core/license-headers.js +0 -318
- package/dist/src/core/line-prefixer.d.ts +0 -18
- package/dist/src/core/line-prefixer.js +0 -34
- package/dist/src/core/lit-template-regions.d.ts +0 -4
- package/dist/src/core/lit-template-regions.js +0 -50
- package/dist/src/core/mach-build-artifacts.d.ts +0 -176
- package/dist/src/core/mach-build-artifacts.js +0 -436
- package/dist/src/core/mach-error-hints.d.ts +0 -24
- package/dist/src/core/mach-error-hints.js +0 -135
- package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
- package/dist/src/core/mach-known-noise-filter.js +0 -257
- package/dist/src/core/mach-mozconfig.d.ts +0 -57
- package/dist/src/core/mach-mozconfig.js +0 -166
- package/dist/src/core/mach-python.d.ts +0 -19
- package/dist/src/core/mach-python.js +0 -131
- package/dist/src/core/mach-resource-shim.d.ts +0 -107
- package/dist/src/core/mach-resource-shim.js +0 -640
- package/dist/src/core/mach.d.ts +0 -284
- package/dist/src/core/mach.js +0 -445
- package/dist/src/core/marionette-port.d.ts +0 -153
- package/dist/src/core/marionette-port.js +0 -474
- package/dist/src/core/marionette-preflight.d.ts +0 -58
- package/dist/src/core/marionette-preflight.js +0 -332
- package/dist/src/core/markdown-table.d.ts +0 -104
- package/dist/src/core/markdown-table.js +0 -265
- package/dist/src/core/mochitest-server-port.d.ts +0 -81
- package/dist/src/core/mochitest-server-port.js +0 -175
- package/dist/src/core/module-resolution-preflight.d.ts +0 -65
- package/dist/src/core/module-resolution-preflight.js +0 -171
- package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
- package/dist/src/core/moz-manifest-helpers.js +0 -163
- package/dist/src/core/moz-manifest-register.d.ts +0 -19
- package/dist/src/core/moz-manifest-register.js +0 -51
- package/dist/src/core/moz-manifest-rules.d.ts +0 -58
- package/dist/src/core/moz-manifest-rules.js +0 -264
- package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
- package/dist/src/core/moz-manifest-tokenizers.js +0 -108
- package/dist/src/core/negative-control-compiled.d.ts +0 -46
- package/dist/src/core/negative-control-compiled.js +0 -109
- package/dist/src/core/negative-control-diff.d.ts +0 -51
- package/dist/src/core/negative-control-diff.js +0 -204
- package/dist/src/core/negative-control.d.ts +0 -150
- package/dist/src/core/negative-control.js +0 -399
- package/dist/src/core/objdir-install-manifests.d.ts +0 -73
- package/dist/src/core/objdir-install-manifests.js +0 -226
- package/dist/src/core/objdir-maintenance.d.ts +0 -10
- package/dist/src/core/objdir-maintenance.js +0 -167
- package/dist/src/core/ownership-table.d.ts +0 -53
- package/dist/src/core/ownership-table.js +0 -159
- package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
- package/dist/src/core/parent-exit-watchdog.js +0 -69
- package/dist/src/core/park-store.d.ts +0 -63
- package/dist/src/core/park-store.js +0 -216
- package/dist/src/core/parser-fallback.d.ts +0 -50
- package/dist/src/core/parser-fallback.js +0 -61
- package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
- package/dist/src/core/patch-apply-fuzz.js +0 -125
- package/dist/src/core/patch-apply.d.ts +0 -88
- package/dist/src/core/patch-apply.js +0 -435
- package/dist/src/core/patch-export-coverage.d.ts +0 -49
- package/dist/src/core/patch-export-coverage.js +0 -73
- package/dist/src/core/patch-export-metadata.d.ts +0 -46
- package/dist/src/core/patch-export-metadata.js +0 -47
- package/dist/src/core/patch-export-update.d.ts +0 -55
- package/dist/src/core/patch-export-update.js +0 -95
- package/dist/src/core/patch-export.d.ts +0 -175
- package/dist/src/core/patch-export.js +0 -312
- package/dist/src/core/patch-files.d.ts +0 -17
- package/dist/src/core/patch-files.js +0 -59
- package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
- package/dist/src/core/patch-identifier-suggest.js +0 -135
- package/dist/src/core/patch-lint-binary.d.ts +0 -45
- package/dist/src/core/patch-lint-binary.js +0 -39
- package/dist/src/core/patch-lint-cache.d.ts +0 -78
- package/dist/src/core/patch-lint-cache.js +0 -233
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -39
- package/dist/src/core/patch-lint-checkjs-any-import.js +0 -63
- package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
- package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
- package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
- package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
- package/dist/src/core/patch-lint-checkjs.d.ts +0 -180
- package/dist/src/core/patch-lint-checkjs.js +0 -611
- package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
- package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
- package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
- package/dist/src/core/patch-lint-code-lines.js +0 -105
- package/dist/src/core/patch-lint-creators.d.ts +0 -26
- package/dist/src/core/patch-lint-creators.js +0 -45
- package/dist/src/core/patch-lint-cross.d.ts +0 -232
- package/dist/src/core/patch-lint-cross.js +0 -590
- package/dist/src/core/patch-lint-css.d.ts +0 -27
- package/dist/src/core/patch-lint-css.js +0 -228
- package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
- package/dist/src/core/patch-lint-diff-tag.js +0 -105
- package/dist/src/core/patch-lint-diff.d.ts +0 -42
- package/dist/src/core/patch-lint-diff.js +0 -100
- package/dist/src/core/patch-lint-file-size.d.ts +0 -57
- package/dist/src/core/patch-lint-file-size.js +0 -62
- package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
- package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
- package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
- package/dist/src/core/patch-lint-forward-registration.js +0 -266
- package/dist/src/core/patch-lint-ignore.d.ts +0 -196
- package/dist/src/core/patch-lint-ignore.js +0 -429
- package/dist/src/core/patch-lint-imports.d.ts +0 -5
- package/dist/src/core/patch-lint-imports.js +0 -67
- package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
- package/dist/src/core/patch-lint-jsdoc.js +0 -471
- package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
- package/dist/src/core/patch-lint-module-registration.js +0 -97
- package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
- package/dist/src/core/patch-lint-mozbuild.js +0 -192
- package/dist/src/core/patch-lint-observer.d.ts +0 -37
- package/dist/src/core/patch-lint-observer.js +0 -167
- package/dist/src/core/patch-lint-ownership.d.ts +0 -74
- package/dist/src/core/patch-lint-ownership.js +0 -125
- package/dist/src/core/patch-lint-prettier.d.ts +0 -34
- package/dist/src/core/patch-lint-prettier.js +0 -124
- package/dist/src/core/patch-lint-projection.d.ts +0 -25
- package/dist/src/core/patch-lint-projection.js +0 -43
- package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
- package/dist/src/core/patch-lint-queue-types.js +0 -12
- package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
- package/dist/src/core/patch-lint-size-thresholds.js +0 -110
- package/dist/src/core/patch-lint-size.d.ts +0 -117
- package/dist/src/core/patch-lint-size.js +0 -331
- package/dist/src/core/patch-lint-staged-registration.d.ts +0 -78
- package/dist/src/core/patch-lint-staged-registration.js +0 -110
- package/dist/src/core/patch-lint-token-scale.d.ts +0 -57
- package/dist/src/core/patch-lint-token-scale.js +0 -286
- package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
- package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
- package/dist/src/core/patch-lint.d.ts +0 -191
- package/dist/src/core/patch-lint.js +0 -529
- package/dist/src/core/patch-lock.d.ts +0 -40
- package/dist/src/core/patch-lock.js +0 -129
- package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
- package/dist/src/core/patch-manifest-consistency.js +0 -256
- package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
- package/dist/src/core/patch-manifest-files-affected.js +0 -77
- package/dist/src/core/patch-manifest-io.d.ts +0 -199
- package/dist/src/core/patch-manifest-io.js +0 -556
- package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
- package/dist/src/core/patch-manifest-key-order.js +0 -60
- package/dist/src/core/patch-manifest-query.d.ts +0 -55
- package/dist/src/core/patch-manifest-query.js +0 -139
- package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
- package/dist/src/core/patch-manifest-resolve.js +0 -35
- package/dist/src/core/patch-manifest-stage.d.ts +0 -46
- package/dist/src/core/patch-manifest-stage.js +0 -96
- package/dist/src/core/patch-manifest-validate.d.ts +0 -20
- package/dist/src/core/patch-manifest-validate.js +0 -240
- package/dist/src/core/patch-manifest.d.ts +0 -12
- package/dist/src/core/patch-manifest.js +0 -13
- package/dist/src/core/patch-order-legal.d.ts +0 -26
- package/dist/src/core/patch-order-legal.js +0 -88
- package/dist/src/core/patch-parse.d.ts +0 -161
- package/dist/src/core/patch-parse.js +0 -347
- package/dist/src/core/patch-policy-content.d.ts +0 -40
- package/dist/src/core/patch-policy-content.js +0 -216
- package/dist/src/core/patch-policy.d.ts +0 -80
- package/dist/src/core/patch-policy.js +0 -394
- package/dist/src/core/patch-registration-refs.d.ts +0 -41
- package/dist/src/core/patch-registration-refs.js +0 -107
- package/dist/src/core/patch-retired.d.ts +0 -57
- package/dist/src/core/patch-retired.js +0 -92
- package/dist/src/core/patch-source-metadata.d.ts +0 -6
- package/dist/src/core/patch-source-metadata.js +0 -12
- package/dist/src/core/patch-subset.d.ts +0 -18
- package/dist/src/core/patch-subset.js +0 -67
- package/dist/src/core/patch-transform.d.ts +0 -61
- package/dist/src/core/patch-transform.js +0 -198
- package/dist/src/core/preflight-wait.d.ts +0 -22
- package/dist/src/core/preflight-wait.js +0 -62
- package/dist/src/core/process-cpu-time.d.ts +0 -12
- package/dist/src/core/process-cpu-time.js +0 -52
- package/dist/src/core/process-owner.d.ts +0 -9
- package/dist/src/core/process-owner.js +0 -43
- package/dist/src/core/rebase-dry-run.d.ts +0 -48
- package/dist/src/core/rebase-dry-run.js +0 -105
- package/dist/src/core/rebase-from-version.d.ts +0 -46
- package/dist/src/core/rebase-from-version.js +0 -71
- package/dist/src/core/rebase-session.d.ts +0 -100
- package/dist/src/core/rebase-session.js +0 -174
- package/dist/src/core/register-browser-content.d.ts +0 -11
- package/dist/src/core/register-browser-content.js +0 -52
- package/dist/src/core/register-browser-test.d.ts +0 -18
- package/dist/src/core/register-browser-test.js +0 -66
- package/dist/src/core/register-module.d.ts +0 -11
- package/dist/src/core/register-module.js +0 -56
- package/dist/src/core/register-result.d.ts +0 -30
- package/dist/src/core/register-result.js +0 -8
- package/dist/src/core/register-scaffold.d.ts +0 -55
- package/dist/src/core/register-scaffold.js +0 -146
- package/dist/src/core/register-shared-css.d.ts +0 -36
- package/dist/src/core/register-shared-css.js +0 -112
- package/dist/src/core/register-xpcshell-test.d.ts +0 -50
- package/dist/src/core/register-xpcshell-test.js +0 -143
- package/dist/src/core/run-log-redact.d.ts +0 -38
- package/dist/src/core/run-log-redact.js +0 -69
- package/dist/src/core/run-log.d.ts +0 -97
- package/dist/src/core/run-log.js +0 -334
- package/dist/src/core/run-profile.d.ts +0 -57
- package/dist/src/core/run-profile.js +0 -137
- package/dist/src/core/shared-ftl.d.ts +0 -28
- package/dist/src/core/shared-ftl.js +0 -49
- package/dist/src/core/signal-critical.d.ts +0 -38
- package/dist/src/core/signal-critical.js +0 -62
- package/dist/src/core/smoke-patterns.d.ts +0 -81
- package/dist/src/core/smoke-patterns.js +0 -176
- package/dist/src/core/state-file.d.ts +0 -60
- package/dist/src/core/state-file.js +0 -71
- package/dist/src/core/status-binary.d.ts +0 -62
- package/dist/src/core/status-binary.js +0 -133
- package/dist/src/core/status-classify.d.ts +0 -96
- package/dist/src/core/status-classify.js +0 -244
- package/dist/src/core/test-changed-prefs.d.ts +0 -30
- package/dist/src/core/test-changed-prefs.js +0 -93
- package/dist/src/core/test-harness-crash.d.ts +0 -251
- package/dist/src/core/test-harness-crash.js +0 -780
- package/dist/src/core/test-harness-infra.d.ts +0 -32
- package/dist/src/core/test-harness-infra.js +0 -69
- package/dist/src/core/test-harness-output.d.ts +0 -45
- package/dist/src/core/test-harness-output.js +0 -119
- package/dist/src/core/test-harness-signature.d.ts +0 -57
- package/dist/src/core/test-harness-signature.js +0 -35
- package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
- package/dist/src/core/test-harness-verdict-notes.js +0 -48
- package/dist/src/core/test-host-state.d.ts +0 -14
- package/dist/src/core/test-host-state.js +0 -80
- package/dist/src/core/test-path-scope.d.ts +0 -59
- package/dist/src/core/test-path-scope.js +0 -147
- package/dist/src/core/test-profile-files.d.ts +0 -17
- package/dist/src/core/test-profile-files.js +0 -75
- package/dist/src/core/test-raw-log.d.ts +0 -66
- package/dist/src/core/test-raw-log.js +0 -122
- package/dist/src/core/test-run-completeness.d.ts +0 -97
- package/dist/src/core/test-run-completeness.js +0 -191
- package/dist/src/core/test-stale-check.d.ts +0 -213
- package/dist/src/core/test-stale-check.js +0 -396
- package/dist/src/core/test-stale-exempt.d.ts +0 -40
- package/dist/src/core/test-stale-exempt.js +0 -70
- package/dist/src/core/test-stale-symlink.d.ts +0 -12
- package/dist/src/core/test-stale-symlink.js +0 -39
- package/dist/src/core/test-stall-triage.d.ts +0 -51
- package/dist/src/core/test-stall-triage.js +0 -142
- package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
- package/dist/src/core/test-xpcshell-retry.js +0 -31
- package/dist/src/core/token-category.d.ts +0 -54
- package/dist/src/core/token-category.js +0 -299
- package/dist/src/core/token-coverage.d.ts +0 -12
- package/dist/src/core/token-coverage.js +0 -96
- package/dist/src/core/token-dark-mode.d.ts +0 -64
- package/dist/src/core/token-dark-mode.js +0 -186
- package/dist/src/core/token-docs.d.ts +0 -34
- package/dist/src/core/token-docs.js +0 -102
- package/dist/src/core/token-inventory.d.ts +0 -56
- package/dist/src/core/token-inventory.js +0 -114
- package/dist/src/core/token-lint.d.ts +0 -53
- package/dist/src/core/token-lint.js +0 -131
- package/dist/src/core/token-manager.d.ts +0 -87
- package/dist/src/core/token-manager.js +0 -407
- package/dist/src/core/token-scaffold.d.ts +0 -36
- package/dist/src/core/token-scaffold.js +0 -73
- package/dist/src/core/token-sibling-sheets.d.ts +0 -46
- package/dist/src/core/token-sibling-sheets.js +0 -119
- package/dist/src/core/token-variant.d.ts +0 -90
- package/dist/src/core/token-variant.js +0 -327
- package/dist/src/core/toolchain-preflight.d.ts +0 -90
- package/dist/src/core/toolchain-preflight.js +0 -251
- package/dist/src/core/tree-cow.d.ts +0 -16
- package/dist/src/core/tree-cow.js +0 -71
- package/dist/src/core/tree-guard.d.ts +0 -35
- package/dist/src/core/tree-guard.js +0 -194
- package/dist/src/core/tree-store.d.ts +0 -143
- package/dist/src/core/tree-store.js +0 -478
- package/dist/src/core/typecheck-shim.d.ts +0 -90
- package/dist/src/core/typecheck-shim.js +0 -507
- package/dist/src/core/typecheck.d.ts +0 -75
- package/dist/src/core/typecheck.js +0 -433
- package/dist/src/core/wire-destroy.d.ts +0 -25
- package/dist/src/core/wire-destroy.js +0 -126
- package/dist/src/core/wire-dom-fragment.d.ts +0 -44
- package/dist/src/core/wire-dom-fragment.js +0 -139
- package/dist/src/core/wire-init.d.ts +0 -28
- package/dist/src/core/wire-init.js +0 -219
- package/dist/src/core/wire-subscript.d.ts +0 -23
- package/dist/src/core/wire-subscript.js +0 -145
- package/dist/src/core/wire-utils.d.ts +0 -149
- package/dist/src/core/wire-utils.js +0 -338
- package/dist/src/core/xpcshell-appdir.d.ts +0 -157
- package/dist/src/core/xpcshell-appdir.js +0 -299
- package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
- package/dist/src/core/xpcshell-profile-dir.js +0 -45
- package/dist/src/errors/base.d.ts +0 -217
- package/dist/src/errors/base.js +0 -279
- package/dist/src/errors/build.d.ts +0 -92
- package/dist/src/errors/build.js +0 -166
- package/dist/src/errors/codes.d.ts +0 -74
- package/dist/src/errors/codes.js +0 -74
- package/dist/src/errors/config.d.ts +0 -17
- package/dist/src/errors/config.js +0 -39
- package/dist/src/errors/download.d.ts +0 -66
- package/dist/src/errors/download.js +0 -160
- package/dist/src/errors/furnace.d.ts +0 -20
- package/dist/src/errors/furnace.js +0 -28
- package/dist/src/errors/git.d.ts +0 -65
- package/dist/src/errors/git.js +0 -140
- package/dist/src/errors/patch.d.ts +0 -27
- package/dist/src/errors/patch.js +0 -52
- package/dist/src/errors/rebase.d.ts +0 -42
- package/dist/src/errors/rebase.js +0 -71
- package/dist/src/errors/run.d.ts +0 -16
- package/dist/src/errors/run.js +0 -22
- package/dist/src/index.d.ts +0 -42
- package/dist/src/index.js +0 -32
- package/dist/src/types/cli.d.ts +0 -14
- package/dist/src/types/commands/index.d.ts +0 -6
- package/dist/src/types/commands/index.js +0 -5
- package/dist/src/types/commands/options.d.ts +0 -1367
- package/dist/src/types/commands/options.js +0 -5
- package/dist/src/types/commands/patches.d.ts +0 -352
- package/dist/src/types/commands/patches.js +0 -5
- package/dist/src/types/commands/project.d.ts +0 -51
- package/dist/src/types/commands/project.js +0 -5
- package/dist/src/types/config.d.ts +0 -703
- package/dist/src/types/config.js +0 -15
- package/dist/src/types/furnace.d.ts +0 -415
- package/dist/src/types/furnace.js +0 -26
- package/dist/src/types/index.d.ts +0 -5
- package/dist/src/types/index.js +0 -5
- package/dist/src/types/json.d.ts +0 -22
- package/dist/src/types/json.js +0 -11
- package/dist/src/types/typecheck.d.ts +0 -51
- package/dist/src/types/typecheck.js +0 -14
- package/dist/src/utils/assert.d.ts +0 -34
- package/dist/src/utils/assert.js +0 -61
- package/dist/src/utils/build-info.d.ts +0 -30
- package/dist/src/utils/build-info.js +0 -99
- package/dist/src/utils/child-env.d.ts +0 -28
- package/dist/src/utils/child-env.js +0 -27
- package/dist/src/utils/concurrency.d.ts +0 -8
- package/dist/src/utils/concurrency.js +0 -32
- package/dist/src/utils/elapsed.d.ts +0 -2
- package/dist/src/utils/elapsed.js +0 -23
- package/dist/src/utils/errors.d.ts +0 -39
- package/dist/src/utils/errors.js +0 -67
- package/dist/src/utils/fs.d.ts +0 -113
- package/dist/src/utils/fs.js +0 -337
- package/dist/src/utils/hash.d.ts +0 -12
- package/dist/src/utils/hash.js +0 -16
- package/dist/src/utils/line-dispatch.d.ts +0 -15
- package/dist/src/utils/line-dispatch.js +0 -48
- package/dist/src/utils/logger.d.ts +0 -109
- package/dist/src/utils/logger.js +0 -270
- package/dist/src/utils/machine-output.d.ts +0 -12
- package/dist/src/utils/machine-output.js +0 -33
- package/dist/src/utils/options.d.ts +0 -155
- package/dist/src/utils/options.js +0 -312
- package/dist/src/utils/package-root.d.ts +0 -21
- package/dist/src/utils/package-root.js +0 -70
- package/dist/src/utils/parse.d.ts +0 -117
- package/dist/src/utils/parse.js +0 -214
- package/dist/src/utils/path-glob.d.ts +0 -15
- package/dist/src/utils/path-glob.js +0 -47
- package/dist/src/utils/paths.d.ts +0 -31
- package/dist/src/utils/paths.js +0 -80
- package/dist/src/utils/platform.d.ts +0 -9
- package/dist/src/utils/platform.js +0 -14
- package/dist/src/utils/process-group.d.ts +0 -42
- package/dist/src/utils/process-group.js +0 -190
- package/dist/src/utils/process-input.d.ts +0 -27
- package/dist/src/utils/process-input.js +0 -46
- package/dist/src/utils/process.d.ts +0 -293
- package/dist/src/utils/process.js +0 -593
- package/dist/src/utils/ps-duration.d.ts +0 -31
- package/dist/src/utils/ps-duration.js +0 -70
- package/dist/src/utils/regex.d.ts +0 -39
- package/dist/src/utils/regex.js +0 -109
- package/dist/src/utils/sleep.d.ts +0 -25
- package/dist/src/utils/sleep.js +0 -30
- package/dist/src/utils/stdio-drain.d.ts +0 -28
- package/dist/src/utils/stdio-drain.js +0 -54
- package/dist/src/utils/validation.d.ts +0 -182
- package/dist/src/utils/validation.js +0 -394
- package/docs/lifecycle-invariants.md +0 -523
- package/docs/run-logs.md +0 -122
- package/docs/verification-trees.md +0 -49
- /package/dist/src/{types/cli.js → cli/context.js} +0 -0
|
@@ -1,386 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { cpus } from 'node:os';
|
|
3
|
-
import { join } from 'node:path';
|
|
4
|
-
import { group, select, text } from '@clack/prompts';
|
|
5
|
-
import { getProjectPaths, writeConfig } from '../core/config.js';
|
|
6
|
-
import { PATCHES_MANIFEST, savePatchesManifest } from '../core/patch-manifest-io.js';
|
|
7
|
-
import { CancellationError, InvalidArgumentError } from '../errors/base.js';
|
|
8
|
-
import { ensureDir, pathExists, readText, writeText } from '../utils/fs.js';
|
|
9
|
-
import { cancel } from '../utils/logger.js';
|
|
10
|
-
import { getPackageRoot } from '../utils/package-root.js';
|
|
11
|
-
import { FIREFOX_PRODUCTS, inferProductFromVersion, isValidAppId, isValidFirefoxProduct, isValidFirefoxVersion, isValidProjectLicense, } from '../utils/validation.js';
|
|
12
|
-
function getTemplatesDir() {
|
|
13
|
-
return join(getPackageRoot(), 'templates');
|
|
14
|
-
}
|
|
15
|
-
function renderLicenseTemplate(license, template, vendor, now = new Date()) {
|
|
16
|
-
if (license !== '0BSD') {
|
|
17
|
-
return template;
|
|
18
|
-
}
|
|
19
|
-
return template.replace(/\[year\]/g, String(now.getFullYear())).replace(/\[fullname\]/g, vendor);
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Narrows a raw CLI or prompt value to a supported Firefox product.
|
|
23
|
-
* @param value - Raw value from `--product` or the setup prompt.
|
|
24
|
-
* @param field - Field name quoted in the refusal (e.g. `--product`).
|
|
25
|
-
* @returns The validated product.
|
|
26
|
-
* @throws {@link InvalidArgumentError} when the value names no supported product.
|
|
27
|
-
*/
|
|
28
|
-
export function resolveFirefoxProduct(value, field) {
|
|
29
|
-
// Matches the sibling `resolveProjectLicense`, which already delegates to
|
|
30
|
-
// its guard. The `||` chain this replaced spelled the member list twice,
|
|
31
|
-
// once as the predicate and once in the message.
|
|
32
|
-
if (typeof value === 'string' && isValidFirefoxProduct(value)) {
|
|
33
|
-
return value;
|
|
34
|
-
}
|
|
35
|
-
throw new InvalidArgumentError(`Invalid product (use: ${FIREFOX_PRODUCTS.join(', ')})`, field);
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Narrows a raw CLI or prompt value to a supported SPDX licence identifier.
|
|
39
|
-
* @param value - Raw value from `--license` or the setup prompt.
|
|
40
|
-
* @param field - Field name quoted in the refusal (e.g. `--license`).
|
|
41
|
-
* @returns The validated licence identifier.
|
|
42
|
-
* @throws {@link InvalidArgumentError} when the value names no supported licence.
|
|
43
|
-
*/
|
|
44
|
-
export function resolveProjectLicense(value, field) {
|
|
45
|
-
if (typeof value === 'string' && isValidProjectLicense(value)) {
|
|
46
|
-
return value;
|
|
47
|
-
}
|
|
48
|
-
throw new InvalidArgumentError('Invalid license (use: EUPL-1.2, MPL-2.0, 0BSD, GPL-2.0-or-later)', field);
|
|
49
|
-
}
|
|
50
|
-
/** Validates non-interactive setup options before project scaffolding begins. */
|
|
51
|
-
export function validateSetupOptions(options) {
|
|
52
|
-
if (options.name !== undefined) {
|
|
53
|
-
if (!options.name.trim()) {
|
|
54
|
-
throw new InvalidArgumentError('Name is required', '--name');
|
|
55
|
-
}
|
|
56
|
-
if (options.name.length > 50) {
|
|
57
|
-
throw new InvalidArgumentError('Name must be 50 characters or less', '--name');
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
if (options.vendor !== undefined && !options.vendor.trim()) {
|
|
61
|
-
throw new InvalidArgumentError('Vendor is required', '--vendor');
|
|
62
|
-
}
|
|
63
|
-
if (options.appId !== undefined && !isValidAppId(options.appId)) {
|
|
64
|
-
throw new InvalidArgumentError('Invalid app ID format (use reverse-domain: org.example.browser)', '--app-id');
|
|
65
|
-
}
|
|
66
|
-
if (options.binaryName !== undefined && !/^[a-z][a-z0-9-]*$/.test(options.binaryName)) {
|
|
67
|
-
throw new InvalidArgumentError('Binary name must start with a letter and contain only lowercase letters, numbers, and hyphens', '--binary-name');
|
|
68
|
-
}
|
|
69
|
-
if (options.firefoxVersion !== undefined && !isValidFirefoxVersion(options.firefoxVersion)) {
|
|
70
|
-
throw new InvalidArgumentError('Invalid Firefox version format (e.g., 140.9.0, 140.9.0esr, or 147.0b1)', '--firefox-version');
|
|
71
|
-
}
|
|
72
|
-
if (options.product !== undefined) {
|
|
73
|
-
resolveFirefoxProduct(options.product, '--product');
|
|
74
|
-
}
|
|
75
|
-
if (options.license !== undefined) {
|
|
76
|
-
resolveProjectLicense(options.license, '--license');
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
async function promptSetupInputs(options) {
|
|
80
|
-
const project = await group({
|
|
81
|
-
name: () => options.name
|
|
82
|
-
? Promise.resolve(options.name)
|
|
83
|
-
: text({
|
|
84
|
-
message: 'What is the name of your browser?',
|
|
85
|
-
placeholder: 'MyBrowser',
|
|
86
|
-
validate: (value) => {
|
|
87
|
-
const normalizedValue = value ?? '';
|
|
88
|
-
if (!normalizedValue.trim())
|
|
89
|
-
return 'Name is required';
|
|
90
|
-
if (normalizedValue.length > 50)
|
|
91
|
-
return 'Name must be 50 characters or less';
|
|
92
|
-
return undefined;
|
|
93
|
-
},
|
|
94
|
-
}),
|
|
95
|
-
vendor: () => options.vendor
|
|
96
|
-
? Promise.resolve(options.vendor)
|
|
97
|
-
: text({
|
|
98
|
-
message: 'What is your vendor/company name?',
|
|
99
|
-
placeholder: 'My Company',
|
|
100
|
-
validate: (value) => {
|
|
101
|
-
if (!(value ?? '').trim())
|
|
102
|
-
return 'Vendor is required';
|
|
103
|
-
return undefined;
|
|
104
|
-
},
|
|
105
|
-
}),
|
|
106
|
-
appId: ({ results }) => options.appId
|
|
107
|
-
? Promise.resolve(options.appId)
|
|
108
|
-
: text({
|
|
109
|
-
message: 'Application ID (reverse-domain format)',
|
|
110
|
-
placeholder: `org.${(results.name ?? 'browser').toLowerCase().replace(/[^a-z0-9]/g, '')}.browser`,
|
|
111
|
-
validate: (value) => {
|
|
112
|
-
if (value && !isValidAppId(value)) {
|
|
113
|
-
return 'Must be in reverse-domain format (e.g., org.example.browser)';
|
|
114
|
-
}
|
|
115
|
-
return undefined;
|
|
116
|
-
},
|
|
117
|
-
}),
|
|
118
|
-
binaryName: ({ results }) => options.binaryName
|
|
119
|
-
? Promise.resolve(options.binaryName)
|
|
120
|
-
: text({
|
|
121
|
-
message: 'Binary name (executable name)',
|
|
122
|
-
placeholder: (results.name ?? 'browser').toLowerCase().replace(/[^a-z0-9]/g, ''),
|
|
123
|
-
validate: (value) => {
|
|
124
|
-
if (value && !/^[a-z][a-z0-9-]*$/.test(value)) {
|
|
125
|
-
return 'Must start with a letter and contain only lowercase letters, numbers, and hyphens';
|
|
126
|
-
}
|
|
127
|
-
return undefined;
|
|
128
|
-
},
|
|
129
|
-
}),
|
|
130
|
-
firefoxVersion: () => options.firefoxVersion
|
|
131
|
-
? Promise.resolve(options.firefoxVersion)
|
|
132
|
-
: text({
|
|
133
|
-
message: 'Firefox version to base on',
|
|
134
|
-
placeholder: '140.9.0esr',
|
|
135
|
-
validate: (value) => {
|
|
136
|
-
if (value && !isValidFirefoxVersion(value)) {
|
|
137
|
-
return 'Invalid Firefox version format (e.g., 140.9.0, 140.9.0esr, or 147.0b1)';
|
|
138
|
-
}
|
|
139
|
-
return undefined;
|
|
140
|
-
},
|
|
141
|
-
}),
|
|
142
|
-
product: ({ results }) => {
|
|
143
|
-
if (options.product) {
|
|
144
|
-
return Promise.resolve(options.product);
|
|
145
|
-
}
|
|
146
|
-
const effectiveVersion = (typeof results.firefoxVersion === 'string' && results.firefoxVersion.trim()) ||
|
|
147
|
-
options.firefoxVersion ||
|
|
148
|
-
'140.9.0esr';
|
|
149
|
-
const inferredProduct = inferProductFromVersion(effectiveVersion);
|
|
150
|
-
if (inferredProduct) {
|
|
151
|
-
return Promise.resolve(inferredProduct);
|
|
152
|
-
}
|
|
153
|
-
return select({
|
|
154
|
-
message: 'Which Firefox product?',
|
|
155
|
-
options: [
|
|
156
|
-
{ value: 'firefox', label: 'Firefox (stable releases)' },
|
|
157
|
-
{ value: 'firefox-esr', label: 'Firefox ESR (extended support)' },
|
|
158
|
-
{ value: 'firefox-beta', label: 'Firefox Beta (pre-release)' },
|
|
159
|
-
{ value: 'firefox-devedition', label: 'Firefox Developer Edition' },
|
|
160
|
-
],
|
|
161
|
-
});
|
|
162
|
-
},
|
|
163
|
-
license: () => options.license
|
|
164
|
-
? Promise.resolve(options.license)
|
|
165
|
-
: select({
|
|
166
|
-
message: 'Project license',
|
|
167
|
-
options: [
|
|
168
|
-
{
|
|
169
|
-
value: 'EUPL-1.2',
|
|
170
|
-
label: 'EUPL 1.2 (recommended)',
|
|
171
|
-
hint: 'copyleft, MPL-2.0 compatible',
|
|
172
|
-
},
|
|
173
|
-
{ value: 'MPL-2.0', label: 'MPL 2.0', hint: 'file-level copyleft' },
|
|
174
|
-
{ value: '0BSD', label: '0BSD', hint: 'permissive, no conditions' },
|
|
175
|
-
{ value: 'GPL-2.0-or-later', label: 'GPL 2.0+', hint: 'strong copyleft' },
|
|
176
|
-
],
|
|
177
|
-
initialValue: 'EUPL-1.2',
|
|
178
|
-
}),
|
|
179
|
-
}, {
|
|
180
|
-
onCancel: () => {
|
|
181
|
-
cancel('Setup cancelled');
|
|
182
|
-
throw new CancellationError();
|
|
183
|
-
},
|
|
184
|
-
});
|
|
185
|
-
return finalizePromptedSetupInputs(project);
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Validates the raw prompt result and resolves the canonical
|
|
189
|
-
* {@link ResolvedSetupInputs}. Extracted from {@link promptSetupInputs} so
|
|
190
|
-
* the prompt body stays under the per-function line limit.
|
|
191
|
-
*/
|
|
192
|
-
function finalizePromptedSetupInputs(project) {
|
|
193
|
-
const sanitizedName = project.name.toLowerCase().replace(/[^a-z0-9]/g, '');
|
|
194
|
-
// Project names that contain no ASCII alphanumerics (e.g. "----", "漢字",
|
|
195
|
-
// emoji-only) collapse to an empty sanitised slug, which would silently
|
|
196
|
-
// produce an invalid `appId` ("org..browser") and an empty `binaryName`.
|
|
197
|
-
// Refuse to derive defaults from such names. The user must supply
|
|
198
|
-
// explicit appId / binaryName values instead.
|
|
199
|
-
const explicitAppId = typeof project.appId === 'string' ? project.appId.trim() : '';
|
|
200
|
-
const explicitBinaryName = typeof project.binaryName === 'string' ? project.binaryName.trim() : '';
|
|
201
|
-
if (sanitizedName === '' && (explicitAppId === '' || explicitBinaryName === '')) {
|
|
202
|
-
throw new InvalidArgumentError(`Project name "${project.name}" contains no characters that can be used to derive default appId / binaryName values. Re-run setup and supply --app-id and --binary-name explicitly.`, 'name');
|
|
203
|
-
}
|
|
204
|
-
const finalAppId = explicitAppId || `org.${sanitizedName}.browser`;
|
|
205
|
-
const finalBinaryName = explicitBinaryName || sanitizedName;
|
|
206
|
-
const finalFirefoxVersion = (typeof project.firefoxVersion === 'string' ? project.firefoxVersion.trim() : '') ||
|
|
207
|
-
'140.9.0esr';
|
|
208
|
-
if (!isValidAppId(finalAppId)) {
|
|
209
|
-
throw new InvalidArgumentError(`Derived appId "${finalAppId}" is invalid.`, 'appId');
|
|
210
|
-
}
|
|
211
|
-
if (finalBinaryName === '') {
|
|
212
|
-
throw new InvalidArgumentError('Derived binaryName is empty. Supply --binary-name explicitly.', 'binaryName');
|
|
213
|
-
}
|
|
214
|
-
if (!isValidFirefoxVersion(finalFirefoxVersion)) {
|
|
215
|
-
throw new InvalidArgumentError(`Default Firefox version "${finalFirefoxVersion}" is invalid.`, 'firefoxVersion');
|
|
216
|
-
}
|
|
217
|
-
return {
|
|
218
|
-
finalName: project.name,
|
|
219
|
-
finalVendor: project.vendor,
|
|
220
|
-
finalAppId,
|
|
221
|
-
finalBinaryName,
|
|
222
|
-
finalFirefoxVersion,
|
|
223
|
-
finalProduct: (typeof project.product === 'string'
|
|
224
|
-
? resolveFirefoxProduct(project.product, 'product')
|
|
225
|
-
: undefined) ??
|
|
226
|
-
inferProductFromVersion(finalFirefoxVersion) ??
|
|
227
|
-
'firefox',
|
|
228
|
-
finalLicense: resolveProjectLicense(project.license, 'license'),
|
|
229
|
-
};
|
|
230
|
-
}
|
|
231
|
-
/** Resolves setup inputs from CLI flags and optional interactive prompts. */
|
|
232
|
-
export async function resolveSetupInputs(options, isInteractive) {
|
|
233
|
-
if (options.name &&
|
|
234
|
-
options.vendor &&
|
|
235
|
-
options.appId &&
|
|
236
|
-
options.binaryName &&
|
|
237
|
-
options.firefoxVersion) {
|
|
238
|
-
return {
|
|
239
|
-
finalName: options.name,
|
|
240
|
-
finalVendor: options.vendor,
|
|
241
|
-
finalAppId: options.appId,
|
|
242
|
-
finalBinaryName: options.binaryName,
|
|
243
|
-
finalFirefoxVersion: options.firefoxVersion,
|
|
244
|
-
finalProduct: options.product ?? inferProductFromVersion(options.firefoxVersion) ?? 'firefox',
|
|
245
|
-
finalLicense: options.license ?? 'EUPL-1.2',
|
|
246
|
-
};
|
|
247
|
-
}
|
|
248
|
-
if (!isInteractive) {
|
|
249
|
-
throw new InvalidArgumentError('Missing required options for non-interactive mode. Required: --name, --vendor, --app-id, --binary-name, --firefox-version');
|
|
250
|
-
}
|
|
251
|
-
return promptSetupInputs(options);
|
|
252
|
-
}
|
|
253
|
-
/** Builds the persisted FireForge config from resolved setup inputs. */
|
|
254
|
-
export function buildSetupConfig(inputs) {
|
|
255
|
-
return {
|
|
256
|
-
name: inputs.finalName,
|
|
257
|
-
vendor: inputs.finalVendor,
|
|
258
|
-
appId: inputs.finalAppId,
|
|
259
|
-
binaryName: inputs.finalBinaryName,
|
|
260
|
-
license: inputs.finalLicense,
|
|
261
|
-
firefox: {
|
|
262
|
-
version: inputs.finalFirefoxVersion,
|
|
263
|
-
product: inputs.finalProduct,
|
|
264
|
-
},
|
|
265
|
-
build: {
|
|
266
|
-
jobs: Math.max(1, cpus().length),
|
|
267
|
-
},
|
|
268
|
-
};
|
|
269
|
-
}
|
|
270
|
-
/**
|
|
271
|
-
* Creates or updates the root `package.json` so its `license` field matches
|
|
272
|
-
* the project license selected during setup. When the file already exists
|
|
273
|
-
* only the `license` field is touched, preserving `name`, `description`,
|
|
274
|
-
* `dependencies`, `scripts`, and every other author-editorial field. Without
|
|
275
|
-
* this sync, a `fireforge setup --force` that picks a new license leaves the
|
|
276
|
-
* old one in `package.json`, so the two files describe different projects.
|
|
277
|
-
*
|
|
278
|
-
* Preserves the file's trailing newline state so a hand-edited
|
|
279
|
-
* `package.json` with a specific EOL convention is not silently
|
|
280
|
-
* re-normalised.
|
|
281
|
-
*/
|
|
282
|
-
async function syncRootPackageJson(projectRoot, license) {
|
|
283
|
-
const rootPackageJsonPath = join(projectRoot, 'package.json');
|
|
284
|
-
if (!(await pathExists(rootPackageJsonPath))) {
|
|
285
|
-
const rootPackageJson = {
|
|
286
|
-
private: true,
|
|
287
|
-
license,
|
|
288
|
-
};
|
|
289
|
-
await writeText(rootPackageJsonPath, JSON.stringify(rootPackageJson, null, 2) + '\n');
|
|
290
|
-
return;
|
|
291
|
-
}
|
|
292
|
-
const raw = await readText(rootPackageJsonPath);
|
|
293
|
-
let parsed;
|
|
294
|
-
try {
|
|
295
|
-
parsed = JSON.parse(raw);
|
|
296
|
-
}
|
|
297
|
-
catch {
|
|
298
|
-
// Malformed package.json is the operator's editorial responsibility to
|
|
299
|
-
// repair. Rewriting it would risk clobbering hand-authored content that
|
|
300
|
-
// the parser happens to reject. Leave the file alone and rely on the
|
|
301
|
-
// doctor / lint paths that already surface invalid JSON.
|
|
302
|
-
return;
|
|
303
|
-
}
|
|
304
|
-
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
305
|
-
return;
|
|
306
|
-
}
|
|
307
|
-
// Treat the object as a typed shape with only the one field modified.
|
|
308
|
-
// Keeping it narrowly typed rather than `Record<string, unknown>` avoids
|
|
309
|
-
// eslint's `dot-notation` / `noPropertyAccessFromIndexSignature` friction,
|
|
310
|
-
// and the rest of the package.json body is preserved via object spread at
|
|
311
|
-
// the write site.
|
|
312
|
-
const packageJson = parsed;
|
|
313
|
-
if (packageJson.license === license) {
|
|
314
|
-
return;
|
|
315
|
-
}
|
|
316
|
-
const trailingNewline = raw.endsWith('\n') ? '\n' : '';
|
|
317
|
-
await writeText(rootPackageJsonPath, JSON.stringify({ ...packageJson, license }, null, 2) + trailingNewline);
|
|
318
|
-
}
|
|
319
|
-
/** Writes the initial project files produced by the setup workflow. */
|
|
320
|
-
export async function writeSetupProjectFiles(projectRoot, config) {
|
|
321
|
-
const paths = getProjectPaths(projectRoot);
|
|
322
|
-
await ensureDir(paths.patches);
|
|
323
|
-
await ensureDir(paths.configs);
|
|
324
|
-
await ensureDir(paths.fireforgeDir);
|
|
325
|
-
await writeConfig(projectRoot, config);
|
|
326
|
-
const manifestPath = join(paths.patches, PATCHES_MANIFEST);
|
|
327
|
-
if (!(await pathExists(manifestPath))) {
|
|
328
|
-
await savePatchesManifest(paths.patches, { version: 1, patches: [] });
|
|
329
|
-
}
|
|
330
|
-
const gitignorePath = join(projectRoot, '.gitignore');
|
|
331
|
-
const requiredIgnores = ['node_modules/', 'dist/', 'engine/', '.fireforge/'];
|
|
332
|
-
if (await pathExists(gitignorePath)) {
|
|
333
|
-
const existingContent = await readText(gitignorePath);
|
|
334
|
-
const lines = existingContent.split('\n').map((line) => line.trim());
|
|
335
|
-
const missing = requiredIgnores.filter((item) => {
|
|
336
|
-
const withoutSlash = item.endsWith('/') ? item.slice(0, -1) : item;
|
|
337
|
-
return !lines.includes(item) && !lines.includes(withoutSlash);
|
|
338
|
-
});
|
|
339
|
-
if (missing.length > 0) {
|
|
340
|
-
const toAppend = (existingContent.endsWith('\n') ? '' : '\n') + missing.join('\n') + '\n';
|
|
341
|
-
await writeText(gitignorePath, existingContent + toAppend);
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
else {
|
|
345
|
-
await writeText(gitignorePath, requiredIgnores.join('\n') + '\n');
|
|
346
|
-
}
|
|
347
|
-
// FireForgeConfig types license as optional, but `buildSetupConfig` always
|
|
348
|
-
// fills it from the resolved setup inputs (which default to `EUPL-1.2`).
|
|
349
|
-
// Narrow explicitly so the helper takes a concrete license rather than
|
|
350
|
-
// widening its own signature for a field that is always set at this call
|
|
351
|
-
// site.
|
|
352
|
-
if (config.license !== undefined) {
|
|
353
|
-
await syncRootPackageJson(projectRoot, config.license);
|
|
354
|
-
}
|
|
355
|
-
const templatesDir = getTemplatesDir();
|
|
356
|
-
if (config.license !== undefined) {
|
|
357
|
-
const licenseTemplatePath = join(templatesDir, 'licenses', `${config.license}.md`);
|
|
358
|
-
if (await pathExists(licenseTemplatePath)) {
|
|
359
|
-
const licenseText = renderLicenseTemplate(config.license, await readText(licenseTemplatePath), config.vendor);
|
|
360
|
-
await writeText(join(projectRoot, 'LICENSE'), licenseText);
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
const configsTemplateDir = join(templatesDir, 'configs');
|
|
364
|
-
if (!(await pathExists(configsTemplateDir))) {
|
|
365
|
-
return;
|
|
366
|
-
}
|
|
367
|
-
const configFiles = [
|
|
368
|
-
'common.mozconfig',
|
|
369
|
-
'darwin.mozconfig',
|
|
370
|
-
'linux.mozconfig',
|
|
371
|
-
'win32.mozconfig',
|
|
372
|
-
];
|
|
373
|
-
for (const file of configFiles) {
|
|
374
|
-
const srcPath = join(configsTemplateDir, file);
|
|
375
|
-
const destPath = join(paths.configs, file);
|
|
376
|
-
if (!(await pathExists(srcPath))) {
|
|
377
|
-
continue;
|
|
378
|
-
}
|
|
379
|
-
const content = (await readText(srcPath))
|
|
380
|
-
.replace(/\$\{name\}/g, config.name)
|
|
381
|
-
.replace(/\$\{vendor\}/g, config.vendor)
|
|
382
|
-
.replace(/\$\{appId\}/g, config.appId)
|
|
383
|
-
.replace(/\$\{binaryName\}/g, config.binaryName);
|
|
384
|
-
await writeText(destPath, content);
|
|
385
|
-
}
|
|
386
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import type { CommandContext } from '../types/cli.js';
|
|
3
|
-
import type { SetupOptions } from '../types/commands/index.js';
|
|
4
|
-
/**
|
|
5
|
-
* Runs the setup command.
|
|
6
|
-
* @param projectRoot - Root directory for the project
|
|
7
|
-
* @param options - CLI options for non-interactive mode
|
|
8
|
-
*/
|
|
9
|
-
export declare function setupCommand(projectRoot: string, options?: SetupOptions): Promise<void>;
|
|
10
|
-
/** Registers the setup command on the CLI program. */
|
|
11
|
-
export declare function registerSetup(program: Command, { withErrorHandling }: CommandContext): void;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import type { CommandContext } from '../types/cli.js';
|
|
3
|
-
import type { SourceSetOptions } from '../types/commands/index.js';
|
|
4
|
-
/**
|
|
5
|
-
* Atomically updates the Firefox source tuple in fireforge.json.
|
|
6
|
-
*/
|
|
7
|
-
export declare function sourceSetCommand(projectRoot: string, options: SourceSetOptions): Promise<void>;
|
|
8
|
-
/** Registers the source command on the CLI program. */
|
|
9
|
-
export declare function registerSource(program: Command, { getProjectRoot, withErrorHandling }: CommandContext): void;
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { Command, Option } from 'commander';
|
|
3
|
-
import { configExists, loadRawConfigDocument, validateConfig, withConfigFileLock, writeConfigDocument, } from '../core/config.js';
|
|
4
|
-
import { resolveArchive } from '../core/firefox-archive.js';
|
|
5
|
-
import { GeneralError, InvalidArgumentError } from '../errors/base.js';
|
|
6
|
-
import { info, intro, outro, success } from '../utils/logger.js';
|
|
7
|
-
import { FIREFOX_PRODUCTS, isJsonObject, isObject, isValidFirefoxCandidate, isValidFirefoxProduct, } from '../utils/validation.js';
|
|
8
|
-
function cloneRawConfig(raw) {
|
|
9
|
-
const cloned = structuredClone(raw);
|
|
10
|
-
if (!isObject(cloned)) {
|
|
11
|
-
throw new GeneralError('Cannot update fireforge.json: config clone was not an object.');
|
|
12
|
-
}
|
|
13
|
-
// A structured clone of a JSON document is itself a JSON document. The
|
|
14
|
-
// object check above is the only invariant left to establish.
|
|
15
|
-
return cloned;
|
|
16
|
-
}
|
|
17
|
-
function parseSourceProduct(product) {
|
|
18
|
-
if (isValidFirefoxProduct(product)) {
|
|
19
|
-
return product;
|
|
20
|
-
}
|
|
21
|
-
throw new InvalidArgumentError(`--product must be one of: ${FIREFOX_PRODUCTS.join(', ')}`, '--product');
|
|
22
|
-
}
|
|
23
|
-
function parseSourceCandidate(candidate) {
|
|
24
|
-
if (isValidFirefoxCandidate(candidate)) {
|
|
25
|
-
return candidate;
|
|
26
|
-
}
|
|
27
|
-
throw new InvalidArgumentError(`--candidate must look like "buildN" (e.g. "build2"), got "${candidate}"`, '--candidate');
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Atomically updates the Firefox source tuple in fireforge.json.
|
|
31
|
-
*/
|
|
32
|
-
export async function sourceSetCommand(projectRoot, options) {
|
|
33
|
-
intro('FireForge Source');
|
|
34
|
-
if (!(await configExists(projectRoot))) {
|
|
35
|
-
throw new GeneralError('No fireforge.json found. Run "fireforge setup" to create a project.');
|
|
36
|
-
}
|
|
37
|
-
if (options.sha256 !== undefined && options.clearSha256 === true) {
|
|
38
|
-
throw new InvalidArgumentError('--sha256 cannot be combined with --clear-sha256', '--sha256');
|
|
39
|
-
}
|
|
40
|
-
if (options.candidate !== undefined && options.clearCandidate === true) {
|
|
41
|
-
throw new InvalidArgumentError('--candidate cannot be combined with --clear-candidate', '--candidate');
|
|
42
|
-
}
|
|
43
|
-
const written = await withConfigFileLock(projectRoot, async () => {
|
|
44
|
-
const raw = await loadRawConfigDocument(projectRoot);
|
|
45
|
-
const updated = cloneRawConfig(raw);
|
|
46
|
-
const existingFirefox = updated['firefox'];
|
|
47
|
-
const firefox = isJsonObject(existingFirefox) ? { ...existingFirefox } : {};
|
|
48
|
-
firefox['version'] = options.version;
|
|
49
|
-
firefox['product'] = options.product;
|
|
50
|
-
if (options.clearSha256 === true) {
|
|
51
|
-
delete firefox['sha256'];
|
|
52
|
-
}
|
|
53
|
-
else if (options.sha256 !== undefined) {
|
|
54
|
-
firefox['sha256'] = options.sha256;
|
|
55
|
-
}
|
|
56
|
-
if (options.clearCandidate === true) {
|
|
57
|
-
delete firefox['candidate'];
|
|
58
|
-
}
|
|
59
|
-
else if (options.candidate !== undefined) {
|
|
60
|
-
firefox['candidate'] = options.candidate;
|
|
61
|
-
}
|
|
62
|
-
updated['firefox'] = firefox;
|
|
63
|
-
const validated = validateConfig(updated);
|
|
64
|
-
if (validated.firefox.sha256 !== undefined) {
|
|
65
|
-
firefox['sha256'] = validated.firefox.sha256;
|
|
66
|
-
}
|
|
67
|
-
await writeConfigDocument(projectRoot, updated);
|
|
68
|
-
return validated.firefox;
|
|
69
|
-
});
|
|
70
|
-
const archive = resolveArchive(written.version, written.product, written.candidate);
|
|
71
|
-
success(`Set firefox.version = ${written.version}`);
|
|
72
|
-
success(`Set firefox.product = ${written.product}`);
|
|
73
|
-
success(`Resolved source URL: ${archive.url}`);
|
|
74
|
-
if (written.sha256 !== undefined) {
|
|
75
|
-
success(`Set firefox.sha256 = ${written.sha256}`);
|
|
76
|
-
}
|
|
77
|
-
else if (options.clearSha256 === true) {
|
|
78
|
-
info('Cleared firefox.sha256');
|
|
79
|
-
}
|
|
80
|
-
if (written.candidate !== undefined) {
|
|
81
|
-
success(`Set firefox.candidate = ${written.candidate}`);
|
|
82
|
-
}
|
|
83
|
-
else if (options.clearCandidate === true) {
|
|
84
|
-
info('Cleared firefox.candidate');
|
|
85
|
-
}
|
|
86
|
-
outro('');
|
|
87
|
-
}
|
|
88
|
-
/** Registers the source command on the CLI program. */
|
|
89
|
-
export function registerSource(program, { getProjectRoot, withErrorHandling }) {
|
|
90
|
-
const source = program
|
|
91
|
-
.command('source')
|
|
92
|
-
.description('Manage Firefox source configuration')
|
|
93
|
-
// No-subcommand contract shared with `patch`/`token`/`furnace`: help on
|
|
94
|
-
// stdout, exit 0 (see `handleParseError` for the groups without an action).
|
|
95
|
-
.action(() => {
|
|
96
|
-
source.outputHelp();
|
|
97
|
-
});
|
|
98
|
-
source
|
|
99
|
-
.command('set')
|
|
100
|
-
.description('Atomically set Firefox source version, product, and optional checksum')
|
|
101
|
-
.requiredOption('--version <version>', 'Firefox version to base on')
|
|
102
|
-
.addOption(new Option('--product <product>', 'Firefox product')
|
|
103
|
-
.choices([...FIREFOX_PRODUCTS])
|
|
104
|
-
.makeOptionMandatory())
|
|
105
|
-
.option('--sha256 <hash>', 'Pinned SHA-256 for the resolved source archive')
|
|
106
|
-
.option('--clear-sha256', 'Clear any existing pinned SHA-256')
|
|
107
|
-
.option('--candidate <buildN>', 'Release-candidate build directory (e.g. "build2")', parseSourceCandidate)
|
|
108
|
-
.option('--clear-candidate', 'Clear any existing release-candidate build directory')
|
|
109
|
-
.action(withErrorHandling(async (options) => {
|
|
110
|
-
const { product, version, sha256, clearSha256, candidate, clearCandidate } = options;
|
|
111
|
-
await sourceSetCommand(getProjectRoot(), {
|
|
112
|
-
version,
|
|
113
|
-
product: parseSourceProduct(product),
|
|
114
|
-
...(sha256 !== undefined ? { sha256 } : {}),
|
|
115
|
-
...(clearSha256 !== undefined ? { clearSha256 } : {}),
|
|
116
|
-
...(candidate !== undefined ? { candidate } : {}),
|
|
117
|
-
...(clearCandidate !== undefined ? { clearCandidate } : {}),
|
|
118
|
-
});
|
|
119
|
-
}));
|
|
120
|
-
}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `status --check` enforcement policy. Turns the classified status view into
|
|
3
|
-
* a CI-enforceable non-zero exit: the default policy fails on any
|
|
4
|
-
* classification outside {patch-backed, branding, furnace}, and
|
|
5
|
-
* `--fail-on <class,...>` replaces that set for finer control.
|
|
6
|
-
* `--allow <class,...>` names classes that never fail, and
|
|
7
|
-
* `--fail-on-unknown` fails every present class that neither list names,
|
|
8
|
-
* so a gate keeps failing closed when FireForge adds a classification.
|
|
9
|
-
* `ownership-conflict` is a check class beside the file classifications:
|
|
10
|
-
* a path claimed by more than one patch, judged from the same rows as
|
|
11
|
-
* `--include-ownership`.
|
|
12
|
-
*
|
|
13
|
-
* Helper module consumed by status.ts, which sits at the max-lines budget.
|
|
14
|
-
* No top-level registrar is exported and none is wanted.
|
|
15
|
-
*/
|
|
16
|
-
import type { ClassifiedFile, FileClassification } from '../core/status-classify.js';
|
|
17
|
-
/**
|
|
18
|
-
* A class `--fail-on`/`--allow` can name: every file classification, plus
|
|
19
|
-
* `ownership-conflict`, which is judged from the ownership rows rather
|
|
20
|
-
* than from a file's classification.
|
|
21
|
-
*/
|
|
22
|
-
export type StatusCheckClass = FileClassification | 'ownership-conflict';
|
|
23
|
-
/** Resolved `--check`/`--fail-on` policy for one status invocation. */
|
|
24
|
-
export interface StatusCheckPolicy {
|
|
25
|
-
checkEnabled: boolean;
|
|
26
|
-
/** Classes that fail: `--fail-on` (or the default set) minus `--allow`. */
|
|
27
|
-
failOn: readonly StatusCheckClass[];
|
|
28
|
-
/** `--allow`: classes that never fail. Set only when the flag was given. */
|
|
29
|
-
allow?: readonly StatusCheckClass[];
|
|
30
|
-
/** `--fail-on-unknown`: a present class named by neither list fails. */
|
|
31
|
-
failOnUnknown?: boolean;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Resolves the enforcement policy from the raw flags. `--fail-on`,
|
|
35
|
-
* `--allow` and `--fail-on-unknown` each imply `--check`. `--fail-on`
|
|
36
|
-
* replaces the default set and `--allow` subtracts from it (naming one
|
|
37
|
-
* class in both is refused). `--fail-on-unknown` needs `--allow`: without
|
|
38
|
-
* an allow list every class the caller did not name, `patch-backed`
|
|
39
|
-
* included, would fail. All of them are refused alongside the modes that
|
|
40
|
-
* skip (or elide) classification.
|
|
41
|
-
*/
|
|
42
|
-
export declare function resolveStatusCheckPolicy(options: {
|
|
43
|
-
check?: boolean;
|
|
44
|
-
failOn?: string;
|
|
45
|
-
allow?: string;
|
|
46
|
-
failOnUnknown?: boolean;
|
|
47
|
-
raw?: boolean;
|
|
48
|
-
unmanaged?: boolean;
|
|
49
|
-
ownership?: boolean;
|
|
50
|
-
testCoverage?: boolean;
|
|
51
|
-
}): StatusCheckPolicy;
|
|
52
|
-
/**
|
|
53
|
-
* True when the policy can fail on `ownership-conflict`, so the caller has
|
|
54
|
-
* to build the ownership rows even without `--include-ownership`.
|
|
55
|
-
*/
|
|
56
|
-
export declare function policyNeedsOwnership(policy: StatusCheckPolicy): boolean;
|
|
57
|
-
/** One failing class with a non-empty file list. */
|
|
58
|
-
export interface StatusCheckOffender {
|
|
59
|
-
classification: StatusCheckClass;
|
|
60
|
-
count: number;
|
|
61
|
-
files: string[];
|
|
62
|
-
/**
|
|
63
|
-
* Set when the class failed only through `--fail-on-unknown`: neither
|
|
64
|
-
* `--fail-on` nor `--allow` named it.
|
|
65
|
-
*/
|
|
66
|
-
unnamed?: true;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Collects the failing classes that have offending files, with full file
|
|
70
|
-
* lists: the fail set in policy order, then (under `--fail-on-unknown`)
|
|
71
|
-
* every other present class neither list names, in first-seen order.
|
|
72
|
-
* Shared by the human `--check` verdict and the JSON `check` block so the
|
|
73
|
-
* two views can never disagree about what failed.
|
|
74
|
-
*
|
|
75
|
-
* @param classified - Classified worktree entries
|
|
76
|
-
* @param policy - Resolved policy
|
|
77
|
-
* @param ownershipConflicts - Paths claimed by more than one patch. Only
|
|
78
|
-
* read for the `ownership-conflict` class
|
|
79
|
-
*/
|
|
80
|
-
export declare function collectStatusCheckOffenders(classified: readonly ClassifiedFile[], policy: StatusCheckPolicy, ownershipConflicts?: readonly string[]): StatusCheckOffender[];
|
|
81
|
-
/**
|
|
82
|
-
* Throws a GeneralError (exit 1) when the policy is enabled and any
|
|
83
|
-
* failing class is non-empty, naming each offending class with its first
|
|
84
|
-
* few files. A disabled policy or a fully tool-covered tree passes
|
|
85
|
-
* silently.
|
|
86
|
-
*/
|
|
87
|
-
export declare function runStatusCheck(classified: readonly ClassifiedFile[], policy: StatusCheckPolicy, ownershipConflicts?: readonly string[]): void;
|