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

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 (592) hide show
  1. package/CHANGELOG.md +417 -0
  2. package/build-info.json +1 -0
  3. package/design/define-call.ts +99 -31
  4. package/design/define-part.ts +50 -3
  5. package/design/icon-sheet.ts +1 -1
  6. package/design/interaction-rows.ts +13 -6
  7. package/design/logo-sheet.ts +52 -0
  8. package/design/mark-part.ts +51 -1
  9. package/design/motion-drive.ts +215 -0
  10. package/design/motion-runtime.ts +14 -2
  11. package/design/motion-tokens.ts +177 -0
  12. package/design/token-sheet.ts +1 -1
  13. package/design/web/frame-fill.ts +4 -0
  14. package/design/web/frame-fit.ts +7 -0
  15. package/design/web/frame-scheme.ts +44 -0
  16. package/design/web/frame-surfaces.ts +294 -0
  17. package/design/web/frame.ts +162 -43
  18. package/design/web/surface-interactive.css +42 -0
  19. package/design/with-action.ts +29 -0
  20. package/package.json +3 -1
  21. package/src/index.js +9 -1
  22. package/src/index.js.map +1 -1
  23. package/src/lib/design/asset-shot.js +2 -2
  24. package/src/lib/design/asset-shot.js.map +1 -1
  25. package/src/lib/design/build-watch.d.ts +26 -0
  26. package/src/lib/design/build-watch.js +138 -0
  27. package/src/lib/design/build-watch.js.map +1 -0
  28. package/src/lib/design/calls-tsconfig.d.ts +2 -0
  29. package/src/lib/design/calls-tsconfig.js +10 -3
  30. package/src/lib/design/calls-tsconfig.js.map +1 -1
  31. package/src/lib/design/check.d.ts +1 -0
  32. package/src/lib/design/check.js +195 -13
  33. package/src/lib/design/check.js.map +1 -1
  34. package/src/lib/design/commit-hunks.d.ts +22 -0
  35. package/src/lib/design/commit-hunks.js +173 -0
  36. package/src/lib/design/commit-hunks.js.map +1 -0
  37. package/src/lib/design/contact-sheet.d.ts +9 -0
  38. package/src/lib/design/contact-sheet.js +38 -4
  39. package/src/lib/design/contact-sheet.js.map +1 -1
  40. package/src/lib/design/design-command.d.ts +2 -0
  41. package/src/lib/design/design-command.js +183 -15
  42. package/src/lib/design/design-command.js.map +1 -1
  43. package/src/lib/design/draw-ledger.d.ts +36 -0
  44. package/src/lib/design/draw-ledger.js +52 -0
  45. package/src/lib/design/draw-ledger.js.map +1 -0
  46. package/src/lib/design/force-interactions.d.ts +1 -1
  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/inbox-command.js +9 -5
  50. package/src/lib/design/inbox-command.js.map +1 -1
  51. package/src/lib/design/mcp-command.d.ts +28 -3
  52. package/src/lib/design/mcp-command.js +134 -21
  53. package/src/lib/design/mcp-command.js.map +1 -1
  54. package/src/lib/design/merge-compare.d.ts +10 -2
  55. package/src/lib/design/merge-compare.js +63 -11
  56. package/src/lib/design/merge-compare.js.map +1 -1
  57. package/src/lib/design/motion-command.js +10 -16
  58. package/src/lib/design/motion-command.js.map +1 -1
  59. package/src/lib/design/motion-shot.js +3 -2
  60. package/src/lib/design/motion-shot.js.map +1 -1
  61. package/src/lib/design/new-call.js +19 -10
  62. package/src/lib/design/new-call.js.map +1 -1
  63. package/src/lib/design/part-marks.d.ts +3 -2
  64. package/src/lib/design/part-marks.js +13 -5
  65. package/src/lib/design/part-marks.js.map +1 -1
  66. package/src/lib/design/paths.d.ts +42 -0
  67. package/src/lib/design/paths.js +50 -1
  68. package/src/lib/design/paths.js.map +1 -1
  69. package/src/lib/design/product-command.d.ts +1 -1
  70. package/src/lib/design/product-command.js +12 -14
  71. package/src/lib/design/product-command.js.map +1 -1
  72. package/src/lib/design/ready-shots.d.ts +29 -3
  73. package/src/lib/design/ready-shots.js +105 -5
  74. package/src/lib/design/ready-shots.js.map +1 -1
  75. package/src/lib/design/render-packages.d.ts +9 -17
  76. package/src/lib/design/render-packages.js +25 -63
  77. package/src/lib/design/render-packages.js.map +1 -1
  78. package/src/lib/design/render-worker.js +2 -3
  79. package/src/lib/design/render-worker.js.map +1 -1
  80. package/src/lib/design/render.d.ts +2 -0
  81. package/src/lib/design/render.js +32 -7
  82. package/src/lib/design/render.js.map +1 -1
  83. package/src/lib/design/serve.d.ts +23 -3
  84. package/src/lib/design/serve.js +288 -35
  85. package/src/lib/design/serve.js.map +1 -1
  86. package/src/lib/design/server-identity.d.ts +36 -0
  87. package/src/lib/design/server-identity.js +68 -0
  88. package/src/lib/design/server-identity.js.map +1 -0
  89. package/src/lib/design/settle-frames.d.ts +4 -0
  90. package/src/lib/design/settle-frames.js +22 -0
  91. package/src/lib/design/settle-frames.js.map +1 -0
  92. package/src/lib/design/shot-command.d.ts +30 -6
  93. package/src/lib/design/shot-command.js +144 -56
  94. package/src/lib/design/shot-command.js.map +1 -1
  95. package/src/lib/design/shot-store.d.ts +24 -0
  96. package/src/lib/design/shot-store.js +120 -0
  97. package/src/lib/design/shot-store.js.map +1 -0
  98. package/src/lib/design/shot.d.ts +71 -1
  99. package/src/lib/design/shot.js +253 -40
  100. package/src/lib/design/shot.js.map +1 -1
  101. package/src/lib/design/sketch-command.d.ts +6 -1
  102. package/src/lib/design/sketch-command.js +452 -136
  103. package/src/lib/design/sketch-command.js.map +1 -1
  104. package/src/lib/design/ssr-shims.d.ts +2 -0
  105. package/src/lib/design/ssr-shims.js +12 -1
  106. package/src/lib/design/ssr-shims.js.map +1 -1
  107. package/src/lib/design/stale-cli-dist.d.ts +11 -0
  108. package/src/lib/design/stale-cli-dist.js +56 -0
  109. package/src/lib/design/stale-cli-dist.js.map +1 -0
  110. package/src/lib/design/stamp.d.ts +18 -1
  111. package/src/lib/design/stamp.js +53 -7
  112. package/src/lib/design/stamp.js.map +1 -1
  113. package/src/lib/design/started-by-studio.d.ts +1 -0
  114. package/src/lib/design/started-by-studio.js +6 -0
  115. package/src/lib/design/started-by-studio.js.map +1 -0
  116. package/src/lib/design/studio-api.d.ts +35 -4
  117. package/src/lib/design/studio-api.js +312 -41
  118. package/src/lib/design/studio-api.js.map +1 -1
  119. package/src/lib/design/system/accept-command.d.ts +39 -5
  120. package/src/lib/design/system/accept-command.js +109 -25
  121. package/src/lib/design/system/accept-command.js.map +1 -1
  122. package/src/lib/design/system/accepted-pictures.d.ts +83 -0
  123. package/src/lib/design/system/accepted-pictures.js +324 -0
  124. package/src/lib/design/system/accepted-pictures.js.map +1 -0
  125. package/src/lib/design/system/action-lost.d.ts +59 -0
  126. package/src/lib/design/system/action-lost.js +120 -0
  127. package/src/lib/design/system/action-lost.js.map +1 -0
  128. package/src/lib/design/system/action-press.d.ts +23 -0
  129. package/src/lib/design/system/action-press.js +76 -0
  130. package/src/lib/design/system/action-press.js.map +1 -0
  131. package/src/lib/design/system/action-undeclared.d.ts +34 -0
  132. package/src/lib/design/system/action-undeclared.js +81 -0
  133. package/src/lib/design/system/action-undeclared.js.map +1 -0
  134. package/src/lib/design/system/actions-command.d.ts +101 -0
  135. package/src/lib/design/system/actions-command.js +695 -0
  136. package/src/lib/design/system/actions-command.js.map +1 -0
  137. package/src/lib/design/system/actions.d.ts +158 -0
  138. package/src/lib/design/system/actions.js +295 -0
  139. package/src/lib/design/system/actions.js.map +1 -0
  140. package/src/lib/design/system/app-files.d.ts +10 -0
  141. package/src/lib/design/system/app-files.js +159 -0
  142. package/src/lib/design/system/app-files.js.map +1 -0
  143. package/src/lib/design/system/bespoke-controls.d.ts +30 -0
  144. package/src/lib/design/system/bespoke-controls.js +147 -0
  145. package/src/lib/design/system/bespoke-controls.js.map +1 -0
  146. package/src/lib/design/system/build-ready-contract.d.ts +27 -0
  147. package/src/lib/design/system/build-ready-contract.js +12 -0
  148. package/src/lib/design/system/build-ready-contract.js.map +1 -0
  149. package/src/lib/design/system/check-rules.d.ts +1 -0
  150. package/src/lib/design/system/check-rules.js +82 -0
  151. package/src/lib/design/system/check-rules.js.map +1 -0
  152. package/src/lib/design/system/check-system.d.ts +62 -3
  153. package/src/lib/design/system/check-system.js +527 -34
  154. package/src/lib/design/system/check-system.js.map +1 -1
  155. package/src/lib/design/system/colour.d.ts +4 -1
  156. package/src/lib/design/system/colour.js +54 -2
  157. package/src/lib/design/system/colour.js.map +1 -1
  158. package/src/lib/design/system/comments/comment.d.ts +4 -1
  159. package/src/lib/design/system/comments/comment.js +13 -4
  160. package/src/lib/design/system/comments/comment.js.map +1 -1
  161. package/src/lib/design/system/comments/inbox.js +2 -2
  162. package/src/lib/design/system/comments/inbox.js.map +1 -1
  163. package/src/lib/design/system/compare-command.d.ts +119 -0
  164. package/src/lib/design/system/compare-command.js +558 -0
  165. package/src/lib/design/system/compare-command.js.map +1 -0
  166. package/src/lib/design/system/complete-command.js +7 -3
  167. package/src/lib/design/system/complete-command.js.map +1 -1
  168. package/src/lib/design/system/complete.d.ts +99 -3
  169. package/src/lib/design/system/complete.js +358 -88
  170. package/src/lib/design/system/complete.js.map +1 -1
  171. package/src/lib/design/system/component-outputs.d.ts +20 -0
  172. package/src/lib/design/system/component-outputs.js +86 -0
  173. package/src/lib/design/system/component-outputs.js.map +1 -0
  174. package/src/lib/design/system/contrast-check.d.ts +6 -1
  175. package/src/lib/design/system/contrast-check.js +179 -13
  176. package/src/lib/design/system/contrast-check.js.map +1 -1
  177. package/src/lib/design/system/demo-backdrop.d.ts +11 -0
  178. package/src/lib/design/system/demo-backdrop.js +41 -0
  179. package/src/lib/design/system/demo-backdrop.js.map +1 -0
  180. package/src/lib/design/system/design-hash.d.ts +31 -0
  181. package/src/lib/design/system/design-hash.js +73 -0
  182. package/src/lib/design/system/design-hash.js.map +1 -0
  183. package/src/lib/design/system/disabled-interaction.d.ts +8 -0
  184. package/src/lib/design/system/disabled-interaction.js +37 -0
  185. package/src/lib/design/system/disabled-interaction.js.map +1 -0
  186. package/src/lib/design/system/dom-command.d.ts +36 -0
  187. package/src/lib/design/system/dom-command.js +175 -0
  188. package/src/lib/design/system/dom-command.js.map +1 -0
  189. package/src/lib/design/system/drawn-open-points.d.ts +38 -0
  190. package/src/lib/design/system/drawn-open-points.js +94 -0
  191. package/src/lib/design/system/drawn-open-points.js.map +1 -0
  192. package/src/lib/design/system/dropped-props.d.ts +25 -0
  193. package/src/lib/design/system/dropped-props.js +159 -0
  194. package/src/lib/design/system/dropped-props.js.map +1 -0
  195. package/src/lib/design/system/embedded-actions.d.ts +21 -0
  196. package/src/lib/design/system/embedded-actions.js +37 -0
  197. package/src/lib/design/system/embedded-actions.js.map +1 -0
  198. package/src/lib/design/system/exceptions.js +2 -1
  199. package/src/lib/design/system/exceptions.js.map +1 -1
  200. package/src/lib/design/system/flows/flow.js +2 -1
  201. package/src/lib/design/system/flows/flow.js.map +1 -1
  202. package/src/lib/design/system/frozen-animations.d.ts +13 -0
  203. package/src/lib/design/system/frozen-animations.js +51 -0
  204. package/src/lib/design/system/frozen-animations.js.map +1 -0
  205. package/src/lib/design/system/go-batch.d.ts +24 -0
  206. package/src/lib/design/system/go-batch.js +110 -0
  207. package/src/lib/design/system/go-batch.js.map +1 -0
  208. package/src/lib/design/system/go-command.d.ts +4 -0
  209. package/src/lib/design/system/go-command.js +64 -0
  210. package/src/lib/design/system/go-command.js.map +1 -0
  211. package/src/lib/design/system/go-guard.d.ts +26 -0
  212. package/src/lib/design/system/go-guard.js +70 -0
  213. package/src/lib/design/system/go-guard.js.map +1 -0
  214. package/src/lib/design/system/go-step.d.ts +13 -0
  215. package/src/lib/design/system/go-step.js +84 -0
  216. package/src/lib/design/system/go-step.js.map +1 -0
  217. package/src/lib/design/system/handoff.js +2 -1
  218. package/src/lib/design/system/handoff.js.map +1 -1
  219. package/src/lib/design/system/harness-build-cache.d.ts +35 -0
  220. package/src/lib/design/system/harness-build-cache.js +175 -0
  221. package/src/lib/design/system/harness-build-cache.js.map +1 -0
  222. package/src/lib/design/system/harness-command.d.ts +7 -0
  223. package/src/lib/design/system/harness-command.js +51 -0
  224. package/src/lib/design/system/harness-command.js.map +1 -0
  225. package/src/lib/design/system/harness-config.d.ts +9 -0
  226. package/src/lib/design/system/harness-config.js +65 -0
  227. package/src/lib/design/system/harness-config.js.map +1 -0
  228. package/src/lib/design/system/harness-map.d.ts +44 -0
  229. package/src/lib/design/system/harness-map.js +126 -0
  230. package/src/lib/design/system/harness-map.js.map +1 -0
  231. package/src/lib/design/system/harness-samples.d.ts +20 -0
  232. package/src/lib/design/system/harness-samples.js +92 -0
  233. package/src/lib/design/system/harness-samples.js.map +1 -0
  234. package/src/lib/design/system/harness-server.d.ts +40 -0
  235. package/src/lib/design/system/harness-server.js +296 -0
  236. package/src/lib/design/system/harness-server.js.map +1 -0
  237. package/src/lib/design/system/imports.js +14 -1
  238. package/src/lib/design/system/imports.js.map +1 -1
  239. package/src/lib/design/system/in-order-at-once.d.ts +6 -0
  240. package/src/lib/design/system/in-order-at-once.js +28 -0
  241. package/src/lib/design/system/in-order-at-once.js.map +1 -0
  242. package/src/lib/design/system/inventory-approval.js +2 -1
  243. package/src/lib/design/system/inventory-approval.js.map +1 -1
  244. package/src/lib/design/system/inventory.d.ts +13 -4
  245. package/src/lib/design/system/inventory.js +36 -7
  246. package/src/lib/design/system/inventory.js.map +1 -1
  247. package/src/lib/design/system/list-system.d.ts +8 -1
  248. package/src/lib/design/system/list-system.js +13 -3
  249. package/src/lib/design/system/list-system.js.map +1 -1
  250. package/src/lib/design/system/live-actions.d.ts +121 -0
  251. package/src/lib/design/system/live-actions.js +665 -0
  252. package/src/lib/design/system/live-actions.js.map +1 -0
  253. package/src/lib/design/system/live-compare.d.ts +136 -0
  254. package/src/lib/design/system/live-compare.js +441 -0
  255. package/src/lib/design/system/live-compare.js.map +1 -0
  256. package/src/lib/design/system/live-uncovered.d.ts +40 -0
  257. package/src/lib/design/system/live-uncovered.js +123 -0
  258. package/src/lib/design/system/live-uncovered.js.map +1 -0
  259. package/src/lib/design/system/nested-scroll.d.ts +7 -0
  260. package/src/lib/design/system/nested-scroll.js +25 -0
  261. package/src/lib/design/system/nested-scroll.js.map +1 -0
  262. package/src/lib/design/system/notes/note.js +2 -1
  263. package/src/lib/design/system/notes/note.js.map +1 -1
  264. package/src/lib/design/system/occluded.d.ts +13 -0
  265. package/src/lib/design/system/occluded.js +111 -0
  266. package/src/lib/design/system/occluded.js.map +1 -0
  267. package/src/lib/design/system/open-points.d.ts +119 -0
  268. package/src/lib/design/system/open-points.js +185 -0
  269. package/src/lib/design/system/open-points.js.map +1 -0
  270. package/src/lib/design/system/part-build-ready.d.ts +39 -0
  271. package/src/lib/design/system/part-build-ready.js +107 -0
  272. package/src/lib/design/system/part-build-ready.js.map +1 -0
  273. package/src/lib/design/system/part-command.js +2 -9
  274. package/src/lib/design/system/part-command.js.map +1 -1
  275. package/src/lib/design/system/part-compare.d.ts +123 -0
  276. package/src/lib/design/system/part-compare.js +396 -0
  277. package/src/lib/design/system/part-compare.js.map +1 -0
  278. package/src/lib/design/system/part-go.d.ts +70 -0
  279. package/src/lib/design/system/part-go.js +94 -0
  280. package/src/lib/design/system/part-go.js.map +1 -0
  281. package/src/lib/design/system/part-ready.d.ts +90 -0
  282. package/src/lib/design/system/part-ready.js +172 -0
  283. package/src/lib/design/system/part-ready.js.map +1 -0
  284. package/src/lib/design/system/part-task.d.ts +147 -0
  285. package/src/lib/design/system/part-task.js +285 -0
  286. package/src/lib/design/system/part-task.js.map +1 -0
  287. package/src/lib/design/system/pointer-focus.d.ts +81 -0
  288. package/src/lib/design/system/pointer-focus.js +152 -0
  289. package/src/lib/design/system/pointer-focus.js.map +1 -0
  290. package/src/lib/design/system/prettier.d.ts +10 -0
  291. package/src/lib/design/system/prettier.js +36 -0
  292. package/src/lib/design/system/prettier.js.map +1 -0
  293. package/src/lib/design/system/reach.d.ts +12 -0
  294. package/src/lib/design/system/reach.js +186 -0
  295. package/src/lib/design/system/reach.js.map +1 -0
  296. package/src/lib/design/system/reachable-controls.d.ts +6 -0
  297. package/src/lib/design/system/reachable-controls.js +19 -0
  298. package/src/lib/design/system/reachable-controls.js.map +1 -0
  299. package/src/lib/design/system/reachable-files.d.ts +14 -0
  300. package/src/lib/design/system/reachable-files.js +101 -0
  301. package/src/lib/design/system/reachable-files.js.map +1 -0
  302. package/src/lib/design/system/reached-state.d.ts +23 -0
  303. package/src/lib/design/system/reached-state.js +53 -0
  304. package/src/lib/design/system/reached-state.js.map +1 -0
  305. package/src/lib/design/system/read-open-points.d.ts +33 -0
  306. package/src/lib/design/system/read-open-points.js +110 -0
  307. package/src/lib/design/system/read-open-points.js.map +1 -0
  308. package/src/lib/design/system/ready-command.d.ts +11 -0
  309. package/src/lib/design/system/ready-command.js +82 -0
  310. package/src/lib/design/system/ready-command.js.map +1 -0
  311. package/src/lib/design/system/render-check.d.ts +52 -0
  312. package/src/lib/design/system/render-check.js +479 -60
  313. package/src/lib/design/system/render-check.js.map +1 -1
  314. package/src/lib/design/system/resolve-product.d.ts +2 -1
  315. package/src/lib/design/system/resolve-product.js +25 -3
  316. package/src/lib/design/system/resolve-product.js.map +1 -1
  317. package/src/lib/design/system/rules/app-spec.d.ts +30 -0
  318. package/src/lib/design/system/rules/app-spec.js +87 -0
  319. package/src/lib/design/system/rules/app-spec.js.map +1 -0
  320. package/src/lib/design/system/rules/canonical-class.d.ts +2 -0
  321. package/src/lib/design/system/rules/canonical-class.js +36 -110
  322. package/src/lib/design/system/rules/canonical-class.js.map +1 -1
  323. package/src/lib/design/system/rules/capability-place.d.ts +44 -0
  324. package/src/lib/design/system/rules/capability-place.js +116 -0
  325. package/src/lib/design/system/rules/capability-place.js.map +1 -0
  326. package/src/lib/design/system/rules/denied-class.d.ts +9 -0
  327. package/src/lib/design/system/rules/denied-class.js +121 -0
  328. package/src/lib/design/system/rules/denied-class.js.map +1 -0
  329. package/src/lib/design/system/rules/exemptions.d.ts +18 -0
  330. package/src/lib/design/system/rules/exemptions.js +18 -0
  331. package/src/lib/design/system/rules/exemptions.js.map +1 -0
  332. package/src/lib/design/system/rules/flow.js +1 -1
  333. package/src/lib/design/system/rules/flow.js.map +1 -1
  334. package/src/lib/design/system/rules/glued-interpolation.d.ts +8 -0
  335. package/src/lib/design/system/rules/glued-interpolation.js +61 -0
  336. package/src/lib/design/system/rules/glued-interpolation.js.map +1 -0
  337. package/src/lib/design/system/rules/hard-coded-colour.js +2 -1
  338. package/src/lib/design/system/rules/hard-coded-colour.js.map +1 -1
  339. package/src/lib/design/system/rules/implemented-components.d.ts +22 -0
  340. package/src/lib/design/system/rules/implemented-components.js +45 -0
  341. package/src/lib/design/system/rules/implemented-components.js.map +1 -0
  342. package/src/lib/design/system/rules/implements.d.ts +8 -0
  343. package/src/lib/design/system/rules/implements.js +48 -0
  344. package/src/lib/design/system/rules/implements.js.map +1 -0
  345. package/src/lib/design/system/rules/inline-svg.js +4 -1
  346. package/src/lib/design/system/rules/inline-svg.js.map +1 -1
  347. package/src/lib/design/system/rules/inline-ui-in-page-open.d.ts +13 -0
  348. package/src/lib/design/system/rules/inline-ui-in-page-open.js +5 -0
  349. package/src/lib/design/system/rules/inline-ui-in-page-open.js.map +1 -0
  350. package/src/lib/design/system/rules/inline-ui-in-page.d.ts +18 -0
  351. package/src/lib/design/system/rules/inline-ui-in-page.js +123 -0
  352. package/src/lib/design/system/rules/inline-ui-in-page.js.map +1 -0
  353. package/src/lib/design/system/rules/inline-ui.d.ts +16 -0
  354. package/src/lib/design/system/rules/inline-ui.js +100 -0
  355. package/src/lib/design/system/rules/inline-ui.js.map +1 -0
  356. package/src/lib/design/system/rules/motion.d.ts +2 -0
  357. package/src/lib/design/system/rules/motion.js +35 -2
  358. package/src/lib/design/system/rules/motion.js.map +1 -1
  359. package/src/lib/design/system/rules/native-title.d.ts +7 -0
  360. package/src/lib/design/system/rules/native-title.js +64 -0
  361. package/src/lib/design/system/rules/native-title.js.map +1 -0
  362. package/src/lib/design/system/rules/option-values.d.ts +15 -0
  363. package/src/lib/design/system/rules/option-values.js +145 -0
  364. package/src/lib/design/system/rules/option-values.js.map +1 -0
  365. package/src/lib/design/system/rules/orphan-endpoint-known.d.ts +12 -0
  366. package/src/lib/design/system/rules/orphan-endpoint-known.js +20 -0
  367. package/src/lib/design/system/rules/orphan-endpoint-known.js.map +1 -0
  368. package/src/lib/design/system/rules/orphan-endpoint.d.ts +23 -0
  369. package/src/lib/design/system/rules/orphan-endpoint.js +166 -0
  370. package/src/lib/design/system/rules/orphan-endpoint.js.map +1 -0
  371. package/src/lib/design/system/rules/part-rewrite.d.ts +13 -0
  372. package/src/lib/design/system/rules/part-rewrite.js +125 -0
  373. package/src/lib/design/system/rules/part-rewrite.js.map +1 -0
  374. package/src/lib/design/system/rules/sample-default-known.d.ts +5 -0
  375. package/src/lib/design/system/rules/sample-default-known.js +17 -0
  376. package/src/lib/design/system/rules/sample-default-known.js.map +1 -0
  377. package/src/lib/design/system/rules/sample-default.d.ts +22 -0
  378. package/src/lib/design/system/rules/sample-default.js +92 -0
  379. package/src/lib/design/system/rules/sample-default.js.map +1 -0
  380. package/src/lib/design/system/rules/stale-replace.js +45 -3
  381. package/src/lib/design/system/rules/stale-replace.js.map +1 -1
  382. package/src/lib/design/system/rules/state-in-component.d.ts +16 -0
  383. package/src/lib/design/system/rules/state-in-component.js +101 -0
  384. package/src/lib/design/system/rules/state-in-component.js.map +1 -0
  385. package/src/lib/design/system/rules/tailwind-classes.d.ts +51 -0
  386. package/src/lib/design/system/rules/tailwind-classes.js +232 -0
  387. package/src/lib/design/system/rules/tailwind-classes.js.map +1 -0
  388. package/src/lib/design/system/rules/top-level-await.d.ts +9 -0
  389. package/src/lib/design/system/rules/top-level-await.js +62 -0
  390. package/src/lib/design/system/rules/top-level-await.js.map +1 -0
  391. package/src/lib/design/system/rules/unbound-input-known.d.ts +5 -0
  392. package/src/lib/design/system/rules/unbound-input-known.js +47 -0
  393. package/src/lib/design/system/rules/unbound-input-known.js.map +1 -0
  394. package/src/lib/design/system/rules/unbound-input.d.ts +22 -0
  395. package/src/lib/design/system/rules/unbound-input.js +61 -0
  396. package/src/lib/design/system/rules/unbound-input.js.map +1 -0
  397. package/src/lib/design/system/rules/uncovered-region.d.ts +13 -0
  398. package/src/lib/design/system/rules/uncovered-region.js +36 -0
  399. package/src/lib/design/system/rules/uncovered-region.js.map +1 -0
  400. package/src/lib/design/system/rules/undefined-class.d.ts +9 -0
  401. package/src/lib/design/system/rules/undefined-class.js +32 -0
  402. package/src/lib/design/system/rules/undefined-class.js.map +1 -0
  403. package/src/lib/design/system/rules/undefined-token.d.ts +1 -1
  404. package/src/lib/design/system/rules/undefined-token.js +7 -61
  405. package/src/lib/design/system/rules/undefined-token.js.map +1 -1
  406. package/src/lib/design/system/rules/utility-css.d.ts +2 -1
  407. package/src/lib/design/system/rules/utility-css.js +29 -14
  408. package/src/lib/design/system/rules/utility-css.js.map +1 -1
  409. package/src/lib/design/system/rules/view-coverage.d.ts +8 -0
  410. package/src/lib/design/system/rules/view-coverage.js +51 -0
  411. package/src/lib/design/system/rules/view-coverage.js.map +1 -0
  412. package/src/lib/design/system/rules/visible-change.d.ts +20 -0
  413. package/src/lib/design/system/rules/visible-change.js +48 -0
  414. package/src/lib/design/system/rules/visible-change.js.map +1 -0
  415. package/src/lib/design/system/sdk-errors.d.ts +14 -0
  416. package/src/lib/design/system/sdk-errors.js +38 -0
  417. package/src/lib/design/system/sdk-errors.js.map +1 -0
  418. package/src/lib/design/system/see-through.d.ts +12 -0
  419. package/src/lib/design/system/see-through.js +112 -0
  420. package/src/lib/design/system/see-through.js.map +1 -0
  421. package/src/lib/design/system/settled-panes.d.ts +18 -0
  422. package/src/lib/design/system/settled-panes.js +70 -0
  423. package/src/lib/design/system/settled-panes.js.map +1 -0
  424. package/src/lib/design/system/sketch/after-merge.d.ts +11 -0
  425. package/src/lib/design/system/sketch/after-merge.js +51 -0
  426. package/src/lib/design/system/sketch/after-merge.js.map +1 -0
  427. package/src/lib/design/system/sketch/aktuell-placeholders.d.ts +30 -0
  428. package/src/lib/design/system/sketch/aktuell-placeholders.js +87 -0
  429. package/src/lib/design/system/sketch/aktuell-placeholders.js.map +1 -0
  430. package/src/lib/design/system/sketch/baseline.d.ts +29 -2
  431. package/src/lib/design/system/sketch/baseline.js +33 -9
  432. package/src/lib/design/system/sketch/baseline.js.map +1 -1
  433. package/src/lib/design/system/sketch/check-sketches.d.ts +11 -0
  434. package/src/lib/design/system/sketch/check-sketches.js +54 -6
  435. package/src/lib/design/system/sketch/check-sketches.js.map +1 -1
  436. package/src/lib/design/system/sketch/cli-args.d.ts +12 -2
  437. package/src/lib/design/system/sketch/cli-args.js +18 -3
  438. package/src/lib/design/system/sketch/cli-args.js.map +1 -1
  439. package/src/lib/design/system/sketch/edit-sketch.d.ts +21 -0
  440. package/src/lib/design/system/sketch/edit-sketch.js +117 -0
  441. package/src/lib/design/system/sketch/edit-sketch.js.map +1 -0
  442. package/src/lib/design/system/sketch/frame-budget.d.ts +24 -0
  443. package/src/lib/design/system/sketch/frame-budget.js +23 -0
  444. package/src/lib/design/system/sketch/frame-budget.js.map +1 -0
  445. package/src/lib/design/system/sketch/identical-renders.d.ts +31 -0
  446. package/src/lib/design/system/sketch/identical-renders.js +137 -0
  447. package/src/lib/design/system/sketch/identical-renders.js.map +1 -0
  448. package/src/lib/design/system/sketch/merge-shared.d.ts +2 -0
  449. package/src/lib/design/system/sketch/merge-shared.js +7 -10
  450. package/src/lib/design/system/sketch/merge-shared.js.map +1 -1
  451. package/src/lib/design/system/sketch/merge-step.d.ts +35 -0
  452. package/src/lib/design/system/sketch/merge-step.js +98 -0
  453. package/src/lib/design/system/sketch/merge-step.js.map +1 -0
  454. package/src/lib/design/system/sketch/merge.d.ts +10 -3
  455. package/src/lib/design/system/sketch/merge.js +122 -17
  456. package/src/lib/design/system/sketch/merge.js.map +1 -1
  457. package/src/lib/design/system/sketch/merged-layout.d.ts +17 -0
  458. package/src/lib/design/system/sketch/merged-layout.js +57 -0
  459. package/src/lib/design/system/sketch/merged-layout.js.map +1 -0
  460. package/src/lib/design/system/sketch/merged-parts.d.ts +41 -11
  461. package/src/lib/design/system/sketch/merged-parts.js +113 -50
  462. package/src/lib/design/system/sketch/merged-parts.js.map +1 -1
  463. package/src/lib/design/system/sketch/no-visible-change.d.ts +10 -0
  464. package/src/lib/design/system/sketch/no-visible-change.js +16 -6
  465. package/src/lib/design/system/sketch/no-visible-change.js.map +1 -1
  466. package/src/lib/design/system/sketch/part-definition.d.ts +56 -0
  467. package/src/lib/design/system/sketch/part-definition.js +129 -13
  468. package/src/lib/design/system/sketch/part-definition.js.map +1 -1
  469. package/src/lib/design/system/sketch/rebase-port.d.ts +24 -0
  470. package/src/lib/design/system/sketch/rebase-port.js +170 -0
  471. package/src/lib/design/system/sketch/rebase-port.js.map +1 -0
  472. package/src/lib/design/system/sketch/sample-mark-drift.d.ts +33 -0
  473. package/src/lib/design/system/sketch/sample-mark-drift.js +88 -0
  474. package/src/lib/design/system/sketch/sample-mark-drift.js.map +1 -0
  475. package/src/lib/design/system/sketch/sketch-check-worker.d.ts +1 -0
  476. package/src/lib/design/system/sketch/sketch-check-worker.js +27 -0
  477. package/src/lib/design/system/sketch/sketch-check-worker.js.map +1 -0
  478. package/src/lib/design/system/sketch/sketch-checker.d.ts +27 -0
  479. package/src/lib/design/system/sketch/sketch-checker.js +99 -0
  480. package/src/lib/design/system/sketch/sketch-checker.js.map +1 -0
  481. package/src/lib/design/system/sketch/sketch.d.ts +78 -2
  482. package/src/lib/design/system/sketch/sketch.js +247 -54
  483. package/src/lib/design/system/sketch/sketch.js.map +1 -1
  484. package/src/lib/design/system/sketch/stale-base.d.ts +22 -0
  485. package/src/lib/design/system/sketch/stale-base.js +56 -0
  486. package/src/lib/design/system/sketch/stale-base.js.map +1 -0
  487. package/src/lib/design/system/sketch/unchanged-states.d.ts +36 -1
  488. package/src/lib/design/system/sketch/unchanged-states.js +60 -17
  489. package/src/lib/design/system/sketch/unchanged-states.js.map +1 -1
  490. package/src/lib/design/system/sketch/unused-closure.js +26 -4
  491. package/src/lib/design/system/sketch/unused-closure.js.map +1 -1
  492. package/src/lib/design/system/sketch/unused-files.d.ts +1 -1
  493. package/src/lib/design/system/sketch/unused-files.js +6 -3
  494. package/src/lib/design/system/sketch/unused-files.js.map +1 -1
  495. package/src/lib/design/system/sketch/viewed-shots.d.ts +24 -0
  496. package/src/lib/design/system/sketch/viewed-shots.js +61 -0
  497. package/src/lib/design/system/sketch/viewed-shots.js.map +1 -0
  498. package/src/lib/design/system/slow-checks.d.ts +40 -0
  499. package/src/lib/design/system/slow-checks.js +197 -0
  500. package/src/lib/design/system/slow-checks.js.map +1 -0
  501. package/src/lib/design/system/slow-run.d.ts +57 -0
  502. package/src/lib/design/system/slow-run.js +253 -0
  503. package/src/lib/design/system/slow-run.js.map +1 -0
  504. package/src/lib/design/system/stale-design-mocks.d.ts +20 -0
  505. package/src/lib/design/system/stale-design-mocks.js +59 -0
  506. package/src/lib/design/system/stale-design-mocks.js.map +1 -0
  507. package/src/lib/design/system/stale-dist.d.ts +25 -0
  508. package/src/lib/design/system/stale-dist.js +91 -0
  509. package/src/lib/design/system/stale-dist.js.map +1 -0
  510. package/src/lib/design/system/stale-parts.d.ts +30 -0
  511. package/src/lib/design/system/stale-parts.js +106 -0
  512. package/src/lib/design/system/stale-parts.js.map +1 -0
  513. package/src/lib/design/system/surface-nesting.d.ts +11 -0
  514. package/src/lib/design/system/surface-nesting.js +86 -0
  515. package/src/lib/design/system/surface-nesting.js.map +1 -0
  516. package/src/lib/design/system/system-command.js +8 -6
  517. package/src/lib/design/system/system-command.js.map +1 -1
  518. package/src/lib/design/system/system-modules.d.ts +16 -1
  519. package/src/lib/design/system/system-modules.js +18 -2
  520. package/src/lib/design/system/system-modules.js.map +1 -1
  521. package/src/lib/design/system/system-tsconfig.js +2 -2
  522. package/src/lib/design/system/system-tsconfig.js.map +1 -1
  523. package/src/lib/design/system/task-command.d.ts +51 -0
  524. package/src/lib/design/system/task-command.js +233 -0
  525. package/src/lib/design/system/task-command.js.map +1 -0
  526. package/src/lib/design/system/theming-text.d.ts +2 -0
  527. package/src/lib/design/system/theming-text.js +6 -0
  528. package/src/lib/design/system/theming-text.js.map +1 -0
  529. package/src/lib/design/system/tom-confirm.d.ts +40 -0
  530. package/src/lib/design/system/tom-confirm.js +55 -0
  531. package/src/lib/design/system/tom-confirm.js.map +1 -0
  532. package/src/lib/design/system/touched-parts.d.ts +16 -0
  533. package/src/lib/design/system/touched-parts.js +122 -0
  534. package/src/lib/design/system/touched-parts.js.map +1 -0
  535. package/src/lib/design/system/ts-source.d.ts +5 -0
  536. package/src/lib/design/system/ts-source.js +35 -4
  537. package/src/lib/design/system/ts-source.js.map +1 -1
  538. package/src/lib/design/system/unchanged-rows.d.ts +15 -0
  539. package/src/lib/design/system/unchanged-rows.js +134 -0
  540. package/src/lib/design/system/unchanged-rows.js.map +1 -0
  541. package/src/lib/design/system/uncommitted-decisions.d.ts +6 -0
  542. package/src/lib/design/system/uncommitted-decisions.js +38 -0
  543. package/src/lib/design/system/uncommitted-decisions.js.map +1 -0
  544. package/src/lib/design/system/uncovered-regions.d.ts +61 -0
  545. package/src/lib/design/system/uncovered-regions.js +171 -0
  546. package/src/lib/design/system/uncovered-regions.js.map +1 -0
  547. package/src/lib/design/system/unused-base-parts.d.ts +7 -0
  548. package/src/lib/design/system/unused-base-parts.js +76 -0
  549. package/src/lib/design/system/unused-base-parts.js.map +1 -0
  550. package/src/lib/design/system/visible-change-command.d.ts +48 -0
  551. package/src/lib/design/system/visible-change-command.js +308 -0
  552. package/src/lib/design/system/visible-change-command.js.map +1 -0
  553. package/src/lib/design/system/visible-change-parts.d.ts +28 -0
  554. package/src/lib/design/system/visible-change-parts.js +96 -0
  555. package/src/lib/design/system/visible-change-parts.js.map +1 -0
  556. package/src/lib/design/system/visible-change.d.ts +82 -0
  557. package/src/lib/design/system/visible-change.js +149 -0
  558. package/src/lib/design/system/visible-change.js.map +1 -0
  559. package/src/lib/design/thumb.d.ts +50 -6
  560. package/src/lib/design/thumb.js +154 -54
  561. package/src/lib/design/thumb.js.map +1 -1
  562. package/src/lib/design/typecheck.d.ts +1 -1
  563. package/src/lib/design/typecheck.js +3 -3
  564. package/src/lib/design/typecheck.js.map +1 -1
  565. package/src/lib/design/unstable-cells.d.ts +23 -0
  566. package/src/lib/design/unstable-cells.js +40 -0
  567. package/src/lib/design/unstable-cells.js.map +1 -0
  568. package/src/lib/design/variant-diff.js +1 -1
  569. package/src/lib/design/variant-diff.js.map +1 -1
  570. package/src/lib/design/wait.d.ts +15 -0
  571. package/src/lib/design/wait.js +30 -0
  572. package/src/lib/design/wait.js.map +1 -0
  573. package/src/lib/json-file.d.ts +11 -0
  574. package/src/lib/json-file.js +21 -0
  575. package/src/lib/json-file.js.map +1 -0
  576. package/src/lib/source-hash.d.ts +7 -0
  577. package/src/lib/source-hash.js +62 -0
  578. package/src/lib/source-hash.js.map +1 -0
  579. package/src/lib/update/agent-setup.js +2 -1
  580. package/src/lib/update/agent-setup.js.map +1 -1
  581. package/src/lib/update/migration-manifest.d.ts +12 -0
  582. package/src/lib/update/migration-manifest.js +13 -0
  583. package/src/lib/update/migration-manifest.js.map +1 -1
  584. package/src/lib/update/migration-record.js +2 -1
  585. package/src/lib/update/migration-record.js.map +1 -1
  586. package/src/lib/update/pending.js +2 -1
  587. package/src/lib/update/pending.js.map +1 -1
  588. package/src/lib/update/run-migrations.d.ts +3 -2
  589. package/src/lib/update/run-migrations.js +38 -5
  590. package/src/lib/update/run-migrations.js.map +1 -1
  591. package/src/lib/update/tasks.js +2 -1
  592. package/src/lib/update/tasks.js.map +1 -1
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.visibleChangeSummaryOf = exports.visibleChangeVerdictOf = exports.mergedPartsOf = exports.sketchedPartsOf = exports.stateDiffOf = exports.deviationOf = void 0;
4
+ const part_compare_1 = require("./part-compare");
5
+ const DIFF_RED = 0xff0000ff;
6
+ /** The pixels the app picture differs from the design picture in, counting those outside their shared area. */
7
+ const deviationOf = (options) => {
8
+ const result = (0, part_compare_1.comparePngs)(options);
9
+ if (result.kind === 'ok')
10
+ return 0;
11
+ if (result.kind === 'diff')
12
+ return result.pixels;
13
+ const { data } = (0, part_compare_1.decodePng)(result.diff);
14
+ let pixels = 0;
15
+ for (let at = 0; at < data.length; at += 4)
16
+ if (data.readUInt32BE(at) === DIFF_RED)
17
+ pixels++;
18
+ return pixels;
19
+ };
20
+ exports.deviationOf = deviationOf;
21
+ const stateDiffOf = (options) => {
22
+ const { base, head } = options;
23
+ const { state } = head;
24
+ if ('problem' in head)
25
+ return base && !('problem' in base)
26
+ ? { state, kind: 'broken', problem: head.problem }
27
+ : {
28
+ state,
29
+ kind: head.undrivable && base && 'problem' in base && base.undrivable ? 'undrivable' : 'unjudged',
30
+ problem: head.problem,
31
+ };
32
+ if (!base || 'problem' in base)
33
+ return { state, kind: 'new', head: (0, exports.deviationOf)({ design: head.design, app: head.app }) };
34
+ const change = (0, part_compare_1.comparePngs)({ design: base.app, app: head.app });
35
+ if (change.kind === 'ok')
36
+ return { state, kind: 'same' };
37
+ return {
38
+ state,
39
+ kind: 'differs',
40
+ base: (0, exports.deviationOf)({ design: head.design, app: base.app }),
41
+ head: (0, exports.deviationOf)({ design: head.design, app: head.app }),
42
+ diff: change.diff,
43
+ };
44
+ };
45
+ exports.stateDiffOf = stateDiffOf;
46
+ /** The parts a picked sketch, or a sketch a merge deleted, targets. */
47
+ const sketchedPartsOf = (evidence) => {
48
+ var _a;
49
+ const parts = new Set();
50
+ for (const { text, merged } of evidence) {
51
+ let parsed;
52
+ try {
53
+ parsed = JSON.parse(text);
54
+ }
55
+ catch (_b) {
56
+ continue;
57
+ }
58
+ if (!merged && ((_a = parsed.decision) === null || _a === void 0 ? void 0 : _a.kind) !== 'pick')
59
+ continue;
60
+ const targets = Array.isArray(parsed.targets) ? parsed.targets : [parsed.target];
61
+ for (const target of targets)
62
+ if (typeof target === 'string')
63
+ parts.add(target);
64
+ }
65
+ return parts;
66
+ };
67
+ exports.sketchedPartsOf = sketchedPartsOf;
68
+ const mergedEntriesOf = (text) => {
69
+ try {
70
+ const parsed = JSON.parse(text !== null && text !== void 0 ? text : '{}');
71
+ return parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : {};
72
+ }
73
+ catch (_a) {
74
+ return {};
75
+ }
76
+ };
77
+ const decisionOf = (entry) => entry && typeof entry === 'object' && !Array.isArray(entry)
78
+ ? JSON.stringify(Object.assign(Object.assign({}, entry), { hash: null }))
79
+ : null;
80
+ /**
81
+ * The parts a sketch merge recorded in `merged.json` between the base and HEAD: a part first recorded there, or one
82
+ * whose recorded pick changed. A hash refresh alone is no merge.
83
+ */
84
+ const mergedPartsOf = (options) => {
85
+ const base = mergedEntriesOf(options.base);
86
+ const head = mergedEntriesOf(options.head);
87
+ return new Set(Object.entries(head).flatMap(([part, entry]) => !(part in base) || (decisionOf(entry) !== null && decisionOf(entry) !== decisionOf(base[part])) ? [part] : []));
88
+ };
89
+ exports.mergedPartsOf = mergedPartsOf;
90
+ /**
91
+ * A part passes when its app draws alike at base and HEAD, when a picked or merged sketch of it is in the range, or
92
+ * when every changed state is strictly closer to HEAD's design or, without a base picture, matches it. A state HEAD can no longer draw always fails, and so does any state the gate could not judge,
93
+ * but a state neither app has an element to force the design's interaction on: that is a problem of the part, listed as `undrivable`.
94
+ */
95
+ const visibleChangeVerdictOf = (options) => {
96
+ const { part, states } = options.diff;
97
+ const changed = states.filter((state) => state.kind === 'differs' || state.kind === 'new' || state.kind === 'broken');
98
+ const unjudgedStates = states.filter((state) => state.kind === 'unjudged');
99
+ const unjudged = unjudgedStates.map((state) => state.state);
100
+ const reasons = [...new Set(unjudgedStates.map((state) => (state.kind === 'unjudged' ? state.problem : '')))];
101
+ const undrivableStates = states.filter((state) => state.kind === 'undrivable');
102
+ const undrivable = undrivableStates.map((state) => state.state);
103
+ const undrivableReasons = [
104
+ ...new Set(undrivableStates.map((state) => (state.kind === 'undrivable' ? state.problem : ''))),
105
+ ];
106
+ const verdict = (pass, why) => ({
107
+ part,
108
+ pass,
109
+ why,
110
+ changed: changed.map((state) => state.state),
111
+ unjudged,
112
+ reasons,
113
+ undrivable,
114
+ undrivableReasons,
115
+ });
116
+ if (changed.some((state) => state.kind === 'broken'))
117
+ return verdict(false, 'broken');
118
+ if (unjudged.length > 0)
119
+ return verdict(false, 'unjudged');
120
+ if (changed.length === 0)
121
+ return verdict(true, 'invisible');
122
+ if (options.sketched.has(part))
123
+ return verdict(true, 'sketched');
124
+ if (changed.every((state) => state.kind === 'new' && state.head === 0))
125
+ return verdict(true, 'matches');
126
+ if (changed.every((state) => (state.kind === 'differs' && state.head < state.base) || (state.kind === 'new' && state.head === 0)))
127
+ return verdict(true, 'closer');
128
+ return verdict(false, 'visible');
129
+ };
130
+ exports.visibleChangeVerdictOf = visibleChangeVerdictOf;
131
+ /** The gate's last line; it names every unjudged state, so a pass that judged nothing never reads as a clean pass. */
132
+ const visibleChangeSummaryOf = (options) => {
133
+ const { verdicts, range, seconds } = options;
134
+ const failed = options.problems + verdicts.filter((verdict) => !verdict.pass).length;
135
+ const listOf = (what, of) => {
136
+ const listed = verdicts.filter((verdict) => of(verdict).length > 0);
137
+ const count = listed.reduce((sum, verdict) => sum + of(verdict).length, 0);
138
+ return count === 0
139
+ ? ''
140
+ : ` - ${count} state(s) ${what}: ${listed.map((verdict) => `${verdict.part} (${of(verdict).join(', ')})`).join('; ')}`;
141
+ };
142
+ const list = listOf('unjudged', (verdict) => verdict.unjudged) +
143
+ listOf('undrivable, a problem of the part', (verdict) => verdict.undrivable);
144
+ return failed === 0
145
+ ? `No part looks different in ${range} without a sketch (${seconds} s)${list}.`
146
+ : `${failed} part(s) fail the visible-change gate in ${range}. Pick and merge a sketch of each, or move it closer to its design${list}.`;
147
+ };
148
+ exports.visibleChangeSummaryOf = visibleChangeSummaryOf;
149
+ //# sourceMappingURL=visible-change.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visible-change.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/visible-change.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { IncomingMessage, ServerResponse } from 'http';
2
2
  import { Chromium, chromiumOf } from './browser';
