@ethlete/cli 3.0.0-next.26 → 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 (837) hide show
  1. package/CHANGELOG.md +481 -0
  2. package/build-info.json +1 -0
  3. package/design/arrow-anchor.ts +55 -0
  4. package/design/define-call.ts +75 -30
  5. package/design/define-part.ts +64 -4
  6. package/design/icon-sheet.ts +1 -1
  7. package/design/interaction-rows.ts +13 -6
  8. package/design/mark-part.ts +51 -1
  9. package/design/token-sheet.ts +1 -1
  10. package/design/web/frame-fit.ts +7 -0
  11. package/design/web/frame-surfaces.ts +294 -0
  12. package/design/web/frame.ts +69 -15
  13. package/design/web/surface-interactive.css +42 -0
  14. package/design/with-action.ts +29 -0
  15. package/package.json +3 -1
  16. package/src/index.js +9 -1
  17. package/src/index.js.map +1 -1
  18. package/src/lib/api/compose.js +3 -2
  19. package/src/lib/api/compose.js.map +1 -1
  20. package/src/lib/api/git.js +2 -1
  21. package/src/lib/api/git.js.map +1 -1
  22. package/src/lib/api/setup.js +2 -2
  23. package/src/lib/api/setup.js.map +1 -1
  24. package/src/lib/design/asset-shot.js +4 -4
  25. package/src/lib/design/asset-shot.js.map +1 -1
  26. package/src/lib/design/blank-png.d.ts +2 -0
  27. package/src/lib/design/blank-png.js +28 -0
  28. package/src/lib/design/blank-png.js.map +1 -0
  29. package/src/lib/design/build-watch.d.ts +26 -0
  30. package/src/lib/design/build-watch.js +138 -0
  31. package/src/lib/design/build-watch.js.map +1 -0
  32. package/src/lib/design/cache-entry.d.ts +8 -0
  33. package/src/lib/design/cache-entry.js +30 -0
  34. package/src/lib/design/cache-entry.js.map +1 -0
  35. package/src/lib/design/calls-tsconfig.js +20 -13
  36. package/src/lib/design/calls-tsconfig.js.map +1 -1
  37. package/src/lib/design/calls.js +3 -3
  38. package/src/lib/design/calls.js.map +1 -1
  39. package/src/lib/design/changed-parts.d.ts +1 -1
  40. package/src/lib/design/check.d.ts +2 -0
  41. package/src/lib/design/check.js +217 -24
  42. package/src/lib/design/check.js.map +1 -1
  43. package/src/lib/design/code-hash.d.ts +30 -0
  44. package/src/lib/design/code-hash.js +118 -0
  45. package/src/lib/design/code-hash.js.map +1 -0
  46. package/src/lib/design/commit-hunks.d.ts +22 -0
  47. package/src/lib/design/commit-hunks.js +173 -0
  48. package/src/lib/design/commit-hunks.js.map +1 -0
  49. package/src/lib/design/design-command.d.ts +2 -0
  50. package/src/lib/design/design-command.js +271 -27
  51. package/src/lib/design/design-command.js.map +1 -1
  52. package/src/lib/design/{paths.d.ts → design-config.d.ts} +34 -28
  53. package/src/lib/design/design-config.js +35 -0
  54. package/src/lib/design/design-config.js.map +1 -0
  55. package/src/lib/design/design-lint.d.ts +68 -0
  56. package/src/lib/design/design-lint.js +183 -0
  57. package/src/lib/design/design-lint.js.map +1 -0
  58. package/src/lib/design/draw-ledger.d.ts +6 -0
  59. package/src/lib/design/draw-ledger.js +10 -0
  60. package/src/lib/design/draw-ledger.js.map +1 -1
  61. package/src/lib/design/force-interactions.d.ts +3 -1
  62. package/src/lib/design/force-interactions.js +8 -4
  63. package/src/lib/design/force-interactions.js.map +1 -1
  64. package/src/lib/design/generated-stylesheets.d.ts +1 -1
  65. package/src/lib/design/generated-stylesheets.js +2 -2
  66. package/src/lib/design/generated-stylesheets.js.map +1 -1
  67. package/src/lib/design/git-top.d.ts +5 -0
  68. package/src/lib/design/git-top.js +16 -0
  69. package/src/lib/design/git-top.js.map +1 -0
  70. package/src/lib/design/hooks-problem.d.ts +2 -0
  71. package/src/lib/design/hooks-problem.js +23 -0
  72. package/src/lib/design/hooks-problem.js.map +1 -0
  73. package/src/lib/design/inbox-command.js +9 -5
  74. package/src/lib/design/inbox-command.js.map +1 -1
  75. package/src/lib/design/index.d.ts +4 -1
  76. package/src/lib/design/index.js +4 -1
  77. package/src/lib/design/index.js.map +1 -1
  78. package/src/lib/design/is-running.d.ts +1 -0
  79. package/src/lib/design/is-running.js +14 -0
  80. package/src/lib/design/is-running.js.map +1 -0
  81. package/src/lib/design/legacy.js +3 -3
  82. package/src/lib/design/legacy.js.map +1 -1
  83. package/src/lib/design/mcp-command.d.ts +5 -1
  84. package/src/lib/design/mcp-command.js +27 -16
  85. package/src/lib/design/mcp-command.js.map +1 -1
  86. package/src/lib/design/merge-compare.d.ts +10 -2
  87. package/src/lib/design/merge-compare.js +63 -11
  88. package/src/lib/design/merge-compare.js.map +1 -1
  89. package/src/lib/design/motion-command.js +4 -4
  90. package/src/lib/design/motion-command.js.map +1 -1
  91. package/src/lib/design/motion-shot.js +3 -2
  92. package/src/lib/design/motion-shot.js.map +1 -1
  93. package/src/lib/design/new-call.js +22 -13
  94. package/src/lib/design/new-call.js.map +1 -1
  95. package/src/lib/design/old-shot-folders.d.ts +2 -0
  96. package/src/lib/design/old-shot-folders.js +26 -0
  97. package/src/lib/design/old-shot-folders.js.map +1 -0
  98. package/src/lib/design/package-root.d.ts +21 -0
  99. package/src/lib/design/package-root.js +79 -0
  100. package/src/lib/design/package-root.js.map +1 -0
  101. package/src/lib/design/parent-watch.d.ts +7 -0
  102. package/src/lib/design/parent-watch.js +23 -0
  103. package/src/lib/design/parent-watch.js.map +1 -0
  104. package/src/lib/design/part-marks.d.ts +3 -2
  105. package/src/lib/design/part-marks.js +15 -7
  106. package/src/lib/design/part-marks.js.map +1 -1
  107. package/src/lib/design/phase-timing.d.ts +5 -0
  108. package/src/lib/design/phase-timing.js +27 -0
  109. package/src/lib/design/phase-timing.js.map +1 -0
  110. package/src/lib/design/physical-cores.d.ts +12 -0
  111. package/src/lib/design/physical-cores.js +43 -0
  112. package/src/lib/design/physical-cores.js.map +1 -0
  113. package/src/lib/design/product-command.d.ts +1 -1
  114. package/src/lib/design/product-command.js +16 -18
  115. package/src/lib/design/product-command.js.map +1 -1
  116. package/src/lib/design/push-status.d.ts +30 -0
  117. package/src/lib/design/push-status.js +122 -0
  118. package/src/lib/design/push-status.js.map +1 -0
  119. package/src/lib/design/ready-shots.d.ts +21 -12
  120. package/src/lib/design/ready-shots.js +79 -44
  121. package/src/lib/design/ready-shots.js.map +1 -1
  122. package/src/lib/design/render-packages.d.ts +7 -18
  123. package/src/lib/design/render-packages.js +24 -63
  124. package/src/lib/design/render-packages.js.map +1 -1
  125. package/src/lib/design/render-worker.js +24 -6
  126. package/src/lib/design/render-worker.js.map +1 -1
  127. package/src/lib/design/render.d.ts +26 -3
  128. package/src/lib/design/render.js +52 -13
  129. package/src/lib/design/render.js.map +1 -1
  130. package/src/lib/design/resident/client.d.ts +52 -0
  131. package/src/lib/design/resident/client.js +263 -0
  132. package/src/lib/design/resident/client.js.map +1 -0
  133. package/src/lib/design/resident/discovery.d.ts +21 -0
  134. package/src/lib/design/resident/discovery.js +63 -0
  135. package/src/lib/design/resident/discovery.js.map +1 -0
  136. package/src/lib/design/resident/resident-process.d.ts +19 -0
  137. package/src/lib/design/resident/resident-process.js +189 -0
  138. package/src/lib/design/resident/resident-process.js.map +1 -0
  139. package/src/lib/design/resident/server.d.ts +52 -0
  140. package/src/lib/design/resident/server.js +212 -0
  141. package/src/lib/design/resident/server.js.map +1 -0
  142. package/src/lib/design/run-abort.d.ts +9 -0
  143. package/src/lib/design/run-abort.js +45 -0
  144. package/src/lib/design/run-abort.js.map +1 -0
  145. package/src/lib/design/run-deadline.d.ts +19 -0
  146. package/src/lib/design/run-deadline.js +104 -0
  147. package/src/lib/design/run-deadline.js.map +1 -0
  148. package/src/lib/design/run-yield.d.ts +8 -0
  149. package/src/lib/design/run-yield.js +43 -0
  150. package/src/lib/design/run-yield.js.map +1 -0
  151. package/src/lib/design/serve-state.d.ts +15 -0
  152. package/src/lib/design/serve-state.js +56 -0
  153. package/src/lib/design/serve-state.js.map +1 -0
  154. package/src/lib/design/serve.d.ts +41 -3
  155. package/src/lib/design/serve.js +272 -54
  156. package/src/lib/design/serve.js.map +1 -1
  157. package/src/lib/design/server-identity.d.ts +40 -0
  158. package/src/lib/design/server-identity.js +71 -0
  159. package/src/lib/design/server-identity.js.map +1 -0
  160. package/src/lib/design/settle-frames.d.ts +4 -0
  161. package/src/lib/design/settle-frames.js +22 -0
  162. package/src/lib/design/settle-frames.js.map +1 -0
  163. package/src/lib/design/shot-board.d.ts +26 -0
  164. package/src/lib/design/shot-board.js +80 -0
  165. package/src/lib/design/shot-board.js.map +1 -0
  166. package/src/lib/design/shot-command.d.ts +26 -5
  167. package/src/lib/design/shot-command.js +143 -50
  168. package/src/lib/design/shot-command.js.map +1 -1
  169. package/src/lib/design/shot-store.d.ts +29 -3
  170. package/src/lib/design/shot-store.js +206 -36
  171. package/src/lib/design/shot-store.js.map +1 -1
  172. package/src/lib/design/shot.d.ts +60 -2
  173. package/src/lib/design/shot.js +238 -28
  174. package/src/lib/design/shot.js.map +1 -1
  175. package/src/lib/design/sketch-at.js +2 -1
  176. package/src/lib/design/sketch-at.js.map +1 -1
  177. package/src/lib/design/sketch-command.d.ts +19 -1
  178. package/src/lib/design/sketch-command.js +664 -159
  179. package/src/lib/design/sketch-command.js.map +1 -1
  180. package/src/lib/design/ssr-shims.d.ts +1 -0
  181. package/src/lib/design/ssr-shims.js +3 -3
  182. package/src/lib/design/ssr-shims.js.map +1 -1
  183. package/src/lib/design/stale-cli-dist.d.ts +11 -0
  184. package/src/lib/design/stale-cli-dist.js +56 -0
  185. package/src/lib/design/stale-cli-dist.js.map +1 -0
  186. package/src/lib/design/stamp.d.ts +23 -1
  187. package/src/lib/design/stamp.js +56 -9
  188. package/src/lib/design/stamp.js.map +1 -1
  189. package/src/lib/design/started-by-studio.d.ts +1 -0
  190. package/src/lib/design/started-by-studio.js +6 -0
  191. package/src/lib/design/started-by-studio.js.map +1 -0
  192. package/src/lib/design/status.d.ts +1 -1
  193. package/src/lib/design/status.js +15 -4
  194. package/src/lib/design/status.js.map +1 -1
  195. package/src/lib/design/studio-api.d.ts +21 -10
  196. package/src/lib/design/studio-api.js +192 -88
  197. package/src/lib/design/studio-api.js.map +1 -1
  198. package/src/lib/design/system/accepted-pictures.d.ts +69 -0
  199. package/src/lib/design/system/accepted-pictures.js +346 -0
  200. package/src/lib/design/system/accepted-pictures.js.map +1 -0
  201. package/src/lib/design/system/action-cache.d.ts +45 -0
  202. package/src/lib/design/system/action-cache.js +72 -0
  203. package/src/lib/design/system/action-cache.js.map +1 -0
  204. package/src/lib/design/system/action-lost.d.ts +61 -0
  205. package/src/lib/design/system/action-lost.js +116 -0
  206. package/src/lib/design/system/action-lost.js.map +1 -0
  207. package/src/lib/design/system/action-press.d.ts +29 -0
  208. package/src/lib/design/system/action-press.js +88 -0
  209. package/src/lib/design/system/action-press.js.map +1 -0
  210. package/src/lib/design/system/action-undeclared.d.ts +34 -0
  211. package/src/lib/design/system/action-undeclared.js +81 -0
  212. package/src/lib/design/system/action-undeclared.js.map +1 -0
  213. package/src/lib/design/system/actions-command.d.ts +108 -0
  214. package/src/lib/design/system/actions-command.js +816 -0
  215. package/src/lib/design/system/actions-command.js.map +1 -0
  216. package/src/lib/design/system/actions.d.ts +181 -0
  217. package/src/lib/design/system/actions.js +333 -0
  218. package/src/lib/design/system/actions.js.map +1 -0
  219. package/src/lib/design/system/anti-alias.d.ts +2 -0
  220. package/src/lib/design/system/anti-alias.js +11 -0
  221. package/src/lib/design/system/anti-alias.js.map +1 -0
  222. package/src/lib/design/system/app-files.d.ts +10 -0
  223. package/src/lib/design/system/app-files.js +175 -0
  224. package/src/lib/design/system/app-files.js.map +1 -0
  225. package/src/lib/design/system/arrow-anchor.d.ts +9 -0
  226. package/src/lib/design/system/arrow-anchor.js +40 -0
  227. package/src/lib/design/system/arrow-anchor.js.map +1 -0
  228. package/src/lib/design/system/base-issues.d.ts +28 -0
  229. package/src/lib/design/system/base-issues.js +80 -0
  230. package/src/lib/design/system/base-issues.js.map +1 -0
  231. package/src/lib/design/system/base.d.ts +1 -1
  232. package/src/lib/design/system/base.js +2 -2
  233. package/src/lib/design/system/base.js.map +1 -1
  234. package/src/lib/design/system/baseline-history.d.ts +13 -0
  235. package/src/lib/design/system/baseline-history.js +40 -0
  236. package/src/lib/design/system/baseline-history.js.map +1 -0
  237. package/src/lib/design/system/bespoke-controls.d.ts +33 -0
  238. package/src/lib/design/system/bespoke-controls.js +149 -0
  239. package/src/lib/design/system/bespoke-controls.js.map +1 -0
  240. package/src/lib/design/system/build-ready-contract.d.ts +33 -0
  241. package/src/lib/design/system/build-ready-contract.js +18 -0
  242. package/src/lib/design/system/build-ready-contract.js.map +1 -0
  243. package/src/lib/design/system/build-running.d.ts +13 -0
  244. package/src/lib/design/system/build-running.js +48 -0
  245. package/src/lib/design/system/build-running.js.map +1 -0
  246. package/src/lib/design/system/check-record.d.ts +18 -0
  247. package/src/lib/design/system/check-record.js +47 -0
  248. package/src/lib/design/system/check-record.js.map +1 -0
  249. package/src/lib/design/system/check-rules.d.ts +1 -0
  250. package/src/lib/design/system/check-rules.js +100 -0
  251. package/src/lib/design/system/check-rules.js.map +1 -0
  252. package/src/lib/design/system/check-system.d.ts +83 -7
  253. package/src/lib/design/system/check-system.js +647 -68
  254. package/src/lib/design/system/check-system.js.map +1 -1
  255. package/src/lib/design/system/comments/comment.d.ts +4 -1
  256. package/src/lib/design/system/comments/comment.js +13 -4
  257. package/src/lib/design/system/comments/comment.js.map +1 -1
  258. package/src/lib/design/system/comments/inbox.d.ts +1 -1
  259. package/src/lib/design/system/comments/inbox.js +2 -2
  260. package/src/lib/design/system/comments/inbox.js.map +1 -1
  261. package/src/lib/design/system/compare-cache.d.ts +20 -0
  262. package/src/lib/design/system/compare-cache.js +92 -0
  263. package/src/lib/design/system/compare-cache.js.map +1 -0
  264. package/src/lib/design/system/compare-command.d.ts +150 -0
  265. package/src/lib/design/system/compare-command.js +580 -0
  266. package/src/lib/design/system/compare-command.js.map +1 -0
  267. package/src/lib/design/system/complete-command.js +1 -1
  268. package/src/lib/design/system/complete-command.js.map +1 -1
  269. package/src/lib/design/system/complete.d.ts +63 -2
  270. package/src/lib/design/system/complete.js +281 -71
  271. package/src/lib/design/system/complete.js.map +1 -1
  272. package/src/lib/design/system/component-outputs.d.ts +20 -0
  273. package/src/lib/design/system/component-outputs.js +86 -0
  274. package/src/lib/design/system/component-outputs.js.map +1 -0
  275. package/src/lib/design/system/contrast-check.d.ts +1 -1
  276. package/src/lib/design/system/contrast-check.js +14 -3
  277. package/src/lib/design/system/contrast-check.js.map +1 -1
  278. package/src/lib/design/system/decision-refs.d.ts +5 -0
  279. package/src/lib/design/system/decision-refs.js +21 -0
  280. package/src/lib/design/system/decision-refs.js.map +1 -0
  281. package/src/lib/design/system/demo-backdrop.d.ts +11 -0
  282. package/src/lib/design/system/demo-backdrop.js +41 -0
  283. package/src/lib/design/system/demo-backdrop.js.map +1 -0
  284. package/src/lib/design/system/design-hash.d.ts +52 -0
  285. package/src/lib/design/system/design-hash.js +132 -0
  286. package/src/lib/design/system/design-hash.js.map +1 -0
  287. package/src/lib/design/system/disabled-interaction.d.ts +8 -0
  288. package/src/lib/design/system/disabled-interaction.js +37 -0
  289. package/src/lib/design/system/disabled-interaction.js.map +1 -0
  290. package/src/lib/design/system/dom-command.d.ts +36 -0
  291. package/src/lib/design/system/dom-command.js +178 -0
  292. package/src/lib/design/system/dom-command.js.map +1 -0
  293. package/src/lib/design/system/drawn-open-points.d.ts +26 -4
  294. package/src/lib/design/system/drawn-open-points.js +65 -14
  295. package/src/lib/design/system/drawn-open-points.js.map +1 -1
  296. package/src/lib/design/system/dropped-props.d.ts +39 -0
  297. package/src/lib/design/system/dropped-props.js +271 -0
  298. package/src/lib/design/system/dropped-props.js.map +1 -0
  299. package/src/lib/design/system/embedded-actions.d.ts +21 -0
  300. package/src/lib/design/system/embedded-actions.js +37 -0
  301. package/src/lib/design/system/embedded-actions.js.map +1 -0
  302. package/src/lib/design/system/exceptions.js +2 -1
  303. package/src/lib/design/system/exceptions.js.map +1 -1
  304. package/src/lib/design/system/flows/flow.js +2 -1
  305. package/src/lib/design/system/flows/flow.js.map +1 -1
  306. package/src/lib/design/system/frozen-animations.d.ts +13 -0
  307. package/src/lib/design/system/frozen-animations.js +51 -0
  308. package/src/lib/design/system/frozen-animations.js.map +1 -0
  309. package/src/lib/design/system/grid-report.d.ts +5 -0
  310. package/src/lib/design/system/grid-report.js +78 -0
  311. package/src/lib/design/system/grid-report.js.map +1 -0
  312. package/src/lib/design/system/handoff.js +2 -1
  313. package/src/lib/design/system/handoff.js.map +1 -1
  314. package/src/lib/design/system/harness-build-cache.d.ts +49 -0
  315. package/src/lib/design/system/harness-build-cache.js +188 -0
  316. package/src/lib/design/system/harness-build-cache.js.map +1 -0
  317. package/src/lib/design/system/harness-command.d.ts +7 -0
  318. package/src/lib/design/system/harness-command.js +51 -0
  319. package/src/lib/design/system/harness-command.js.map +1 -0
  320. package/src/lib/design/system/harness-config.d.ts +9 -0
  321. package/src/lib/design/system/harness-config.js +65 -0
  322. package/src/lib/design/system/harness-config.js.map +1 -0
  323. package/src/lib/design/system/harness-inputs.d.ts +17 -0
  324. package/src/lib/design/system/harness-inputs.js +160 -0
  325. package/src/lib/design/system/harness-inputs.js.map +1 -0
  326. package/src/lib/design/system/harness-map.d.ts +44 -0
  327. package/src/lib/design/system/harness-map.js +126 -0
  328. package/src/lib/design/system/harness-map.js.map +1 -0
  329. package/src/lib/design/system/harness-samples.d.ts +20 -0
  330. package/src/lib/design/system/harness-samples.js +92 -0
  331. package/src/lib/design/system/harness-samples.js.map +1 -0
  332. package/src/lib/design/system/harness-server.d.ts +51 -0
  333. package/src/lib/design/system/harness-server.js +306 -0
  334. package/src/lib/design/system/harness-server.js.map +1 -0
  335. package/src/lib/design/system/harness-shot.d.ts +78 -0
  336. package/src/lib/design/system/harness-shot.js +349 -0
  337. package/src/lib/design/system/harness-shot.js.map +1 -0
  338. package/src/lib/design/system/harness-watch.d.ts +79 -0
  339. package/src/lib/design/system/harness-watch.js +334 -0
  340. package/src/lib/design/system/harness-watch.js.map +1 -0
  341. package/src/lib/design/system/implementation-baseline.d.ts +20 -0
  342. package/src/lib/design/system/implementation-baseline.js +44 -0
  343. package/src/lib/design/system/implementation-baseline.js.map +1 -0
  344. package/src/lib/design/system/imports.js +14 -1
  345. package/src/lib/design/system/imports.js.map +1 -1
  346. package/src/lib/design/system/in-order-at-once.d.ts +6 -0
  347. package/src/lib/design/system/in-order-at-once.js +28 -0
  348. package/src/lib/design/system/in-order-at-once.js.map +1 -0
  349. package/src/lib/design/system/inventory-approval.js +2 -1
  350. package/src/lib/design/system/inventory-approval.js.map +1 -1
  351. package/src/lib/design/system/inventory.d.ts +13 -4
  352. package/src/lib/design/system/inventory.js +36 -7
  353. package/src/lib/design/system/inventory.js.map +1 -1
  354. package/src/lib/design/system/leftover-gate-files.d.ts +2 -0
  355. package/src/lib/design/system/leftover-gate-files.js +15 -0
  356. package/src/lib/design/system/leftover-gate-files.js.map +1 -0
  357. package/src/lib/design/system/lib-build-lock.d.ts +18 -0
  358. package/src/lib/design/system/lib-build-lock.js +111 -0
  359. package/src/lib/design/system/lib-build-lock.js.map +1 -0
  360. package/src/lib/design/system/link-free.d.ts +12 -0
  361. package/src/lib/design/system/link-free.js +125 -0
  362. package/src/lib/design/system/link-free.js.map +1 -0
  363. package/src/lib/design/system/list-system.d.ts +8 -8
  364. package/src/lib/design/system/list-system.js +19 -80
  365. package/src/lib/design/system/list-system.js.map +1 -1
  366. package/src/lib/design/system/live-actions.d.ts +121 -0
  367. package/src/lib/design/system/live-actions.js +674 -0
  368. package/src/lib/design/system/live-actions.js.map +1 -0
  369. package/src/lib/design/system/live-compare.d.ts +136 -0
  370. package/src/lib/design/system/live-compare.js +441 -0
  371. package/src/lib/design/system/live-compare.js.map +1 -0
  372. package/src/lib/design/system/live-uncovered.d.ts +45 -0
  373. package/src/lib/design/system/live-uncovered.js +158 -0
  374. package/src/lib/design/system/live-uncovered.js.map +1 -0
  375. package/src/lib/design/system/nested-scroll.d.ts +7 -0
  376. package/src/lib/design/system/nested-scroll.js +25 -0
  377. package/src/lib/design/system/nested-scroll.js.map +1 -0
  378. package/src/lib/design/system/no-verdict.d.ts +13 -0
  379. package/src/lib/design/system/no-verdict.js +17 -0
  380. package/src/lib/design/system/no-verdict.js.map +1 -0
  381. package/src/lib/design/system/notes/note.js +2 -1
  382. package/src/lib/design/system/notes/note.js.map +1 -1
  383. package/src/lib/design/system/occluded.d.ts +13 -0
  384. package/src/lib/design/system/occluded.js +111 -0
  385. package/src/lib/design/system/occluded.js.map +1 -0
  386. package/src/lib/design/system/off-centre.d.ts +11 -0
  387. package/src/lib/design/system/off-centre.js +74 -0
  388. package/src/lib/design/system/off-centre.js.map +1 -0
  389. package/src/lib/design/system/open-points-cache.d.ts +11 -0
  390. package/src/lib/design/system/open-points-cache.js +27 -0
  391. package/src/lib/design/system/open-points-cache.js.map +1 -0
  392. package/src/lib/design/system/open-points-runner.d.ts +43 -0
  393. package/src/lib/design/system/open-points-runner.js +119 -0
  394. package/src/lib/design/system/open-points-runner.js.map +1 -0
  395. package/src/lib/design/system/open-points-worker.d.ts +1 -0
  396. package/src/lib/design/system/open-points-worker.js +28 -0
  397. package/src/lib/design/system/open-points-worker.js.map +1 -0
  398. package/src/lib/design/system/open-points.d.ts +24 -6
  399. package/src/lib/design/system/open-points.js +59 -30
  400. package/src/lib/design/system/open-points.js.map +1 -1
  401. package/src/lib/design/system/part-build-ready.d.ts +45 -0
  402. package/src/lib/design/system/part-build-ready.js +135 -0
  403. package/src/lib/design/system/part-build-ready.js.map +1 -0
  404. package/src/lib/design/system/part-command.js +2 -9
  405. package/src/lib/design/system/part-command.js.map +1 -1
  406. package/src/lib/design/system/part-compare.d.ts +139 -0
  407. package/src/lib/design/system/part-compare.js +501 -0
  408. package/src/lib/design/system/part-compare.js.map +1 -0
  409. package/src/lib/design/system/part-picture-cache.d.ts +23 -0
  410. package/src/lib/design/system/part-picture-cache.js +68 -0
  411. package/src/lib/design/system/part-picture-cache.js.map +1 -0
  412. package/src/lib/design/system/part-ready.d.ts +71 -7
  413. package/src/lib/design/system/part-ready.js +128 -19
  414. package/src/lib/design/system/part-ready.js.map +1 -1
  415. package/src/lib/design/system/part-task.d.ts +167 -0
  416. package/src/lib/design/system/part-task.js +331 -0
  417. package/src/lib/design/system/part-task.js.map +1 -0
  418. package/src/lib/design/system/pixel-cache.d.ts +16 -0
  419. package/src/lib/design/system/pixel-cache.js +79 -0
  420. package/src/lib/design/system/pixel-cache.js.map +1 -0
  421. package/src/lib/design/system/pointer-focus.d.ts +89 -0
  422. package/src/lib/design/system/pointer-focus.js +175 -0
  423. package/src/lib/design/system/pointer-focus.js.map +1 -0
  424. package/src/lib/design/system/prettier.d.ts +10 -0
  425. package/src/lib/design/system/prettier.js +37 -0
  426. package/src/lib/design/system/prettier.js.map +1 -0
  427. package/src/lib/design/system/problem.d.ts +6 -0
  428. package/src/lib/design/system/product.js +2 -2
  429. package/src/lib/design/system/product.js.map +1 -1
  430. package/src/lib/design/system/reach.d.ts +12 -0
  431. package/src/lib/design/system/reach.js +186 -0
  432. package/src/lib/design/system/reach.js.map +1 -0
  433. package/src/lib/design/system/reachable-controls.d.ts +6 -0
  434. package/src/lib/design/system/reachable-controls.js +19 -0
  435. package/src/lib/design/system/reachable-controls.js.map +1 -0
  436. package/src/lib/design/system/reachable-files.d.ts +14 -0
  437. package/src/lib/design/system/reachable-files.js +101 -0
  438. package/src/lib/design/system/reachable-files.js.map +1 -0
  439. package/src/lib/design/system/reached-state.d.ts +23 -0
  440. package/src/lib/design/system/reached-state.js +53 -0
  441. package/src/lib/design/system/reached-state.js.map +1 -0
  442. package/src/lib/design/system/read-open-points.d.ts +9 -3
  443. package/src/lib/design/system/read-open-points.js +38 -9
  444. package/src/lib/design/system/read-open-points.js.map +1 -1
  445. package/src/lib/design/system/ready-command.d.ts +6 -2
  446. package/src/lib/design/system/ready-command.js +52 -15
  447. package/src/lib/design/system/ready-command.js.map +1 -1
  448. package/src/lib/design/system/record-settled.d.ts +24 -0
  449. package/src/lib/design/system/record-settled.js +50 -0
  450. package/src/lib/design/system/record-settled.js.map +1 -0
  451. package/src/lib/design/system/render-check.d.ts +68 -1
  452. package/src/lib/design/system/render-check.js +427 -114
  453. package/src/lib/design/system/render-check.js.map +1 -1
  454. package/src/lib/design/system/render-issue-key.d.ts +9 -0
  455. package/src/lib/design/system/render-issue-key.js +27 -0
  456. package/src/lib/design/system/render-issue-key.js.map +1 -0
  457. package/src/lib/design/system/resolve-product.d.ts +4 -1
  458. package/src/lib/design/system/resolve-product.js +19 -3
  459. package/src/lib/design/system/resolve-product.js.map +1 -1
  460. package/src/lib/design/system/rule-baseline.d.ts +53 -0
  461. package/src/lib/design/system/rule-baseline.js +124 -0
  462. package/src/lib/design/system/rule-baseline.js.map +1 -0
  463. package/src/lib/design/system/rule-skips.d.ts +20 -0
  464. package/src/lib/design/system/rule-skips.js +36 -0
  465. package/src/lib/design/system/rule-skips.js.map +1 -0
  466. package/src/lib/design/system/rules/app-spec.d.ts +30 -0
  467. package/src/lib/design/system/rules/app-spec.js +87 -0
  468. package/src/lib/design/system/rules/app-spec.js.map +1 -0
  469. package/src/lib/design/system/rules/canonical-class.d.ts +6 -0
  470. package/src/lib/design/system/rules/canonical-class.js +92 -113
  471. package/src/lib/design/system/rules/canonical-class.js.map +1 -1
  472. package/src/lib/design/system/rules/capability-place.d.ts +46 -0
  473. package/src/lib/design/system/rules/capability-place.js +129 -0
  474. package/src/lib/design/system/rules/capability-place.js.map +1 -0
  475. package/src/lib/design/system/rules/command-text.d.ts +7 -0
  476. package/src/lib/design/system/rules/command-text.js +72 -0
  477. package/src/lib/design/system/rules/command-text.js.map +1 -0
  478. package/src/lib/design/system/rules/denied-class.d.ts +9 -0
  479. package/src/lib/design/system/rules/denied-class.js +121 -0
  480. package/src/lib/design/system/rules/denied-class.js.map +1 -0
  481. package/src/lib/design/system/rules/design-coverage.d.ts +30 -0
  482. package/src/lib/design/system/rules/design-coverage.js +205 -0
  483. package/src/lib/design/system/rules/design-coverage.js.map +1 -0
  484. package/src/lib/design/system/rules/exemptions.d.ts +18 -0
  485. package/src/lib/design/system/rules/exemptions.js +18 -0
  486. package/src/lib/design/system/rules/exemptions.js.map +1 -0
  487. package/src/lib/design/system/rules/flow.js +1 -1
  488. package/src/lib/design/system/rules/flow.js.map +1 -1
  489. package/src/lib/design/system/rules/glued-interpolation.d.ts +8 -0
  490. package/src/lib/design/system/rules/glued-interpolation.js +77 -0
  491. package/src/lib/design/system/rules/glued-interpolation.js.map +1 -0
  492. package/src/lib/design/system/rules/hard-coded-colour.js +2 -1
  493. package/src/lib/design/system/rules/hard-coded-colour.js.map +1 -1
  494. package/src/lib/design/system/rules/implemented-components.d.ts +22 -0
  495. package/src/lib/design/system/rules/implemented-components.js +45 -0
  496. package/src/lib/design/system/rules/implemented-components.js.map +1 -0
  497. package/src/lib/design/system/rules/implements-unrendered.d.ts +13 -0
  498. package/src/lib/design/system/rules/implements-unrendered.js +63 -0
  499. package/src/lib/design/system/rules/implements-unrendered.js.map +1 -0
  500. package/src/lib/design/system/rules/implements.d.ts +2 -1
  501. package/src/lib/design/system/rules/implements.js +26 -21
  502. package/src/lib/design/system/rules/implements.js.map +1 -1
  503. package/src/lib/design/system/rules/inline-svg.js +4 -1
  504. package/src/lib/design/system/rules/inline-svg.js.map +1 -1
  505. package/src/lib/design/system/rules/inline-ui-in-page-open.d.ts +13 -0
  506. package/src/lib/design/system/rules/inline-ui-in-page-open.js +5 -0
  507. package/src/lib/design/system/rules/inline-ui-in-page-open.js.map +1 -0
  508. package/src/lib/design/system/rules/inline-ui-in-page.d.ts +18 -0
  509. package/src/lib/design/system/rules/inline-ui-in-page.js +123 -0
  510. package/src/lib/design/system/rules/inline-ui-in-page.js.map +1 -0
  511. package/src/lib/design/system/rules/inline-ui.d.ts +16 -0
  512. package/src/lib/design/system/rules/inline-ui.js +100 -0
  513. package/src/lib/design/system/rules/inline-ui.js.map +1 -0
  514. package/src/lib/design/system/rules/motion.d.ts +1 -1
  515. package/src/lib/design/system/rules/motion.js +31 -17
  516. package/src/lib/design/system/rules/motion.js.map +1 -1
  517. package/src/lib/design/system/rules/native-title.d.ts +7 -0
  518. package/src/lib/design/system/rules/native-title.js +74 -0
  519. package/src/lib/design/system/rules/native-title.js.map +1 -0
  520. package/src/lib/design/system/rules/option-values.d.ts +1 -1
  521. package/src/lib/design/system/rules/orphan-endpoint-known.d.ts +12 -0
  522. package/src/lib/design/system/rules/orphan-endpoint-known.js +20 -0
  523. package/src/lib/design/system/rules/orphan-endpoint-known.js.map +1 -0
  524. package/src/lib/design/system/rules/orphan-endpoint.d.ts +23 -0
  525. package/src/lib/design/system/rules/orphan-endpoint.js +166 -0
  526. package/src/lib/design/system/rules/orphan-endpoint.js.map +1 -0
  527. package/src/lib/design/system/rules/part-rewrite.d.ts +13 -0
  528. package/src/lib/design/system/rules/part-rewrite.js +125 -0
  529. package/src/lib/design/system/rules/part-rewrite.js.map +1 -0
  530. package/src/lib/design/system/rules/pending-state.d.ts +39 -0
  531. package/src/lib/design/system/rules/pending-state.js +289 -0
  532. package/src/lib/design/system/rules/pending-state.js.map +1 -0
  533. package/src/lib/design/system/rules/sample-default-known.d.ts +5 -0
  534. package/src/lib/design/system/rules/sample-default-known.js +17 -0
  535. package/src/lib/design/system/rules/sample-default-known.js.map +1 -0
  536. package/src/lib/design/system/rules/sample-default.d.ts +22 -0
  537. package/src/lib/design/system/rules/sample-default.js +92 -0
  538. package/src/lib/design/system/rules/sample-default.js.map +1 -0
  539. package/src/lib/design/system/rules/sdk-attribute-value.d.ts +10 -0
  540. package/src/lib/design/system/rules/sdk-attribute-value.js +78 -0
  541. package/src/lib/design/system/rules/sdk-attribute-value.js.map +1 -0
  542. package/src/lib/design/system/rules/sdk-private-var.d.ts +9 -0
  543. package/src/lib/design/system/rules/sdk-private-var.js +54 -0
  544. package/src/lib/design/system/rules/sdk-private-var.js.map +1 -0
  545. package/src/lib/design/system/rules/skips.d.ts +4 -0
  546. package/src/lib/design/system/rules/skips.js +27 -0
  547. package/src/lib/design/system/rules/skips.js.map +1 -0
  548. package/src/lib/design/system/rules/stale-replace.js +5 -0
  549. package/src/lib/design/system/rules/stale-replace.js.map +1 -1
  550. package/src/lib/design/system/rules/state-in-component.d.ts +16 -0
  551. package/src/lib/design/system/rules/state-in-component.js +101 -0
  552. package/src/lib/design/system/rules/state-in-component.js.map +1 -0
  553. package/src/lib/design/system/rules/tailwind-classes.d.ts +52 -0
  554. package/src/lib/design/system/rules/tailwind-classes.js +237 -0
  555. package/src/lib/design/system/rules/tailwind-classes.js.map +1 -0
  556. package/src/lib/design/system/rules/token-selectors.js +10 -3
  557. package/src/lib/design/system/rules/token-selectors.js.map +1 -1
  558. package/src/lib/design/system/rules/top-level-await.d.ts +9 -0
  559. package/src/lib/design/system/rules/top-level-await.js +62 -0
  560. package/src/lib/design/system/rules/top-level-await.js.map +1 -0
  561. package/src/lib/design/system/rules/unbound-input-known.d.ts +7 -0
  562. package/src/lib/design/system/rules/unbound-input-known.js +44 -0
  563. package/src/lib/design/system/rules/unbound-input-known.js.map +1 -0
  564. package/src/lib/design/system/rules/unbound-input.d.ts +24 -0
  565. package/src/lib/design/system/rules/unbound-input.js +67 -0
  566. package/src/lib/design/system/rules/unbound-input.js.map +1 -0
  567. package/src/lib/design/system/rules/uncovered-region.d.ts +13 -0
  568. package/src/lib/design/system/rules/uncovered-region.js +36 -0
  569. package/src/lib/design/system/rules/uncovered-region.js.map +1 -0
  570. package/src/lib/design/system/rules/undefined-class.d.ts +9 -0
  571. package/src/lib/design/system/rules/undefined-class.js +41 -0
  572. package/src/lib/design/system/rules/undefined-class.js.map +1 -0
  573. package/src/lib/design/system/rules/undefined-token.d.ts +1 -1
  574. package/src/lib/design/system/rules/undefined-token.js +7 -61
  575. package/src/lib/design/system/rules/undefined-token.js.map +1 -1
  576. package/src/lib/design/system/rules/utility-css.d.ts +2 -1
  577. package/src/lib/design/system/rules/utility-css.js +40 -13
  578. package/src/lib/design/system/rules/utility-css.js.map +1 -1
  579. package/src/lib/design/system/rules/view-coverage.d.ts +8 -0
  580. package/src/lib/design/system/rules/view-coverage.js +51 -0
  581. package/src/lib/design/system/rules/view-coverage.js.map +1 -0
  582. package/src/lib/design/system/rules/visible-change.d.ts +19 -0
  583. package/src/lib/design/system/rules/visible-change.js +48 -0
  584. package/src/lib/design/system/rules/visible-change.js.map +1 -0
  585. package/src/lib/design/system/sdk-declarations.d.ts +10 -0
  586. package/src/lib/design/system/sdk-declarations.js +177 -0
  587. package/src/lib/design/system/sdk-declarations.js.map +1 -0
  588. package/src/lib/design/system/sdk-errors.d.ts +14 -0
  589. package/src/lib/design/system/sdk-errors.js +38 -0
  590. package/src/lib/design/system/sdk-errors.js.map +1 -0
  591. package/src/lib/design/system/sdk-selectors.d.ts +18 -0
  592. package/src/lib/design/system/sdk-selectors.js +131 -0
  593. package/src/lib/design/system/sdk-selectors.js.map +1 -0
  594. package/src/lib/design/system/see-through.d.ts +12 -0
  595. package/src/lib/design/system/see-through.js +112 -0
  596. package/src/lib/design/system/see-through.js.map +1 -0
  597. package/src/lib/design/system/served-cache.d.ts +99 -0
  598. package/src/lib/design/system/served-cache.js +202 -0
  599. package/src/lib/design/system/served-cache.js.map +1 -0
  600. package/src/lib/design/system/settled-panes.d.ts +23 -0
  601. package/src/lib/design/system/settled-panes.js +71 -0
  602. package/src/lib/design/system/settled-panes.js.map +1 -0
  603. package/src/lib/design/system/sketch/after-merge.d.ts +11 -0
  604. package/src/lib/design/system/sketch/after-merge.js +51 -0
  605. package/src/lib/design/system/sketch/after-merge.js.map +1 -0
  606. package/src/lib/design/system/sketch/aktuell-placeholders.d.ts +30 -0
  607. package/src/lib/design/system/sketch/aktuell-placeholders.js +87 -0
  608. package/src/lib/design/system/sketch/aktuell-placeholders.js.map +1 -0
  609. package/src/lib/design/system/sketch/baseline.d.ts +36 -2
  610. package/src/lib/design/system/sketch/baseline.js +76 -13
  611. package/src/lib/design/system/sketch/baseline.js.map +1 -1
  612. package/src/lib/design/system/sketch/check-format.js +3 -9
  613. package/src/lib/design/system/sketch/check-format.js.map +1 -1
  614. package/src/lib/design/system/sketch/check-sketches.d.ts +10 -0
  615. package/src/lib/design/system/sketch/check-sketches.js +50 -4
  616. package/src/lib/design/system/sketch/check-sketches.js.map +1 -1
  617. package/src/lib/design/system/sketch/clean-copy.d.ts +18 -0
  618. package/src/lib/design/system/sketch/clean-copy.js +104 -0
  619. package/src/lib/design/system/sketch/clean-copy.js.map +1 -0
  620. package/src/lib/design/system/sketch/cli-args.d.ts +13 -3
  621. package/src/lib/design/system/sketch/cli-args.js +20 -5
  622. package/src/lib/design/system/sketch/cli-args.js.map +1 -1
  623. package/src/lib/design/system/sketch/covered-diffs.d.ts +40 -0
  624. package/src/lib/design/system/sketch/covered-diffs.js +106 -0
  625. package/src/lib/design/system/sketch/covered-diffs.js.map +1 -0
  626. package/src/lib/design/system/sketch/edit-sketch.d.ts +29 -0
  627. package/src/lib/design/system/sketch/edit-sketch.js +169 -0
  628. package/src/lib/design/system/sketch/edit-sketch.js.map +1 -0
  629. package/src/lib/design/system/sketch/frame-budget.d.ts +24 -0
  630. package/src/lib/design/system/sketch/frame-budget.js +23 -0
  631. package/src/lib/design/system/sketch/frame-budget.js.map +1 -0
  632. package/src/lib/design/system/sketch/identical-renders.d.ts +31 -0
  633. package/src/lib/design/system/sketch/identical-renders.js +143 -0
  634. package/src/lib/design/system/sketch/identical-renders.js.map +1 -0
  635. package/src/lib/design/system/sketch/merge-commit.d.ts +20 -0
  636. package/src/lib/design/system/sketch/merge-commit.js +72 -0
  637. package/src/lib/design/system/sketch/merge-commit.js.map +1 -0
  638. package/src/lib/design/system/sketch/merge-runner.d.ts +20 -0
  639. package/src/lib/design/system/sketch/merge-runner.js +73 -0
  640. package/src/lib/design/system/sketch/merge-runner.js.map +1 -0
  641. package/src/lib/design/system/sketch/merge-shared.d.ts +2 -0
  642. package/src/lib/design/system/sketch/merge-shared.js +7 -10
  643. package/src/lib/design/system/sketch/merge-shared.js.map +1 -1
  644. package/src/lib/design/system/sketch/merge-step.d.ts +47 -0
  645. package/src/lib/design/system/sketch/merge-step.js +110 -0
  646. package/src/lib/design/system/sketch/merge-step.js.map +1 -0
  647. package/src/lib/design/system/sketch/merge-worker.d.ts +1 -0
  648. package/src/lib/design/system/sketch/merge-worker.js +14 -0
  649. package/src/lib/design/system/sketch/merge-worker.js.map +1 -0
  650. package/src/lib/design/system/sketch/merge.d.ts +19 -5
  651. package/src/lib/design/system/sketch/merge.js +245 -82
  652. package/src/lib/design/system/sketch/merge.js.map +1 -1
  653. package/src/lib/design/system/sketch/merged-layout.d.ts +17 -0
  654. package/src/lib/design/system/sketch/merged-layout.js +57 -0
  655. package/src/lib/design/system/sketch/merged-layout.js.map +1 -0
  656. package/src/lib/design/system/sketch/merged-parts.d.ts +31 -30
  657. package/src/lib/design/system/sketch/merged-parts.js +99 -84
  658. package/src/lib/design/system/sketch/merged-parts.js.map +1 -1
  659. package/src/lib/design/system/sketch/no-visible-change.d.ts +10 -0
  660. package/src/lib/design/system/sketch/no-visible-change.js +16 -6
  661. package/src/lib/design/system/sketch/no-visible-change.js.map +1 -1
  662. package/src/lib/design/system/sketch/note-language.d.ts +7 -0
  663. package/src/lib/design/system/sketch/note-language.js +83 -0
  664. package/src/lib/design/system/sketch/note-language.js.map +1 -0
  665. package/src/lib/design/system/sketch/part-definition.d.ts +27 -1
  666. package/src/lib/design/system/sketch/part-definition.js +109 -17
  667. package/src/lib/design/system/sketch/part-definition.js.map +1 -1
  668. package/src/lib/design/system/sketch/rebase-port.d.ts +24 -0
  669. package/src/lib/design/system/sketch/rebase-port.js +215 -0
  670. package/src/lib/design/system/sketch/rebase-port.js.map +1 -0
  671. package/src/lib/design/system/sketch/sample-mark-drift.d.ts +33 -0
  672. package/src/lib/design/system/sketch/sample-mark-drift.js +88 -0
  673. package/src/lib/design/system/sketch/sample-mark-drift.js.map +1 -0
  674. package/src/lib/design/system/sketch/sketch-check-cache.d.ts +11 -0
  675. package/src/lib/design/system/sketch/sketch-check-cache.js +22 -0
  676. package/src/lib/design/system/sketch/sketch-check-cache.js.map +1 -0
  677. package/src/lib/design/system/sketch/sketch-check-worker.d.ts +1 -0
  678. package/src/lib/design/system/sketch/sketch-check-worker.js +32 -0
  679. package/src/lib/design/system/sketch/sketch-check-worker.js.map +1 -0
  680. package/src/lib/design/system/sketch/sketch-checker.d.ts +40 -0
  681. package/src/lib/design/system/sketch/sketch-checker.js +109 -0
  682. package/src/lib/design/system/sketch/sketch-checker.js.map +1 -0
  683. package/src/lib/design/system/sketch/sketch.d.ts +100 -8
  684. package/src/lib/design/system/sketch/sketch.js +279 -36
  685. package/src/lib/design/system/sketch/sketch.js.map +1 -1
  686. package/src/lib/design/system/sketch/stale-base.d.ts +22 -0
  687. package/src/lib/design/system/sketch/stale-base.js +56 -0
  688. package/src/lib/design/system/sketch/stale-base.js.map +1 -0
  689. package/src/lib/design/system/sketch/unchanged-states.d.ts +39 -3
  690. package/src/lib/design/system/sketch/unchanged-states.js +75 -23
  691. package/src/lib/design/system/sketch/unchanged-states.js.map +1 -1
  692. package/src/lib/design/system/sketch/unused-closure.js +16 -4
  693. package/src/lib/design/system/sketch/unused-closure.js.map +1 -1
  694. package/src/lib/design/system/sketch/viewed-shots.d.ts +32 -0
  695. package/src/lib/design/system/sketch/viewed-shots.js +54 -0
  696. package/src/lib/design/system/sketch/viewed-shots.js.map +1 -0
  697. package/src/lib/design/system/skip-classes.d.ts +3 -0
  698. package/src/lib/design/system/skip-classes.js +17 -0
  699. package/src/lib/design/system/skip-classes.js.map +1 -0
  700. package/src/lib/design/system/slot-hosts.d.ts +38 -0
  701. package/src/lib/design/system/slot-hosts.js +93 -0
  702. package/src/lib/design/system/slot-hosts.js.map +1 -0
  703. package/src/lib/design/system/slow-checks.d.ts +44 -0
  704. package/src/lib/design/system/slow-checks.js +250 -0
  705. package/src/lib/design/system/slow-checks.js.map +1 -0
  706. package/src/lib/design/system/slow-run.d.ts +67 -0
  707. package/src/lib/design/system/slow-run.js +312 -0
  708. package/src/lib/design/system/slow-run.js.map +1 -0
  709. package/src/lib/design/system/stale-design-mocks.d.ts +20 -0
  710. package/src/lib/design/system/stale-design-mocks.js +59 -0
  711. package/src/lib/design/system/stale-design-mocks.js.map +1 -0
  712. package/src/lib/design/system/stale-dist.d.ts +61 -0
  713. package/src/lib/design/system/stale-dist.js +141 -0
  714. package/src/lib/design/system/stale-dist.js.map +1 -0
  715. package/src/lib/design/system/stale-parts.d.ts +45 -0
  716. package/src/lib/design/system/stale-parts.js +168 -0
  717. package/src/lib/design/system/stale-parts.js.map +1 -0
  718. package/src/lib/design/system/surface-nesting.d.ts +11 -0
  719. package/src/lib/design/system/surface-nesting.js +86 -0
  720. package/src/lib/design/system/surface-nesting.js.map +1 -0
  721. package/src/lib/design/system/system-command.js +11 -9
  722. package/src/lib/design/system/system-command.js.map +1 -1
  723. package/src/lib/design/system/system-modules.d.ts +17 -2
  724. package/src/lib/design/system/system-modules.js +18 -2
  725. package/src/lib/design/system/system-modules.js.map +1 -1
  726. package/src/lib/design/system/system-tsconfig.d.ts +9 -2
  727. package/src/lib/design/system/system-tsconfig.js +73 -13
  728. package/src/lib/design/system/system-tsconfig.js.map +1 -1
  729. package/src/lib/design/system/task-command.d.ts +52 -0
  730. package/src/lib/design/system/task-command.js +271 -0
  731. package/src/lib/design/system/task-command.js.map +1 -0
  732. package/src/lib/design/system/theming-text.d.ts +2 -0
  733. package/src/lib/design/system/theming-text.js +6 -0
  734. package/src/lib/design/system/theming-text.js.map +1 -0
  735. package/src/lib/design/system/touched-parts.d.ts +16 -0
  736. package/src/lib/design/system/touched-parts.js +121 -0
  737. package/src/lib/design/system/touched-parts.js.map +1 -0
  738. package/src/lib/design/system/tracked-reads.d.ts +27 -0
  739. package/src/lib/design/system/tracked-reads.js +100 -0
  740. package/src/lib/design/system/tracked-reads.js.map +1 -0
  741. package/src/lib/design/system/ts-source.d.ts +2 -0
  742. package/src/lib/design/system/ts-source.js +15 -1
  743. package/src/lib/design/system/ts-source.js.map +1 -1
  744. package/src/lib/design/system/unchanged-rows.d.ts +24 -0
  745. package/src/lib/design/system/unchanged-rows.js +212 -0
  746. package/src/lib/design/system/unchanged-rows.js.map +1 -0
  747. package/src/lib/design/system/uncommitted-decisions.d.ts +4 -0
  748. package/src/lib/design/system/uncommitted-decisions.js +35 -0
  749. package/src/lib/design/system/uncommitted-decisions.js.map +1 -0
  750. package/src/lib/design/system/uncovered-regions.d.ts +61 -0
  751. package/src/lib/design/system/uncovered-regions.js +171 -0
  752. package/src/lib/design/system/uncovered-regions.js.map +1 -0
  753. package/src/lib/design/system/unused-base-parts.d.ts +7 -0
  754. package/src/lib/design/system/unused-base-parts.js +76 -0
  755. package/src/lib/design/system/unused-base-parts.js.map +1 -0
  756. package/src/lib/design/system/visible-change-command.d.ts +60 -0
  757. package/src/lib/design/system/visible-change-command.js +310 -0
  758. package/src/lib/design/system/visible-change-command.js.map +1 -0
  759. package/src/lib/design/system/visible-change-parts.d.ts +28 -0
  760. package/src/lib/design/system/visible-change-parts.js +96 -0
  761. package/src/lib/design/system/visible-change-parts.js.map +1 -0
  762. package/src/lib/design/system/visible-change.d.ts +82 -0
  763. package/src/lib/design/system/visible-change.js +149 -0
  764. package/src/lib/design/system/visible-change.js.map +1 -0
  765. package/src/lib/design/system/write-origin.d.ts +12 -0
  766. package/src/lib/design/system/write-origin.js +18 -0
  767. package/src/lib/design/system/write-origin.js.map +1 -0
  768. package/src/lib/design/system-use.js +4 -4
  769. package/src/lib/design/system-use.js.map +1 -1
  770. package/src/lib/design/thumb.d.ts +37 -4
  771. package/src/lib/design/thumb.js +118 -21
  772. package/src/lib/design/thumb.js.map +1 -1
  773. package/src/lib/design/timings-command.d.ts +22 -0
  774. package/src/lib/design/timings-command.js +175 -0
  775. package/src/lib/design/timings-command.js.map +1 -0
  776. package/src/lib/design/timings.d.ts +117 -0
  777. package/src/lib/design/timings.js +296 -0
  778. package/src/lib/design/timings.js.map +1 -0
  779. package/src/lib/design/typecheck.d.ts +1 -1
  780. package/src/lib/design/typecheck.js +5 -5
  781. package/src/lib/design/typecheck.js.map +1 -1
  782. package/src/lib/design/unstable-cells.d.ts +23 -0
  783. package/src/lib/design/unstable-cells.js +40 -0
  784. package/src/lib/design/unstable-cells.js.map +1 -0
  785. package/src/lib/design/variant-diff.js +1 -1
  786. package/src/lib/design/variant-diff.js.map +1 -1
  787. package/src/lib/design/vite-cache.d.ts +11 -0
  788. package/src/lib/design/vite-cache.js +61 -0
  789. package/src/lib/design/vite-cache.js.map +1 -0
  790. package/src/lib/design/wait.d.ts +15 -0
  791. package/src/lib/design/wait.js +30 -0
  792. package/src/lib/design/wait.js.map +1 -0
  793. package/src/lib/design/warm-draw.d.ts +33 -0
  794. package/src/lib/design/warm-draw.js +74 -0
  795. package/src/lib/design/warm-draw.js.map +1 -0
  796. package/src/lib/design/warm-pages.d.ts +10 -2
  797. package/src/lib/design/warm-pages.js +6 -2
  798. package/src/lib/design/warm-pages.js.map +1 -1
  799. package/src/lib/design/work-root.d.ts +2 -0
  800. package/src/lib/design/work-root.js +8 -0
  801. package/src/lib/design/work-root.js.map +1 -0
  802. package/src/lib/json-file.d.ts +11 -0
  803. package/src/lib/json-file.js +21 -0
  804. package/src/lib/json-file.js.map +1 -0
  805. package/src/lib/plain-output.d.ts +27 -0
  806. package/src/lib/plain-output.js +66 -0
  807. package/src/lib/plain-output.js.map +1 -0
  808. package/src/lib/release.js +11 -3
  809. package/src/lib/release.js.map +1 -1
  810. package/src/lib/source-hash.d.ts +7 -0
  811. package/src/lib/source-hash.js +62 -0
  812. package/src/lib/source-hash.js.map +1 -0
  813. package/src/lib/update/agent-setup.js +2 -1
  814. package/src/lib/update/agent-setup.js.map +1 -1
  815. package/src/lib/update/commits.js +2 -2
  816. package/src/lib/update/commits.js.map +1 -1
  817. package/src/lib/update/migration-manifest.d.ts +12 -0
  818. package/src/lib/update/migration-manifest.js +13 -0
  819. package/src/lib/update/migration-manifest.js.map +1 -1
  820. package/src/lib/update/migration-record.js +2 -1
  821. package/src/lib/update/migration-record.js.map +1 -1
  822. package/src/lib/update/packages.js +4 -2
  823. package/src/lib/update/packages.js.map +1 -1
  824. package/src/lib/update/pending.js +2 -1
  825. package/src/lib/update/pending.js.map +1 -1
  826. package/src/lib/update/run-migrations.d.ts +3 -2
  827. package/src/lib/update/run-migrations.js +38 -5
  828. package/src/lib/update/run-migrations.js.map +1 -1
  829. package/src/lib/update/scan.js +8 -2
  830. package/src/lib/update/scan.js.map +1 -1
  831. package/src/lib/update/tasks.js +2 -1
  832. package/src/lib/update/tasks.js.map +1 -1
  833. package/src/lib/design/paths.js +0 -138
  834. package/src/lib/design/paths.js.map +0 -1
  835. package/src/lib/design/system/accept-command.d.ts +0 -7
  836. package/src/lib/design/system/accept-command.js +0 -55
  837. package/src/lib/design/system/accept-command.js.map +0 -1
