@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,414 +0,0 @@
1
- // SPDX-License-Identifier: EUPL-1.2
2
- /**
3
- * Shared pre-flight logic for build and package commands:
4
- * story cleanup, branding setup, Furnace component application, and mozconfig generation.
5
- */
6
- import { constants as osConstants } from 'node:os';
7
- import { GeneralError } from '../errors/base.js';
8
- import { BuildError } from '../errors/build.js';
9
- import { FurnaceError } from '../errors/furnace.js';
10
- import { toError } from '../utils/errors.js';
11
- import { pathExists } from '../utils/fs.js';
12
- import { info, notice, spinner, verbose, warn } from '../utils/logger.js';
13
- import { isBrandingSetup, setupBranding } from './branding.js';
14
- import { isBuildInputPath, isJarManifestPath } from './build-audit.js';
15
- import { evaluateJarManifestEscalation, formatJarEscalationNotice, } from './build-jar-escalation.js';
16
- import { assessUnexportedDrift, formatDeployedUnexportedNote, formatUnexportedDriftWarning, } from './build-overwrite-guard.js';
17
- import { hashEngineFile } from './coverage-extend.js';
18
- import { collectChangedEnginePaths, dropPathsMatchingFingerprints } from './engine-changes.js';
19
- import { applyAllComponents } from './furnace-apply.js';
20
- import { logApplyWarnings } from './furnace-apply-output.js';
21
- import { furnaceConfigExists, getFurnacePaths, loadFurnaceConfig, loadFurnaceState, } from './furnace-config.js';
22
- import { runFurnaceMutation } from './furnace-operation.js';
23
- import { countEntriesWithBlockingStepErrors } from './furnace-step-errors.js';
24
- import { cleanStories } from './furnace-stories.js';
25
- import { generateMozconfig, runMachCapture } from './mach.js';
26
- import { explainMachError } from './mach-error-hints.js';
27
- /** Path fragments of files whose edits invalidate the recursive-make backend. */
28
- const BACKEND_INVALIDATING_SUFFIXES = ['moz.build', 'moz.configure', 'Makefile.in'];
29
- /**
30
- * Build-input manifests changed since the last successful build, not
31
- * merely dirty against HEAD. `collectChangedEnginePaths` unions the
32
- * baseline-to-HEAD diff with every worktree modification, and a fork's
33
- * worktree is permanently dirty (imported patches, Furnace-applied
34
- * components), so on its own it reports a patch-touched `jar.mn` or
35
- * `moz.build` as changed on every run: `mach configure` re-ran and the
36
- * pre-test build escalated to a full `mach build` after each full build
37
- * that had already consumed exactly this content. The baseline's
38
- * `buildInputFingerprints` say what the last successful build saw.
39
- * Anything byte-identical to that is dropped here. A baseline without the
40
- * field (written before it existed) keeps every dirty input, which is the
41
- * old behaviour.
42
- *
43
- * @param engineDir - Path to the engine directory
44
- * @param baseline - Last successful build's baseline
45
- * @returns Engine-relative build-input paths that still need acting on
46
- */
47
- async function collectChangedBuildInputs(engineDir, baseline) {
48
- const changed = await collectChangedEnginePaths(engineDir, baseline, 'Auto-configure');
49
- const dirtyInputs = changed.filter(isBuildInputPath);
50
- const stillChanged = await dropPathsMatchingFingerprints(engineDir, dirtyInputs, baseline.buildInputFingerprints);
51
- const unchangedSinceBuild = dirtyInputs.filter((path) => !stillChanged.includes(path));
52
- if (unchangedSinceBuild.length > 0) {
53
- verbose(`Auto-configure: ${unchangedSinceBuild.length} dirty build input(s) byte-identical to the last successful build, not treated as changed: ${unchangedSinceBuild.join(', ')}`);
54
- }
55
- return stillChanged;
56
- }
57
- /**
58
- * Extracts the tail of captured `mach configure` output so the underlying
59
- * mozbuild failure (e.g. `mozbuild.util.UnsortedError: ... is not in sorted
60
- * order`) is carried into the thrown `BuildError` instead of being reduced to
61
- * a bare exit code. mozbuild writes the error and its traceback to stderr,
62
- * and stdout is included as a fallback for shells that interleave the
63
- * streams.
64
- * Returns an empty string when nothing useful was captured.
65
- */
66
- function extractMachConfigureError(result) {
67
- const combined = `${result.stderr}\n${result.stdout}`.trim();
68
- if (!combined)
69
- return '';
70
- return combined.split('\n').slice(-40).join('\n').trim();
71
- }
72
- /**
73
- * Describes an exit code in the shell's 128+N signal convention. Truncated
74
- * configure/build logs with a signal-shaped exit (e.g. 144 = 128+16, SIGURG
75
- * on macOS) are environmental interruptions, not compiler failures. Naming
76
- * that in the failure text saves the operator a fruitless log hunt.
77
- * Returns undefined for codes <= 128 (regular failures) and
78
- * for codes past the conventional signal range, so callers append nothing.
79
- */
80
- export function describeSignalShapedExit(exitCode) {
81
- if (exitCode <= 128 || exitCode > 192)
82
- return undefined;
83
- const signalNumber = exitCode - 128;
84
- const names = Object.entries(osConstants.signals)
85
- .filter(([, value]) => value === signalNumber)
86
- .map(([name]) => name);
87
- const label = names.length > 0 ? names.join('/') : `signal ${signalNumber}`;
88
- return (`Exit ${exitCode} is signal-shaped (${exitCode} - 128 = ${signalNumber}, ${label} on this host): ` +
89
- 'the process was likely interrupted externally (OOM-killer, terminal disconnect, ' +
90
- 'display/session teardown) rather than failing on its own, and the log may be ' +
91
- 'truncated mid-step.');
92
- }
93
- /**
94
- * Builds the `BuildError` for a non-zero auto-configure exit: the output
95
- * tail (so the underlying mozbuild failure survives), any matched
96
- * mach-error hints (so e.g. a toolchain minimum that moved with a source
97
- * hop names `fireforge bootstrap` on this path too, just like the
98
- * protected build dispatch), and the stop rationale.
99
- */
100
- function buildConfigureFailureError(captured) {
101
- const detail = extractMachConfigureError(captured);
102
- const hints = explainMachError(`${captured.stderr}\n${captured.stdout}`);
103
- const signalNote = describeSignalShapedExit(captured.exitCode);
104
- return new BuildError(`Backend regeneration failed: mach configure exited with code ${captured.exitCode}.` +
105
- (detail ? `\n\nmach configure output (tail):\n${detail}` : '') +
106
- (signalNote ? `\n\n${signalNote}` : '') +
107
- (hints.length > 0 ? `\n\n${hints.map((hint) => `Hint: ${hint}`).join('\n')}` : '') +
108
- '\n\nBuild stopped because continuing would hide the real configure failure.', 'mach configure');
109
- }
110
- /**
111
- * Runs the narrowed `jar.mn` escalation rule over this run's changed build
112
- * inputs and returns the operator-facing reason when a full build is still
113
- * required, or undefined when the narrowing cleared every changed manifest.
114
- *
115
- * Extracted so `prepareBuildEnvironment` stays under the complexity budget.
116
- *
117
- * @param engineDir - Absolute engine directory
118
- * @param changed - Build inputs changed since the last successful build
119
- */
120
- async function decideJarEscalation(engineDir, changed) {
121
- // Packaging manifests whose graph/destination directories may need a full
122
- // build. Path-shape only: `evaluateJarManifestEscalation` decides whether a
123
- // given changed manifest actually forces one (a new manifest, or one that
124
- // redirects its install base directory), so an entry added to an existing
125
- // `dist/bin` manifest does not cost a ~10-minute build.
126
- const decision = await evaluateJarManifestEscalation(engineDir, changed.filter(isJarManifestPath));
127
- if (decision.cleared.length > 0) {
128
- verbose(`jar escalation: ${decision.cleared.length} changed jar.mn add entries to an existing dist/bin manifest; not escalating for ${decision.cleared.join(', ')}.`);
129
- }
130
- return decision.escalate ? formatJarEscalationNotice(decision) : undefined;
131
- }
132
- /**
133
- * Returns true when the file path matches a pattern that forces
134
- * `mach configure` to regenerate the backend. Exported for testing.
135
- */
136
- export function isBackendInvalidatingFile(path) {
137
- for (const suffix of BACKEND_INVALIDATING_SUFFIXES) {
138
- if (path === suffix || path.endsWith(`/${suffix}`))
139
- return true;
140
- }
141
- return false;
142
- }
143
- /**
144
- * Warns before the overwrite rather than after it.
145
- *
146
- * Every write `prepareBuildEnvironment` performs (branding, Furnace
147
- * components, `mozconfig`) rewrites engine files from a FireForge-owned
148
- * source. Content recorded in neither a patch body nor the pristine baseline
149
- * is destroyed by that, and on a multi-session checkout the destruction is
150
- * what lets a later re-export capture a half-reverted hybrid that every gate
151
- * then passes.
152
- *
153
- * @param projectRoot - Project root
154
- * @param config - Loaded FireForge config
155
- * @param options - Build-prepare options (reads `refuseUnexportedDrift`)
156
- * @throws GeneralError under `--refuse-unexported-drift`
157
- */
158
- async function reportUnexportedDriftBeforeOverwrite(projectRoot, config, options) {
159
- const { atRisk, deployedUnexported } = await assessUnexportedDrift(projectRoot, config);
160
- // Deployed Furnace files that are their component source's own
161
- // deployment never block: the overwrite loses nothing. Say so, since
162
- // their patches still owe a re-export.
163
- if (deployedUnexported.length > 0)
164
- info(formatDeployedUnexportedNote(deployedUnexported));
165
- if (atRisk.length === 0)
166
- return;
167
- const message = formatUnexportedDriftWarning(atRisk);
168
- if (options.refuseUnexportedDrift === true) {
169
- throw new GeneralError(message);
170
- }
171
- notice(message);
172
- }
173
- /**
174
- * Applies the named components one at a time, each under its own Furnace
175
- * mutation (one rollback journal per apply), and merges the results.
176
- */
177
- async function applySelectedComponents(projectRoot, names) {
178
- const merged = {
179
- applied: [],
180
- skipped: [],
181
- errors: [],
182
- warnings: [],
183
- };
184
- for (const componentName of names) {
185
- const result = await runFurnaceMutation(projectRoot, 'apply-rollback', (ctx) => applyAllComponents(projectRoot, false, { operationContext: ctx, componentName }));
186
- merged.applied.push(...result.applied);
187
- merged.skipped.push(...result.skipped);
188
- merged.errors.push(...result.errors);
189
- merged.warnings.push(...(result.warnings ?? []));
190
- }
191
- return merged;
192
- }
193
- /**
194
- * Applies Furnace components before the build when `furnace.json` exists.
195
- * Prints every warning the apply computed, then the loud sync banner.
196
- *
197
- * @param projectRoot - Project root
198
- * @param only - Apply just these components; every component when undefined
199
- * @returns Names of the components written to engine/
200
- */
201
- async function applyFurnaceBeforeBuild(projectRoot, only) {
202
- if (!(await furnaceConfigExists(projectRoot)))
203
- return [];
204
- const furnaceConfig = await loadFurnaceConfig(projectRoot);
205
- const hasComponents = Object.keys(furnaceConfig.overrides).length > 0 || Object.keys(furnaceConfig.custom).length > 0;
206
- if (!hasComponents)
207
- return [];
208
- const furnaceSpinner = spinner('Applying Furnace components...');
209
- let result;
210
- try {
211
- result =
212
- only === undefined
213
- ? await runFurnaceMutation(projectRoot, 'apply-rollback', (ctx) => applyAllComponents(projectRoot, false, { operationContext: ctx }))
214
- : await applySelectedComponents(projectRoot, only);
215
- }
216
- catch (error) {
217
- furnaceSpinner.error('Failed to apply Furnace components');
218
- throw error;
219
- }
220
- const furnaceApplied = result.applied.length;
221
- // Count entries that were "applied" but recorded step-level errors
222
- // mid-apply (e.g. a post-step failure after file writes succeeded).
223
- // These are distinct from `result.errors`, which captures
224
- // components that failed before reaching the applied list at all.
225
- // The sum of the two is the total count of failed components.
226
- const appliedWithStepErrorsCount = countEntriesWithBlockingStepErrors(result.applied);
227
- const totalApplyFailures = result.errors.length + appliedWithStepErrorsCount;
228
- if (totalApplyFailures > 0) {
229
- furnaceSpinner.error('Failed to apply Furnace components');
230
- for (const err of result.errors) {
231
- warn(`Furnace: ${err.name} — ${err.error}`);
232
- }
233
- for (const applied of result.applied) {
234
- if (applied.stepErrors && applied.stepErrors.length > 0) {
235
- for (const stepErr of applied.stepErrors) {
236
- warn(`Furnace: ${applied.name} [${stepErr.step}] ${stepErr.error}`);
237
- }
238
- }
239
- }
240
- throw new FurnaceError(`${totalApplyFailures} component${totalApplyFailures === 1 ? '' : 's'} failed to apply cleanly`);
241
- }
242
- // The apply computed these (patch-owned engine files whose content
243
- // differed from components/ and were replaced). `furnace apply`
244
- // prints them, and so does this path: dropped silently, a negative
245
- // control that edited a deployed Furnace file would run against the
246
- // shipped code with a green result and only a checksum could tell.
247
- const overwriteCount = logApplyWarnings(result.warnings);
248
- if (overwriteCount > 0) {
249
- notice(`Furnace: ${overwriteCount} Furnace-managed engine file${overwriteCount === 1 ? '' : 's'} differed from components/ and ${overwriteCount === 1 ? 'was' : 'were'} REPLACED before this build. An engine-side edit to a Furnace-managed file (for example a negative control) did not run; edit the component source under components/ instead, or restore the edit after the build.`);
250
- }
251
- if (furnaceApplied > 0) {
252
- const appliedNames = result.applied.map((entry) => entry.name).join(', ');
253
- furnaceSpinner.stop(`Applied ${furnaceApplied} component${furnaceApplied === 1 ? '' : 's'}`);
254
- // Loud banner: the build operator needs to see that engine/ was
255
- // updated before this build, otherwise a silent re-apply is
256
- // indistinguishable from a build that shipped stale components.
257
- notice(`Furnace: source → engine sync wrote ${furnaceApplied} component${furnaceApplied === 1 ? '' : 's'} before build (${appliedNames}). engine/ now matches components/.`);
258
- }
259
- else {
260
- furnaceSpinner.stop('Components up to date');
261
- }
262
- return result.applied.map((entry) => entry.name);
263
- }
264
- /**
265
- * Runs the auto-configure step (`mach configure`) against the freshly
266
- * generated mozconfig, surfacing the underlying mozbuild error on failure.
267
- * @param engineDir - Path to the engine directory
268
- * @param triggers - Why the backend is being regenerated, for the notice
269
- */
270
- async function runAutoConfigure(engineDir, triggers) {
271
- // Warning severity: this is the "why is this run slow" explanation,
272
- // and an info-level line does not survive an agent output filter that
273
- // keeps only warnings and errors.
274
- notice(`Backend config changed; running backend regeneration first (${triggers}). Backend command: mach configure.`);
275
- const configureSpinner = spinner('Running mach configure...');
276
- try {
277
- const captured = await runMachCapture(['configure'], engineDir);
278
- const exitCode = captured.exitCode;
279
- if (exitCode !== 0) {
280
- configureSpinner.error(`mach configure failed with exit code ${exitCode}`);
281
- // Surface the underlying mozbuild error (e.g. UnsortedError)
282
- // instead of a bare exit code, since the generic message hid the
283
- // actual cause, plus any matched mach-error hints (see the helper).
284
- throw buildConfigureFailureError(captured);
285
- }
286
- configureSpinner.stop('Backend regenerated successfully (mach configure exit code 0)');
287
- info('Backend regeneration succeeded; continuing with build.');
288
- }
289
- catch (error) {
290
- if (error instanceof BuildError) {
291
- throw error;
292
- }
293
- configureSpinner.error('mach configure failed');
294
- verbose(`Auto-configure error: ${toError(error).message}`);
295
- throw new BuildError(`Backend regeneration failed while running mach configure: ${toError(error).message}. Build stopped because continuing would hide the real configure failure.`, 'mach configure', error instanceof Error ? error : undefined);
296
- }
297
- }
298
- /**
299
- * Runs the shared pre-flight steps for build and package commands:
300
- * 1. Warns (or refuses) about unexported engine drift the writes below
301
- * would destroy
302
- * 2. Cleans Furnace stories from engine (prevents leaking into production)
303
- * 3. Sets up branding directory if not already done
304
- * 4. Applies Furnace components if furnace.json exists
305
- * 5. Generates mozconfig
306
- * 6. Runs `mach configure` when a backend-invalidating input, including
307
- * the mozconfig just generated, changed since the previous baseline
308
- *
309
- * @param projectRoot - Root directory of the project
310
- * @param paths - Resolved project paths
311
- * @param config - Loaded FireForge configuration
312
- * @param options - Baseline and drift-refusal options
313
- * @returns Preparation results
314
- */
315
- export async function prepareBuildEnvironment(projectRoot, paths, config, options = {}) {
316
- // Block the build if Furnace has an unresolved repair marker. This prevents
317
- // building against an engine that may be in an inconsistent state after a
318
- // failed rollback.
319
- const furnaceStatePath = getFurnacePaths(projectRoot).furnaceState;
320
- if (await pathExists(furnaceStatePath)) {
321
- const furnaceState = await loadFurnaceState(projectRoot);
322
- if (furnaceState.pendingRepair) {
323
- throw new FurnaceError(`Furnace has an unresolved repair marker (from ${furnaceState.pendingRepair.operation}). ` +
324
- 'Run "fireforge doctor --repair-furnace" to reconcile engine state before building.');
325
- }
326
- }
327
- await reportUnexportedDriftBeforeOverwrite(projectRoot, config, options);
328
- // Auto-configure census: if any backend-invalidating file (moz.build,
329
- // moz.configure, Makefile.in) changed since the last successful build,
330
- // `mach configure` runs before the build step. Prevents incremental builds
331
- // from silently skipping work against a stale recursive-make backend. The
332
- // configure itself waits until the mozconfig below has been regenerated:
333
- // run earlier, it configured against the previous engine/mozconfig, and a
334
- // configs/ fix for a failing configure (a pinned --with-macos-sdk) could
335
- // never take effect because the failure stopped the build before the
336
- // regeneration.
337
- const configureTriggers = [];
338
- let fullBuildRequired = false;
339
- let fullBuildReason;
340
- if (options.previousBaseline) {
341
- const changed = await collectChangedBuildInputs(paths.engine, options.previousBaseline);
342
- const invalidating = changed.filter(isBackendInvalidatingFile);
343
- const jarEscalation = await decideJarEscalation(paths.engine, changed);
344
- fullBuildRequired = jarEscalation !== undefined;
345
- fullBuildReason = jarEscalation;
346
- if (invalidating.length > 0) {
347
- configureTriggers.push(`${invalidating.length} file${invalidating.length === 1 ? '' : 's'} touched`);
348
- }
349
- }
350
- // Clean stories before build to ensure they don't leak into production binary
351
- await cleanStories(paths.engine);
352
- // Set up custom branding directory and patch moz.configure. Thread the
353
- // project license through so `buildConfigureScriptContent` /
354
- // `buildBrandPropertiesContent` / `buildBrandFtlContent` stamp the
355
- // generated files with a matching SPDX header. Otherwise `patch-lint`
356
- // flags them with `missing-license-header` on every subsequent export when
357
- // the project is not MPL-2.0.
358
- const brandingConfig = {
359
- name: config.name,
360
- vendor: config.vendor,
361
- appId: config.appId,
362
- binaryName: config.binaryName,
363
- ...(config.license !== undefined ? { license: config.license } : {}),
364
- };
365
- if (!(await isBrandingSetup(paths.engine, brandingConfig))) {
366
- const brandingSpinner = spinner('Setting up branding...');
367
- try {
368
- await setupBranding(paths.engine, brandingConfig);
369
- brandingSpinner.stop('Branding configured');
370
- }
371
- catch (error) {
372
- brandingSpinner.error('Failed to set up branding');
373
- throw error;
374
- }
375
- }
376
- const furnaceAppliedNames = options.skipFurnaceApply === true || options.furnaceComponents?.length === 0
377
- ? []
378
- : await applyFurnaceBeforeBuild(projectRoot, options.furnaceComponents);
379
- // Generate mozconfig
380
- const mozconfigSpinner = spinner('Generating mozconfig...');
381
- let mozconfigWritten;
382
- try {
383
- mozconfigWritten = await generateMozconfig(paths.configs, paths.engine, config);
384
- mozconfigSpinner.stop('mozconfig generated');
385
- }
386
- catch (error) {
387
- mozconfigSpinner.error('Failed to generate mozconfig');
388
- throw error;
389
- }
390
- // A changed mozconfig is itself backend-invalidating. Compare against the
391
- // hash the last successful build recorded; a baseline from before that
392
- // field existed falls back to whether this run rewrote the file.
393
- if (options.previousBaseline) {
394
- const recorded = options.previousBaseline.mozconfigHash;
395
- const mozconfigChanged = recorded !== undefined
396
- ? (await hashEngineFile(paths.engine, 'mozconfig')) !== recorded
397
- : mozconfigWritten;
398
- if (mozconfigChanged) {
399
- configureTriggers.push('engine/mozconfig changed since the last build');
400
- }
401
- }
402
- let reconfigured = false;
403
- if (configureTriggers.length > 0) {
404
- await runAutoConfigure(paths.engine, configureTriggers.join('; '));
405
- reconfigured = true;
406
- }
407
- return {
408
- furnaceApplied: furnaceAppliedNames.length,
409
- furnaceAppliedNames,
410
- reconfigured,
411
- fullBuildRequired,
412
- ...(fullBuildReason !== undefined ? { fullBuildReason } : {}),
413
- };
414
- }
@@ -1,74 +0,0 @@
1
- /**
2
- * A record of the mach build in flight, kept in `.fireforge/build-run.json`
3
- * so any session on the checkout can see why the bundle is missing.
4
- *
5
- * An interrupted `fireforge build` (a killed peer session, a closed
6
- * terminal) can leave `dist/<App>.app/Contents/MacOS/` without its
7
- * executable. Every later `fireforge test`, in every session, then failed
8
- * at launch with nothing saying a build had died there, and the sessions
9
- * that had not run the build had no way to find out.
10
- *
11
- * The record is written when a protected mach build starts and removed when
12
- * it succeeds. A failed build leaves it with `status: "failed"` and the exit
13
- * code. A build that never reached either end, because its process died,
14
- * leaves `status: "running"` with a PID that no longer exists, which is how
15
- * an interrupted run is recognized. The next build that runs to the end
16
- * replaces whatever was there.
17
- *
18
- * Best-effort throughout: a build never fails because its record could not
19
- * be written, and an unreadable record reads as "no record".
20
- */
21
- /** The persisted record. */
22
- interface BuildRunRecord {
23
- /** Whether the build is (or was last seen) running, or ended in failure. */
24
- status: 'running' | 'failed';
25
- /** PID of the FireForge process that ran the build. */
26
- pid: number;
27
- /** That process's boot-relative start tick, where procfs exposes one. */
28
- startTick?: number;
29
- /** The FireForge invocation, e.g. `fireforge build --ui`. */
30
- command: string;
31
- /** The mach command, e.g. `mach build faster`. */
32
- machCommand: string;
33
- /** ISO time the mach build started. */
34
- startedAt: string;
35
- /** ISO time a failed build ended. */
36
- endedAt?: string;
37
- /** Exit code of a failed build, when mach returned one. */
38
- exitCode?: number;
39
- }
40
- /** What the record says about the last build. */
41
- export type BuildRunState = {
42
- kind: 'none';
43
- } | {
44
- kind: 'running' | 'interrupted' | 'failed';
45
- record: BuildRunRecord;
46
- };
47
- /**
48
- * Runs a mach build with its run record maintained around it. The record
49
- * is removed on a zero exit and kept as `failed` on a non-zero exit or a
50
- * throw, so only a build whose process died mid-run is left `running`.
51
- *
52
- * @param projectRoot - Project root holding `.fireforge/`
53
- * @param machCommand - The mach command being run
54
- * @param build - The build itself
55
- * @returns Whatever the build returned
56
- */
57
- export declare function withBuildRunRecord<T extends {
58
- exitCode: number;
59
- }>(projectRoot: string, machCommand: string, build: () => Promise<T>): Promise<T>;
60
- /**
61
- * Reads the last build's record and decides whether its process is still
62
- * running.
63
- *
64
- * @param projectRoot - Project root holding `.fireforge/`
65
- */
66
- export declare function readBuildRunState(projectRoot: string): Promise<BuildRunState>;
67
- /**
68
- * One sentence naming why the bundle may be missing, or undefined when
69
- * there is no record to go on.
70
- *
71
- * @param state - From {@link readBuildRunState}
72
- */
73
- export declare function describeBuildRunState(state: BuildRunState): string | undefined;
74
- export {};
@@ -1,136 +0,0 @@
1
- // SPDX-License-Identifier: EUPL-1.2
2
- /**
3
- * A record of the mach build in flight, kept in `.fireforge/build-run.json`
4
- * so any session on the checkout can see why the bundle is missing.
5
- *
6
- * An interrupted `fireforge build` (a killed peer session, a closed
7
- * terminal) can leave `dist/<App>.app/Contents/MacOS/` without its
8
- * executable. Every later `fireforge test`, in every session, then failed
9
- * at launch with nothing saying a build had died there, and the sessions
10
- * that had not run the build had no way to find out.
11
- *
12
- * The record is written when a protected mach build starts and removed when
13
- * it succeeds. A failed build leaves it with `status: "failed"` and the exit
14
- * code. A build that never reached either end, because its process died,
15
- * leaves `status: "running"` with a PID that no longer exists, which is how
16
- * an interrupted run is recognized. The next build that runs to the end
17
- * replaces whatever was there.
18
- *
19
- * Best-effort throughout: a build never fails because its record could not
20
- * be written, and an unreadable record reads as "no record".
21
- */
22
- import { readFile, rm } from 'node:fs/promises';
23
- import { join } from 'node:path';
24
- import { toError } from '../utils/errors.js';
25
- import { writeFileAtomic } from '../utils/fs.js';
26
- import { verbose } from '../utils/logger.js';
27
- import { FIREFORGE_DIR } from './config-paths.js';
28
- import { isLockOwnerAlive, readProcessStartTick } from './file-lock-owner.js';
29
- /** File name of the record under `.fireforge/`. */
30
- const BUILD_RUN_RECORD = 'build-run.json';
31
- function recordPath(projectRoot) {
32
- return join(projectRoot, FIREFORGE_DIR, BUILD_RUN_RECORD);
33
- }
34
- async function writeRecord(projectRoot, record) {
35
- try {
36
- await writeFileAtomic(recordPath(projectRoot), `${JSON.stringify(record, null, 2)}\n`);
37
- }
38
- catch (error) {
39
- verbose(`Build run record not written: ${toError(error).message}`);
40
- }
41
- }
42
- /**
43
- * Runs a mach build with its run record maintained around it. The record
44
- * is removed on a zero exit and kept as `failed` on a non-zero exit or a
45
- * throw, so only a build whose process died mid-run is left `running`.
46
- *
47
- * @param projectRoot - Project root holding `.fireforge/`
48
- * @param machCommand - The mach command being run
49
- * @param build - The build itself
50
- * @returns Whatever the build returned
51
- */
52
- export async function withBuildRunRecord(projectRoot, machCommand, build) {
53
- const startTick = readProcessStartTick(process.pid);
54
- const started = {
55
- status: 'running',
56
- pid: process.pid,
57
- ...(startTick !== undefined ? { startTick } : {}),
58
- command: ['fireforge', ...process.argv.slice(2)].join(' '),
59
- machCommand,
60
- startedAt: new Date().toISOString(),
61
- };
62
- await writeRecord(projectRoot, started);
63
- let result;
64
- try {
65
- result = await build();
66
- }
67
- catch (error) {
68
- await writeRecord(projectRoot, {
69
- ...started,
70
- status: 'failed',
71
- endedAt: new Date().toISOString(),
72
- });
73
- throw error;
74
- }
75
- if (result.exitCode === 0) {
76
- await rm(recordPath(projectRoot), { force: true }).catch(() => undefined);
77
- }
78
- else {
79
- await writeRecord(projectRoot, {
80
- ...started,
81
- status: 'failed',
82
- endedAt: new Date().toISOString(),
83
- exitCode: result.exitCode,
84
- });
85
- }
86
- return result;
87
- }
88
- /**
89
- * Reads the last build's record and decides whether its process is still
90
- * running.
91
- *
92
- * @param projectRoot - Project root holding `.fireforge/`
93
- */
94
- export async function readBuildRunState(projectRoot) {
95
- let record;
96
- try {
97
- record = JSON.parse(await readFile(recordPath(projectRoot), 'utf8'));
98
- }
99
- catch {
100
- return { kind: 'none' };
101
- }
102
- if (typeof record.pid !== 'number' || typeof record.startedAt !== 'string') {
103
- return { kind: 'none' };
104
- }
105
- if (record.status === 'failed')
106
- return { kind: 'failed', record };
107
- return {
108
- kind: isLockOwnerAlive({ pid: record.pid, startTick: record.startTick })
109
- ? 'running'
110
- : 'interrupted',
111
- record,
112
- };
113
- }
114
- /**
115
- * One sentence naming why the bundle may be missing, or undefined when
116
- * there is no record to go on.
117
- *
118
- * @param state - From {@link readBuildRunState}
119
- */
120
- export function describeBuildRunState(state) {
121
- if (state.kind === 'none')
122
- return undefined;
123
- const { record } = state;
124
- const who = `"${record.command}" (${record.machCommand}, PID ${record.pid}, started ${record.startedAt})`;
125
- switch (state.kind) {
126
- case 'running':
127
- return `A build is running right now: ${who}. The bundle is incomplete until it finishes.`;
128
- case 'interrupted':
129
- return (`The last build never finished: ${who} is gone without recording an end, so it was ` +
130
- 'interrupted (killed, or its terminal closed) part-way, which leaves the bundle without ' +
131
- 'its executable.');
132
- case 'failed':
133
- return (`The last build failed: ${who} ended ${record.endedAt ?? 'at an unrecorded time'}` +
134
- `${record.exitCode !== undefined ? ` with exit code ${record.exitCode}` : ''}.`);
135
- }
136
- }
@@ -1,41 +0,0 @@
1
- /**
2
- * Unowned support heads for the named-file checkJs pass of `test --build`.
3
- *
4
- * Each named test is checked as its own program: the test plus the
5
- * patch-owned `head*.js` beside it. A suite moved onto a NEW support head
6
- * (`head_world_page.js`, loaded with `loadSubScript`) cannot be proven
7
- * before that head is exported, because the head is in no patch: every kit
8
- * name reads as "Cannot find name" and the run is refused at preflight,
9
- * with the generic hint, which offers the shim as a remedy.
10
- *
11
- * So an unowned same-directory `head*.js` joins the pass when a named test
12
- * loads it with `loadSubScript` or a manifest beside it lists it in
13
- * `support-files`, which are the two ways the harness itself would bring
14
- * it into the test's scope. The operator is told it is unowned and how to
15
- * adopt it, as for the `head.js` companions in
16
- * `patch-lint-unmanaged-companion.ts`.
17
- */
18
- /** A same-directory head no patch owns, and why the pass includes it. */
19
- export interface UnownedSupportHead {
20
- /** Engine-relative path of the head. */
21
- file: string;
22
- /** What brings it into the test's scope. */
23
- reason: string;
24
- }
25
- /**
26
- * Finds the unowned same-directory `head*.js` files the named tests bring
27
- * into scope.
28
- *
29
- * @param engineDir - Absolute engine directory
30
- * @param selected - Engine-relative named test files
31
- * @param owned - Every file the pass already includes
32
- */
33
- export declare function findUnownedSupportHeads(engineDir: string, selected: Iterable<string>, owned: ReadonlySet<string>): Promise<UnownedSupportHead[]>;
34
- /**
35
- * The notice for an included unowned head: the ownership fact, the
36
- * adoption command, and an explicit "not the shim", for the same reason
37
- * `formatUnmanagedCompanionHint` gives.
38
- *
39
- * @param head - From {@link findUnownedSupportHeads}
40
- */
41
- export declare function formatUnownedSupportHeadNotice(head: UnownedSupportHead): string;