3
+ import { DrawLedger } from './draw-ledger';
3
4
  export declare const THUMB_PATH = "/__design/thumb";
4
5
  /** The pixel width a thumbnail comes out at: twice the 180px tile Studio shows it in. */
5
6
  export declare const THUMB_PIXEL_WIDTH = 360;
@@ -23,29 +24,71 @@ export declare class ShotFailedError extends Error {
23
24
  }
24
25
  export declare class ShotTimeoutError extends Error {
25
26
  }
27
+ /** A design-server URL that answered an error status, such as the 403 Vite sends for a file outside `server.fs.allow`. */
28
+ export declare class FrameUnservedError extends Error {
29
+ }
30
+ /** Throws a `FrameUnservedError` naming the URL and status when the navigation to a design-server page answered 400 or above. */
31
+ export declare const assertServed: (response: {
32
+ status(): number;
33
+ } | null, url: string) => void;
34
+ /** Rejects a drawing that was still waiting when every ask that wanted it was aborted. */
35
+ export declare class DrawDroppedError extends Error {
36
+ }
26
37
  type Page = Awaited<ReturnType<Awaited<ReturnType<Browser['newContext']>>['newPage']>>;
27
38
  /**
28
39
  * Opens a frame and waits until it drew its content or its error, then for its embedded frames. A frame that
29
- * never draws throws a `ShotTimeoutError` naming the URL.
40
+ * draws nothing after one reload throws a `ShotTimeoutError` naming the URL.
30
41
  */