@@ -9,14 +9,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.serveDesign = exports.createDesignServer = void 0;
12
+ exports.serveDesign = exports.createDesignServer = exports.installedRootsOf = exports.DELAY_FRAMES_ENV = exports.DESIGN_EVENTS_HEARTBEAT_MS = exports.sendHeldJson = exports.KEEP_ALIVE_MS = exports.registrySliceOf = void 0;
13
13
  const crypto_1 = require("crypto");
14
14
  const fs_1 = require("fs");
15
15
  const net_1 = require("net");
16
16
  const promises_1 = require("timers/promises");
17
17
  const path_1 = require("path");
18
+ const rxjs_1 = require("rxjs");
18
19
  const calls_1 = require("./calls");
19
20
  const calls_tsconfig_1 = require("./calls-tsconfig");
21
+ const parent_watch_1 = require("./parent-watch");
20
22
  const legacy_1 = require("./legacy");
21
23
  const vite_paths_1 = require("./vite-paths");
22
24
  const studio_api_1 = require("./studio-api");
@@ -29,27 +31,40 @@ const generated_stylesheets_1 = require("./generated-stylesheets");
29
31
  const sketch_stylesheets_1 = require("./sketch-stylesheets");
30
32
  const draw_ledger_1 = require("./draw-ledger");
