@ethlete/cli 3.0.0-next.27 → 3.0.0-next.28

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 (582) hide show
  1. package/CHANGELOG.md +153 -0
  2. package/build-info.json +1 -1
  3. package/design/arrow-anchor.ts +55 -0
  4. package/design/define-call.ts +3 -0
  5. package/design/define-part.ts +28 -1
  6. package/design/web/frame.ts +28 -0
  7. package/package.json +1 -1
  8. package/src/lib/api/compose.js +3 -2
  9. package/src/lib/api/compose.js.map +1 -1
  10. package/src/lib/api/git.js +2 -1
  11. package/src/lib/api/git.js.map +1 -1
  12. package/src/lib/api/setup.js +2 -2
  13. package/src/lib/api/setup.js.map +1 -1
  14. package/src/lib/design/asset-shot.js +2 -2
  15. package/src/lib/design/asset-shot.js.map +1 -1
  16. package/src/lib/design/blank-png.d.ts +2 -0
  17. package/src/lib/design/blank-png.js +28 -0
  18. package/src/lib/design/blank-png.js.map +1 -0
  19. package/src/lib/design/cache-entry.d.ts +8 -0
  20. package/src/lib/design/cache-entry.js +30 -0
  21. package/src/lib/design/cache-entry.js.map +1 -0
  22. package/src/lib/design/calls-tsconfig.js +20 -13
  23. package/src/lib/design/calls-tsconfig.js.map +1 -1
  24. package/src/lib/design/calls.js +3 -3
  25. package/src/lib/design/calls.js.map +1 -1
  26. package/src/lib/design/changed-parts.d.ts +1 -1
  27. package/src/lib/design/check.d.ts +2 -0
  28. package/src/lib/design/check.js +91 -24
  29. package/src/lib/design/check.js.map +1 -1
  30. package/src/lib/design/code-hash.d.ts +30 -0
  31. package/src/lib/design/code-hash.js +118 -0
  32. package/src/lib/design/code-hash.js.map +1 -0
  33. package/src/lib/design/commit-hunks.d.ts +2 -2
  34. package/src/lib/design/commit-hunks.js +2 -2
  35. package/src/lib/design/design-command.js +131 -36
  36. package/src/lib/design/design-command.js.map +1 -1
  37. package/src/lib/design/{paths.d.ts → design-config.d.ts} +6 -28
  38. package/src/lib/design/design-config.js +35 -0
  39. package/src/lib/design/design-config.js.map +1 -0
  40. package/src/lib/design/design-lint.d.ts +68 -0
  41. package/src/lib/design/design-lint.js +183 -0
  42. package/src/lib/design/design-lint.js.map +1 -0
  43. package/src/lib/design/draw-ledger.d.ts +6 -0
  44. package/src/lib/design/draw-ledger.js +10 -0
  45. package/src/lib/design/draw-ledger.js.map +1 -1
  46. package/src/lib/design/force-interactions.d.ts +2 -0
  47. package/src/lib/design/force-interactions.js +4 -2
  48. package/src/lib/design/force-interactions.js.map +1 -1
  49. package/src/lib/design/generated-stylesheets.d.ts +1 -1
  50. package/src/lib/design/generated-stylesheets.js +2 -2
  51. package/src/lib/design/generated-stylesheets.js.map +1 -1
  52. package/src/lib/design/git-top.d.ts +5 -0
  53. package/src/lib/design/git-top.js +16 -0
  54. package/src/lib/design/git-top.js.map +1 -0
  55. package/src/lib/design/hooks-problem.d.ts +2 -0
  56. package/src/lib/design/hooks-problem.js +23 -0
  57. package/src/lib/design/hooks-problem.js.map +1 -0
  58. package/src/lib/design/index.d.ts +4 -1
  59. package/src/lib/design/index.js +4 -1
  60. package/src/lib/design/index.js.map +1 -1
  61. package/src/lib/design/is-running.d.ts +1 -0
  62. package/src/lib/design/is-running.js +14 -0
  63. package/src/lib/design/is-running.js.map +1 -0
  64. package/src/lib/design/legacy.js +3 -3
  65. package/src/lib/design/legacy.js.map +1 -1
  66. package/src/lib/design/mcp-command.js +5 -12
  67. package/src/lib/design/mcp-command.js.map +1 -1
  68. package/src/lib/design/merge-compare.js +3 -3
  69. package/src/lib/design/merge-compare.js.map +1 -1
  70. package/src/lib/design/motion-command.js +3 -3
  71. package/src/lib/design/motion-command.js.map +1 -1
  72. package/src/lib/design/new-call.js +3 -3
  73. package/src/lib/design/new-call.js.map +1 -1
  74. package/src/lib/design/old-shot-folders.d.ts +2 -0
  75. package/src/lib/design/old-shot-folders.js +26 -0
  76. package/src/lib/design/old-shot-folders.js.map +1 -0
  77. package/src/lib/design/package-root.d.ts +21 -0
  78. package/src/lib/design/package-root.js +79 -0
  79. package/src/lib/design/package-root.js.map +1 -0
  80. package/src/lib/design/parent-watch.d.ts +7 -0
  81. package/src/lib/design/parent-watch.js +23 -0
  82. package/src/lib/design/parent-watch.js.map +1 -0
  83. package/src/lib/design/part-marks.js +2 -2
  84. package/src/lib/design/part-marks.js.map +1 -1
  85. package/src/lib/design/phase-timing.d.ts +5 -0
  86. package/src/lib/design/phase-timing.js +27 -0
  87. package/src/lib/design/phase-timing.js.map +1 -0
  88. package/src/lib/design/physical-cores.d.ts +12 -0
  89. package/src/lib/design/physical-cores.js +43 -0
  90. package/src/lib/design/physical-cores.js.map +1 -0
  91. package/src/lib/design/product-command.js +4 -4
  92. package/src/lib/design/product-command.js.map +1 -1
  93. package/src/lib/design/push-status.d.ts +30 -0
  94. package/src/lib/design/push-status.js +122 -0
  95. package/src/lib/design/push-status.js.map +1 -0
  96. package/src/lib/design/ready-shots.d.ts +18 -35
  97. package/src/lib/design/ready-shots.js +46 -111
  98. package/src/lib/design/ready-shots.js.map +1 -1
  99. package/src/lib/design/render-packages.d.ts +3 -1
  100. package/src/lib/design/render-packages.js +6 -2
  101. package/src/lib/design/render-packages.js.map +1 -1
  102. package/src/lib/design/render-worker.js +23 -3
  103. package/src/lib/design/render-worker.js.map +1 -1
  104. package/src/lib/design/render.d.ts +24 -3
  105. package/src/lib/design/render.js +23 -9
  106. package/src/lib/design/render.js.map +1 -1
  107. package/src/lib/design/resident/client.d.ts +52 -0
  108. package/src/lib/design/resident/client.js +263 -0
  109. package/src/lib/design/resident/client.js.map +1 -0
  110. package/src/lib/design/resident/discovery.d.ts +21 -0
  111. package/src/lib/design/resident/discovery.js +63 -0
  112. package/src/lib/design/resident/discovery.js.map +1 -0
  113. package/src/lib/design/resident/resident-process.d.ts +19 -0
  114. package/src/lib/design/resident/resident-process.js +189 -0
  115. package/src/lib/design/resident/resident-process.js.map +1 -0
  116. package/src/lib/design/resident/server.d.ts +52 -0
  117. package/src/lib/design/resident/server.js +212 -0
  118. package/src/lib/design/resident/server.js.map +1 -0
  119. package/src/lib/design/run-abort.d.ts +9 -0
  120. package/src/lib/design/run-abort.js +45 -0
  121. package/src/lib/design/run-abort.js.map +1 -0
  122. package/src/lib/design/run-deadline.d.ts +19 -0
  123. package/src/lib/design/run-deadline.js +104 -0
  124. package/src/lib/design/run-deadline.js.map +1 -0
  125. package/src/lib/design/run-yield.d.ts +8 -0
  126. package/src/lib/design/run-yield.js +43 -0
  127. package/src/lib/design/run-yield.js.map +1 -0
  128. package/src/lib/design/serve-state.d.ts +15 -0
  129. package/src/lib/design/serve-state.js +56 -0
  130. package/src/lib/design/serve-state.js.map +1 -0
  131. package/src/lib/design/serve.d.ts +20 -2
  132. package/src/lib/design/serve.js +147 -43
  133. package/src/lib/design/serve.js.map +1 -1
  134. package/src/lib/design/server-identity.d.ts +5 -1
  135. package/src/lib/design/server-identity.js +4 -1
  136. package/src/lib/design/server-identity.js.map +1 -1
  137. package/src/lib/design/shot-board.d.ts +26 -0
  138. package/src/lib/design/shot-board.js +80 -0
  139. package/src/lib/design/shot-board.js.map +1 -0
  140. package/src/lib/design/shot-command.d.ts +1 -1
  141. package/src/lib/design/shot-command.js +12 -5
  142. package/src/lib/design/shot-command.js.map +1 -1
  143. package/src/lib/design/shot-store.d.ts +29 -3
  144. package/src/lib/design/shot-store.js +206 -36
  145. package/src/lib/design/shot-store.js.map +1 -1
  146. package/src/lib/design/shot.d.ts +12 -4
  147. package/src/lib/design/shot.js +98 -14
  148. package/src/lib/design/shot.js.map +1 -1
  149. package/src/lib/design/sketch-at.js +2 -1
  150. package/src/lib/design/sketch-at.js.map +1 -1
  151. package/src/lib/design/sketch-command.d.ts +13 -0
  152. package/src/lib/design/sketch-command.js +346 -73
  153. package/src/lib/design/sketch-command.js.map +1 -1
  154. package/src/lib/design/ssr-shims.d.ts +1 -0
  155. package/src/lib/design/ssr-shims.js +3 -3
  156. package/src/lib/design/ssr-shims.js.map +1 -1
  157. package/src/lib/design/stamp.d.ts +5 -0
  158. package/src/lib/design/stamp.js +6 -5
  159. package/src/lib/design/stamp.js.map +1 -1
  160. package/src/lib/design/status.d.ts +1 -1
  161. package/src/lib/design/status.js +15 -4
  162. package/src/lib/design/status.js.map +1 -1
  163. package/src/lib/design/studio-api.d.ts +7 -15
  164. package/src/lib/design/studio-api.js +39 -140
  165. package/src/lib/design/studio-api.js.map +1 -1
  166. package/src/lib/design/system/accepted-pictures.d.ts +15 -29
  167. package/src/lib/design/system/accepted-pictures.js +156 -134
  168. package/src/lib/design/system/accepted-pictures.js.map +1 -1
  169. package/src/lib/design/system/action-cache.d.ts +45 -0
  170. package/src/lib/design/system/action-cache.js +72 -0
  171. package/src/lib/design/system/action-cache.js.map +1 -0
  172. package/src/lib/design/system/action-lost.d.ts +8 -6
  173. package/src/lib/design/system/action-lost.js +13 -17
  174. package/src/lib/design/system/action-lost.js.map +1 -1
  175. package/src/lib/design/system/action-press.d.ts +7 -1
  176. package/src/lib/design/system/action-press.js +16 -4
  177. package/src/lib/design/system/action-press.js.map +1 -1
  178. package/src/lib/design/system/actions-command.d.ts +12 -5
  179. package/src/lib/design/system/actions-command.js +187 -66
  180. package/src/lib/design/system/actions-command.js.map +1 -1
  181. package/src/lib/design/system/actions.d.ts +27 -4
  182. package/src/lib/design/system/actions.js +59 -21
  183. package/src/lib/design/system/actions.js.map +1 -1
  184. package/src/lib/design/system/anti-alias.d.ts +2 -0
  185. package/src/lib/design/system/anti-alias.js +11 -0
  186. package/src/lib/design/system/anti-alias.js.map +1 -0
  187. package/src/lib/design/system/app-files.js +19 -3
  188. package/src/lib/design/system/app-files.js.map +1 -1
  189. package/src/lib/design/system/arrow-anchor.d.ts +9 -0
  190. package/src/lib/design/system/arrow-anchor.js +40 -0
  191. package/src/lib/design/system/arrow-anchor.js.map +1 -0
  192. package/src/lib/design/system/base-issues.d.ts +28 -0
  193. package/src/lib/design/system/base-issues.js +80 -0
  194. package/src/lib/design/system/base-issues.js.map +1 -0
  195. package/src/lib/design/system/base.d.ts +1 -1
  196. package/src/lib/design/system/base.js +2 -2
  197. package/src/lib/design/system/base.js.map +1 -1
  198. package/src/lib/design/system/baseline-history.d.ts +13 -0
  199. package/src/lib/design/system/baseline-history.js +40 -0
  200. package/src/lib/design/system/baseline-history.js.map +1 -0
  201. package/src/lib/design/system/bespoke-controls.d.ts +4 -1
  202. package/src/lib/design/system/bespoke-controls.js +72 -70
  203. package/src/lib/design/system/bespoke-controls.js.map +1 -1
  204. package/src/lib/design/system/build-ready-contract.d.ts +7 -1
  205. package/src/lib/design/system/build-ready-contract.js +7 -1
  206. package/src/lib/design/system/build-ready-contract.js.map +1 -1
  207. package/src/lib/design/system/build-running.d.ts +13 -0
  208. package/src/lib/design/system/build-running.js +48 -0
  209. package/src/lib/design/system/build-running.js.map +1 -0
  210. package/src/lib/design/system/check-record.d.ts +18 -0
  211. package/src/lib/design/system/check-record.js +47 -0
  212. package/src/lib/design/system/check-record.js.map +1 -0
  213. package/src/lib/design/system/check-rules.d.ts +1 -1
  214. package/src/lib/design/system/check-rules.js +19 -1
  215. package/src/lib/design/system/check-rules.js.map +1 -1
  216. package/src/lib/design/system/check-system.d.ts +25 -4
  217. package/src/lib/design/system/check-system.js +289 -121
  218. package/src/lib/design/system/check-system.js.map +1 -1
  219. package/src/lib/design/system/comments/inbox.d.ts +1 -1
  220. package/src/lib/design/system/compare-cache.d.ts +20 -0
  221. package/src/lib/design/system/compare-cache.js +92 -0
  222. package/src/lib/design/system/compare-cache.js.map +1 -0
  223. package/src/lib/design/system/compare-command.d.ts +82 -51
  224. package/src/lib/design/system/compare-command.js +362 -340
  225. package/src/lib/design/system/compare-command.js.map +1 -1
  226. package/src/lib/design/system/complete.d.ts +31 -1
  227. package/src/lib/design/system/complete.js +141 -27
  228. package/src/lib/design/system/complete.js.map +1 -1
  229. package/src/lib/design/system/decision-refs.d.ts +5 -0
  230. package/src/lib/design/system/decision-refs.js +21 -0
  231. package/src/lib/design/system/decision-refs.js.map +1 -0
  232. package/src/lib/design/system/design-hash.d.ts +22 -1
  233. package/src/lib/design/system/design-hash.js +63 -4
  234. package/src/lib/design/system/design-hash.js.map +1 -1
  235. package/src/lib/design/system/dom-command.d.ts +1 -1
  236. package/src/lib/design/system/dom-command.js +8 -5
  237. package/src/lib/design/system/dom-command.js.map +1 -1
  238. package/src/lib/design/system/drawn-open-points.d.ts +1 -1
  239. package/src/lib/design/system/dropped-props.d.ts +19 -5
  240. package/src/lib/design/system/dropped-props.js +133 -21
  241. package/src/lib/design/system/dropped-props.js.map +1 -1
  242. package/src/lib/design/system/grid-report.d.ts +5 -0
  243. package/src/lib/design/system/grid-report.js +78 -0
  244. package/src/lib/design/system/grid-report.js.map +1 -0
  245. package/src/lib/design/system/harness-build-cache.d.ts +17 -3
  246. package/src/lib/design/system/harness-build-cache.js +23 -10
  247. package/src/lib/design/system/harness-build-cache.js.map +1 -1
  248. package/src/lib/design/system/harness-inputs.d.ts +17 -0
  249. package/src/lib/design/system/harness-inputs.js +160 -0
  250. package/src/lib/design/system/harness-inputs.js.map +1 -0
  251. package/src/lib/design/system/harness-map.d.ts +1 -1
  252. package/src/lib/design/system/harness-server.d.ts +12 -1
  253. package/src/lib/design/system/harness-server.js +29 -19
  254. package/src/lib/design/system/harness-server.js.map +1 -1
  255. package/src/lib/design/system/harness-shot.d.ts +78 -0
  256. package/src/lib/design/system/harness-shot.js +349 -0
  257. package/src/lib/design/system/harness-shot.js.map +1 -0
  258. package/src/lib/design/system/harness-watch.d.ts +79 -0
  259. package/src/lib/design/system/harness-watch.js +334 -0
  260. package/src/lib/design/system/harness-watch.js.map +1 -0
  261. package/src/lib/design/system/implementation-baseline.d.ts +20 -0
  262. package/src/lib/design/system/implementation-baseline.js +44 -0
  263. package/src/lib/design/system/implementation-baseline.js.map +1 -0
  264. package/src/lib/design/system/leftover-gate-files.d.ts +2 -0
  265. package/src/lib/design/system/leftover-gate-files.js +15 -0
  266. package/src/lib/design/system/leftover-gate-files.js.map +1 -0
  267. package/src/lib/design/system/lib-build-lock.d.ts +18 -0
  268. package/src/lib/design/system/lib-build-lock.js +111 -0
  269. package/src/lib/design/system/lib-build-lock.js.map +1 -0
  270. package/src/lib/design/system/link-free.d.ts +12 -0
  271. package/src/lib/design/system/link-free.js +125 -0
  272. package/src/lib/design/system/link-free.js.map +1 -0
  273. package/src/lib/design/system/list-system.d.ts +4 -8
  274. package/src/lib/design/system/list-system.js +8 -78
  275. package/src/lib/design/system/list-system.js.map +1 -1
  276. package/src/lib/design/system/live-actions.d.ts +1 -1
  277. package/src/lib/design/system/live-actions.js +17 -8
  278. package/src/lib/design/system/live-actions.js.map +1 -1
  279. package/src/lib/design/system/live-compare.js +1 -1
  280. package/src/lib/design/system/live-compare.js.map +1 -1
  281. package/src/lib/design/system/live-uncovered.d.ts +7 -2
  282. package/src/lib/design/system/live-uncovered.js +44 -9
  283. package/src/lib/design/system/live-uncovered.js.map +1 -1
  284. package/src/lib/design/system/no-verdict.d.ts +13 -0
  285. package/src/lib/design/system/no-verdict.js +17 -0
  286. package/src/lib/design/system/no-verdict.js.map +1 -0
  287. package/src/lib/design/system/off-centre.d.ts +11 -0
  288. package/src/lib/design/system/off-centre.js +74 -0
  289. package/src/lib/design/system/off-centre.js.map +1 -0
  290. package/src/lib/design/system/open-points-cache.d.ts +11 -0
  291. package/src/lib/design/system/open-points-cache.js +27 -0
  292. package/src/lib/design/system/open-points-cache.js.map +1 -0
  293. package/src/lib/design/system/open-points-runner.d.ts +43 -0
  294. package/src/lib/design/system/open-points-runner.js +119 -0
  295. package/src/lib/design/system/open-points-runner.js.map +1 -0
  296. package/src/lib/design/system/open-points-worker.d.ts +1 -0
  297. package/src/lib/design/system/open-points-worker.js +28 -0
  298. package/src/lib/design/system/open-points-worker.js.map +1 -0
  299. package/src/lib/design/system/open-points.js +1 -1
  300. package/src/lib/design/system/open-points.js.map +1 -1
  301. package/src/lib/design/system/part-build-ready.d.ts +13 -7
  302. package/src/lib/design/system/part-build-ready.js +43 -15
  303. package/src/lib/design/system/part-build-ready.js.map +1 -1
  304. package/src/lib/design/system/part-compare.d.ts +18 -2
  305. package/src/lib/design/system/part-compare.js +147 -42
  306. package/src/lib/design/system/part-compare.js.map +1 -1
  307. package/src/lib/design/system/part-picture-cache.d.ts +23 -0
  308. package/src/lib/design/system/part-picture-cache.js +68 -0
  309. package/src/lib/design/system/part-picture-cache.js.map +1 -0
  310. package/src/lib/design/system/part-ready.d.ts +33 -7
  311. package/src/lib/design/system/part-ready.js +55 -17
  312. package/src/lib/design/system/part-ready.js.map +1 -1
  313. package/src/lib/design/system/part-task.d.ts +20 -0
  314. package/src/lib/design/system/part-task.js +53 -7
  315. package/src/lib/design/system/part-task.js.map +1 -1
  316. package/src/lib/design/system/pixel-cache.d.ts +16 -0
  317. package/src/lib/design/system/pixel-cache.js +79 -0
  318. package/src/lib/design/system/pixel-cache.js.map +1 -0
  319. package/src/lib/design/system/pointer-focus.d.ts +10 -2
  320. package/src/lib/design/system/pointer-focus.js +32 -9
  321. package/src/lib/design/system/pointer-focus.js.map +1 -1
  322. package/src/lib/design/system/prettier.js +4 -3
  323. package/src/lib/design/system/prettier.js.map +1 -1
  324. package/src/lib/design/system/problem.d.ts +6 -0
  325. package/src/lib/design/system/product.js +2 -2
  326. package/src/lib/design/system/product.js.map +1 -1
  327. package/src/lib/design/system/ready-command.d.ts +1 -1
  328. package/src/lib/design/system/ready-command.js +24 -4
  329. package/src/lib/design/system/ready-command.js.map +1 -1
  330. package/src/lib/design/system/record-settled.d.ts +24 -0
  331. package/src/lib/design/system/record-settled.js +50 -0
  332. package/src/lib/design/system/record-settled.js.map +1 -0
  333. package/src/lib/design/system/render-check.d.ts +18 -1
  334. package/src/lib/design/system/render-check.js +164 -104
  335. package/src/lib/design/system/render-check.js.map +1 -1
  336. package/src/lib/design/system/render-issue-key.d.ts +9 -0
  337. package/src/lib/design/system/render-issue-key.js +27 -0
  338. package/src/lib/design/system/render-issue-key.js.map +1 -0
  339. package/src/lib/design/system/resolve-product.d.ts +4 -1
  340. package/src/lib/design/system/resolve-product.js +14 -3
  341. package/src/lib/design/system/resolve-product.js.map +1 -1
  342. package/src/lib/design/system/rule-baseline.d.ts +53 -0
  343. package/src/lib/design/system/rule-baseline.js +124 -0
  344. package/src/lib/design/system/rule-baseline.js.map +1 -0
  345. package/src/lib/design/system/rule-skips.d.ts +20 -0
  346. package/src/lib/design/system/rule-skips.js +36 -0
  347. package/src/lib/design/system/rule-skips.js.map +1 -0
  348. package/src/lib/design/system/rules/canonical-class.d.ts +4 -0
  349. package/src/lib/design/system/rules/canonical-class.js +66 -13
  350. package/src/lib/design/system/rules/canonical-class.js.map +1 -1
  351. package/src/lib/design/system/rules/capability-place.d.ts +4 -2
  352. package/src/lib/design/system/rules/capability-place.js +15 -2
  353. package/src/lib/design/system/rules/capability-place.js.map +1 -1
  354. package/src/lib/design/system/rules/command-text.d.ts +7 -0
  355. package/src/lib/design/system/rules/command-text.js +72 -0
  356. package/src/lib/design/system/rules/command-text.js.map +1 -0
  357. package/src/lib/design/system/rules/design-coverage.d.ts +30 -0
  358. package/src/lib/design/system/rules/design-coverage.js +205 -0
  359. package/src/lib/design/system/rules/design-coverage.js.map +1 -0
  360. package/src/lib/design/system/rules/glued-interpolation.js +17 -1
  361. package/src/lib/design/system/rules/glued-interpolation.js.map +1 -1
  362. package/src/lib/design/system/rules/implements-unrendered.d.ts +13 -0
  363. package/src/lib/design/system/rules/implements-unrendered.js +63 -0
  364. package/src/lib/design/system/rules/implements-unrendered.js.map +1 -0
  365. package/src/lib/design/system/rules/motion.js +6 -0
  366. package/src/lib/design/system/rules/motion.js.map +1 -1
  367. package/src/lib/design/system/rules/native-title.js +13 -3
  368. package/src/lib/design/system/rules/native-title.js.map +1 -1
  369. package/src/lib/design/system/rules/option-values.d.ts +1 -1
  370. package/src/lib/design/system/rules/pending-state.d.ts +39 -0
  371. package/src/lib/design/system/rules/pending-state.js +289 -0
  372. package/src/lib/design/system/rules/pending-state.js.map +1 -0
  373. package/src/lib/design/system/rules/sdk-attribute-value.d.ts +10 -0
  374. package/src/lib/design/system/rules/sdk-attribute-value.js +78 -0
  375. package/src/lib/design/system/rules/sdk-attribute-value.js.map +1 -0
  376. package/src/lib/design/system/rules/sdk-private-var.d.ts +9 -0
  377. package/src/lib/design/system/rules/sdk-private-var.js +54 -0
  378. package/src/lib/design/system/rules/sdk-private-var.js.map +1 -0
  379. package/src/lib/design/system/rules/skips.d.ts +4 -0
  380. package/src/lib/design/system/rules/skips.js +27 -0
  381. package/src/lib/design/system/rules/skips.js.map +1 -0
  382. package/src/lib/design/system/rules/stale-replace.js +1 -0
  383. package/src/lib/design/system/rules/stale-replace.js.map +1 -1
  384. package/src/lib/design/system/rules/tailwind-classes.d.ts +1 -0
  385. package/src/lib/design/system/rules/tailwind-classes.js +11 -6
  386. package/src/lib/design/system/rules/tailwind-classes.js.map +1 -1
  387. package/src/lib/design/system/rules/token-selectors.js +10 -3
  388. package/src/lib/design/system/rules/token-selectors.js.map +1 -1
  389. package/src/lib/design/system/rules/unbound-input-known.d.ts +2 -0
  390. package/src/lib/design/system/rules/unbound-input-known.js +3 -6
  391. package/src/lib/design/system/rules/unbound-input-known.js.map +1 -1
  392. package/src/lib/design/system/rules/unbound-input.d.ts +2 -0
  393. package/src/lib/design/system/rules/unbound-input.js +12 -6
  394. package/src/lib/design/system/rules/unbound-input.js.map +1 -1
  395. package/src/lib/design/system/rules/undefined-class.js +11 -2
  396. package/src/lib/design/system/rules/undefined-class.js.map +1 -1
  397. package/src/lib/design/system/rules/utility-css.js +13 -1
  398. package/src/lib/design/system/rules/utility-css.js.map +1 -1
  399. package/src/lib/design/system/rules/visible-change.d.ts +1 -2
  400. package/src/lib/design/system/rules/visible-change.js +3 -3
  401. package/src/lib/design/system/rules/visible-change.js.map +1 -1
  402. package/src/lib/design/system/sdk-declarations.d.ts +10 -0
  403. package/src/lib/design/system/sdk-declarations.js +177 -0
  404. package/src/lib/design/system/sdk-declarations.js.map +1 -0
  405. package/src/lib/design/system/sdk-selectors.d.ts +18 -0
  406. package/src/lib/design/system/sdk-selectors.js +131 -0
  407. package/src/lib/design/system/sdk-selectors.js.map +1 -0
  408. package/src/lib/design/system/served-cache.d.ts +99 -0
  409. package/src/lib/design/system/served-cache.js +202 -0
  410. package/src/lib/design/system/served-cache.js.map +1 -0
  411. package/src/lib/design/system/settled-panes.d.ts +8 -3
  412. package/src/lib/design/system/settled-panes.js +10 -9
  413. package/src/lib/design/system/settled-panes.js.map +1 -1
  414. package/src/lib/design/system/sketch/baseline.d.ts +17 -1
  415. package/src/lib/design/system/sketch/baseline.js +48 -7
  416. package/src/lib/design/system/sketch/baseline.js.map +1 -1
  417. package/src/lib/design/system/sketch/check-format.js +3 -9
  418. package/src/lib/design/system/sketch/check-format.js.map +1 -1
  419. package/src/lib/design/system/sketch/clean-copy.d.ts +18 -0
  420. package/src/lib/design/system/sketch/clean-copy.js +104 -0
  421. package/src/lib/design/system/sketch/clean-copy.js.map +1 -0
  422. package/src/lib/design/system/sketch/cli-args.d.ts +1 -1
  423. package/src/lib/design/system/sketch/cli-args.js +2 -2
  424. package/src/lib/design/system/sketch/cli-args.js.map +1 -1
  425. package/src/lib/design/system/sketch/covered-diffs.d.ts +40 -0
  426. package/src/lib/design/system/sketch/covered-diffs.js +106 -0
  427. package/src/lib/design/system/sketch/covered-diffs.js.map +1 -0
  428. package/src/lib/design/system/sketch/edit-sketch.d.ts +14 -6
  429. package/src/lib/design/system/sketch/edit-sketch.js +87 -35
  430. package/src/lib/design/system/sketch/edit-sketch.js.map +1 -1
  431. package/src/lib/design/system/sketch/identical-renders.js +20 -14
  432. package/src/lib/design/system/sketch/identical-renders.js.map +1 -1
  433. package/src/lib/design/system/sketch/merge-commit.d.ts +20 -0
  434. package/src/lib/design/system/sketch/merge-commit.js +72 -0
  435. package/src/lib/design/system/sketch/merge-commit.js.map +1 -0
  436. package/src/lib/design/system/sketch/merge-runner.d.ts +20 -0
  437. package/src/lib/design/system/sketch/merge-runner.js +73 -0
  438. package/src/lib/design/system/sketch/merge-runner.js.map +1 -0
  439. package/src/lib/design/system/sketch/merge-step.d.ts +14 -2
  440. package/src/lib/design/system/sketch/merge-step.js +24 -12
  441. package/src/lib/design/system/sketch/merge-step.js.map +1 -1
  442. package/src/lib/design/system/sketch/merge-worker.d.ts +1 -0
  443. package/src/lib/design/system/sketch/merge-worker.js +14 -0
  444. package/src/lib/design/system/sketch/merge-worker.js.map +1 -0
  445. package/src/lib/design/system/sketch/merge.d.ts +10 -3
  446. package/src/lib/design/system/sketch/merge.js +180 -90
  447. package/src/lib/design/system/sketch/merge.js.map +1 -1
  448. package/src/lib/design/system/sketch/merged-parts.d.ts +0 -29
  449. package/src/lib/design/system/sketch/merged-parts.js +8 -56
  450. package/src/lib/design/system/sketch/merged-parts.js.map +1 -1
  451. package/src/lib/design/system/sketch/note-language.d.ts +7 -0
  452. package/src/lib/design/system/sketch/note-language.js +83 -0
  453. package/src/lib/design/system/sketch/note-language.js.map +1 -0
  454. package/src/lib/design/system/sketch/part-definition.d.ts +6 -0
  455. package/src/lib/design/system/sketch/part-definition.js +31 -1
  456. package/src/lib/design/system/sketch/part-definition.js.map +1 -1
  457. package/src/lib/design/system/sketch/rebase-port.js +47 -2
  458. package/src/lib/design/system/sketch/rebase-port.js.map +1 -1
  459. package/src/lib/design/system/sketch/sketch-check-cache.d.ts +11 -0
  460. package/src/lib/design/system/sketch/sketch-check-cache.js +22 -0
  461. package/src/lib/design/system/sketch/sketch-check-cache.js.map +1 -0
  462. package/src/lib/design/system/sketch/sketch-check-worker.js +6 -1
  463. package/src/lib/design/system/sketch/sketch-check-worker.js.map +1 -1
  464. package/src/lib/design/system/sketch/sketch-checker.d.ts +14 -1
  465. package/src/lib/design/system/sketch/sketch-checker.js +16 -6
  466. package/src/lib/design/system/sketch/sketch-checker.js.map +1 -1
  467. package/src/lib/design/system/sketch/sketch.d.ts +37 -6
  468. package/src/lib/design/system/sketch/sketch.js +101 -13
  469. package/src/lib/design/system/sketch/sketch.js.map +1 -1
  470. package/src/lib/design/system/sketch/stale-base.js +1 -1
  471. package/src/lib/design/system/sketch/stale-base.js.map +1 -1
  472. package/src/lib/design/system/sketch/unchanged-states.d.ts +7 -3
  473. package/src/lib/design/system/sketch/unchanged-states.js +25 -12
  474. package/src/lib/design/system/sketch/unchanged-states.js.map +1 -1
  475. package/src/lib/design/system/sketch/viewed-shots.d.ts +10 -2
  476. package/src/lib/design/system/sketch/viewed-shots.js +15 -22
  477. package/src/lib/design/system/sketch/viewed-shots.js.map +1 -1
  478. package/src/lib/design/system/skip-classes.d.ts +3 -0
  479. package/src/lib/design/system/skip-classes.js +17 -0
  480. package/src/lib/design/system/skip-classes.js.map +1 -0
  481. package/src/lib/design/system/slot-hosts.d.ts +38 -0
  482. package/src/lib/design/system/slot-hosts.js +93 -0
  483. package/src/lib/design/system/slot-hosts.js.map +1 -0
  484. package/src/lib/design/system/slow-checks.d.ts +4 -0
  485. package/src/lib/design/system/slow-checks.js +77 -24
  486. package/src/lib/design/system/slow-checks.js.map +1 -1
  487. package/src/lib/design/system/slow-run.d.ts +15 -5
  488. package/src/lib/design/system/slow-run.js +143 -84
  489. package/src/lib/design/system/slow-run.js.map +1 -1
  490. package/src/lib/design/system/stale-dist.d.ts +37 -1
  491. package/src/lib/design/system/stale-dist.js +58 -8
  492. package/src/lib/design/system/stale-dist.js.map +1 -1
  493. package/src/lib/design/system/stale-parts.d.ts +15 -0
  494. package/src/lib/design/system/stale-parts.js +67 -5
  495. package/src/lib/design/system/stale-parts.js.map +1 -1
  496. package/src/lib/design/system/system-command.js +3 -3
  497. package/src/lib/design/system/system-command.js.map +1 -1
  498. package/src/lib/design/system/system-modules.d.ts +4 -4
  499. package/src/lib/design/system/system-tsconfig.d.ts +9 -2
  500. package/src/lib/design/system/system-tsconfig.js +73 -13
  501. package/src/lib/design/system/system-tsconfig.js.map +1 -1
  502. package/src/lib/design/system/task-command.d.ts +3 -2
  503. package/src/lib/design/system/task-command.js +111 -73
  504. package/src/lib/design/system/task-command.js.map +1 -1
  505. package/src/lib/design/system/touched-parts.d.ts +1 -1
  506. package/src/lib/design/system/touched-parts.js +4 -5
  507. package/src/lib/design/system/touched-parts.js.map +1 -1
  508. package/src/lib/design/system/tracked-reads.d.ts +27 -0
  509. package/src/lib/design/system/tracked-reads.js +100 -0
  510. package/src/lib/design/system/tracked-reads.js.map +1 -0
  511. package/src/lib/design/system/unchanged-rows.d.ts +17 -8
  512. package/src/lib/design/system/unchanged-rows.js +90 -12
  513. package/src/lib/design/system/unchanged-rows.js.map +1 -1
  514. package/src/lib/design/system/uncommitted-decisions.d.ts +0 -2
  515. package/src/lib/design/system/uncommitted-decisions.js +3 -6
  516. package/src/lib/design/system/uncommitted-decisions.js.map +1 -1
  517. package/src/lib/design/system/visible-change-command.d.ts +13 -1
  518. package/src/lib/design/system/visible-change-command.js +10 -8
  519. package/src/lib/design/system/visible-change-command.js.map +1 -1
  520. package/src/lib/design/system/visible-change-parts.d.ts +1 -1
  521. package/src/lib/design/system/write-origin.d.ts +12 -0
  522. package/src/lib/design/system/write-origin.js +18 -0
  523. package/src/lib/design/system/write-origin.js.map +1 -0
  524. package/src/lib/design/system-use.js +4 -4
  525. package/src/lib/design/system-use.js.map +1 -1
  526. package/src/lib/design/thumb.d.ts +19 -3
  527. package/src/lib/design/thumb.js +71 -9
  528. package/src/lib/design/thumb.js.map +1 -1
  529. package/src/lib/design/timings-command.d.ts +22 -0
  530. package/src/lib/design/timings-command.js +175 -0
  531. package/src/lib/design/timings-command.js.map +1 -0
  532. package/src/lib/design/timings.d.ts +117 -0
  533. package/src/lib/design/timings.js +296 -0
  534. package/src/lib/design/timings.js.map +1 -0
  535. package/src/lib/design/typecheck.js +2 -2
  536. package/src/lib/design/typecheck.js.map +1 -1
  537. package/src/lib/design/vite-cache.d.ts +11 -0
  538. package/src/lib/design/vite-cache.js +61 -0
  539. package/src/lib/design/vite-cache.js.map +1 -0
  540. package/src/lib/design/warm-draw.d.ts +33 -0
  541. package/src/lib/design/warm-draw.js +74 -0
  542. package/src/lib/design/warm-draw.js.map +1 -0
  543. package/src/lib/design/warm-pages.d.ts +10 -2
  544. package/src/lib/design/warm-pages.js +6 -2
  545. package/src/lib/design/warm-pages.js.map +1 -1
  546. package/src/lib/design/work-root.d.ts +2 -0
  547. package/src/lib/design/work-root.js +8 -0
  548. package/src/lib/design/work-root.js.map +1 -0
  549. package/src/lib/plain-output.d.ts +27 -0
  550. package/src/lib/plain-output.js +66 -0
  551. package/src/lib/plain-output.js.map +1 -0
  552. package/src/lib/release.js +11 -3
  553. package/src/lib/release.js.map +1 -1
  554. package/src/lib/update/commits.js +2 -2
  555. package/src/lib/update/commits.js.map +1 -1
  556. package/src/lib/update/packages.js +4 -2
  557. package/src/lib/update/packages.js.map +1 -1
  558. package/src/lib/update/scan.js +8 -2
  559. package/src/lib/update/scan.js.map +1 -1
  560. package/src/lib/design/paths.js +0 -138
  561. package/src/lib/design/paths.js.map +0 -1
  562. package/src/lib/design/system/accept-command.d.ts +0 -41
  563. package/src/lib/design/system/accept-command.js +0 -139
  564. package/src/lib/design/system/accept-command.js.map +0 -1
  565. package/src/lib/design/system/go-batch.d.ts +0 -24
  566. package/src/lib/design/system/go-batch.js +0 -110
  567. package/src/lib/design/system/go-batch.js.map +0 -1
  568. package/src/lib/design/system/go-command.d.ts +0 -4
  569. package/src/lib/design/system/go-command.js +0 -64
  570. package/src/lib/design/system/go-command.js.map +0 -1
  571. package/src/lib/design/system/go-guard.d.ts +0 -26
  572. package/src/lib/design/system/go-guard.js +0 -70
  573. package/src/lib/design/system/go-guard.js.map +0 -1
  574. package/src/lib/design/system/go-step.d.ts +0 -13
  575. package/src/lib/design/system/go-step.js +0 -84
  576. package/src/lib/design/system/go-step.js.map +0 -1
  577. package/src/lib/design/system/part-go.d.ts +0 -70
  578. package/src/lib/design/system/part-go.js +0 -94
  579. package/src/lib/design/system/part-go.js.map +0 -1
  580. package/src/lib/design/system/tom-confirm.d.ts +0 -40
  581. package/src/lib/design/system/tom-confirm.js +0 -55
  582. package/src/lib/design/system/tom-confirm.js.map +0 -1
