@hominis/fireforge 0.55.0 → 0.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +233 -6
- package/README.md +51 -17
- package/dist/bin/fireforge.js +34 -129
- package/dist/build-info.json +4 -4
- package/dist/src/check/check.js +394 -0
- package/dist/src/check/gate.js +448 -0
- package/dist/src/check/index.js +10 -0
- package/dist/src/check/record.js +155 -0
- package/dist/src/cli/command.js +286 -0
- package/dist/src/cli/output.js +96 -0
- package/dist/src/cli/program.js +231 -0
- package/dist/src/cli/stdio.js +59 -0
- package/dist/src/cli/version.js +99 -0
- package/dist/src/commands/bootstrap.js +17 -102
- package/dist/src/commands/build.js +34 -456
- package/dist/src/commands/check.js +44 -157
- package/dist/src/commands/config.js +50 -226
- package/dist/src/commands/discard.js +38 -215
- package/dist/src/commands/doctor.js +29 -456
- package/dist/src/commands/download.js +35 -499
- package/dist/src/commands/export.js +42 -431
- package/dist/src/commands/furnace.js +220 -0
- package/dist/src/commands/gate.js +127 -0
- package/dist/src/commands/import.js +44 -445
- package/dist/src/commands/index.js +86 -0
- package/dist/src/commands/lint.js +44 -546
- package/dist/src/commands/merge-driver.js +56 -0
- package/dist/src/commands/migrate.js +75 -0
- package/dist/src/commands/override.js +43 -0
- package/dist/src/commands/package.js +48 -77
- package/dist/src/commands/patch.js +221 -0
- package/dist/src/commands/re-export.js +55 -359
- package/dist/src/commands/rebase.js +69 -0
- package/dist/src/commands/register.js +62 -103
- package/dist/src/commands/reset.js +28 -91
- package/dist/src/commands/resolve.js +20 -167
- package/dist/src/commands/restore.js +19 -0
- package/dist/src/commands/run.js +60 -382
- package/dist/src/commands/setup.js +78 -90
- package/dist/src/commands/status.js +44 -413
- package/dist/src/commands/test.js +97 -423
- package/dist/src/commands/token.js +185 -228
- package/dist/src/commands/typecheck.js +59 -241
- package/dist/src/commands/verify.js +28 -334
- package/dist/src/commands/version.js +14 -0
- package/dist/src/commands/watch.js +20 -218
- package/dist/src/commands/wire.js +60 -349
- package/dist/src/commands/workspace.js +117 -0
- package/dist/src/config/edit.js +237 -0
- package/dist/src/config/index.js +15 -0
- package/dist/src/config/load.js +59 -0
- package/dist/src/config/previous.js +404 -0
- package/dist/src/config/schema/build.js +63 -0
- package/dist/src/config/schema/check.js +113 -0
- package/dist/src/config/schema/common.js +71 -0
- package/dist/src/config/schema/export-queue.js +36 -0
- package/dist/src/config/schema/firefox.js +69 -0
- package/dist/src/config/schema/gate.js +199 -0
- package/dist/src/config/schema/identity.js +55 -0
- package/dist/src/config/schema/index.js +45 -0
- package/dist/src/config/schema/lint.js +297 -0
- package/dist/src/config/schema/policy.js +111 -0
- package/dist/src/config/schema/source.js +90 -0
- package/dist/src/config/schema/test.js +17 -0
- package/dist/src/config/schema/toolchains.js +17 -0
- package/dist/src/config/schema/typecheck.js +29 -0
- package/dist/src/config/schema/wire.js +15 -0
- package/dist/src/diff/apply.js +129 -0
- package/dist/src/diff/index.js +16 -0
- package/dist/src/diff/model.js +267 -0
- package/dist/src/diff/query.js +65 -0
- package/dist/src/doctor/index.js +240 -0
- package/dist/src/engine/archive.js +396 -0
- package/dist/src/engine/audit.js +66 -0
- package/dist/src/engine/build.js +150 -0
- package/dist/src/engine/hostLocks.js +66 -0
- package/dist/src/engine/index.js +26 -0
- package/dist/src/engine/installManifests.js +147 -0
- package/dist/src/engine/mach.js +97 -0
- package/dist/src/engine/machHints.js +80 -0
- package/dist/src/engine/mozconfig.js +110 -0
- package/dist/src/engine/objdir.js +124 -0
- package/dist/src/engine/package.js +169 -0
- package/dist/src/engine/pin.js +12 -0
- package/dist/src/engine/pool.js +423 -0
- package/dist/src/engine/pristine.js +281 -0
- package/dist/src/engine/python.js +68 -0
- package/dist/src/engine/resourceGuard.js +582 -0
- package/dist/src/engine/run.js +259 -0
- package/dist/src/engine/smoke.js +204 -0
- package/dist/src/engine/staleness.js +229 -0
- package/dist/src/engine/watch.js +82 -0
- package/dist/src/engine/workspace.js +85 -0
- package/dist/src/furnace/config.js +360 -0
- package/dist/src/furnace/deploy.js +414 -0
- package/dist/src/furnace/diff.js +59 -0
- package/dist/src/furnace/edit.js +64 -0
- package/dist/src/furnace/fragments.js +53 -0
- package/dist/src/furnace/index.js +19 -0
- package/dist/src/furnace/operations.js +283 -0
- package/dist/src/furnace/registration.js +220 -0
- package/dist/src/furnace/scaffold.js +311 -0
- package/dist/src/furnace/typing.js +252 -0
- package/dist/src/furnace/validate.js +662 -0
- package/dist/src/git/apply.js +129 -0
- package/dist/src/git/diff.js +143 -0
- package/dist/src/git/index.js +33 -0
- package/dist/src/git/objects.js +201 -0
- package/dist/src/git/refs.js +85 -0
- package/dist/src/git/repo.js +222 -0
- package/dist/src/git/run.js +242 -0
- package/dist/src/git/status.js +156 -0
- package/dist/src/kernel/errors.js +123 -0
- package/dist/src/kernel/fs.js +515 -0
- package/dist/src/kernel/glob.js +63 -0
- package/dist/src/kernel/hash.js +28 -0
- package/dist/src/kernel/journal.js +524 -0
- package/dist/src/kernel/json-edit.js +198 -0
- package/dist/src/kernel/json.js +101 -0
- package/dist/src/kernel/lock.js +589 -0
- package/dist/src/kernel/log.js +154 -0
- package/dist/src/kernel/process/identity.js +313 -0
- package/dist/src/kernel/process/index.js +8 -0
- package/dist/src/kernel/process/listing.js +128 -0
- package/dist/src/kernel/process/spawn.js +430 -0
- package/dist/src/kernel/process/tree.js +301 -0
- package/dist/src/kernel/schema.js +308 -0
- package/dist/src/kernel/signals.js +171 -0
- package/dist/src/kernel/text.js +151 -0
- package/dist/src/kernel/time.js +83 -0
- package/dist/src/kernel/tty.js +84 -0
- package/dist/src/lint/cache.js +77 -0
- package/dist/src/lint/checkjs.js +400 -0
- package/dist/src/lint/index.js +3 -0
- package/dist/src/lint/input.js +100 -0
- package/dist/src/lint/report.js +107 -0
- package/dist/src/lint/rule.js +41 -0
- package/dist/src/lint/rules/css.js +308 -0
- package/dist/src/lint/rules/javascript.js +299 -0
- package/dist/src/lint/rules/jsdoc.js +249 -0
- package/dist/src/lint/rules/license.js +93 -0
- package/dist/src/lint/rules/policy.js +201 -0
- package/dist/src/lint/rules/registration.js +264 -0
- package/dist/src/lint/rules/size.js +299 -0
- package/dist/src/lint/run.js +126 -0
- package/dist/src/lint/shim.js +323 -0
- package/dist/src/lint/typescript.js +186 -0
- package/dist/src/lint/waivers.js +93 -0
- package/dist/src/mode/changes.js +264 -0
- package/dist/src/mode/diagnose.js +173 -0
- package/dist/src/mode/export.js +147 -0
- package/dist/src/mode/index.js +23 -0
- package/dist/src/mode/migrate.js +181 -0
- package/dist/src/mode/previousWaivers.js +206 -0
- package/dist/src/mode/pristine.js +61 -0
- package/dist/src/mode/rebase.js +197 -0
- package/dist/src/mode/report.js +157 -0
- package/dist/src/mode/setup.js +103 -0
- package/dist/src/mode/tracked.js +116 -0
- package/dist/src/mode/upgrade.js +281 -0
- package/dist/src/mode/watch.js +83 -0
- package/dist/src/mode/workspace.js +189 -0
- package/dist/src/mozbuild/index.js +6 -0
- package/dist/src/mozbuild/jar.js +366 -0
- package/dist/src/mozbuild/mozbuild.js +321 -0
- package/dist/src/mozbuild/paths.js +96 -0
- package/dist/src/mozbuild/references.js +39 -0
- package/dist/src/mozbuild/testManifest.js +343 -0
- package/dist/src/mozbuild/text.js +142 -0
- package/dist/src/project/changes.js +145 -0
- package/dist/src/project/checkout.js +66 -0
- package/dist/src/project/index.js +11 -0
- package/dist/src/project/license.js +119 -0
- package/dist/src/project/project.js +111 -0
- package/dist/src/project/state.js +85 -0
- package/dist/src/project/tracked.js +1 -0
- package/dist/src/queue/apply.js +270 -0
- package/dist/src/queue/attribute.js +159 -0
- package/dist/src/queue/baseline.js +409 -0
- package/dist/src/queue/capture.js +298 -0
- package/dist/src/queue/changes.js +234 -0
- package/dist/src/queue/index.js +50 -0
- package/dist/src/queue/manifest.js +341 -0
- package/dist/src/queue/operations.js +454 -0
- package/dist/src/queue/placement.js +220 -0
- package/dist/src/queue/queue.js +359 -0
- package/dist/src/queue/restore.js +103 -0
- package/dist/src/queue/session.js +685 -0
- package/dist/src/queue/status.js +137 -0
- package/dist/src/register/files.js +39 -0
- package/dist/src/register/index.js +8 -0
- package/dist/src/register/js.js +217 -0
- package/dist/src/register/register.js +359 -0
- package/dist/src/register/wire.js +146 -0
- package/dist/src/source/adopt.js +99 -0
- package/dist/src/source/changes.js +132 -0
- package/dist/src/source/edit.js +278 -0
- package/dist/src/source/export.js +70 -0
- package/dist/src/source/groups.js +131 -0
- package/dist/src/source/index.js +20 -0
- package/dist/src/source/materialize.js +382 -0
- package/dist/src/source/merge.js +255 -0
- package/dist/src/source/objects.js +102 -0
- package/dist/src/source/previous.js +166 -0
- package/dist/src/source/records.js +138 -0
- package/dist/src/source/refresh.js +264 -0
- package/dist/src/source/tree.js +337 -0
- package/dist/src/syntax/css.js +215 -0
- package/dist/src/syntax/fragments.js +63 -0
- package/dist/src/syntax/index.js +10 -0
- package/dist/src/syntax/js.js +270 -0
- package/dist/src/test/classify.js +826 -0
- package/dist/src/test/control.js +236 -0
- package/dist/src/test/host.js +266 -0
- package/dist/src/test/index.js +11 -0
- package/dist/src/test/plan.js +347 -0
- package/dist/src/test/rawLog.js +138 -0
- package/dist/src/test/run.js +404 -0
- package/dist/src/test/verdict.js +420 -0
- package/dist/src/test/xpcshell.js +143 -0
- package/dist/src/tokens/add.js +304 -0
- package/dist/src/tokens/coverage.js +65 -0
- package/dist/src/tokens/css.js +58 -0
- package/dist/src/tokens/index.js +12 -0
- package/dist/src/tokens/lint.js +96 -0
- package/dist/src/tokens/model.js +118 -0
- package/dist/src/tokens/settings.js +87 -0
- package/dist/src/tokens/siblings.js +104 -0
- package/dist/src/typecheck/explain.js +123 -0
- package/dist/src/typecheck/index.js +8 -0
- package/dist/src/typecheck/typecheck.js +332 -0
- package/docs/README.md +23 -28
- package/docs/authoring.md +97 -0
- package/docs/configuration.md +307 -766
- package/docs/exit-codes.md +76 -94
- package/docs/furnace.md +111 -221
- package/docs/gate.md +205 -0
- package/docs/getting-started.md +165 -0
- package/docs/machine-output.md +201 -290
- package/docs/migrating.md +261 -0
- package/docs/patch-workflow.md +159 -723
- package/docs/quality.md +220 -0
- package/docs/source-workflow.md +228 -0
- package/docs/testing.md +101 -719
- package/docs/workspaces.md +187 -0
- package/package.json +22 -30
- package/templates/configs/common.mozconfig +8 -2
- package/templates/configs/darwin.mozconfig +6 -7
- package/templates/configs/linux.mozconfig +5 -8
- package/templates/configs/win32.mozconfig +3 -9
- package/dist/bin/fireforge.d.ts +0 -9
- package/dist/src/cli-usage-error.d.ts +0 -46
- package/dist/src/cli-usage-error.js +0 -81
- package/dist/src/cli.d.ts +0 -41
- package/dist/src/cli.js +0 -380
- package/dist/src/commands/bootstrap-checks.d.ts +0 -16
- package/dist/src/commands/bootstrap-checks.js +0 -66
- package/dist/src/commands/bootstrap.d.ts +0 -10
- package/dist/src/commands/build-prelock.d.ts +0 -20
- package/dist/src/commands/build-prelock.js +0 -50
- package/dist/src/commands/build.d.ts +0 -13
- package/dist/src/commands/check-report.d.ts +0 -41
- package/dist/src/commands/check-report.js +0 -98
- package/dist/src/commands/check-run.d.ts +0 -44
- package/dist/src/commands/check-run.js +0 -125
- package/dist/src/commands/check-steps.d.ts +0 -75
- package/dist/src/commands/check-steps.js +0 -200
- package/dist/src/commands/check.d.ts +0 -32
- package/dist/src/commands/config.d.ts +0 -13
- package/dist/src/commands/declarations-report.d.ts +0 -49
- package/dist/src/commands/declarations-report.js +0 -83
- package/dist/src/commands/destructive-decision.d.ts +0 -19
- package/dist/src/commands/destructive-decision.js +0 -31
- package/dist/src/commands/discard.d.ts +0 -12
- package/dist/src/commands/doctor-check-core.d.ts +0 -110
- package/dist/src/commands/doctor-check-core.js +0 -24
- package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
- package/dist/src/commands/doctor-engine-eslint.js +0 -17
- package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
- package/dist/src/commands/doctor-external-toolchains.js +0 -56
- package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
- package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
- package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
- package/dist/src/commands/doctor-furnace-jar.js +0 -44
- package/dist/src/commands/doctor-furnace.d.ts +0 -8
- package/dist/src/commands/doctor-furnace.js +0 -514
- package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
- package/dist/src/commands/doctor-macos-sdk.js +0 -158
- package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
- package/dist/src/commands/doctor-orphaned-harness.js +0 -98
- package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
- package/dist/src/commands/doctor-patch-manifest.js +0 -156
- package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
- package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
- package/dist/src/commands/doctor-source-pin.d.ts +0 -29
- package/dist/src/commands/doctor-source-pin.js +0 -91
- package/dist/src/commands/doctor-working-tree.d.ts +0 -27
- package/dist/src/commands/doctor-working-tree.js +0 -89
- package/dist/src/commands/doctor.d.ts +0 -49
- package/dist/src/commands/download.d.ts +0 -11
- package/dist/src/commands/export-adopt-check.d.ts +0 -37
- package/dist/src/commands/export-adopt-check.js +0 -97
- package/dist/src/commands/export-all.d.ts +0 -11
- package/dist/src/commands/export-all.js +0 -361
- package/dist/src/commands/export-flow.d.ts +0 -124
- package/dist/src/commands/export-flow.js +0 -423
- package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
- package/dist/src/commands/export-placement-conflicts.js +0 -75
- package/dist/src/commands/export-placement-gate.d.ts +0 -42
- package/dist/src/commands/export-placement-gate.js +0 -107
- package/dist/src/commands/export-placement-policy.d.ts +0 -22
- package/dist/src/commands/export-placement-policy.js +0 -54
- package/dist/src/commands/export-shared.d.ts +0 -152
- package/dist/src/commands/export-shared.js +0 -396
- package/dist/src/commands/export-staged-registration.d.ts +0 -46
- package/dist/src/commands/export-staged-registration.js +0 -91
- package/dist/src/commands/export.d.ts +0 -13
- package/dist/src/commands/forward-import-remedy.d.ts +0 -31
- package/dist/src/commands/forward-import-remedy.js +0 -62
- package/dist/src/commands/furnace/apply.d.ts +0 -8
- package/dist/src/commands/furnace/apply.js +0 -327
- package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
- package/dist/src/commands/furnace/authoring-config.js +0 -19
- package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
- package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
- package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
- package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
- package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
- package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
- package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
- package/dist/src/commands/furnace/chrome-doc.js +0 -365
- package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
- package/dist/src/commands/furnace/create-browser-test.js +0 -179
- package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
- package/dist/src/commands/furnace/create-dry-run.js +0 -107
- package/dist/src/commands/furnace/create-features.d.ts +0 -24
- package/dist/src/commands/furnace/create-features.js +0 -55
- package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
- package/dist/src/commands/furnace/create-mochikit.js +0 -75
- package/dist/src/commands/furnace/create-readback.d.ts +0 -22
- package/dist/src/commands/furnace/create-readback.js +0 -32
- package/dist/src/commands/furnace/create-templates.d.ts +0 -119
- package/dist/src/commands/furnace/create-templates.js +0 -283
- package/dist/src/commands/furnace/create-validation.d.ts +0 -6
- package/dist/src/commands/furnace/create-validation.js +0 -59
- package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
- package/dist/src/commands/furnace/create-xpcshell.js +0 -80
- package/dist/src/commands/furnace/create.d.ts +0 -24
- package/dist/src/commands/furnace/create.js +0 -407
- package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
- package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
- package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
- package/dist/src/commands/furnace/deploy-named.js +0 -107
- package/dist/src/commands/furnace/deploy.d.ts +0 -9
- package/dist/src/commands/furnace/deploy.js +0 -229
- package/dist/src/commands/furnace/diff.d.ts +0 -11
- package/dist/src/commands/furnace/diff.js +0 -238
- package/dist/src/commands/furnace/index.d.ts +0 -4
- package/dist/src/commands/furnace/index.js +0 -283
- package/dist/src/commands/furnace/init.d.ts +0 -11
- package/dist/src/commands/furnace/init.js +0 -287
- package/dist/src/commands/furnace/list.d.ts +0 -8
- package/dist/src/commands/furnace/list.js +0 -104
- package/dist/src/commands/furnace/override.d.ts +0 -16
- package/dist/src/commands/furnace/override.js +0 -454
- package/dist/src/commands/furnace/preview.d.ts +0 -19
- package/dist/src/commands/furnace/preview.js +0 -349
- package/dist/src/commands/furnace/refresh.d.ts +0 -10
- package/dist/src/commands/furnace/refresh.js +0 -303
- package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
- package/dist/src/commands/furnace/remove-mutations.js +0 -168
- package/dist/src/commands/furnace/remove-state.d.ts +0 -20
- package/dist/src/commands/furnace/remove-state.js +0 -60
- package/dist/src/commands/furnace/remove.d.ts +0 -8
- package/dist/src/commands/furnace/remove.js +0 -415
- package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
- package/dist/src/commands/furnace/rename-browser-test.js +0 -68
- package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
- package/dist/src/commands/furnace/rename-dry-run.js +0 -127
- package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
- package/dist/src/commands/furnace/rename-helpers.js +0 -85
- package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
- package/dist/src/commands/furnace/rename-registrations.js +0 -98
- package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
- package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
- package/dist/src/commands/furnace/rename.d.ts +0 -6
- package/dist/src/commands/furnace/rename.js +0 -400
- package/dist/src/commands/furnace/scan.d.ts +0 -14
- package/dist/src/commands/furnace/scan.js +0 -192
- package/dist/src/commands/furnace/status.d.ts +0 -7
- package/dist/src/commands/furnace/status.js +0 -209
- package/dist/src/commands/furnace/sync.d.ts +0 -12
- package/dist/src/commands/furnace/sync.js +0 -145
- package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
- package/dist/src/commands/furnace/test-file-name.js +0 -39
- package/dist/src/commands/furnace/validate-report.d.ts +0 -45
- package/dist/src/commands/furnace/validate-report.js +0 -91
- package/dist/src/commands/furnace/validate.d.ts +0 -8
- package/dist/src/commands/furnace/validate.js +0 -309
- package/dist/src/commands/furnace/validation-output.d.ts +0 -47
- package/dist/src/commands/furnace/validation-output.js +0 -161
- package/dist/src/commands/import.d.ts +0 -11
- package/dist/src/commands/lint-per-patch.d.ts +0 -10
- package/dist/src/commands/lint-per-patch.js +0 -428
- package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
- package/dist/src/commands/lint-per-run-checkjs.js +0 -102
- package/dist/src/commands/lint-report.d.ts +0 -25
- package/dist/src/commands/lint-report.js +0 -76
- package/dist/src/commands/lint.d.ts +0 -47
- package/dist/src/commands/manifest.d.ts +0 -38
- package/dist/src/commands/manifest.js +0 -68
- package/dist/src/commands/package.d.ts +0 -11
- package/dist/src/commands/park.d.ts +0 -22
- package/dist/src/commands/park.js +0 -232
- package/dist/src/commands/patch/body.d.ts +0 -29
- package/dist/src/commands/patch/body.js +0 -60
- package/dist/src/commands/patch/compact.d.ts +0 -28
- package/dist/src/commands/patch/compact.js +0 -208
- package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
- package/dist/src/commands/patch/delete-gap-notice.js +0 -48
- package/dist/src/commands/patch/delete.d.ts +0 -28
- package/dist/src/commands/patch/delete.js +0 -131
- package/dist/src/commands/patch/entry-projection.d.ts +0 -13
- package/dist/src/commands/patch/entry-projection.js +0 -24
- package/dist/src/commands/patch/index.d.ts +0 -16
- package/dist/src/commands/patch/index.js +0 -54
- package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
- package/dist/src/commands/patch/lint-ignore-from.js +0 -141
- package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
- package/dist/src/commands/patch/lint-ignore.js +0 -263
- package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
- package/dist/src/commands/patch/move-files-adopt.js +0 -65
- package/dist/src/commands/patch/move-files-create.d.ts +0 -19
- package/dist/src/commands/patch/move-files-create.js +0 -187
- package/dist/src/commands/patch/move-files-into.d.ts +0 -65
- package/dist/src/commands/patch/move-files-into.js +0 -325
- package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
- package/dist/src/commands/patch/move-files-retire.js +0 -91
- package/dist/src/commands/patch/move-files.d.ts +0 -28
- package/dist/src/commands/patch/move-files.js +0 -224
- package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
- package/dist/src/commands/patch/move-size-tier.js +0 -66
- package/dist/src/commands/patch/patch-context.d.ts +0 -40
- package/dist/src/commands/patch/patch-context.js +0 -51
- package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
- package/dist/src/commands/patch/removal-created-files.js +0 -83
- package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
- package/dist/src/commands/patch/removal-dependents.js +0 -133
- package/dist/src/commands/patch/rename.d.ts +0 -35
- package/dist/src/commands/patch/rename.js +0 -378
- package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
- package/dist/src/commands/patch/reorder-projection.js +0 -49
- package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
- package/dist/src/commands/patch/reorder-shift.js +0 -307
- package/dist/src/commands/patch/reorder.d.ts +0 -34
- package/dist/src/commands/patch/reorder.js +0 -375
- package/dist/src/commands/patch/reserve.d.ts +0 -33
- package/dist/src/commands/patch/reserve.js +0 -152
- package/dist/src/commands/patch/retire.d.ts +0 -34
- package/dist/src/commands/patch/retire.js +0 -133
- package/dist/src/commands/patch/split-plan.d.ts +0 -125
- package/dist/src/commands/patch/split-plan.js +0 -313
- package/dist/src/commands/patch/split-staged.d.ts +0 -108
- package/dist/src/commands/patch/split-staged.js +0 -202
- package/dist/src/commands/patch/split.d.ts +0 -43
- package/dist/src/commands/patch/split.js +0 -367
- package/dist/src/commands/patch/stage.d.ts +0 -34
- package/dist/src/commands/patch/stage.js +0 -153
- package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
- package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
- package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
- package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
- package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
- package/dist/src/commands/patch/staged-dependency-from.js +0 -114
- package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
- package/dist/src/commands/patch/staged-dependency-remove.js +0 -114
- package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -27
- package/dist/src/commands/patch/staged-dependency-validate.js +0 -78
- package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
- package/dist/src/commands/patch/staged-dependency.js +0 -251
- package/dist/src/commands/patch/tier.d.ts +0 -34
- package/dist/src/commands/patch/tier.js +0 -125
- package/dist/src/commands/patch-rename-map.d.ts +0 -30
- package/dist/src/commands/patch-rename-map.js +0 -54
- package/dist/src/commands/pending-resolution.d.ts +0 -15
- package/dist/src/commands/pending-resolution.js +0 -25
- package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
- package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
- package/dist/src/commands/re-export-adjacent.d.ts +0 -111
- package/dist/src/commands/re-export-adjacent.js +0 -285
- package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
- package/dist/src/commands/re-export-bulk-scan.js +0 -233
- package/dist/src/commands/re-export-drift.d.ts +0 -110
- package/dist/src/commands/re-export-drift.js +0 -358
- package/dist/src/commands/re-export-each.d.ts +0 -46
- package/dist/src/commands/re-export-each.js +0 -110
- package/dist/src/commands/re-export-files.d.ts +0 -15
- package/dist/src/commands/re-export-files.js +0 -307
- package/dist/src/commands/re-export-hunks.d.ts +0 -37
- package/dist/src/commands/re-export-hunks.js +0 -264
- package/dist/src/commands/re-export-lint.d.ts +0 -137
- package/dist/src/commands/re-export-lint.js +0 -303
- package/dist/src/commands/re-export-options.d.ts +0 -29
- package/dist/src/commands/re-export-options.js +0 -192
- package/dist/src/commands/re-export-preflight.d.ts +0 -23
- package/dist/src/commands/re-export-preflight.js +0 -159
- package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
- package/dist/src/commands/re-export-purity-scope.js +0 -137
- package/dist/src/commands/re-export-register.d.ts +0 -12
- package/dist/src/commands/re-export-register.js +0 -99
- package/dist/src/commands/re-export-removed.d.ts +0 -15
- package/dist/src/commands/re-export-removed.js +0 -94
- package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
- package/dist/src/commands/re-export-retired-declarations.js +0 -113
- package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
- package/dist/src/commands/re-export-scan-owner.js +0 -116
- package/dist/src/commands/re-export-scan.d.ts +0 -72
- package/dist/src/commands/re-export-scan.js +0 -265
- package/dist/src/commands/re-export-single.d.ts +0 -53
- package/dist/src/commands/re-export-single.js +0 -426
- package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
- package/dist/src/commands/re-export-stale-registrations.js +0 -106
- package/dist/src/commands/re-export-summary.d.ts +0 -44
- package/dist/src/commands/re-export-summary.js +0 -59
- package/dist/src/commands/re-export.d.ts +0 -8
- package/dist/src/commands/rebase/abort.d.ts +0 -7
- package/dist/src/commands/rebase/abort.js +0 -67
- package/dist/src/commands/rebase/confirm.d.ts +0 -42
- package/dist/src/commands/rebase/confirm.js +0 -36
- package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
- package/dist/src/commands/rebase/conflict-summary.js +0 -37
- package/dist/src/commands/rebase/continue.d.ts +0 -7
- package/dist/src/commands/rebase/continue.js +0 -119
- package/dist/src/commands/rebase/index.d.ts +0 -22
- package/dist/src/commands/rebase/index.js +0 -209
- package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
- package/dist/src/commands/rebase/patch-loop.js +0 -289
- package/dist/src/commands/rebase/summary.d.ts +0 -8
- package/dist/src/commands/rebase/summary.js +0 -47
- package/dist/src/commands/register.d.ts +0 -13
- package/dist/src/commands/reset.d.ts +0 -11
- package/dist/src/commands/resolve.d.ts +0 -36
- package/dist/src/commands/run.d.ts +0 -10
- package/dist/src/commands/setup-support.d.ts +0 -35
- package/dist/src/commands/setup-support.js +0 -386
- package/dist/src/commands/setup.d.ts +0 -11
- package/dist/src/commands/source.d.ts +0 -9
- package/dist/src/commands/source.js +0 -120
- package/dist/src/commands/status-check.d.ts +0 -87
- package/dist/src/commands/status-check.js +0 -161
- package/dist/src/commands/status-json.d.ts +0 -45
- package/dist/src/commands/status-json.js +0 -97
- package/dist/src/commands/status-output.d.ts +0 -23
- package/dist/src/commands/status-output.js +0 -231
- package/dist/src/commands/status-ownership.d.ts +0 -54
- package/dist/src/commands/status-ownership.js +0 -59
- package/dist/src/commands/status-scope.d.ts +0 -37
- package/dist/src/commands/status-scope.js +0 -54
- package/dist/src/commands/status.d.ts +0 -11
- package/dist/src/commands/test-appdir.d.ts +0 -6
- package/dist/src/commands/test-appdir.js +0 -29
- package/dist/src/commands/test-browser-preflight.d.ts +0 -28
- package/dist/src/commands/test-browser-preflight.js +0 -197
- package/dist/src/commands/test-build-furnace.d.ts +0 -21
- package/dist/src/commands/test-build-furnace.js +0 -53
- package/dist/src/commands/test-build-phase.d.ts +0 -34
- package/dist/src/commands/test-build-phase.js +0 -291
- package/dist/src/commands/test-checkjs.d.ts +0 -3
- package/dist/src/commands/test-checkjs.js +0 -35
- package/dist/src/commands/test-control-restore.d.ts +0 -40
- package/dist/src/commands/test-control-restore.js +0 -86
- package/dist/src/commands/test-diagnose.d.ts +0 -23
- package/dist/src/commands/test-diagnose.js +0 -317
- package/dist/src/commands/test-dispatch.d.ts +0 -39
- package/dist/src/commands/test-dispatch.js +0 -281
- package/dist/src/commands/test-furnace-reach.d.ts +0 -37
- package/dist/src/commands/test-furnace-reach.js +0 -132
- package/dist/src/commands/test-harness-env.d.ts +0 -23
- package/dist/src/commands/test-harness-env.js +0 -81
- package/dist/src/commands/test-harness-teardown.d.ts +0 -62
- package/dist/src/commands/test-harness-teardown.js +0 -128
- package/dist/src/commands/test-modes.d.ts +0 -57
- package/dist/src/commands/test-modes.js +0 -158
- package/dist/src/commands/test-multi-verdict.d.ts +0 -61
- package/dist/src/commands/test-multi-verdict.js +0 -112
- package/dist/src/commands/test-orchestrate.d.ts +0 -70
- package/dist/src/commands/test-orchestrate.js +0 -277
- package/dist/src/commands/test-perf-scope.d.ts +0 -50
- package/dist/src/commands/test-perf-scope.js +0 -138
- package/dist/src/commands/test-prelock.d.ts +0 -61
- package/dist/src/commands/test-prelock.js +0 -301
- package/dist/src/commands/test-register.d.ts +0 -4
- package/dist/src/commands/test-register.js +0 -181
- package/dist/src/commands/test-results.d.ts +0 -71
- package/dist/src/commands/test-results.js +0 -79
- package/dist/src/commands/test-run.d.ts +0 -89
- package/dist/src/commands/test-run.js +0 -251
- package/dist/src/commands/test-shards.d.ts +0 -114
- package/dist/src/commands/test-shards.js +0 -272
- package/dist/src/commands/test-stale-gate.d.ts +0 -56
- package/dist/src/commands/test-stale-gate.js +0 -208
- package/dist/src/commands/test-verdict.d.ts +0 -102
- package/dist/src/commands/test-verdict.js +0 -176
- package/dist/src/commands/test.d.ts +0 -22
- package/dist/src/commands/token-coverage.d.ts +0 -5
- package/dist/src/commands/token-coverage.js +0 -170
- package/dist/src/commands/token-lint.d.ts +0 -14
- package/dist/src/commands/token-lint.js +0 -151
- package/dist/src/commands/token-list.d.ts +0 -26
- package/dist/src/commands/token-list.js +0 -153
- package/dist/src/commands/token.d.ts +0 -14
- package/dist/src/commands/tree.d.ts +0 -19
- package/dist/src/commands/tree.js +0 -341
- package/dist/src/commands/typecheck-explain.d.ts +0 -13
- package/dist/src/commands/typecheck-explain.js +0 -100
- package/dist/src/commands/typecheck.d.ts +0 -61
- package/dist/src/commands/verify-scope.d.ts +0 -28
- package/dist/src/commands/verify-scope.js +0 -67
- package/dist/src/commands/verify.d.ts +0 -58
- package/dist/src/commands/watch.d.ts +0 -9
- package/dist/src/commands/wire.d.ts +0 -13
- package/dist/src/core/ast-utils.d.ts +0 -73
- package/dist/src/core/ast-utils.js +0 -105
- package/dist/src/core/brand-validation.d.ts +0 -7
- package/dist/src/core/brand-validation.js +0 -14
- package/dist/src/core/branding.d.ts +0 -86
- package/dist/src/core/branding.js +0 -371
- package/dist/src/core/browser-wire.d.ts +0 -48
- package/dist/src/core/browser-wire.js +0 -133
- package/dist/src/core/build-audit-platform.d.ts +0 -67
- package/dist/src/core/build-audit-platform.js +0 -373
- package/dist/src/core/build-audit-registration.d.ts +0 -80
- package/dist/src/core/build-audit-registration.js +0 -181
- package/dist/src/core/build-audit-resolve.d.ts +0 -78
- package/dist/src/core/build-audit-resolve.js +0 -240
- package/dist/src/core/build-audit-skip.d.ts +0 -57
- package/dist/src/core/build-audit-skip.js +0 -112
- package/dist/src/core/build-audit-transforms.d.ts +0 -23
- package/dist/src/core/build-audit-transforms.js +0 -92
- package/dist/src/core/build-audit.d.ts +0 -93
- package/dist/src/core/build-audit.js +0 -633
- package/dist/src/core/build-baseline-types.d.ts +0 -225
- package/dist/src/core/build-baseline-types.js +0 -10
- package/dist/src/core/build-baseline-validate.d.ts +0 -32
- package/dist/src/core/build-baseline-validate.js +0 -173
- package/dist/src/core/build-baseline.d.ts +0 -103
- package/dist/src/core/build-baseline.js +0 -261
- package/dist/src/core/build-jar-escalation.d.ts +0 -61
- package/dist/src/core/build-jar-escalation.js +0 -125
- package/dist/src/core/build-overwrite-guard.d.ts +0 -92
- package/dist/src/core/build-overwrite-guard.js +0 -235
- package/dist/src/core/build-prepare.d.ts +0 -83
- package/dist/src/core/build-prepare.js +0 -414
- package/dist/src/core/build-run-record.d.ts +0 -74
- package/dist/src/core/build-run-record.js +0 -136
- package/dist/src/core/checkjs-support-heads.d.ts +0 -41
- package/dist/src/core/checkjs-support-heads.js +0 -104
- package/dist/src/core/component-source-guard.d.ts +0 -20
- package/dist/src/core/component-source-guard.js +0 -68
- package/dist/src/core/config-mutate.d.ts +0 -16
- package/dist/src/core/config-mutate.js +0 -76
- package/dist/src/core/config-paths.d.ts +0 -16
- package/dist/src/core/config-paths.js +0 -106
- package/dist/src/core/config-state.d.ts +0 -16
- package/dist/src/core/config-state.js +0 -141
- package/dist/src/core/config-validate-build-audit.d.ts +0 -8
- package/dist/src/core/config-validate-build-audit.js +0 -80
- package/dist/src/core/config-validate-check.d.ts +0 -8
- package/dist/src/core/config-validate-check.js +0 -219
- package/dist/src/core/config-validate-file-size.d.ts +0 -15
- package/dist/src/core/config-validate-file-size.js +0 -154
- package/dist/src/core/config-validate-history.d.ts +0 -11
- package/dist/src/core/config-validate-history.js +0 -38
- package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
- package/dist/src/core/config-validate-patch-policy.js +0 -284
- package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
- package/dist/src/core/config-validate-test-toolchains.js +0 -133
- package/dist/src/core/config-validate-token-scales.d.ts +0 -9
- package/dist/src/core/config-validate-token-scales.js +0 -125
- package/dist/src/core/config-validate.d.ts +0 -11
- package/dist/src/core/config-validate.js +0 -509
- package/dist/src/core/config.d.ts +0 -92
- package/dist/src/core/config.js +0 -169
- package/dist/src/core/coverage-dispatch.d.ts +0 -24
- package/dist/src/core/coverage-dispatch.js +0 -44
- package/dist/src/core/coverage-extend.d.ts +0 -89
- package/dist/src/core/coverage-extend.js +0 -239
- package/dist/src/core/coverage-records.d.ts +0 -107
- package/dist/src/core/coverage-records.js +0 -383
- package/dist/src/core/destructive.d.ts +0 -144
- package/dist/src/core/destructive.js +0 -182
- package/dist/src/core/dev-profile.d.ts +0 -28
- package/dist/src/core/dev-profile.js +0 -58
- package/dist/src/core/diff-hunks.d.ts +0 -73
- package/dist/src/core/diff-hunks.js +0 -286
- package/dist/src/core/discard-baseline.d.ts +0 -60
- package/dist/src/core/discard-baseline.js +0 -247
- package/dist/src/core/display-state.d.ts +0 -50
- package/dist/src/core/display-state.js +0 -87
- package/dist/src/core/engine-changes.d.ts +0 -40
- package/dist/src/core/engine-changes.js +0 -95
- package/dist/src/core/engine-precondition.d.ts +0 -42
- package/dist/src/core/engine-precondition.js +0 -60
- package/dist/src/core/engine-session-lock.d.ts +0 -119
- package/dist/src/core/engine-session-lock.js +0 -374
- package/dist/src/core/engine-write-boundary.d.ts +0 -5
- package/dist/src/core/engine-write-boundary.js +0 -41
- package/dist/src/core/export-moved-code-shape.d.ts +0 -98
- package/dist/src/core/export-moved-code-shape.js +0 -220
- package/dist/src/core/file-lock-owner.d.ts +0 -103
- package/dist/src/core/file-lock-owner.js +0 -259
- package/dist/src/core/file-lock-queue.d.ts +0 -67
- package/dist/src/core/file-lock-queue.js +0 -219
- package/dist/src/core/file-lock-shared.d.ts +0 -57
- package/dist/src/core/file-lock-shared.js +0 -117
- package/dist/src/core/file-lock.d.ts +0 -143
- package/dist/src/core/file-lock.js +0 -531
- package/dist/src/core/firefox-archive.d.ts +0 -45
- package/dist/src/core/firefox-archive.js +0 -96
- package/dist/src/core/firefox-cache.d.ts +0 -30
- package/dist/src/core/firefox-cache.js +0 -248
- package/dist/src/core/firefox-download.d.ts +0 -30
- package/dist/src/core/firefox-download.js +0 -152
- package/dist/src/core/firefox-extract.d.ts +0 -42
- package/dist/src/core/firefox-extract.js +0 -248
- package/dist/src/core/firefox-ignorefile.d.ts +0 -17
- package/dist/src/core/firefox-ignorefile.js +0 -30
- package/dist/src/core/firefox.d.ts +0 -66
- package/dist/src/core/firefox.js +0 -121
- package/dist/src/core/forward-registrations.d.ts +0 -33
- package/dist/src/core/forward-registrations.js +0 -16
- package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
- package/dist/src/core/furnace-apply-dry-run.js +0 -99
- package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
- package/dist/src/core/furnace-apply-ftl.js +0 -210
- package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
- package/dist/src/core/furnace-apply-helpers.js +0 -436
- package/dist/src/core/furnace-apply-output.d.ts +0 -36
- package/dist/src/core/furnace-apply-output.js +0 -111
- package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -67
- package/dist/src/core/furnace-apply-overwrite-warn.js +0 -131
- package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
- package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
- package/dist/src/core/furnace-apply.d.ts +0 -49
- package/dist/src/core/furnace-apply.js +0 -465
- package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
- package/dist/src/core/furnace-checksum-utils.js +0 -54
- package/dist/src/core/furnace-composed-source.d.ts +0 -76
- package/dist/src/core/furnace-composed-source.js +0 -167
- package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
- package/dist/src/core/furnace-config-array-utils.js +0 -26
- package/dist/src/core/furnace-config-custom.d.ts +0 -15
- package/dist/src/core/furnace-config-custom.js +0 -73
- package/dist/src/core/furnace-config-order.d.ts +0 -8
- package/dist/src/core/furnace-config-order.js +0 -90
- package/dist/src/core/furnace-config-tokens.d.ts +0 -17
- package/dist/src/core/furnace-config-tokens.js +0 -42
- package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
- package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
- package/dist/src/core/furnace-config-validate.d.ts +0 -32
- package/dist/src/core/furnace-config-validate.js +0 -167
- package/dist/src/core/furnace-config.d.ts +0 -139
- package/dist/src/core/furnace-config.js +0 -511
- package/dist/src/core/furnace-constants.d.ts +0 -81
- package/dist/src/core/furnace-constants.js +0 -125
- package/dist/src/core/furnace-css-fragments.d.ts +0 -96
- package/dist/src/core/furnace-css-fragments.js +0 -279
- package/dist/src/core/furnace-deploy-owner.d.ts +0 -29
- package/dist/src/core/furnace-deploy-owner.js +0 -116
- package/dist/src/core/furnace-dir-entry.d.ts +0 -20
- package/dist/src/core/furnace-dir-entry.js +0 -21
- package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
- package/dist/src/core/furnace-fragment-includers.js +0 -122
- package/dist/src/core/furnace-graph-utils.d.ts +0 -11
- package/dist/src/core/furnace-graph-utils.js +0 -93
- package/dist/src/core/furnace-jsconfig.d.ts +0 -87
- package/dist/src/core/furnace-jsconfig.js +0 -248
- package/dist/src/core/furnace-marker.d.ts +0 -15
- package/dist/src/core/furnace-marker.js +0 -21
- package/dist/src/core/furnace-operation.d.ts +0 -195
- package/dist/src/core/furnace-operation.js +0 -444
- package/dist/src/core/furnace-precondition.d.ts +0 -61
- package/dist/src/core/furnace-precondition.js +0 -67
- package/dist/src/core/furnace-refresh.d.ts +0 -28
- package/dist/src/core/furnace-refresh.js +0 -125
- package/dist/src/core/furnace-registration-ast.d.ts +0 -53
- package/dist/src/core/furnace-registration-ast.js +0 -402
- package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
- package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
- package/dist/src/core/furnace-registration-remove.d.ts +0 -56
- package/dist/src/core/furnace-registration-remove.js +0 -260
- package/dist/src/core/furnace-registration-rename.d.ts +0 -26
- package/dist/src/core/furnace-registration-rename.js +0 -77
- package/dist/src/core/furnace-registration-validate.d.ts +0 -53
- package/dist/src/core/furnace-registration-validate.js +0 -110
- package/dist/src/core/furnace-registration.d.ts +0 -112
- package/dist/src/core/furnace-registration.js +0 -348
- package/dist/src/core/furnace-rollback.d.ts +0 -48
- package/dist/src/core/furnace-rollback.js +0 -170
- package/dist/src/core/furnace-scanner.d.ts +0 -47
- package/dist/src/core/furnace-scanner.js +0 -236
- package/dist/src/core/furnace-stale-export.d.ts +0 -60
- package/dist/src/core/furnace-stale-export.js +0 -125
- package/dist/src/core/furnace-staleness.d.ts +0 -24
- package/dist/src/core/furnace-staleness.js +0 -67
- package/dist/src/core/furnace-state-persist.d.ts +0 -68
- package/dist/src/core/furnace-state-persist.js +0 -116
- package/dist/src/core/furnace-step-errors.d.ts +0 -23
- package/dist/src/core/furnace-step-errors.js +0 -25
- package/dist/src/core/furnace-stories.d.ts +0 -37
- package/dist/src/core/furnace-stories.js +0 -186
- package/dist/src/core/furnace-tag-map.d.ts +0 -47
- package/dist/src/core/furnace-tag-map.js +0 -182
- package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
- package/dist/src/core/furnace-validate-accessibility.js +0 -417
- package/dist/src/core/furnace-validate-checks.d.ts +0 -4
- package/dist/src/core/furnace-validate-checks.js +0 -6
- package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
- package/dist/src/core/furnace-validate-compatibility.js +0 -295
- package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
- package/dist/src/core/furnace-validate-exceptions.js +0 -98
- package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
- package/dist/src/core/furnace-validate-helpers.js +0 -4
- package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
- package/dist/src/core/furnace-validate-icon-button.js +0 -78
- package/dist/src/core/furnace-validate-registration.d.ts +0 -67
- package/dist/src/core/furnace-validate-registration.js +0 -487
- package/dist/src/core/furnace-validate-structure.d.ts +0 -22
- package/dist/src/core/furnace-validate-structure.js +0 -122
- package/dist/src/core/furnace-validate.d.ts +0 -41
- package/dist/src/core/furnace-validate.js +0 -331
- package/dist/src/core/furnace-version-drift.d.ts +0 -57
- package/dist/src/core/furnace-version-drift.js +0 -102
- package/dist/src/core/gecko-dom-types.d.ts +0 -2
- package/dist/src/core/gecko-dom-types.js +0 -17
- package/dist/src/core/git-base.d.ts +0 -101
- package/dist/src/core/git-base.js +0 -162
- package/dist/src/core/git-diff-new-file.d.ts +0 -40
- package/dist/src/core/git-diff-new-file.js +0 -118
- package/dist/src/core/git-diff.d.ts +0 -82
- package/dist/src/core/git-diff.js +0 -539
- package/dist/src/core/git-file-ops.d.ts +0 -108
- package/dist/src/core/git-file-ops.js +0 -280
- package/dist/src/core/git-readonly-index.d.ts +0 -91
- package/dist/src/core/git-readonly-index.js +0 -177
- package/dist/src/core/git-status.d.ts +0 -84
- package/dist/src/core/git-status.js +0 -208
- package/dist/src/core/git.d.ts +0 -114
- package/dist/src/core/git.js +0 -540
- package/dist/src/core/harness-helper-pids.d.ts +0 -98
- package/dist/src/core/harness-helper-pids.js +0 -240
- package/dist/src/core/harness-orphans.d.ts +0 -118
- package/dist/src/core/harness-orphans.js +0 -268
- package/dist/src/core/harness-port-fallback.d.ts +0 -60
- package/dist/src/core/harness-port-fallback.js +0 -96
- package/dist/src/core/harness-port-reservation.d.ts +0 -60
- package/dist/src/core/harness-port-reservation.js +0 -122
- package/dist/src/core/history-log-file.d.ts +0 -61
- package/dist/src/core/history-log-file.js +0 -164
- package/dist/src/core/history-log.d.ts +0 -20
- package/dist/src/core/history-log.js +0 -30
- package/dist/src/core/json-preserving-edit.d.ts +0 -22
- package/dist/src/core/json-preserving-edit.js +0 -199
- package/dist/src/core/launchable-build.d.ts +0 -39
- package/dist/src/core/launchable-build.js +0 -85
- package/dist/src/core/license-headers.d.ts +0 -103
- package/dist/src/core/license-headers.js +0 -328
- package/dist/src/core/line-prefixer.d.ts +0 -18
- package/dist/src/core/line-prefixer.js +0 -34
- package/dist/src/core/lit-template-regions.d.ts +0 -4
- package/dist/src/core/lit-template-regions.js +0 -50
- package/dist/src/core/mach-build-artifacts.d.ts +0 -176
- package/dist/src/core/mach-build-artifacts.js +0 -436
- package/dist/src/core/mach-error-hints.d.ts +0 -24
- package/dist/src/core/mach-error-hints.js +0 -135
- package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
- package/dist/src/core/mach-known-noise-filter.js +0 -257
- package/dist/src/core/mach-mozconfig.d.ts +0 -57
- package/dist/src/core/mach-mozconfig.js +0 -166
- package/dist/src/core/mach-python.d.ts +0 -19
- package/dist/src/core/mach-python.js +0 -131
- package/dist/src/core/mach-resource-shim.d.ts +0 -107
- package/dist/src/core/mach-resource-shim.js +0 -640
- package/dist/src/core/mach.d.ts +0 -284
- package/dist/src/core/mach.js +0 -445
- package/dist/src/core/marionette-port.d.ts +0 -153
- package/dist/src/core/marionette-port.js +0 -474
- package/dist/src/core/marionette-preflight.d.ts +0 -58
- package/dist/src/core/marionette-preflight.js +0 -332
- package/dist/src/core/markdown-table.d.ts +0 -104
- package/dist/src/core/markdown-table.js +0 -265
- package/dist/src/core/mochitest-server-port.d.ts +0 -81
- package/dist/src/core/mochitest-server-port.js +0 -175
- package/dist/src/core/module-resolution-preflight.d.ts +0 -65
- package/dist/src/core/module-resolution-preflight.js +0 -171
- package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
- package/dist/src/core/moz-manifest-helpers.js +0 -163
- package/dist/src/core/moz-manifest-register.d.ts +0 -19
- package/dist/src/core/moz-manifest-register.js +0 -51
- package/dist/src/core/moz-manifest-rules.d.ts +0 -58
- package/dist/src/core/moz-manifest-rules.js +0 -264
- package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
- package/dist/src/core/moz-manifest-tokenizers.js +0 -108
- package/dist/src/core/negative-control-compiled.d.ts +0 -46
- package/dist/src/core/negative-control-compiled.js +0 -109
- package/dist/src/core/negative-control-diff.d.ts +0 -51
- package/dist/src/core/negative-control-diff.js +0 -167
- package/dist/src/core/negative-control.d.ts +0 -150
- package/dist/src/core/negative-control.js +0 -399
- package/dist/src/core/objdir-install-manifests.d.ts +0 -73
- package/dist/src/core/objdir-install-manifests.js +0 -226
- package/dist/src/core/objdir-maintenance.d.ts +0 -10
- package/dist/src/core/objdir-maintenance.js +0 -167
- package/dist/src/core/ownership-table.d.ts +0 -53
- package/dist/src/core/ownership-table.js +0 -159
- package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
- package/dist/src/core/parent-exit-watchdog.js +0 -69
- package/dist/src/core/park-store.d.ts +0 -63
- package/dist/src/core/park-store.js +0 -216
- package/dist/src/core/parser-fallback.d.ts +0 -50
- package/dist/src/core/parser-fallback.js +0 -61
- package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
- package/dist/src/core/patch-apply-fuzz.js +0 -125
- package/dist/src/core/patch-apply.d.ts +0 -88
- package/dist/src/core/patch-apply.js +0 -435
- package/dist/src/core/patch-export-coverage.d.ts +0 -49
- package/dist/src/core/patch-export-coverage.js +0 -73
- package/dist/src/core/patch-export-metadata.d.ts +0 -46
- package/dist/src/core/patch-export-metadata.js +0 -47
- package/dist/src/core/patch-export-update.d.ts +0 -55
- package/dist/src/core/patch-export-update.js +0 -95
- package/dist/src/core/patch-export.d.ts +0 -175
- package/dist/src/core/patch-export.js +0 -312
- package/dist/src/core/patch-files.d.ts +0 -17
- package/dist/src/core/patch-files.js +0 -59
- package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
- package/dist/src/core/patch-identifier-suggest.js +0 -135
- package/dist/src/core/patch-lint-binary.d.ts +0 -45
- package/dist/src/core/patch-lint-binary.js +0 -39
- package/dist/src/core/patch-lint-cache-checkjs.d.ts +0 -45
- package/dist/src/core/patch-lint-cache-checkjs.js +0 -195
- package/dist/src/core/patch-lint-cache.d.ts +0 -79
- package/dist/src/core/patch-lint-cache.js +0 -247
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -57
- package/dist/src/core/patch-lint-checkjs-any-import.js +0 -91
- package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
- package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
- package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
- package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
- package/dist/src/core/patch-lint-checkjs-resolve.d.ts +0 -31
- package/dist/src/core/patch-lint-checkjs-resolve.js +0 -86
- package/dist/src/core/patch-lint-checkjs.d.ts +0 -182
- package/dist/src/core/patch-lint-checkjs.js +0 -563
- package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
- package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
- package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
- package/dist/src/core/patch-lint-code-lines.js +0 -105
- package/dist/src/core/patch-lint-creators.d.ts +0 -26
- package/dist/src/core/patch-lint-creators.js +0 -45
- package/dist/src/core/patch-lint-cross.d.ts +0 -232
- package/dist/src/core/patch-lint-cross.js +0 -590
- package/dist/src/core/patch-lint-css.d.ts +0 -27
- package/dist/src/core/patch-lint-css.js +0 -228
- package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
- package/dist/src/core/patch-lint-diff-tag.js +0 -105
- package/dist/src/core/patch-lint-diff.d.ts +0 -42
- package/dist/src/core/patch-lint-diff.js +0 -100
- package/dist/src/core/patch-lint-file-size.d.ts +0 -57
- package/dist/src/core/patch-lint-file-size.js +0 -62
- package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
- package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
- package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
- package/dist/src/core/patch-lint-forward-registration.js +0 -266
- package/dist/src/core/patch-lint-ignore.d.ts +0 -196
- package/dist/src/core/patch-lint-ignore.js +0 -429
- package/dist/src/core/patch-lint-imports.d.ts +0 -9
- package/dist/src/core/patch-lint-imports.js +0 -90
- package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
- package/dist/src/core/patch-lint-jsdoc.js +0 -471
- package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
- package/dist/src/core/patch-lint-module-registration.js +0 -97
- package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
- package/dist/src/core/patch-lint-mozbuild.js +0 -192
- package/dist/src/core/patch-lint-observer.d.ts +0 -37
- package/dist/src/core/patch-lint-observer.js +0 -167
- package/dist/src/core/patch-lint-ownership.d.ts +0 -74
- package/dist/src/core/patch-lint-ownership.js +0 -125
- package/dist/src/core/patch-lint-prettier.d.ts +0 -34
- package/dist/src/core/patch-lint-prettier.js +0 -124
- package/dist/src/core/patch-lint-projection.d.ts +0 -25
- package/dist/src/core/patch-lint-projection.js +0 -43
- package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
- package/dist/src/core/patch-lint-queue-types.js +0 -12
- package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
- package/dist/src/core/patch-lint-size-thresholds.js +0 -110
- package/dist/src/core/patch-lint-size.d.ts +0 -117
- package/dist/src/core/patch-lint-size.js +0 -331
- package/dist/src/core/patch-lint-staged-registration.d.ts +0 -98
- package/dist/src/core/patch-lint-staged-registration.js +0 -128
- package/dist/src/core/patch-lint-token-scale.d.ts +0 -65
- package/dist/src/core/patch-lint-token-scale.js +0 -304
- package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
- package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
- package/dist/src/core/patch-lint.d.ts +0 -206
- package/dist/src/core/patch-lint.js +0 -533
- package/dist/src/core/patch-lock.d.ts +0 -40
- package/dist/src/core/patch-lock.js +0 -129
- package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
- package/dist/src/core/patch-manifest-consistency.js +0 -256
- package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
- package/dist/src/core/patch-manifest-files-affected.js +0 -77
- package/dist/src/core/patch-manifest-io.d.ts +0 -199
- package/dist/src/core/patch-manifest-io.js +0 -556
- package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
- package/dist/src/core/patch-manifest-key-order.js +0 -60
- package/dist/src/core/patch-manifest-query.d.ts +0 -55
- package/dist/src/core/patch-manifest-query.js +0 -139
- package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
- package/dist/src/core/patch-manifest-resolve.js +0 -35
- package/dist/src/core/patch-manifest-stage.d.ts +0 -46
- package/dist/src/core/patch-manifest-stage.js +0 -96
- package/dist/src/core/patch-manifest-validate.d.ts +0 -20
- package/dist/src/core/patch-manifest-validate.js +0 -240
- package/dist/src/core/patch-manifest.d.ts +0 -12
- package/dist/src/core/patch-manifest.js +0 -13
- package/dist/src/core/patch-order-legal.d.ts +0 -26
- package/dist/src/core/patch-order-legal.js +0 -88
- package/dist/src/core/patch-parse.d.ts +0 -176
- package/dist/src/core/patch-parse.js +0 -416
- package/dist/src/core/patch-policy-content.d.ts +0 -40
- package/dist/src/core/patch-policy-content.js +0 -219
- package/dist/src/core/patch-policy.d.ts +0 -80
- package/dist/src/core/patch-policy.js +0 -394
- package/dist/src/core/patch-registration-refs.d.ts +0 -41
- package/dist/src/core/patch-registration-refs.js +0 -107
- package/dist/src/core/patch-retired.d.ts +0 -57
- package/dist/src/core/patch-retired.js +0 -92
- package/dist/src/core/patch-source-metadata.d.ts +0 -6
- package/dist/src/core/patch-source-metadata.js +0 -12
- package/dist/src/core/patch-subset.d.ts +0 -18
- package/dist/src/core/patch-subset.js +0 -67
- package/dist/src/core/patch-transform.d.ts +0 -61
- package/dist/src/core/patch-transform.js +0 -198
- package/dist/src/core/preflight-wait.d.ts +0 -22
- package/dist/src/core/preflight-wait.js +0 -62
- package/dist/src/core/process-cpu-time.d.ts +0 -12
- package/dist/src/core/process-cpu-time.js +0 -52
- package/dist/src/core/process-owner.d.ts +0 -9
- package/dist/src/core/process-owner.js +0 -43
- package/dist/src/core/rebase-dry-run.d.ts +0 -48
- package/dist/src/core/rebase-dry-run.js +0 -105
- package/dist/src/core/rebase-from-version.d.ts +0 -46
- package/dist/src/core/rebase-from-version.js +0 -71
- package/dist/src/core/rebase-session.d.ts +0 -100
- package/dist/src/core/rebase-session.js +0 -174
- package/dist/src/core/register-browser-content.d.ts +0 -11
- package/dist/src/core/register-browser-content.js +0 -52
- package/dist/src/core/register-browser-test.d.ts +0 -18
- package/dist/src/core/register-browser-test.js +0 -66
- package/dist/src/core/register-module.d.ts +0 -11
- package/dist/src/core/register-module.js +0 -56
- package/dist/src/core/register-result.d.ts +0 -30
- package/dist/src/core/register-result.js +0 -8
- package/dist/src/core/register-scaffold.d.ts +0 -55
- package/dist/src/core/register-scaffold.js +0 -146
- package/dist/src/core/register-shared-css.d.ts +0 -36
- package/dist/src/core/register-shared-css.js +0 -112
- package/dist/src/core/register-xpcshell-test.d.ts +0 -50
- package/dist/src/core/register-xpcshell-test.js +0 -143
- package/dist/src/core/run-log-redact.d.ts +0 -38
- package/dist/src/core/run-log-redact.js +0 -69
- package/dist/src/core/run-log.d.ts +0 -97
- package/dist/src/core/run-log.js +0 -334
- package/dist/src/core/run-profile.d.ts +0 -57
- package/dist/src/core/run-profile.js +0 -137
- package/dist/src/core/shared-ftl.d.ts +0 -28
- package/dist/src/core/shared-ftl.js +0 -49
- package/dist/src/core/signal-critical.d.ts +0 -38
- package/dist/src/core/signal-critical.js +0 -62
- package/dist/src/core/smoke-patterns.d.ts +0 -81
- package/dist/src/core/smoke-patterns.js +0 -176
- package/dist/src/core/state-file.d.ts +0 -60
- package/dist/src/core/state-file.js +0 -71
- package/dist/src/core/status-binary.d.ts +0 -62
- package/dist/src/core/status-binary.js +0 -133
- package/dist/src/core/status-classify.d.ts +0 -96
- package/dist/src/core/status-classify.js +0 -244
- package/dist/src/core/test-changed-prefs.d.ts +0 -30
- package/dist/src/core/test-changed-prefs.js +0 -93
- package/dist/src/core/test-harness-crash.d.ts +0 -251
- package/dist/src/core/test-harness-crash.js +0 -780
- package/dist/src/core/test-harness-infra.d.ts +0 -32
- package/dist/src/core/test-harness-infra.js +0 -69
- package/dist/src/core/test-harness-output.d.ts +0 -45
- package/dist/src/core/test-harness-output.js +0 -119
- package/dist/src/core/test-harness-signature.d.ts +0 -57
- package/dist/src/core/test-harness-signature.js +0 -35
- package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
- package/dist/src/core/test-harness-verdict-notes.js +0 -48
- package/dist/src/core/test-host-state.d.ts +0 -14
- package/dist/src/core/test-host-state.js +0 -80
- package/dist/src/core/test-path-scope.d.ts +0 -59
- package/dist/src/core/test-path-scope.js +0 -147
- package/dist/src/core/test-profile-files.d.ts +0 -17
- package/dist/src/core/test-profile-files.js +0 -75
- package/dist/src/core/test-raw-log.d.ts +0 -66
- package/dist/src/core/test-raw-log.js +0 -122
- package/dist/src/core/test-run-completeness.d.ts +0 -97
- package/dist/src/core/test-run-completeness.js +0 -191
- package/dist/src/core/test-stale-check.d.ts +0 -213
- package/dist/src/core/test-stale-check.js +0 -396
- package/dist/src/core/test-stale-exempt.d.ts +0 -40
- package/dist/src/core/test-stale-exempt.js +0 -70
- package/dist/src/core/test-stale-symlink.d.ts +0 -12
- package/dist/src/core/test-stale-symlink.js +0 -39
- package/dist/src/core/test-stall-triage.d.ts +0 -51
- package/dist/src/core/test-stall-triage.js +0 -142
- package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
- package/dist/src/core/test-xpcshell-retry.js +0 -31
- package/dist/src/core/token-category.d.ts +0 -54
- package/dist/src/core/token-category.js +0 -299
- package/dist/src/core/token-coverage.d.ts +0 -12
- package/dist/src/core/token-coverage.js +0 -96
- package/dist/src/core/token-dark-mode.d.ts +0 -64
- package/dist/src/core/token-dark-mode.js +0 -186
- package/dist/src/core/token-docs.d.ts +0 -34
- package/dist/src/core/token-docs.js +0 -102
- package/dist/src/core/token-inventory.d.ts +0 -56
- package/dist/src/core/token-inventory.js +0 -114
- package/dist/src/core/token-lint.d.ts +0 -53
- package/dist/src/core/token-lint.js +0 -131
- package/dist/src/core/token-manager.d.ts +0 -87
- package/dist/src/core/token-manager.js +0 -407
- package/dist/src/core/token-scaffold.d.ts +0 -36
- package/dist/src/core/token-scaffold.js +0 -73
- package/dist/src/core/token-sibling-sheets.d.ts +0 -46
- package/dist/src/core/token-sibling-sheets.js +0 -119
- package/dist/src/core/token-variant.d.ts +0 -90
- package/dist/src/core/token-variant.js +0 -327
- package/dist/src/core/toolchain-preflight.d.ts +0 -90
- package/dist/src/core/toolchain-preflight.js +0 -251
- package/dist/src/core/tree-cow.d.ts +0 -16
- package/dist/src/core/tree-cow.js +0 -71
- package/dist/src/core/tree-guard.d.ts +0 -35
- package/dist/src/core/tree-guard.js +0 -194
- package/dist/src/core/tree-store.d.ts +0 -143
- package/dist/src/core/tree-store.js +0 -478
- package/dist/src/core/typecheck-explain.d.ts +0 -93
- package/dist/src/core/typecheck-explain.js +0 -213
- package/dist/src/core/typecheck-shim.d.ts +0 -90
- package/dist/src/core/typecheck-shim.js +0 -508
- package/dist/src/core/typecheck.d.ts +0 -97
- package/dist/src/core/typecheck.js +0 -457
- package/dist/src/core/wire-destroy.d.ts +0 -25
- package/dist/src/core/wire-destroy.js +0 -126
- package/dist/src/core/wire-dom-fragment.d.ts +0 -44
- package/dist/src/core/wire-dom-fragment.js +0 -139
- package/dist/src/core/wire-init.d.ts +0 -28
- package/dist/src/core/wire-init.js +0 -219
- package/dist/src/core/wire-subscript.d.ts +0 -23
- package/dist/src/core/wire-subscript.js +0 -145
- package/dist/src/core/wire-utils.d.ts +0 -149
- package/dist/src/core/wire-utils.js +0 -338
- package/dist/src/core/xpcshell-appdir.d.ts +0 -157
- package/dist/src/core/xpcshell-appdir.js +0 -299
- package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
- package/dist/src/core/xpcshell-profile-dir.js +0 -45
- package/dist/src/errors/base.d.ts +0 -217
- package/dist/src/errors/base.js +0 -279
- package/dist/src/errors/build.d.ts +0 -92
- package/dist/src/errors/build.js +0 -166
- package/dist/src/errors/codes.d.ts +0 -74
- package/dist/src/errors/codes.js +0 -74
- package/dist/src/errors/config.d.ts +0 -17
- package/dist/src/errors/config.js +0 -39
- package/dist/src/errors/download.d.ts +0 -66
- package/dist/src/errors/download.js +0 -160
- package/dist/src/errors/furnace.d.ts +0 -20
- package/dist/src/errors/furnace.js +0 -28
- package/dist/src/errors/git.d.ts +0 -65
- package/dist/src/errors/git.js +0 -140
- package/dist/src/errors/patch.d.ts +0 -27
- package/dist/src/errors/patch.js +0 -52
- package/dist/src/errors/rebase.d.ts +0 -42
- package/dist/src/errors/rebase.js +0 -71
- package/dist/src/errors/run.d.ts +0 -16
- package/dist/src/errors/run.js +0 -22
- package/dist/src/index.d.ts +0 -42
- package/dist/src/index.js +0 -32
- package/dist/src/types/cli.d.ts +0 -14
- package/dist/src/types/commands/index.d.ts +0 -6
- package/dist/src/types/commands/index.js +0 -5
- package/dist/src/types/commands/options.d.ts +0 -1372
- package/dist/src/types/commands/options.js +0 -5
- package/dist/src/types/commands/patches.d.ts +0 -352
- package/dist/src/types/commands/patches.js +0 -5
- package/dist/src/types/commands/project.d.ts +0 -51
- package/dist/src/types/commands/project.js +0 -5
- package/dist/src/types/config.d.ts +0 -732
- package/dist/src/types/config.js +0 -15
- package/dist/src/types/furnace.d.ts +0 -422
- package/dist/src/types/furnace.js +0 -26
- package/dist/src/types/index.d.ts +0 -5
- package/dist/src/types/index.js +0 -5
- package/dist/src/types/json.d.ts +0 -22
- package/dist/src/types/json.js +0 -11
- package/dist/src/types/typecheck.d.ts +0 -51
- package/dist/src/types/typecheck.js +0 -14
- package/dist/src/utils/assert.d.ts +0 -34
- package/dist/src/utils/assert.js +0 -61
- package/dist/src/utils/build-info.d.ts +0 -30
- package/dist/src/utils/build-info.js +0 -99
- package/dist/src/utils/child-env.d.ts +0 -28
- package/dist/src/utils/child-env.js +0 -27
- package/dist/src/utils/concurrency.d.ts +0 -8
- package/dist/src/utils/concurrency.js +0 -32
- package/dist/src/utils/elapsed.d.ts +0 -2
- package/dist/src/utils/elapsed.js +0 -23
- package/dist/src/utils/errors.d.ts +0 -39
- package/dist/src/utils/errors.js +0 -67
- package/dist/src/utils/fs.d.ts +0 -113
- package/dist/src/utils/fs.js +0 -337
- package/dist/src/utils/hash.d.ts +0 -12
- package/dist/src/utils/hash.js +0 -16
- package/dist/src/utils/line-dispatch.d.ts +0 -15
- package/dist/src/utils/line-dispatch.js +0 -48
- package/dist/src/utils/logger.d.ts +0 -109
- package/dist/src/utils/logger.js +0 -270
- package/dist/src/utils/machine-output.d.ts +0 -12
- package/dist/src/utils/machine-output.js +0 -33
- package/dist/src/utils/options.d.ts +0 -155
- package/dist/src/utils/options.js +0 -312
- package/dist/src/utils/package-root.d.ts +0 -21
- package/dist/src/utils/package-root.js +0 -70
- package/dist/src/utils/parse.d.ts +0 -117
- package/dist/src/utils/parse.js +0 -214
- package/dist/src/utils/path-glob.d.ts +0 -15
- package/dist/src/utils/path-glob.js +0 -47
- package/dist/src/utils/paths.d.ts +0 -31
- package/dist/src/utils/paths.js +0 -80
- package/dist/src/utils/platform.d.ts +0 -9
- package/dist/src/utils/platform.js +0 -14
- package/dist/src/utils/process-group.d.ts +0 -42
- package/dist/src/utils/process-group.js +0 -190
- package/dist/src/utils/process-input.d.ts +0 -27
- package/dist/src/utils/process-input.js +0 -46
- package/dist/src/utils/process.d.ts +0 -293
- package/dist/src/utils/process.js +0 -593
- package/dist/src/utils/ps-duration.d.ts +0 -31
- package/dist/src/utils/ps-duration.js +0 -70
- package/dist/src/utils/regex.d.ts +0 -39
- package/dist/src/utils/regex.js +0 -109
- package/dist/src/utils/sleep.d.ts +0 -25
- package/dist/src/utils/sleep.js +0 -30
- package/dist/src/utils/stdio-drain.d.ts +0 -28
- package/dist/src/utils/stdio-drain.js +0 -54
- package/dist/src/utils/validation.d.ts +0 -182
- package/dist/src/utils/validation.js +0 -394
- package/docs/lifecycle-invariants.md +0 -523
- package/docs/run-logs.md +0 -122
- package/docs/verification-trees.md +0 -49
- /package/dist/src/{types/cli.js → cli/context.js} +0 -0
package/dist/src/core/git.js
DELETED
|
@@ -1,540 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { readdir, stat } from 'node:fs/promises';
|
|
3
|
-
import { join } from 'node:path';
|
|
4
|
-
import { ExecTimeoutError } from '../errors/base.js';
|
|
5
|
-
import { GitError, GitIndexingTimeoutError, GitIndexLockError, PatchApplyError, } from '../errors/git.js';
|
|
6
|
-
import { elapsedSince } from '../utils/elapsed.js';
|
|
7
|
-
import { toError } from '../utils/errors.js';
|
|
8
|
-
import { pathExists, pathExistsStrict, removeFile } from '../utils/fs.js';
|
|
9
|
-
import { verbose } from '../utils/logger.js';
|
|
10
|
-
import { exec } from '../utils/process.js';
|
|
11
|
-
import { ensureFirefoxIgnorefileCompatibility } from './firefox-ignorefile.js';
|
|
12
|
-
import { chunkPathspecs, configureGitLineEndings, configureGitPerformance, ensureGit, git, GIT_ADD_CHUNK_TIMEOUT_ENV_VAR, GIT_ADD_CHUNK_TIMEOUT_MS, GIT_ADD_TIMEOUT_MS, } from './git-base.js';
|
|
13
|
-
import { getWorkingTreeStatus } from './git-status.js';
|
|
14
|
-
// ── Functions that remain in this file ──
|
|
15
|
-
/**
|
|
16
|
-
* Checks if a directory is a git repository.
|
|
17
|
-
* @param dir - Directory to check
|
|
18
|
-
* @returns True if the directory is a git repository
|
|
19
|
-
*/
|
|
20
|
-
export async function isGitRepository(dir) {
|
|
21
|
-
const gitDir = join(dir, '.git');
|
|
22
|
-
return pathExistsStrict(gitDir);
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Ensures the repository has an "origin" remote.
|
|
26
|
-
*
|
|
27
|
-
* Firefox's mach bootstrap and build scripts shell out to
|
|
28
|
-
* `git remote get-url origin` and emit noisy errors when the remote is
|
|
29
|
-
* absent. This adds a local-only dummy remote so those scripts stay quiet.
|
|
30
|
-
* Nothing is ever fetched from or pushed to this remote.
|
|
31
|
-
*
|
|
32
|
-
* @param dir - Git working directory
|
|
33
|
-
*/
|
|
34
|
-
export async function ensureOriginRemote(dir) {
|
|
35
|
-
const result = await exec('git', ['remote', 'get-url', 'origin'], { cwd: dir });
|
|
36
|
-
if (result.exitCode !== 0) {
|
|
37
|
-
await git(['remote', 'add', 'origin', 'https://github.com/mozilla-firefox/firefox'], dir);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
// ── Large-tree staging helpers ──
|
|
41
|
-
const GIT_ADD_ENV = { GIT_INDEX_THREADS: '0' };
|
|
42
|
-
/**
|
|
43
|
-
* Returns true when the error looks like a process killed by the spawn
|
|
44
|
-
* timeout (SIGTERM → exit code 143) or an AbortError raised by
|
|
45
|
-
* `AbortSignal.timeout`. Node's `child_process` layer rejects with an
|
|
46
|
-
* AbortError when the signal fires, so both shapes have to be recognised.
|
|
47
|
-
*/
|
|
48
|
-
function isTimeoutError(error) {
|
|
49
|
-
// `exec` rejects with a typed ExecTimeoutError when its `timeout`
|
|
50
|
-
// option fires (the raw AbortError check below is kept for defence in
|
|
51
|
-
// depth against other abort paths).
|
|
52
|
-
if (error instanceof ExecTimeoutError)
|
|
53
|
-
return true;
|
|
54
|
-
if (error instanceof Error && error.name === 'AbortError')
|
|
55
|
-
return true;
|
|
56
|
-
if (!(error instanceof GitError))
|
|
57
|
-
return false;
|
|
58
|
-
if (/SIGTERM|timed out|exit code 143/i.test(error.message))
|
|
59
|
-
return true;
|
|
60
|
-
if (error.cause instanceof Error && error.cause.name === 'AbortError')
|
|
61
|
-
return true;
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Removes `.git/index.lock` left behind by a killed git process.
|
|
66
|
-
*/
|
|
67
|
-
async function cleanupIndexLock(dir) {
|
|
68
|
-
const lockPath = join(dir, '.git', 'index.lock');
|
|
69
|
-
if (await pathExists(lockPath)) {
|
|
70
|
-
await removeFile(lockPath);
|
|
71
|
-
verbose('Cleaned up stale .git/index.lock after timeout');
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Returns true when {@link relativePath} is ignored by `.gitignore` (or any
|
|
76
|
-
* other exclusion mechanism git considers, e.g. `.git/info/exclude`,
|
|
77
|
-
* core.excludesFile). Used by the chunked staging fallback to skip entries
|
|
78
|
-
* that would otherwise fail `git add -- <path>` with the fatal "The
|
|
79
|
-
* following paths are ignored by one of your .gitignore files" error, a
|
|
80
|
-
* state the monolithic `git add -A` path silently handles. A Firefox
|
|
81
|
-
* checkout's top-level `.vscode/` is the common case: without this, the
|
|
82
|
-
* chunked invocation aborts the whole fallback and turns a recoverable
|
|
83
|
-
* monolithic timeout into a hard setup failure.
|
|
84
|
-
*
|
|
85
|
-
* `git check-ignore -q -- <path>` exits 0 when the path is ignored, 1 when
|
|
86
|
-
* it is not, and >=128 on real failures. Anything other than 0/1 is treated
|
|
87
|
-
* as "unknown" and conservatively returns false, so the chunk runs and any
|
|
88
|
-
* real underlying failure surfaces normally.
|
|
89
|
-
*/
|
|
90
|
-
async function isPathIgnored(dir, relativePath) {
|
|
91
|
-
const result = await exec('git', ['check-ignore', '-q', '--', relativePath], { cwd: dir });
|
|
92
|
-
if (result.exitCode === 0)
|
|
93
|
-
return true;
|
|
94
|
-
if (result.exitCode === 1)
|
|
95
|
-
return false;
|
|
96
|
-
// Any other shape is "we don't know", so let the caller proceed and
|
|
97
|
-
// surface the real error if `git add` rejects the path.
|
|
98
|
-
return false;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Stages every file by walking top-level directories one at a time. This
|
|
102
|
-
* avoids a single monolithic `git add -A` that may time out on very large
|
|
103
|
-
* (~300 K file) trees like Firefox.
|
|
104
|
-
*
|
|
105
|
-
* A chunked pass that hits its own timeout raises a typed
|
|
106
|
-
* {@link GitIndexingTimeoutError} rather than an opaque `AbortError: The
|
|
107
|
-
* operation was aborted`. The typed error carries the environment-variable
|
|
108
|
-
* override so the operator can extend the budget and re-run.
|
|
109
|
-
*/
|
|
110
|
-
async function stageAllFilesChunked(dir, scan, options = {}) {
|
|
111
|
-
const { directories, topLevelFiles: topLevelCandidates } = scan;
|
|
112
|
-
async function runChunk(args, label) {
|
|
113
|
-
try {
|
|
114
|
-
await git(args, dir, {
|
|
115
|
-
timeout: GIT_ADD_CHUNK_TIMEOUT_MS,
|
|
116
|
-
env: GIT_ADD_ENV,
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
catch (error) {
|
|
120
|
-
if (isTimeoutError(error)) {
|
|
121
|
-
throw new GitIndexingTimeoutError('chunked', GIT_ADD_CHUNK_TIMEOUT_MS, GIT_ADD_CHUNK_TIMEOUT_ENV_VAR, error instanceof Error ? error : undefined);
|
|
122
|
-
}
|
|
123
|
-
verbose(`Chunked staging failed on ${label}: ${toError(error).message}`);
|
|
124
|
-
throw error;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
let stagedDirectories = 0;
|
|
128
|
-
for (const dirName of directories) {
|
|
129
|
-
stagedDirectories++;
|
|
130
|
-
if (await isPathIgnored(dir, dirName)) {
|
|
131
|
-
options.onProgress?.(`Skipping gitignored directory ${stagedDirectories}/${directories.length}: ${dirName}/`);
|
|
132
|
-
continue;
|
|
133
|
-
}
|
|
134
|
-
options.onProgress?.(`Staging directory ${stagedDirectories}/${directories.length}: ${dirName}/...`);
|
|
135
|
-
await runChunk(['add', '--', dirName], dirName);
|
|
136
|
-
}
|
|
137
|
-
// Stage any top-level files (excluding gitignored ones, because `git add`
|
|
138
|
-
// on an explicit ignored path errors out, which would otherwise
|
|
139
|
-
// abort the chunked fallback after the monolithic path has already
|
|
140
|
-
// timed out).
|
|
141
|
-
const topLevelFiles = [];
|
|
142
|
-
for (const name of topLevelCandidates) {
|
|
143
|
-
if (await isPathIgnored(dir, name)) {
|
|
144
|
-
options.onProgress?.(`Skipping gitignored top-level file: ${name}`);
|
|
145
|
-
continue;
|
|
146
|
-
}
|
|
147
|
-
topLevelFiles.push(name);
|
|
148
|
-
}
|
|
149
|
-
if (topLevelFiles.length > 0) {
|
|
150
|
-
options.onProgress?.(`Staging ${topLevelFiles.length} top-level file(s)...`);
|
|
151
|
-
await runChunk(['add', '--', ...topLevelFiles], 'top-level files');
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Interval between heartbeat progress messages during the monolithic
|
|
156
|
-
* `git add -A`. On a fresh ~600 MB Firefox tree the monolithic add runs
|
|
157
|
-
* 60 to 120 seconds, during which git emits nothing to stdout/stderr. Without a
|
|
158
|
-
* heartbeat the CLI spinner stays pinned on "Indexing Firefox source …" for
|
|
159
|
-
* the full window and looks hung, which invites a SIGINT mid-way.
|
|
160
|
-
*/
|
|
161
|
-
const GIT_ADD_HEARTBEAT_MS = 15_000;
|
|
162
|
-
const GIT_COMMIT_HEARTBEAT_MS = 15_000;
|
|
163
|
-
async function scanTopLevelSource(dir) {
|
|
164
|
-
const entries = await readdir(dir, { withFileTypes: true });
|
|
165
|
-
return {
|
|
166
|
-
directories: entries
|
|
167
|
-
.filter((entry) => entry.isDirectory() && entry.name !== '.git')
|
|
168
|
-
.map((entry) => entry.name)
|
|
169
|
-
.sort(),
|
|
170
|
-
topLevelFiles: entries
|
|
171
|
-
.filter((entry) => entry.isFile())
|
|
172
|
-
.map((entry) => entry.name)
|
|
173
|
-
.sort(),
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Stages all files in the repository.
|
|
178
|
-
* Tries a monolithic `git add -A` first. If that times out, falls back to
|
|
179
|
-
* directory-by-directory staged adds.
|
|
180
|
-
*/
|
|
181
|
-
export async function stageAllFiles(dir, options = {}) {
|
|
182
|
-
const timeout = options.timeout ?? GIT_ADD_TIMEOUT_MS;
|
|
183
|
-
const reportProgress = options.onProgress;
|
|
184
|
-
reportProgress?.('Scanning Firefox source tree before indexing...');
|
|
185
|
-
const scan = await scanTopLevelSource(dir);
|
|
186
|
-
reportProgress?.(`Source scan complete: ${scan.directories.length} top-level director${scan.directories.length === 1 ? 'y' : 'ies'}, ${scan.topLevelFiles.length} top-level file${scan.topLevelFiles.length === 1 ? '' : 's'}`);
|
|
187
|
-
// The heartbeat tracks a per-phase start timestamp and labels each tick
|
|
188
|
-
// with the phase. A single start time set at function entry reports
|
|
189
|
-
// cumulative elapsed for the whole `stageAllFiles` invocation, so after a
|
|
190
|
-
// monolithic timeout the chunked-phase ticks name numbers that already
|
|
191
|
-
// include the entire monolithic budget, with no way to tell from the log
|
|
192
|
-
// where one attempt ended and the next began.
|
|
193
|
-
let phase = 'monolithic';
|
|
194
|
-
let phaseStartedAt = Date.now();
|
|
195
|
-
const heartbeatTimer = reportProgress
|
|
196
|
-
? setInterval(() => {
|
|
197
|
-
const elapsedS = Math.round((Date.now() - phaseStartedAt) / 1000);
|
|
198
|
-
const label = phase === 'monolithic' ? 'monolithic' : 'chunked staging';
|
|
199
|
-
reportProgress(`Indexing Firefox source (${label}, ${elapsedS}s elapsed)`);
|
|
200
|
-
}, GIT_ADD_HEARTBEAT_MS)
|
|
201
|
-
: null;
|
|
202
|
-
heartbeatTimer?.unref();
|
|
203
|
-
try {
|
|
204
|
-
try {
|
|
205
|
-
reportProgress?.('Git phase: starting git add -A source indexing.');
|
|
206
|
-
reportProgress?.(`Starting monolithic git add -A for ${scan.directories.length} director${scan.directories.length === 1 ? 'y' : 'ies'} and ${scan.topLevelFiles.length} top-level file${scan.topLevelFiles.length === 1 ? '' : 's'}...`);
|
|
207
|
-
await git(['add', '-A'], dir, { timeout, env: GIT_ADD_ENV });
|
|
208
|
-
reportProgress?.('Git phase complete: git add -A source indexing finished.');
|
|
209
|
-
return;
|
|
210
|
-
}
|
|
211
|
-
catch (error) {
|
|
212
|
-
if (!isTimeoutError(error)) {
|
|
213
|
-
throw await maybeWrapIndexLockError(dir, error);
|
|
214
|
-
}
|
|
215
|
-
// Emit a loud, one-line banner so non-TTY log scrapers and TTY
|
|
216
|
-
// operators both see that the monolithic attempt lost and the chunked
|
|
217
|
-
// pass is starting. Without it the fallback transition is invisible
|
|
218
|
-
// and the heartbeat simply goes quiet for minutes.
|
|
219
|
-
options.onProgress?.(`Monolithic git add reached the ${Math.round(timeout / 1000)}s timeout; falling back to chunked staging. This pass may take several more minutes on a large tree.`);
|
|
220
|
-
}
|
|
221
|
-
// The killed process may have left an index lock
|
|
222
|
-
await cleanupIndexLock(dir);
|
|
223
|
-
// Reset elapsed accounting for the chunked phase so its heartbeat
|
|
224
|
-
// names a believable per-phase number rather than rolling the
|
|
225
|
-
// monolithic budget forward.
|
|
226
|
-
phase = 'chunked';
|
|
227
|
-
phaseStartedAt = Date.now();
|
|
228
|
-
await stageAllFilesChunked(dir, scan, options);
|
|
229
|
-
reportProgress?.('Git phase complete: chunked source indexing finished.');
|
|
230
|
-
}
|
|
231
|
-
finally {
|
|
232
|
-
if (heartbeatTimer)
|
|
233
|
-
clearInterval(heartbeatTimer);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
async function createInitialSourceCommit(dir, reportProgress) {
|
|
237
|
-
const startedAt = Date.now();
|
|
238
|
-
reportProgress('Git phase: creating initial source commit.');
|
|
239
|
-
reportProgress(`Creating initial Firefox source commit (${elapsedSince(startedAt)} elapsed)...`);
|
|
240
|
-
const heartbeat = setInterval(() => {
|
|
241
|
-
reportProgress(`Creating initial Firefox source commit (${elapsedSince(startedAt)} elapsed)...`);
|
|
242
|
-
}, GIT_COMMIT_HEARTBEAT_MS);
|
|
243
|
-
heartbeat.unref();
|
|
244
|
-
try {
|
|
245
|
-
await git(['commit', '-m', 'Initial Firefox source'], dir);
|
|
246
|
-
}
|
|
247
|
-
finally {
|
|
248
|
-
clearInterval(heartbeat);
|
|
249
|
-
}
|
|
250
|
-
reportProgress(`Git phase complete: initial source commit created (${elapsedSince(startedAt)} elapsed).`);
|
|
251
|
-
}
|
|
252
|
-
/**
|
|
253
|
-
* Initializes a new git repository with an orphan branch.
|
|
254
|
-
* @param dir - Directory to initialize
|
|
255
|
-
* @param branchName - Name for the initial branch
|
|
256
|
-
*/
|
|
257
|
-
export async function initRepository(dir, branchName = 'main', options = {}) {
|
|
258
|
-
await ensureGit();
|
|
259
|
-
const reportProgress = options.onProgress ?? (() => { });
|
|
260
|
-
// Initialize repository
|
|
261
|
-
reportProgress('Git phase: initializing source git repository.');
|
|
262
|
-
reportProgress('Creating git repository...');
|
|
263
|
-
await git(['init'], dir);
|
|
264
|
-
// Create orphan branch
|
|
265
|
-
reportProgress(`Creating ${branchName} baseline branch...`);
|
|
266
|
-
await git(['checkout', '--orphan', branchName], dir);
|
|
267
|
-
// Configure git for the repository
|
|
268
|
-
reportProgress('Configuring git identity...');
|
|
269
|
-
await git(['config', 'user.email', 'fireforge@localhost'], dir);
|
|
270
|
-
await git(['config', 'user.name', 'FireForge'], dir);
|
|
271
|
-
// Enable performance settings for large trees
|
|
272
|
-
reportProgress('Configuring git performance settings...');
|
|
273
|
-
await configureGitPerformance(dir);
|
|
274
|
-
await configureGitLineEndings(dir);
|
|
275
|
-
// Add a local-only origin remote so that Firefox's mach bootstrap and
|
|
276
|
-
// build scripts (which shell out to `git remote get-url origin`) don't
|
|
277
|
-
// fail. Nothing is ever fetched from or pushed to this remote.
|
|
278
|
-
reportProgress('Configuring origin remote for build compatibility...');
|
|
279
|
-
await git(['remote', 'add', 'origin', 'https://github.com/mozilla-firefox/firefox'], dir);
|
|
280
|
-
reportProgress('Git phase complete: source git repository metadata initialized.');
|
|
281
|
-
await stageAndCommitSource(dir, reportProgress, 'Indexing Firefox source with git add -A (this can take several minutes on large trees)...');
|
|
282
|
-
}
|
|
283
|
-
/**
|
|
284
|
-
* The tail shared by {@link initRepository} and {@link resumeRepository}:
|
|
285
|
-
* normalizes the Firefox ignore files, stages the whole tree, and creates
|
|
286
|
-
* the initial source commit. Index-lock failures on either git step are
|
|
287
|
-
* wrapped into the typed lock error so both entry points report them the
|
|
288
|
-
* same way.
|
|
289
|
-
*/
|
|
290
|
-
async function stageAndCommitSource(dir, reportProgress, stagingMessage) {
|
|
291
|
-
reportProgress('Normalizing Firefox ignore files for Git-backed mach lint compatibility...');
|
|
292
|
-
await ensureFirefoxIgnorefileCompatibility(dir);
|
|
293
|
-
// Add all files
|
|
294
|
-
reportProgress(stagingMessage);
|
|
295
|
-
await assertNoGitIndexLock(dir);
|
|
296
|
-
try {
|
|
297
|
-
await stageAllFiles(dir, { onProgress: reportProgress });
|
|
298
|
-
}
|
|
299
|
-
catch (error) {
|
|
300
|
-
throw await maybeWrapIndexLockError(dir, error);
|
|
301
|
-
}
|
|
302
|
-
// Create initial commit
|
|
303
|
-
try {
|
|
304
|
-
await createInitialSourceCommit(dir, reportProgress);
|
|
305
|
-
}
|
|
306
|
-
catch (error) {
|
|
307
|
-
throw await maybeWrapIndexLockError(dir, error);
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
/**
|
|
311
|
-
* Resumes a partially initialized git repository (e.g. after a killed
|
|
312
|
-
* `git add -A` left an unborn HEAD). Re-applies performance settings,
|
|
313
|
-
* cleans up stale locks, stages all files, and creates the initial commit.
|
|
314
|
-
*/
|
|
315
|
-
export async function resumeRepository(dir, options = {}) {
|
|
316
|
-
const reportProgress = options.onProgress ?? (() => { });
|
|
317
|
-
if (!(await isGitRepository(dir))) {
|
|
318
|
-
throw new GitError('Not a git repository', 'resume');
|
|
319
|
-
}
|
|
320
|
-
reportProgress('Resuming interrupted repository initialization...');
|
|
321
|
-
// Ensure performance settings are in place (may not have been set)
|
|
322
|
-
reportProgress('Configuring git performance settings...');
|
|
323
|
-
await configureGitPerformance(dir);
|
|
324
|
-
await configureGitLineEndings(dir);
|
|
325
|
-
// Clean up any stale index lock left by the killed process
|
|
326
|
-
await cleanupIndexLock(dir);
|
|
327
|
-
// Ensure origin remote exists (may have been added before the interrupt)
|
|
328
|
-
await ensureOriginRemote(dir);
|
|
329
|
-
await stageAndCommitSource(dir, reportProgress, 'Indexing Firefox source (resuming)...');
|
|
330
|
-
}
|
|
331
|
-
async function assertNoGitIndexLock(dir) {
|
|
332
|
-
const lockPath = join(dir, '.git', 'index.lock');
|
|
333
|
-
if (!(await pathExists(lockPath))) {
|
|
334
|
-
return;
|
|
335
|
-
}
|
|
336
|
-
throw new GitIndexLockError(lockPath, await getLockAgeMs(lockPath));
|
|
337
|
-
}
|
|
338
|
-
async function getLockAgeMs(lockPath) {
|
|
339
|
-
try {
|
|
340
|
-
const stats = await stat(lockPath);
|
|
341
|
-
return Math.max(0, Date.now() - stats.mtimeMs);
|
|
342
|
-
}
|
|
343
|
-
catch {
|
|
344
|
-
return undefined;
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
async function maybeWrapIndexLockError(dir, error) {
|
|
348
|
-
const lockPath = join(dir, '.git', 'index.lock');
|
|
349
|
-
if (error instanceof GitError &&
|
|
350
|
-
/index\.lock/i.test(error.message) &&
|
|
351
|
-
/(unable to create|another git process seems to be running|file exists)/i.test(error.message)) {
|
|
352
|
-
return new GitIndexLockError(lockPath);
|
|
353
|
-
}
|
|
354
|
-
if (error instanceof GitError &&
|
|
355
|
-
/(unable to create|locked|lock file)/i.test(error.message) &&
|
|
356
|
-
(await pathExists(lockPath))) {
|
|
357
|
-
return new GitIndexLockError(lockPath, await getLockAgeMs(lockPath));
|
|
358
|
-
}
|
|
359
|
-
return toError(error);
|
|
360
|
-
}
|
|
361
|
-
/**
|
|
362
|
-
* Applies a patch file using git apply.
|
|
363
|
-
* @param patchPath - Path to the patch file
|
|
364
|
-
* @param repoDir - Repository directory
|
|
365
|
-
* @param options - Application options
|
|
366
|
-
*/
|
|
367
|
-
export async function applyPatch(patchPath, repoDir, options = {}) {
|
|
368
|
-
await ensureGit();
|
|
369
|
-
if (!options.reject) {
|
|
370
|
-
const checkArgs = ['apply', '--check', '--', patchPath];
|
|
371
|
-
const result = await exec('git', checkArgs, { cwd: repoDir });
|
|
372
|
-
if (result.exitCode !== 0) {
|
|
373
|
-
throw new PatchApplyError(patchPath, new Error(result.stderr));
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
// Actually apply the patch
|
|
377
|
-
const applyArgs = ['apply'];
|
|
378
|
-
if (options.reject) {
|
|
379
|
-
applyArgs.push('--reject');
|
|
380
|
-
}
|
|
381
|
-
applyArgs.push('--', patchPath);
|
|
382
|
-
const applyResult = await exec('git', applyArgs, { cwd: repoDir });
|
|
383
|
-
if (applyResult.exitCode !== 0) {
|
|
384
|
-
throw new PatchApplyError(patchPath, new Error(applyResult.stderr));
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
/**
|
|
388
|
-
* Applies a patch idempotently using reverse-forward pattern. First tries to
|
|
389
|
-
* reverse the patch (in case it is already applied), then applies it forward.
|
|
390
|
-
*
|
|
391
|
-
* @param patchPath - Path to the patch file
|
|
392
|
-
* @param repoDir - Repository directory
|
|
393
|
-
* @param options.reject - Fall back to `git apply --reject`
|
|
394
|
-
* @param options.protectedFiles - Files that must not be reset to HEAD by the
|
|
395
|
-
* recovery step. Callers applying a patch queue pass the files already
|
|
396
|
-
* touched by previously applied patches in the same run: two overlapping
|
|
397
|
-
* patches (an `--allow-overlap` queue) share files, and a blanket
|
|
398
|
-
* `checkout HEAD` would wipe the earlier patch's changes from the shared
|
|
399
|
-
* file before applying the later one, leaving the engine in a hybrid state
|
|
400
|
-
* the summary never describes.
|
|
401
|
-
*/
|
|
402
|
-
export async function applyPatchIdempotent(patchPath, repoDir, options = {}) {
|
|
403
|
-
await ensureGit();
|
|
404
|
-
// Try to reverse the patch (ignore errors if not applied)
|
|
405
|
-
const reverseResult = await exec('git', ['apply', '--reverse', '--', patchPath], {
|
|
406
|
-
cwd: repoDir,
|
|
407
|
-
});
|
|
408
|
-
// If reverse failed (patch wasn't applied), restore only the files the
|
|
409
|
-
// patch would have touched so that unrelated local edits are preserved.
|
|
410
|
-
if (reverseResult.exitCode !== 0) {
|
|
411
|
-
// Extract the set of files referenced in the patch
|
|
412
|
-
const listResult = await exec('git', ['apply', '--numstat', '--', patchPath], { cwd: repoDir });
|
|
413
|
-
const touchedFiles = listResult.stdout
|
|
414
|
-
.split('\n')
|
|
415
|
-
.map((line) => line.split('\t')[2])
|
|
416
|
-
.filter((f) => !!f)
|
|
417
|
-
.filter((f) => !(options.protectedFiles?.has(f) ?? false));
|
|
418
|
-
if (touchedFiles.length > 0) {
|
|
419
|
-
await restoreFilesToHead(repoDir, patchPath, touchedFiles);
|
|
420
|
-
}
|
|
421
|
-
}
|
|
422
|
-
// Apply forward
|
|
423
|
-
await applyPatch(patchPath, repoDir, options);
|
|
424
|
-
}
|
|
425
|
-
/**
|
|
426
|
-
* Restores `files` to their HEAD state, deleting files the patch would create
|
|
427
|
-
* (present on disk from a partial apply but absent in HEAD, where
|
|
428
|
-
* `git checkout HEAD --` fails, and ignoring that failure leaves stray files
|
|
429
|
-
* that make the subsequent forward apply die with "already exists" and no
|
|
430
|
-
* hint why).
|
|
431
|
-
*
|
|
432
|
-
* Every git invocation is chunked via {@link chunkPathspecs} so a very large
|
|
433
|
-
* patch cannot hit `E2BIG`, and every exit code is checked. A silent failed
|
|
434
|
-
* restore is the confusing state this recovery step exists to prevent.
|
|
435
|
-
*/
|
|
436
|
-
async function restoreFilesToHead(repoDir, patchPath, files) {
|
|
437
|
-
// Partition into tracked-in-HEAD (restore via checkout) and absent-in-HEAD
|
|
438
|
-
// (patch-created leftovers: delete from the worktree).
|
|
439
|
-
const trackedInHead = new Set();
|
|
440
|
-
for (const chunk of chunkPathspecs(files)) {
|
|
441
|
-
const lsTree = await exec('git', ['ls-tree', '-r', '--name-only', 'HEAD', '--', ...chunk], {
|
|
442
|
-
cwd: repoDir,
|
|
443
|
-
});
|
|
444
|
-
if (lsTree.exitCode !== 0) {
|
|
445
|
-
throw new PatchApplyError(patchPath, new Error(`git ls-tree failed while preparing recovery: ${lsTree.stderr.trim()}`));
|
|
446
|
-
}
|
|
447
|
-
for (const line of lsTree.stdout.split('\n')) {
|
|
448
|
-
if (line.length > 0)
|
|
449
|
-
trackedInHead.add(line);
|
|
450
|
-
}
|
|
451
|
-
}
|
|
452
|
-
const toCheckout = files.filter((f) => trackedInHead.has(f));
|
|
453
|
-
const toDelete = files.filter((f) => !trackedInHead.has(f));
|
|
454
|
-
for (const chunk of chunkPathspecs(toCheckout)) {
|
|
455
|
-
const checkout = await exec('git', ['checkout', 'HEAD', '--', ...chunk], { cwd: repoDir });
|
|
456
|
-
if (checkout.exitCode !== 0) {
|
|
457
|
-
throw new PatchApplyError(patchPath, new Error(`Could not restore patch-touched files to HEAD before applying: ${checkout.stderr.trim()}`));
|
|
458
|
-
}
|
|
459
|
-
}
|
|
460
|
-
for (const file of toDelete) {
|
|
461
|
-
const target = join(repoDir, file);
|
|
462
|
-
if (await pathExists(target)) {
|
|
463
|
-
await removeFile(target);
|
|
464
|
-
verbose(`Removed stray patch-created file before apply: ${file}`);
|
|
465
|
-
}
|
|
466
|
-
}
|
|
467
|
-
}
|
|
468
|
-
/**
|
|
469
|
-
* Reverses a previously applied patch.
|
|
470
|
-
* @param patchPath - Path to the patch file
|
|
471
|
-
* @param repoDir - Repository directory
|
|
472
|
-
*/
|
|
473
|
-
export async function reversePatch(patchPath, repoDir) {
|
|
474
|
-
await ensureGit();
|
|
475
|
-
const result = await exec('git', ['apply', '--reverse', '--', patchPath], { cwd: repoDir });
|
|
476
|
-
if (result.exitCode !== 0) {
|
|
477
|
-
throw new PatchApplyError(patchPath, new Error(result.stderr));
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
/**
|
|
481
|
-
* Checks if the repository has uncommitted changes.
|
|
482
|
-
* @param repoDir - Repository directory
|
|
483
|
-
* @returns True if there are uncommitted changes
|
|
484
|
-
*/
|
|
485
|
-
export async function hasChanges(repoDir) {
|
|
486
|
-
const entries = await getWorkingTreeStatus(repoDir);
|
|
487
|
-
return entries.length > 0;
|
|
488
|
-
}
|
|
489
|
-
/**
|
|
490
|
-
* Checks whether an error indicates the repository has no HEAD (e.g. unborn branch).
|
|
491
|
-
* @param error - The error to check
|
|
492
|
-
* @returns True if the error is a missing-HEAD error
|
|
493
|
-
*/
|
|
494
|
-
export function isMissingHeadError(error) {
|
|
495
|
-
return (error instanceof Error &&
|
|
496
|
-
/(ambiguous argument 'HEAD'|unknown revision or path not in the working tree)/i.test(error.message));
|
|
497
|
-
}
|
|
498
|
-
/**
|
|
499
|
-
* Gets the current HEAD commit hash.
|
|
500
|
-
* @param repoDir - Repository directory
|
|
501
|
-
* @returns Commit hash
|
|
502
|
-
*/
|
|
503
|
-
export async function getHead(repoDir) {
|
|
504
|
-
const output = await git(['rev-parse', 'HEAD'], repoDir);
|
|
505
|
-
return output.trim();
|
|
506
|
-
}
|
|
507
|
-
/**
|
|
508
|
-
* Gets the current branch name.
|
|
509
|
-
* @param repoDir - Repository directory
|
|
510
|
-
* @returns Branch name
|
|
511
|
-
*/
|
|
512
|
-
export async function getCurrentBranch(repoDir) {
|
|
513
|
-
const output = await git(['rev-parse', '--abbrev-ref', 'HEAD'], repoDir);
|
|
514
|
-
return output.trim();
|
|
515
|
-
}
|
|
516
|
-
/**
|
|
517
|
-
* Resets all changes in the repository.
|
|
518
|
-
* @param repoDir - Repository directory
|
|
519
|
-
*/
|
|
520
|
-
export async function resetChanges(repoDir) {
|
|
521
|
-
try {
|
|
522
|
-
await git(['reset', '--hard', 'HEAD'], repoDir);
|
|
523
|
-
}
|
|
524
|
-
catch (error) {
|
|
525
|
-
throw await maybeWrapIndexLockError(repoDir, error);
|
|
526
|
-
}
|
|
527
|
-
await git(['clean', '-fd'], repoDir);
|
|
528
|
-
}
|
|
529
|
-
/**
|
|
530
|
-
* Gets the status of files with their status codes.
|
|
531
|
-
* @param repoDir - Repository directory
|
|
532
|
-
* @returns Array of [status, filepath] tuples
|
|
533
|
-
*/
|
|
534
|
-
export async function getStatusWithCodes(repoDir) {
|
|
535
|
-
const entries = await getWorkingTreeStatus(repoDir);
|
|
536
|
-
return entries.map((entry) => ({
|
|
537
|
-
status: entry.status.trim(),
|
|
538
|
-
file: entry.file,
|
|
539
|
-
}));
|
|
540
|
-
}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Teardown reaper for the helper processes one mach test dispatch launched.
|
|
3
|
-
*
|
|
4
|
-
* The mochitest harness starts its httpd (`xpcshell … server.js`), the
|
|
5
|
-
* websocket server, ssltunnel and the websocket/process bridge as plain
|
|
6
|
-
* children, and the browser through mozprocess, which puts it in a process
|
|
7
|
-
* group of its own. It logs each launch as `runtests.py | <what> pid: <n>`.
|
|
8
|
-
* When mach dies before its own cleanup runs (a forwarded SIGTERM, a
|
|
9
|
-
* no-output timeout, a harness crash, a supervisor kill), the helpers do not
|
|
10
|
-
* necessarily die with it: the 2026-09-13 incident left the httpd reparented
|
|
11
|
-
* to launchd at 100% CPU for hours after a gate killed the run at its bound.
|
|
12
|
-
*
|
|
13
|
-
* The exec layer already sweeps the dispatch's process group after close.
|
|
14
|
-
* That reaches every helper that stayed in the group, and nothing else: the
|
|
15
|
-
* browser is in its own group, and a helper that re-grouped itself is not.
|
|
16
|
-
* This module closes that gap in two passes:
|
|
17
|
-
*
|
|
18
|
-
* - {@link createHelperPidTracker} collects the announced pids from the
|
|
19
|
-
* streamed output. {@link reapTrackedHarnessPids} runs after mach has
|
|
20
|
-
* exited; a tracked pid still alive at that point is by definition a
|
|
21
|
-
* survivor (its parent is gone), so no age heuristic is needed. Before
|
|
22
|
-
* signalling, each pid is re-read from `ps` and must still be anchored to
|
|
23
|
-
* the objdir and still look like the thing the harness launched: a pid
|
|
24
|
-
* recycled onto an unrelated process between the launch line and
|
|
25
|
-
* teardown is skipped.
|
|
26
|
-
* - Not every helper is announced. mozserve starts `moz-http2` with
|
|
27
|
-
* `start_new_session=True` and logs no pid, so it is in neither the
|
|
28
|
-
* group nor the tracker, and it was the other survivor of the incident.
|
|
29
|
-
* {@link snapshotObjdirHelpers} records which same-objdir helpers existed
|
|
30
|
-
* before the dispatch spawned; after mach exits, a helper-shaped process
|
|
31
|
-
* under THIS checkout's absolute objdir that is not in that baseline and
|
|
32
|
-
* is reparented (its parent, the harness, is gone) is one this dispatch
|
|
33
|
-
* launched, and is reaped too. The absolute-path anchor keeps a sibling
|
|
34
|
-
* checkout's live harness out of it; the baseline keeps a survivor of an
|
|
35
|
-
* earlier run out of it, so the preflight census's report-only posture
|
|
36
|
-
* still decides that one's fate.
|
|
37
|
-
*/
|
|
38
|
-
/**
|
|
39
|
-
* What the harness said it launched, as it names it in the log line, or
|
|
40
|
-
* `unannounced` for a survivor found by the post-close objdir scan.
|
|
41
|
-
*/
|
|
42
|
-
export type TrackedHarnessKind = 'Server' | 'Websocket server' | 'SSL tunnel' | 'websocket/process bridge' | 'Application' | 'unannounced';
|
|
43
|
-
/** One helper the harness launched. */
|
|
44
|
-
export interface TrackedHarnessPid {
|
|
45
|
-
pid: number;
|
|
46
|
-
kind: TrackedHarnessKind;
|
|
47
|
-
/** Command line, when the entry came from `ps` rather than a log line. */
|
|
48
|
-
command?: string;
|
|
49
|
-
}
|
|
50
|
-
/** Which child stream a chunk came from. */
|
|
51
|
-
export type OutputStreamName = 'stdout' | 'stderr';
|
|
52
|
-
/** Collects harness launch announcements from streamed output chunks. */
|
|
53
|
-
export interface HelperPidTracker {
|
|
54
|
-
/** Feed one chunk. Chunk boundaries need not align with lines. */
|
|
55
|
-
feed(stream: OutputStreamName, chunk: string): void;
|
|
56
|
-
/** Every pid announced so far, in announcement order, without duplicates. */
|
|
57
|
-
tracked(): TrackedHarnessPid[];
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Creates a tracker for one dispatch. The two streams are buffered apart so
|
|
61
|
-
* a half-line on one cannot be glued to a half-line on the other.
|
|
62
|
-
*/
|
|
63
|
-
export declare function createHelperPidTracker(): HelperPidTracker;
|
|
64
|
-
/**
|
|
65
|
-
* Decides whether a `ps` row still describes the process the harness
|
|
66
|
-
* announced. Exported for fixture tests.
|
|
67
|
-
*
|
|
68
|
-
* The helpers must match the census's helper pattern and the objdir anchor.
|
|
69
|
-
* The browser has no helper-shaped name, so the anchor alone attributes it:
|
|
70
|
-
* its binary lives under the objdir (`<objdir>/dist/<App>.app/…`).
|
|
71
|
-
*/
|
|
72
|
-
export declare function isStillTrackedProcess(tracked: TrackedHarnessPid, command: string, objDir: string | undefined): boolean;
|
|
73
|
-
/**
|
|
74
|
-
* Records the same-objdir helpers alive before a dispatch spawns anything,
|
|
75
|
-
* so the post-close pass can tell this dispatch's unannounced helpers from
|
|
76
|
-
* an earlier run's survivors. Undefined when `ps` is unusable or no objdir
|
|
77
|
-
* is known; the post-close pass then reaps no unannounced process at all.
|
|
78
|
-
*
|
|
79
|
-
* @param objDir - This project's absolute objdir
|
|
80
|
-
* @returns The pids to leave alone at teardown, or undefined for "no baseline"
|
|
81
|
-
*/
|
|
82
|
-
export declare function snapshotObjdirHelpers(objDir: string | undefined): Promise<Set<number> | undefined>;
|
|
83
|
-
/**
|
|
84
|
-
* Terminates every process this dispatch launched that is still alive after
|
|
85
|
-
* mach exited: the announced pids still attributable to the dispatch, and
|
|
86
|
-
* the unannounced same-objdir survivors that appeared since the baseline.
|
|
87
|
-
*
|
|
88
|
-
* Best-effort like the census: a host without `ps` logs at verbose and
|
|
89
|
-
* reaps nothing rather than signalling on the strength of a pid alone.
|
|
90
|
-
*
|
|
91
|
-
* @param tracked - The pids the harness announced during the dispatch
|
|
92
|
-
* @param objDir - This project's absolute objdir, for the anchor rule
|
|
93
|
-
* @param baseline - Same-objdir helpers alive before the dispatch spawned
|
|
94
|
-
* ({@link snapshotObjdirHelpers}); never touched here. Undefined disables
|
|
95
|
-
* the unannounced pass entirely
|
|
96
|
-
* @returns How many survivors are confirmed gone afterwards
|
|
97
|
-
*/
|
|
98
|
-
export declare function reapTrackedHarnessPids(tracked: readonly TrackedHarnessPid[], objDir: string | undefined, baseline?: ReadonlySet<number>): Promise<number>;
|