31
33
  const shot_1 = require("./shot");
34
+ const old_shot_folders_1 = require("./old-shot-folders");
32
35
  const shot_store_1 = require("./shot-store");
33
36
  const imports_1 = require("./system/imports");
37
+ const served_cache_1 = require("./system/served-cache");
34
38
  const changed_parts_1 = require("./changed-parts");
39
+ const server_identity_1 = require("./server-identity");
35
40
  const stamp_1 = require("./stamp");
41
+ const code_hash_1 = require("./code-hash");
36
42
  const list_system_1 = require("./system/list-system");
43
+ const stale_dist_1 = require("./system/stale-dist");
44
+ const check_system_1 = require("./system/check-system");
37
45
  const resolve_product_1 = require("./system/resolve-product");
38
46
  const system_modules_1 = require("./system/system-modules");
39
47
  const kit_1 = require("./system/kit");
40
48
  const system_tsconfig_1 = require("./system/system-tsconfig");
41
49
  const sketch_1 = require("./system/sketch/sketch");
50
+ const sketch_checker_1 = require("./system/sketch/sketch-checker");
42
51
  const unchanged_states_1 = require("./system/sketch/unchanged-states");
43
52
  const inventory_1 = require("./system/inventory");
53
+ const shot_board_1 = require("./shot-board");
44
54
  const thumb_1 = require("./thumb");
