@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.
Files changed (1244) hide show
  1. package/CHANGELOG.md +287 -6
  2. package/README.md +51 -17
  3. package/dist/bin/fireforge.js +34 -129
  4. package/dist/build-info.json +4 -4
  5. package/dist/src/check/check.js +394 -0
  6. package/dist/src/check/gate.js +448 -0
  7. package/dist/src/check/index.js +10 -0
  8. package/dist/src/check/record.js +155 -0
  9. package/dist/src/cli/command.js +286 -0
  10. package/dist/src/cli/output.js +96 -0
  11. package/dist/src/cli/program.js +231 -0
  12. package/dist/src/cli/stdio.js +59 -0
  13. package/dist/src/cli/version.js +99 -0
  14. package/dist/src/commands/bootstrap.js +17 -102
  15. package/dist/src/commands/build.js +34 -438
  16. package/dist/src/commands/check.js +44 -157
  17. package/dist/src/commands/config.js +50 -226
  18. package/dist/src/commands/discard.js +38 -215
  19. package/dist/src/commands/doctor.js +29 -456
  20. package/dist/src/commands/download.js +35 -499
  21. package/dist/src/commands/export.js +42 -431
  22. package/dist/src/commands/furnace.js +220 -0
  23. package/dist/src/commands/gate.js +127 -0
  24. package/dist/src/commands/import.js +44 -445
  25. package/dist/src/commands/index.js +86 -0
  26. package/dist/src/commands/lint.js +44 -546
  27. package/dist/src/commands/merge-driver.js +56 -0
  28. package/dist/src/commands/migrate.js +75 -0
  29. package/dist/src/commands/override.js +43 -0
  30. package/dist/src/commands/package.js +48 -77
  31. package/dist/src/commands/patch.js +221 -0
  32. package/dist/src/commands/re-export.js +55 -332
  33. package/dist/src/commands/rebase.js +69 -0
  34. package/dist/src/commands/register.js +62 -103
  35. package/dist/src/commands/reset.js +28 -91
  36. package/dist/src/commands/resolve.js +20 -167
  37. package/dist/src/commands/restore.js +19 -0
  38. package/dist/src/commands/run.js +60 -420
  39. package/dist/src/commands/setup.js +78 -90
  40. package/dist/src/commands/status.js +44 -413
  41. package/dist/src/commands/test.js +97 -422
  42. package/dist/src/commands/token.js +185 -228
  43. package/dist/src/commands/typecheck.js +59 -208
  44. package/dist/src/commands/verify.js +28 -334
  45. package/dist/src/commands/version.js +14 -0
  46. package/dist/src/commands/watch.js +20 -218
  47. package/dist/src/commands/wire.js +60 -349
  48. package/dist/src/commands/workspace.js +117 -0
  49. package/dist/src/config/edit.js +237 -0
  50. package/dist/src/config/index.js +15 -0
  51. package/dist/src/config/load.js +59 -0
  52. package/dist/src/config/previous.js +404 -0
  53. package/dist/src/config/schema/build.js +63 -0
  54. package/dist/src/config/schema/check.js +113 -0
  55. package/dist/src/config/schema/common.js +71 -0
  56. package/dist/src/config/schema/export-queue.js +36 -0
  57. package/dist/src/config/schema/firefox.js +69 -0
  58. package/dist/src/config/schema/gate.js +199 -0
  59. package/dist/src/config/schema/identity.js +55 -0
  60. package/dist/src/config/schema/index.js +45 -0
  61. package/dist/src/config/schema/lint.js +297 -0
  62. package/dist/src/config/schema/policy.js +111 -0
  63. package/dist/src/config/schema/source.js +90 -0
  64. package/dist/src/config/schema/test.js +17 -0
  65. package/dist/src/config/schema/toolchains.js +17 -0
  66. package/dist/src/config/schema/typecheck.js +29 -0
  67. package/dist/src/config/schema/wire.js +15 -0
  68. package/dist/src/diff/apply.js +129 -0
  69. package/dist/src/diff/index.js +16 -0
  70. package/dist/src/diff/model.js +267 -0
  71. package/dist/src/diff/query.js +65 -0
  72. package/dist/src/doctor/index.js +240 -0
  73. package/dist/src/engine/archive.js +396 -0
  74. package/dist/src/engine/audit.js +66 -0
  75. package/dist/src/engine/build.js +150 -0
  76. package/dist/src/engine/hostLocks.js +66 -0
  77. package/dist/src/engine/index.js +26 -0
  78. package/dist/src/engine/installManifests.js +147 -0
  79. package/dist/src/engine/mach.js +97 -0
  80. package/dist/src/engine/machHints.js +80 -0
  81. package/dist/src/engine/mozconfig.js +110 -0
  82. package/dist/src/engine/objdir.js +124 -0
  83. package/dist/src/engine/package.js +169 -0
  84. package/dist/src/engine/pin.js +12 -0
  85. package/dist/src/engine/pool.js +423 -0
  86. package/dist/src/engine/pristine.js +281 -0
  87. package/dist/src/engine/python.js +68 -0
  88. package/dist/src/engine/resourceGuard.js +582 -0
  89. package/dist/src/engine/run.js +259 -0
  90. package/dist/src/engine/smoke.js +204 -0
  91. package/dist/src/engine/staleness.js +229 -0
  92. package/dist/src/engine/watch.js +82 -0
  93. package/dist/src/engine/workspace.js +85 -0
  94. package/dist/src/furnace/config.js +360 -0
  95. package/dist/src/furnace/deploy.js +414 -0
  96. package/dist/src/furnace/diff.js +59 -0
  97. package/dist/src/furnace/edit.js +64 -0
  98. package/dist/src/furnace/fragments.js +53 -0
  99. package/dist/src/furnace/index.js +19 -0
  100. package/dist/src/furnace/operations.js +283 -0
  101. package/dist/src/furnace/registration.js +220 -0
  102. package/dist/src/furnace/scaffold.js +311 -0
  103. package/dist/src/furnace/typing.js +252 -0
  104. package/dist/src/furnace/validate.js +662 -0
  105. package/dist/src/git/apply.js +129 -0
  106. package/dist/src/git/diff.js +143 -0
  107. package/dist/src/git/index.js +33 -0
  108. package/dist/src/git/objects.js +201 -0
  109. package/dist/src/git/refs.js +85 -0
  110. package/dist/src/git/repo.js +222 -0
  111. package/dist/src/git/run.js +242 -0
  112. package/dist/src/git/status.js +156 -0
  113. package/dist/src/kernel/errors.js +123 -0
  114. package/dist/src/kernel/fs.js +515 -0
  115. package/dist/src/kernel/glob.js +63 -0
  116. package/dist/src/kernel/hash.js +28 -0
  117. package/dist/src/kernel/journal.js +524 -0
  118. package/dist/src/kernel/json-edit.js +198 -0
  119. package/dist/src/kernel/json.js +101 -0
  120. package/dist/src/kernel/lock.js +589 -0
  121. package/dist/src/kernel/log.js +154 -0
  122. package/dist/src/kernel/process/identity.js +313 -0
  123. package/dist/src/kernel/process/index.js +8 -0
  124. package/dist/src/kernel/process/listing.js +128 -0
  125. package/dist/src/kernel/process/spawn.js +430 -0
  126. package/dist/src/kernel/process/tree.js +301 -0
  127. package/dist/src/kernel/schema.js +308 -0
  128. package/dist/src/kernel/signals.js +171 -0
  129. package/dist/src/kernel/text.js +151 -0
  130. package/dist/src/kernel/time.js +83 -0
  131. package/dist/src/kernel/tty.js +84 -0
  132. package/dist/src/lint/cache.js +77 -0
  133. package/dist/src/lint/checkjs.js +400 -0
  134. package/dist/src/lint/index.js +3 -0
  135. package/dist/src/lint/input.js +100 -0
  136. package/dist/src/lint/report.js +107 -0
  137. package/dist/src/lint/rule.js +41 -0
  138. package/dist/src/lint/rules/css.js +308 -0
  139. package/dist/src/lint/rules/javascript.js +299 -0
  140. package/dist/src/lint/rules/jsdoc.js +249 -0
  141. package/dist/src/lint/rules/license.js +93 -0
  142. package/dist/src/lint/rules/policy.js +201 -0
  143. package/dist/src/lint/rules/registration.js +264 -0
  144. package/dist/src/lint/rules/size.js +299 -0
  145. package/dist/src/lint/run.js +126 -0
  146. package/dist/src/lint/shim.js +323 -0
  147. package/dist/src/lint/typescript.js +186 -0
  148. package/dist/src/lint/waivers.js +93 -0
  149. package/dist/src/mode/changes.js +264 -0
  150. package/dist/src/mode/diagnose.js +173 -0
  151. package/dist/src/mode/export.js +147 -0
  152. package/dist/src/mode/index.js +23 -0
  153. package/dist/src/mode/migrate.js +181 -0
  154. package/dist/src/mode/previousWaivers.js +206 -0
  155. package/dist/src/mode/pristine.js +61 -0
  156. package/dist/src/mode/rebase.js +197 -0
  157. package/dist/src/mode/report.js +157 -0
  158. package/dist/src/mode/setup.js +103 -0
  159. package/dist/src/mode/tracked.js +116 -0
  160. package/dist/src/mode/upgrade.js +281 -0
  161. package/dist/src/mode/watch.js +83 -0
  162. package/dist/src/mode/workspace.js +189 -0
  163. package/dist/src/mozbuild/index.js +6 -0
  164. package/dist/src/mozbuild/jar.js +366 -0
  165. package/dist/src/mozbuild/mozbuild.js +321 -0
  166. package/dist/src/mozbuild/paths.js +96 -0
  167. package/dist/src/mozbuild/references.js +39 -0
  168. package/dist/src/mozbuild/testManifest.js +343 -0
  169. package/dist/src/mozbuild/text.js +142 -0
  170. package/dist/src/project/changes.js +145 -0
  171. package/dist/src/project/checkout.js +66 -0
  172. package/dist/src/project/index.js +11 -0
  173. package/dist/src/project/license.js +119 -0
  174. package/dist/src/project/project.js +111 -0
  175. package/dist/src/project/state.js +85 -0
  176. package/dist/src/project/tracked.js +1 -0
  177. package/dist/src/queue/apply.js +270 -0
  178. package/dist/src/queue/attribute.js +159 -0
  179. package/dist/src/queue/baseline.js +409 -0
  180. package/dist/src/queue/capture.js +298 -0
  181. package/dist/src/queue/changes.js +234 -0
  182. package/dist/src/queue/index.js +50 -0
  183. package/dist/src/queue/manifest.js +341 -0
  184. package/dist/src/queue/operations.js +454 -0
  185. package/dist/src/queue/placement.js +220 -0
  186. package/dist/src/queue/queue.js +359 -0
  187. package/dist/src/queue/restore.js +103 -0
  188. package/dist/src/queue/session.js +685 -0
  189. package/dist/src/queue/status.js +137 -0
  190. package/dist/src/register/files.js +39 -0
  191. package/dist/src/register/index.js +8 -0
  192. package/dist/src/register/js.js +217 -0
  193. package/dist/src/register/register.js +359 -0
  194. package/dist/src/register/wire.js +146 -0
  195. package/dist/src/source/adopt.js +99 -0
  196. package/dist/src/source/changes.js +132 -0
  197. package/dist/src/source/edit.js +278 -0
  198. package/dist/src/source/export.js +70 -0
  199. package/dist/src/source/groups.js +131 -0
  200. package/dist/src/source/index.js +20 -0
  201. package/dist/src/source/materialize.js +382 -0
  202. package/dist/src/source/merge.js +255 -0
  203. package/dist/src/source/objects.js +102 -0
  204. package/dist/src/source/previous.js +166 -0
  205. package/dist/src/source/records.js +138 -0
  206. package/dist/src/source/refresh.js +264 -0
  207. package/dist/src/source/tree.js +337 -0
  208. package/dist/src/syntax/css.js +215 -0
  209. package/dist/src/syntax/fragments.js +63 -0
  210. package/dist/src/syntax/index.js +10 -0
  211. package/dist/src/syntax/js.js +270 -0
  212. package/dist/src/test/classify.js +826 -0
  213. package/dist/src/test/control.js +236 -0
  214. package/dist/src/test/host.js +266 -0
  215. package/dist/src/test/index.js +11 -0
  216. package/dist/src/test/plan.js +347 -0
  217. package/dist/src/test/rawLog.js +138 -0
  218. package/dist/src/test/run.js +404 -0
  219. package/dist/src/test/verdict.js +420 -0
  220. package/dist/src/test/xpcshell.js +143 -0
  221. package/dist/src/tokens/add.js +304 -0
  222. package/dist/src/tokens/coverage.js +65 -0
  223. package/dist/src/tokens/css.js +58 -0
  224. package/dist/src/tokens/index.js +12 -0
  225. package/dist/src/tokens/lint.js +96 -0
  226. package/dist/src/tokens/model.js +118 -0
  227. package/dist/src/tokens/settings.js +87 -0
  228. package/dist/src/tokens/siblings.js +104 -0
  229. package/dist/src/typecheck/explain.js +123 -0
  230. package/dist/src/typecheck/index.js +8 -0
  231. package/dist/src/typecheck/typecheck.js +332 -0
  232. package/docs/README.md +23 -28
  233. package/docs/authoring.md +97 -0
  234. package/docs/configuration.md +307 -692
  235. package/docs/exit-codes.md +76 -94
  236. package/docs/furnace.md +113 -181
  237. package/docs/gate.md +205 -0
  238. package/docs/getting-started.md +165 -0
  239. package/docs/machine-output.md +201 -277
  240. package/docs/migrating.md +261 -0
  241. package/docs/patch-workflow.md +163 -653
  242. package/docs/quality.md +220 -0
  243. package/docs/source-workflow.md +228 -0
  244. package/docs/testing.md +101 -712
  245. package/docs/workspaces.md +187 -0
  246. package/package.json +22 -30
  247. package/templates/configs/common.mozconfig +8 -2
  248. package/templates/configs/darwin.mozconfig +6 -7
  249. package/templates/configs/linux.mozconfig +5 -8
  250. package/templates/configs/win32.mozconfig +3 -9
  251. package/dist/bin/fireforge.d.ts +0 -9
  252. package/dist/src/cli-usage-error.d.ts +0 -46
  253. package/dist/src/cli-usage-error.js +0 -81
  254. package/dist/src/cli.d.ts +0 -41
  255. package/dist/src/cli.js +0 -380
  256. package/dist/src/commands/bootstrap-checks.d.ts +0 -16
  257. package/dist/src/commands/bootstrap-checks.js +0 -66
  258. package/dist/src/commands/bootstrap.d.ts +0 -10
  259. package/dist/src/commands/build-prelock.d.ts +0 -20
  260. package/dist/src/commands/build-prelock.js +0 -50
  261. package/dist/src/commands/build.d.ts +0 -13
  262. package/dist/src/commands/check-report.d.ts +0 -41
  263. package/dist/src/commands/check-report.js +0 -91
  264. package/dist/src/commands/check-run.d.ts +0 -33
  265. package/dist/src/commands/check-run.js +0 -112
  266. package/dist/src/commands/check-steps.d.ts +0 -75
  267. package/dist/src/commands/check-steps.js +0 -200
  268. package/dist/src/commands/check.d.ts +0 -32
  269. package/dist/src/commands/config.d.ts +0 -13
  270. package/dist/src/commands/declarations-report.d.ts +0 -49
  271. package/dist/src/commands/declarations-report.js +0 -83
  272. package/dist/src/commands/destructive-decision.d.ts +0 -19
  273. package/dist/src/commands/destructive-decision.js +0 -31
  274. package/dist/src/commands/discard.d.ts +0 -12
  275. package/dist/src/commands/doctor-check-core.d.ts +0 -110
  276. package/dist/src/commands/doctor-check-core.js +0 -24
  277. package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
  278. package/dist/src/commands/doctor-engine-eslint.js +0 -17
  279. package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
  280. package/dist/src/commands/doctor-external-toolchains.js +0 -56
  281. package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
  282. package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
  283. package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
  284. package/dist/src/commands/doctor-furnace-jar.js +0 -44
  285. package/dist/src/commands/doctor-furnace.d.ts +0 -8
  286. package/dist/src/commands/doctor-furnace.js +0 -514
  287. package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
  288. package/dist/src/commands/doctor-macos-sdk.js +0 -158
  289. package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
  290. package/dist/src/commands/doctor-orphaned-harness.js +0 -98
  291. package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
  292. package/dist/src/commands/doctor-patch-manifest.js +0 -156
  293. package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
  294. package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
  295. package/dist/src/commands/doctor-source-pin.d.ts +0 -29
  296. package/dist/src/commands/doctor-source-pin.js +0 -91
  297. package/dist/src/commands/doctor-working-tree.d.ts +0 -27
  298. package/dist/src/commands/doctor-working-tree.js +0 -89
  299. package/dist/src/commands/doctor.d.ts +0 -49
  300. package/dist/src/commands/download.d.ts +0 -11
  301. package/dist/src/commands/export-adopt-check.d.ts +0 -37
  302. package/dist/src/commands/export-adopt-check.js +0 -97
  303. package/dist/src/commands/export-all.d.ts +0 -11
  304. package/dist/src/commands/export-all.js +0 -361
  305. package/dist/src/commands/export-flow.d.ts +0 -124
  306. package/dist/src/commands/export-flow.js +0 -423
  307. package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
  308. package/dist/src/commands/export-placement-conflicts.js +0 -75
  309. package/dist/src/commands/export-placement-gate.d.ts +0 -42
  310. package/dist/src/commands/export-placement-gate.js +0 -107
  311. package/dist/src/commands/export-placement-policy.d.ts +0 -22
  312. package/dist/src/commands/export-placement-policy.js +0 -54
  313. package/dist/src/commands/export-shared.d.ts +0 -152
  314. package/dist/src/commands/export-shared.js +0 -396
  315. package/dist/src/commands/export-staged-registration.d.ts +0 -46
  316. package/dist/src/commands/export-staged-registration.js +0 -91
  317. package/dist/src/commands/export.d.ts +0 -13
  318. package/dist/src/commands/forward-import-remedy.d.ts +0 -31
  319. package/dist/src/commands/forward-import-remedy.js +0 -62
  320. package/dist/src/commands/furnace/apply.d.ts +0 -8
  321. package/dist/src/commands/furnace/apply.js +0 -327
  322. package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
  323. package/dist/src/commands/furnace/authoring-config.js +0 -19
  324. package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
  325. package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
  326. package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
  327. package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
  328. package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
  329. package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
  330. package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
  331. package/dist/src/commands/furnace/chrome-doc.js +0 -365
  332. package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
  333. package/dist/src/commands/furnace/create-browser-test.js +0 -179
  334. package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
  335. package/dist/src/commands/furnace/create-dry-run.js +0 -107
  336. package/dist/src/commands/furnace/create-features.d.ts +0 -24
  337. package/dist/src/commands/furnace/create-features.js +0 -55
  338. package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
  339. package/dist/src/commands/furnace/create-mochikit.js +0 -75
  340. package/dist/src/commands/furnace/create-readback.d.ts +0 -22
  341. package/dist/src/commands/furnace/create-readback.js +0 -32
  342. package/dist/src/commands/furnace/create-templates.d.ts +0 -119
  343. package/dist/src/commands/furnace/create-templates.js +0 -283
  344. package/dist/src/commands/furnace/create-validation.d.ts +0 -6
  345. package/dist/src/commands/furnace/create-validation.js +0 -59
  346. package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
  347. package/dist/src/commands/furnace/create-xpcshell.js +0 -80
  348. package/dist/src/commands/furnace/create.d.ts +0 -24
  349. package/dist/src/commands/furnace/create.js +0 -407
  350. package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
  351. package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
  352. package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
  353. package/dist/src/commands/furnace/deploy-named.js +0 -107
  354. package/dist/src/commands/furnace/deploy.d.ts +0 -9
  355. package/dist/src/commands/furnace/deploy.js +0 -218
  356. package/dist/src/commands/furnace/diff.d.ts +0 -11
  357. package/dist/src/commands/furnace/diff.js +0 -238
  358. package/dist/src/commands/furnace/index.d.ts +0 -4
  359. package/dist/src/commands/furnace/index.js +0 -282
  360. package/dist/src/commands/furnace/init.d.ts +0 -11
  361. package/dist/src/commands/furnace/init.js +0 -287
  362. package/dist/src/commands/furnace/list.d.ts +0 -8
  363. package/dist/src/commands/furnace/list.js +0 -104
  364. package/dist/src/commands/furnace/override.d.ts +0 -16
  365. package/dist/src/commands/furnace/override.js +0 -454
  366. package/dist/src/commands/furnace/preview.d.ts +0 -19
  367. package/dist/src/commands/furnace/preview.js +0 -349
  368. package/dist/src/commands/furnace/refresh.d.ts +0 -10
  369. package/dist/src/commands/furnace/refresh.js +0 -303
  370. package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
  371. package/dist/src/commands/furnace/remove-mutations.js +0 -168
  372. package/dist/src/commands/furnace/remove-state.d.ts +0 -20
  373. package/dist/src/commands/furnace/remove-state.js +0 -60
  374. package/dist/src/commands/furnace/remove.d.ts +0 -8
  375. package/dist/src/commands/furnace/remove.js +0 -415
  376. package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
  377. package/dist/src/commands/furnace/rename-browser-test.js +0 -68
  378. package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
  379. package/dist/src/commands/furnace/rename-dry-run.js +0 -127
  380. package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
  381. package/dist/src/commands/furnace/rename-helpers.js +0 -85
  382. package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
  383. package/dist/src/commands/furnace/rename-registrations.js +0 -98
  384. package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
  385. package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
  386. package/dist/src/commands/furnace/rename.d.ts +0 -6
  387. package/dist/src/commands/furnace/rename.js +0 -400
  388. package/dist/src/commands/furnace/scan.d.ts +0 -14
  389. package/dist/src/commands/furnace/scan.js +0 -192
  390. package/dist/src/commands/furnace/status.d.ts +0 -7
  391. package/dist/src/commands/furnace/status.js +0 -209
  392. package/dist/src/commands/furnace/sync.d.ts +0 -12
  393. package/dist/src/commands/furnace/sync.js +0 -145
  394. package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
  395. package/dist/src/commands/furnace/test-file-name.js +0 -39
  396. package/dist/src/commands/furnace/validate-report.d.ts +0 -45
  397. package/dist/src/commands/furnace/validate-report.js +0 -91
  398. package/dist/src/commands/furnace/validate.d.ts +0 -8
  399. package/dist/src/commands/furnace/validate.js +0 -309
  400. package/dist/src/commands/furnace/validation-output.d.ts +0 -47
  401. package/dist/src/commands/furnace/validation-output.js +0 -161
  402. package/dist/src/commands/import.d.ts +0 -11
  403. package/dist/src/commands/lint-per-patch.d.ts +0 -10
  404. package/dist/src/commands/lint-per-patch.js +0 -428
  405. package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
  406. package/dist/src/commands/lint-per-run-checkjs.js +0 -102
  407. package/dist/src/commands/lint-report.d.ts +0 -25
  408. package/dist/src/commands/lint-report.js +0 -76
  409. package/dist/src/commands/lint.d.ts +0 -47
  410. package/dist/src/commands/manifest.d.ts +0 -38
  411. package/dist/src/commands/manifest.js +0 -68
  412. package/dist/src/commands/package.d.ts +0 -11
  413. package/dist/src/commands/park.d.ts +0 -22
  414. package/dist/src/commands/park.js +0 -232
  415. package/dist/src/commands/patch/compact.d.ts +0 -28
  416. package/dist/src/commands/patch/compact.js +0 -208
  417. package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
  418. package/dist/src/commands/patch/delete-gap-notice.js +0 -48
  419. package/dist/src/commands/patch/delete.d.ts +0 -28
  420. package/dist/src/commands/patch/delete.js +0 -131
  421. package/dist/src/commands/patch/entry-projection.d.ts +0 -13
  422. package/dist/src/commands/patch/entry-projection.js +0 -24
  423. package/dist/src/commands/patch/index.d.ts +0 -16
  424. package/dist/src/commands/patch/index.js +0 -52
  425. package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
  426. package/dist/src/commands/patch/lint-ignore-from.js +0 -141
  427. package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
  428. package/dist/src/commands/patch/lint-ignore.js +0 -261
  429. package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
  430. package/dist/src/commands/patch/move-files-adopt.js +0 -65
  431. package/dist/src/commands/patch/move-files-create.d.ts +0 -19
  432. package/dist/src/commands/patch/move-files-create.js +0 -187
  433. package/dist/src/commands/patch/move-files-into.d.ts +0 -65
  434. package/dist/src/commands/patch/move-files-into.js +0 -325
  435. package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
  436. package/dist/src/commands/patch/move-files-retire.js +0 -91
  437. package/dist/src/commands/patch/move-files.d.ts +0 -28
  438. package/dist/src/commands/patch/move-files.js +0 -224
  439. package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
  440. package/dist/src/commands/patch/move-size-tier.js +0 -66
  441. package/dist/src/commands/patch/patch-context.d.ts +0 -40
  442. package/dist/src/commands/patch/patch-context.js +0 -51
  443. package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
  444. package/dist/src/commands/patch/removal-created-files.js +0 -83
  445. package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
  446. package/dist/src/commands/patch/removal-dependents.js +0 -133
  447. package/dist/src/commands/patch/rename.d.ts +0 -35
  448. package/dist/src/commands/patch/rename.js +0 -378
  449. package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
  450. package/dist/src/commands/patch/reorder-projection.js +0 -49
  451. package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
  452. package/dist/src/commands/patch/reorder-shift.js +0 -307
  453. package/dist/src/commands/patch/reorder.d.ts +0 -34
  454. package/dist/src/commands/patch/reorder.js +0 -375
  455. package/dist/src/commands/patch/reserve.d.ts +0 -33
  456. package/dist/src/commands/patch/reserve.js +0 -152
  457. package/dist/src/commands/patch/retire.d.ts +0 -34
  458. package/dist/src/commands/patch/retire.js +0 -133
  459. package/dist/src/commands/patch/split-plan.d.ts +0 -125
  460. package/dist/src/commands/patch/split-plan.js +0 -313
  461. package/dist/src/commands/patch/split-staged.d.ts +0 -108
  462. package/dist/src/commands/patch/split-staged.js +0 -202
  463. package/dist/src/commands/patch/split.d.ts +0 -43
  464. package/dist/src/commands/patch/split.js +0 -367
  465. package/dist/src/commands/patch/stage.d.ts +0 -34
  466. package/dist/src/commands/patch/stage.js +0 -153
  467. package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
  468. package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
  469. package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
  470. package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
  471. package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
  472. package/dist/src/commands/patch/staged-dependency-from.js +0 -114
  473. package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
  474. package/dist/src/commands/patch/staged-dependency-remove.js +0 -117
  475. package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -15
  476. package/dist/src/commands/patch/staged-dependency-validate.js +0 -49
  477. package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
  478. package/dist/src/commands/patch/staged-dependency.js +0 -248
  479. package/dist/src/commands/patch/tier.d.ts +0 -34
  480. package/dist/src/commands/patch/tier.js +0 -125
  481. package/dist/src/commands/patch-rename-map.d.ts +0 -30
  482. package/dist/src/commands/patch-rename-map.js +0 -54
  483. package/dist/src/commands/pending-resolution.d.ts +0 -15
  484. package/dist/src/commands/pending-resolution.js +0 -25
  485. package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
  486. package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
  487. package/dist/src/commands/re-export-adjacent.d.ts +0 -111
  488. package/dist/src/commands/re-export-adjacent.js +0 -267
  489. package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
  490. package/dist/src/commands/re-export-bulk-scan.js +0 -233
  491. package/dist/src/commands/re-export-drift.d.ts +0 -110
  492. package/dist/src/commands/re-export-drift.js +0 -358
  493. package/dist/src/commands/re-export-files.d.ts +0 -15
  494. package/dist/src/commands/re-export-files.js +0 -307
  495. package/dist/src/commands/re-export-hunks.d.ts +0 -35
  496. package/dist/src/commands/re-export-hunks.js +0 -220
  497. package/dist/src/commands/re-export-lint.d.ts +0 -137
  498. package/dist/src/commands/re-export-lint.js +0 -303
  499. package/dist/src/commands/re-export-options.d.ts +0 -29
  500. package/dist/src/commands/re-export-options.js +0 -191
  501. package/dist/src/commands/re-export-preflight.d.ts +0 -23
  502. package/dist/src/commands/re-export-preflight.js +0 -159
  503. package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
  504. package/dist/src/commands/re-export-purity-scope.js +0 -137
  505. package/dist/src/commands/re-export-register.d.ts +0 -12
  506. package/dist/src/commands/re-export-register.js +0 -99
  507. package/dist/src/commands/re-export-removed.d.ts +0 -15
  508. package/dist/src/commands/re-export-removed.js +0 -94
  509. package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
  510. package/dist/src/commands/re-export-retired-declarations.js +0 -113
  511. package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
  512. package/dist/src/commands/re-export-scan-owner.js +0 -116
  513. package/dist/src/commands/re-export-scan.d.ts +0 -72
  514. package/dist/src/commands/re-export-scan.js +0 -265
  515. package/dist/src/commands/re-export-single.d.ts +0 -39
  516. package/dist/src/commands/re-export-single.js +0 -388
  517. package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
  518. package/dist/src/commands/re-export-stale-registrations.js +0 -106
  519. package/dist/src/commands/re-export-summary.d.ts +0 -28
  520. package/dist/src/commands/re-export-summary.js +0 -36
  521. package/dist/src/commands/re-export.d.ts +0 -8
  522. package/dist/src/commands/rebase/abort.d.ts +0 -7
  523. package/dist/src/commands/rebase/abort.js +0 -67
  524. package/dist/src/commands/rebase/confirm.d.ts +0 -42
  525. package/dist/src/commands/rebase/confirm.js +0 -36
  526. package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
  527. package/dist/src/commands/rebase/conflict-summary.js +0 -37
  528. package/dist/src/commands/rebase/continue.d.ts +0 -7
  529. package/dist/src/commands/rebase/continue.js +0 -119
  530. package/dist/src/commands/rebase/index.d.ts +0 -22
  531. package/dist/src/commands/rebase/index.js +0 -209
  532. package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
  533. package/dist/src/commands/rebase/patch-loop.js +0 -289
  534. package/dist/src/commands/rebase/summary.d.ts +0 -8
  535. package/dist/src/commands/rebase/summary.js +0 -47
  536. package/dist/src/commands/register.d.ts +0 -13
  537. package/dist/src/commands/reset.d.ts +0 -11
  538. package/dist/src/commands/resolve.d.ts +0 -36
  539. package/dist/src/commands/run.d.ts +0 -10
  540. package/dist/src/commands/setup-support.d.ts +0 -35
  541. package/dist/src/commands/setup-support.js +0 -386
  542. package/dist/src/commands/setup.d.ts +0 -11
  543. package/dist/src/commands/source.d.ts +0 -9
  544. package/dist/src/commands/source.js +0 -120
  545. package/dist/src/commands/status-check.d.ts +0 -87
  546. package/dist/src/commands/status-check.js +0 -161
  547. package/dist/src/commands/status-json.d.ts +0 -45
  548. package/dist/src/commands/status-json.js +0 -97
  549. package/dist/src/commands/status-output.d.ts +0 -23
  550. package/dist/src/commands/status-output.js +0 -231
  551. package/dist/src/commands/status-ownership.d.ts +0 -54
  552. package/dist/src/commands/status-ownership.js +0 -59
  553. package/dist/src/commands/status-scope.d.ts +0 -37
  554. package/dist/src/commands/status-scope.js +0 -54
  555. package/dist/src/commands/status.d.ts +0 -11
  556. package/dist/src/commands/test-appdir.d.ts +0 -6
  557. package/dist/src/commands/test-appdir.js +0 -29
  558. package/dist/src/commands/test-browser-preflight.d.ts +0 -28
  559. package/dist/src/commands/test-browser-preflight.js +0 -197
  560. package/dist/src/commands/test-build-furnace.d.ts +0 -21
  561. package/dist/src/commands/test-build-furnace.js +0 -53
  562. package/dist/src/commands/test-build-phase.d.ts +0 -29
  563. package/dist/src/commands/test-build-phase.js +0 -290
  564. package/dist/src/commands/test-checkjs.d.ts +0 -3
  565. package/dist/src/commands/test-checkjs.js +0 -35
  566. package/dist/src/commands/test-control-restore.d.ts +0 -40
  567. package/dist/src/commands/test-control-restore.js +0 -86
  568. package/dist/src/commands/test-diagnose.d.ts +0 -23
  569. package/dist/src/commands/test-diagnose.js +0 -317
  570. package/dist/src/commands/test-dispatch.d.ts +0 -39
  571. package/dist/src/commands/test-dispatch.js +0 -281
  572. package/dist/src/commands/test-furnace-reach.d.ts +0 -37
  573. package/dist/src/commands/test-furnace-reach.js +0 -132
  574. package/dist/src/commands/test-harness-env.d.ts +0 -23
  575. package/dist/src/commands/test-harness-env.js +0 -81
  576. package/dist/src/commands/test-harness-teardown.d.ts +0 -62
  577. package/dist/src/commands/test-harness-teardown.js +0 -128
  578. package/dist/src/commands/test-modes.d.ts +0 -57
  579. package/dist/src/commands/test-modes.js +0 -158
  580. package/dist/src/commands/test-multi-verdict.d.ts +0 -61
  581. package/dist/src/commands/test-multi-verdict.js +0 -112
  582. package/dist/src/commands/test-orchestrate.d.ts +0 -63
  583. package/dist/src/commands/test-orchestrate.js +0 -274
  584. package/dist/src/commands/test-perf-scope.d.ts +0 -50
  585. package/dist/src/commands/test-perf-scope.js +0 -138
  586. package/dist/src/commands/test-prelock.d.ts +0 -61
  587. package/dist/src/commands/test-prelock.js +0 -301
  588. package/dist/src/commands/test-register.d.ts +0 -4
  589. package/dist/src/commands/test-register.js +0 -181
  590. package/dist/src/commands/test-results.d.ts +0 -71
  591. package/dist/src/commands/test-results.js +0 -79
  592. package/dist/src/commands/test-run.d.ts +0 -89
  593. package/dist/src/commands/test-run.js +0 -251
  594. package/dist/src/commands/test-shards.d.ts +0 -114
  595. package/dist/src/commands/test-shards.js +0 -272
  596. package/dist/src/commands/test-stale-gate.d.ts +0 -52
  597. package/dist/src/commands/test-stale-gate.js +0 -165
  598. package/dist/src/commands/test-verdict.d.ts +0 -92
  599. package/dist/src/commands/test-verdict.js +0 -162
  600. package/dist/src/commands/test.d.ts +0 -22
  601. package/dist/src/commands/token-coverage.d.ts +0 -5
  602. package/dist/src/commands/token-coverage.js +0 -170
  603. package/dist/src/commands/token-lint.d.ts +0 -14
  604. package/dist/src/commands/token-lint.js +0 -151
  605. package/dist/src/commands/token-list.d.ts +0 -26
  606. package/dist/src/commands/token-list.js +0 -153
  607. package/dist/src/commands/token.d.ts +0 -14
  608. package/dist/src/commands/tree.d.ts +0 -19
  609. package/dist/src/commands/tree.js +0 -341
  610. package/dist/src/commands/typecheck.d.ts +0 -56
  611. package/dist/src/commands/verify-scope.d.ts +0 -28
  612. package/dist/src/commands/verify-scope.js +0 -67
  613. package/dist/src/commands/verify.d.ts +0 -58
  614. package/dist/src/commands/watch.d.ts +0 -9
  615. package/dist/src/commands/wire.d.ts +0 -13
  616. package/dist/src/core/ast-utils.d.ts +0 -73
  617. package/dist/src/core/ast-utils.js +0 -105
  618. package/dist/src/core/brand-validation.d.ts +0 -7
  619. package/dist/src/core/brand-validation.js +0 -14
  620. package/dist/src/core/branding.d.ts +0 -86
  621. package/dist/src/core/branding.js +0 -371
  622. package/dist/src/core/browser-wire.d.ts +0 -48
  623. package/dist/src/core/browser-wire.js +0 -133
  624. package/dist/src/core/build-audit-platform.d.ts +0 -67
  625. package/dist/src/core/build-audit-platform.js +0 -373
  626. package/dist/src/core/build-audit-registration.d.ts +0 -80
  627. package/dist/src/core/build-audit-registration.js +0 -181
  628. package/dist/src/core/build-audit-resolve.d.ts +0 -78
  629. package/dist/src/core/build-audit-resolve.js +0 -240
  630. package/dist/src/core/build-audit-skip.d.ts +0 -57
  631. package/dist/src/core/build-audit-skip.js +0 -112
  632. package/dist/src/core/build-audit-transforms.d.ts +0 -23
  633. package/dist/src/core/build-audit-transforms.js +0 -92
  634. package/dist/src/core/build-audit.d.ts +0 -93
  635. package/dist/src/core/build-audit.js +0 -633
  636. package/dist/src/core/build-baseline-types.d.ts +0 -225
  637. package/dist/src/core/build-baseline-types.js +0 -10
  638. package/dist/src/core/build-baseline-validate.d.ts +0 -32
  639. package/dist/src/core/build-baseline-validate.js +0 -173
  640. package/dist/src/core/build-baseline.d.ts +0 -103
  641. package/dist/src/core/build-baseline.js +0 -261
  642. package/dist/src/core/build-jar-escalation.d.ts +0 -61
  643. package/dist/src/core/build-jar-escalation.js +0 -125
  644. package/dist/src/core/build-overwrite-guard.d.ts +0 -92
  645. package/dist/src/core/build-overwrite-guard.js +0 -235
  646. package/dist/src/core/build-prepare.d.ts +0 -83
  647. package/dist/src/core/build-prepare.js +0 -414
  648. package/dist/src/core/build-run-record.d.ts +0 -74
  649. package/dist/src/core/build-run-record.js +0 -136
  650. package/dist/src/core/checkjs-support-heads.d.ts +0 -41
  651. package/dist/src/core/checkjs-support-heads.js +0 -104
  652. package/dist/src/core/component-source-guard.d.ts +0 -20
  653. package/dist/src/core/component-source-guard.js +0 -68
  654. package/dist/src/core/config-mutate.d.ts +0 -16
  655. package/dist/src/core/config-mutate.js +0 -76
  656. package/dist/src/core/config-paths.d.ts +0 -16
  657. package/dist/src/core/config-paths.js +0 -106
  658. package/dist/src/core/config-state.d.ts +0 -16
  659. package/dist/src/core/config-state.js +0 -141
  660. package/dist/src/core/config-validate-build-audit.d.ts +0 -8
  661. package/dist/src/core/config-validate-build-audit.js +0 -80
  662. package/dist/src/core/config-validate-check.d.ts +0 -8
  663. package/dist/src/core/config-validate-check.js +0 -219
  664. package/dist/src/core/config-validate-file-size.d.ts +0 -15
  665. package/dist/src/core/config-validate-file-size.js +0 -154
  666. package/dist/src/core/config-validate-history.d.ts +0 -11
  667. package/dist/src/core/config-validate-history.js +0 -38
  668. package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
  669. package/dist/src/core/config-validate-patch-policy.js +0 -274
  670. package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
  671. package/dist/src/core/config-validate-test-toolchains.js +0 -133
  672. package/dist/src/core/config-validate-token-scales.d.ts +0 -9
  673. package/dist/src/core/config-validate-token-scales.js +0 -92
  674. package/dist/src/core/config-validate.d.ts +0 -11
  675. package/dist/src/core/config-validate.js +0 -503
  676. package/dist/src/core/config.d.ts +0 -92
  677. package/dist/src/core/config.js +0 -169
  678. package/dist/src/core/coverage-dispatch.d.ts +0 -24
  679. package/dist/src/core/coverage-dispatch.js +0 -44
  680. package/dist/src/core/coverage-extend.d.ts +0 -89
  681. package/dist/src/core/coverage-extend.js +0 -239
  682. package/dist/src/core/coverage-records.d.ts +0 -107
  683. package/dist/src/core/coverage-records.js +0 -383
  684. package/dist/src/core/destructive.d.ts +0 -144
  685. package/dist/src/core/destructive.js +0 -182
  686. package/dist/src/core/diff-hunks.d.ts +0 -73
  687. package/dist/src/core/diff-hunks.js +0 -286
  688. package/dist/src/core/discard-baseline.d.ts +0 -60
  689. package/dist/src/core/discard-baseline.js +0 -247
  690. package/dist/src/core/display-state.d.ts +0 -50
  691. package/dist/src/core/display-state.js +0 -87
  692. package/dist/src/core/engine-changes.d.ts +0 -40
  693. package/dist/src/core/engine-changes.js +0 -95
  694. package/dist/src/core/engine-precondition.d.ts +0 -42
  695. package/dist/src/core/engine-precondition.js +0 -60
  696. package/dist/src/core/engine-session-lock.d.ts +0 -119
  697. package/dist/src/core/engine-session-lock.js +0 -374
  698. package/dist/src/core/engine-write-boundary.d.ts +0 -5
  699. package/dist/src/core/engine-write-boundary.js +0 -41
  700. package/dist/src/core/export-moved-code-shape.d.ts +0 -98
  701. package/dist/src/core/export-moved-code-shape.js +0 -220
  702. package/dist/src/core/file-lock-owner.d.ts +0 -103
  703. package/dist/src/core/file-lock-owner.js +0 -259
  704. package/dist/src/core/file-lock-queue.d.ts +0 -67
  705. package/dist/src/core/file-lock-queue.js +0 -219
  706. package/dist/src/core/file-lock-shared.d.ts +0 -57
  707. package/dist/src/core/file-lock-shared.js +0 -117
  708. package/dist/src/core/file-lock.d.ts +0 -143
  709. package/dist/src/core/file-lock.js +0 -531
  710. package/dist/src/core/firefox-archive.d.ts +0 -45
  711. package/dist/src/core/firefox-archive.js +0 -96
  712. package/dist/src/core/firefox-cache.d.ts +0 -30
  713. package/dist/src/core/firefox-cache.js +0 -248
  714. package/dist/src/core/firefox-download.d.ts +0 -30
  715. package/dist/src/core/firefox-download.js +0 -152
  716. package/dist/src/core/firefox-extract.d.ts +0 -42
  717. package/dist/src/core/firefox-extract.js +0 -248
  718. package/dist/src/core/firefox-ignorefile.d.ts +0 -17
  719. package/dist/src/core/firefox-ignorefile.js +0 -30
  720. package/dist/src/core/firefox.d.ts +0 -66
  721. package/dist/src/core/firefox.js +0 -121
  722. package/dist/src/core/forward-registrations.d.ts +0 -33
  723. package/dist/src/core/forward-registrations.js +0 -16
  724. package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
  725. package/dist/src/core/furnace-apply-dry-run.js +0 -99
  726. package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
  727. package/dist/src/core/furnace-apply-ftl.js +0 -210
  728. package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
  729. package/dist/src/core/furnace-apply-helpers.js +0 -436
  730. package/dist/src/core/furnace-apply-output.d.ts +0 -36
  731. package/dist/src/core/furnace-apply-output.js +0 -111
  732. package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -62
  733. package/dist/src/core/furnace-apply-overwrite-warn.js +0 -124
  734. package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
  735. package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
  736. package/dist/src/core/furnace-apply.d.ts +0 -49
  737. package/dist/src/core/furnace-apply.js +0 -465
  738. package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
  739. package/dist/src/core/furnace-checksum-utils.js +0 -54
  740. package/dist/src/core/furnace-composed-source.d.ts +0 -76
  741. package/dist/src/core/furnace-composed-source.js +0 -167
  742. package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
  743. package/dist/src/core/furnace-config-array-utils.js +0 -26
  744. package/dist/src/core/furnace-config-custom.d.ts +0 -15
  745. package/dist/src/core/furnace-config-custom.js +0 -73
  746. package/dist/src/core/furnace-config-order.d.ts +0 -8
  747. package/dist/src/core/furnace-config-order.js +0 -90
  748. package/dist/src/core/furnace-config-tokens.d.ts +0 -17
  749. package/dist/src/core/furnace-config-tokens.js +0 -42
  750. package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
  751. package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
  752. package/dist/src/core/furnace-config-validate.d.ts +0 -32
  753. package/dist/src/core/furnace-config-validate.js +0 -146
  754. package/dist/src/core/furnace-config.d.ts +0 -139
  755. package/dist/src/core/furnace-config.js +0 -511
  756. package/dist/src/core/furnace-constants.d.ts +0 -79
  757. package/dist/src/core/furnace-constants.js +0 -123
  758. package/dist/src/core/furnace-css-fragments.d.ts +0 -96
  759. package/dist/src/core/furnace-css-fragments.js +0 -279
  760. package/dist/src/core/furnace-dir-entry.d.ts +0 -20
  761. package/dist/src/core/furnace-dir-entry.js +0 -21
  762. package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
  763. package/dist/src/core/furnace-fragment-includers.js +0 -122
  764. package/dist/src/core/furnace-graph-utils.d.ts +0 -11
  765. package/dist/src/core/furnace-graph-utils.js +0 -93
  766. package/dist/src/core/furnace-jsconfig.d.ts +0 -61
  767. package/dist/src/core/furnace-jsconfig.js +0 -208
  768. package/dist/src/core/furnace-marker.d.ts +0 -15
  769. package/dist/src/core/furnace-marker.js +0 -21
  770. package/dist/src/core/furnace-operation.d.ts +0 -195
  771. package/dist/src/core/furnace-operation.js +0 -444
  772. package/dist/src/core/furnace-precondition.d.ts +0 -61
  773. package/dist/src/core/furnace-precondition.js +0 -67
  774. package/dist/src/core/furnace-refresh.d.ts +0 -28
  775. package/dist/src/core/furnace-refresh.js +0 -125
  776. package/dist/src/core/furnace-registration-ast.d.ts +0 -53
  777. package/dist/src/core/furnace-registration-ast.js +0 -402
  778. package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
  779. package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
  780. package/dist/src/core/furnace-registration-remove.d.ts +0 -56
  781. package/dist/src/core/furnace-registration-remove.js +0 -260
  782. package/dist/src/core/furnace-registration-rename.d.ts +0 -26
  783. package/dist/src/core/furnace-registration-rename.js +0 -77
  784. package/dist/src/core/furnace-registration-validate.d.ts +0 -53
  785. package/dist/src/core/furnace-registration-validate.js +0 -110
  786. package/dist/src/core/furnace-registration.d.ts +0 -112
  787. package/dist/src/core/furnace-registration.js +0 -348
  788. package/dist/src/core/furnace-rollback.d.ts +0 -48
  789. package/dist/src/core/furnace-rollback.js +0 -170
  790. package/dist/src/core/furnace-scanner.d.ts +0 -47
  791. package/dist/src/core/furnace-scanner.js +0 -236
  792. package/dist/src/core/furnace-stale-export.d.ts +0 -60
  793. package/dist/src/core/furnace-stale-export.js +0 -125
  794. package/dist/src/core/furnace-staleness.d.ts +0 -24
  795. package/dist/src/core/furnace-staleness.js +0 -67
  796. package/dist/src/core/furnace-state-persist.d.ts +0 -68
  797. package/dist/src/core/furnace-state-persist.js +0 -116
  798. package/dist/src/core/furnace-step-errors.d.ts +0 -23
  799. package/dist/src/core/furnace-step-errors.js +0 -25
  800. package/dist/src/core/furnace-stories.d.ts +0 -37
  801. package/dist/src/core/furnace-stories.js +0 -186
  802. package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
  803. package/dist/src/core/furnace-validate-accessibility.js +0 -417
  804. package/dist/src/core/furnace-validate-checks.d.ts +0 -4
  805. package/dist/src/core/furnace-validate-checks.js +0 -6
  806. package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
  807. package/dist/src/core/furnace-validate-compatibility.js +0 -295
  808. package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
  809. package/dist/src/core/furnace-validate-exceptions.js +0 -98
  810. package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
  811. package/dist/src/core/furnace-validate-helpers.js +0 -4
  812. package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
  813. package/dist/src/core/furnace-validate-icon-button.js +0 -78
  814. package/dist/src/core/furnace-validate-registration.d.ts +0 -67
  815. package/dist/src/core/furnace-validate-registration.js +0 -487
  816. package/dist/src/core/furnace-validate-structure.d.ts +0 -22
  817. package/dist/src/core/furnace-validate-structure.js +0 -122
  818. package/dist/src/core/furnace-validate.d.ts +0 -41
  819. package/dist/src/core/furnace-validate.js +0 -302
  820. package/dist/src/core/furnace-version-drift.d.ts +0 -57
  821. package/dist/src/core/furnace-version-drift.js +0 -102
  822. package/dist/src/core/gecko-dom-types.d.ts +0 -2
  823. package/dist/src/core/gecko-dom-types.js +0 -17
  824. package/dist/src/core/git-base.d.ts +0 -101
  825. package/dist/src/core/git-base.js +0 -162
  826. package/dist/src/core/git-diff-new-file.d.ts +0 -40
  827. package/dist/src/core/git-diff-new-file.js +0 -118
  828. package/dist/src/core/git-diff.d.ts +0 -82
  829. package/dist/src/core/git-diff.js +0 -539
  830. package/dist/src/core/git-file-ops.d.ts +0 -108
  831. package/dist/src/core/git-file-ops.js +0 -280
  832. package/dist/src/core/git-readonly-index.d.ts +0 -91
  833. package/dist/src/core/git-readonly-index.js +0 -177
  834. package/dist/src/core/git-status.d.ts +0 -84
  835. package/dist/src/core/git-status.js +0 -208
  836. package/dist/src/core/git.d.ts +0 -114
  837. package/dist/src/core/git.js +0 -540
  838. package/dist/src/core/harness-helper-pids.d.ts +0 -98
  839. package/dist/src/core/harness-helper-pids.js +0 -240
  840. package/dist/src/core/harness-orphans.d.ts +0 -118
  841. package/dist/src/core/harness-orphans.js +0 -268
  842. package/dist/src/core/harness-port-fallback.d.ts +0 -60
  843. package/dist/src/core/harness-port-fallback.js +0 -96
  844. package/dist/src/core/harness-port-reservation.d.ts +0 -60
  845. package/dist/src/core/harness-port-reservation.js +0 -122
  846. package/dist/src/core/history-log-file.d.ts +0 -61
  847. package/dist/src/core/history-log-file.js +0 -164
  848. package/dist/src/core/history-log.d.ts +0 -20
  849. package/dist/src/core/history-log.js +0 -30
  850. package/dist/src/core/json-preserving-edit.d.ts +0 -22
  851. package/dist/src/core/json-preserving-edit.js +0 -199
  852. package/dist/src/core/launchable-build.d.ts +0 -39
  853. package/dist/src/core/launchable-build.js +0 -85
  854. package/dist/src/core/license-headers.d.ts +0 -103
  855. package/dist/src/core/license-headers.js +0 -318
  856. package/dist/src/core/line-prefixer.d.ts +0 -18
  857. package/dist/src/core/line-prefixer.js +0 -34
  858. package/dist/src/core/lit-template-regions.d.ts +0 -4
  859. package/dist/src/core/lit-template-regions.js +0 -50
  860. package/dist/src/core/mach-build-artifacts.d.ts +0 -176
  861. package/dist/src/core/mach-build-artifacts.js +0 -436
  862. package/dist/src/core/mach-error-hints.d.ts +0 -24
  863. package/dist/src/core/mach-error-hints.js +0 -135
  864. package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
  865. package/dist/src/core/mach-known-noise-filter.js +0 -257
  866. package/dist/src/core/mach-mozconfig.d.ts +0 -57
  867. package/dist/src/core/mach-mozconfig.js +0 -166
  868. package/dist/src/core/mach-python.d.ts +0 -19
  869. package/dist/src/core/mach-python.js +0 -131
  870. package/dist/src/core/mach-resource-shim.d.ts +0 -107
  871. package/dist/src/core/mach-resource-shim.js +0 -640
  872. package/dist/src/core/mach.d.ts +0 -284
  873. package/dist/src/core/mach.js +0 -445
  874. package/dist/src/core/marionette-port.d.ts +0 -153
  875. package/dist/src/core/marionette-port.js +0 -474
  876. package/dist/src/core/marionette-preflight.d.ts +0 -58
  877. package/dist/src/core/marionette-preflight.js +0 -332
  878. package/dist/src/core/markdown-table.d.ts +0 -104
  879. package/dist/src/core/markdown-table.js +0 -265
  880. package/dist/src/core/mochitest-server-port.d.ts +0 -81
  881. package/dist/src/core/mochitest-server-port.js +0 -175
  882. package/dist/src/core/module-resolution-preflight.d.ts +0 -65
  883. package/dist/src/core/module-resolution-preflight.js +0 -171
  884. package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
  885. package/dist/src/core/moz-manifest-helpers.js +0 -163
  886. package/dist/src/core/moz-manifest-register.d.ts +0 -19
  887. package/dist/src/core/moz-manifest-register.js +0 -51
  888. package/dist/src/core/moz-manifest-rules.d.ts +0 -58
  889. package/dist/src/core/moz-manifest-rules.js +0 -264
  890. package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
  891. package/dist/src/core/moz-manifest-tokenizers.js +0 -108
  892. package/dist/src/core/negative-control-compiled.d.ts +0 -46
  893. package/dist/src/core/negative-control-compiled.js +0 -109
  894. package/dist/src/core/negative-control-diff.d.ts +0 -51
  895. package/dist/src/core/negative-control-diff.js +0 -204
  896. package/dist/src/core/negative-control.d.ts +0 -150
  897. package/dist/src/core/negative-control.js +0 -399
  898. package/dist/src/core/objdir-install-manifests.d.ts +0 -73
  899. package/dist/src/core/objdir-install-manifests.js +0 -226
  900. package/dist/src/core/objdir-maintenance.d.ts +0 -10
  901. package/dist/src/core/objdir-maintenance.js +0 -167
  902. package/dist/src/core/ownership-table.d.ts +0 -53
  903. package/dist/src/core/ownership-table.js +0 -159
  904. package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
  905. package/dist/src/core/parent-exit-watchdog.js +0 -69
  906. package/dist/src/core/park-store.d.ts +0 -63
  907. package/dist/src/core/park-store.js +0 -216
  908. package/dist/src/core/parser-fallback.d.ts +0 -50
  909. package/dist/src/core/parser-fallback.js +0 -61
  910. package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
  911. package/dist/src/core/patch-apply-fuzz.js +0 -125
  912. package/dist/src/core/patch-apply.d.ts +0 -88
  913. package/dist/src/core/patch-apply.js +0 -435
  914. package/dist/src/core/patch-export-coverage.d.ts +0 -49
  915. package/dist/src/core/patch-export-coverage.js +0 -73
  916. package/dist/src/core/patch-export-metadata.d.ts +0 -46
  917. package/dist/src/core/patch-export-metadata.js +0 -47
  918. package/dist/src/core/patch-export-update.d.ts +0 -55
  919. package/dist/src/core/patch-export-update.js +0 -95
  920. package/dist/src/core/patch-export.d.ts +0 -175
  921. package/dist/src/core/patch-export.js +0 -312
  922. package/dist/src/core/patch-files.d.ts +0 -17
  923. package/dist/src/core/patch-files.js +0 -59
  924. package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
  925. package/dist/src/core/patch-identifier-suggest.js +0 -135
  926. package/dist/src/core/patch-lint-binary.d.ts +0 -45
  927. package/dist/src/core/patch-lint-binary.js +0 -39
  928. package/dist/src/core/patch-lint-cache.d.ts +0 -78
  929. package/dist/src/core/patch-lint-cache.js +0 -233
  930. package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -39
  931. package/dist/src/core/patch-lint-checkjs-any-import.js +0 -63
  932. package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
  933. package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
  934. package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
  935. package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
  936. package/dist/src/core/patch-lint-checkjs.d.ts +0 -180
  937. package/dist/src/core/patch-lint-checkjs.js +0 -611
  938. package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
  939. package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
  940. package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
  941. package/dist/src/core/patch-lint-code-lines.js +0 -105
  942. package/dist/src/core/patch-lint-creators.d.ts +0 -26
  943. package/dist/src/core/patch-lint-creators.js +0 -45
  944. package/dist/src/core/patch-lint-cross.d.ts +0 -232
  945. package/dist/src/core/patch-lint-cross.js +0 -590
  946. package/dist/src/core/patch-lint-css.d.ts +0 -27
  947. package/dist/src/core/patch-lint-css.js +0 -228
  948. package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
  949. package/dist/src/core/patch-lint-diff-tag.js +0 -105
  950. package/dist/src/core/patch-lint-diff.d.ts +0 -42
  951. package/dist/src/core/patch-lint-diff.js +0 -100
  952. package/dist/src/core/patch-lint-file-size.d.ts +0 -57
  953. package/dist/src/core/patch-lint-file-size.js +0 -62
  954. package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
  955. package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
  956. package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
  957. package/dist/src/core/patch-lint-forward-registration.js +0 -266
  958. package/dist/src/core/patch-lint-ignore.d.ts +0 -196
  959. package/dist/src/core/patch-lint-ignore.js +0 -429
  960. package/dist/src/core/patch-lint-imports.d.ts +0 -5
  961. package/dist/src/core/patch-lint-imports.js +0 -67
  962. package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
  963. package/dist/src/core/patch-lint-jsdoc.js +0 -471
  964. package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
  965. package/dist/src/core/patch-lint-module-registration.js +0 -97
  966. package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
  967. package/dist/src/core/patch-lint-mozbuild.js +0 -192
  968. package/dist/src/core/patch-lint-observer.d.ts +0 -37
  969. package/dist/src/core/patch-lint-observer.js +0 -167
  970. package/dist/src/core/patch-lint-ownership.d.ts +0 -74
  971. package/dist/src/core/patch-lint-ownership.js +0 -125
  972. package/dist/src/core/patch-lint-prettier.d.ts +0 -34
  973. package/dist/src/core/patch-lint-prettier.js +0 -124
  974. package/dist/src/core/patch-lint-projection.d.ts +0 -25
  975. package/dist/src/core/patch-lint-projection.js +0 -43
  976. package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
  977. package/dist/src/core/patch-lint-queue-types.js +0 -12
  978. package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
  979. package/dist/src/core/patch-lint-size-thresholds.js +0 -110
  980. package/dist/src/core/patch-lint-size.d.ts +0 -117
  981. package/dist/src/core/patch-lint-size.js +0 -331
  982. package/dist/src/core/patch-lint-staged-registration.d.ts +0 -78
  983. package/dist/src/core/patch-lint-staged-registration.js +0 -110
  984. package/dist/src/core/patch-lint-token-scale.d.ts +0 -57
  985. package/dist/src/core/patch-lint-token-scale.js +0 -286
  986. package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
  987. package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
  988. package/dist/src/core/patch-lint.d.ts +0 -191
  989. package/dist/src/core/patch-lint.js +0 -529
  990. package/dist/src/core/patch-lock.d.ts +0 -40
  991. package/dist/src/core/patch-lock.js +0 -129
  992. package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
  993. package/dist/src/core/patch-manifest-consistency.js +0 -256
  994. package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
  995. package/dist/src/core/patch-manifest-files-affected.js +0 -77
  996. package/dist/src/core/patch-manifest-io.d.ts +0 -199
  997. package/dist/src/core/patch-manifest-io.js +0 -556
  998. package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
  999. package/dist/src/core/patch-manifest-key-order.js +0 -60
  1000. package/dist/src/core/patch-manifest-query.d.ts +0 -55
  1001. package/dist/src/core/patch-manifest-query.js +0 -139
  1002. package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
  1003. package/dist/src/core/patch-manifest-resolve.js +0 -35
  1004. package/dist/src/core/patch-manifest-stage.d.ts +0 -46
  1005. package/dist/src/core/patch-manifest-stage.js +0 -96
  1006. package/dist/src/core/patch-manifest-validate.d.ts +0 -20
  1007. package/dist/src/core/patch-manifest-validate.js +0 -240
  1008. package/dist/src/core/patch-manifest.d.ts +0 -12
  1009. package/dist/src/core/patch-manifest.js +0 -13
  1010. package/dist/src/core/patch-order-legal.d.ts +0 -26
  1011. package/dist/src/core/patch-order-legal.js +0 -88
  1012. package/dist/src/core/patch-parse.d.ts +0 -161
  1013. package/dist/src/core/patch-parse.js +0 -347
  1014. package/dist/src/core/patch-policy-content.d.ts +0 -40
  1015. package/dist/src/core/patch-policy-content.js +0 -216
  1016. package/dist/src/core/patch-policy.d.ts +0 -80
  1017. package/dist/src/core/patch-policy.js +0 -394
  1018. package/dist/src/core/patch-registration-refs.d.ts +0 -41
  1019. package/dist/src/core/patch-registration-refs.js +0 -107
  1020. package/dist/src/core/patch-retired.d.ts +0 -57
  1021. package/dist/src/core/patch-retired.js +0 -92
  1022. package/dist/src/core/patch-source-metadata.d.ts +0 -6
  1023. package/dist/src/core/patch-source-metadata.js +0 -12
  1024. package/dist/src/core/patch-subset.d.ts +0 -18
  1025. package/dist/src/core/patch-subset.js +0 -67
  1026. package/dist/src/core/patch-transform.d.ts +0 -61
  1027. package/dist/src/core/patch-transform.js +0 -198
  1028. package/dist/src/core/preflight-wait.d.ts +0 -22
  1029. package/dist/src/core/preflight-wait.js +0 -62
  1030. package/dist/src/core/process-cpu-time.d.ts +0 -12
  1031. package/dist/src/core/process-cpu-time.js +0 -52
  1032. package/dist/src/core/process-owner.d.ts +0 -9
  1033. package/dist/src/core/process-owner.js +0 -43
  1034. package/dist/src/core/rebase-dry-run.d.ts +0 -48
  1035. package/dist/src/core/rebase-dry-run.js +0 -105
  1036. package/dist/src/core/rebase-from-version.d.ts +0 -46
  1037. package/dist/src/core/rebase-from-version.js +0 -71
  1038. package/dist/src/core/rebase-session.d.ts +0 -100
  1039. package/dist/src/core/rebase-session.js +0 -174
  1040. package/dist/src/core/register-browser-content.d.ts +0 -11
  1041. package/dist/src/core/register-browser-content.js +0 -52
  1042. package/dist/src/core/register-browser-test.d.ts +0 -18
  1043. package/dist/src/core/register-browser-test.js +0 -66
  1044. package/dist/src/core/register-module.d.ts +0 -11
  1045. package/dist/src/core/register-module.js +0 -56
  1046. package/dist/src/core/register-result.d.ts +0 -30
  1047. package/dist/src/core/register-result.js +0 -8
  1048. package/dist/src/core/register-scaffold.d.ts +0 -55
  1049. package/dist/src/core/register-scaffold.js +0 -146
  1050. package/dist/src/core/register-shared-css.d.ts +0 -36
  1051. package/dist/src/core/register-shared-css.js +0 -112
  1052. package/dist/src/core/register-xpcshell-test.d.ts +0 -50
  1053. package/dist/src/core/register-xpcshell-test.js +0 -143
  1054. package/dist/src/core/run-log-redact.d.ts +0 -38
  1055. package/dist/src/core/run-log-redact.js +0 -69
  1056. package/dist/src/core/run-log.d.ts +0 -97
  1057. package/dist/src/core/run-log.js +0 -334
  1058. package/dist/src/core/run-profile.d.ts +0 -57
  1059. package/dist/src/core/run-profile.js +0 -137
  1060. package/dist/src/core/shared-ftl.d.ts +0 -28
  1061. package/dist/src/core/shared-ftl.js +0 -49
  1062. package/dist/src/core/signal-critical.d.ts +0 -38
  1063. package/dist/src/core/signal-critical.js +0 -62
  1064. package/dist/src/core/smoke-patterns.d.ts +0 -81
  1065. package/dist/src/core/smoke-patterns.js +0 -176
  1066. package/dist/src/core/state-file.d.ts +0 -60
  1067. package/dist/src/core/state-file.js +0 -71
  1068. package/dist/src/core/status-binary.d.ts +0 -62
  1069. package/dist/src/core/status-binary.js +0 -133
  1070. package/dist/src/core/status-classify.d.ts +0 -96
  1071. package/dist/src/core/status-classify.js +0 -244
  1072. package/dist/src/core/test-changed-prefs.d.ts +0 -30
  1073. package/dist/src/core/test-changed-prefs.js +0 -93
  1074. package/dist/src/core/test-harness-crash.d.ts +0 -251
  1075. package/dist/src/core/test-harness-crash.js +0 -780
  1076. package/dist/src/core/test-harness-infra.d.ts +0 -32
  1077. package/dist/src/core/test-harness-infra.js +0 -69
  1078. package/dist/src/core/test-harness-output.d.ts +0 -45
  1079. package/dist/src/core/test-harness-output.js +0 -119
  1080. package/dist/src/core/test-harness-signature.d.ts +0 -57
  1081. package/dist/src/core/test-harness-signature.js +0 -35
  1082. package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
  1083. package/dist/src/core/test-harness-verdict-notes.js +0 -48
  1084. package/dist/src/core/test-host-state.d.ts +0 -14
  1085. package/dist/src/core/test-host-state.js +0 -80
  1086. package/dist/src/core/test-path-scope.d.ts +0 -59
  1087. package/dist/src/core/test-path-scope.js +0 -147
  1088. package/dist/src/core/test-profile-files.d.ts +0 -17
  1089. package/dist/src/core/test-profile-files.js +0 -75
  1090. package/dist/src/core/test-raw-log.d.ts +0 -66
  1091. package/dist/src/core/test-raw-log.js +0 -122
  1092. package/dist/src/core/test-run-completeness.d.ts +0 -97
  1093. package/dist/src/core/test-run-completeness.js +0 -191
  1094. package/dist/src/core/test-stale-check.d.ts +0 -213
  1095. package/dist/src/core/test-stale-check.js +0 -396
  1096. package/dist/src/core/test-stale-exempt.d.ts +0 -40
  1097. package/dist/src/core/test-stale-exempt.js +0 -70
  1098. package/dist/src/core/test-stale-symlink.d.ts +0 -12
  1099. package/dist/src/core/test-stale-symlink.js +0 -39
  1100. package/dist/src/core/test-stall-triage.d.ts +0 -51
  1101. package/dist/src/core/test-stall-triage.js +0 -142
  1102. package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
  1103. package/dist/src/core/test-xpcshell-retry.js +0 -31
  1104. package/dist/src/core/token-category.d.ts +0 -54
  1105. package/dist/src/core/token-category.js +0 -299
  1106. package/dist/src/core/token-coverage.d.ts +0 -12
  1107. package/dist/src/core/token-coverage.js +0 -96
  1108. package/dist/src/core/token-dark-mode.d.ts +0 -64
  1109. package/dist/src/core/token-dark-mode.js +0 -186
  1110. package/dist/src/core/token-docs.d.ts +0 -34
  1111. package/dist/src/core/token-docs.js +0 -102
  1112. package/dist/src/core/token-inventory.d.ts +0 -56
  1113. package/dist/src/core/token-inventory.js +0 -114
  1114. package/dist/src/core/token-lint.d.ts +0 -53
  1115. package/dist/src/core/token-lint.js +0 -131
  1116. package/dist/src/core/token-manager.d.ts +0 -87
  1117. package/dist/src/core/token-manager.js +0 -407
  1118. package/dist/src/core/token-scaffold.d.ts +0 -36
  1119. package/dist/src/core/token-scaffold.js +0 -73
  1120. package/dist/src/core/token-sibling-sheets.d.ts +0 -46
  1121. package/dist/src/core/token-sibling-sheets.js +0 -119
  1122. package/dist/src/core/token-variant.d.ts +0 -90
  1123. package/dist/src/core/token-variant.js +0 -327
  1124. package/dist/src/core/toolchain-preflight.d.ts +0 -90
  1125. package/dist/src/core/toolchain-preflight.js +0 -251
  1126. package/dist/src/core/tree-cow.d.ts +0 -16
  1127. package/dist/src/core/tree-cow.js +0 -71
  1128. package/dist/src/core/tree-guard.d.ts +0 -35
  1129. package/dist/src/core/tree-guard.js +0 -194
  1130. package/dist/src/core/tree-store.d.ts +0 -143
  1131. package/dist/src/core/tree-store.js +0 -478
  1132. package/dist/src/core/typecheck-shim.d.ts +0 -90
  1133. package/dist/src/core/typecheck-shim.js +0 -507
  1134. package/dist/src/core/typecheck.d.ts +0 -75
  1135. package/dist/src/core/typecheck.js +0 -433
  1136. package/dist/src/core/wire-destroy.d.ts +0 -25
  1137. package/dist/src/core/wire-destroy.js +0 -126
  1138. package/dist/src/core/wire-dom-fragment.d.ts +0 -44
  1139. package/dist/src/core/wire-dom-fragment.js +0 -139
  1140. package/dist/src/core/wire-init.d.ts +0 -28
  1141. package/dist/src/core/wire-init.js +0 -219
  1142. package/dist/src/core/wire-subscript.d.ts +0 -23
  1143. package/dist/src/core/wire-subscript.js +0 -145
  1144. package/dist/src/core/wire-utils.d.ts +0 -149
  1145. package/dist/src/core/wire-utils.js +0 -338
  1146. package/dist/src/core/xpcshell-appdir.d.ts +0 -157
  1147. package/dist/src/core/xpcshell-appdir.js +0 -299
  1148. package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
  1149. package/dist/src/core/xpcshell-profile-dir.js +0 -45
  1150. package/dist/src/errors/base.d.ts +0 -217
  1151. package/dist/src/errors/base.js +0 -279
  1152. package/dist/src/errors/build.d.ts +0 -92
  1153. package/dist/src/errors/build.js +0 -166
  1154. package/dist/src/errors/codes.d.ts +0 -74
  1155. package/dist/src/errors/codes.js +0 -74
  1156. package/dist/src/errors/config.d.ts +0 -17
  1157. package/dist/src/errors/config.js +0 -39
  1158. package/dist/src/errors/download.d.ts +0 -66
  1159. package/dist/src/errors/download.js +0 -160
  1160. package/dist/src/errors/furnace.d.ts +0 -20
  1161. package/dist/src/errors/furnace.js +0 -28
  1162. package/dist/src/errors/git.d.ts +0 -65
  1163. package/dist/src/errors/git.js +0 -140
  1164. package/dist/src/errors/patch.d.ts +0 -27
  1165. package/dist/src/errors/patch.js +0 -52
  1166. package/dist/src/errors/rebase.d.ts +0 -42
  1167. package/dist/src/errors/rebase.js +0 -71
  1168. package/dist/src/errors/run.d.ts +0 -16
  1169. package/dist/src/errors/run.js +0 -22
  1170. package/dist/src/index.d.ts +0 -42
  1171. package/dist/src/index.js +0 -32
  1172. package/dist/src/types/cli.d.ts +0 -14
  1173. package/dist/src/types/commands/index.d.ts +0 -6
  1174. package/dist/src/types/commands/index.js +0 -5
  1175. package/dist/src/types/commands/options.d.ts +0 -1367
  1176. package/dist/src/types/commands/options.js +0 -5
  1177. package/dist/src/types/commands/patches.d.ts +0 -352
  1178. package/dist/src/types/commands/patches.js +0 -5
  1179. package/dist/src/types/commands/project.d.ts +0 -51
  1180. package/dist/src/types/commands/project.js +0 -5
  1181. package/dist/src/types/config.d.ts +0 -703
  1182. package/dist/src/types/config.js +0 -15
  1183. package/dist/src/types/furnace.d.ts +0 -415
  1184. package/dist/src/types/furnace.js +0 -26
  1185. package/dist/src/types/index.d.ts +0 -5
  1186. package/dist/src/types/index.js +0 -5
  1187. package/dist/src/types/json.d.ts +0 -22
  1188. package/dist/src/types/json.js +0 -11
  1189. package/dist/src/types/typecheck.d.ts +0 -51
  1190. package/dist/src/types/typecheck.js +0 -14
  1191. package/dist/src/utils/assert.d.ts +0 -34
  1192. package/dist/src/utils/assert.js +0 -61
  1193. package/dist/src/utils/build-info.d.ts +0 -30
  1194. package/dist/src/utils/build-info.js +0 -99
  1195. package/dist/src/utils/child-env.d.ts +0 -28
  1196. package/dist/src/utils/child-env.js +0 -27
  1197. package/dist/src/utils/concurrency.d.ts +0 -8
  1198. package/dist/src/utils/concurrency.js +0 -32
  1199. package/dist/src/utils/elapsed.d.ts +0 -2
  1200. package/dist/src/utils/elapsed.js +0 -23
  1201. package/dist/src/utils/errors.d.ts +0 -39
  1202. package/dist/src/utils/errors.js +0 -67
  1203. package/dist/src/utils/fs.d.ts +0 -113
  1204. package/dist/src/utils/fs.js +0 -337
  1205. package/dist/src/utils/hash.d.ts +0 -12
  1206. package/dist/src/utils/hash.js +0 -16
  1207. package/dist/src/utils/line-dispatch.d.ts +0 -15
  1208. package/dist/src/utils/line-dispatch.js +0 -48
  1209. package/dist/src/utils/logger.d.ts +0 -109
  1210. package/dist/src/utils/logger.js +0 -270
  1211. package/dist/src/utils/machine-output.d.ts +0 -12
  1212. package/dist/src/utils/machine-output.js +0 -33
  1213. package/dist/src/utils/options.d.ts +0 -155
  1214. package/dist/src/utils/options.js +0 -312
  1215. package/dist/src/utils/package-root.d.ts +0 -21
  1216. package/dist/src/utils/package-root.js +0 -70
  1217. package/dist/src/utils/parse.d.ts +0 -117
  1218. package/dist/src/utils/parse.js +0 -214
  1219. package/dist/src/utils/path-glob.d.ts +0 -15
  1220. package/dist/src/utils/path-glob.js +0 -47
  1221. package/dist/src/utils/paths.d.ts +0 -31
  1222. package/dist/src/utils/paths.js +0 -80
  1223. package/dist/src/utils/platform.d.ts +0 -9
  1224. package/dist/src/utils/platform.js +0 -14
  1225. package/dist/src/utils/process-group.d.ts +0 -42
  1226. package/dist/src/utils/process-group.js +0 -190
  1227. package/dist/src/utils/process-input.d.ts +0 -27
  1228. package/dist/src/utils/process-input.js +0 -46
  1229. package/dist/src/utils/process.d.ts +0 -293
  1230. package/dist/src/utils/process.js +0 -593
  1231. package/dist/src/utils/ps-duration.d.ts +0 -31
  1232. package/dist/src/utils/ps-duration.js +0 -70
  1233. package/dist/src/utils/regex.d.ts +0 -39
  1234. package/dist/src/utils/regex.js +0 -109
  1235. package/dist/src/utils/sleep.d.ts +0 -25
  1236. package/dist/src/utils/sleep.js +0 -30
  1237. package/dist/src/utils/stdio-drain.d.ts +0 -28
  1238. package/dist/src/utils/stdio-drain.js +0 -54
  1239. package/dist/src/utils/validation.d.ts +0 -182
  1240. package/dist/src/utils/validation.js +0 -394
  1241. package/docs/lifecycle-invariants.md +0 -523
  1242. package/docs/run-logs.md +0 -122
  1243. package/docs/verification-trees.md +0 -49
  1244. /package/dist/src/{types/cli.js → cli/context.js} +0 -0
