@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,633 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/*
|
|
3
|
-
* Post-build dist-tree audit.
|
|
4
|
-
*
|
|
5
|
-
* Purpose: catch the class of bug where a file under engine/ was edited
|
|
6
|
-
* but never registered in moz.build, jar.mn, or package-manifest.in, so
|
|
7
|
-
* the mach build reports success but the packaged bundle carries stale
|
|
8
|
-
* or missing content. A fork-specific pref file that was never registered
|
|
9
|
-
* for packaging is the canonical case.
|
|
10
|
-
*
|
|
11
|
-
* The audit is best-effort and warn-only:
|
|
12
|
-
* - It enumerates engine files changed since the previous build baseline
|
|
13
|
-
* (git-tracked diff + workdir modifications).
|
|
14
|
-
* - For each file whose path pattern implies packaging, it resolves
|
|
15
|
-
* the expected dist artifact under obj-star/dist/binary-name-star.
|
|
16
|
-
* - A warning fires when the expected artifact is missing or when its
|
|
17
|
-
* mtime is older than the engine source (the build was reported
|
|
18
|
-
* successful but that file's path never flowed through packaging).
|
|
19
|
-
* - False positives are acceptable at this stage: fork-specific packaging
|
|
20
|
-
* tricks FireForge doesn't know about will surface as warnings an
|
|
21
|
-
* operator can investigate. The audit never fails the build.
|
|
22
|
-
*
|
|
23
|
-
* Routing rules:
|
|
24
|
-
* - Build inputs (jar.mn, moz.build, Makefile.in, moz.configure) are
|
|
25
|
-
* skipped. They are consumed, not packaged.
|
|
26
|
-
* - Test sources (anything under /test(s)/, browser_*.js, test_*.js)
|
|
27
|
-
* are looked up under _tests/, not dist/, which is where mach copies
|
|
28
|
-
* them.
|
|
29
|
-
* - Files inside an `if CONFIG[...]:` block in moz.build that gates
|
|
30
|
-
* off on the current host are skipped (Windows stubinstaller CSS on
|
|
31
|
-
* a macOS build, etc.).
|
|
32
|
-
* - Same-basename collisions in dist/ are disambiguated by trailing-
|
|
33
|
-
* segment overlap so a branding override does not get matched
|
|
34
|
-
* against an unrelated upstream file with the same basename.
|
|
35
|
-
*/
|
|
36
|
-
import { readdir, stat } from 'node:fs/promises';
|
|
37
|
-
import { basename, join } from 'node:path';
|
|
38
|
-
import { toError } from '../utils/errors.js';
|
|
39
|
-
import { pathExists } from '../utils/fs.js';
|
|
40
|
-
import { info, verbose, warn } from '../utils/logger.js';
|
|
41
|
-
import { normalizePathSlashes } from '../utils/paths.js';
|
|
42
|
-
import { detectAncestorDirsGate, detectPlatformGate } from './build-audit-platform.js';
|
|
43
|
-
import { collectSameBasenameCandidates, findRegisteredTarget, resolveArtifactByRegistration, } from './build-audit-registration.js';
|
|
44
|
-
import { countTrailingSegmentMatches, GENERIC_PATH_SEGMENTS, isTestPath, resolveBestArtifact, } from './build-audit-resolve.js';
|
|
45
|
-
import { AUDIT_SKIP_REASONS, isStorybookStoryPath, isUnselectedBrandingPath, matchUnpackagedDeclaration, resolveSelectedBranding, } from './build-audit-skip.js';
|
|
46
|
-
import { resolveArtifactByKnownTransform } from './build-audit-transforms.js';
|
|
47
|
-
import { collectChangedEnginePaths } from './engine-changes.js';
|
|
48
|
-
import { loadPatchesManifest } from './patch-manifest-io.js';
|
|
49
|
-
import { buildPatchClaims } from './status-classify.js';
|
|
50
|
-
/** Path extensions that are conventionally packaged into the Firefox bundle. */
|
|
51
|
-
const PACKAGEABLE_EXTENSIONS = [
|
|
52
|
-
'.js',
|
|
53
|
-
'.mjs',
|
|
54
|
-
'.jsm',
|
|
55
|
-
'.css',
|
|
56
|
-
'.ftl',
|
|
57
|
-
'.xhtml',
|
|
58
|
-
'.xul',
|
|
59
|
-
'.html',
|
|
60
|
-
'.properties',
|
|
61
|
-
];
|
|
62
|
-
/** Path fragments whose contents are packaged regardless of extension. */
|
|
63
|
-
const PACKAGEABLE_PATH_FRAGMENTS = ['/app/profile/', '/chrome/', '/locales/'];
|
|
64
|
-
/** Directories that are build artifacts, not source. Never audited. */
|
|
65
|
-
const IGNORE_PATH_FRAGMENTS = ['obj-', 'node_modules/', '.git/', '.cargo/', '.mozbuild/'];
|
|
66
|
-
/**
|
|
67
|
-
* Basenames that are build-system inputs, not packaged artifacts. `jar.mn`
|
|
68
|
-
* is consumed to produce chrome registrations. `moz.build` / `moz.configure`
|
|
69
|
-
* / `Makefile.in` feed the build backend. None ship in the bundle. Auditing
|
|
70
|
-
* them guarantees a false positive on every edit, and worse, an unrelated
|
|
71
|
-
* upstream `moz.build` sitting at e.g. `MyBrowser.app/Contents/moz.build`
|
|
72
|
-
* gets matched as a "stale artifact" of an entirely different file.
|
|
73
|
-
*/
|
|
74
|
-
const BUILD_INPUT_BASENAMES = new Set([
|
|
75
|
-
'jar.mn',
|
|
76
|
-
'moz.build',
|
|
77
|
-
'moz.configure',
|
|
78
|
-
'Makefile.in',
|
|
79
|
-
'mozbuild.in',
|
|
80
|
-
]);
|
|
81
|
-
/**
|
|
82
|
-
* True for the build-input manifests the build consumes but never packages
|
|
83
|
-
* (`jar.mn`, `moz.build`, `moz.configure`, `Makefile.in`, `mozbuild.in`).
|
|
84
|
-
* Excluded from the packaging audit and from `packageableFingerprints`.
|
|
85
|
-
* Fingerprinted separately as `buildInputFingerprints` so `build-prepare`
|
|
86
|
-
* can tell "dirty against HEAD" from "changed since the last successful
|
|
87
|
-
* build".
|
|
88
|
-
*
|
|
89
|
-
* @param sourcePath Engine-relative POSIX path.
|
|
90
|
-
*/
|
|
91
|
-
export function isBuildInputPath(sourcePath) {
|
|
92
|
-
return BUILD_INPUT_BASENAMES.has(basename(sourcePath));
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* True for a chrome packaging manifest (`jar.mn`). Its install-manifest
|
|
96
|
-
* destinations are the one build input whose change escalates a pre-test
|
|
97
|
-
* `mach build faster` to a full build, and whose fingerprint is therefore
|
|
98
|
-
* refreshed only by a full build.
|
|
99
|
-
*
|
|
100
|
-
* @param sourcePath Engine-relative POSIX path.
|
|
101
|
-
*/
|
|
102
|
-
export function isJarManifestPath(sourcePath) {
|
|
103
|
-
return sourcePath === 'jar.mn' || sourcePath.endsWith('/jar.mn');
|
|
104
|
-
}
|
|
105
|
-
/** Zeroed per-class skip counters. */
|
|
106
|
-
function emptySkipCounts() {
|
|
107
|
-
return Object.fromEntries(AUDIT_SKIP_REASONS.map((reason) => [reason, 0]));
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Decides whether a source path should be packaged. Returns true for paths
|
|
111
|
-
* whose extension or directory fragment matches a known-packaged pattern,
|
|
112
|
-
* after excluding build inputs (`jar.mn`, `moz.build`, etc.) which are
|
|
113
|
-
* consumed by the build but never themselves packaged.
|
|
114
|
-
*
|
|
115
|
-
* @param sourcePath Engine-relative POSIX path (for example browser/app/profile/pref.js).
|
|
116
|
-
* @returns True when the path implies packaging.
|
|
117
|
-
*/
|
|
118
|
-
export function isPackageablePath(sourcePath) {
|
|
119
|
-
for (const fragment of IGNORE_PATH_FRAGMENTS) {
|
|
120
|
-
if (sourcePath.includes(fragment))
|
|
121
|
-
return false;
|
|
122
|
-
}
|
|
123
|
-
if (isBuildInputPath(sourcePath))
|
|
124
|
-
return false;
|
|
125
|
-
// `.inc.xhtml` fragments are consumed via `#include` from a registered
|
|
126
|
-
// chrome document and resolved at packaging time. They never ship as a
|
|
127
|
-
// standalone packaged artifact, so auditing them flags a wired
|
|
128
|
-
// `*.inc.xhtml` as "missing packaged artifact" even though `register`
|
|
129
|
-
// correctly refuses to register it. Mirror the carve-out the register
|
|
130
|
-
// rules apply.
|
|
131
|
-
if (sourcePath.endsWith('.inc.xhtml'))
|
|
132
|
-
return false;
|
|
133
|
-
for (const ext of PACKAGEABLE_EXTENSIONS) {
|
|
134
|
-
if (sourcePath.endsWith(ext))
|
|
135
|
-
return true;
|
|
136
|
-
}
|
|
137
|
-
for (const fragment of PACKAGEABLE_PATH_FRAGMENTS) {
|
|
138
|
-
if (sourcePath.includes(fragment))
|
|
139
|
-
return true;
|
|
140
|
-
}
|
|
141
|
-
return false;
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Decides whether a source path is an XPCOM static-component manifest,
|
|
145
|
-
* i.e. a file whose registrations are baked into the compiled
|
|
146
|
-
* StaticComponents table at full-build time rather than packaged into
|
|
147
|
-
* `dist/`. This basename check is the single extension point for that
|
|
148
|
-
* classification. Parsing `moz.build` `XPCOM_MANIFESTS` entries to follow
|
|
149
|
-
* renamed manifests is out of scope.
|
|
150
|
-
*
|
|
151
|
-
* @param sourcePath Engine-relative POSIX path.
|
|
152
|
-
* @returns True when the path is a `components.conf` manifest.
|
|
153
|
-
*/
|
|
154
|
-
export function isXpcomManifestPath(sourcePath) {
|
|
155
|
-
return basename(normalizePathSlashes(sourcePath)) === 'components.conf';
|
|
156
|
-
}
|
|
157
|
-
/*
|
|
158
|
-
* Finds the unique obj-star directory with a dist subtree, or undefined
|
|
159
|
-
* when zero or multiple match. The ambiguous case is already rejected
|
|
160
|
-
* by pre-flight in build.ts, so the auditor only has to handle
|
|
161
|
-
* one-or-none.
|
|
162
|
-
*/
|
|
163
|
-
async function resolveDistRoot(engineDir) {
|
|
164
|
-
let entries;
|
|
165
|
-
try {
|
|
166
|
-
entries = await readdir(engineDir);
|
|
167
|
-
}
|
|
168
|
-
catch {
|
|
169
|
-
// No readable engine directory means no objdir can be identified.
|
|
170
|
-
return undefined;
|
|
171
|
-
}
|
|
172
|
-
const objDirs = entries.filter((e) => e.startsWith('obj-'));
|
|
173
|
-
for (const objDir of objDirs) {
|
|
174
|
-
const distPath = join(engineDir, objDir, 'dist');
|
|
175
|
-
if (await pathExists(distPath)) {
|
|
176
|
-
return distPath;
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
return undefined;
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* Resolves the `_tests/` tree under the active obj-* directory, used as
|
|
183
|
-
* a secondary search root for sources that look like packaged tests.
|
|
184
|
-
* Returns undefined when no obj dir exists yet.
|
|
185
|
-
*/
|
|
186
|
-
async function resolveTestsRoot(engineDir) {
|
|
187
|
-
let entries;
|
|
188
|
-
try {
|
|
189
|
-
entries = await readdir(engineDir);
|
|
190
|
-
}
|
|
191
|
-
catch {
|
|
192
|
-
// No readable engine directory means no objdir can be identified.
|
|
193
|
-
return undefined;
|
|
194
|
-
}
|
|
195
|
-
const objDirs = entries.filter((e) => e.startsWith('obj-'));
|
|
196
|
-
for (const objDir of objDirs) {
|
|
197
|
-
const testsPath = join(engineDir, objDir, '_tests');
|
|
198
|
-
if (await pathExists(testsPath)) {
|
|
199
|
-
return testsPath;
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
return undefined;
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Marker file the `package-tests` make target writes after copying the
|
|
206
|
-
* full test-source tree under `_tests/`. Its presence is the most reliable
|
|
207
|
-
* signal that test packaging has actually run for the current obj-dir.
|
|
208
|
-
* Plain `mach build` populates a partial `_tests/` subtree and then stops,
|
|
209
|
-
* so registered tests are absent even when registration is correct.
|
|
210
|
-
*/
|
|
211
|
-
const PACKAGED_TESTS_MARKER = 'all-tests.json';
|
|
212
|
-
/**
|
|
213
|
-
* Returns true when the full test-package step has actually run for the
|
|
214
|
-
* active obj-dir. Without this marker the `_tests/` walk produces false
|
|
215
|
-
* positives for every correctly-registered mochitest / xpcshell source
|
|
216
|
-
* on the common "built but tests not packaged" path.
|
|
217
|
-
*
|
|
218
|
-
* @param testsRoot Absolute path to the obj-*`/_tests/` tree, or undefined.
|
|
219
|
-
*/
|
|
220
|
-
async function hasPackagedTestsMarker(testsRoot) {
|
|
221
|
-
if (!testsRoot)
|
|
222
|
-
return false;
|
|
223
|
-
return pathExists(join(testsRoot, PACKAGED_TESTS_MARKER));
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* Resolves the search roots an individual source path should be looked
|
|
227
|
-
* up under. Test-shaped paths get `_tests/`. Everything else gets `dist/`.
|
|
228
|
-
*/
|
|
229
|
-
function searchRootsFor(source, distRoot, testsRoot) {
|
|
230
|
-
if (isTestPath(source)) {
|
|
231
|
-
return testsRoot ? [testsRoot] : [];
|
|
232
|
-
}
|
|
233
|
-
return [distRoot];
|
|
234
|
-
}
|
|
235
|
-
/**
|
|
236
|
-
* Minimum trailing-segment overlap required for a same-basename dist/
|
|
237
|
-
* candidate to count as "the packaged artifact" of a source. The basename
|
|
238
|
-
* always trail-matches (count 1), so a threshold of 2 requires the immediate
|
|
239
|
-
* parent directory to agree too. Candidates sharing only the basename are
|
|
240
|
-
* classified as missing (warning the operator to check registration)
|
|
241
|
-
* rather than emitting a misleading stale comparison against an unrelated
|
|
242
|
-
* file of the same name.
|
|
243
|
-
*
|
|
244
|
-
* Cross-tree re-rooting (e.g. `branding/<name>/content/foo.css` landing at
|
|
245
|
-
* `chrome/<area>/content/branding/foo.css`) bypasses this floor:
|
|
246
|
-
* `scoreCandidate` awards a non-generic-segment bonus that lifts confidence
|
|
247
|
-
* regardless of trailing overlap. See `isConfidentMatch` below.
|
|
248
|
-
*/
|
|
249
|
-
const MIN_TRAILING_SEGMENT_OVERLAP = 2;
|
|
250
|
-
/**
|
|
251
|
-
* Returns true when the chosen artifact is structurally related to the
|
|
252
|
-
* source path: either its immediate parent directory trail-matches, or
|
|
253
|
-
* a non-generic intermediate source segment appears in the candidate
|
|
254
|
-
* path (the branding-re-root signal already used by the scorer).
|
|
255
|
-
*
|
|
256
|
-
* Used to avoid emitting `stale` warnings that point at an unrelated
|
|
257
|
-
* same-basename file picked up by the basename walker. That class of
|
|
258
|
-
* warning is worse than `missing` because it reads as "your build
|
|
259
|
-
* dropped this file" when the match is spurious.
|
|
260
|
-
*/
|
|
261
|
-
function isConfidentMatch(source, candidate) {
|
|
262
|
-
if (countTrailingSegmentMatches(source, candidate) >= MIN_TRAILING_SEGMENT_OVERLAP) {
|
|
263
|
-
return true;
|
|
264
|
-
}
|
|
265
|
-
// The candidate is an absolute path built by `join` over a dist/ walk, so on
|
|
266
|
-
// Windows it arrives backslash-separated. A `/`-only split collapses it into
|
|
267
|
-
// one segment and the non-generic-segment bonus can never fire.
|
|
268
|
-
const sourceSegs = normalizePathSlashes(source).split('/').filter(Boolean);
|
|
269
|
-
const candSegs = normalizePathSlashes(candidate).split('/').filter(Boolean);
|
|
270
|
-
const generic = GENERIC_PATH_SEGMENTS;
|
|
271
|
-
// Skip the basename itself (which trail-matches by definition).
|
|
272
|
-
for (let i = 0; i < sourceSegs.length - 1; i += 1) {
|
|
273
|
-
const seg = sourceSegs[i];
|
|
274
|
-
if (!seg || seg.length <= 2 || generic.has(seg))
|
|
275
|
-
continue;
|
|
276
|
-
if (candSegs.includes(seg))
|
|
277
|
-
return true;
|
|
278
|
-
}
|
|
279
|
-
return false;
|
|
280
|
-
}
|
|
281
|
-
/**
|
|
282
|
-
* Applies a `buildAudit.unpackaged` carve-out to a classified result.
|
|
283
|
-
*
|
|
284
|
-
* Two behaviours, both mirroring the `--expect-unmanaged` model:
|
|
285
|
-
*
|
|
286
|
-
* - An admitted path is listed, not silenced. A carve-out nobody can see
|
|
287
|
-
* is how one quietly widens, so the run says which paths it admitted and
|
|
288
|
-
* on what stated reason.
|
|
289
|
-
* - An admitted path that does resolve to a packaged artifact is a stale
|
|
290
|
-
* carve-out: the declaration asserts a fact about the tree that is no
|
|
291
|
-
* longer true, and suppressing on it would hide a real packaging change.
|
|
292
|
-
* That is reported as a warning, not accepted.
|
|
293
|
-
*
|
|
294
|
-
* A declaration matching nothing that changed this run says nothing,
|
|
295
|
-
* unlike `--expect-unmanaged`, whose unseen entries are reported. The
|
|
296
|
-
* difference is intended: `--expect-unmanaged` is a per-invocation flag
|
|
297
|
-
* list, where an unmet entry is probably a typo in the command just typed.
|
|
298
|
-
* This is a
|
|
299
|
-
* standing config list checked against only the files that happened to
|
|
300
|
-
* change, so "not met" is the normal case and reporting it would put a
|
|
301
|
-
* warning on every build.
|
|
302
|
-
*/
|
|
303
|
-
function applyUnpackagedCarveOut(result, ctx) {
|
|
304
|
-
// Already skipped for a more specific structural reason. The carve-out
|
|
305
|
-
// is redundant there and reporting it would be noise.
|
|
306
|
-
if (result.status === 'skipped')
|
|
307
|
-
return result;
|
|
308
|
-
const declaration = matchUnpackagedDeclaration(result.source, ctx.unpackaged);
|
|
309
|
-
if (declaration === undefined)
|
|
310
|
-
return result;
|
|
311
|
-
if (result.artifact !== undefined) {
|
|
312
|
-
return {
|
|
313
|
-
source: result.source,
|
|
314
|
-
artifact: result.artifact,
|
|
315
|
-
status: 'skipped',
|
|
316
|
-
skipReason: 'declared-unpackaged',
|
|
317
|
-
warning: `Audit: engine/${result.source} is declared unpackaged in fireforge.json ` +
|
|
318
|
-
`("${declaration.reason}") but a packaged artifact exists at ${result.artifact}. ` +
|
|
319
|
-
'The declaration is stale — remove it, or correct its path.',
|
|
320
|
-
};
|
|
321
|
-
}
|
|
322
|
-
return {
|
|
323
|
-
source: result.source,
|
|
324
|
-
artifact: undefined,
|
|
325
|
-
status: 'skipped',
|
|
326
|
-
skipReason: 'declared-unpackaged',
|
|
327
|
-
notice: `Audit: engine/${result.source} admitted as unpackaged by ` +
|
|
328
|
-
`buildAudit.unpackaged "${declaration.path}" — ${declaration.reason}`,
|
|
329
|
-
};
|
|
330
|
-
}
|
|
331
|
-
/**
|
|
332
|
-
* Audits one engine source path and returns its entry. Pure orchestration
|
|
333
|
-
* helper kept separate so `auditBuildArtifacts` stays under the per-function
|
|
334
|
-
* line budget.
|
|
335
|
-
*/
|
|
336
|
-
async function auditSinglePath(source, ctx) {
|
|
337
|
-
if (!isPackageablePath(source)) {
|
|
338
|
-
return { source, artifact: undefined, status: 'skipped', skipReason: 'not-packageable' };
|
|
339
|
-
}
|
|
340
|
-
if (isStorybookStoryPath(source)) {
|
|
341
|
-
verbose(`Audit: skipping engine/${source} — Storybook story, never packaged.`);
|
|
342
|
-
return { source, artifact: undefined, status: 'skipped', skipReason: 'storybook-story' };
|
|
343
|
-
}
|
|
344
|
-
if (isUnselectedBrandingPath(source, ctx.selectedBranding)) {
|
|
345
|
-
verbose(`Audit: skipping engine/${source} — branding tree is not the selected ${ctx.selectedBranding ?? '?'}, so it is not an input to this objdir.`);
|
|
346
|
-
return { source, artifact: undefined, status: 'skipped', skipReason: 'branding-not-selected' };
|
|
347
|
-
}
|
|
348
|
-
const gate = await detectPlatformGate(ctx.engineDir, source);
|
|
349
|
-
if (gate.gatedOff) {
|
|
350
|
-
verbose(`Audit: skipping engine/${source} — gated off by "${gate.gateExpression ?? '?'}".`);
|
|
351
|
-
return { source, artifact: undefined, status: 'skipped', skipReason: 'platform-gated' };
|
|
352
|
-
}
|
|
353
|
-
const ancestorGate = await detectAncestorDirsGate(ctx.engineDir, source);
|
|
354
|
-
if (ancestorGate.gatedOff) {
|
|
355
|
-
verbose(`Audit: skipping engine/${source} — its directory is reached through a DIRS entry in engine/${ancestorGate.gateFile ?? '?'} gated by "${ancestorGate.gateExpression ?? '?'}".`);
|
|
356
|
-
return {
|
|
357
|
-
source,
|
|
358
|
-
artifact: undefined,
|
|
359
|
-
status: 'skipped',
|
|
360
|
-
skipReason: 'platform-gated-ancestor',
|
|
361
|
-
};
|
|
362
|
-
}
|
|
363
|
-
// Tests only end up under `_tests/` after `mach package-tests` (or a
|
|
364
|
-
// test-run that invokes the target) has executed. A plain `mach build`
|
|
365
|
-
// populates a partial subtree and stops, so every correctly-registered
|
|
366
|
-
// mochitest / xpcshell source appears "missing" on that common path.
|
|
367
|
-
// Skip audit for test sources when no packaged-tests marker is present.
|
|
368
|
-
if (isTestPath(source) && !ctx.testsPackaged) {
|
|
369
|
-
verbose(`Audit: skipping engine/${source} — _tests/${PACKAGED_TESTS_MARKER} not present; full test packaging has not run for this build.`);
|
|
370
|
-
return { source, artifact: undefined, status: 'skipped', skipReason: 'tests-not-packaged' };
|
|
371
|
-
}
|
|
372
|
-
const sourcePath = join(ctx.engineDir, source);
|
|
373
|
-
let sourceMtime;
|
|
374
|
-
try {
|
|
375
|
-
const sourceStat = await stat(sourcePath);
|
|
376
|
-
sourceMtime = sourceStat.mtimeMs;
|
|
377
|
-
}
|
|
378
|
-
catch {
|
|
379
|
-
// Deletion that didn't propagate. Distinct class of bug, not audited yet.
|
|
380
|
-
return { source, artifact: undefined, status: 'skipped', skipReason: 'source-unreadable' };
|
|
381
|
-
}
|
|
382
|
-
const roots = searchRootsFor(source, ctx.distRoot, ctx.testsRoot);
|
|
383
|
-
// Registration-aware resolution first: a `jar.mn` entry whose `(source)`
|
|
384
|
-
// references this file is authoritative over the basename-similarity
|
|
385
|
-
// heuristic, which cannot distinguish a fork's `content/foo.js` from an
|
|
386
|
-
// unrelated pref file of the same basename elsewhere in the tree.
|
|
387
|
-
const registered = await resolveArtifactByRegistration(ctx.engineDir, source, roots);
|
|
388
|
-
if (registered) {
|
|
389
|
-
return evaluateArtifactMtime(source, registered.artifact, sourceMtime, { registered: true });
|
|
390
|
-
}
|
|
391
|
-
// Registration exists but no matching dist entry: explicit miss,
|
|
392
|
-
// distinct from an unregistered source. This surfaces in the warning so
|
|
393
|
-
// the operator knows the jar.mn entry is intact and packaging is the
|
|
394
|
-
// bug, not the source registration.
|
|
395
|
-
const registrationMissed = await reportRegistrationMiss(ctx.engineDir, source, roots);
|
|
396
|
-
if (registrationMissed)
|
|
397
|
-
return registrationMissed;
|
|
398
|
-
// Known-transform resolution comes before the similarity heuristic so a
|
|
399
|
-
// source under `browser/base/content/` (or another prefix whose chrome
|
|
400
|
-
// target is stable across forks) is matched against its expected
|
|
401
|
-
// `chrome/...` suffix rather than whichever same-basename candidate the
|
|
402
|
-
// directory walk happened to hit first. Every intermediate segment of such
|
|
403
|
-
// a source is in the scorer's generic list, so `resolveBestArtifact` picks
|
|
404
|
-
// arbitrarily and `isConfidentMatch` then rejects every candidate,
|
|
405
|
-
// classifying a correctly-packaged file as "missing".
|
|
406
|
-
const byTransform = await resolveArtifactByKnownTransform(source, roots);
|
|
407
|
-
if (byTransform) {
|
|
408
|
-
return evaluateArtifactMtime(source, byTransform, sourceMtime, { registered: true });
|
|
409
|
-
}
|
|
410
|
-
const artifact = await resolveBestArtifact(source, roots);
|
|
411
|
-
if (!artifact) {
|
|
412
|
-
const where = isTestPath(source) ? '_tests/' : 'dist/';
|
|
413
|
-
return {
|
|
414
|
-
source,
|
|
415
|
-
artifact: undefined,
|
|
416
|
-
status: 'missing',
|
|
417
|
-
warning: `Audit: engine/${source} was touched but no packaged artifact with basename "${basename(source)}" was found under ${where}. Missing moz.build / jar.mn / package-manifest.in registration?`,
|
|
418
|
-
};
|
|
419
|
-
}
|
|
420
|
-
return evaluateArtifactMtime(source, artifact, sourceMtime, { registered: false, roots });
|
|
421
|
-
}
|
|
422
|
-
/**
|
|
423
|
-
* Short-circuits the audit for sources that are registered in a jar.mn
|
|
424
|
-
* but whose target path is absent from every search root. Returns the
|
|
425
|
-
* miss entry when the registration lookup saw a `(source)` claim but
|
|
426
|
-
* no dist candidate endswith the target. Undefined otherwise.
|
|
427
|
-
*/
|
|
428
|
-
async function reportRegistrationMiss(engineDir, source, roots) {
|
|
429
|
-
const hit = await findRegisteredTarget(engineDir, source);
|
|
430
|
-
if (!hit)
|
|
431
|
-
return undefined;
|
|
432
|
-
const where = isTestPath(source) ? '_tests/' : 'dist/';
|
|
433
|
-
// Name every same-basename hit so the operator sees what did land in
|
|
434
|
-
// dist, rather than guessing from a single "nearest" pick.
|
|
435
|
-
const candidates = await collectSameBasenameCandidates(source, roots);
|
|
436
|
-
const nearHits = describeCandidates(candidates);
|
|
437
|
-
const manifest = relativeManifestPath(engineDir, hit.jarManifest);
|
|
438
|
-
return {
|
|
439
|
-
source,
|
|
440
|
-
artifact: undefined,
|
|
441
|
-
status: 'missing',
|
|
442
|
-
warning: `Audit: engine/${source} is registered in ${manifest} as ` +
|
|
443
|
-
`"${hit.target} (${hit.source})" but no packaged artifact ending in "/${hit.target}" ` +
|
|
444
|
-
`was found under ${where}. Build reported success but the file's path did not ` +
|
|
445
|
-
`flow through packaging${nearHits ? ` — same-basename hits: ${nearHits}` : ''}.`,
|
|
446
|
-
};
|
|
447
|
-
}
|
|
448
|
-
/**
|
|
449
|
-
* Renders packaged-artifact mtime classification (updated / stale / missing-
|
|
450
|
-
* via-disappearance) for a resolved candidate. Shared by the registration-
|
|
451
|
-
* anchored path (already confident) and the heuristic fallback
|
|
452
|
-
* (which still applies the structural-relatedness check before claiming
|
|
453
|
-
* `stale`).
|
|
454
|
-
*/
|
|
455
|
-
async function evaluateArtifactMtime(source, artifact, sourceMtime, mode) {
|
|
456
|
-
let artifactMtime;
|
|
457
|
-
try {
|
|
458
|
-
const artifactStat = await stat(artifact);
|
|
459
|
-
artifactMtime = artifactStat.mtimeMs;
|
|
460
|
-
}
|
|
461
|
-
catch {
|
|
462
|
-
return {
|
|
463
|
-
source,
|
|
464
|
-
artifact,
|
|
465
|
-
status: 'missing',
|
|
466
|
-
warning: `Audit: engine/${source} has no readable packaged artifact at ${artifact} (disappeared during audit).`,
|
|
467
|
-
};
|
|
468
|
-
}
|
|
469
|
-
if (artifactMtime + 1 < sourceMtime) {
|
|
470
|
-
if (!mode.registered && !isConfidentMatch(source, artifact)) {
|
|
471
|
-
const where = isTestPath(source) ? '_tests/' : 'dist/';
|
|
472
|
-
const candidates = await collectSameBasenameCandidates(source, mode.roots);
|
|
473
|
-
const nearHits = describeCandidates(candidates);
|
|
474
|
-
return {
|
|
475
|
-
source,
|
|
476
|
-
artifact: undefined,
|
|
477
|
-
status: 'missing',
|
|
478
|
-
warning: `Audit: engine/${source} was touched but no related packaged artifact with ` +
|
|
479
|
-
`basename "${basename(source)}" was found under ${where}` +
|
|
480
|
-
(nearHits ? `. Same-basename hits in unrelated subtrees: ${nearHits}` : '') +
|
|
481
|
-
`. Missing moz.build / jar.mn / package-manifest.in registration?`,
|
|
482
|
-
};
|
|
483
|
-
}
|
|
484
|
-
return {
|
|
485
|
-
source,
|
|
486
|
-
artifact,
|
|
487
|
-
status: 'stale',
|
|
488
|
-
warning: `Audit: engine/${source} is newer than its packaged artifact ${artifact}. Build reported success but the file's path may not flow through packaging — check moz.build / jar.mn entries.`,
|
|
489
|
-
};
|
|
490
|
-
}
|
|
491
|
-
return { source, artifact, status: 'updated' };
|
|
492
|
-
}
|
|
493
|
-
/** Cap on candidate list rendering before truncating with `(+N more)`. */
|
|
494
|
-
const CANDIDATE_LIST_LIMIT = 5;
|
|
495
|
-
/**
|
|
496
|
-
* Renders a comma-separated list of same-basename hits for inclusion in a
|
|
497
|
-
* warning, truncated at {@link CANDIDATE_LIST_LIMIT} with a `(+N more)`
|
|
498
|
-
* tail. Returns the empty string when no candidates are supplied so
|
|
499
|
-
* callers can omit the parenthetical entirely rather than render a stub.
|
|
500
|
-
*/
|
|
501
|
-
function describeCandidates(candidates) {
|
|
502
|
-
if (candidates.length === 0)
|
|
503
|
-
return '';
|
|
504
|
-
const head = candidates.slice(0, CANDIDATE_LIST_LIMIT).join(', ');
|
|
505
|
-
if (candidates.length <= CANDIDATE_LIST_LIMIT)
|
|
506
|
-
return head;
|
|
507
|
-
return `${head}, … (+${candidates.length - CANDIDATE_LIST_LIMIT} more)`;
|
|
508
|
-
}
|
|
509
|
-
/**
|
|
510
|
-
* Formats a manifest path relative to the engine root when it lives
|
|
511
|
-
* underneath, falling back to the absolute path otherwise. Keeps warning
|
|
512
|
-
* text short and anchored to `engine/…` when the manifest is in-tree.
|
|
513
|
-
*/
|
|
514
|
-
function relativeManifestPath(engineDir, manifest) {
|
|
515
|
-
const root = engineDir.replace(/[/\\]+$/, '');
|
|
516
|
-
if (manifest.startsWith(`${root}/`)) {
|
|
517
|
-
return `engine/${manifest.slice(root.length + 1)}`;
|
|
518
|
-
}
|
|
519
|
-
return manifest;
|
|
520
|
-
}
|
|
521
|
-
/**
|
|
522
|
-
* Path → owning patch filenames, from the patches manifest's
|
|
523
|
-
* `filesAffected`. Best-effort: a project with no queue (or an unreadable
|
|
524
|
-
* manifest) yields an empty map and the notices render exactly as before.
|
|
525
|
-
*/
|
|
526
|
-
async function resolveAuditOwnership(projectRoot) {
|
|
527
|
-
try {
|
|
528
|
-
const patchesDir = join(projectRoot, 'patches');
|
|
529
|
-
const manifest = await loadPatchesManifest(patchesDir);
|
|
530
|
-
if (!manifest)
|
|
531
|
-
return new Map();
|
|
532
|
-
return buildPatchClaims(manifest.patches);
|
|
533
|
-
}
|
|
534
|
-
catch (error) {
|
|
535
|
-
verbose(`Audit: ownership lookup unavailable (${toError(error).message}).`);
|
|
536
|
-
return new Map();
|
|
537
|
-
}
|
|
538
|
-
}
|
|
539
|
-
/**
|
|
540
|
-
* Renders the ownership suffix for one audit notice: the owning patch, or
|
|
541
|
-
* an explicit `unmanaged` mark. An empty map (no queue, unreadable
|
|
542
|
-
* manifest) renders nothing rather than claiming everything is unmanaged,
|
|
543
|
-
* since "unmanaged" must mean "checked and unowned", never "could not
|
|
544
|
-
* check".
|
|
545
|
-
*/
|
|
546
|
-
function describeOwnership(ownersByPath, source) {
|
|
547
|
-
if (ownersByPath.size === 0)
|
|
548
|
-
return '';
|
|
549
|
-
const owners = ownersByPath.get(source);
|
|
550
|
-
if (owners === undefined || owners.length === 0) {
|
|
551
|
-
return ' Ownership: unmanaged (no patch claims this path).';
|
|
552
|
-
}
|
|
553
|
-
return ` Ownership: ${owners.join(', ')}.`;
|
|
554
|
-
}
|
|
555
|
-
/**
|
|
556
|
-
* Runs the post-build audit. Emits per-file warnings for missing or
|
|
557
|
-
* stale artifacts and a summary info line at the end. Always returns
|
|
558
|
-
* the summary. Never throws on audit failure (the audit itself must
|
|
559
|
-
* never fail a successful build).
|
|
560
|
-
* @param projectRoot Root of the project (reserved for future fork-specific rules).
|
|
561
|
-
* @param engineDir Path to the engine directory.
|
|
562
|
-
* @param baseline Optional previous-build baseline marker.
|
|
563
|
-
* @returns Summary of artifact status counts.
|
|
564
|
-
*/
|
|
565
|
-
export async function auditBuildArtifacts(projectRoot, engineDir, baseline, options = {}) {
|
|
566
|
-
const summary = {
|
|
567
|
-
updated: 0,
|
|
568
|
-
stale: 0,
|
|
569
|
-
missing: 0,
|
|
570
|
-
skipped: 0,
|
|
571
|
-
skippedByReason: emptySkipCounts(),
|
|
572
|
-
entries: [],
|
|
573
|
-
};
|
|
574
|
-
const distRoot = await resolveDistRoot(engineDir);
|
|
575
|
-
if (!distRoot) {
|
|
576
|
-
verbose('Audit skipped: no dist tree found under obj-*/dist/.');
|
|
577
|
-
return summary;
|
|
578
|
-
}
|
|
579
|
-
const testsRoot = await resolveTestsRoot(engineDir);
|
|
580
|
-
const testsPackaged = await hasPackagedTestsMarker(testsRoot);
|
|
581
|
-
const changed = await collectChangedEnginePaths(engineDir, baseline, 'Audit');
|
|
582
|
-
if (changed.length === 0) {
|
|
583
|
-
return summary;
|
|
584
|
-
}
|
|
585
|
-
// Ownership, resolved once for the whole audit. The notices key on "was
|
|
586
|
-
// touched", which on a shared checkout means any concurrent session's
|
|
587
|
-
// dirty files, so an operator gets a registration-shaped warning about a
|
|
588
|
-
// file they never edited and has to census ownership by hand to dismiss
|
|
589
|
-
// it. FireForge already resolves this for `status --ownership`. Carrying
|
|
590
|
-
// it here lets the operator dismiss those lines directly.
|
|
591
|
-
const ownersByPath = await resolveAuditOwnership(projectRoot);
|
|
592
|
-
const ctx = {
|
|
593
|
-
engineDir,
|
|
594
|
-
distRoot,
|
|
595
|
-
testsRoot,
|
|
596
|
-
testsPackaged,
|
|
597
|
-
selectedBranding: await resolveSelectedBranding(engineDir),
|
|
598
|
-
unpackaged: options.unpackaged ?? [],
|
|
599
|
-
};
|
|
600
|
-
for (const source of changed) {
|
|
601
|
-
const result = applyUnpackagedCarveOut(await auditSinglePath(source, ctx), ctx);
|
|
602
|
-
summary[result.status] += 1;
|
|
603
|
-
if (result.status === 'skipped' && result.skipReason !== undefined) {
|
|
604
|
-
summary.skippedByReason[result.skipReason] += 1;
|
|
605
|
-
}
|
|
606
|
-
summary.entries.push({
|
|
607
|
-
source: result.source,
|
|
608
|
-
artifact: result.artifact,
|
|
609
|
-
status: result.status,
|
|
610
|
-
...(result.skipReason === undefined ? {} : { skipReason: result.skipReason }),
|
|
611
|
-
});
|
|
612
|
-
if (result.warning)
|
|
613
|
-
warn(`${result.warning}${describeOwnership(ownersByPath, result.source)}`);
|
|
614
|
-
if (result.notice)
|
|
615
|
-
info(result.notice);
|
|
616
|
-
}
|
|
617
|
-
info(`Packaged: ${summary.updated} updated, ${summary.stale} stale, ${summary.missing} missing, ` +
|
|
618
|
-
`${summary.skipped} skipped${describeSkipBreakdown(summary)}`);
|
|
619
|
-
return summary;
|
|
620
|
-
}
|
|
621
|
-
/**
|
|
622
|
-
* Renders the per-class skip breakdown appended to the `Packaged:` line.
|
|
623
|
-
*
|
|
624
|
-
* Without it the summary reported one undifferentiated `skipped` count, so
|
|
625
|
-
* a run that dismissed four unselected-branding files and one
|
|
626
|
-
* ancestor-gated directory looked identical to one that dismissed five
|
|
627
|
-
* unregistered sources, and the four false `missing` entries downstream
|
|
628
|
-
* reported had no counterpart in the counts an operator could check.
|
|
629
|
-
*/
|
|
630
|
-
function describeSkipBreakdown(summary) {
|
|
631
|
-
const parts = AUDIT_SKIP_REASONS.filter((reason) => summary.skippedByReason[reason] > 0).map((reason) => `${reason} ${String(summary.skippedByReason[reason])}`);
|
|
632
|
-
return parts.length === 0 ? '' : ` (${parts.join(', ')})`;
|
|
633
|
-
}
|