@@ -0,0 +1,28 @@
1
+ import { RenderIssue } from './render-check';
2
+ import { ResolvedProduct } from './resolve-product';
3
+ /** The render issues a part showed at a commit, drawn while its inputs had no change from that commit. */
4
+ export type BaseIssuesEntry = {
5
+ commit: string;
6
+ issues: RenderIssue[];
7
+ };
8
+ /** The base issues of each part of a product, by part key. */
9
+ export type BaseIssues = Record<string, BaseIssuesEntry>;
10
+ /** A drawn part: its key, and the repo-relative files and folders (ending in `/`) its drawing reads. */
11
+ export type DrawnPartInputs = {
12
+ part: string;
13
+ inputs: string[];
14
+ };
15
+ /** The gitignored file that holds a product's base issues, next to its slow results. */
16
+ export declare const baseIssuesFileOf: (product: ResolvedProduct) => string;
17
+ /**
18
+ * Splits the render issues of a run into new and old (ADR 0095): an issue is old when HEAD already shows it. A drawn
19
+ * part whose inputs the working tree does not change shows HEAD itself, so all its issues are old, and they are stored
20
+ * in `file` as the part's base. A part the working tree changes compares against its stored base, which holds only
21
+ * while no commit since changed its inputs; without one, every issue counts as new.
22
+ */
23
+ export declare const oldRenderIssuesOf: (options: {
24
+ root: string;
25
+ file: string;
26
+ parts: DrawnPartInputs[];
27
+ issues: RenderIssue[];
28
+ }) => Set<RenderIssue>;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.oldRenderIssuesOf = exports.baseIssuesFileOf = void 0;
4
+ const child_process_1 = require("child_process");
5
+ const fs_1 = require("fs");
6
+ const path_1 = require("path");
7
+ const reachable_files_1 = require("./reachable-files");
8
+ const render_issue_key_1 = require("./render-issue-key");
9
+ /** The gitignored file that holds a product's base issues, next to its slow results. */
10
+ const baseIssuesFileOf = (product) => (0, path_1.join)((0, reachable_files_1.repoRootOf)(product), 'node_modules', '.cache', 'ethlete-design', product.name, 'base-issues.json');
11
+ exports.baseIssuesFileOf = baseIssuesFileOf;
12
+ const gitLinesOf = (root, args) => {
13
+ try {
14
+ return (0, child_process_1.execFileSync)('git', args, { cwd: root, encoding: 'utf8', stdio: 'pipe' })
15
+ .split('\n')
16
+ .filter((line) => line !== '');
17
+ }
18
+ catch (_a) {
19
+ return null;
20
+ }
21
+ };
22
+ const readBaseIssues = (file) => {
23
+ try {
24
+ const parsed = JSON.parse((0, fs_1.readFileSync)(file, 'utf8'));
25
+ return parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : {};
26
+ }
27
+ catch (_a) {
28
+ return {};
29
+ }
30
+ };
31
+ const touches = (changed, inputs) => changed.some((path) => inputs.some((input) => (input.endsWith('/') ? path.startsWith(input) : path === input)));
32
+ /**
33
+ * Splits the render issues of a run into new and old (ADR 0095): an issue is old when HEAD already shows it. A drawn
34
+ * part whose inputs the working tree does not change shows HEAD itself, so all its issues are old, and they are stored
35
+ * in `file` as the part's base. A part the working tree changes compares against its stored base, which holds only
36
+ * while no commit since changed its inputs; without one, every issue counts as new.
37
+ */
38
+ const oldRenderIssuesOf = (options) => {
39
+ var _a, _b, _c;
40
+ const { root, file, parts, issues } = options;
41
+ const head = (_a = gitLinesOf(root, ['rev-parse', 'HEAD'])) === null || _a === void 0 ? void 0 : _a[0];
42
+ const dirty = [
43
+ ...((_b = gitLinesOf(root, ['diff', '--name-only', '--no-renames', 'HEAD'])) !== null && _b !== void 0 ? _b : []),
44
+ ...((_c = gitLinesOf(root, ['ls-files', '--others', '--exclude-standard'])) !== null && _c !== void 0 ? _c : []),
45
+ ];
46
+ if (!head)
47
+ return new Set();
48
+ const stored = readBaseIssues(file);
49
+ const changedSince = new Map();
50
+ const changedSinceOf = (commit) => {
51
+ var _a;
52
+ if (!changedSince.has(commit))
53
+ changedSince.set(commit, gitLinesOf(root, ['diff', '--name-only', '--no-renames', commit, 'HEAD']));
54
+ return (_a = changedSince.get(commit)) !== null && _a !== void 0 ? _a : null;
55
+ };
56
+ const old = new Set();
57
+ let written = false;
58
+ for (const { part, inputs } of parts) {
59
+ const own = issues.filter((issue) => issue.part === part);
60
+ if (!touches(dirty, inputs)) {
61
+ own.forEach((issue) => old.add(issue));
62
+ stored[part] = { commit: head, issues: own };
63
+ written = true;
64
+ continue;
65
+ }
66
+ const base = stored[part];
67
+ const since = base ? changedSinceOf(base.commit) : null;
68
+ if (!base || !since || touches(since, inputs))
69
+ continue;
70
+ const keys = new Set(base.issues.map((issue) => (0, render_issue_key_1.sameRenderIssueKeyOf)(issue, null)));
71
+ own.filter((issue) => keys.has((0, render_issue_key_1.sameRenderIssueKeyOf)(issue, null))).forEach((issue) => old.add(issue));
72
+ }
73
+ if (written) {
74
+ (0, fs_1.mkdirSync)((0, path_1.dirname)(file), { recursive: true });
75
+ (0, fs_1.writeFileSync)(file, `${JSON.stringify(stored, null, 2)}\n`);
76
+ }
77
+ return old;
78
+ };
79
+ exports.oldRenderIssuesOf = oldRenderIssuesOf;
80
+ //# sourceMappingURL=base-issues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-issues.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/base-issues.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { DesignProduct } from '../paths';
1
+ import { DesignProduct } from '../design-config';
2
2
  import { Problem } from './problem';