31
42
  export declare const openFrame: (page: Page, url: string) => Promise<void>;
32
43
  export declare const settled = "new Promise((done) => document.fonts.ready.then(() =>\n requestAnimationFrame(() => requestAnimationFrame(() => done(true)))))";
33
- export declare const finished = "document.getAnimations()\n .filter((animation) => animation.effect?.getComputedTiming().endTime !== Infinity)\n .forEach((animation) => animation.finish())";
44
+ /** Waits for `settled` on `page`, and throws a `WaitTimeoutError` naming the page after `DRAW_TIMEOUT_MS`. */
45
+ export declare const awaitSettled: (page: Pick<Page, "evaluate" | "url">) => Promise<unknown>;
46
+ /** Waits for the fonts of `page`, and throws a `WaitTimeoutError` naming the page after `DRAW_TIMEOUT_MS`. */
47
+ export declare const awaitFonts: (page: Pick<Page, "evaluate" | "url">) => Promise<unknown>;
48
+ /** Finishes the page's finite time-based animations; scroll-driven ones keep the progress their scroll position gives. */
49
+ export declare const finished = "document.getAnimations()\n .filter((animation) => animation.effect?.getComputedTiming().endTime !== Infinity)\n .filter((animation) => typeof ScrollTimeline === 'undefined' || !(animation.timeline instanceof ScrollTimeline))\n .forEach((animation) => animation.finish())";
50
+ /**
51
+ * Cancels each running infinite animation, as a screenshot with disabled animations does in the app picture, so both
52
+ * pictures show its start frame; a paused one or one with a playback rate of 0 keeps its held frame.
53
+ */
54
+ export declare const heldAnimations = "document.getAnimations()\n .filter((animation) => animation.effect?.getComputedTiming().endTime === Infinity)\n .filter((animation) => animation.playState === 'running' && animation.playbackRate !== 0)\n .filter((animation) => typeof ScrollTimeline === 'undefined' || !(animation.timeline instanceof ScrollTimeline))\n .forEach((animation) => animation.cancel())";
34
55
  export type DrawPriority = 'high' | 'low';