45
55
  const motion_endpoint_1 = require("./motion-endpoint");
46
- const paths_1 = require("./paths");
56
+ const package_root_1 = require("./package-root");
57
+ const vite_cache_1 = require("./vite-cache");
58
+ const work_root_1 = require("./work-root");
59
+ const design_config_1 = require("./design-config");
60
+ const slow_run_1 = require("./system/slow-run");
61
+ const build_watch_1 = require("./build-watch");
47
62
  const VIRTUAL = 'virtual:design-explore';
48
63
  const REBUILD_SETTLE_MS = 300;
49
64
  /** What a slug says about which project drew it: its first segment. */
50
65
  const projectOf = (slug) => { var _a; return (_a = slug.split('/')[0]) !== null && _a !== void 0 ? _a : ''; };
51
66
  const registry = (target) => {
52
- const root = (0, paths_1.callsRootOf)(target);
67
+ const root = (0, design_config_1.callsRootOf)(target);
53
68
  const entries = (0, calls_1.callSlugsOf)(target).map((slug) => [slug, (0, vite_paths_1.fsUrl)((0, path_1.resolve)(root, slug, 'call.ts'))]);
54
69
  return `export const calls = {\n${entries
55
70
  .map(([slug, url]) => ` ${JSON.stringify(slug)}: () => import(${JSON.stringify(url)}),`)
@@ -184,10 +199,68 @@ const systemRegistry = (system) => `export const parts = {\n${system
184
199
  .products()
185
200
  .map((product) => ` ${JSON.stringify(product)}: {\n${sketchRegistry(system, product)}\n },`)
186
201
  .join('\n')}\n};\n${tokensRegistry(system)}`;
202
+ /**
203
+ * The entries of the env and system modules that a frame with the search params `query` can read: its product's parts,
204
+ * tokens and stylesheets, and those of the sketch variants it names; a call frame's project stylesheets and themes.
205
+ */
206
+ const registrySliceOf = (options) => {
207
+ var _a, _b, _c, _d, _e, _f;
208
+ const { target, config, system, query } = options;
209
+ const product = query.get('product');
210
+ if (!product) {
211
+ const project = projectOf((_a = query.get('call')) !== null && _a !== void 0 ? _a : '');
212
+ const entry = (_b = config.projects) === null || _b === void 0 ? void 0 : _b[project];
213
+ return `project ${JSON.stringify(project)}\n${entry ? stylesLoaderOf({ target, entry }) : 'none'}\n${themesOfSettings(entry ? { [project]: entry } : {})}\n`;
214
+ }
215
+ const entry = (_c = config.products) === null || _c === void 0 ? void 0 : _c[product];
216
+ const sketchOf = (part, variant) => part ? { target: part, variant: variant !== null && variant !== void 0 ? variant : '' } : null;
217
+ const sketch = sketchOf(query.get('sketch'), query.get('variant'));
218
+ const named = [sketch, sketchOf(query.get('props'), query.get('props-variant'))].filter((named) => named !== null);
219
+ const listed = system.sketchesOf(product);
220
+ const sketchStyles = sketch && entry && system.replacedStylesheetsOf({ product, sketch }).size > 0
221
+ ? stylesLoaderOf({ target, entry, product, sketch })
222
+ : 'none';
223
+ return [
224
+ `product ${JSON.stringify(product)}`,
225
+ partsRegistry({ parts: (_e = (_d = system.productOf(product)) === null || _d === void 0 ? void 0 : _d.parts) !== null && _e !== void 0 ? _e : [], product, indent: '' }),
226
+ ...named.map((variant) => { var _a, _b; return `sketch ${JSON.stringify(variant)} ${listed.some(({ target: part, variants }) => part === variant.target && variants.includes(variant.variant))}\n${partsRegistry({ parts: (_b = (_a = system.drawnOf(product, variant)) === null || _a === void 0 ? void 0 : _a.parts) !== null && _b !== void 0 ? _b : [], product, sketch: variant, indent: '' })}`; }),
227
+ `tokens ${(_f = tokensLoaderOf({ system, product, sketch: sketch !== null && sketch !== void 0 ? sketch : undefined })) !== null && _f !== void 0 ? _f : 'none'}`,
228
+ `styles ${entry ? stylesLoaderOf({ target, entry, product }) : 'none'} ${sketchStyles}`,
229
+ '',
230
+ ].join('\n');
231
+ };
232
+ exports.registrySliceOf = registrySliceOf;
187
233
  const sendJson = (response, answer) => {
188
234
  response.setHeader('access-control-allow-origin', '*');
189
235
  (0, thumb_1.send)(response, { status: answer.status, type: 'application/json', body: JSON.stringify(answer.body) });
190
236
  };
237
+ exports.KEEP_ALIVE_MS = 15000;
238
+ /**
239
+ * Sends `answered` as JSON, and a space every `KEEP_ALIVE_MS` while it is pending: WebKit fails a fetch with "Load
240
+ * failed" when no byte arrives for 60 s. Once a space went out the status is 200, so a later failure arrives as its
241
+ * body alone.
242
+ */
243
+ const sendHeldJson = (response, answered) => {
244
+ let started = false;
245
+ const tick = (0, rxjs_1.interval)(exports.KEEP_ALIVE_MS)
246
+ .pipe((0, rxjs_1.tap)(() => {
247
+ if (!started) {
248
+ started = true;
249
+ response.writeHead(200, { 'access-control-allow-origin': '*', 'content-type': 'application/json' });
250
+ }
251
+ response.write(' ');
252
+ }))
253
+ .subscribe();
254
+ response.once('close', () => tick.unsubscribe());
255
+ return answered.then((answer) => {
256
+ tick.unsubscribe();
257
+ if (started)
258
+ response.end(JSON.stringify(answer.body));
259
+ else
260
+ sendJson(response, answer);
261
+ });
262
+ };
263
+ exports.sendHeldJson = sendHeldJson;
191
264
  const isCommentFile = (file) => file.endsWith('.json') && (0, path_1.basename)((0, path_1.dirname)(file)) === 'comments';
192
265
  const isNoteFile = (file) => file.endsWith('.json') && (0, path_1.basename)((0, path_1.dirname)(file)) === 'notes';
193
266
  const isFlowFile = (file) => file.endsWith('.json') && (0, path_1.basename)((0, path_1.dirname)(file)) === 'flows';
@@ -196,6 +269,15 @@ const isSketchFile = (designRoot, file) => {
196
269
  const [product, folder, ...inside] = (0, path_1.relative)(designRoot, (0, path_1.resolve)(file)).split(path_1.sep);
197
270
  return !!product && product !== '..' && folder === 'sketches' && inside.length > 0;
198
271
  };
272
+ // Workaround: WebKit drops an event stream that sends nothing for 60 seconds.
273
+ exports.DESIGN_EVENTS_HEARTBEAT_MS = 20000;
274
+ /** Test tooling: when set to a whole number of ms, every `/frame.html` document waits that long before it is served. */
275
+ exports.DELAY_FRAMES_ENV = 'ETHLETE_DESIGN_DELAY_FRAMES_MS';
276
+ const frameDelayMsOf = () => {
277
+ var _a;
278
+ const ms = Number((_a = process.env[exports.DELAY_FRAMES_ENV]) !== null && _a !== void 0 ? _a : 0);
279
+ return Number.isInteger(ms) && ms > 0 ? ms : 0;
280
+ };
199
281
  /**
200
282
  * A server-sent event stream for Studio: `comments`, `notes`, `flows`, `calls` and `sketches` when a file of that
201
283
  * kind changed, and `parts` with the parts a design system change redraws and the revision it gave them. A `parts`
@@ -203,6 +285,11 @@ const isSketchFile = (designRoot, file) => {
203
285
  */
204
286
  const createDesignEvents = () => {
205
287
  const listeners = new Set();
288
+ let heartbeat;
289
+ const beat = () => {
290
+ for (const response of listeners)
291
+ response.write(': heartbeat\n\n');
292
+ };
206
293
  return {
207
294
  middleware: (request, response) => {
208
295
  response.writeHead(200, {
@@ -213,13 +300,22 @@ const createDesignEvents = () => {
213
300
  });
214
301
  response.write(': open\n\n');
215
302
  listeners.add(response);
216
- request.on('close', () => listeners.delete(response));
303
+ heartbeat !== null && heartbeat !== void 0 ? heartbeat : (heartbeat = (0, rxjs_1.interval)(exports.DESIGN_EVENTS_HEARTBEAT_MS).subscribe(beat));
304
+ request.on('close', () => {
305
+ listeners.delete(response);
306
+ if (listeners.size === 0) {
307
+ heartbeat === null || heartbeat === void 0 ? void 0 : heartbeat.unsubscribe();
308
+ heartbeat = undefined;
309
+ }
310
+ });
217
311
  },
218
312
  signal: (event, data = {}) => {
219
313
  for (const response of listeners)
220
314
  response.write(`event: ${event}\ndata: ${JSON.stringify(data)}\n\n`);
221
315
  },
222
316
  close: () => {
317
+ heartbeat === null || heartbeat === void 0 ? void 0 : heartbeat.unsubscribe();
318
+ heartbeat = undefined;
223
319
  for (const response of listeners)
224
320
  response.end();
225
321
  listeners.clear();
@@ -250,6 +346,7 @@ const shotStoreOf = (options) => {
250
346
  return (0, shot_store_1.createShotStore)({
251
347
  dir,
252
348
  salt,
349
+ checkout: target,
253
350
  inputsOf: (address) => {
254
351
  var _a, _b;
255
352
  const { product, part } = address;
@@ -271,15 +368,15 @@ const shotStoreOf = (options) => {
271
368
  ...((_a = entry.generated) !== null && _a !== void 0 ? _a : []).flatMap((generated) => { var _a, _b; return (_b = (_a = system.partOf({ product, part: generated.part, sketch })) === null || _a === void 0 ? void 0 : _a.css) !== null && _b !== void 0 ? _b : []; }),
272
369
  ];
273
370
  });
274
- // The snapshot folder is named after the server's pid, so its files are gone after a restart; the salt's build stamp covers them.
275
- const snapshot = (0, path_1.dirname)((0, paths_1.assetRoot)());
371
+ // The snapshot folder is named after the server's pid, so its files are gone after a restart; the salt's asset hash covers them.
372
+ const snapshots = [...new Set([(0, path_1.dirname)((0, package_root_1.assetRoot)()), (0, fs_1.realpathSync)((0, path_1.dirname)((0, package_root_1.assetRoot)()))])];
276
373
  return [
277
374
  ...(0, shot_1.dependencyFilesOf)([...roots.flatMap((root) => root !== null && root !== void 0 ? root : []), ...styles], stylesheetImports),
278
375
  ...read,
279
- (0, paths_1.configPathOf)(target),
376
+ (0, design_config_1.configPathOf)(target),
280
377
  (0, path_1.resolve)(target, 'tsconfig.base.json'),
281
378
  ...(entry.head ? [(0, path_1.resolve)(target, entry.head)] : []),
282
- ].filter((file) => !isInside(snapshot, (0, path_1.resolve)(file)));
379
+ ].filter((file) => !snapshots.some((snapshot) => isInside(snapshot, (0, path_1.resolve)(file))));
283
380
  },
284
381
  scopeOf: (address) => JSON.stringify(drawnSystemsOf(address).map((sketch) => {
285
382
  const drawn = system.drawnOf(address.product, sketch);
@@ -291,7 +388,7 @@ const shotStoreOf = (options) => {
291
388
  })),
292
389
  });
293
390
  };
294
- const designExplore = ({ target, config, system, stylesheetImports, shotCacheDir, }) => {
391
+ const designExplore = ({ target, config, system, stylesheetImports, shotCacheDir, checkSketches, }) => {
295
392
  const renderer = (0, render_1.createRenderer)({ target, config });
296
393
  const transform = withAssetUrls(system);
297
394
  const packageDirs = () => (0, render_packages_1.renderPackageDirsOf)({ target, packages: (0, render_packages_1.renderPackagesOf)({ target, config }) });
@@ -349,21 +446,32 @@ const designExplore = ({ target, config, system, stylesheetImports, shotCacheDir
349
446
  /** The registries are built once per load, so a new call or part folder is invisible until it is invalidated. */
350
447
  configureServer: (vite) => {
351
448
  var _a, _b, _c;
352
- const callsRoot = (0, paths_1.callsRootOf)(target);
353
- const designRoot = (0, path_1.resolve)(target, paths_1.DESIGN_DIR);
449
+ const callsRoot = (0, design_config_1.callsRootOf)(target);
450
+ const designRoot = (0, path_1.resolve)(target, design_config_1.DESIGN_DIR);
354
451
  const stamp = (0, stamp_1.buildStampOf)();
452
+ const identityOf = (0, server_identity_1.serverIdentityOf)(target);
355
453
  const base = () => {
356
454
  var _a;
357
455
  const address = (_a = vite.httpServer) === null || _a === void 0 ? void 0 : _a.address();
358
- return `http://localhost:${address && typeof address === 'object' ? address.port : (0, paths_1.portOf)(config)}`;
456
+ return `http://localhost:${address && typeof address === 'object' ? address.port : (0, design_config_1.portOf)(config)}`;
359
457
  };