3
3
  /** A product folder together with its entry in the `config.json` that declares it. */
4
4
  export type ProductSource = {
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.loadBase = exports.baseDirOf = exports.isBuiltInBase = void 0;
4
4
  const fs_1 = require("fs");
5
5
  const path_1 = require("path");
6
- const paths_1 = require("../paths");
6
+ const package_root_1 = require("../package-root");
7
7
  const BUILT_IN_BASES = {
8
8
  '@ethlete/components': 'systems/ethlete-components',
9
9
  };
@@ -11,7 +11,7 @@ const isBuiltInBase = (base) => base in BUILT_IN_BASES;
11
11
  exports.isBuiltInBase = isBuiltInBase;
12
12
  const baseDirOf = (options) => {
13
13
  const builtIn = BUILT_IN_BASES[options.base];
14
- return builtIn ? (0, path_1.resolve)((0, paths_1.assetRoot)(), builtIn) : (0, path_1.resolve)(options.target, options.base);
14
+ return builtIn ? (0, path_1.resolve)((0, package_root_1.assetRoot)(), builtIn) : (0, path_1.resolve)(options.target, options.base);
15
15
  };
16
16
  exports.baseDirOf = baseDirOf;
17
17
  const configFileAbove = (dir) => {
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/base.ts"],"names":[],"mappings":";;;AAAA,2BAA8C;AAC9C,+BAAkD;AAClD,oCAAkE;AAMlE,MAAM,cAAc,GAA2B;IAC7C,qBAAqB,EAAE,4BAA4B;CACpD,CAAC;AAEK,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,IAAI,cAAc,CAAC;AAAzD,QAAA,aAAa,iBAA4C;AAE/D,MAAM,SAAS,GAAG,CAAC,OAAyC,EAAE,EAAE;IACrE,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C,OAAO,OAAO,CAAC,CAAC,CAAC,IAAA,cAAO,EAAC,IAAA,iBAAS,GAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAA,cAAO,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AACzF,CAAC,CAAC;AAJW,QAAA,SAAS,aAIpB;AAEF,MAAM,eAAe,GAAG,CAAC,GAAW,EAAiB,EAAE;IACrD,MAAM,IAAI,GAAG,IAAA,cAAO,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAEzC,IAAI,IAAA,eAAU,EAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,MAAM,GAAG,IAAA,cAAO,EAAC,GAAG,CAAC,CAAC;IAE5B,OAAO,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF;;;GAGG;AACI,MAAM,QAAQ,GAAG,CAAC,OAA6D,EAAE,EAAE;;IACxF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAA,iBAAS,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAE/G,IAAI,CAAC,IAAA,eAAU,EAAC,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC,SAAS,IAAI,mBAAmB,GAAG,GAAG,CAAC,CAAC;IAE7E,MAAM,cAAc,GAAG,eAAe,CAAC,IAAA,cAAO,EAAC,GAAG,CAAC,CAAC,CAAC;IAErD,IAAI,CAAC,cAAc;QAAE,OAAO,OAAO,CAAC,SAAS,IAAI,wCAAwC,CAAC,CAAC;IAE3F,MAAM,IAAI,GAAG,IAAA,eAAQ,EAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,MAAC,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,cAAc,EAAE,MAAM,CAAC,CAAkB,CAAC,QAAQ,0CAAG,IAAI,CAAC,CAAC;IAEnG,IAAI,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC,SAAS,IAAI,MAAM,cAAc,yBAAyB,IAAI,GAAG,CAAC,CAAC;IAC/F,IAAI,MAAM,CAAC,IAAI;QAAE,OAAO,OAAO,CAAC,SAAS,IAAI,cAAc,MAAM,CAAC,IAAI,sCAAsC,CAAC,CAAC;IAE9G,MAAM,MAAM,GAAkB,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;IAChF,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AACpC,CAAC,CAAC;AArBW,QAAA,QAAQ,YAqBnB"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/base.ts"],"names":[],"mappings":";;;AAAA,2BAA8C;AAC9C,+BAAkD;AAElD,kDAA4C;AAM5C,MAAM,cAAc,GAA2B;IAC7C,qBAAqB,EAAE,4BAA4B;CACpD,CAAC;AAEK,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,IAAI,cAAc,CAAC;AAAzD,QAAA,aAAa,iBAA4C;AAE/D,MAAM,SAAS,GAAG,CAAC,OAAyC,EAAE,EAAE;IACrE,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C,OAAO,OAAO,CAAC,CAAC,CAAC,IAAA,cAAO,EAAC,IAAA,wBAAS,GAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAA,cAAO,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AACzF,CAAC,CAAC;AAJW,QAAA,SAAS,aAIpB;AAEF,MAAM,eAAe,GAAG,CAAC,GAAW,EAAiB,EAAE;IACrD,MAAM,IAAI,GAAG,IAAA,cAAO,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAEzC,IAAI,IAAA,eAAU,EAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,MAAM,GAAG,IAAA,cAAO,EAAC,GAAG,CAAC,CAAC;IAE5B,OAAO,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF;;;GAGG;AACI,MAAM,QAAQ,GAAG,CAAC,OAA6D,EAAE,EAAE;;IACxF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAA,iBAAS,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAE/G,IAAI,CAAC,IAAA,eAAU,EAAC,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC,SAAS,IAAI,mBAAmB,GAAG,GAAG,CAAC,CAAC;IAE7E,MAAM,cAAc,GAAG,eAAe,CAAC,IAAA,cAAO,EAAC,GAAG,CAAC,CAAC,CAAC;IAErD,IAAI,CAAC,cAAc;QAAE,OAAO,OAAO,CAAC,SAAS,IAAI,wCAAwC,CAAC,CAAC;IAE3F,MAAM,IAAI,GAAG,IAAA,eAAQ,EAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,MAAC,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,cAAc,EAAE,MAAM,CAAC,CAAkB,CAAC,QAAQ,0CAAG,IAAI,CAAC,CAAC;IAEnG,IAAI,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC,SAAS,IAAI,MAAM,cAAc,yBAAyB,IAAI,GAAG,CAAC,CAAC;IAC/F,IAAI,MAAM,CAAC,IAAI;QAAE,OAAO,OAAO,CAAC,SAAS,IAAI,cAAc,MAAM,CAAC,IAAI,sCAAsC,CAAC,CAAC;IAE9G,MAAM,MAAM,GAAkB,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;IAChF,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AACpC,CAAC,CAAC;AArBW,QAAA,QAAQ,YAqBnB"}
@@ -0,0 +1,13 @@
1
+ /** The entries of a baseline file's text, each as its name and the identity a committed version must hold. */
2
+ export type BaselineIdentitiesOf = (text: string) => [name: string, identity: string][];
3
+ /**
4
+ * The names of the entries of the baseline `file` whose identity is not in every committed version of it, so the list
5
+ * may only shrink: an entry added, added back or changed after the file was first committed counts. An uncommitted
6
+ * file adds none. With `groupOf`, only a version that holds an identity of the same group counts, so a new group may
7
+ * start with entries.
8
+ */
9
+ export declare const addedBaselineNamesOf: (options: {
10
+ file: string;
11
+ identitiesOf: BaselineIdentitiesOf;
12
+ groupOf?: (identity: string) => string;
13
+ }) => string[];
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addedBaselineNamesOf = void 0;
4
+ const child_process_1 = require("child_process");
5
+ const fs_1 = require("fs");
6
+ const path_1 = require("path");
7
+ /**
8
+ * The names of the entries of the baseline `file` whose identity is not in every committed version of it, so the list
9
+ * may only shrink: an entry added, added back or changed after the file was first committed counts. An uncommitted
10
+ * file adds none. With `groupOf`, only a version that holds an identity of the same group counts, so a new group may
11
+ * start with entries.
12
+ */
13
+ const addedBaselineNamesOf = (options) => {
14
+ const { file, identitiesOf, groupOf } = options;
15
+ if (!(0, fs_1.existsSync)(file))
16
+ return [];
17
+ const git = (args) => (0, child_process_1.execFileSync)('git', args, { cwd: (0, path_1.dirname)(file), maxBuffer: 1 << 26, stdio: ['ignore', 'pipe', 'pipe'] }).toString();
18
+ const path = `./${(0, path_1.basename)(file)}`;
19
+ let versions;
20
+ try {
21
+ versions = git(['log', '--format=%H', '--', path]).split('\n').filter(Boolean);
22
+ }
23
+ catch (_a) {
24
+ return [];
25
+ }
26
+ const committed = versions.map((sha) => {
27
+ try {
28
+ return new Set(identitiesOf(git(['show', `${sha}:${path}`])).map(([, identity]) => identity));
29
+ }
30
+ catch (_a) {
31
+ return new Set();
32
+ }
33
+ });
34
+ return identitiesOf((0, fs_1.readFileSync)(file, 'utf8'))
35
+ .filter(([, identity]) => committed.some((set) => !set.has(identity) && (!groupOf || [...set].some((other) => groupOf(other) === groupOf(identity)))))
36
+ .map(([name]) => name)
37
+ .sort((a, b) => a.localeCompare(b));
38
+ };
39
+ exports.addedBaselineNamesOf = addedBaselineNamesOf;
40
+ //# sourceMappingURL=baseline-history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseline-history.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/baseline-history.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAC7C,2BAA8C;AAC9C,+BAAyC;AAKzC;;;;;GAKG;AACI,MAAM,oBAAoB,GAAG,CAAC,OAIpC,EAAE,EAAE;IACH,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEhD,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,GAAG,GAAG,CAAC,IAAc,EAAE,EAAE,CAC7B,IAAA,4BAAY,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAA,cAAO,EAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtH,MAAM,IAAI,GAAG,KAAK,IAAA,eAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;IACnC,IAAI,QAAkB,CAAC;IAEvB,IAAI,CAAC;QACH,QAAQ,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjF,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACrC,IAAI,CAAC;YACH,OAAO,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChG,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,IAAI,GAAG,EAAU,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CACvB,SAAS,CAAC,IAAI,CACZ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC5G,CACF;SACA,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;SACrB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC;AApCW,QAAA,oBAAoB,wBAoC/B"}
@@ -1,6 +1,7 @@
1
- import { DesignConfig } from '../paths';
1
+ import { DesignConfig } from '../design-config';
2
2
  import { Problem } from './problem';