35
56
  /**
36
- * One shared headless Chromium, launched on the first ask, that runs up to four drawings at once. A waiting
37
- * `high` drawing runs before every waiting `low` one, each lane in the order asked. A failed launch is
38
- * not kept, so the next ask tries again.
57
+ * What one ask wants of a drawing. `view` is a number the asker raises with each view change; the
58
+ * highest one seen is the shown view. `rank` places the ask in that view. `onWithdraw` gets the callback
59
+ * that withdraws the ask, to call once the asker no longer waits, or at once if it already stopped.
60
+ */
61
+ export type DrawWant = {
62
+ priority: DrawPriority;
63
+ view?: number | null;
64
+ rank?: 'active' | 'visible' | null;
65
+ onWithdraw?: (withdraw: () => void) => void;
66
+ };
67
+ export declare const DRAWS_AT_ONCE = 8;
68
+ /**
69
+ * One shared headless Chromium, launched on the first ask, that runs up to `DRAWS_AT_ONCE` drawings at once.
70
+ * A waiting `high` drawing runs first; of the `low` ones, those for the active frame of the shown view,
71
+ * then its visible cells, then the rest, then those of views no longer shown, each lane in the order asked.
72
+ * A drawing every ask withdrew before it started is dropped. A failed launch is not kept, so the next ask
73
+ * tries again.
39
74
  */