360
- const ledger = (0, draw_ledger_1.createDrawLedger)(Date.now, ({ sketch }) => !sketch || system.drawnOf(sketch.product, sketch) !== null);
458
+ const ledger = (0, draw_ledger_1.createDrawLedger)(Date.now, ({ sketch }) => {
459
+ const drawn = sketch && system.drawnOf(sketch.product, sketch);
460
+ return !sketch || (!!drawn && !('sketchGone' in drawn));
461
+ });
361
462
  const thumbs = (0, thumb_1.createThumbnailer)({ target, base, ledger });
362
463
  const inventoryDraws = (0, thumb_1.createDrawQueue)({ target, ledger });
464
+ const sketchChecker = checkSketches ? undefined : (0, sketch_checker_1.createSketchChecker)();
465
+ const ruleChecker = checkSketches ? undefined : (0, sketch_checker_1.createSketchChecker)();
466
+ const events = createDesignEvents();
467
+ let revision = 0;
363
468
  const shots = (0, shot_1.createPartShooter)(Object.assign(Object.assign({ target,
364
469
  base,
365
470
  ledger,
366
- system }, (shotCacheDir
471
+ system, changed: (part) => {
472
+ revision += 1;
473
+ events.signal('parts', { revision, all: false, parts: [part] });
474
+ } }, (shotCacheDir
367
475
  ? {
368
476
  store: shotStoreOf({
369
477
  target,
@@ -371,7 +479,7 @@ const designExplore = ({ target, config, system, stylesheetImports, shotCacheDir
371
479
  system,
372
480
  stylesheetImports,
373
481
  dir: shotCacheDir,
374
- salt: `${stamp.version} ${stamp.build}`,
482
+ salt: (0, code_hash_1.designPictureCodeOf)(),
375
483
  moduleById: (id) => vite.moduleGraph.getModuleById(id),
376
484
  }),
377
485
  }
@@ -402,8 +510,6 @@ const designExplore = ({ target, config, system, stylesheetImports, shotCacheDir
402
510
  thumbs.forget((0, path_1.relative)(callsRoot, file));
403
511
  shots.forgetCalls((0, path_1.relative)(callsRoot, file));
404
512
  };
405
- const events = createDesignEvents();
406
- let revision = 0;
407
513
  const redraw = (change, listed = false) => {
408
514
  if (!change.all && change.parts.length === 0 && !change.errored) {
409
515
  if (listed)
@@ -411,9 +517,10 @@ const designExplore = ({ target, config, system, stylesheetImports, shotCacheDir
411
517
  return;
412
518
  }
413
519
  revision += 1;
414
- (0, unchanged_states_1.forgetUnchangedStates)();
520
+ (0, unchanged_states_1.forgetUnchangedStates)(change);
521
+ (0, studio_api_1.detachRunningListings)();
415
522
  if (change.all)
416
- shots.clear();
523
+ shots.clear({ announced: true });
417
524
  else
418
525
  shots.forget(change);
419
526
  events.signal('parts', Object.assign({ revision }, change));
@@ -422,19 +529,21 @@ const designExplore = ({ target, config, system, stylesheetImports, shotCacheDir
422
529
  if (hot) {
423
530
  const send = hot.send.bind(hot);
424
531
  hot.send = (payload, data) => {
532
+ var _a, _b;
425
533
  // HMR is disabled: Studio must replace frames when Vite invalidates optimized dependency URLs.
426
534
  if (typeof payload === 'object' && payload.type === 'full-reload') {
535
+ console.error(`[design] vite full-reload: ${(_b = (_a = payload.triggeredBy) !== null && _a !== void 0 ? _a : payload.path) !== null && _b !== void 0 ? _b : 'no path'}`);
427
536
  thumbs.clear();
428
537
  redraw(changed_parts_1.ALL_PARTS);
429
538
  }
430
539
  return typeof payload === 'string' ? send(payload, data) : send(payload);
431
540
  };
432
541
  }
433
- const configPath = (0, paths_1.configPathOf)(target);
542
+ const configPath = (0, design_config_1.configPathOf)(target);
434
543
  const reloadConfig = () => {
435
544
  let next;
436
545
  try {
437
- next = (0, paths_1.readConfig)(target);
546
+ next = (0, design_config_1.readConfig)(target);
438
547
  }
439
548
  catch (error) {
440
549
  console.error(`design-explore: ${configPath} is invalid, keeping the last good config (${error instanceof Error ? error.message : String(error)})`);
@@ -452,14 +561,16 @@ const designExplore = ({ target, config, system, stylesheetImports, shotCacheDir
452
561
  };
453
562
  const reloadFlows = () => {
454
563
  thumbs.clear();
455
- shots.clear();
564
+ shots.clear({ announced: false });
456
565
  events.signal('flows');
457
566
  };
458
567
  const signalLists = (file) => {
459
568
  if (isInside(callsRoot, file))
460
569
  events.signal('calls');
461
- else if (isSketchFile(designRoot, file))
570
+ else if (isSketchFile(designRoot, file)) {
571
+ (0, studio_api_1.detachRunningListings)();
462
572
  events.signal('sketches');
573
+ }
463
574
  };
464
575
  const isSystemFile = (file) => !isInside(callsRoot, file) &&
465
576
  !isSketchFile(designRoot, file) &&
@@ -531,22 +642,50 @@ const designExplore = ({ target, config, system, stylesheetImports, shotCacheDir
531
642
  const dependents = (0, shot_1.dependentIdsOf)((_a = vite.moduleGraph.getModulesByFile(file)) !== null && _a !== void 0 ? _a : [], stylesheetImports);
532
643
  redraw((0, changed_parts_1.changedPartsOf)({ target, config, system, file, dependents }), isSystemFile(file));
533
644
  };
534
- const answer = (handle) => (request, response) => {
645
+ const answer = (handle, held = false) => (request, response) => {
535
646
  var _a;
536
- return void handle(new URL((_a = request.url) !== null && _a !== void 0 ? _a : '', 'http://localhost'), request).then((answered) => sendJson(response, answered), (error) => sendJson(response, {
647
+ const closed = new AbortController();
648
+ response.once('close', () => {
649
+ if (!response.writableFinished)
650
+ closed.abort();
651
+ });
652
+ const answered = handle(new URL((_a = request.url) !== null && _a !== void 0 ? _a : '', 'http://localhost'), {
653
+ request,
654
+ signal: closed.signal,
655
+ }).catch((error) => ({
537
656
  status: 500,
538
657
  body: { error: error instanceof Error ? error.message : String(error) },
539
658
  }));
659
+ void (held ? (0, exports.sendHeldJson)(response, answered) : answered.then((answer) => sendJson(response, answer)));
540
660
  };
661
+ const frameDelayMs = frameDelayMsOf();
662
+ if (frameDelayMs)
663
+ vite.middlewares.use('/frame.html', (...[, , next]) => (0, rxjs_1.timer)(frameDelayMs)
664
+ .pipe((0, rxjs_1.tap)(() => next()))
665
+ .subscribe());
541
666
  vite.middlewares.use(stamp_1.STAMP_PATH, (_request, response) => {
542
667
  response.setHeader('content-type', 'application/json');
543
- response.end(JSON.stringify(stamp));
668
+ response.end(JSON.stringify(Object.assign(Object.assign({}, stamp), identityOf())));
544
669
  });
545
670
  vite.middlewares.use(draw_ledger_1.QUEUE_PATH, (_request, response) => sendJson(response, { status: 200, body: ledger.report() }));
546
671
  vite.middlewares.use(render_1.RENDER_PATH, (0, render_1.renderMiddleware)(renderer));
672
+ vite.middlewares.use(served_cache_1.REGISTRY_SLICE_PATH, (request, response) => {
673
+ var _a;
674
+ return (0, thumb_1.send)(response, {
675
+ status: 200,
676
+ type: 'text/plain',
677
+ body: (0, exports.registrySliceOf)({
678
+ target,
679
+ config,
680
+ system,
681
+ query: new URL((_a = request.url) !== null && _a !== void 0 ? _a : '', 'http://localhost').searchParams,
682
+ }),
683
+ });
684
+ });
547
685
  vite.middlewares.use(render_1.FORCE_PATH, render_1.forceMiddleware);
548
686
  vite.middlewares.use(thumb_1.THUMB_PATH, thumbs.middleware);
549
687
  vite.middlewares.use(shot_1.SHOT_PATH, shots.middleware);
688
+ vite.middlewares.use(shot_board_1.SHOT_VIEW_PATH, shots.viewMiddleware);
550
689
  vite.middlewares.use(studio_api_1.MOTION_PATH, (0, motion_endpoint_1.motionMiddleware)({
551
690
  system,
552
691
  motionOf: shots.motionOf,
@@ -568,15 +707,16 @@ const designExplore = ({ target, config, system, stylesheetImports, shotCacheDir
568
707
  const asked = url.searchParams.get('product');
569
708
  if (asked && !((_a = config.products) === null || _a === void 0 ? void 0 : _a[asked]))
570
709
  return { status: 404, body: { error: `no product "${asked}"` } };
571
- const products = yield (0, list_system_1.listSystem)({
572
- target,
573
- system,
574
- products: asked ? [asked] : system.products(),
575
- load: ({ file, product }) => vite.ssrLoadModule((0, system_modules_1.productModuleIdOf)({ file, product })),
576
- });
710
+ const missing = (0, stale_dist_1.missingDistOf)({ target, config });
711
+ if (missing.length > 0)
712
+ return { status: 503, body: { error: `missing build: ${missing.join('; ')}` } };
713
+ const products = yield (0, list_system_1.listSystem)(Object.assign({ target,
714
+ system, products: asked ? [asked] : system.products(), load: ({ file, product }) => vite.ssrLoadModule((0, system_modules_1.productModuleIdOf)({ file, product })) }, (ruleChecker && {
715
+ problemsOf: (name, product) => ruleChecker.rules({ target, product: name }).catch(() => (0, check_system_1.ruleProblemsOf)(product)),
716
+ })));
577
717
  return { status: 200, body: products };
578
718
  })));
579
- vite.middlewares.use(product_command_1.PRODUCT_PATH, answer((_url, request) => __awaiter(void 0, void 0, void 0, function* () {
719
+ vite.middlewares.use(product_command_1.PRODUCT_PATH, answer((_url_1, _a) => __awaiter(void 0, [_url_1, _a], void 0, function* (_url, { request }) {
580
720
  const created = yield (0, product_command_1.newProductAnswer)({ target, request });
581
721
  if (created.status === 201)
582
722
  reloadConfig();
@@ -588,22 +728,24 @@ const designExplore = ({ target, config, system, stylesheetImports, shotCacheDir
588
728
  body: yield (0, calls_1.listCalls)({ target, load: (file) => vite.ssrLoadModule(file) }),
589
729
  });
590
730
  })));
591
- vite.middlewares.use(legacy_1.TRANSFER_PATH, answer((url, request) => __awaiter(void 0, void 0, void 0, function* () {
592
- var _a;
731
+ vite.middlewares.use(legacy_1.TRANSFER_PATH, answer((url_1, _a) => __awaiter(void 0, [url_1, _a], void 0, function* (url, { request }) {
732
+ var _b;
593
733
  if (request.method !== 'POST')
594
734
  return { status: 405, body: { error: 'POST only' } };
595
- const result = (0, legacy_1.markTransferred)({ target, slug: (_a = url.searchParams.get('call')) !== null && _a !== void 0 ? _a : '' });
735
+ const result = (0, legacy_1.markTransferred)({ target, slug: (_b = url.searchParams.get('call')) !== null && _b !== void 0 ? _b : '' });
596
736
  const status = result === 'missing' ? 404 : result === 'unreadable' ? 422 : 200;
597
737
  return { status, body: { result } };
598
738
  })));
599
- const studio = (path, handle) => vite.middlewares.use(path, answer((url, request) => __awaiter(void 0, void 0, void 0, function* () {
739
+ const studio = (path, handle) => vite.middlewares.use(path, answer((url_1, _a) => __awaiter(void 0, [url_1, _a], void 0, function* (url, { request, signal }) {
600
740
  return handle({
601
741
  target,
602
742
  url,
603
743
  request,
744
+ signal,
604
745
  load: ({ file, product, sketch }) => vite.ssrLoadModule((0, system_modules_1.productModuleIdOf)({ file, product, sketch })),
605
746
  pictureOf: shots.pictureOf,
606
747
  boxOf: shots.changedBoxesOf,
748
+ checkSketches: checkSketches !== null && checkSketches !== void 0 ? checkSketches : sketchChecker,
607
749
  inventoryOf: ({ product, part }) => (0, inventory_1.inventoryOf)({
608
750
  product,
609
751
  part,
@@ -613,7 +755,7 @@ const designExplore = ({ target, config, system, stylesheetImports, shotCacheDir
613
755
  draw: (job) => inventoryDraws.run(job),
614
756
  }),
615
757
  });
616
- })));
758
+ }), path === studio_api_1.SKETCHES_PATH));
617
759
  studio(studio_api_1.SKETCHES_PATH, studio_api_1.sketchesAnswer);
618
760
  studio(studio_api_1.SKETCH_PREVIEW_PATH, studio_api_1.sketchPreviewAnswer);
619
761
  studio(studio_api_1.SKETCH_COMPARE_PATH, studio_api_1.sketchCompareAnswer);
@@ -638,14 +780,19 @@ const designExplore = ({ target, config, system, stylesheetImports, shotCacheDir
638
780
  studio(studio_api_1.INVENTORY_PATH, studio_api_1.inventoryAnswer);
639
781
  studio(studio_api_1.INVENTORY_APPROVE_PATH, studio_api_1.inventoryApproveAnswer);
640
782
  studio(studio_api_1.OPEN_POINTS_PATH, studio_api_1.openPointsAnswer);
641
- studio(studio_api_1.PART_READY_PATH, studio_api_1.partReadyAnswer);
642
783
  studio(studio_api_1.EXCEPTIONS_PATH, studio_api_1.exceptionsAnswer);
643
784
  studio(studio_api_1.EXCEPTION_APPROVE_PATH, studio_api_1.exceptionApproveAnswer);
644
785
  vite.middlewares.use(studio_api_1.COMMENT_EVENTS_PATH, events.middleware);
645
786
  (_c = vite.httpServer) === null || _c === void 0 ? void 0 : _c.on('close', () => {
646
787
  events.close();
647
788
  settling === null || settling === void 0 ? void 0 : settling.abort();
648
- void Promise.all([thumbs.close(), shots.close(), inventoryDraws.close()]);
789
+ void Promise.all([
790
+ thumbs.close(),
791
+ shots.close(),
792
+ inventoryDraws.close(),
793
+ sketchChecker === null || sketchChecker === void 0 ? void 0 : sketchChecker.close(),
794
+ ruleChecker === null || ruleChecker === void 0 ? void 0 : ruleChecker.close(),
795
+ ]);
649
796
  });
650
797
  vite.watcher.add([designRoot, ...baseDirs, ...packageDirs()]);
651
798
  vite.watcher.on('add', (file) => (isPackageFile(file) ? packageChanged(file) : refresh(file)));
@@ -663,6 +810,24 @@ const freePortOf = () => new Promise((resolvePort, reject) => {
663
810
  probe.close(() => resolvePort(port));
664
811
  });
665
812
  });
813
+ /** The real directories a checkout's `node_modules` points into, which Vite refuses to serve unless allowed. */
814
+ const installedRootsOf = (target) => {
815
+ const modules = (0, path_1.join)(target, 'node_modules');
816
+ const roots = new Set();
817
+ try {
818
+ roots.add((0, fs_1.realpathSync)(modules));
819
+ for (const entry of (0, fs_1.readdirSync)(modules, { withFileTypes: true })) {
820
+ if (entry.isSymbolicLink() && !entry.name.startsWith('.')) {
821
+ roots.add((0, path_1.dirname)((0, fs_1.realpathSync)((0, path_1.join)(modules, entry.name))));
822
+ }
823
+ }
824
+ }
825
+ catch (_a) {
826
+ return [...roots];
827
+ }
828
+ return [...roots];
829
+ };
830
+ exports.installedRootsOf = installedRootsOf;
666
831
  /**
667
832
  * The Vite server that draws a checkout: listening on the configured port to serve the frames, or in
668
833
  * middleware mode only to load design modules for a command. With `port`, it listens there instead
@@ -671,7 +836,7 @@ const freePortOf = () => new Promise((resolvePort, reject) => {
671
836
  */
672
837
  const createDesignServer = (options) => __awaiter(void 0, void 0, void 0, function* () {
673
838
  var _a;
674
- const { target, config, listen, sketchesRoot } = options;
839
+ const { target, config, listen, sketchesRoot, checkSketches } = options;
675
840
  const host = options.host || process.env['DE_HOST'] || undefined;
676
841
  const own = listen && options.port !== undefined;
677
842
  const port = own ? yield freePortOf() : options.listenOn;
@@ -681,7 +846,7 @@ const createDesignServer = (options) => __awaiter(void 0, void 0, void 0, functi
681
846
  process.chdir(target);
682
847
  const { createServer } = yield import('vite');
683
848
  const { default: tailwind } = yield import('@tailwindcss/postcss');
684
- const here = (0, paths_1.assetRoot)();
849
+ const here = (0, package_root_1.assetRoot)();
685
850
  const system = (0, system_modules_1.createSystemModules)({ target, config, sketchesRoot });
686
851
  const generatedStylesheetsOf = (0, generated_stylesheets_1.createGeneratedStylesheets)({ target, config, system });
687
852
  if (listen) {
@@ -693,7 +858,9 @@ const createDesignServer = (options) => __awaiter(void 0, void 0, void 0, functi
693
858
  }
694
859
  const baseDirs = system.products().flatMap((name) => { var _a, _b, _c; return (_c = (_b = (_a = system.productOf(name)) === null || _a === void 0 ? void 0 : _a.base) === null || _b === void 0 ? void 0 : _b.dir) !== null && _c !== void 0 ? _c : []; });
695
860
  const stylesheetImports = new Map();
696
- const cache = listen && !own ? null : (0, paths_1.claimViteCache)(target, 'vite-check');
861
+ const cache = listen && !own ? null : (0, vite_cache_1.claimViteCache)(target, 'vite-check');
862
+ if (listen && !own)
863
+ void (0, old_shot_folders_1.removeOldShotFolders)((0, work_root_1.workRootOf)(target));
697
864
  const server = yield createServer(Object.assign(Object.assign(Object.assign({ configFile: false, root: (0, path_1.resolve)(here, 'web'),
698
865
  // Every drawing is ruled under Tailwind 4, whatever the checkout installs. The tool brings its
699
866
  // own pipeline so no checkout's postcss config reaches a drawing.
@@ -710,7 +877,7 @@ const createDesignServer = (options) => __awaiter(void 0, void 0, void 0, functi
710
877
  (0, shot_1.stylesheetImportsPlugin)(stylesheetImports),
711
878
  ],
712
879
  },
713
- }, cacheDir: (_a = cache === null || cache === void 0 ? void 0 : cache.dir) !== null && _a !== void 0 ? _a : (0, paths_1.viteCacheOf)(target, 'vite'), resolve: {
880
+ }, cacheDir: (_a = cache === null || cache === void 0 ? void 0 : cache.dir) !== null && _a !== void 0 ? _a : (0, vite_cache_1.viteCacheOf)(target, 'vite'), resolve: {
714
881
  alias: [
715
882
  { find: /^@design-explore$/, replacement: (0, path_1.resolve)(here, 'define-call.ts') },
716
883
  { find: new RegExp(`^${system_tsconfig_1.DESIGN_SYSTEM_SPECIFIER}$`), replacement: (0, path_1.resolve)(here, 'define-part.ts') },
@@ -729,15 +896,16 @@ const createDesignServer = (options) => __awaiter(void 0, void 0, void 0, functi
729
896
  config,
730
897
  system,
731
898
  stylesheetImports,
732
- shotCacheDir: listen && !own ? (0, paths_1.viteCacheOf)(target, 'shots') : null,
899
+ shotCacheDir: listen && !own ? (0, path_1.resolve)((0, work_root_1.workRootOf)(target), shot_store_1.SHOT_STORE_DIR) : null,
900
+ checkSketches,
733
901
  }),
734
902
  ] }, (listen ? {} : { appType: 'custom' })), (listen && !own ? {} : { logLevel: 'error' })), { server: Object.assign(Object.assign({
735
903
  // Studio swaps a frame for a fresh one once it has painted; a Vite reload would blank every frame at once.
736
904
  hmr: false }, (listen
737
- ? Object.assign(Object.assign(Object.assign({ port: port !== null && port !== void 0 ? port : (0, paths_1.portOf)(config) }, (host ? { host } : {})), { strictPort: true }), (own ? { watch: null } : {})) : { middlewareMode: true, ws: false, watch: null })), {
905
+ ? Object.assign(Object.assign(Object.assign({ port: port !== null && port !== void 0 ? port : (0, design_config_1.portOf)(config) }, (host ? { host } : {})), { strictPort: !own }), (own ? { watch: null } : {})) : { middlewareMode: true, ws: false, watch: null })), {
738
906
  // The frame page lives inside this package, which is outside the checkout it draws. Vite
739
907
  // serves neither root unless both are allowed.
740
- fs: { allow: [target, here, ...baseDirs] } }) }));
908
+ fs: { allow: [target, here, ...baseDirs, ...(0, exports.installedRootsOf)(target)] } }) }));
741
909
  const closing = server.close.bind(server);
742
910
  server.close = () => closing().finally(() => cache === null || cache === void 0 ? void 0 : cache.release());
743
911
  const listening = server.listen.bind(server);
@@ -747,9 +915,28 @@ const createDesignServer = (options) => __awaiter(void 0, void 0, void 0, functi
747
915
  throw error;
748
916
  throw new Error(`design-explore: cannot open a local port (${code}) - the environment forbids listening, so nothing was drawn. This is a permission failure, not a drawing failure: run outside the sandbox.`);
749
917
  });
750
- return server;
918
+ return Object.assign(server, {
919
+ /** A disk store of this server's part pictures under `dir`; an entry is served while every file it was drawn from is unchanged. */
920
+ shotStore: (dir, salt) => {
921
+ return shotStoreOf({
922
+ target,
923
+ config,
924
+ system,
925
+ stylesheetImports,
926
+ dir,
927
+ salt: `${(0, code_hash_1.designPictureCodeOf)()} ${salt}`,
928
+ moduleById: (id) => server.moduleGraph.getModuleById(id),
929
+ });
930
+ },
931
+ /** Forgets every loaded part, sketch and module, so the next draw reads the files as they are now: a server started with `port` does not watch them. */
932
+ forgetDrawn: () => {
933
+ system.forget();
934
+ Object.values(server.environments).forEach((environment) => environment.moduleGraph.invalidateAll());
935
+ },
936
+ });
751
937
  });
752
938
  exports.createDesignServer = createDesignServer;
939
+ const exitWhenParentIsGone = (server) => (0, parent_watch_1.exitWhenParentGone)({ onGone: () => void server.close().finally(() => process.exit(0)) });
753
940
  const exitWhenStdinCloses = (server) => {
754
941
  let closing = false;
755
942
  const shutDown = () => {
@@ -762,18 +949,23 @@ const exitWhenStdinCloses = (server) => {
762
949
  process.stdin.once('close', shutDown);
763
950
  process.stdin.resume();
764
951
  };
952
+ const installedStampOf = () => (0, stamp_1.buildStampOf)((0, package_root_1.installedAssetRoot)()).build;
765
953
  /**
766
954
  * Starts the design server for a checkout and keeps it running. The returned exit code is the
767
- * command's, not the server's: a listening server holds the process open on its own.
955
+ * command's, not the server's: a listening server holds the process open on its own. With
956
+ * `reloadOnRebuild`, a rebuild or reinstall of the cli restarts the server on the same port from
957
+ * the new build, inside the process that was started.
768
958
  */
769
959
  const serveDesign = (options) => __awaiter(void 0, void 0, void 0, function* () {
770
- const { target, host } = options;
771
- const config = (0, paths_1.readConfig)(target);
960
+ const { target, host, reloadOnRebuild, checkSketches } = options;
961
+ const config = (0, design_config_1.readConfig)(target);
772
962
  if (!config) {
773
- console.error(`design-explore: no config at ${(0, paths_1.configPathOf)(target)}`);
963
+ console.error(`design-explore: no config at ${(0, design_config_1.configPathOf)(target)}`);
774
964
  return 1;
775
965
  }
776
- (0, paths_1.snapshotPackage)(target);
966
+ const cwd = process.cwd();
967
+ const served = reloadOnRebuild ? installedStampOf() : '';
968
+ (0, package_root_1.snapshotPackage)(target);
777
969
  const ownedByStudio = process.env['ETHLETE_DESIGN_EXIT_ON_STDIN_CLOSE'] === '1';
778
970
  const portPinned = ownedByStudio || !!Number(process.env['DE_PORT']);
779
971
  const server = yield (0, exports.createDesignServer)({
@@ -782,16 +974,42 @@ const serveDesign = (options) => __awaiter(void 0, void 0, void 0, function* ()
782
974
  listen: true,
783
975
  host,
784
976
  listenOn: portPinned ? undefined : yield freePortOf(),
977
+ checkSketches,
785
978
  });
786
979
  yield server.listen();
787
980
  console.log(`design-explore: drawing ${target}`);
788
981
  if (!portPinned) {
789
- console.log(`design-explore: not started by Studio, so it listens on a free port and leaves ${(0, paths_1.portOf)(config)} to Studio`);
982
+ console.log(`design-explore: not started by Studio, so it listens on a free port and leaves ${(0, design_config_1.portOf)(config)} to Studio`);
790
983
  }
791
984
  server.printUrls();
985
+ if (process.env['ETHLETE_DESIGN_SLOW_CHECKS'] !== 'off')
986
+ (0, slow_run_1.startSlowRunner)({
987
+ target,
988
+ configOf: () => (0, design_config_1.readConfig)(target),
989
+ log: (line) => console.log(`design-explore: ${line}`),
990
+ });
792
991
  if (ownedByStudio) {
793
992
  exitWhenStdinCloses(server);
794
993
  }
994
+ exitWhenParentIsGone(server);
995
+ if (reloadOnRebuild) {
996
+ (0, build_watch_1.watchBuild)({
997
+ root: (0, path_1.dirname)((0, package_root_1.installedAssetRoot)()),
998
+ served,
999
+ stampOf: installedStampOf,
1000
+ onRebuild: () => {
1001
+ var _a;
1002
+ const address = (_a = server.httpServer) === null || _a === void 0 ? void 0 : _a.address();
1003
+ const port = address && typeof address === 'object' ? address.port : (0, design_config_1.portOf)(config);
1004
+ console.log('design-explore: the cli was rebuilt, restarting the server from the new build');
1005
+ void server
1006
+ .close()
1007
+ .then(() => process.env[build_watch_1.SUPERVISED_ENV] === '1'
1008
+ ? process.exit(build_watch_1.RELOAD_EXIT_CODE)
1009
+ : (0, build_watch_1.superviseReloads)(() => (0, build_watch_1.relaunch)({ port, cwd })).then((code) => process.exit(code)));
1010
+ },
1011
+ });
1012
+ }
795
1013
  return 0;
796
1014
  });
797
1015
  exports.serveDesign = serveDesign;