@@ -1,160 +1,47 @@
1
1
  // SPDX-License-Identifier: EUPL-1.2
2
- /**
3
- * `fireforge check`: the composed static gate. Runs status, verify,
4
- * per-patch lint, typecheck, Furnace validation and token coverage, plus
5
- * the project's `check.extraSteps[]`, in parallel, and ends with one
6
- * `FIREFORGE-VERDICT:` line over a per-step table (or one JSON document
7
- * under `--json`).
8
- *
9
- * Each step is the real command in a child process (see check-steps.ts for
10
- * why), so a step behaves exactly as it does when run on its own.
11
- */
12
- import { availableParallelism } from 'node:os';
13
- import { Command } from 'commander';
14
- import { getProjectPaths, loadConfig } from '../core/config.js';
15
- import { furnaceConfigExists } from '../core/furnace-config.js';
16
- import { loadPatchesManifest } from '../core/patch-manifest.js';
17
- import { selectPatchSubset } from '../core/patch-subset.js';
18
- import { GeneralError, InvalidArgumentError, LockContentionError } from '../errors/base.js';
19
- import { ConfigError } from '../errors/config.js';
20
- import { toError } from '../utils/errors.js';
21
- import { info, intro, isMachineOutputMode, note, outro, setMachineOutputMode, } from '../utils/logger.js';
22
- import { formatCheckTable, judgeCheck, writeCheckJson, writeCheckVerdictLine, } from './check-report.js';
23
- import { runCheckSteps } from './check-run.js';
24
- import { buildCheckPlan } from './check-steps.js';
25
- import { resolveStatusCheckPolicy } from './status-check.js';
26
- function parseNameList(raw) {
27
- if (raw === undefined)
28
- return undefined;
29
- return raw
30
- .split(',')
31
- .map((name) => name.trim())
32
- .filter((name) => name.length > 0);
33
- }
34
- /**
35
- * Applies `--only` and `--skip` to the plan. A step left out this way is
36
- * dropped from the table rather than shown as skipped: the caller asked
37
- * for a narrower gate, not a report of what it chose not to run.
38
- */
39
- export function selectCheckSteps(plan, options) {
40
- const known = plan.map((step) => step.name);
41
- const only = parseNameList(options.only);
42
- const skip = parseNameList(options.skip);
43
- for (const [flag, names] of [
44
- ['--only', only],
45
- ['--skip', skip],
46
- ]) {
47
- const unknown = (names ?? []).filter((name) => !known.includes(name));
48
- if (unknown.length > 0) {
49
- throw new InvalidArgumentError(`Unknown ${flag} step "${unknown.join('", "')}". Steps: ${known.join(', ')}.`, flag);
50
- }
51
- }
52
- return plan.filter((step) => (only === undefined || only.includes(step.name)) && skip?.includes(step.name) !== true);
53
- }
54
- /** Parses `--jobs`: a positive integer. Defaults to one slot per CPU. */
55
- export function parseCheckJobs(raw) {
56
- if (raw === undefined)
57
- return availableParallelism();
58
- const jobs = Number(raw);
59
- if (!Number.isInteger(jobs) || jobs < 1) {
60
- throw new InvalidArgumentError('--jobs must be a positive integer.', '--jobs');
61
- }
62
- return jobs;
63
- }
64
- /**
65
- * Refuses a `check.status` policy the status step would refuse, before any
66
- * step runs, as the config error it is.
67
- */
68
- function assertStatusPolicy(config) {
69
- const policy = config.check?.status;
70
- if (policy === undefined)
71
- return;
72
- try {
73
- resolveStatusCheckPolicy({
74
- check: true,
75
- ...(policy.failOn !== undefined ? { failOn: policy.failOn.join(',') } : {}),
76
- ...(policy.allow !== undefined ? { allow: policy.allow.join(',') } : {}),
77
- ...(policy.failOnUnknown === true ? { failOnUnknown: true } : {}),
2
+ import { checkJson, renderCheck, runCheck } from '../check/index.js';
3
+ import { defineCommand, lockWaitMs, opt } from '../cli/command.js';
4
+ import { FireForgeError } from '../kernel/errors.js';
5
+ import { loadProject } from '../project/index.js';
6
+ import { workspaceOptions } from './workspace.js';
7
+ export const check = defineCommand({
8
+ name: 'check',
9
+ summary: 'Run the static checks as one judgement',
10
+ description: 'Runs status, verify, lint, typecheck, furnace-validate, token-coverage, token-lint and the ' +
11
+ "project's check.extraSteps, side by side where they do not depend on each other, and ends " +
12
+ 'with one verdict line. A step with nothing to run is skipped. The steps that work in an ' +
13
+ 'engine share one workspace.',
14
+ group: 'Daily',
15
+ options: {
16
+ only: opt.list('Run only this step; repeat for several', { valueName: 'step' }),
17
+ skip: opt.list('Leave this step out; repeat for several', { valueName: 'step' }),
18
+ ...workspaceOptions,
19
+ },
20
+ constraints: { exclusive: [['only', 'skip']] },
21
+ json: true,
22
+ verdict: true,
23
+ run: async (ctx, _args, opts) => {
24
+ const project = await loadProject(ctx.cwd, ctx.env);
25
+ const report = await runCheck(project, {
26
+ only: opts.only,
27
+ skip: opts.skip,
28
+ workspace: opts.workspace,
29
+ waitMs: lockWaitMs(opts.waitLock),
30
+ });
31
+ for (const line of renderCheck(report))
32
+ ctx.out.line(line);
33
+ ctx.out.json(checkJson(report));
34
+ const count = (status) => report.steps.filter((step) => step.status === status).length;
35
+ ctx.out.verdict(report.pass, {
36
+ ...(report.pass ? {} : { reason: 'check-failed', failed: report.failed.join(',') }),
37
+ steps: report.steps.length,
38
+ passed: count('pass'),
39
+ skipped: count('skipped'),
78
40
  });
79
- }
80
- catch (error) {
81
- throw new ConfigError(`Config field "check.status" is invalid: ${toError(error).message}`);
82
- }
83
- }
84
- /** Resolves `--patches` once, so a typo fails here rather than in three steps. */
85
- async function resolvePatchScope(patchesDir, requested) {
86
- if (requested === undefined || requested.length === 0)
87
- return undefined;
88
- const manifest = await loadPatchesManifest(patchesDir);
89
- if (!manifest || manifest.patches.length === 0) {
90
- throw new GeneralError('--patches needs a patch queue, but patches.json lists no patches.');
91
- }
92
- return selectPatchSubset(manifest, requested, '--patches selects patches (filename, stem, order number, manifest name, or slug).').map((patch) => patch.filename);
93
- }
94
- /**
95
- * Runs the composed gate.
96
- *
97
- * @param projectRoot - Project root directory
98
- * @param options - See {@link CheckCommandOptions}
99
- */
100
- export async function checkCommand(projectRoot, options = {}) {
101
- const previousMachineOutputMode = isMachineOutputMode();
102
- // `--json` owns stdout from the first byte. On a throw the mode stays
103
- // engaged and withErrorHandling resets it after routing the refusal.
104
- if (options.json === true)
105
- setMachineOutputMode(true);
106
- await runCheck(projectRoot, options);
107
- if (isMachineOutputMode() !== previousMachineOutputMode) {
108
- setMachineOutputMode(previousMachineOutputMode);
109
- }
110
- }
111
- async function runCheck(projectRoot, options) {
112
- intro('FireForge Check');
113
- const jobs = parseCheckJobs(options.jobs);
114
- const config = await loadConfig(projectRoot);
115
- assertStatusPolicy(config);
116
- const patches = await resolvePatchScope(getProjectPaths(projectRoot).patches, options.patches);
117
- const plan = selectCheckSteps(buildCheckPlan({
118
- projectRoot,
119
- config,
120
- furnaceConfigured: await furnaceConfigExists(projectRoot),
121
- patches,
122
- }), options);
123
- const runnable = plan.filter((step) => step.skipReason === undefined).length;
124
- info(`Running ${runnable} step(s), up to ${Math.min(jobs, Math.max(1, runnable))} at once${patches ? `, judging ${patches.join(', ')}` : ''}.`);
125
- const results = await runCheckSteps(plan, jobs);
126
- const verdict = judgeCheck(results, { failOnSkipped: config.check?.failOnSkipped });
127
- if (options.json === true) {
128
- writeCheckJson(results, verdict);
129
- }
130
- else {
131
- note(formatCheckTable(results), 'Steps');
132
- for (const result of results) {
133
- if (result.status === 'fail' && result.outputTail) {
134
- note(result.outputTail, `${result.name}: ${result.command}`);
135
- }
41
+ if (!report.pass) {
42
+ throw new FireForgeError('check-failed', `Check failed: ${report.failed.join(', ')}.`, {
43
+ hint: 'Fix what each failed step reports above; "fireforge check --only <step>" runs one step.',
44
+ });
136
45
  }
137
- outro(verdict.passed ? 'Check passed' : `Check failed: ${verdict.failed.join(', ')}`);
138
- writeCheckVerdictLine(verdict);
139
- }
140
- if (verdict.reason === 'lock-timeout') {
141
- throw new LockContentionError(`fireforge check: ${verdict.failed.join(', ')} could not take their locks in time. Re-run when the holder is done.`);
142
- }
143
- if (!verdict.passed) {
144
- throw new GeneralError(`fireforge check failed: ${verdict.failed.join(', ')}. Run a failing step on its own for its full output.`);
145
- }
146
- }
147
- /** Registers the `check` command on the CLI program. */
148
- export function registerCheck(program, { getProjectRoot, withErrorHandling }) {
149
- program
150
- .command('check')
151
- .description('Composed static gate: status, verify, per-patch lint, typecheck, Furnace validation, token coverage and fireforge.json check.extraSteps in parallel, with one FIREFORGE-VERDICT line')
152
- .option('--json', 'Write one JSON document (verdict plus a result per step) instead of the table')
153
- .option('--patches <names...>', 'Judge only these patches in the status, verify and lint steps (filename, stem, order number, manifest name, or slug)')
154
- .option('--only <steps>', 'Comma-separated steps to run, leaving out the rest')
155
- .option('--skip <steps>', 'Comma-separated steps to leave out')
156
- .option('--jobs <n>', 'Steps to run at once (default: one per CPU)')
157
- .action(withErrorHandling(async (options) => {
158
- await checkCommand(getProjectRoot(), options);
159
- }));
160
- }
46
+ },
47
+ });
@@ -1,229 +1,53 @@
1
1
  // SPDX-License-Identifier: EUPL-1.2
2
- import { Command } from 'commander';
3
- import { configExists, loadRawConfigDocument, mutateConfig, SUPPORTED_CONFIG_PATHS, SUPPORTED_CONFIG_ROOT_KEYS, validateConfig, withConfigFileLock, writeConfigDocument, } from '../core/config.js';
4
- import { GeneralError, InvalidArgumentError } from '../errors/base.js';
5
- import { ConfigError } from '../errors/config.js';
6
- import { toError } from '../utils/errors.js';
7
- import { info, intro, outro, success, warn } from '../utils/logger.js';
8
- import { pickDefined } from '../utils/options.js';
9
- import { isJsonObject } from '../utils/validation.js';
10
- /**
11
- * Gets a nested value from a raw config document using dot notation.
12
- * @param doc - Document to traverse
13
- * @param path - Dot-separated path (e.g., "firefox.version")
14
- * @returns The value at the path, or undefined if not found
15
- */
16
- function getNestedValue(doc, path) {
17
- let current = doc;
18
- for (const part of path.split('.')) {
19
- if (current === null || current === undefined || typeof current !== 'object') {
20
- return undefined;
21
- }
22
- current = Array.isArray(current) ? current[Number(part)] : current[part];
23
- }
24
- return current;
25
- }
26
- /** Config keys that must always be stored as strings. */
27
- const STRING_TYPED_KEYS = new Set([
28
- 'name',
29
- 'vendor',
30
- 'appId',
31
- 'binaryName',
32
- 'firefox.version',
33
- 'firefox.product',
34
- 'firefox.sha256',
35
- 'firefox.candidate',
36
- 'license',
37
- 'wire.subscriptDir',
38
- 'history.path',
39
- ]);
40
- /**
41
- * Parses a string value into the appropriate type.
42
- * Keys listed in STRING_TYPED_KEYS are always stored as strings to prevent
43
- * accidental type coercion (e.g. `fireforge config firefox.version 128` would
44
- * otherwise become the number 128 instead of the string "128").
45
- */
46
- function parseValue(value, key) {
47
- // For known string-typed keys, always return as string
48
- if (key && STRING_TYPED_KEYS.has(key)) {
49
- return value;
50
- }
51
- // Try to parse as JSON first (handles numbers, booleans, arrays, objects).
52
- try {
53
- // JSON.parse can only ever produce JSON values.
54
- const parsed = JSON.parse(value);
55
- if (typeof parsed !== 'string') {
56
- warn(`Value "${value}" was interpreted as ${typeof parsed}. Use '"${value}"' for a string.`);
57
- }
58
- return parsed;
59
- }
60
- catch {
61
- // Fall back to string
62
- return value;
63
- }
64
- }
65
- /**
66
- * Formats a value for display.
67
- */
68
- function formatValue(value) {
69
- if (value === undefined) {
2
+ import { arg, defineCommand } from '../cli/command.js';
3
+ import { getConfigValue, setConfigValue } from '../config/index.js';
4
+ import { findProjectRoot } from '../project/index.js';
5
+ function shown(value) {
6
+ if (value === undefined)
70
7
  return '(not set)';
71
- }
72
- if (typeof value === 'string')
73
- return value;
74
- if (typeof value === 'number' || typeof value === 'boolean') {
75
- return String(value);
76
- }
77
- return JSON.stringify(value, null, 2);
78
- }
79
- /**
80
- * Runs the config command to get or set configuration values.
81
- * @param projectRoot - Root directory of the project
82
- * @param key - Configuration key (dot notation)
83
- * @param value - Optional value to set
84
- */
85
- export async function configCommand(projectRoot, key, value, options = {}) {
86
- intro('FireForge Config');
87
- // Check if config exists
88
- if (!(await configExists(projectRoot))) {
89
- throw new GeneralError('No fireforge.json found. Run "fireforge setup" to create a project.');
90
- }
91
- if (value === undefined) {
92
- // Get mode: read the raw document rather than the validated config so
93
- // keys persisted via `fireforge config <key> --force` remain readable.
94
- // `validateConfig` builds a typed clone containing only the known schema
95
- // fields, so relying on it here would hide forced-write keys and surface
96
- // "Unknown config key" even though the key sits plainly inside
97
- // fireforge.json.
98
- const rawConfig = await loadRawConfigDocument(projectRoot);
99
- const currentValue = getNestedValue(rawConfig, key);
100
- if (currentValue === undefined) {
101
- if (SUPPORTED_CONFIG_PATHS.includes(key)) {
102
- info(`${key} = ${formatValue(currentValue)}`);
103
- outro('');
104
- return;
105
- }
106
- throw new InvalidArgumentError(`Unknown config key: ${key}`);
107
- }
108
- else {
109
- info(`${key} = ${formatValue(currentValue)}`);
110
- }
111
- }
112
- else {
113
- // Set mode: validate key prefix
114
- const topLevelKey = key.split('.')[0] ?? key;
115
- if (!SUPPORTED_CONFIG_ROOT_KEYS.includes(topLevelKey) &&
116
- !options.force) {
117
- throw new InvalidArgumentError(`Unknown config key prefix: "${topLevelKey}". Known keys: ${SUPPORTED_CONFIG_ROOT_KEYS.join(', ')}. Use --force to set anyway.`);
118
- }
119
- if (!SUPPORTED_CONFIG_PATHS.includes(key) && !options.force) {
120
- throw new InvalidArgumentError(`Unknown config key: "${key}". Known keys: ${SUPPORTED_CONFIG_PATHS.join(', ')}. Use --force to set anyway.`);
121
- }
122
- const parsedValue = parseValue(value, key);
123
- const keyIsKnown = SUPPORTED_CONFIG_PATHS.includes(key);
124
- let unchanged;
125
- try {
126
- // Serialise the read → mutate → write round-trip behind the sidecar
127
- // config lock so two concurrent `fireforge config` invocations cannot
128
- // each read the pre-state, mutate their own copy, and clobber each
129
- // other on write, both exiting 0 with one key silently lost. Atomic
130
- // file writes (temp + rename) are not enough on their own: the lost
131
- // update happens before the rename, inside the read-modify step.
132
- // Readers stay lock-free (see `withConfigFileLock`).
133
- unchanged = await withConfigFileLock(projectRoot, async () => {
134
- // Short-circuit when the new value matches the current on-disk
135
- // value, so a harmless re-set neither rewrites the file nor bumps
136
- // its mtime. The check uses the raw on-disk document so forced keys
137
- // round-trip the same as known keys. A real change is written by
138
- // `writeConfigDocument`, which edits only the changed value in place.
139
- const rawConfig = await loadRawConfigDocument(projectRoot);
140
- const currentValue = getNestedValue(rawConfig, key);
141
- if (deepEqual(currentValue, parsedValue)) {
142
- return true;
143
- }
144
- // `--force` is an escape hatch for unknown keys. It must not also
145
- // let the user write a structurally invalid value for a known key.
146
- // Strict validation applies whenever the key is listed in
147
- // SUPPORTED_CONFIG_PATHS, regardless of --force.
148
- //
149
- // Both branches seed the mutation from the raw on-disk document.
150
- // Round-tripping the known-key branch through `loadConfig` →
151
- // `validateConfig` builds a typed clone containing only the known
152
- // schema fields, so any ordinary `fireforge config <key> <value>`
153
- // would silently drop every previously --force-written key from
154
- // fireforge.json.
155
- if (options.force && !keyIsKnown) {
156
- const updatedConfig = mutateConfig(rawConfig, key, parsedValue, true);
157
- await writeConfigDocument(projectRoot, updatedConfig);
158
- }
159
- else {
160
- // Mutate the raw document (preserving unknown keys), then run
161
- // strict validation on the result. validateConfig checks the
162
- // known schema fields and ignores unknown keys, so this keeps
163
- // exactly the old validation strength while writing the
164
- // unstripped document.
165
- const updatedConfig = mutateConfig(rawConfig, key, parsedValue, true);
166
- validateConfig(updatedConfig);
167
- await writeConfigDocument(projectRoot, updatedConfig);
168
- }
169
- return false;
170
- });
171
- }
172
- catch (error) {
173
- // Only value/validation problems are the user's "invalid value".
174
- // Lock-acquisition timeouts and I/O failures must keep their own
175
- // types and messages. Re-labelling a lock timeout as `Invalid value
176
- // for "<key>"` points diagnosis at the value (and returns the wrong
177
- // exit-code class) when the real problem is a concurrent fireforge
178
- // process holding the config lock.
179
- if (error instanceof ConfigError) {
180
- throw new InvalidArgumentError(`Invalid value for "${key}": ${toError(error).message}`, key);
181
- }
182
- throw error;
183
- }
184
- if (unchanged) {
185
- info(`${key} = ${formatValue(parsedValue)} (unchanged)`);
186
- }
187
- else {
188
- success(`Set ${key} = ${formatValue(parsedValue)}`);
189
- }
190
- }
191
- outro('');
192
- }
193
- /**
194
- * Structural equality check covering the shapes `fireforge config` accepts:
195
- * primitives (strings, numbers, booleans), `null`, arrays of primitives, and
196
- * nested objects. Used to short-circuit no-op writes: when the parsed value
197
- * matches the current on-disk value, the mutate + write step is skipped
198
- * entirely.
199
- */
200
- function deepEqual(a, b) {
201
- if (a === b)
202
- return true;
203
- if (Array.isArray(a)) {
204
- if (!Array.isArray(b))
205
- return false;
206
- if (a.length !== b.length)
207
- return false;
208
- return a.every((v, i) => deepEqual(v, b[i]));
209
- }
210
- if (!isJsonObject(a) || !isJsonObject(b)) {
211
- // Primitives (and null) compare by identity, handled above.
212
- return false;
213
- }
214
- const keysA = Object.keys(a);
215
- const keysB = Object.keys(b);
216
- if (keysA.length !== keysB.length)
217
- return false;
218
- return keysA.every((k) => deepEqual(a[k], b[k]));
219
- }
220
- /** Registers the config command on the CLI program. */
221
- export function registerConfig(program, { getProjectRoot, withErrorHandling }) {
222
- program
223
- .command('config <key> [value]')
224
- .description('Get or set configuration values')
225
- .option('-f, --force', 'Allow setting unknown config keys')
226
- .action(withErrorHandling(async (key, value, options) => {
227
- await configCommand(getProjectRoot(), key, value, pickDefined(options));
228
- }));
8
+ return typeof value === 'string' ? value : JSON.stringify(value, null, 2);
229
9
  }
10
+ const get = defineCommand({
11
+ name: 'get',
12
+ summary: 'Print a key of fireforge.json',
13
+ args: { key: arg.string('Key path, such as firefox.version or gate.lanes[0].files') },
14
+ json: true,
15
+ run: async (ctx, { key }) => {
16
+ const entry = await getConfigValue(await findProjectRoot(ctx.cwd), key);
17
+ const fallback = entry.value === undefined && entry.defaultValue !== undefined
18
+ ? ` (default ${shown(entry.defaultValue)})`
19
+ : '';
20
+ ctx.out.line(`${shown(entry.value)}${fallback}`);
21
+ ctx.out.json({
22
+ key,
23
+ value: entry.value ?? null,
24
+ default: entry.defaultValue ?? null,
25
+ type: entry.type,
26
+ doc: entry.doc ?? null,
27
+ });
28
+ },
29
+ });
30
+ const set = defineCommand({
31
+ name: 'set',
32
+ summary: 'Set a key of fireforge.json, validating the whole file first',
33
+ description: 'The value is read as JSON when the key accepts that (4, true, ["a"]) and as text otherwise. ' +
34
+ 'Only the changed value is rewritten; the rest of the file keeps its layout. "mode" is not ' +
35
+ 'changed this way: "fireforge migrate --to-source" moves a project to source mode, and the way back is ' +
36
+ '"fireforge export", then setting "mode" to "patches" and removing "source" by hand.',
37
+ args: {
38
+ key: arg.string('Key path, such as build.jobs'),
39
+ value: arg.string('The new value'),
40
+ },
41
+ json: true,
42
+ run: async (ctx, { key, value }) => {
43
+ const edit = await setConfigValue(await findProjectRoot(ctx.cwd), key, value);
44
+ ctx.out.line(`${key} = ${shown(edit.value)}${edit.changed ? '' : ' (unchanged)'}`);
45
+ ctx.out.json({ key, value: edit.value, changed: edit.changed });
46
+ },
47
+ });
48
+ export const config = defineCommand({
49
+ name: 'config',
50
+ summary: 'Read or edit fireforge.json through its schema',
51
+ group: 'Project',
52
+ subcommands: [get, set],
53
+ });