40
75
  export declare const createDrawQueue: (options: {
41
76
  target: string;
42
77
  chromiumOf?: typeof chromiumOf;
78
+ ledger?: DrawLedger;
43
79
  }) => {
44
- run: <T>(draw: (browser: Browser) => Promise<T>, priority?: DrawPriority) => Promise<T>;
80
+ run: <T>(draw: (browser: Browser) => Promise<T>, want?: DrawPriority | DrawWant) => Promise<T>;
81
+ /** Adds an ask to a drawing `run` returned, so it runs in the best lane any of its asks wants, unless it already started. */
82
+ join: (drawn: Promise<unknown>, want: DrawWant) => void;
45
83
  /** Moves a drawing `run` returned into the high lane, unless it already started. */
46
84
  hurry: (drawn: Promise<unknown>) => void;
47
85
  close: () => Promise<void>;
48
86
  };
87
+ /** Calls `failed` with the status and message a shot answers when it fails, and returns the shot. */
88
+ export declare const noteFailure: <T>(shot: Promise<T>, failed: (failure: {
89
+ status: number;
90
+ message: string;
91
+ }) => void) => Promise<T>;
49
92
  export declare const sendShot: (response: ServerResponse, shot: Promise<Buffer>) => undefined;
50
93
  export declare const send: (response: ServerResponse, { status, type, body }: Shot) => void;
