@hominis/fireforge 0.54.0 → 0.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +287 -6
- package/README.md +51 -17
- package/dist/bin/fireforge.js +34 -129
- package/dist/build-info.json +4 -4
- package/dist/src/check/check.js +394 -0
- package/dist/src/check/gate.js +448 -0
- package/dist/src/check/index.js +10 -0
- package/dist/src/check/record.js +155 -0
- package/dist/src/cli/command.js +286 -0
- package/dist/src/cli/output.js +96 -0
- package/dist/src/cli/program.js +231 -0
- package/dist/src/cli/stdio.js +59 -0
- package/dist/src/cli/version.js +99 -0
- package/dist/src/commands/bootstrap.js +17 -102
- package/dist/src/commands/build.js +34 -438
- package/dist/src/commands/check.js +44 -157
- package/dist/src/commands/config.js +50 -226
- package/dist/src/commands/discard.js +38 -215
- package/dist/src/commands/doctor.js +29 -456
- package/dist/src/commands/download.js +35 -499
- package/dist/src/commands/export.js +42 -431
- package/dist/src/commands/furnace.js +220 -0
- package/dist/src/commands/gate.js +127 -0
- package/dist/src/commands/import.js +44 -445
- package/dist/src/commands/index.js +86 -0
- package/dist/src/commands/lint.js +44 -546
- package/dist/src/commands/merge-driver.js +56 -0
- package/dist/src/commands/migrate.js +75 -0
- package/dist/src/commands/override.js +43 -0
- package/dist/src/commands/package.js +48 -77
- package/dist/src/commands/patch.js +221 -0
- package/dist/src/commands/re-export.js +55 -332
- package/dist/src/commands/rebase.js +69 -0
- package/dist/src/commands/register.js +62 -103
- package/dist/src/commands/reset.js +28 -91
- package/dist/src/commands/resolve.js +20 -167
- package/dist/src/commands/restore.js +19 -0
- package/dist/src/commands/run.js +60 -420
- package/dist/src/commands/setup.js +78 -90
- package/dist/src/commands/status.js +44 -413
- package/dist/src/commands/test.js +97 -422
- package/dist/src/commands/token.js +185 -228
- package/dist/src/commands/typecheck.js +59 -208
- package/dist/src/commands/verify.js +28 -334
- package/dist/src/commands/version.js +14 -0
- package/dist/src/commands/watch.js +20 -218
- package/dist/src/commands/wire.js +60 -349
- package/dist/src/commands/workspace.js +117 -0
- package/dist/src/config/edit.js +237 -0
- package/dist/src/config/index.js +15 -0
- package/dist/src/config/load.js +59 -0
- package/dist/src/config/previous.js +404 -0
- package/dist/src/config/schema/build.js +63 -0
- package/dist/src/config/schema/check.js +113 -0
- package/dist/src/config/schema/common.js +71 -0
- package/dist/src/config/schema/export-queue.js +36 -0
- package/dist/src/config/schema/firefox.js +69 -0
- package/dist/src/config/schema/gate.js +199 -0
- package/dist/src/config/schema/identity.js +55 -0
- package/dist/src/config/schema/index.js +45 -0
- package/dist/src/config/schema/lint.js +297 -0
- package/dist/src/config/schema/policy.js +111 -0
- package/dist/src/config/schema/source.js +90 -0
- package/dist/src/config/schema/test.js +17 -0
- package/dist/src/config/schema/toolchains.js +17 -0
- package/dist/src/config/schema/typecheck.js +29 -0
- package/dist/src/config/schema/wire.js +15 -0
- package/dist/src/diff/apply.js +129 -0
- package/dist/src/diff/index.js +16 -0
- package/dist/src/diff/model.js +267 -0
- package/dist/src/diff/query.js +65 -0
- package/dist/src/doctor/index.js +240 -0
- package/dist/src/engine/archive.js +396 -0
- package/dist/src/engine/audit.js +66 -0
- package/dist/src/engine/build.js +150 -0
- package/dist/src/engine/hostLocks.js +66 -0
- package/dist/src/engine/index.js +26 -0
- package/dist/src/engine/installManifests.js +147 -0
- package/dist/src/engine/mach.js +97 -0
- package/dist/src/engine/machHints.js +80 -0
- package/dist/src/engine/mozconfig.js +110 -0
- package/dist/src/engine/objdir.js +124 -0
- package/dist/src/engine/package.js +169 -0
- package/dist/src/engine/pin.js +12 -0
- package/dist/src/engine/pool.js +423 -0
- package/dist/src/engine/pristine.js +281 -0
- package/dist/src/engine/python.js +68 -0
- package/dist/src/engine/resourceGuard.js +582 -0
- package/dist/src/engine/run.js +259 -0
- package/dist/src/engine/smoke.js +204 -0
- package/dist/src/engine/staleness.js +229 -0
- package/dist/src/engine/watch.js +82 -0
- package/dist/src/engine/workspace.js +85 -0
- package/dist/src/furnace/config.js +360 -0
- package/dist/src/furnace/deploy.js +414 -0
- package/dist/src/furnace/diff.js +59 -0
- package/dist/src/furnace/edit.js +64 -0
- package/dist/src/furnace/fragments.js +53 -0
- package/dist/src/furnace/index.js +19 -0
- package/dist/src/furnace/operations.js +283 -0
- package/dist/src/furnace/registration.js +220 -0
- package/dist/src/furnace/scaffold.js +311 -0
- package/dist/src/furnace/typing.js +252 -0
- package/dist/src/furnace/validate.js +662 -0
- package/dist/src/git/apply.js +129 -0
- package/dist/src/git/diff.js +143 -0
- package/dist/src/git/index.js +33 -0
- package/dist/src/git/objects.js +201 -0
- package/dist/src/git/refs.js +85 -0
- package/dist/src/git/repo.js +222 -0
- package/dist/src/git/run.js +242 -0
- package/dist/src/git/status.js +156 -0
- package/dist/src/kernel/errors.js +123 -0
- package/dist/src/kernel/fs.js +515 -0
- package/dist/src/kernel/glob.js +63 -0
- package/dist/src/kernel/hash.js +28 -0
- package/dist/src/kernel/journal.js +524 -0
- package/dist/src/kernel/json-edit.js +198 -0
- package/dist/src/kernel/json.js +101 -0
- package/dist/src/kernel/lock.js +589 -0
- package/dist/src/kernel/log.js +154 -0
- package/dist/src/kernel/process/identity.js +313 -0
- package/dist/src/kernel/process/index.js +8 -0
- package/dist/src/kernel/process/listing.js +128 -0
- package/dist/src/kernel/process/spawn.js +430 -0
- package/dist/src/kernel/process/tree.js +301 -0
- package/dist/src/kernel/schema.js +308 -0
- package/dist/src/kernel/signals.js +171 -0
- package/dist/src/kernel/text.js +151 -0
- package/dist/src/kernel/time.js +83 -0
- package/dist/src/kernel/tty.js +84 -0
- package/dist/src/lint/cache.js +77 -0
- package/dist/src/lint/checkjs.js +400 -0
- package/dist/src/lint/index.js +3 -0
- package/dist/src/lint/input.js +100 -0
- package/dist/src/lint/report.js +107 -0
- package/dist/src/lint/rule.js +41 -0
- package/dist/src/lint/rules/css.js +308 -0
- package/dist/src/lint/rules/javascript.js +299 -0
- package/dist/src/lint/rules/jsdoc.js +249 -0
- package/dist/src/lint/rules/license.js +93 -0
- package/dist/src/lint/rules/policy.js +201 -0
- package/dist/src/lint/rules/registration.js +264 -0
- package/dist/src/lint/rules/size.js +299 -0
- package/dist/src/lint/run.js +126 -0
- package/dist/src/lint/shim.js +323 -0
- package/dist/src/lint/typescript.js +186 -0
- package/dist/src/lint/waivers.js +93 -0
- package/dist/src/mode/changes.js +264 -0
- package/dist/src/mode/diagnose.js +173 -0
- package/dist/src/mode/export.js +147 -0
- package/dist/src/mode/index.js +23 -0
- package/dist/src/mode/migrate.js +181 -0
- package/dist/src/mode/previousWaivers.js +206 -0
- package/dist/src/mode/pristine.js +61 -0
- package/dist/src/mode/rebase.js +197 -0
- package/dist/src/mode/report.js +157 -0
- package/dist/src/mode/setup.js +103 -0
- package/dist/src/mode/tracked.js +116 -0
- package/dist/src/mode/upgrade.js +281 -0
- package/dist/src/mode/watch.js +83 -0
- package/dist/src/mode/workspace.js +189 -0
- package/dist/src/mozbuild/index.js +6 -0
- package/dist/src/mozbuild/jar.js +366 -0
- package/dist/src/mozbuild/mozbuild.js +321 -0
- package/dist/src/mozbuild/paths.js +96 -0
- package/dist/src/mozbuild/references.js +39 -0
- package/dist/src/mozbuild/testManifest.js +343 -0
- package/dist/src/mozbuild/text.js +142 -0
- package/dist/src/project/changes.js +145 -0
- package/dist/src/project/checkout.js +66 -0
- package/dist/src/project/index.js +11 -0
- package/dist/src/project/license.js +119 -0
- package/dist/src/project/project.js +111 -0
- package/dist/src/project/state.js +85 -0
- package/dist/src/project/tracked.js +1 -0
- package/dist/src/queue/apply.js +270 -0
- package/dist/src/queue/attribute.js +159 -0
- package/dist/src/queue/baseline.js +409 -0
- package/dist/src/queue/capture.js +298 -0
- package/dist/src/queue/changes.js +234 -0
- package/dist/src/queue/index.js +50 -0
- package/dist/src/queue/manifest.js +341 -0
- package/dist/src/queue/operations.js +454 -0
- package/dist/src/queue/placement.js +220 -0
- package/dist/src/queue/queue.js +359 -0
- package/dist/src/queue/restore.js +103 -0
- package/dist/src/queue/session.js +685 -0
- package/dist/src/queue/status.js +137 -0
- package/dist/src/register/files.js +39 -0
- package/dist/src/register/index.js +8 -0
- package/dist/src/register/js.js +217 -0
- package/dist/src/register/register.js +359 -0
- package/dist/src/register/wire.js +146 -0
- package/dist/src/source/adopt.js +99 -0
- package/dist/src/source/changes.js +132 -0
- package/dist/src/source/edit.js +278 -0
- package/dist/src/source/export.js +70 -0
- package/dist/src/source/groups.js +131 -0
- package/dist/src/source/index.js +20 -0
- package/dist/src/source/materialize.js +382 -0
- package/dist/src/source/merge.js +255 -0
- package/dist/src/source/objects.js +102 -0
- package/dist/src/source/previous.js +166 -0
- package/dist/src/source/records.js +138 -0
- package/dist/src/source/refresh.js +264 -0
- package/dist/src/source/tree.js +337 -0
- package/dist/src/syntax/css.js +215 -0
- package/dist/src/syntax/fragments.js +63 -0
- package/dist/src/syntax/index.js +10 -0
- package/dist/src/syntax/js.js +270 -0
- package/dist/src/test/classify.js +826 -0
- package/dist/src/test/control.js +236 -0
- package/dist/src/test/host.js +266 -0
- package/dist/src/test/index.js +11 -0
- package/dist/src/test/plan.js +347 -0
- package/dist/src/test/rawLog.js +138 -0
- package/dist/src/test/run.js +404 -0
- package/dist/src/test/verdict.js +420 -0
- package/dist/src/test/xpcshell.js +143 -0
- package/dist/src/tokens/add.js +304 -0
- package/dist/src/tokens/coverage.js +65 -0
- package/dist/src/tokens/css.js +58 -0
- package/dist/src/tokens/index.js +12 -0
- package/dist/src/tokens/lint.js +96 -0
- package/dist/src/tokens/model.js +118 -0
- package/dist/src/tokens/settings.js +87 -0
- package/dist/src/tokens/siblings.js +104 -0
- package/dist/src/typecheck/explain.js +123 -0
- package/dist/src/typecheck/index.js +8 -0
- package/dist/src/typecheck/typecheck.js +332 -0
- package/docs/README.md +23 -28
- package/docs/authoring.md +97 -0
- package/docs/configuration.md +307 -692
- package/docs/exit-codes.md +76 -94
- package/docs/furnace.md +113 -181
- package/docs/gate.md +205 -0
- package/docs/getting-started.md +165 -0
- package/docs/machine-output.md +201 -277
- package/docs/migrating.md +261 -0
- package/docs/patch-workflow.md +163 -653
- package/docs/quality.md +220 -0
- package/docs/source-workflow.md +228 -0
- package/docs/testing.md +101 -712
- package/docs/workspaces.md +187 -0
- package/package.json +22 -30
- package/templates/configs/common.mozconfig +8 -2
- package/templates/configs/darwin.mozconfig +6 -7
- package/templates/configs/linux.mozconfig +5 -8
- package/templates/configs/win32.mozconfig +3 -9
- package/dist/bin/fireforge.d.ts +0 -9
- package/dist/src/cli-usage-error.d.ts +0 -46
- package/dist/src/cli-usage-error.js +0 -81
- package/dist/src/cli.d.ts +0 -41
- package/dist/src/cli.js +0 -380
- package/dist/src/commands/bootstrap-checks.d.ts +0 -16
- package/dist/src/commands/bootstrap-checks.js +0 -66
- package/dist/src/commands/bootstrap.d.ts +0 -10
- package/dist/src/commands/build-prelock.d.ts +0 -20
- package/dist/src/commands/build-prelock.js +0 -50
- package/dist/src/commands/build.d.ts +0 -13
- package/dist/src/commands/check-report.d.ts +0 -41
- package/dist/src/commands/check-report.js +0 -91
- package/dist/src/commands/check-run.d.ts +0 -33
- package/dist/src/commands/check-run.js +0 -112
- package/dist/src/commands/check-steps.d.ts +0 -75
- package/dist/src/commands/check-steps.js +0 -200
- package/dist/src/commands/check.d.ts +0 -32
- package/dist/src/commands/config.d.ts +0 -13
- package/dist/src/commands/declarations-report.d.ts +0 -49
- package/dist/src/commands/declarations-report.js +0 -83
- package/dist/src/commands/destructive-decision.d.ts +0 -19
- package/dist/src/commands/destructive-decision.js +0 -31
- package/dist/src/commands/discard.d.ts +0 -12
- package/dist/src/commands/doctor-check-core.d.ts +0 -110
- package/dist/src/commands/doctor-check-core.js +0 -24
- package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
- package/dist/src/commands/doctor-engine-eslint.js +0 -17
- package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
- package/dist/src/commands/doctor-external-toolchains.js +0 -56
- package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
- package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
- package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
- package/dist/src/commands/doctor-furnace-jar.js +0 -44
- package/dist/src/commands/doctor-furnace.d.ts +0 -8
- package/dist/src/commands/doctor-furnace.js +0 -514
- package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
- package/dist/src/commands/doctor-macos-sdk.js +0 -158
- package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
- package/dist/src/commands/doctor-orphaned-harness.js +0 -98
- package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
- package/dist/src/commands/doctor-patch-manifest.js +0 -156
- package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
- package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
- package/dist/src/commands/doctor-source-pin.d.ts +0 -29
- package/dist/src/commands/doctor-source-pin.js +0 -91
- package/dist/src/commands/doctor-working-tree.d.ts +0 -27
- package/dist/src/commands/doctor-working-tree.js +0 -89
- package/dist/src/commands/doctor.d.ts +0 -49
- package/dist/src/commands/download.d.ts +0 -11
- package/dist/src/commands/export-adopt-check.d.ts +0 -37
- package/dist/src/commands/export-adopt-check.js +0 -97
- package/dist/src/commands/export-all.d.ts +0 -11
- package/dist/src/commands/export-all.js +0 -361
- package/dist/src/commands/export-flow.d.ts +0 -124
- package/dist/src/commands/export-flow.js +0 -423
- package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
- package/dist/src/commands/export-placement-conflicts.js +0 -75
- package/dist/src/commands/export-placement-gate.d.ts +0 -42
- package/dist/src/commands/export-placement-gate.js +0 -107
- package/dist/src/commands/export-placement-policy.d.ts +0 -22
- package/dist/src/commands/export-placement-policy.js +0 -54
- package/dist/src/commands/export-shared.d.ts +0 -152
- package/dist/src/commands/export-shared.js +0 -396
- package/dist/src/commands/export-staged-registration.d.ts +0 -46
- package/dist/src/commands/export-staged-registration.js +0 -91
- package/dist/src/commands/export.d.ts +0 -13
- package/dist/src/commands/forward-import-remedy.d.ts +0 -31
- package/dist/src/commands/forward-import-remedy.js +0 -62
- package/dist/src/commands/furnace/apply.d.ts +0 -8
- package/dist/src/commands/furnace/apply.js +0 -327
- package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
- package/dist/src/commands/furnace/authoring-config.js +0 -19
- package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
- package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
- package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
- package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
- package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
- package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
- package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
- package/dist/src/commands/furnace/chrome-doc.js +0 -365
- package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
- package/dist/src/commands/furnace/create-browser-test.js +0 -179
- package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
- package/dist/src/commands/furnace/create-dry-run.js +0 -107
- package/dist/src/commands/furnace/create-features.d.ts +0 -24
- package/dist/src/commands/furnace/create-features.js +0 -55
- package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
- package/dist/src/commands/furnace/create-mochikit.js +0 -75
- package/dist/src/commands/furnace/create-readback.d.ts +0 -22
- package/dist/src/commands/furnace/create-readback.js +0 -32
- package/dist/src/commands/furnace/create-templates.d.ts +0 -119
- package/dist/src/commands/furnace/create-templates.js +0 -283
- package/dist/src/commands/furnace/create-validation.d.ts +0 -6
- package/dist/src/commands/furnace/create-validation.js +0 -59
- package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
- package/dist/src/commands/furnace/create-xpcshell.js +0 -80
- package/dist/src/commands/furnace/create.d.ts +0 -24
- package/dist/src/commands/furnace/create.js +0 -407
- package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
- package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
- package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
- package/dist/src/commands/furnace/deploy-named.js +0 -107
- package/dist/src/commands/furnace/deploy.d.ts +0 -9
- package/dist/src/commands/furnace/deploy.js +0 -218
- package/dist/src/commands/furnace/diff.d.ts +0 -11
- package/dist/src/commands/furnace/diff.js +0 -238
- package/dist/src/commands/furnace/index.d.ts +0 -4
- package/dist/src/commands/furnace/index.js +0 -282
- package/dist/src/commands/furnace/init.d.ts +0 -11
- package/dist/src/commands/furnace/init.js +0 -287
- package/dist/src/commands/furnace/list.d.ts +0 -8
- package/dist/src/commands/furnace/list.js +0 -104
- package/dist/src/commands/furnace/override.d.ts +0 -16
- package/dist/src/commands/furnace/override.js +0 -454
- package/dist/src/commands/furnace/preview.d.ts +0 -19
- package/dist/src/commands/furnace/preview.js +0 -349
- package/dist/src/commands/furnace/refresh.d.ts +0 -10
- package/dist/src/commands/furnace/refresh.js +0 -303
- package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
- package/dist/src/commands/furnace/remove-mutations.js +0 -168
- package/dist/src/commands/furnace/remove-state.d.ts +0 -20
- package/dist/src/commands/furnace/remove-state.js +0 -60
- package/dist/src/commands/furnace/remove.d.ts +0 -8
- package/dist/src/commands/furnace/remove.js +0 -415
- package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
- package/dist/src/commands/furnace/rename-browser-test.js +0 -68
- package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
- package/dist/src/commands/furnace/rename-dry-run.js +0 -127
- package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
- package/dist/src/commands/furnace/rename-helpers.js +0 -85
- package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
- package/dist/src/commands/furnace/rename-registrations.js +0 -98
- package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
- package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
- package/dist/src/commands/furnace/rename.d.ts +0 -6
- package/dist/src/commands/furnace/rename.js +0 -400
- package/dist/src/commands/furnace/scan.d.ts +0 -14
- package/dist/src/commands/furnace/scan.js +0 -192
- package/dist/src/commands/furnace/status.d.ts +0 -7
- package/dist/src/commands/furnace/status.js +0 -209
- package/dist/src/commands/furnace/sync.d.ts +0 -12
- package/dist/src/commands/furnace/sync.js +0 -145
- package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
- package/dist/src/commands/furnace/test-file-name.js +0 -39
- package/dist/src/commands/furnace/validate-report.d.ts +0 -45
- package/dist/src/commands/furnace/validate-report.js +0 -91
- package/dist/src/commands/furnace/validate.d.ts +0 -8
- package/dist/src/commands/furnace/validate.js +0 -309
- package/dist/src/commands/furnace/validation-output.d.ts +0 -47
- package/dist/src/commands/furnace/validation-output.js +0 -161
- package/dist/src/commands/import.d.ts +0 -11
- package/dist/src/commands/lint-per-patch.d.ts +0 -10
- package/dist/src/commands/lint-per-patch.js +0 -428
- package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
- package/dist/src/commands/lint-per-run-checkjs.js +0 -102
- package/dist/src/commands/lint-report.d.ts +0 -25
- package/dist/src/commands/lint-report.js +0 -76
- package/dist/src/commands/lint.d.ts +0 -47
- package/dist/src/commands/manifest.d.ts +0 -38
- package/dist/src/commands/manifest.js +0 -68
- package/dist/src/commands/package.d.ts +0 -11
- package/dist/src/commands/park.d.ts +0 -22
- package/dist/src/commands/park.js +0 -232
- package/dist/src/commands/patch/compact.d.ts +0 -28
- package/dist/src/commands/patch/compact.js +0 -208
- package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
- package/dist/src/commands/patch/delete-gap-notice.js +0 -48
- package/dist/src/commands/patch/delete.d.ts +0 -28
- package/dist/src/commands/patch/delete.js +0 -131
- package/dist/src/commands/patch/entry-projection.d.ts +0 -13
- package/dist/src/commands/patch/entry-projection.js +0 -24
- package/dist/src/commands/patch/index.d.ts +0 -16
- package/dist/src/commands/patch/index.js +0 -52
- package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
- package/dist/src/commands/patch/lint-ignore-from.js +0 -141
- package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
- package/dist/src/commands/patch/lint-ignore.js +0 -261
- package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
- package/dist/src/commands/patch/move-files-adopt.js +0 -65
- package/dist/src/commands/patch/move-files-create.d.ts +0 -19
- package/dist/src/commands/patch/move-files-create.js +0 -187
- package/dist/src/commands/patch/move-files-into.d.ts +0 -65
- package/dist/src/commands/patch/move-files-into.js +0 -325
- package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
- package/dist/src/commands/patch/move-files-retire.js +0 -91
- package/dist/src/commands/patch/move-files.d.ts +0 -28
- package/dist/src/commands/patch/move-files.js +0 -224
- package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
- package/dist/src/commands/patch/move-size-tier.js +0 -66
- package/dist/src/commands/patch/patch-context.d.ts +0 -40
- package/dist/src/commands/patch/patch-context.js +0 -51
- package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
- package/dist/src/commands/patch/removal-created-files.js +0 -83
- package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
- package/dist/src/commands/patch/removal-dependents.js +0 -133
- package/dist/src/commands/patch/rename.d.ts +0 -35
- package/dist/src/commands/patch/rename.js +0 -378
- package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
- package/dist/src/commands/patch/reorder-projection.js +0 -49
- package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
- package/dist/src/commands/patch/reorder-shift.js +0 -307
- package/dist/src/commands/patch/reorder.d.ts +0 -34
- package/dist/src/commands/patch/reorder.js +0 -375
- package/dist/src/commands/patch/reserve.d.ts +0 -33
- package/dist/src/commands/patch/reserve.js +0 -152
- package/dist/src/commands/patch/retire.d.ts +0 -34
- package/dist/src/commands/patch/retire.js +0 -133
- package/dist/src/commands/patch/split-plan.d.ts +0 -125
- package/dist/src/commands/patch/split-plan.js +0 -313
- package/dist/src/commands/patch/split-staged.d.ts +0 -108
- package/dist/src/commands/patch/split-staged.js +0 -202
- package/dist/src/commands/patch/split.d.ts +0 -43
- package/dist/src/commands/patch/split.js +0 -367
- package/dist/src/commands/patch/stage.d.ts +0 -34
- package/dist/src/commands/patch/stage.js +0 -153
- package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
- package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
- package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
- package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
- package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
- package/dist/src/commands/patch/staged-dependency-from.js +0 -114
- package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
- package/dist/src/commands/patch/staged-dependency-remove.js +0 -117
- package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -15
- package/dist/src/commands/patch/staged-dependency-validate.js +0 -49
- package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
- package/dist/src/commands/patch/staged-dependency.js +0 -248
- package/dist/src/commands/patch/tier.d.ts +0 -34
- package/dist/src/commands/patch/tier.js +0 -125
- package/dist/src/commands/patch-rename-map.d.ts +0 -30
- package/dist/src/commands/patch-rename-map.js +0 -54
- package/dist/src/commands/pending-resolution.d.ts +0 -15
- package/dist/src/commands/pending-resolution.js +0 -25
- package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
- package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
- package/dist/src/commands/re-export-adjacent.d.ts +0 -111
- package/dist/src/commands/re-export-adjacent.js +0 -267
- package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
- package/dist/src/commands/re-export-bulk-scan.js +0 -233
- package/dist/src/commands/re-export-drift.d.ts +0 -110
- package/dist/src/commands/re-export-drift.js +0 -358
- package/dist/src/commands/re-export-files.d.ts +0 -15
- package/dist/src/commands/re-export-files.js +0 -307
- package/dist/src/commands/re-export-hunks.d.ts +0 -35
- package/dist/src/commands/re-export-hunks.js +0 -220
- package/dist/src/commands/re-export-lint.d.ts +0 -137
- package/dist/src/commands/re-export-lint.js +0 -303
- package/dist/src/commands/re-export-options.d.ts +0 -29
- package/dist/src/commands/re-export-options.js +0 -191
- package/dist/src/commands/re-export-preflight.d.ts +0 -23
- package/dist/src/commands/re-export-preflight.js +0 -159
- package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
- package/dist/src/commands/re-export-purity-scope.js +0 -137
- package/dist/src/commands/re-export-register.d.ts +0 -12
- package/dist/src/commands/re-export-register.js +0 -99
- package/dist/src/commands/re-export-removed.d.ts +0 -15
- package/dist/src/commands/re-export-removed.js +0 -94
- package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
- package/dist/src/commands/re-export-retired-declarations.js +0 -113
- package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
- package/dist/src/commands/re-export-scan-owner.js +0 -116
- package/dist/src/commands/re-export-scan.d.ts +0 -72
- package/dist/src/commands/re-export-scan.js +0 -265
- package/dist/src/commands/re-export-single.d.ts +0 -39
- package/dist/src/commands/re-export-single.js +0 -388
- package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
- package/dist/src/commands/re-export-stale-registrations.js +0 -106
- package/dist/src/commands/re-export-summary.d.ts +0 -28
- package/dist/src/commands/re-export-summary.js +0 -36
- package/dist/src/commands/re-export.d.ts +0 -8
- package/dist/src/commands/rebase/abort.d.ts +0 -7
- package/dist/src/commands/rebase/abort.js +0 -67
- package/dist/src/commands/rebase/confirm.d.ts +0 -42
- package/dist/src/commands/rebase/confirm.js +0 -36
- package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
- package/dist/src/commands/rebase/conflict-summary.js +0 -37
- package/dist/src/commands/rebase/continue.d.ts +0 -7
- package/dist/src/commands/rebase/continue.js +0 -119
- package/dist/src/commands/rebase/index.d.ts +0 -22
- package/dist/src/commands/rebase/index.js +0 -209
- package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
- package/dist/src/commands/rebase/patch-loop.js +0 -289
- package/dist/src/commands/rebase/summary.d.ts +0 -8
- package/dist/src/commands/rebase/summary.js +0 -47
- package/dist/src/commands/register.d.ts +0 -13
- package/dist/src/commands/reset.d.ts +0 -11
- package/dist/src/commands/resolve.d.ts +0 -36
- package/dist/src/commands/run.d.ts +0 -10
- package/dist/src/commands/setup-support.d.ts +0 -35
- package/dist/src/commands/setup-support.js +0 -386
- package/dist/src/commands/setup.d.ts +0 -11
- package/dist/src/commands/source.d.ts +0 -9
- package/dist/src/commands/source.js +0 -120
- package/dist/src/commands/status-check.d.ts +0 -87
- package/dist/src/commands/status-check.js +0 -161
- package/dist/src/commands/status-json.d.ts +0 -45
- package/dist/src/commands/status-json.js +0 -97
- package/dist/src/commands/status-output.d.ts +0 -23
- package/dist/src/commands/status-output.js +0 -231
- package/dist/src/commands/status-ownership.d.ts +0 -54
- package/dist/src/commands/status-ownership.js +0 -59
- package/dist/src/commands/status-scope.d.ts +0 -37
- package/dist/src/commands/status-scope.js +0 -54
- package/dist/src/commands/status.d.ts +0 -11
- package/dist/src/commands/test-appdir.d.ts +0 -6
- package/dist/src/commands/test-appdir.js +0 -29
- package/dist/src/commands/test-browser-preflight.d.ts +0 -28
- package/dist/src/commands/test-browser-preflight.js +0 -197
- package/dist/src/commands/test-build-furnace.d.ts +0 -21
- package/dist/src/commands/test-build-furnace.js +0 -53
- package/dist/src/commands/test-build-phase.d.ts +0 -29
- package/dist/src/commands/test-build-phase.js +0 -290
- package/dist/src/commands/test-checkjs.d.ts +0 -3
- package/dist/src/commands/test-checkjs.js +0 -35
- package/dist/src/commands/test-control-restore.d.ts +0 -40
- package/dist/src/commands/test-control-restore.js +0 -86
- package/dist/src/commands/test-diagnose.d.ts +0 -23
- package/dist/src/commands/test-diagnose.js +0 -317
- package/dist/src/commands/test-dispatch.d.ts +0 -39
- package/dist/src/commands/test-dispatch.js +0 -281
- package/dist/src/commands/test-furnace-reach.d.ts +0 -37
- package/dist/src/commands/test-furnace-reach.js +0 -132
- package/dist/src/commands/test-harness-env.d.ts +0 -23
- package/dist/src/commands/test-harness-env.js +0 -81
- package/dist/src/commands/test-harness-teardown.d.ts +0 -62
- package/dist/src/commands/test-harness-teardown.js +0 -128
- package/dist/src/commands/test-modes.d.ts +0 -57
- package/dist/src/commands/test-modes.js +0 -158
- package/dist/src/commands/test-multi-verdict.d.ts +0 -61
- package/dist/src/commands/test-multi-verdict.js +0 -112
- package/dist/src/commands/test-orchestrate.d.ts +0 -63
- package/dist/src/commands/test-orchestrate.js +0 -274
- package/dist/src/commands/test-perf-scope.d.ts +0 -50
- package/dist/src/commands/test-perf-scope.js +0 -138
- package/dist/src/commands/test-prelock.d.ts +0 -61
- package/dist/src/commands/test-prelock.js +0 -301
- package/dist/src/commands/test-register.d.ts +0 -4
- package/dist/src/commands/test-register.js +0 -181
- package/dist/src/commands/test-results.d.ts +0 -71
- package/dist/src/commands/test-results.js +0 -79
- package/dist/src/commands/test-run.d.ts +0 -89
- package/dist/src/commands/test-run.js +0 -251
- package/dist/src/commands/test-shards.d.ts +0 -114
- package/dist/src/commands/test-shards.js +0 -272
- package/dist/src/commands/test-stale-gate.d.ts +0 -52
- package/dist/src/commands/test-stale-gate.js +0 -165
- package/dist/src/commands/test-verdict.d.ts +0 -92
- package/dist/src/commands/test-verdict.js +0 -162
- package/dist/src/commands/test.d.ts +0 -22
- package/dist/src/commands/token-coverage.d.ts +0 -5
- package/dist/src/commands/token-coverage.js +0 -170
- package/dist/src/commands/token-lint.d.ts +0 -14
- package/dist/src/commands/token-lint.js +0 -151
- package/dist/src/commands/token-list.d.ts +0 -26
- package/dist/src/commands/token-list.js +0 -153
- package/dist/src/commands/token.d.ts +0 -14
- package/dist/src/commands/tree.d.ts +0 -19
- package/dist/src/commands/tree.js +0 -341
- package/dist/src/commands/typecheck.d.ts +0 -56
- package/dist/src/commands/verify-scope.d.ts +0 -28
- package/dist/src/commands/verify-scope.js +0 -67
- package/dist/src/commands/verify.d.ts +0 -58
- package/dist/src/commands/watch.d.ts +0 -9
- package/dist/src/commands/wire.d.ts +0 -13
- package/dist/src/core/ast-utils.d.ts +0 -73
- package/dist/src/core/ast-utils.js +0 -105
- package/dist/src/core/brand-validation.d.ts +0 -7
- package/dist/src/core/brand-validation.js +0 -14
- package/dist/src/core/branding.d.ts +0 -86
- package/dist/src/core/branding.js +0 -371
- package/dist/src/core/browser-wire.d.ts +0 -48
- package/dist/src/core/browser-wire.js +0 -133
- package/dist/src/core/build-audit-platform.d.ts +0 -67
- package/dist/src/core/build-audit-platform.js +0 -373
- package/dist/src/core/build-audit-registration.d.ts +0 -80
- package/dist/src/core/build-audit-registration.js +0 -181
- package/dist/src/core/build-audit-resolve.d.ts +0 -78
- package/dist/src/core/build-audit-resolve.js +0 -240
- package/dist/src/core/build-audit-skip.d.ts +0 -57
- package/dist/src/core/build-audit-skip.js +0 -112
- package/dist/src/core/build-audit-transforms.d.ts +0 -23
- package/dist/src/core/build-audit-transforms.js +0 -92
- package/dist/src/core/build-audit.d.ts +0 -93
- package/dist/src/core/build-audit.js +0 -633
- package/dist/src/core/build-baseline-types.d.ts +0 -225
- package/dist/src/core/build-baseline-types.js +0 -10
- package/dist/src/core/build-baseline-validate.d.ts +0 -32
- package/dist/src/core/build-baseline-validate.js +0 -173
- package/dist/src/core/build-baseline.d.ts +0 -103
- package/dist/src/core/build-baseline.js +0 -261
- package/dist/src/core/build-jar-escalation.d.ts +0 -61
- package/dist/src/core/build-jar-escalation.js +0 -125
- package/dist/src/core/build-overwrite-guard.d.ts +0 -92
- package/dist/src/core/build-overwrite-guard.js +0 -235
- package/dist/src/core/build-prepare.d.ts +0 -83
- package/dist/src/core/build-prepare.js +0 -414
- package/dist/src/core/build-run-record.d.ts +0 -74
- package/dist/src/core/build-run-record.js +0 -136
- package/dist/src/core/checkjs-support-heads.d.ts +0 -41
- package/dist/src/core/checkjs-support-heads.js +0 -104
- package/dist/src/core/component-source-guard.d.ts +0 -20
- package/dist/src/core/component-source-guard.js +0 -68
- package/dist/src/core/config-mutate.d.ts +0 -16
- package/dist/src/core/config-mutate.js +0 -76
- package/dist/src/core/config-paths.d.ts +0 -16
- package/dist/src/core/config-paths.js +0 -106
- package/dist/src/core/config-state.d.ts +0 -16
- package/dist/src/core/config-state.js +0 -141
- package/dist/src/core/config-validate-build-audit.d.ts +0 -8
- package/dist/src/core/config-validate-build-audit.js +0 -80
- package/dist/src/core/config-validate-check.d.ts +0 -8
- package/dist/src/core/config-validate-check.js +0 -219
- package/dist/src/core/config-validate-file-size.d.ts +0 -15
- package/dist/src/core/config-validate-file-size.js +0 -154
- package/dist/src/core/config-validate-history.d.ts +0 -11
- package/dist/src/core/config-validate-history.js +0 -38
- package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
- package/dist/src/core/config-validate-patch-policy.js +0 -274
- package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
- package/dist/src/core/config-validate-test-toolchains.js +0 -133
- package/dist/src/core/config-validate-token-scales.d.ts +0 -9
- package/dist/src/core/config-validate-token-scales.js +0 -92
- package/dist/src/core/config-validate.d.ts +0 -11
- package/dist/src/core/config-validate.js +0 -503
- package/dist/src/core/config.d.ts +0 -92
- package/dist/src/core/config.js +0 -169
- package/dist/src/core/coverage-dispatch.d.ts +0 -24
- package/dist/src/core/coverage-dispatch.js +0 -44
- package/dist/src/core/coverage-extend.d.ts +0 -89
- package/dist/src/core/coverage-extend.js +0 -239
- package/dist/src/core/coverage-records.d.ts +0 -107
- package/dist/src/core/coverage-records.js +0 -383
- package/dist/src/core/destructive.d.ts +0 -144
- package/dist/src/core/destructive.js +0 -182
- package/dist/src/core/diff-hunks.d.ts +0 -73
- package/dist/src/core/diff-hunks.js +0 -286
- package/dist/src/core/discard-baseline.d.ts +0 -60
- package/dist/src/core/discard-baseline.js +0 -247
- package/dist/src/core/display-state.d.ts +0 -50
- package/dist/src/core/display-state.js +0 -87
- package/dist/src/core/engine-changes.d.ts +0 -40
- package/dist/src/core/engine-changes.js +0 -95
- package/dist/src/core/engine-precondition.d.ts +0 -42
- package/dist/src/core/engine-precondition.js +0 -60
- package/dist/src/core/engine-session-lock.d.ts +0 -119
- package/dist/src/core/engine-session-lock.js +0 -374
- package/dist/src/core/engine-write-boundary.d.ts +0 -5
- package/dist/src/core/engine-write-boundary.js +0 -41
- package/dist/src/core/export-moved-code-shape.d.ts +0 -98
- package/dist/src/core/export-moved-code-shape.js +0 -220
- package/dist/src/core/file-lock-owner.d.ts +0 -103
- package/dist/src/core/file-lock-owner.js +0 -259
- package/dist/src/core/file-lock-queue.d.ts +0 -67
- package/dist/src/core/file-lock-queue.js +0 -219
- package/dist/src/core/file-lock-shared.d.ts +0 -57
- package/dist/src/core/file-lock-shared.js +0 -117
- package/dist/src/core/file-lock.d.ts +0 -143
- package/dist/src/core/file-lock.js +0 -531
- package/dist/src/core/firefox-archive.d.ts +0 -45
- package/dist/src/core/firefox-archive.js +0 -96
- package/dist/src/core/firefox-cache.d.ts +0 -30
- package/dist/src/core/firefox-cache.js +0 -248
- package/dist/src/core/firefox-download.d.ts +0 -30
- package/dist/src/core/firefox-download.js +0 -152
- package/dist/src/core/firefox-extract.d.ts +0 -42
- package/dist/src/core/firefox-extract.js +0 -248
- package/dist/src/core/firefox-ignorefile.d.ts +0 -17
- package/dist/src/core/firefox-ignorefile.js +0 -30
- package/dist/src/core/firefox.d.ts +0 -66
- package/dist/src/core/firefox.js +0 -121
- package/dist/src/core/forward-registrations.d.ts +0 -33
- package/dist/src/core/forward-registrations.js +0 -16
- package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
- package/dist/src/core/furnace-apply-dry-run.js +0 -99
- package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
- package/dist/src/core/furnace-apply-ftl.js +0 -210
- package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
- package/dist/src/core/furnace-apply-helpers.js +0 -436
- package/dist/src/core/furnace-apply-output.d.ts +0 -36
- package/dist/src/core/furnace-apply-output.js +0 -111
- package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -62
- package/dist/src/core/furnace-apply-overwrite-warn.js +0 -124
- package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
- package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
- package/dist/src/core/furnace-apply.d.ts +0 -49
- package/dist/src/core/furnace-apply.js +0 -465
- package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
- package/dist/src/core/furnace-checksum-utils.js +0 -54
- package/dist/src/core/furnace-composed-source.d.ts +0 -76
- package/dist/src/core/furnace-composed-source.js +0 -167
- package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
- package/dist/src/core/furnace-config-array-utils.js +0 -26
- package/dist/src/core/furnace-config-custom.d.ts +0 -15
- package/dist/src/core/furnace-config-custom.js +0 -73
- package/dist/src/core/furnace-config-order.d.ts +0 -8
- package/dist/src/core/furnace-config-order.js +0 -90
- package/dist/src/core/furnace-config-tokens.d.ts +0 -17
- package/dist/src/core/furnace-config-tokens.js +0 -42
- package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
- package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
- package/dist/src/core/furnace-config-validate.d.ts +0 -32
- package/dist/src/core/furnace-config-validate.js +0 -146
- package/dist/src/core/furnace-config.d.ts +0 -139
- package/dist/src/core/furnace-config.js +0 -511
- package/dist/src/core/furnace-constants.d.ts +0 -79
- package/dist/src/core/furnace-constants.js +0 -123
- package/dist/src/core/furnace-css-fragments.d.ts +0 -96
- package/dist/src/core/furnace-css-fragments.js +0 -279
- package/dist/src/core/furnace-dir-entry.d.ts +0 -20
- package/dist/src/core/furnace-dir-entry.js +0 -21
- package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
- package/dist/src/core/furnace-fragment-includers.js +0 -122
- package/dist/src/core/furnace-graph-utils.d.ts +0 -11
- package/dist/src/core/furnace-graph-utils.js +0 -93
- package/dist/src/core/furnace-jsconfig.d.ts +0 -61
- package/dist/src/core/furnace-jsconfig.js +0 -208
- package/dist/src/core/furnace-marker.d.ts +0 -15
- package/dist/src/core/furnace-marker.js +0 -21
- package/dist/src/core/furnace-operation.d.ts +0 -195
- package/dist/src/core/furnace-operation.js +0 -444
- package/dist/src/core/furnace-precondition.d.ts +0 -61
- package/dist/src/core/furnace-precondition.js +0 -67
- package/dist/src/core/furnace-refresh.d.ts +0 -28
- package/dist/src/core/furnace-refresh.js +0 -125
- package/dist/src/core/furnace-registration-ast.d.ts +0 -53
- package/dist/src/core/furnace-registration-ast.js +0 -402
- package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
- package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
- package/dist/src/core/furnace-registration-remove.d.ts +0 -56
- package/dist/src/core/furnace-registration-remove.js +0 -260
- package/dist/src/core/furnace-registration-rename.d.ts +0 -26
- package/dist/src/core/furnace-registration-rename.js +0 -77
- package/dist/src/core/furnace-registration-validate.d.ts +0 -53
- package/dist/src/core/furnace-registration-validate.js +0 -110
- package/dist/src/core/furnace-registration.d.ts +0 -112
- package/dist/src/core/furnace-registration.js +0 -348
- package/dist/src/core/furnace-rollback.d.ts +0 -48
- package/dist/src/core/furnace-rollback.js +0 -170
- package/dist/src/core/furnace-scanner.d.ts +0 -47
- package/dist/src/core/furnace-scanner.js +0 -236
- package/dist/src/core/furnace-stale-export.d.ts +0 -60
- package/dist/src/core/furnace-stale-export.js +0 -125
- package/dist/src/core/furnace-staleness.d.ts +0 -24
- package/dist/src/core/furnace-staleness.js +0 -67
- package/dist/src/core/furnace-state-persist.d.ts +0 -68
- package/dist/src/core/furnace-state-persist.js +0 -116
- package/dist/src/core/furnace-step-errors.d.ts +0 -23
- package/dist/src/core/furnace-step-errors.js +0 -25
- package/dist/src/core/furnace-stories.d.ts +0 -37
- package/dist/src/core/furnace-stories.js +0 -186
- package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
- package/dist/src/core/furnace-validate-accessibility.js +0 -417
- package/dist/src/core/furnace-validate-checks.d.ts +0 -4
- package/dist/src/core/furnace-validate-checks.js +0 -6
- package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
- package/dist/src/core/furnace-validate-compatibility.js +0 -295
- package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
- package/dist/src/core/furnace-validate-exceptions.js +0 -98
- package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
- package/dist/src/core/furnace-validate-helpers.js +0 -4
- package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
- package/dist/src/core/furnace-validate-icon-button.js +0 -78
- package/dist/src/core/furnace-validate-registration.d.ts +0 -67
- package/dist/src/core/furnace-validate-registration.js +0 -487
- package/dist/src/core/furnace-validate-structure.d.ts +0 -22
- package/dist/src/core/furnace-validate-structure.js +0 -122
- package/dist/src/core/furnace-validate.d.ts +0 -41
- package/dist/src/core/furnace-validate.js +0 -302
- package/dist/src/core/furnace-version-drift.d.ts +0 -57
- package/dist/src/core/furnace-version-drift.js +0 -102
- package/dist/src/core/gecko-dom-types.d.ts +0 -2
- package/dist/src/core/gecko-dom-types.js +0 -17
- package/dist/src/core/git-base.d.ts +0 -101
- package/dist/src/core/git-base.js +0 -162
- package/dist/src/core/git-diff-new-file.d.ts +0 -40
- package/dist/src/core/git-diff-new-file.js +0 -118
- package/dist/src/core/git-diff.d.ts +0 -82
- package/dist/src/core/git-diff.js +0 -539
- package/dist/src/core/git-file-ops.d.ts +0 -108
- package/dist/src/core/git-file-ops.js +0 -280
- package/dist/src/core/git-readonly-index.d.ts +0 -91
- package/dist/src/core/git-readonly-index.js +0 -177
- package/dist/src/core/git-status.d.ts +0 -84
- package/dist/src/core/git-status.js +0 -208
- package/dist/src/core/git.d.ts +0 -114
- package/dist/src/core/git.js +0 -540
- package/dist/src/core/harness-helper-pids.d.ts +0 -98
- package/dist/src/core/harness-helper-pids.js +0 -240
- package/dist/src/core/harness-orphans.d.ts +0 -118
- package/dist/src/core/harness-orphans.js +0 -268
- package/dist/src/core/harness-port-fallback.d.ts +0 -60
- package/dist/src/core/harness-port-fallback.js +0 -96
- package/dist/src/core/harness-port-reservation.d.ts +0 -60
- package/dist/src/core/harness-port-reservation.js +0 -122
- package/dist/src/core/history-log-file.d.ts +0 -61
- package/dist/src/core/history-log-file.js +0 -164
- package/dist/src/core/history-log.d.ts +0 -20
- package/dist/src/core/history-log.js +0 -30
- package/dist/src/core/json-preserving-edit.d.ts +0 -22
- package/dist/src/core/json-preserving-edit.js +0 -199
- package/dist/src/core/launchable-build.d.ts +0 -39
- package/dist/src/core/launchable-build.js +0 -85
- package/dist/src/core/license-headers.d.ts +0 -103
- package/dist/src/core/license-headers.js +0 -318
- package/dist/src/core/line-prefixer.d.ts +0 -18
- package/dist/src/core/line-prefixer.js +0 -34
- package/dist/src/core/lit-template-regions.d.ts +0 -4
- package/dist/src/core/lit-template-regions.js +0 -50
- package/dist/src/core/mach-build-artifacts.d.ts +0 -176
- package/dist/src/core/mach-build-artifacts.js +0 -436
- package/dist/src/core/mach-error-hints.d.ts +0 -24
- package/dist/src/core/mach-error-hints.js +0 -135
- package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
- package/dist/src/core/mach-known-noise-filter.js +0 -257
- package/dist/src/core/mach-mozconfig.d.ts +0 -57
- package/dist/src/core/mach-mozconfig.js +0 -166
- package/dist/src/core/mach-python.d.ts +0 -19
- package/dist/src/core/mach-python.js +0 -131
- package/dist/src/core/mach-resource-shim.d.ts +0 -107
- package/dist/src/core/mach-resource-shim.js +0 -640
- package/dist/src/core/mach.d.ts +0 -284
- package/dist/src/core/mach.js +0 -445
- package/dist/src/core/marionette-port.d.ts +0 -153
- package/dist/src/core/marionette-port.js +0 -474
- package/dist/src/core/marionette-preflight.d.ts +0 -58
- package/dist/src/core/marionette-preflight.js +0 -332
- package/dist/src/core/markdown-table.d.ts +0 -104
- package/dist/src/core/markdown-table.js +0 -265
- package/dist/src/core/mochitest-server-port.d.ts +0 -81
- package/dist/src/core/mochitest-server-port.js +0 -175
- package/dist/src/core/module-resolution-preflight.d.ts +0 -65
- package/dist/src/core/module-resolution-preflight.js +0 -171
- package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
- package/dist/src/core/moz-manifest-helpers.js +0 -163
- package/dist/src/core/moz-manifest-register.d.ts +0 -19
- package/dist/src/core/moz-manifest-register.js +0 -51
- package/dist/src/core/moz-manifest-rules.d.ts +0 -58
- package/dist/src/core/moz-manifest-rules.js +0 -264
- package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
- package/dist/src/core/moz-manifest-tokenizers.js +0 -108
- package/dist/src/core/negative-control-compiled.d.ts +0 -46
- package/dist/src/core/negative-control-compiled.js +0 -109
- package/dist/src/core/negative-control-diff.d.ts +0 -51
- package/dist/src/core/negative-control-diff.js +0 -204
- package/dist/src/core/negative-control.d.ts +0 -150
- package/dist/src/core/negative-control.js +0 -399
- package/dist/src/core/objdir-install-manifests.d.ts +0 -73
- package/dist/src/core/objdir-install-manifests.js +0 -226
- package/dist/src/core/objdir-maintenance.d.ts +0 -10
- package/dist/src/core/objdir-maintenance.js +0 -167
- package/dist/src/core/ownership-table.d.ts +0 -53
- package/dist/src/core/ownership-table.js +0 -159
- package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
- package/dist/src/core/parent-exit-watchdog.js +0 -69
- package/dist/src/core/park-store.d.ts +0 -63
- package/dist/src/core/park-store.js +0 -216
- package/dist/src/core/parser-fallback.d.ts +0 -50
- package/dist/src/core/parser-fallback.js +0 -61
- package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
- package/dist/src/core/patch-apply-fuzz.js +0 -125
- package/dist/src/core/patch-apply.d.ts +0 -88
- package/dist/src/core/patch-apply.js +0 -435
- package/dist/src/core/patch-export-coverage.d.ts +0 -49
- package/dist/src/core/patch-export-coverage.js +0 -73
- package/dist/src/core/patch-export-metadata.d.ts +0 -46
- package/dist/src/core/patch-export-metadata.js +0 -47
- package/dist/src/core/patch-export-update.d.ts +0 -55
- package/dist/src/core/patch-export-update.js +0 -95
- package/dist/src/core/patch-export.d.ts +0 -175
- package/dist/src/core/patch-export.js +0 -312
- package/dist/src/core/patch-files.d.ts +0 -17
- package/dist/src/core/patch-files.js +0 -59
- package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
- package/dist/src/core/patch-identifier-suggest.js +0 -135
- package/dist/src/core/patch-lint-binary.d.ts +0 -45
- package/dist/src/core/patch-lint-binary.js +0 -39
- package/dist/src/core/patch-lint-cache.d.ts +0 -78
- package/dist/src/core/patch-lint-cache.js +0 -233
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -39
- package/dist/src/core/patch-lint-checkjs-any-import.js +0 -63
- package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
- package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
- package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
- package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
- package/dist/src/core/patch-lint-checkjs.d.ts +0 -180
- package/dist/src/core/patch-lint-checkjs.js +0 -611
- package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
- package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
- package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
- package/dist/src/core/patch-lint-code-lines.js +0 -105
- package/dist/src/core/patch-lint-creators.d.ts +0 -26
- package/dist/src/core/patch-lint-creators.js +0 -45
- package/dist/src/core/patch-lint-cross.d.ts +0 -232
- package/dist/src/core/patch-lint-cross.js +0 -590
- package/dist/src/core/patch-lint-css.d.ts +0 -27
- package/dist/src/core/patch-lint-css.js +0 -228
- package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
- package/dist/src/core/patch-lint-diff-tag.js +0 -105
- package/dist/src/core/patch-lint-diff.d.ts +0 -42
- package/dist/src/core/patch-lint-diff.js +0 -100
- package/dist/src/core/patch-lint-file-size.d.ts +0 -57
- package/dist/src/core/patch-lint-file-size.js +0 -62
- package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
- package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
- package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
- package/dist/src/core/patch-lint-forward-registration.js +0 -266
- package/dist/src/core/patch-lint-ignore.d.ts +0 -196
- package/dist/src/core/patch-lint-ignore.js +0 -429
- package/dist/src/core/patch-lint-imports.d.ts +0 -5
- package/dist/src/core/patch-lint-imports.js +0 -67
- package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
- package/dist/src/core/patch-lint-jsdoc.js +0 -471
- package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
- package/dist/src/core/patch-lint-module-registration.js +0 -97
- package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
- package/dist/src/core/patch-lint-mozbuild.js +0 -192
- package/dist/src/core/patch-lint-observer.d.ts +0 -37
- package/dist/src/core/patch-lint-observer.js +0 -167
- package/dist/src/core/patch-lint-ownership.d.ts +0 -74
- package/dist/src/core/patch-lint-ownership.js +0 -125
- package/dist/src/core/patch-lint-prettier.d.ts +0 -34
- package/dist/src/core/patch-lint-prettier.js +0 -124
- package/dist/src/core/patch-lint-projection.d.ts +0 -25
- package/dist/src/core/patch-lint-projection.js +0 -43
- package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
- package/dist/src/core/patch-lint-queue-types.js +0 -12
- package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
- package/dist/src/core/patch-lint-size-thresholds.js +0 -110
- package/dist/src/core/patch-lint-size.d.ts +0 -117
- package/dist/src/core/patch-lint-size.js +0 -331
- package/dist/src/core/patch-lint-staged-registration.d.ts +0 -78
- package/dist/src/core/patch-lint-staged-registration.js +0 -110
- package/dist/src/core/patch-lint-token-scale.d.ts +0 -57
- package/dist/src/core/patch-lint-token-scale.js +0 -286
- package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
- package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
- package/dist/src/core/patch-lint.d.ts +0 -191
- package/dist/src/core/patch-lint.js +0 -529
- package/dist/src/core/patch-lock.d.ts +0 -40
- package/dist/src/core/patch-lock.js +0 -129
- package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
- package/dist/src/core/patch-manifest-consistency.js +0 -256
- package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
- package/dist/src/core/patch-manifest-files-affected.js +0 -77
- package/dist/src/core/patch-manifest-io.d.ts +0 -199
- package/dist/src/core/patch-manifest-io.js +0 -556
- package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
- package/dist/src/core/patch-manifest-key-order.js +0 -60
- package/dist/src/core/patch-manifest-query.d.ts +0 -55
- package/dist/src/core/patch-manifest-query.js +0 -139
- package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
- package/dist/src/core/patch-manifest-resolve.js +0 -35
- package/dist/src/core/patch-manifest-stage.d.ts +0 -46
- package/dist/src/core/patch-manifest-stage.js +0 -96
- package/dist/src/core/patch-manifest-validate.d.ts +0 -20
- package/dist/src/core/patch-manifest-validate.js +0 -240
- package/dist/src/core/patch-manifest.d.ts +0 -12
- package/dist/src/core/patch-manifest.js +0 -13
- package/dist/src/core/patch-order-legal.d.ts +0 -26
- package/dist/src/core/patch-order-legal.js +0 -88
- package/dist/src/core/patch-parse.d.ts +0 -161
- package/dist/src/core/patch-parse.js +0 -347
- package/dist/src/core/patch-policy-content.d.ts +0 -40
- package/dist/src/core/patch-policy-content.js +0 -216
- package/dist/src/core/patch-policy.d.ts +0 -80
- package/dist/src/core/patch-policy.js +0 -394
- package/dist/src/core/patch-registration-refs.d.ts +0 -41
- package/dist/src/core/patch-registration-refs.js +0 -107
- package/dist/src/core/patch-retired.d.ts +0 -57
- package/dist/src/core/patch-retired.js +0 -92
- package/dist/src/core/patch-source-metadata.d.ts +0 -6
- package/dist/src/core/patch-source-metadata.js +0 -12
- package/dist/src/core/patch-subset.d.ts +0 -18
- package/dist/src/core/patch-subset.js +0 -67
- package/dist/src/core/patch-transform.d.ts +0 -61
- package/dist/src/core/patch-transform.js +0 -198
- package/dist/src/core/preflight-wait.d.ts +0 -22
- package/dist/src/core/preflight-wait.js +0 -62
- package/dist/src/core/process-cpu-time.d.ts +0 -12
- package/dist/src/core/process-cpu-time.js +0 -52
- package/dist/src/core/process-owner.d.ts +0 -9
- package/dist/src/core/process-owner.js +0 -43
- package/dist/src/core/rebase-dry-run.d.ts +0 -48
- package/dist/src/core/rebase-dry-run.js +0 -105
- package/dist/src/core/rebase-from-version.d.ts +0 -46
- package/dist/src/core/rebase-from-version.js +0 -71
- package/dist/src/core/rebase-session.d.ts +0 -100
- package/dist/src/core/rebase-session.js +0 -174
- package/dist/src/core/register-browser-content.d.ts +0 -11
- package/dist/src/core/register-browser-content.js +0 -52
- package/dist/src/core/register-browser-test.d.ts +0 -18
- package/dist/src/core/register-browser-test.js +0 -66
- package/dist/src/core/register-module.d.ts +0 -11
- package/dist/src/core/register-module.js +0 -56
- package/dist/src/core/register-result.d.ts +0 -30
- package/dist/src/core/register-result.js +0 -8
- package/dist/src/core/register-scaffold.d.ts +0 -55
- package/dist/src/core/register-scaffold.js +0 -146
- package/dist/src/core/register-shared-css.d.ts +0 -36
- package/dist/src/core/register-shared-css.js +0 -112
- package/dist/src/core/register-xpcshell-test.d.ts +0 -50
- package/dist/src/core/register-xpcshell-test.js +0 -143
- package/dist/src/core/run-log-redact.d.ts +0 -38
- package/dist/src/core/run-log-redact.js +0 -69
- package/dist/src/core/run-log.d.ts +0 -97
- package/dist/src/core/run-log.js +0 -334
- package/dist/src/core/run-profile.d.ts +0 -57
- package/dist/src/core/run-profile.js +0 -137
- package/dist/src/core/shared-ftl.d.ts +0 -28
- package/dist/src/core/shared-ftl.js +0 -49
- package/dist/src/core/signal-critical.d.ts +0 -38
- package/dist/src/core/signal-critical.js +0 -62
- package/dist/src/core/smoke-patterns.d.ts +0 -81
- package/dist/src/core/smoke-patterns.js +0 -176
- package/dist/src/core/state-file.d.ts +0 -60
- package/dist/src/core/state-file.js +0 -71
- package/dist/src/core/status-binary.d.ts +0 -62
- package/dist/src/core/status-binary.js +0 -133
- package/dist/src/core/status-classify.d.ts +0 -96
- package/dist/src/core/status-classify.js +0 -244
- package/dist/src/core/test-changed-prefs.d.ts +0 -30
- package/dist/src/core/test-changed-prefs.js +0 -93
- package/dist/src/core/test-harness-crash.d.ts +0 -251
- package/dist/src/core/test-harness-crash.js +0 -780
- package/dist/src/core/test-harness-infra.d.ts +0 -32
- package/dist/src/core/test-harness-infra.js +0 -69
- package/dist/src/core/test-harness-output.d.ts +0 -45
- package/dist/src/core/test-harness-output.js +0 -119
- package/dist/src/core/test-harness-signature.d.ts +0 -57
- package/dist/src/core/test-harness-signature.js +0 -35
- package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
- package/dist/src/core/test-harness-verdict-notes.js +0 -48
- package/dist/src/core/test-host-state.d.ts +0 -14
- package/dist/src/core/test-host-state.js +0 -80
- package/dist/src/core/test-path-scope.d.ts +0 -59
- package/dist/src/core/test-path-scope.js +0 -147
- package/dist/src/core/test-profile-files.d.ts +0 -17
- package/dist/src/core/test-profile-files.js +0 -75
- package/dist/src/core/test-raw-log.d.ts +0 -66
- package/dist/src/core/test-raw-log.js +0 -122
- package/dist/src/core/test-run-completeness.d.ts +0 -97
- package/dist/src/core/test-run-completeness.js +0 -191
- package/dist/src/core/test-stale-check.d.ts +0 -213
- package/dist/src/core/test-stale-check.js +0 -396
- package/dist/src/core/test-stale-exempt.d.ts +0 -40
- package/dist/src/core/test-stale-exempt.js +0 -70
- package/dist/src/core/test-stale-symlink.d.ts +0 -12
- package/dist/src/core/test-stale-symlink.js +0 -39
- package/dist/src/core/test-stall-triage.d.ts +0 -51
- package/dist/src/core/test-stall-triage.js +0 -142
- package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
- package/dist/src/core/test-xpcshell-retry.js +0 -31
- package/dist/src/core/token-category.d.ts +0 -54
- package/dist/src/core/token-category.js +0 -299
- package/dist/src/core/token-coverage.d.ts +0 -12
- package/dist/src/core/token-coverage.js +0 -96
- package/dist/src/core/token-dark-mode.d.ts +0 -64
- package/dist/src/core/token-dark-mode.js +0 -186
- package/dist/src/core/token-docs.d.ts +0 -34
- package/dist/src/core/token-docs.js +0 -102
- package/dist/src/core/token-inventory.d.ts +0 -56
- package/dist/src/core/token-inventory.js +0 -114
- package/dist/src/core/token-lint.d.ts +0 -53
- package/dist/src/core/token-lint.js +0 -131
- package/dist/src/core/token-manager.d.ts +0 -87
- package/dist/src/core/token-manager.js +0 -407
- package/dist/src/core/token-scaffold.d.ts +0 -36
- package/dist/src/core/token-scaffold.js +0 -73
- package/dist/src/core/token-sibling-sheets.d.ts +0 -46
- package/dist/src/core/token-sibling-sheets.js +0 -119
- package/dist/src/core/token-variant.d.ts +0 -90
- package/dist/src/core/token-variant.js +0 -327
- package/dist/src/core/toolchain-preflight.d.ts +0 -90
- package/dist/src/core/toolchain-preflight.js +0 -251
- package/dist/src/core/tree-cow.d.ts +0 -16
- package/dist/src/core/tree-cow.js +0 -71
- package/dist/src/core/tree-guard.d.ts +0 -35
- package/dist/src/core/tree-guard.js +0 -194
- package/dist/src/core/tree-store.d.ts +0 -143
- package/dist/src/core/tree-store.js +0 -478
- package/dist/src/core/typecheck-shim.d.ts +0 -90
- package/dist/src/core/typecheck-shim.js +0 -507
- package/dist/src/core/typecheck.d.ts +0 -75
- package/dist/src/core/typecheck.js +0 -433
- package/dist/src/core/wire-destroy.d.ts +0 -25
- package/dist/src/core/wire-destroy.js +0 -126
- package/dist/src/core/wire-dom-fragment.d.ts +0 -44
- package/dist/src/core/wire-dom-fragment.js +0 -139
- package/dist/src/core/wire-init.d.ts +0 -28
- package/dist/src/core/wire-init.js +0 -219
- package/dist/src/core/wire-subscript.d.ts +0 -23
- package/dist/src/core/wire-subscript.js +0 -145
- package/dist/src/core/wire-utils.d.ts +0 -149
- package/dist/src/core/wire-utils.js +0 -338
- package/dist/src/core/xpcshell-appdir.d.ts +0 -157
- package/dist/src/core/xpcshell-appdir.js +0 -299
- package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
- package/dist/src/core/xpcshell-profile-dir.js +0 -45
- package/dist/src/errors/base.d.ts +0 -217
- package/dist/src/errors/base.js +0 -279
- package/dist/src/errors/build.d.ts +0 -92
- package/dist/src/errors/build.js +0 -166
- package/dist/src/errors/codes.d.ts +0 -74
- package/dist/src/errors/codes.js +0 -74
- package/dist/src/errors/config.d.ts +0 -17
- package/dist/src/errors/config.js +0 -39
- package/dist/src/errors/download.d.ts +0 -66
- package/dist/src/errors/download.js +0 -160
- package/dist/src/errors/furnace.d.ts +0 -20
- package/dist/src/errors/furnace.js +0 -28
- package/dist/src/errors/git.d.ts +0 -65
- package/dist/src/errors/git.js +0 -140
- package/dist/src/errors/patch.d.ts +0 -27
- package/dist/src/errors/patch.js +0 -52
- package/dist/src/errors/rebase.d.ts +0 -42
- package/dist/src/errors/rebase.js +0 -71
- package/dist/src/errors/run.d.ts +0 -16
- package/dist/src/errors/run.js +0 -22
- package/dist/src/index.d.ts +0 -42
- package/dist/src/index.js +0 -32
- package/dist/src/types/cli.d.ts +0 -14
- package/dist/src/types/commands/index.d.ts +0 -6
- package/dist/src/types/commands/index.js +0 -5
- package/dist/src/types/commands/options.d.ts +0 -1367
- package/dist/src/types/commands/options.js +0 -5
- package/dist/src/types/commands/patches.d.ts +0 -352
- package/dist/src/types/commands/patches.js +0 -5
- package/dist/src/types/commands/project.d.ts +0 -51
- package/dist/src/types/commands/project.js +0 -5
- package/dist/src/types/config.d.ts +0 -703
- package/dist/src/types/config.js +0 -15
- package/dist/src/types/furnace.d.ts +0 -415
- package/dist/src/types/furnace.js +0 -26
- package/dist/src/types/index.d.ts +0 -5
- package/dist/src/types/index.js +0 -5
- package/dist/src/types/json.d.ts +0 -22
- package/dist/src/types/json.js +0 -11
- package/dist/src/types/typecheck.d.ts +0 -51
- package/dist/src/types/typecheck.js +0 -14
- package/dist/src/utils/assert.d.ts +0 -34
- package/dist/src/utils/assert.js +0 -61
- package/dist/src/utils/build-info.d.ts +0 -30
- package/dist/src/utils/build-info.js +0 -99
- package/dist/src/utils/child-env.d.ts +0 -28
- package/dist/src/utils/child-env.js +0 -27
- package/dist/src/utils/concurrency.d.ts +0 -8
- package/dist/src/utils/concurrency.js +0 -32
- package/dist/src/utils/elapsed.d.ts +0 -2
- package/dist/src/utils/elapsed.js +0 -23
- package/dist/src/utils/errors.d.ts +0 -39
- package/dist/src/utils/errors.js +0 -67
- package/dist/src/utils/fs.d.ts +0 -113
- package/dist/src/utils/fs.js +0 -337
- package/dist/src/utils/hash.d.ts +0 -12
- package/dist/src/utils/hash.js +0 -16
- package/dist/src/utils/line-dispatch.d.ts +0 -15
- package/dist/src/utils/line-dispatch.js +0 -48
- package/dist/src/utils/logger.d.ts +0 -109
- package/dist/src/utils/logger.js +0 -270
- package/dist/src/utils/machine-output.d.ts +0 -12
- package/dist/src/utils/machine-output.js +0 -33
- package/dist/src/utils/options.d.ts +0 -155
- package/dist/src/utils/options.js +0 -312
- package/dist/src/utils/package-root.d.ts +0 -21
- package/dist/src/utils/package-root.js +0 -70
- package/dist/src/utils/parse.d.ts +0 -117
- package/dist/src/utils/parse.js +0 -214
- package/dist/src/utils/path-glob.d.ts +0 -15
- package/dist/src/utils/path-glob.js +0 -47
- package/dist/src/utils/paths.d.ts +0 -31
- package/dist/src/utils/paths.js +0 -80
- package/dist/src/utils/platform.d.ts +0 -9
- package/dist/src/utils/platform.js +0 -14
- package/dist/src/utils/process-group.d.ts +0 -42
- package/dist/src/utils/process-group.js +0 -190
- package/dist/src/utils/process-input.d.ts +0 -27
- package/dist/src/utils/process-input.js +0 -46
- package/dist/src/utils/process.d.ts +0 -293
- package/dist/src/utils/process.js +0 -593
- package/dist/src/utils/ps-duration.d.ts +0 -31
- package/dist/src/utils/ps-duration.js +0 -70
- package/dist/src/utils/regex.d.ts +0 -39
- package/dist/src/utils/regex.js +0 -109
- package/dist/src/utils/sleep.d.ts +0 -25
- package/dist/src/utils/sleep.js +0 -30
- package/dist/src/utils/stdio-drain.d.ts +0 -28
- package/dist/src/utils/stdio-drain.js +0 -54
- package/dist/src/utils/validation.d.ts +0 -182
- package/dist/src/utils/validation.js +0 -394
- package/docs/lifecycle-invariants.md +0 -523
- package/docs/run-logs.md +0 -122
- package/docs/verification-trees.md +0 -49
- /package/dist/src/{types/cli.js → cli/context.js} +0 -0
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { join, relative } from 'node:path';
|
|
3
|
-
import { GeneralError } from '../errors/base.js';
|
|
4
|
-
import { toError } from '../utils/errors.js';
|
|
5
|
-
import { verbose } from '../utils/logger.js';
|
|
6
|
-
import { toRootRelativePath } from '../utils/paths.js';
|
|
7
|
-
import { normalizePathSlashes } from '../utils/paths.js';
|
|
8
|
-
import { getProjectPaths, loadConfig } from './config.js';
|
|
9
|
-
import { assertSnapshotted, createRollbackJournal, restoreRollbackJournal, snapshotFile, } from './furnace-rollback.js';
|
|
10
|
-
import { registerBrowserContent } from './moz-manifest-register.js';
|
|
11
|
-
import { addDestroyToBrowserInit } from './wire-destroy.js';
|
|
12
|
-
import { addDomFragment, DEFAULT_DOM_TARGET } from './wire-dom-fragment.js';
|
|
13
|
-
import { addInitToBrowserInit } from './wire-init.js';
|
|
14
|
-
import { addSubscriptToBrowserMain } from './wire-subscript.js';
|
|
15
|
-
export const DEFAULT_BROWSER_SUBSCRIPT_DIR = 'browser/base/content';
|
|
16
|
-
const BROWSER_BASE_DIR = 'browser/base';
|
|
17
|
-
/**
|
|
18
|
-
* Wires a chrome subscript into the browser.
|
|
19
|
-
*
|
|
20
|
-
* @param root - Project root directory
|
|
21
|
-
* @param name - Subscript name (without .js extension)
|
|
22
|
-
* @param options - Wire options
|
|
23
|
-
* @returns Wire result
|
|
24
|
-
*/
|
|
25
|
-
export async function wireSubscript(root, name, options = {}) {
|
|
26
|
-
const { engine: engineDir } = getProjectPaths(root);
|
|
27
|
-
const subscriptDir = toRootRelativePath(engineDir, options.subscriptDir ?? DEFAULT_BROWSER_SUBSCRIPT_DIR);
|
|
28
|
-
// Compute jar.mn source path relative to browser/base/
|
|
29
|
-
let jarMnSourcePath;
|
|
30
|
-
if (subscriptDir !== DEFAULT_BROWSER_SUBSCRIPT_DIR) {
|
|
31
|
-
const relPath = normalizePathSlashes(relative(join(engineDir, BROWSER_BASE_DIR), join(engineDir, subscriptDir)));
|
|
32
|
-
jarMnSourcePath = `${relPath}/${name}.js`;
|
|
33
|
-
}
|
|
34
|
-
if (options.dryRun) {
|
|
35
|
-
return {
|
|
36
|
-
subscriptAdded: true,
|
|
37
|
-
initAdded: !!options.init,
|
|
38
|
-
destroyAdded: !!options.destroy,
|
|
39
|
-
domInserted: !!options.domFilePath,
|
|
40
|
-
jarMnResult: {
|
|
41
|
-
manifest: 'browser/base/jar.mn',
|
|
42
|
-
entry: `[dry-run] Would register content/browser/${name}.js`,
|
|
43
|
-
skipped: false,
|
|
44
|
-
},
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
// Snapshot every file the five mutation steps might touch so a
|
|
48
|
-
// mid-sequence failure (most commonly the chrome-document insertion not
|
|
49
|
-
// finding an anchor) does not leave a half-wired browser behind: new
|
|
50
|
-
// `loadSubScript` calls in browser-main.js, new init/destroy expressions
|
|
51
|
-
// in browser-init.js, and a new entry in browser/base/jar.mn, with no way
|
|
52
|
-
// back but a hand-revert or a re-download. Init/destroy/DOM are
|
|
53
|
-
// conditional, so those targets are snapshotted only when the
|
|
54
|
-
// corresponding option would fire a write.
|
|
55
|
-
const journal = createRollbackJournal();
|
|
56
|
-
const effectiveDomTargetPath = options.domFilePath
|
|
57
|
-
? toRootRelativePath(engineDir, options.domTargetPath ?? DEFAULT_DOM_TARGET)
|
|
58
|
-
: undefined;
|
|
59
|
-
await snapshotFile(journal, join(engineDir, 'browser/base/content/browser-main.js'));
|
|
60
|
-
if (options.init !== undefined || options.destroy !== undefined) {
|
|
61
|
-
await snapshotFile(journal, join(engineDir, 'browser/base/content/browser-init.js'));
|
|
62
|
-
}
|
|
63
|
-
if (effectiveDomTargetPath) {
|
|
64
|
-
await snapshotFile(journal, join(engineDir, effectiveDomTargetPath));
|
|
65
|
-
}
|
|
66
|
-
await snapshotFile(journal, join(engineDir, 'browser/base/jar.mn'));
|
|
67
|
-
// Compute the project-scoped patch-lint marker (`// <BINARY>:`) so every
|
|
68
|
-
// wire mutator can stamp it into the emitted comment block. Without it,
|
|
69
|
-
// `lintModificationComments` trips `missing-modification-comment` on
|
|
70
|
-
// wire-generated edits the next time the operator exports. A broken config
|
|
71
|
-
// should not block the wire, so the fallback marker keeps the
|
|
72
|
-
// lint-friendly default when the config cannot be loaded.
|
|
73
|
-
let marker = 'FIREFORGE:';
|
|
74
|
-
try {
|
|
75
|
-
const config = await loadConfig(root);
|
|
76
|
-
marker = `${config.binaryName.toUpperCase()}:`;
|
|
77
|
-
}
|
|
78
|
-
catch (error) {
|
|
79
|
-
verbose(`Using default wire marker because fireforge.json could not be loaded: ${toError(error).message}`);
|
|
80
|
-
}
|
|
81
|
-
try {
|
|
82
|
-
// 1. Add subscript to browser-main.js
|
|
83
|
-
assertSnapshotted(journal, join(engineDir, 'browser/base/content/browser-main.js'), 'browser wire');
|
|
84
|
-
const subscriptAdded = await addSubscriptToBrowserMain(engineDir, name, marker);
|
|
85
|
-
// 2. Add init expression to browser-init.js (if provided)
|
|
86
|
-
let initAdded = false;
|
|
87
|
-
if (options.init) {
|
|
88
|
-
// The snapshot above is taken when init or destroy is `!== undefined`
|
|
89
|
-
// while these writes fire on truthiness. Close, but two separate
|
|
90
|
-
// conditions over the same file, and that kind of pairing drifts when
|
|
91
|
-
// a third writer is added later.
|
|
92
|
-
assertSnapshotted(journal, join(engineDir, 'browser/base/content/browser-init.js'), 'browser wire init');
|
|
93
|
-
initAdded = await addInitToBrowserInit(engineDir, options.init, options.after, marker);
|
|
94
|
-
}
|
|
95
|
-
// 3. Add destroy expression to browser-init.js onUnload() (if provided)
|
|
96
|
-
let destroyAdded = false;
|
|
97
|
-
if (options.destroy) {
|
|
98
|
-
assertSnapshotted(journal, join(engineDir, 'browser/base/content/browser-init.js'), 'browser wire destroy');
|
|
99
|
-
destroyAdded = await addDestroyToBrowserInit(engineDir, options.destroy, marker);
|
|
100
|
-
}
|
|
101
|
-
// 4. Add #include directive to the top-level chrome document (if provided)
|
|
102
|
-
let domInserted = false;
|
|
103
|
-
if (options.domFilePath) {
|
|
104
|
-
domInserted = await addDomFragment(engineDir, toRootRelativePath(engineDir, options.domFilePath), options.domTargetPath);
|
|
105
|
-
}
|
|
106
|
-
// 5. Register in jar.mn
|
|
107
|
-
assertSnapshotted(journal, join(engineDir, 'browser/base/jar.mn'), 'browser wire jar.mn');
|
|
108
|
-
const jarMnResult = await registerBrowserContent(engineDir, `${name}.js`, undefined, jarMnSourcePath);
|
|
109
|
-
return {
|
|
110
|
-
subscriptAdded,
|
|
111
|
-
initAdded,
|
|
112
|
-
destroyAdded,
|
|
113
|
-
domInserted,
|
|
114
|
-
jarMnResult,
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
catch (error) {
|
|
118
|
-
// Best-effort rollback: if the restore itself fails, surface both the
|
|
119
|
-
// original wire failure and the rollback failure so the operator knows
|
|
120
|
-
// the engine may be in a partially-wired state that needs manual
|
|
121
|
-
// attention. The original error's message is preserved so the user sees
|
|
122
|
-
// why the wire failed (e.g. "Could not find insertion point in chrome
|
|
123
|
-
// document") alongside any rollback diagnosis.
|
|
124
|
-
const originalMessage = toError(error).message;
|
|
125
|
-
try {
|
|
126
|
-
await restoreRollbackJournal(journal);
|
|
127
|
-
}
|
|
128
|
-
catch (rollbackError) {
|
|
129
|
-
throw new GeneralError(`Wire failed: ${originalMessage}. Automatic rollback also failed: ${toError(rollbackError).message}. The engine may contain partially-applied wire mutations; review "git status" under engine/ and revert manually.`);
|
|
130
|
-
}
|
|
131
|
-
throw error;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
/** Outcome of a moz.build platform-gate lookup for a single source file. */
|
|
2
|
-
export interface PlatformGateResult {
|
|
3
|
-
/** True when the file is gated off on the current host. */
|
|
4
|
-
gatedOff: boolean;
|
|
5
|
-
/**
|
|
6
|
-
* The gate expression that excluded the file, if any. Surfaced in
|
|
7
|
-
* verbose output so an operator can confirm the audit's reasoning.
|
|
8
|
-
*/
|
|
9
|
-
gateExpression?: string;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Scans a moz.build file for a basename match inside a conditional
|
|
13
|
-
* block, returning the gate expression when one encloses the match.
|
|
14
|
-
*
|
|
15
|
-
* The scanner uses indentation to track block scope (Python-style):
|
|
16
|
-
* an `if CONFIG[…]:` line opens a scope at indent N+1, and dedenting
|
|
17
|
-
* back to indent N closes it. A basename match inside that scope
|
|
18
|
-
* inherits the gate expression.
|
|
19
|
-
*
|
|
20
|
-
* @param content moz.build file content
|
|
21
|
-
* @param basename Basename of the source file we are auditing
|
|
22
|
-
* @returns The enclosing gate expression, or undefined if none
|
|
23
|
-
*/
|
|
24
|
-
export declare function findEnclosingGate(content: string, basename: string): string | undefined;
|
|
25
|
-
/**
|
|
26
|
-
* Determines whether the given source file is gated off on the current
|
|
27
|
-
* host by an enclosing `if CONFIG[...]:` block in its owning moz.build,
|
|
28
|
-
* or by a path-convention rule for installer-tree subdirectories that
|
|
29
|
-
* are packaged via Makefile.in recipes the audit does not parse.
|
|
30
|
-
* Returns `gatedOff: false` and no expression when no gate is found. The
|
|
31
|
-
* file is not platform-restricted, so the caller should audit it
|
|
32
|
-
* normally.
|
|
33
|
-
*
|
|
34
|
-
* @param engineDir Absolute path to the engine root
|
|
35
|
-
* @param sourcePath Engine-relative POSIX path of the source file
|
|
36
|
-
* @returns Detection result
|
|
37
|
-
*/
|
|
38
|
-
export declare function detectPlatformGate(engineDir: string, sourcePath: string): Promise<PlatformGateResult>;
|
|
39
|
-
/**
|
|
40
|
-
* Result of an ancestor `DIRS +=` gate lookup.
|
|
41
|
-
*/
|
|
42
|
-
export interface AncestorDirsGateResult {
|
|
43
|
-
/** True when an ancestor's `DIRS` entry is gated off on this host. */
|
|
44
|
-
gatedOff: boolean;
|
|
45
|
-
/** The gate expression that excluded the directory. */
|
|
46
|
-
gateExpression?: string;
|
|
47
|
-
/** Engine-relative path of the `moz.build` carrying the gate. */
|
|
48
|
-
gateFile?: string;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Determines whether the source file's directory is excluded from this
|
|
52
|
-
* build by a gate in an ancestor `moz.build`.
|
|
53
|
-
*
|
|
54
|
-
* `detectPlatformGate` reads only the file's own nearest `moz.build`, which
|
|
55
|
-
* misses the common Firefox shape where the whole subtree is reached
|
|
56
|
-
* through a conditional `DIRS +=` one or more levels up: nothing in
|
|
57
|
-
* `toolkit/mozapps/defaultagent/moz.build` says "Windows only", yet none of
|
|
58
|
-
* it is built on macOS.
|
|
59
|
-
*
|
|
60
|
-
* Errs toward not skipping, like the rest of this module: an unreadable or
|
|
61
|
-
* oversized ancestor, or a directory no `DIRS` entry names, yields
|
|
62
|
-
* `gatedOff: false`.
|
|
63
|
-
*
|
|
64
|
-
* @param engineDir - Absolute path to the engine root
|
|
65
|
-
* @param sourcePath - Engine-relative POSIX path of the source file
|
|
66
|
-
*/
|
|
67
|
-
export declare function detectAncestorDirsGate(engineDir: string, sourcePath: string): Promise<AncestorDirsGateResult>;
|
|
@@ -1,373 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/*
|
|
3
|
-
* Platform-gate detection for the post-build dist-tree audit.
|
|
4
|
-
*
|
|
5
|
-
* `moz.build` files commonly wrap entries in conditional blocks like
|
|
6
|
-
* `if CONFIG["MAKENSISU"]:` (Windows-only stubinstaller) or
|
|
7
|
-
* `if CONFIG["OS_TARGET"] == "Darwin":` (macOS-only artwork). On a host that
|
|
8
|
-
* does not match the gate, the wrapped files are never processed by the
|
|
9
|
-
* build, so they cannot appear under `dist/`. Without this detection the
|
|
10
|
-
* audit warns about every gated file on every off-platform build.
|
|
11
|
-
*
|
|
12
|
-
* Two gate sources are consulted, in order:
|
|
13
|
-
* 1. Python-style `if CONFIG[...]:` blocks in the owning `moz.build`.
|
|
14
|
-
* 2. Path-convention gates: certain directory fragments are packaged by
|
|
15
|
-
* platform-specific Makefile.in / NSIS recipes that FireForge does not
|
|
16
|
-
* parse, so a file under `browser/installer/windows/` or any
|
|
17
|
-
* `/stubinstaller/` subtree is Windows-only regardless of what its
|
|
18
|
-
* nearest moz.build says.
|
|
19
|
-
*
|
|
20
|
-
* The detection is lightweight: walk up from the source file
|
|
21
|
-
* to the closest `moz.build`, scan it for the source basename inside an
|
|
22
|
-
* `if CONFIG[...]:` block, and check whether the gate matches the host. The
|
|
23
|
-
* path-convention pass runs only when no moz.build gate is found, so an
|
|
24
|
-
* explicit gate always wins.
|
|
25
|
-
*
|
|
26
|
-
* Best-effort. False negatives (missing a gate and warning anyway) are
|
|
27
|
-
* tolerable because the audit is warn-only. False positives (skipping a file
|
|
28
|
-
* that should ship on this host) are not tolerable, so it errs toward not
|
|
29
|
-
* skipping when uncertain.
|
|
30
|
-
*/
|
|
31
|
-
import { stat } from 'node:fs/promises';
|
|
32
|
-
import { dirname, join } from 'node:path';
|
|
33
|
-
import { pathExists, readText } from '../utils/fs.js';
|
|
34
|
-
import { getPlatform } from '../utils/platform.js';
|
|
35
|
-
import { escapeRegex } from '../utils/regex.js';
|
|
36
|
-
/**
|
|
37
|
-
* Tokens that uniquely identify a Windows-only `if CONFIG[...]:` block.
|
|
38
|
-
* `MAKENSISU` is the Windows stubinstaller compiler. `OS_TARGET ==
|
|
39
|
-
* "WINNT"` and `MOZ_WIDGET_TOOLKIT == "windows"` are the conventional
|
|
40
|
-
* platform discriminators.
|
|
41
|
-
*/
|
|
42
|
-
const WINDOWS_ONLY_GATE_TOKENS = ['MAKENSISU', '"WINNT"', "'WINNT'", '"windows"', "'windows'"];
|
|
43
|
-
/** Tokens that mark a macOS-only `if CONFIG[...]:` block. */
|
|
44
|
-
const DARWIN_ONLY_GATE_TOKENS = ['"Darwin"', "'Darwin'", '"cocoa"', "'cocoa'"];
|
|
45
|
-
/** Tokens that mark a Linux-only `if CONFIG[...]:` block. */
|
|
46
|
-
const LINUX_ONLY_GATE_TOKENS = ['"Linux"', "'Linux'", '"gtk"', "'gtk'"];
|
|
47
|
-
/**
|
|
48
|
-
* Returns true when the platform-gate expression includes one of the
|
|
49
|
-
* tokens characteristic of a single OS that is not the current host.
|
|
50
|
-
*/
|
|
51
|
-
function isGateOffHost(expression, host) {
|
|
52
|
-
const matchesWindows = WINDOWS_ONLY_GATE_TOKENS.some((t) => expression.includes(t));
|
|
53
|
-
const matchesDarwin = DARWIN_ONLY_GATE_TOKENS.some((t) => expression.includes(t));
|
|
54
|
-
const matchesLinux = LINUX_ONLY_GATE_TOKENS.some((t) => expression.includes(t));
|
|
55
|
-
// Negation gates (`!= "WINNT"`, `not CONFIG["MAKENSISU"]`) flip the
|
|
56
|
-
// semantics. Keep this conservative: if we cannot confidently parse
|
|
57
|
-
// a negation, return false so we don't wrongly suppress a warning.
|
|
58
|
-
const negated = /\bnot\b|!=/.test(expression);
|
|
59
|
-
if (negated)
|
|
60
|
-
return false;
|
|
61
|
-
if (matchesWindows && host !== 'win32')
|
|
62
|
-
return true;
|
|
63
|
-
if (matchesDarwin && host !== 'darwin')
|
|
64
|
-
return true;
|
|
65
|
-
if (matchesLinux && host !== 'linux')
|
|
66
|
-
return true;
|
|
67
|
-
return false;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Walks from a starting directory up to (but not above) the engine root,
|
|
71
|
-
* yielding the first `moz.build` encountered. Returns undefined when no
|
|
72
|
-
* ancestor has one, typically only for files that live above any
|
|
73
|
-
* moz.build entry point, which would not be packageable anyway.
|
|
74
|
-
*/
|
|
75
|
-
async function findOwningMozBuild(engineDir, sourceDir) {
|
|
76
|
-
let current = sourceDir;
|
|
77
|
-
const root = engineDir.replace(/\/+$/, '');
|
|
78
|
-
while (current.startsWith(root)) {
|
|
79
|
-
const candidate = join(current, 'moz.build');
|
|
80
|
-
if (await pathExists(candidate))
|
|
81
|
-
return candidate;
|
|
82
|
-
const parent = dirname(current);
|
|
83
|
-
if (parent === current)
|
|
84
|
-
break;
|
|
85
|
-
current = parent;
|
|
86
|
-
}
|
|
87
|
-
return undefined;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Matches a `basename` appearing at the tail of a quoted path literal
|
|
91
|
-
* on a single moz.build line. Catches both the bare entry
|
|
92
|
-
* `"installing_page.css"` and the path-prefixed entry
|
|
93
|
-
* `"stubinstaller/installing_page.css"`.
|
|
94
|
-
*/
|
|
95
|
-
function matchesQuotedBasename(line, basename) {
|
|
96
|
-
const escaped = escapeRegex(basename);
|
|
97
|
-
return new RegExp(`["'](?:[^"']*\\/)?${escaped}["']`).test(line);
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Scans a moz.build file for a basename match inside a conditional
|
|
101
|
-
* block, returning the gate expression when one encloses the match.
|
|
102
|
-
*
|
|
103
|
-
* The scanner uses indentation to track block scope (Python-style):
|
|
104
|
-
* an `if CONFIG[…]:` line opens a scope at indent N+1, and dedenting
|
|
105
|
-
* back to indent N closes it. A basename match inside that scope
|
|
106
|
-
* inherits the gate expression.
|
|
107
|
-
*
|
|
108
|
-
* @param content moz.build file content
|
|
109
|
-
* @param basename Basename of the source file we are auditing
|
|
110
|
-
* @returns The enclosing gate expression, or undefined if none
|
|
111
|
-
*/
|
|
112
|
-
export function findEnclosingGate(content, basename) {
|
|
113
|
-
const lines = content.split('\n');
|
|
114
|
-
const stack = [];
|
|
115
|
-
for (const line of lines) {
|
|
116
|
-
if (line.trim() === '')
|
|
117
|
-
continue;
|
|
118
|
-
const indent = (/^(\s*)/.exec(line)?.[1] ?? '').length;
|
|
119
|
-
while (stack.length > 0) {
|
|
120
|
-
const top = stack[stack.length - 1];
|
|
121
|
-
if (top && indent <= top.indent) {
|
|
122
|
-
stack.pop();
|
|
123
|
-
continue;
|
|
124
|
-
}
|
|
125
|
-
break;
|
|
126
|
-
}
|
|
127
|
-
const ifMatch = /^\s*if\s+(.+?):\s*(?:#.*)?$/.exec(line);
|
|
128
|
-
if (ifMatch?.[1]) {
|
|
129
|
-
stack.push({ indent, expression: ifMatch[1] });
|
|
130
|
-
continue;
|
|
131
|
-
}
|
|
132
|
-
if (matchesQuotedBasename(line, basename)) {
|
|
133
|
-
const top = stack[stack.length - 1];
|
|
134
|
-
if (top)
|
|
135
|
-
return top.expression;
|
|
136
|
-
return undefined;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
return undefined;
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Path-convention gates: directories whose files are packaged by
|
|
143
|
-
* platform-specific build recipes (NSIS stub installer, DMG creation, Linux
|
|
144
|
-
* installer scripts) that live outside the moz.build graph. A file under any
|
|
145
|
-
* of these fragments is platform-restricted regardless of what its nearest
|
|
146
|
-
* `moz.build` says.
|
|
147
|
-
*
|
|
148
|
-
* `stubinstaller/` is the Windows NSIS stub installer asset tree, referenced
|
|
149
|
-
* from `browser/installer/windows/Makefile.in` and `nsis/stub.nsh` rather
|
|
150
|
-
* than through any `if CONFIG[…]:` block an ancestor moz.build exposes.
|
|
151
|
-
*/
|
|
152
|
-
const PATH_GATES = [
|
|
153
|
-
{ fragment: '/stubinstaller/', platform: 'win32', label: 'path convention: /stubinstaller/' },
|
|
154
|
-
{
|
|
155
|
-
fragment: '/browser/installer/windows/',
|
|
156
|
-
platform: 'win32',
|
|
157
|
-
label: 'path convention: browser/installer/windows/',
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
fragment: '/browser/installer/macosx/',
|
|
161
|
-
platform: 'darwin',
|
|
162
|
-
label: 'path convention: browser/installer/macosx/',
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
fragment: '/browser/installer/linux/',
|
|
166
|
-
platform: 'linux',
|
|
167
|
-
label: 'path convention: browser/installer/linux/',
|
|
168
|
-
},
|
|
169
|
-
];
|
|
170
|
-
/**
|
|
171
|
-
* Returns a path-convention gate for `sourcePath` when one applies.
|
|
172
|
-
* Leading slash added so `startsWith`-style prefix traps
|
|
173
|
-
* (`browser/installer/windows/…`) match whether or not the input
|
|
174
|
-
* starts with a separator.
|
|
175
|
-
*/
|
|
176
|
-
function findPathConventionGate(sourcePath) {
|
|
177
|
-
const normalised = `/${sourcePath}`.replace(/\/+/g, '/');
|
|
178
|
-
for (const entry of PATH_GATES) {
|
|
179
|
-
if (normalised.includes(entry.fragment)) {
|
|
180
|
-
return { platform: entry.platform, label: entry.label };
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
return undefined;
|
|
184
|
-
}
|
|
185
|
-
/**
|
|
186
|
-
* Determines whether the given source file is gated off on the current
|
|
187
|
-
* host by an enclosing `if CONFIG[...]:` block in its owning moz.build,
|
|
188
|
-
* or by a path-convention rule for installer-tree subdirectories that
|
|
189
|
-
* are packaged via Makefile.in recipes the audit does not parse.
|
|
190
|
-
* Returns `gatedOff: false` and no expression when no gate is found. The
|
|
191
|
-
* file is not platform-restricted, so the caller should audit it
|
|
192
|
-
* normally.
|
|
193
|
-
*
|
|
194
|
-
* @param engineDir Absolute path to the engine root
|
|
195
|
-
* @param sourcePath Engine-relative POSIX path of the source file
|
|
196
|
-
* @returns Detection result
|
|
197
|
-
*/
|
|
198
|
-
export async function detectPlatformGate(engineDir, sourcePath) {
|
|
199
|
-
let host;
|
|
200
|
-
try {
|
|
201
|
-
host = getPlatform();
|
|
202
|
-
}
|
|
203
|
-
catch {
|
|
204
|
-
// Unrecognised host platform. The platform gates below are advisory, so an
|
|
205
|
-
// unknown host disables them rather than failing a warn-only audit.
|
|
206
|
-
host = undefined;
|
|
207
|
-
}
|
|
208
|
-
const sourceDir = dirname(join(engineDir, sourcePath));
|
|
209
|
-
const mozBuild = await findOwningMozBuild(engineDir, sourceDir);
|
|
210
|
-
if (mozBuild) {
|
|
211
|
-
let content;
|
|
212
|
-
try {
|
|
213
|
-
content = await readText(mozBuild);
|
|
214
|
-
}
|
|
215
|
-
catch {
|
|
216
|
-
// An unreadable moz.build contributes no platform gates. The audit is
|
|
217
|
-
// warn-only, so a missing input degrades to 'no gate found', not an error.
|
|
218
|
-
content = '';
|
|
219
|
-
}
|
|
220
|
-
const sourceBasename = sourcePath.split('/').pop() ?? '';
|
|
221
|
-
const expression = findEnclosingGate(content, sourceBasename);
|
|
222
|
-
if (expression) {
|
|
223
|
-
if (host && isGateOffHost(expression, host)) {
|
|
224
|
-
return { gatedOff: true, gateExpression: expression };
|
|
225
|
-
}
|
|
226
|
-
return { gatedOff: false, gateExpression: expression };
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
const pathGate = findPathConventionGate(sourcePath);
|
|
230
|
-
if (pathGate && host && host !== pathGate.platform) {
|
|
231
|
-
return { gatedOff: true, gateExpression: pathGate.label };
|
|
232
|
-
}
|
|
233
|
-
return { gatedOff: false };
|
|
234
|
-
}
|
|
235
|
-
/**
|
|
236
|
-
* Maximum ancestor levels walked looking for a gating `DIRS` entry, and the
|
|
237
|
-
* largest `moz.build` read while doing it. The audit runs on every build, so
|
|
238
|
-
* a pathological tree must not be able to make it slow. Beyond these bounds
|
|
239
|
-
* the walk gives up and the caller keeps today's behaviour (warn).
|
|
240
|
-
*/
|
|
241
|
-
const MAX_ANCESTOR_DEPTH = 12;
|
|
242
|
-
const MAX_MOZ_BUILD_BYTES = 256 * 1024;
|
|
243
|
-
/** Matches a line that begins a `DIRS` assignment. */
|
|
244
|
-
const DIRS_ASSIGNMENT_PATTERN = /^\s*DIRS\s*\+?=/;
|
|
245
|
-
/**
|
|
246
|
-
* Collects the full stack of `if CONFIG[…]:` expressions enclosing the
|
|
247
|
-
* `DIRS` entry whose value equals `relDir`.
|
|
248
|
-
*
|
|
249
|
-
* Two differences from {@link findEnclosingGate}, both load-bearing here:
|
|
250
|
-
* only quoted values inside a `DIRS` assignment are considered (an
|
|
251
|
-
* unrelated string literal elsewhere in the file must not gate a
|
|
252
|
-
* directory), and every enclosing expression is returned rather than the
|
|
253
|
-
* innermost. Firefox nests these: `toolkit/moz.build` reaches
|
|
254
|
-
* `mozapps/defaultagent` inside `OS_ARCH == "WINNT"`, then a `CC_TYPE`
|
|
255
|
-
* test, then `MOZ_DEFAULT_BROWSER_AGENT`, and it is the outermost one that
|
|
256
|
-
* excludes the directory on a macOS host.
|
|
257
|
-
*
|
|
258
|
-
* @param content - `moz.build` file content
|
|
259
|
-
* @param relDir - Directory path relative to the `moz.build`, POSIX-separated
|
|
260
|
-
* @returns Enclosing gate expressions, outermost first. Empty when ungated
|
|
261
|
-
* or when no `DIRS` entry reaches `relDir`
|
|
262
|
-
*/
|
|
263
|
-
function findDirsEntryGates(content, relDir) {
|
|
264
|
-
const lines = content.split('\n');
|
|
265
|
-
const stack = [];
|
|
266
|
-
let inDirs = false;
|
|
267
|
-
for (const line of lines) {
|
|
268
|
-
if (line.trim() === '')
|
|
269
|
-
continue;
|
|
270
|
-
const indent = (/^(\s*)/.exec(line)?.[1] ?? '').length;
|
|
271
|
-
while (stack.length > 0) {
|
|
272
|
-
const top = stack[stack.length - 1];
|
|
273
|
-
if (top && indent <= top.indent) {
|
|
274
|
-
stack.pop();
|
|
275
|
-
continue;
|
|
276
|
-
}
|
|
277
|
-
break;
|
|
278
|
-
}
|
|
279
|
-
const ifMatch = /^\s*if\s+(.+?):\s*(?:#.*)?$/.exec(line);
|
|
280
|
-
if (ifMatch?.[1]) {
|
|
281
|
-
stack.push({ indent, expression: ifMatch[1] });
|
|
282
|
-
inDirs = false;
|
|
283
|
-
continue;
|
|
284
|
-
}
|
|
285
|
-
if (DIRS_ASSIGNMENT_PATTERN.test(line)) {
|
|
286
|
-
// A `DIRS += [` list body continues on later lines. A single-line
|
|
287
|
-
// `DIRS += ["x"]` is fully handled by the match below.
|
|
288
|
-
inDirs = !line.includes(']');
|
|
289
|
-
if (dirsLineNames(line, relDir))
|
|
290
|
-
return stack.map((entry) => entry.expression);
|
|
291
|
-
continue;
|
|
292
|
-
}
|
|
293
|
-
if (inDirs) {
|
|
294
|
-
if (dirsLineNames(line, relDir))
|
|
295
|
-
return stack.map((entry) => entry.expression);
|
|
296
|
-
if (line.includes(']'))
|
|
297
|
-
inDirs = false;
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
return undefined;
|
|
301
|
-
}
|
|
302
|
-
/** True when `line` carries `relDir` as a quoted value. */
|
|
303
|
-
function dirsLineNames(line, relDir) {
|
|
304
|
-
const escaped = escapeRegex(relDir.replace(/\/+$/, ''));
|
|
305
|
-
return new RegExp(`["']${escaped}\\/?["']`).test(line);
|
|
306
|
-
}
|
|
307
|
-
/**
|
|
308
|
-
* Determines whether the source file's directory is excluded from this
|
|
309
|
-
* build by a gate in an ancestor `moz.build`.
|
|
310
|
-
*
|
|
311
|
-
* `detectPlatformGate` reads only the file's own nearest `moz.build`, which
|
|
312
|
-
* misses the common Firefox shape where the whole subtree is reached
|
|
313
|
-
* through a conditional `DIRS +=` one or more levels up: nothing in
|
|
314
|
-
* `toolkit/mozapps/defaultagent/moz.build` says "Windows only", yet none of
|
|
315
|
-
* it is built on macOS.
|
|
316
|
-
*
|
|
317
|
-
* Errs toward not skipping, like the rest of this module: an unreadable or
|
|
318
|
-
* oversized ancestor, or a directory no `DIRS` entry names, yields
|
|
319
|
-
* `gatedOff: false`.
|
|
320
|
-
*
|
|
321
|
-
* @param engineDir - Absolute path to the engine root
|
|
322
|
-
* @param sourcePath - Engine-relative POSIX path of the source file
|
|
323
|
-
*/
|
|
324
|
-
export async function detectAncestorDirsGate(engineDir, sourcePath) {
|
|
325
|
-
let host;
|
|
326
|
-
try {
|
|
327
|
-
host = getPlatform();
|
|
328
|
-
}
|
|
329
|
-
catch {
|
|
330
|
-
return { gatedOff: false };
|
|
331
|
-
}
|
|
332
|
-
const segments = sourcePath.split('/').filter(Boolean);
|
|
333
|
-
// Drop the basename: the walk is over directories.
|
|
334
|
-
segments.pop();
|
|
335
|
-
const root = engineDir.replace(/[/\\]+$/, '');
|
|
336
|
-
const depth = Math.min(segments.length, MAX_ANCESTOR_DEPTH);
|
|
337
|
-
// Start at the immediate parent of the file's directory and walk up, so
|
|
338
|
-
// the nearest gating ancestor is found first.
|
|
339
|
-
for (let cut = segments.length - 1; cut >= segments.length - depth; cut -= 1) {
|
|
340
|
-
const ancestorSegments = segments.slice(0, cut);
|
|
341
|
-
const relDir = segments.slice(cut).join('/');
|
|
342
|
-
if (relDir === '')
|
|
343
|
-
continue;
|
|
344
|
-
const mozBuild = join(root, ...ancestorSegments, 'moz.build');
|
|
345
|
-
if (!(await pathExists(mozBuild)))
|
|
346
|
-
continue;
|
|
347
|
-
let content;
|
|
348
|
-
try {
|
|
349
|
-
const stats = await stat(mozBuild);
|
|
350
|
-
if (stats.size > MAX_MOZ_BUILD_BYTES)
|
|
351
|
-
continue;
|
|
352
|
-
content = await readText(mozBuild);
|
|
353
|
-
}
|
|
354
|
-
catch {
|
|
355
|
-
continue;
|
|
356
|
-
}
|
|
357
|
-
const gates = findDirsEntryGates(content, relDir);
|
|
358
|
-
if (gates === undefined)
|
|
359
|
-
continue;
|
|
360
|
-
const offHost = gates.find((expression) => isGateOffHost(expression, host));
|
|
361
|
-
if (offHost !== undefined) {
|
|
362
|
-
return {
|
|
363
|
-
gatedOff: true,
|
|
364
|
-
gateExpression: offHost,
|
|
365
|
-
gateFile: [...ancestorSegments, 'moz.build'].join('/'),
|
|
366
|
-
};
|
|
367
|
-
}
|
|
368
|
-
// The directory is reached from here and this host passes every gate.
|
|
369
|
-
// A further ancestor cannot un-reach it.
|
|
370
|
-
return { gatedOff: false };
|
|
371
|
-
}
|
|
372
|
-
return { gatedOff: false };
|
|
373
|
-
}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/** Parsed jar.mn registration anchored to a specific engine source path. */
|
|
2
|
-
export interface RegistrationHit {
|
|
3
|
-
/** Target path extracted from the entry (POSIX). */
|
|
4
|
-
target: string;
|
|
5
|
-
/** Source path from the entry (POSIX, relative to the jar.mn directory). */
|
|
6
|
-
source: string;
|
|
7
|
-
/** Absolute path of the jar.mn that owns the registration. */
|
|
8
|
-
jarManifest: string;
|
|
9
|
-
}
|
|
10
|
-
/** Result of a registration-aware dist probe. */
|
|
11
|
-
export interface RegistrationProbeResult {
|
|
12
|
-
/** Absolute path of the packaged artifact matching the registration target. */
|
|
13
|
-
artifact: string;
|
|
14
|
-
/** The registration entry that anchored the match. */
|
|
15
|
-
hit: RegistrationHit;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Parses a single jar.mn line into `{ target, source }` when the line is a
|
|
19
|
-
* content entry with an explicit `(source)` reference. Returns undefined
|
|
20
|
-
* for comments, headers (`browser.jar:`), `%` manifest directives, blank
|
|
21
|
-
* lines, and entries without a source reference.
|
|
22
|
-
*
|
|
23
|
-
* Accepted entry shapes:
|
|
24
|
-
* ` content/browser/foo.js (content/foo.js)` bare
|
|
25
|
-
* `* content/browser/foo.js (content/foo.js)` `*` = preprocessed
|
|
26
|
-
* `en-US.jar: content/foo.js (content/foo.js)` locale-prefixed
|
|
27
|
-
*/
|
|
28
|
-
export declare function parseJarMnEntry(line: string): {
|
|
29
|
-
target: string;
|
|
30
|
-
source: string;
|
|
31
|
-
} | undefined;
|
|
32
|
-
/**
|
|
33
|
-
* Scans a jar.mn file's contents for an entry whose source reference
|
|
34
|
-
* matches `relativeSource` (POSIX, relative to the jar.mn directory).
|
|
35
|
-
* Returns the first match. jar.mn enforces uniqueness of `(source)` in
|
|
36
|
-
* practice, so a first-match wins behaviour is adequate.
|
|
37
|
-
*/
|
|
38
|
-
export declare function findJarMnEntryForSource(content: string, relativeSource: string): {
|
|
39
|
-
target: string;
|
|
40
|
-
source: string;
|
|
41
|
-
} | undefined;
|
|
42
|
-
/**
|
|
43
|
-
* Walks from the source's directory upward to the engine root, returning
|
|
44
|
-
* the first jar.mn entry that registers the given source. Returns undefined
|
|
45
|
-
* when no ancestor jar.mn claims the source.
|
|
46
|
-
*
|
|
47
|
-
* @param engineDir Absolute engine root. The walk halts here.
|
|
48
|
-
* @param source Engine-relative POSIX source path.
|
|
49
|
-
*/
|
|
50
|
-
export declare function findRegisteredTarget(engineDir: string, source: string): Promise<RegistrationHit | undefined>;
|
|
51
|
-
/**
|
|
52
|
-
* Probes the dist tree for the artifact registered against the given
|
|
53
|
-
* source. Returns the matched candidate and the registration hit that
|
|
54
|
-
* anchored it. Undefined when the source has no owning jar.mn or when
|
|
55
|
-
* no same-basename candidate under the search roots ends with the
|
|
56
|
-
* registered target path.
|
|
57
|
-
*
|
|
58
|
-
* Suffix-matching against the target path is intentional: jar.mn targets
|
|
59
|
-
* are relative to the jar root (`browser.jar:`, `toolkit.jar:`), but the
|
|
60
|
-
* dist tree prefixes every entry with a jar-specific directory
|
|
61
|
-
* (`.../chrome/browser/content/browser/…`). The source basename plus the
|
|
62
|
-
* target suffix are unambiguous across every packaging convention we
|
|
63
|
-
* care about.
|
|
64
|
-
*
|
|
65
|
-
* @param engineDir Absolute engine root.
|
|
66
|
-
* @param source Engine-relative POSIX source path.
|
|
67
|
-
* @param searchRoots Absolute roots to probe (dist/, _tests/).
|
|
68
|
-
*/
|
|
69
|
-
export declare function resolveArtifactByRegistration(engineDir: string, source: string, searchRoots: readonly string[]): Promise<RegistrationProbeResult | undefined>;
|
|
70
|
-
/**
|
|
71
|
-
* Returns the absolute paths of every same-basename candidate under the
|
|
72
|
-
* given search roots. Used by the audit to enumerate all false-match
|
|
73
|
-
* candidates when the heuristic fallback downgrades to "missing". The
|
|
74
|
-
* operator needs to see the full set, not just the scorer's pick, to
|
|
75
|
-
* distinguish a registration bug from a genuine packaging drop.
|
|
76
|
-
*
|
|
77
|
-
* @param source Engine-relative POSIX source path.
|
|
78
|
-
* @param searchRoots Absolute roots to scan.
|
|
79
|
-
*/
|
|
80
|
-
export declare function collectSameBasenameCandidates(source: string, searchRoots: readonly string[]): Promise<string[]>;
|