3
3
  import { ResolvedProduct } from './resolve-product';
4
+ import { WarmDraw } from '../warm-draw';
4
5
  export type BespokeControl = {
5
6
  id: string;
6
7
  why: string;
@@ -27,4 +28,6 @@ export declare const bespokeControlProblemsOf: (options: {
27
28
  config: DesignConfig;
28
29
  product: ResolvedProduct;
29
30
  part?: string;
31
+ parts?: readonly string[];
32
+ warm?: WarmDraw;
30
33
  }) => Promise<Problem[]>;
@@ -11,13 +11,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.bespokeControlProblemsOf = exports.bespokeControlMessageOf = exports.composedControlsOf = exports.BESPOKE_CONTROLS_IN = void 0;
13
13
  const browser_1 = require("../browser");
14
- const serve_1 = require("../serve");
15
14
  const shot_1 = require("../shot");
16
- const thumb_1 = require("../thumb");
17
- const compare_command_1 = require("./compare-command");
15
+ const build_ready_contract_1 = require("./build-ready-contract");
16
+ const harness_shot_1 = require("./harness-shot");
18
17
  const complete_1 = require("./complete");
19
18
  const resolve_product_1 = require("./resolve-product");
20
19
  const system_modules_1 = require("./system-modules");
20
+ const warm_draw_1 = require("../warm-draw");
21
21
  /**
22
22
  * Browser source of `({ root, part, ids }) => BespokeControl[]`: why each control of `ids` that `part` draws itself
23
23
  * under `root` is no SDK component used through its props - an element with no `et-` class, `et-` classes mixed with
@@ -66,82 +66,84 @@ exports.bespokeControlMessageOf = bespokeControlMessageOf;
66
66
  * from the drawn states until every own control was seen.
67
67
  */
68
68
  const bespokeControlProblemsOf = (options) => __awaiter(void 0, void 0, void 0, function* () {
69
- var _a, _b, _c;
70
69
  const { target, config, product } = options;
71
- const own = product.parts.filter((part) => part.origin !== 'base' && (!options.part || (0, resolve_product_1.partKeyOf)(part) === options.part));
70
+ const own = product.parts.filter((part) => part.origin !== 'base' &&
71
+ (!options.part || (0, resolve_product_1.partKeyOf)(part) === options.part) &&
72
+ (!options.parts || options.parts.includes((0, resolve_product_1.partKeyOf)(part))));
72
73
  if (own.length === 0 || !(yield (0, browser_1.chromiumOf)(target)))
73
74
  return [];
74
- const queue = (0, thumb_1.createDrawQueue)({ target });
75
- const server = yield (0, serve_1.createDesignServer)({ target, config, listen: true, port: 0 });
76
- let shooter;
77
- try {
78
- yield server.listen();
79
- const { port } = (_a = server.httpServer) === null || _a === void 0 ? void 0 : _a.address();
80
- const partShooter = (shooter = (0, shot_1.createPartShooter)({
81
- target,
82
- base: `http://localhost:${port}`,
83
- system: (0, system_modules_1.createSystemModules)({ target, config }),
84
- queue,
85
- }));
86
- const problems = [];
87
- for (const part of own) {
88
- const key = (0, resolve_product_1.partKeyOf)(part);
89
- const module = (yield server
90
- .ssrLoadModule((0, system_modules_1.productModuleIdOf)({ file: part.file, product: product.name }))
91
- .catch(() => null));
92
- const loaded = (_b = module === null || module === void 0 ? void 0 : module.default) === null || _b === void 0 ? void 0 : _b.states;
93
- const states = loaded && typeof loaded === 'object' && !Array.isArray(loaded) ? Object.keys(loaded) : [];
94
- const ids = (0, exports.composedControlsOf)({ part: key, controls: (_c = module === null || module === void 0 ? void 0 : module.default) === null || _c === void 0 ? void 0 : _c.controls, states });
95
- const frame = (0, compare_command_1.compareFrameOf)({ presets: product.presets, part: key, preset: null });
96
- if (ids.length === 0 || typeof frame === 'string')
75
+ return (0, warm_draw_1.drawingOn)({ target, config, warm: options.warm }, (_a) => __awaiter(void 0, [_a], void 0, function* ({ server, base, queue }) {
76
+ const partShooter = (0, shot_1.createPartShooter)({ target, base, system: (0, system_modules_1.createSystemModules)({ target, config }), queue });
77
+ try {
78
+ return yield bespokeProblemsDrawn({ product, own, server, queue, partShooter });
79
+ }
80
+ finally {
81
+ if (!options.warm)
82
+ yield partShooter.close();
83
+ }
84
+ }));
85
+ });
86
+ exports.bespokeControlProblemsOf = bespokeControlProblemsOf;
87
+ const bespokeProblemsDrawn = (options) => __awaiter(void 0, void 0, void 0, function* () {
88
+ var _a, _b;
89
+ const { product, own, server, queue, partShooter } = options;
90
+ const problems = [];
91
+ for (const part of own) {
92
+ const key = (0, resolve_product_1.partKeyOf)(part);
93
+ const module = (yield server
94
+ .ssrLoadModule((0, system_modules_1.productModuleIdOf)({ file: part.file, product: product.name }))
95
+ .catch(() => null));
96
+ const loaded = (_a = module === null || module === void 0 ? void 0 : module.default) === null || _a === void 0 ? void 0 : _a.states;
97
+ const states = loaded && typeof loaded === 'object' && !Array.isArray(loaded) ? Object.keys(loaded) : [];
98
+ const ids = (0, exports.composedControlsOf)({ part: key, controls: (_b = module === null || module === void 0 ? void 0 : module.default) === null || _b === void 0 ? void 0 : _b.controls, states });
99
+ const frame = (0, harness_shot_1.compareFrameOf)({ presets: product.presets, part: key, preset: null });
100
+ if (ids.length === 0 || typeof frame === 'string')
101
+ continue;
102
+ const unseen = new Set(ids);
103
+ const found = [];
104
+ for (const state of states) {
105
+ if (unseen.size === 0)
106
+ break;
107
+ const { markup } = yield partShooter.pictureOf({
108
+ product: product.name,
109
+ part: key,
110
+ state,
111
+ preset: frame.preset,
112
+ width: null,
113
+ sketch: null,
114
+ interaction: null,
115
+ bare: true,
116
+ emptySlots: true,
117
+ checker: false,
118
+ params: new URLSearchParams(),
119
+ });
120
+ if (markup === undefined)
97
121
  continue;
98
- const unseen = new Set(ids);
99
- const found = [];
100
- for (const state of states) {
101
- if (unseen.size === 0)
102
- break;
103
- const { markup } = yield partShooter.pictureOf({
104
- product: product.name,
105
- part: key,
106
- state,
107
- preset: frame.preset,
108
- width: null,
109
- sketch: null,
110
- interaction: null,
111
- bare: true,
112
- emptySlots: true,
113
- checker: false,
114
- params: new URLSearchParams(),
115
- });
116
- if (markup === undefined)
117
- continue;
118
- const drawn = yield queue.run((browser) => __awaiter(void 0, void 0, void 0, function* () {
119
- const page = yield browser.newPage();
120
- try {
121
- return (yield page.evaluate(`(() => {
122
+ const drawn = yield queue.run((browser) => __awaiter(void 0, void 0, void 0, function* () {
123
+ const page = yield browser.newPage();
124
+ try {
125
+ return (yield page.evaluate(`(() => {
122
126
  const body = new DOMParser().parseFromString(${JSON.stringify(markup)}, 'text/html').body;
123
127
  const seen = [...body.querySelectorAll('[data-et-control]')].map((element) => element.getAttribute('data-et-control'));
124
128
  return { found: ${exports.BESPOKE_CONTROLS_IN}({ root: body, part: ${JSON.stringify(key)}, ids: ${JSON.stringify([...unseen])} }), seen };
125
129
  })()`));
126
- }
127
- finally {
128
- yield page.close();
129
- }
130
- }));
131
- found.push(...drawn.found);
132
- for (const id of drawn.seen)
133
- unseen.delete(id);
134
- }
135
- for (const control of found)
136
- problems.push({ rule: 'CONTROL-STATE', file: part.file, message: (0, exports.bespokeControlMessageOf)(key, control) });
130
+ }
131
+ finally {
132
+ yield page.close();
133
+ }
134
+ }));
135
+ found.push(...drawn.found);
136
+ for (const id of drawn.seen)
137
+ unseen.delete(id);
137
138
  }
138
- return problems;
139
- }
140
- finally {
141
- yield (shooter === null || shooter === void 0 ? void 0 : shooter.close());
142
- yield queue.close();
143
- yield server.close();
139
+ for (const control of found)
140
+ problems.push({
141
+ rule: build_ready_contract_1.CONTROL_STATE_RULE,
142
+ file: part.file,
143
+ message: (0, exports.bespokeControlMessageOf)(key, control),
144
+ at: control.id,
145
+ });
144
146
  }
147
+ return problems;
145
148
  });
146
- exports.bespokeControlProblemsOf = bespokeControlProblemsOf;
147
149
  //# sourceMappingURL=bespoke-controls.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bespoke-controls.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/bespoke-controls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bespoke-controls.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/bespoke-controls.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAAwC;AAExC,kCAA4C;AAC5C,iEAA4D;AAC5D,iDAAgD;AAChD,yCAAoE;AAEpE,uDAA+D;AAC/D,qDAA0E;AAC1E,4CAA4E;AAI5E;;;;GAIG;AACU,QAAA,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BhC,CAAC;AAEJ,8GAA8G;AACvG,MAAM,kBAAkB,GAAG,CAAC,OAA8D,EAAY,EAAE;;IAC7G,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAA,IAAA,6BAAkB,EAAC,OAAO,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAC,CAAC;IAE5E,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,6BAAkB,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpH,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AACnF,CAAC,CAAC;AANW,QAAA,kBAAkB,sBAM7B;AAEK,MAAM,uBAAuB,GAAG,CAAC,IAAY,EAAE,EAAE,EAAE,EAAE,GAAG,EAAkB,EAAE,EAAE,CACnF,YAAY,EAAE,KAAK,GAAG,MAAM,IAAI,sKAAsK,EAAE,oDAAoD,CAAC;AADlP,QAAA,uBAAuB,2BAC2N;AAE/P;;;GAGG;AACI,MAAM,wBAAwB,GAAG,CAAO,OAO9C,EAAsB,EAAE;IACvB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAC9B,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,MAAM,KAAK,MAAM;QACtB,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,IAAA,2BAAS,EAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC;QACnD,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAA,2BAAS,EAAC,IAAI,CAAC,CAAC,CAAC,CAC9D,CAAC;IAEF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,IAAA,oBAAU,EAAC,MAAM,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAE/D,OAAO,IAAA,qBAAS,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,KAAgC,EAAE,4CAA3B,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;QACrF,MAAM,WAAW,GAAG,IAAA,wBAAiB,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAA,oCAAmB,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAEhH,IAAI,CAAC;YACH,OAAO,MAAM,oBAAoB,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QAClF,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,IAAI;gBAAE,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC;QAC/C,CAAC;IACH,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AA3BW,QAAA,wBAAwB,4BA2BnC;AAEF,MAAM,oBAAoB,GAAG,CAAO,OAMnC,EAAE,EAAE;;IACH,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAC7D,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,IAAA,2BAAS,EAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM;aACzB,aAAa,CAAC,IAAA,kCAAiB,EAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;aAC5E,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAkE,CAAC;QACvF,MAAM,MAAM,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,MAAM,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzG,MAAM,GAAG,GAAG,IAAA,0BAAkB,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3F,MAAM,KAAK,GAAG,IAAA,6BAAc,EAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAE5D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAqB,EAAE,CAAC;QAEnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;gBAAE,MAAM;YAE7B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC;gBAC7C,OAAO,EAAE,OAAO,CAAC,IAAI;gBACrB,IAAI,EAAE,GAAG;gBACT,KAAK;gBACL,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,IAAI;gBACjB,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,IAAI,eAAe,EAAE;aAC9B,CAAC,CAAC;YAEH,IAAI,MAAM,KAAK,SAAS;gBAAE,SAAS;YAEnC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAO,OAAO,EAAE,EAAE;gBAC9C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;gBAErC,IAAI,CAAC;oBACH,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CACzB;+DACmD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;;kCAEnD,2BAAmB,wBAAwB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;mBAClH,CACR,CAAgD,CAAC;gBACpD,CAAC;wBAAS,CAAC;oBACT,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;gBACrB,CAAC;YACH,CAAC,CAAA,CAAC,CAAC;YAEH,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAE3B,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI;gBAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,KAAK;YACzB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,yCAAkB;gBACxB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAA,+BAAuB,EAAC,GAAG,EAAE,OAAO,CAAC;gBAC9C,EAAE,EAAE,OAAO,CAAC,EAAE;aACf,CAAC,CAAC;IACP,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAA,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { Problem } from './problem';
2
2
  import { ResolvedProduct } from './resolve-product';
3
- export type BlockerKind = 'stale-record' | 'open-point' | 'action' | 'embedded' | 'problem' | 'compare' | 'sdk-error' | 'pending';
3
+ export type BlockerKind = 'stale-record' | 'open-point' | 'action' | 'embedded' | 'problem' | 'compare' | 'sdk-error' | 'no-harness' | 'pending';
4
4
  /** One reason a part is not build-ready; `part` names the embedded part it comes from, if any. */
5
5
  export type Blocker = {
6
6
  kind: BlockerKind;
@@ -23,5 +23,11 @@ export type SlowProblemsOf = (options: {
23
23
  export declare const COMPARE_RULE = "COMPARE";
24
24
  /** The rule of a slow problem from the harness SDK-error watch; it blocks as `sdk-error`. */
25
25
  export declare const SDK_ERROR_RULE = "SDK-ERROR";
26
+ /** The draw rules, which load or draw each part's states. */
27
+ export declare const CONTROL_STATE_RULE = "CONTROL-STATE";
28
+ export declare const DROPPED_PROP_RULE = "DROPPED-PROP";
29
+ export declare const STATE_NO_SOURCE_RULE = "STATE-NO-SOURCE";
30
+ export declare const VISIBLE_CHANGE_RULE = "VISIBLE-CHANGE";
31
+ export declare const ACTION_LOST_RULE = "ACTION-LOST";
26
32
  export declare const blockerKindOfRule: (rule: string) => BlockerKind;
27
33
  export { slowProblemsOf } from './slow-checks';
@@ -1,10 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.slowProblemsOf = exports.blockerKindOfRule = exports.SDK_ERROR_RULE = exports.COMPARE_RULE = void 0;
3
+ exports.slowProblemsOf = exports.blockerKindOfRule = exports.ACTION_LOST_RULE = exports.VISIBLE_CHANGE_RULE = exports.STATE_NO_SOURCE_RULE = exports.DROPPED_PROP_RULE = exports.CONTROL_STATE_RULE = exports.SDK_ERROR_RULE = exports.COMPARE_RULE = void 0;
4
4
  /** The rule of a slow problem from `design compare`; it blocks as `compare`. */
5
5
  exports.COMPARE_RULE = 'COMPARE';
6
6
  /** The rule of a slow problem from the harness SDK-error watch; it blocks as `sdk-error`. */
7
7
  exports.SDK_ERROR_RULE = 'SDK-ERROR';
8
+ /** The draw rules, which load or draw each part's states. */
9
+ exports.CONTROL_STATE_RULE = 'CONTROL-STATE';
10
+ exports.DROPPED_PROP_RULE = 'DROPPED-PROP';
11
+ exports.STATE_NO_SOURCE_RULE = 'STATE-NO-SOURCE';
12
+ exports.VISIBLE_CHANGE_RULE = 'VISIBLE-CHANGE';
13
+ exports.ACTION_LOST_RULE = 'ACTION-LOST';
8
14
  const blockerKindOfRule = (rule) => rule === exports.COMPARE_RULE ? 'compare' : rule === exports.SDK_ERROR_RULE ? 'sdk-error' : 'problem';
9
15
  exports.blockerKindOfRule = blockerKindOfRule;
10
16
  var slow_checks_1 = require("./slow-checks");
@@ -1 +1 @@
1
- {"version":3,"file":"build-ready-contract.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/build-ready-contract.ts"],"names":[],"mappings":";;;AAeA,gFAAgF;AACnE,QAAA,YAAY,GAAG,SAAS,CAAC;AAEtC,6FAA6F;AAChF,QAAA,cAAc,GAAG,WAAW,CAAC;AAEnC,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAe,EAAE,CAC7D,IAAI,KAAK,oBAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AAD3E,QAAA,iBAAiB,qBAC0D;AAExF,6CAA+C;AAAtC,6GAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"build-ready-contract.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/build-ready-contract.ts"],"names":[],"mappings":";;;AAuBA,gFAAgF;AACnE,QAAA,YAAY,GAAG,SAAS,CAAC;AAEtC,6FAA6F;AAChF,QAAA,cAAc,GAAG,WAAW,CAAC;AAE1C,6DAA6D;AAChD,QAAA,kBAAkB,GAAG,eAAe,CAAC;AAErC,QAAA,iBAAiB,GAAG,cAAc,CAAC;AAEnC,QAAA,oBAAoB,GAAG,iBAAiB,CAAC;AAEzC,QAAA,mBAAmB,GAAG,gBAAgB,CAAC;AAEvC,QAAA,gBAAgB,GAAG,aAAa,CAAC;AAEvC,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAe,EAAE,CAC7D,IAAI,KAAK,oBAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AAD3E,QAAA,iBAAiB,qBAC0D;AAExF,6CAA+C;AAAtC,6GAAA,cAAc,OAAA"}
@@ -0,0 +1,13 @@
1
+ export type RunningProcess = {
2
+ args: string[];
3
+ cwd: string | null;
4
+ };
5
+ /**
6
+ * Whether an `nx build <name>` runs for the build folder `dir`. A process with a known working folder counts only
7
+ * when `dir` lies inside it, so a build in a sibling worktree does not.
8
+ */
9
+ export declare const isBuildRunning: (options: {
10
+ dir: string;
11
+ name: string;
12
+ processes?: () => RunningProcess[];
13
+ }) => boolean;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isBuildRunning = void 0;
4
+ const child_process_1 = require("child_process");
5
+ const fs_1 = require("fs");
6
+ const path_1 = require("path");
7
+ const readProcFs = () => (0, fs_1.readdirSync)('/proc')
8
+ .filter((name) => /^\d+$/.test(name))
9
+ .flatMap((pid) => {
10
+ try {
11
+ const args = (0, fs_1.readFileSync)(`/proc/${pid}/cmdline`, 'utf8').split('\0').filter(Boolean);
12
+ return [{ args, cwd: (0, fs_1.readlinkSync)(`/proc/${pid}/cwd`) }];
13
+ }
14
+ catch (_a) {
15
+ return [];
16
+ }
17
+ });
18
+ const readPs = () => {
19
+ const result = (0, child_process_1.spawnSync)('ps', ['-axo', 'args='], { encoding: 'utf8' });
20
+ return result.status === 0
21
+ ? result.stdout
22
+ .split('\n')
23
+ .filter(Boolean)
24
+ .map((line) => ({ args: line.trim().split(/\s+/), cwd: null }))
25
+ : [];
26
+ };
27
+ const realProcesses = () => {
28
+ try {
29
+ return readProcFs();
30
+ }
31
+ catch (_a) {
32
+ return readPs();
33
+ }
34
+ };
35
+ const isNxBuildOf = (process, name) => {
36
+ const nx = process.args.findIndex((arg) => /(^|[\\/])nx(\.js)?$/.test(arg));
37
+ return nx !== -1 && process.args[nx + 1] === 'build' && process.args[nx + 2] === name;
38
+ };
39
+ /**
40
+ * Whether an `nx build <name>` runs for the build folder `dir`. A process with a known working folder counts only
41
+ * when `dir` lies inside it, so a build in a sibling worktree does not.
42
+ */
43
+ const isBuildRunning = (options) => {
44
+ const { dir, name, processes = realProcesses } = options;
45
+ return processes().some((running) => isNxBuildOf(running, name) && (running.cwd === null || dir === running.cwd || dir.startsWith(running.cwd + path_1.sep)));
46
+ };
47
+ exports.isBuildRunning = isBuildRunning;
48
+ //# sourceMappingURL=build-running.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-running.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/build-running.ts"],"names":[],"mappings":";;;AAAA,iDAA0C;AAC1C,2BAA6D;AAC7D,+BAA2B;AAI3B,MAAM,UAAU,GAAG,GAAqB,EAAE,CACxC,IAAA,gBAAW,EAAC,OAAO,CAAC;KACjB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACpC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;IACf,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAA,iBAAY,EAAC,SAAS,GAAG,UAAU,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEtF,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAA,iBAAY,EAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC,CAAC;AAEP,MAAM,MAAM,GAAG,GAAqB,EAAE;IACpC,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAExE,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC;QACxB,CAAC,CAAC,MAAM,CAAC,MAAM;aACV,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,EAAE,CAAC;AACT,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,GAAqB,EAAE;IAC3C,IAAI,CAAC;QACH,OAAO,UAAU,EAAE,CAAC;IACtB,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,MAAM,EAAE,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,OAAuB,EAAE,IAAY,EAAE,EAAE;IAC5D,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5E,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;AACxF,CAAC,CAAC;AAEF;;;GAGG;AACI,MAAM,cAAc,GAAG,CAAC,OAA0E,EAAE,EAAE;IAC3G,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC;IAEzD,OAAO,SAAS,EAAE,CAAC,IAAI,CACrB,CAAC,OAAO,EAAE,EAAE,CACV,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,GAAG,UAAG,CAAC,CAAC,CACnH,CAAC;AACJ,CAAC,CAAC;AAPW,QAAA,cAAc,kBAOzB"}
@@ -0,0 +1,18 @@
1
+ import { DesignConfig } from '../design-config';
2
+ import { recordBuildReady } from './part-build-ready';
3
+ import { SlowRunners } from './slow-run';
4
+ /**
5
+ * Runs `recordBuildReady` as `design check` does, after running the slow rules on each of `settle` whose slow result
6
+ * is pending in a product with a harness, so the record step decides those parts instead of leaving them pending.
7
+ */
8
+ export declare const recordCheckedBuildReady: (options: Parameters<typeof recordBuildReady>[0] & {
9
+ target: string;
10
+ config: DesignConfig;
11
+ settle: string[];
12
+ runners?: Partial<SlowRunners>;
13
+ }) => Promise<Map<string, import("./build-ready-contract").BuildReady>>;
14
+ /** The line `design check` prints when parts of a product still wait for their slow rules, naming the commands that settle them. */
15
+ export declare const slowWaitingLineOf: (options: {
16
+ product: string;
17
+ count: number;
18
+ }) => string;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __rest = (this && this.__rest) || function (s, e) {
12
+ var t = {};
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
+ t[p] = s[p];
15
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
+ t[p[i]] = s[p[i]];
19
+ }
20
+ return t;
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.slowWaitingLineOf = exports.recordCheckedBuildReady = void 0;
24
+ const part_build_ready_1 = require("./part-build-ready");
25
+ const slow_checks_1 = require("./slow-checks");
26
+ const slow_run_1 = require("./slow-run");
27
+ /**
28
+ * Runs `recordBuildReady` as `design check` does, after running the slow rules on each of `settle` whose slow result
29
+ * is pending in a product with a harness, so the record step decides those parts instead of leaving them pending.
30
+ */
31
+ const recordCheckedBuildReady = (options) => __awaiter(void 0, void 0, void 0, function* () {
32
+ const { target, config, product, settle, runners } = options, record = __rest(options, ["target", "config", "product", "settle", "runners"]);
33
+ if (product.config.harness)
34
+ yield settlePendingSlowOf({ target, config, product, parts: settle, runners });
35
+ return (0, part_build_ready_1.recordBuildReady)(Object.assign({ product }, record));
36
+ });
37
+ exports.recordCheckedBuildReady = recordCheckedBuildReady;
38
+ /** The line `design check` prints when parts of a product still wait for their slow rules, naming the commands that settle them. */
39
+ const slowWaitingLineOf = (options) => `PENDING ${options.product}: ${options.count} ${options.count === 1 ? 'part waits' : 'parts wait'} for slow rules - run design serve or design check --product ${options.product} --part <part>`;
40
+ exports.slowWaitingLineOf = slowWaitingLineOf;
41
+ const settlePendingSlowOf = (options) => __awaiter(void 0, void 0, void 0, function* () {
42
+ const { target, config, product, runners } = options;
43
+ const pending = options.parts.filter((part) => (0, slow_checks_1.slowProblemsOf)({ product, part }) === 'pending');
44
+ if (pending.length > 0)
45
+ yield (0, slow_run_1.runSlowChecks)(Object.assign({ target, config, product, parts: pending }, (runners ? { runners } : {})));
46
+ });
47
+ //# sourceMappingURL=check-record.js.map