51
94
  /** Whether a call may draw from a file under the calls root: its own, or one in a folder above it. */
@@ -61,6 +104,7 @@ export declare const createThumbnailer: (options: {
61
104
  target: string;
62
105
  base: string | (() => string);
63
106
  chromiumOf?: typeof chromiumOf;
107
+ ledger?: DrawLedger;
64
108
  }) => {
65
109
  middleware: (request: IncomingMessage, response: ServerResponse) => void;
66
110
  /** Drops the pictures a changed file may draw into: its own call's, or every call below its folder. */
@@ -9,9 +9,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.createThumbnailer = exports.callDrawsFrom = exports.send = exports.sendShot = exports.createDrawQueue = exports.finished = exports.settled = exports.openFrame = exports.ShotTimeoutError = exports.ShotFailedError = exports.ShotUnprocessableError = exports.ThumbMissingError = exports.ThumbUnavailableError = exports.DRAW_TIMEOUT_MS = exports.THUMB_PIXEL_WIDTH = exports.THUMB_PATH = void 0;
12
+ exports.createThumbnailer = exports.callDrawsFrom = exports.send = exports.sendShot = exports.noteFailure = exports.createDrawQueue = exports.DRAWS_AT_ONCE = exports.heldAnimations = exports.finished = exports.awaitFonts = exports.awaitSettled = exports.settled = exports.openFrame = exports.DrawDroppedError = exports.assertServed = exports.FrameUnservedError = exports.ShotTimeoutError = exports.ShotFailedError = exports.ShotUnprocessableError = exports.ThumbMissingError = exports.ThumbUnavailableError = exports.DRAW_TIMEOUT_MS = exports.THUMB_PIXEL_WIDTH = exports.THUMB_PATH = void 0;
13
13
  const path_1 = require("path");
14
14
  const browser_1 = require("./browser");
15
+ const wait_1 = require("./wait");
15
16
  exports.THUMB_PATH = '/__design/thumb';
16
17
  /** The pixel width a thumbnail comes out at: twice the 180px tile Studio shows it in. */
17
18
  exports.THUMB_PIXEL_WIDTH = 360;
@@ -37,6 +38,23 @@ exports.ShotFailedError = ShotFailedError;
37
38
  class ShotTimeoutError extends Error {
38
39
  }
39
40
  exports.ShotTimeoutError = ShotTimeoutError;
41
+ /** A design-server URL that answered an error status, such as the 403 Vite sends for a file outside `server.fs.allow`. */
42
+ class FrameUnservedError extends Error {
43
+ }
44
+ exports.FrameUnservedError = FrameUnservedError;
45
+ /** Throws a `FrameUnservedError` naming the URL and status when the navigation to a design-server page answered 400 or above. */
46
+ const assertServed = (response, url) => {
47
+ var _a;
48
+ const status = (_a = response === null || response === void 0 ? void 0 : response.status()) !== null && _a !== void 0 ? _a : 0;
49
+ if (status >= 400) {
50
+ throw new FrameUnservedError(`design-explore: ${url} was not served (HTTP ${status}) - the design server refused or failed the page, so nothing on it can be measured`);
51
+ }
52
+ };
53
+ exports.assertServed = assertServed;
54
+ /** Rejects a drawing that was still waiting when every ask that wanted it was aborted. */
55
+ class DrawDroppedError extends Error {
56
+ }
57
+ exports.DrawDroppedError = DrawDroppedError;
40
58
  const frameWidthOf = (slug) => `(async (slug) => {
41
59
  const { calls } = await import('/@id/__x00__virtual:design-explore');
42
60
  if (!calls[slug]) return null;
@@ -44,22 +62,23 @@ const frameWidthOf = (slug) => `(async (slug) => {
44
62
  })(${JSON.stringify(slug)})`;
45
63
  /**
46
64
  * Opens a frame and waits until it drew its content or its error, then for its embedded frames. A frame that
47
- * never draws throws a `ShotTimeoutError` naming the URL.
65
+ * draws nothing after one reload throws a `ShotTimeoutError` naming the URL.
48
66
  */
49
67
  const openFrame = (page, url) => __awaiter(void 0, void 0, void 0, function* () {
50
- yield page.goto(url, { waitUntil: 'domcontentloaded' });
51
- // Headless Chromium's pointer starts at 0,0 on a new page and draws a real :hover on whatever fills the
52
- // frame's corner. A move before the first navigation does not stick.
53
- yield page.mouse.move(-1, -1);
54
68
  const never = (what) => new ShotTimeoutError(`design-explore: ${url} did not ${what} within ${exports.DRAW_TIMEOUT_MS} ms`);
55
- yield page
56
- .locator('#root > :not(style)')
57
- .first()
58
- .waitFor({ state: 'attached', timeout: exports.DRAW_TIMEOUT_MS })
59
- .catch(() => __awaiter(void 0, void 0, void 0, function* () {
60
- if ((yield page.locator('vite-error-overlay').count()) === 0)
61
- throw never('draw its content');
62
- }));
69
+ const drawn = () => __awaiter(void 0, void 0, void 0, function* () {
70
+ (0, exports.assertServed)(yield page.goto(url, { waitUntil: 'domcontentloaded' }), url);
71
+ // Headless Chromium's pointer starts at 0,0 on a new page and draws a real :hover on whatever fills the
72
+ // frame's corner. A move before the first navigation does not stick.
73
+ yield page.mouse.move(-1, -1);
74
+ return page
75
+ .locator('#root > :not(style)')
76
+ .first()
77
+ .waitFor({ state: 'attached', timeout: exports.DRAW_TIMEOUT_MS })
78
+ .then(() => true, () => __awaiter(void 0, void 0, void 0, function* () { return (yield page.locator('vite-error-overlay').count()) > 0; }));
79
+ });
80
+ if (!(yield drawn()) && !(yield drawn()))
81
+ throw never('draw its content');
63
82
  yield page
64
83
  .locator('iframe[data-et-embed]:not([data-et-embed-drawn])')
65
84
  .first()
@@ -71,26 +90,49 @@ const openFrame = (page, url) => __awaiter(void 0, void 0, void 0, function* ()
71
90
  exports.openFrame = openFrame;
72
91
  exports.settled = `new Promise((done) => document.fonts.ready.then(() =>
73
92
  requestAnimationFrame(() => requestAnimationFrame(() => done(true)))))`;
93
+ /** Waits for `settled` on `page`, and throws a `WaitTimeoutError` naming the page after `DRAW_TIMEOUT_MS`. */
94
+ const awaitSettled = (page) => (0, wait_1.withinLimit)(page.evaluate(exports.settled), {
95
+ ms: exports.DRAW_TIMEOUT_MS,
96
+ what: `the fonts and the first frames of ${page.url()}`,
97
+ });
98
+ exports.awaitSettled = awaitSettled;
99
+ /** Waits for the fonts of `page`, and throws a `WaitTimeoutError` naming the page after `DRAW_TIMEOUT_MS`. */
100
+ const awaitFonts = (page) => (0, wait_1.withinLimit)(page.evaluate('document.fonts.ready'), { ms: exports.DRAW_TIMEOUT_MS, what: `the fonts of ${page.url()}` });
101
+ exports.awaitFonts = awaitFonts;
102
+ /** Finishes the page's finite time-based animations; scroll-driven ones keep the progress their scroll position gives. */
74
103
  exports.finished = `document.getAnimations()
75
104
  .filter((animation) => animation.effect?.getComputedTiming().endTime !== Infinity)
105
+ .filter((animation) => typeof ScrollTimeline === 'undefined' || !(animation.timeline instanceof ScrollTimeline))
76
106
  .forEach((animation) => animation.finish())`;
107
+ /**
108
+ * Cancels each running infinite animation, as a screenshot with disabled animations does in the app picture, so both
109
+ * pictures show its start frame; a paused one or one with a playback rate of 0 keeps its held frame.
110
+ */
111
+ exports.heldAnimations = `document.getAnimations()
112
+ .filter((animation) => animation.effect?.getComputedTiming().endTime === Infinity)
113
+ .filter((animation) => animation.playState === 'running' && animation.playbackRate !== 0)
114
+ .filter((animation) => typeof ScrollTimeline === 'undefined' || !(animation.timeline instanceof ScrollTimeline))
115
+ .forEach((animation) => animation.cancel())`;
77
116
  // Partial raster redraws only the invalidated part of a tile, so the anti-aliased edge of a rounded clip over an
78
117
  // embedded frame depends on which frame painted first: two draws of the same page differed under load.
79
118
  const DRAW_BROWSER_ARGS = ['--disable-partial-raster'];
80
- const DRAWS_AT_ONCE = 4;
119
+ exports.DRAWS_AT_ONCE = 8;
81
120
  /**
82
- * One shared headless Chromium, launched on the first ask, that runs up to four drawings at once. A waiting
83
- * `high` drawing runs before every waiting `low` one, each lane in the order asked. A failed launch is
84
- * not kept, so the next ask tries again.
121
+ * One shared headless Chromium, launched on the first ask, that runs up to `DRAWS_AT_ONCE` drawings at once.
122
+ * A waiting `high` drawing runs first; of the `low` ones, those for the active frame of the shown view,
123
+ * then its visible cells, then the rest, then those of views no longer shown, each lane in the order asked.
124
+ * A drawing every ask withdrew before it started is dropped. A failed launch is not kept, so the next ask
125
+ * tries again.
85
126
  */
86
127
  const createDrawQueue = (options) => {
87
128
  var _a;
88
- const { target } = options;
129
+ const { target, ledger } = options;
89
130
  const resolveChromium = (_a = options.chromiumOf) !== null && _a !== void 0 ? _a : browser_1.chromiumOf;
90
131
  let browser = null;
91
- const waiting = { high: [], low: [] };
92
- const jobs = new WeakMap();
132
+ const waiting = [];
133
+ const entries = new WeakMap();
93
134
  let drawing = 0;
135
+ let shownView = 0;
94
136
  const launch = () => {
95
137
  browser !== null && browser !== void 0 ? browser : (browser = resolveChromium(target).then((resolved) => {
96
138
  if (!resolved) {
@@ -103,37 +145,86 @@ const createDrawQueue = (options) => {
103
145
  browser.catch(() => (browser = null));
104
146
  return browser;
105
147
  };
148
+ const laneOf = (want) => {
149
+ if (want.priority === 'high')
150
+ return 0;
151
+ if (typeof want.view === 'number' && want.view < shownView)
152
+ return 4;
153
+ return want.rank === 'active' ? 1 : want.rank === 'visible' ? 2 : 3;
154
+ };
155
+ const entryLaneOf = (entry) => Math.min(...[...entry.wants].map(laneOf));
106
156
  const next = () => {
107
- var _a;
108
- while (drawing < DRAWS_AT_ONCE) {
109
- const job = (_a = waiting.high.shift()) !== null && _a !== void 0 ? _a : waiting.low.shift();
110
- if (!job)
157
+ while (drawing < exports.DRAWS_AT_ONCE && waiting.length > 0) {
158
+ const lanes = waiting.map(entryLaneOf);
159
+ const at = lanes.indexOf(Math.min(...lanes));
160
+ const [entry] = waiting.splice(at, 1);
161
+ if (!entry)
111
162
  return;
112
163
  drawing++;
113
- void job().finally(() => {
164
+ void entry.job().finally(() => {
114
165
  drawing--;
115
166
  next();
116
167
  });
117
168
  }
118
169
  };
170
+ const withdraw = (entry, want) => {
171
+ entry.wants.delete(want);
172
+ const at = waiting.indexOf(entry);
173
+ if (at < 0 || entry.wants.size > 0)
174
+ return;
175
+ waiting.splice(at, 1);
176
+ entry.drop();
177
+ };
178
+ const see = (want) => {
179
+ if (typeof want.view === 'number' && want.view > shownView)
180
+ shownView = want.view;
181
+ };
182
+ const add = (entry, want) => {
183
+ var _a;
184
+ see(want);
185
+ if (!waiting.includes(entry))
186
+ return;
187
+ entry.wants.add(want);
188
+ (_a = want.onWithdraw) === null || _a === void 0 ? void 0 : _a.call(want, () => withdraw(entry, want));
189
+ };
190
+ const join = (drawn, want) => {
191
+ const entry = entries.get(drawn);
192
+ if (entry)
193
+ add(entry, want);
194
+ else
195
+ see(want);
196
+ };
119
197
  return {
120
- run: (draw, priority = 'high') => {
121
- let job = () => Promise.resolve();
198
+ run: (draw, want = 'high') => {
199
+ const ticket = ledger === null || ledger === void 0 ? void 0 : ledger.ask();
200
+ const entry = {
201
+ job: () => Promise.resolve(),
202
+ wants: new Set(),
203
+ drop: () => undefined,
204
+ };
122
205
  const drawn = new Promise((resolve, reject) => {
123
- job = () => launch().then(draw).then(resolve, reject);
206
+ entry.job = () => {
207
+ ticket === null || ticket === void 0 ? void 0 : ticket.start();
208
+ return launch()
209
+ .then(draw)
210
+ .then(resolve, reject)
211
+ .finally(() => ticket === null || ticket === void 0 ? void 0 : ticket.end());
212
+ };
213
+ entry.drop = () => {
214
+ ticket === null || ticket === void 0 ? void 0 : ticket.end();
215
+ reject(new DrawDroppedError('design-explore: every ask withdrew the drawing before it started'));
216
+ };
124
217
  });
125
- jobs.set(drawn, job);
126
- waiting[priority].push(job);
218
+ entries.set(drawn, entry);
219
+ waiting.push(entry);
220
+ add(entry, typeof want === 'string' ? { priority: want } : want);
127
221
  next();
128
222
  return drawn;
129
223
  },
224
+ /** Adds an ask to a drawing `run` returned, so it runs in the best lane any of its asks wants, unless it already started. */
225
+ join,
130
226
  /** Moves a drawing `run` returned into the high lane, unless it already started. */
131
- hurry: (drawn) => {
132
- const job = jobs.get(drawn);
133
- const at = job ? waiting.low.indexOf(job) : -1;
134
- if (job && at >= 0)
135
- waiting.high.push(...waiting.low.splice(at, 1));
136
- },
227
+ hurry: (drawn) => join(drawn, { priority: 'high' }),
137
228
  close: () => __awaiter(void 0, void 0, void 0, function* () {
138
229
  const running = browser;
139
230
  browser = null;
@@ -142,21 +233,30 @@ const createDrawQueue = (options) => {
142
233
  };
143
234
  };
144
235
  exports.createDrawQueue = createDrawQueue;
145
- const sendShot = (response, shot) => void shot.then((body) => (0, exports.send)(response, { status: 200, type: 'image/png', body }), (error) => (0, exports.send)(response, error instanceof ShotFailedError
146
- ? { status: 500, type: 'image/png', body: error.png }
147
- : {
148
- status: error instanceof ThumbUnavailableError
149
- ? 503
150
- : error instanceof ThumbMissingError
151
- ? 404
152
- : error instanceof ShotUnprocessableError
153
- ? 422
154
- : error instanceof ShotTimeoutError
155
- ? 504
156
- : 500,
157
- type: 'text/plain; charset=utf-8',
158
- body: error instanceof Error ? error.message : String(error),
159
- }));
236
+ const failureOf = (error) => ({
237
+ status: error instanceof ThumbUnavailableError
238
+ ? 503
239
+ : error instanceof ThumbMissingError
240
+ ? 404
241
+ : error instanceof ShotUnprocessableError
242
+ ? 422
243
+ : error instanceof ShotTimeoutError
244
+ ? 504
245
+ : 500,
246
+ message: error instanceof Error ? error.message : String(error),
247
+ });
248
+ /** Calls `failed` with the status and message a shot answers when it fails, and returns the shot. */
249
+ const noteFailure = (shot, failed) => {
250
+ shot.catch((error) => !(error instanceof DrawDroppedError) && failed(failureOf(error)));
251
+ return shot;
252
+ };
253
+ exports.noteFailure = noteFailure;
254
+ const sendShot = (response, shot) => void shot.then((body) => (0, exports.send)(response, { status: 200, type: 'image/png', body }), (error) => {
255
+ const failure = failureOf(error);
256
+ (0, exports.send)(response, error instanceof ShotFailedError
257
+ ? { status: 500, type: 'image/png', body: error.png }
258
+ : { status: failure.status, type: 'text/plain; charset=utf-8', body: failure.message });
259
+ });
160
260
  exports.sendShot = sendShot;
161
261
  const send = (response, { status, type, body }) => {
162
262
  response.statusCode = status;
@@ -193,7 +293,7 @@ const createThumbnailer = (options) => {
193
293
  deviceScaleFactor: exports.THUMB_PIXEL_WIDTH / width,
194
294
  mobile: false,
195
295
  });
196
- yield page.evaluate(exports.settled);
296
+ yield (0, exports.awaitSettled)(page);
197
297
  const { data } = yield cdp.send('Page.captureScreenshot', { format: 'png' });
198
298
  return Buffer.from(data, 'base64');
199
299
  }
@@ -223,7 +323,7 @@ const createThumbnailer = (options) => {
223
323
  });
224
324
  return;
225
325
  }
226
- (0, exports.sendShot)(response, shotOf(slug, url.search));
326
+ (0, exports.sendShot)(response, (0, exports.noteFailure)(shotOf(slug, url.search), (failure) => { var _a, _b; return (_a = options.ledger) === null || _a === void 0 ? void 0 : _a.fail(Object.assign({ part: slug, state: (_b = url.searchParams.get('variant')) !== null && _b !== void 0 ? _b : '' }, failure)); }));
227
327
  },
228
328
  /** Drops the pictures a changed file may draw into: its own call's, or every call below its folder. */
229
329
  forget: (file) => {
@@ -1 +1 @@
1
- {"version":3,"file":"thumb.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/thumb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thumb.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/thumb.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ export type TypecheckResult = {
22
22
  kind: 'failed';
23
23
  output: string;
24
24
  };
25
- /** Runs `tsc --noEmit -p <tsconfig>` from the checkout. */
25
+ /** Runs `tsc --noEmit --pretty false -p <tsconfig>` from the checkout. */
26
26
  export declare const typecheck: (options: {
27
27
  target: string;
28
28
  tsconfig: string;
@@ -42,7 +42,7 @@ const processFailureOf = (error) => {
42
42
  return [exit, shape.message ? (0, exports.trim)(shape.message) : null].filter(Boolean).join(' - ') || 'no output';
43
43
  };
44
44
  exports.processFailureOf = processFailureOf;
45
- /** Runs `tsc --noEmit -p <tsconfig>` from the checkout. */
45
+ /** Runs `tsc --noEmit --pretty false -p <tsconfig>` from the checkout. */
46
46
  const typecheck = (options) => {
47
47
  const { target, tsconfig } = options;
48
48
  /**
@@ -57,8 +57,8 @@ const typecheck = (options) => {
57
57
  message: 'NO TYPE CHECKER - neither the checkout nor this package resolves typescript.',
58
58
  };
59
59
  const command = native
60
- ? { file: 'npx', args: ['-y', native, '--noEmit', '-p', tsconfig] }
61
- : { file: process.execPath, args: [tsc, '--noEmit', '-p', tsconfig] };
60
+ ? { file: 'npx', args: ['-y', native, '--noEmit', '--pretty', 'false', '-p', tsconfig] }
61
+ : { file: process.execPath, args: [tsc, '--noEmit', '--pretty', 'false', '-p', tsconfig] };
62
62
  try {
63
63
  (0, child_process_1.execFileSync)(command.file, command.args, { cwd: target, encoding: 'utf8', stdio: 'pipe' });
64
64
  }