@ethlete/cli 3.0.0-next.20 → 3.0.0-next.22

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 (337) hide show
  1. package/CHANGELOG.md +190 -0
  2. package/design/assets.d.ts +9 -0
  3. package/design/define-call.ts +20 -11
  4. package/design/define-part.ts +102 -0
  5. package/design/embed-page.ts +70 -0
  6. package/design/interaction-rows.ts +32 -0
  7. package/design/mark-part.ts +66 -0
  8. package/design/svg-asset.ts +36 -0
  9. package/design/systems/config.json +10 -0
  10. package/design/systems/ethlete-components/components/button/button.ts +18 -0
  11. package/design/web/env.d.ts +20 -0
  12. package/design/web/frame.ts +173 -41
  13. package/design/wireframe-kit.ts +386 -0
  14. package/package.json +4 -2
  15. package/src/index.js.map +1 -1
  16. package/src/lib/api/api-command.js.map +1 -1
  17. package/src/lib/api/api-context.js.map +1 -1
  18. package/src/lib/api/api-state.js.map +1 -1
  19. package/src/lib/api/auth-hint.js.map +1 -1
  20. package/src/lib/api/clear.js.map +1 -1
  21. package/src/lib/api/clone.js.map +1 -1
  22. package/src/lib/api/compose.js.map +1 -1
  23. package/src/lib/api/definition.js.map +1 -1
  24. package/src/lib/api/doctor.js.map +1 -1
  25. package/src/lib/api/fingerprint.js.map +1 -1
  26. package/src/lib/api/git.js.map +1 -1
  27. package/src/lib/api/help.js.map +1 -1
  28. package/src/lib/api/index.js.map +1 -1
  29. package/src/lib/api/load-definitions.js.map +1 -1
  30. package/src/lib/api/lock.js.map +1 -1
  31. package/src/lib/api/parse-argv.js.map +1 -1
  32. package/src/lib/api/ports.js.map +1 -1
  33. package/src/lib/api/resolve-checkout.js.map +1 -1
  34. package/src/lib/api/run-locked.js.map +1 -1
  35. package/src/lib/api/run-ready.js.map +1 -1
  36. package/src/lib/api/run-snapshot.js.map +1 -1
  37. package/src/lib/api/run-status.js.map +1 -1
  38. package/src/lib/api/run.js.map +1 -1
  39. package/src/lib/api/seeds.js.map +1 -1
  40. package/src/lib/api/setup.js.map +1 -1
  41. package/src/lib/api/snapshot.js.map +1 -1
  42. package/src/lib/api/state.js.map +1 -1
  43. package/src/lib/api/suggest.js.map +1 -1
  44. package/src/lib/api/validate-definition.js.map +1 -1
  45. package/src/lib/auth/auth-command.js.map +1 -1
  46. package/src/lib/auth/composer-auth.js.map +1 -1
  47. package/src/lib/auth/composer-repositories.js.map +1 -1
  48. package/src/lib/auth/gitlab-token.js.map +1 -1
  49. package/src/lib/auth/index.js.map +1 -1
  50. package/src/lib/config/diagnose.js.map +1 -1
  51. package/src/lib/config/index.js.map +1 -1
  52. package/src/lib/config/local-config.js.map +1 -1
  53. package/src/lib/design/asset-shot.d.ts +26 -0
  54. package/src/lib/design/asset-shot.js +191 -0
  55. package/src/lib/design/asset-shot.js.map +1 -0
  56. package/src/lib/design/browser.js.map +1 -1
  57. package/src/lib/design/calls-tsconfig.d.ts +14 -1
  58. package/src/lib/design/calls-tsconfig.js +23 -18
  59. package/src/lib/design/calls-tsconfig.js.map +1 -1
  60. package/src/lib/design/calls.d.ts +28 -0
  61. package/src/lib/design/calls.js +58 -0
  62. package/src/lib/design/calls.js.map +1 -0
  63. package/src/lib/design/changed-parts.d.ts +51 -0
  64. package/src/lib/design/changed-parts.js +103 -0
  65. package/src/lib/design/changed-parts.js.map +1 -0
  66. package/src/lib/design/check.js +53 -54
  67. package/src/lib/design/check.js.map +1 -1
  68. package/src/lib/design/contact-sheet.d.ts +68 -0
  69. package/src/lib/design/contact-sheet.js +169 -0
  70. package/src/lib/design/contact-sheet.js.map +1 -0
  71. package/src/lib/design/design-command.js +165 -6
  72. package/src/lib/design/design-command.js.map +1 -1
  73. package/src/lib/design/force-interactions.d.ts +13 -0
  74. package/src/lib/design/force-interactions.js +75 -0
  75. package/src/lib/design/force-interactions.js.map +1 -0
  76. package/src/lib/design/inbox-command.d.ts +21 -0
  77. package/src/lib/design/inbox-command.js +156 -0
  78. package/src/lib/design/inbox-command.js.map +1 -0
  79. package/src/lib/design/index.js.map +1 -1
  80. package/src/lib/design/json-layout.d.ts +5 -0
  81. package/src/lib/design/json-layout.js +41 -0
  82. package/src/lib/design/json-layout.js.map +1 -0
  83. package/src/lib/design/legacy.d.ts +7 -0
  84. package/src/lib/design/legacy.js +23 -8
  85. package/src/lib/design/legacy.js.map +1 -1
  86. package/src/lib/design/merge-compare.d.ts +57 -0
  87. package/src/lib/design/merge-compare.js +80 -0
  88. package/src/lib/design/merge-compare.js.map +1 -0
  89. package/src/lib/design/missing-package.js.map +1 -1
  90. package/src/lib/design/new-call.js.map +1 -1
  91. package/src/lib/design/part-marks.d.ts +12 -0
  92. package/src/lib/design/part-marks.js +38 -0
  93. package/src/lib/design/part-marks.js.map +1 -0
  94. package/src/lib/design/paths.d.ts +35 -2
  95. package/src/lib/design/paths.js +62 -4
  96. package/src/lib/design/paths.js.map +1 -1
  97. package/src/lib/design/product-command.d.ts +38 -0
  98. package/src/lib/design/product-command.js +158 -0
  99. package/src/lib/design/product-command.js.map +1 -0
  100. package/src/lib/design/ready-shots.d.ts +13 -0
  101. package/src/lib/design/ready-shots.js +55 -0
  102. package/src/lib/design/ready-shots.js.map +1 -0
  103. package/src/lib/design/render-fields.js.map +1 -1
  104. package/src/lib/design/render-packages.js.map +1 -1
  105. package/src/lib/design/render-worker.js.map +1 -1
  106. package/src/lib/design/render.d.ts +8 -1
  107. package/src/lib/design/render.js +43 -14
  108. package/src/lib/design/render.js.map +1 -1
  109. package/src/lib/design/serve.d.ts +17 -0
  110. package/src/lib/design/serve.js +446 -62
  111. package/src/lib/design/serve.js.map +1 -1
  112. package/src/lib/design/shot-command.d.ts +75 -0
  113. package/src/lib/design/shot-command.js +361 -0
  114. package/src/lib/design/shot-command.js.map +1 -0
  115. package/src/lib/design/shot.d.ts +97 -0
  116. package/src/lib/design/shot.js +346 -0
  117. package/src/lib/design/shot.js.map +1 -0
  118. package/src/lib/design/sketch-at.d.ts +16 -0
  119. package/src/lib/design/sketch-at.js +34 -0
  120. package/src/lib/design/sketch-at.js.map +1 -0
  121. package/src/lib/design/sketch-command.d.ts +9 -0
  122. package/src/lib/design/sketch-command.js +572 -0
  123. package/src/lib/design/sketch-command.js.map +1 -0
  124. package/src/lib/design/ssr-shims.js.map +1 -1
  125. package/src/lib/design/stamp.js.map +1 -1
  126. package/src/lib/design/status.d.ts +2 -2
  127. package/src/lib/design/status.js +2 -2
  128. package/src/lib/design/status.js.map +1 -1
  129. package/src/lib/design/studio-api.d.ts +102 -0
  130. package/src/lib/design/studio-api.js +452 -0
  131. package/src/lib/design/studio-api.js.map +1 -0
  132. package/src/lib/design/system/accept-command.d.ts +7 -0
  133. package/src/lib/design/system/accept-command.js +55 -0
  134. package/src/lib/design/system/accept-command.js.map +1 -0
  135. package/src/lib/design/system/assets.d.ts +34 -0
  136. package/src/lib/design/system/assets.js +64 -0
  137. package/src/lib/design/system/assets.js.map +1 -0
  138. package/src/lib/design/system/base.d.ts +33 -0
  139. package/src/lib/design/system/base.js +49 -0
  140. package/src/lib/design/system/base.js.map +1 -0
  141. package/src/lib/design/system/check-system.d.ts +23 -0
  142. package/src/lib/design/system/check-system.js +151 -0
  143. package/src/lib/design/system/check-system.js.map +1 -0
  144. package/src/lib/design/system/colour.d.ts +2 -0
  145. package/src/lib/design/system/colour.js +9 -0
  146. package/src/lib/design/system/colour.js.map +1 -0
  147. package/src/lib/design/system/comments/comment.d.ts +196 -0
  148. package/src/lib/design/system/comments/comment.js +332 -0
  149. package/src/lib/design/system/comments/comment.js.map +1 -0
  150. package/src/lib/design/system/comments/complete.d.ts +15 -0
  151. package/src/lib/design/system/comments/complete.js +63 -0
  152. package/src/lib/design/system/comments/complete.js.map +1 -0
  153. package/src/lib/design/system/comments/inbox.d.ts +49 -0
  154. package/src/lib/design/system/comments/inbox.js +100 -0
  155. package/src/lib/design/system/comments/inbox.js.map +1 -0
  156. package/src/lib/design/system/css-source.d.ts +12 -0
  157. package/src/lib/design/system/css-source.js +39 -0
  158. package/src/lib/design/system/css-source.js.map +1 -0
  159. package/src/lib/design/system/flows/flow.d.ts +66 -0
  160. package/src/lib/design/system/flows/flow.js +157 -0
  161. package/src/lib/design/system/flows/flow.js.map +1 -0
  162. package/src/lib/design/system/imports.d.ts +70 -0
  163. package/src/lib/design/system/imports.js +159 -0
  164. package/src/lib/design/system/imports.js.map +1 -0
  165. package/src/lib/design/system/kit.d.ts +4 -0
  166. package/src/lib/design/system/kit.js +51 -0
  167. package/src/lib/design/system/kit.js.map +1 -0
  168. package/src/lib/design/system/layers.d.ts +9 -0
  169. package/src/lib/design/system/layers.js +16 -0
  170. package/src/lib/design/system/layers.js.map +1 -0
  171. package/src/lib/design/system/list-system.d.ts +104 -0
  172. package/src/lib/design/system/list-system.js +212 -0
  173. package/src/lib/design/system/list-system.js.map +1 -0
  174. package/src/lib/design/system/notes/note.d.ts +53 -0
  175. package/src/lib/design/system/notes/note.js +116 -0
  176. package/src/lib/design/system/notes/note.js.map +1 -0
  177. package/src/lib/design/system/part-command.d.ts +7 -0
  178. package/src/lib/design/system/part-command.js +134 -0
  179. package/src/lib/design/system/part-command.js.map +1 -0
  180. package/src/lib/design/system/problem.d.ts +5 -0
  181. package/src/lib/design/system/problem.js +3 -0
  182. package/src/lib/design/system/problem.js.map +1 -0
  183. package/src/lib/design/system/product.d.ts +18 -0
  184. package/src/lib/design/system/product.js +35 -0
  185. package/src/lib/design/system/product.js.map +1 -0
  186. package/src/lib/design/system/render-check.d.ts +45 -0
  187. package/src/lib/design/system/render-check.js +427 -0
  188. package/src/lib/design/system/render-check.js.map +1 -0
  189. package/src/lib/design/system/resolve-product.d.ts +32 -0
  190. package/src/lib/design/system/resolve-product.js +62 -0
  191. package/src/lib/design/system/resolve-product.js.map +1 -0
  192. package/src/lib/design/system/rules/component-copy.d.ts +7 -0
  193. package/src/lib/design/system/rules/component-copy.js +53 -0
  194. package/src/lib/design/system/rules/component-copy.js.map +1 -0
  195. package/src/lib/design/system/rules/flow.d.ts +8 -0
  196. package/src/lib/design/system/rules/flow.js +60 -0
  197. package/src/lib/design/system/rules/flow.js.map +1 -0
  198. package/src/lib/design/system/rules/hard-coded-colour.d.ts +7 -0
  199. package/src/lib/design/system/rules/hard-coded-colour.js +27 -0
  200. package/src/lib/design/system/rules/hard-coded-colour.js.map +1 -0
  201. package/src/lib/design/system/rules/interactions.d.ts +4 -0
  202. package/src/lib/design/system/rules/interactions.js +16 -0
  203. package/src/lib/design/system/rules/interactions.js.map +1 -0
  204. package/src/lib/design/system/rules/kit-outside-pages.d.ts +4 -0
  205. package/src/lib/design/system/rules/kit-outside-pages.js +14 -0
  206. package/src/lib/design/system/rules/kit-outside-pages.js.map +1 -0
  207. package/src/lib/design/system/rules/motion.d.ts +4 -0
  208. package/src/lib/design/system/rules/motion.js +13 -0
  209. package/src/lib/design/system/rules/motion.js.map +1 -0
  210. package/src/lib/design/system/rules/stale-comment.d.ts +8 -0
  211. package/src/lib/design/system/rules/stale-comment.js +51 -0
  212. package/src/lib/design/system/rules/stale-comment.js.map +1 -0
  213. package/src/lib/design/system/rules/stale-replace.d.ts +4 -0
  214. package/src/lib/design/system/rules/stale-replace.js +65 -0
  215. package/src/lib/design/system/rules/stale-replace.js.map +1 -0
  216. package/src/lib/design/system/rules/svg-asset.d.ts +6 -0
  217. package/src/lib/design/system/rules/svg-asset.js +30 -0
  218. package/src/lib/design/system/rules/svg-asset.js.map +1 -0
  219. package/src/lib/design/system/rules/token-selectors.d.ts +3 -0
  220. package/src/lib/design/system/rules/token-selectors.js +87 -0
  221. package/src/lib/design/system/rules/token-selectors.js.map +1 -0
  222. package/src/lib/design/system/rules/undefined-token.d.ts +8 -0
  223. package/src/lib/design/system/rules/undefined-token.js +103 -0
  224. package/src/lib/design/system/rules/undefined-token.js.map +1 -0
  225. package/src/lib/design/system/rules/unused-shared-export.d.ts +18 -0
  226. package/src/lib/design/system/rules/unused-shared-export.js +60 -0
  227. package/src/lib/design/system/rules/unused-shared-export.js.map +1 -0
  228. package/src/lib/design/system/rules/upward-dependency.d.ts +4 -0
  229. package/src/lib/design/system/rules/upward-dependency.js +17 -0
  230. package/src/lib/design/system/rules/upward-dependency.js.map +1 -0
  231. package/src/lib/design/system/rules/widths.d.ts +4 -0
  232. package/src/lib/design/system/rules/widths.js +14 -0
  233. package/src/lib/design/system/rules/widths.js.map +1 -0
  234. package/src/lib/design/system/sketch/baseline.d.ts +38 -0
  235. package/src/lib/design/system/sketch/baseline.js +66 -0
  236. package/src/lib/design/system/sketch/baseline.js.map +1 -0
  237. package/src/lib/design/system/sketch/check-format.d.ts +17 -0
  238. package/src/lib/design/system/sketch/check-format.js +56 -0
  239. package/src/lib/design/system/sketch/check-format.js.map +1 -0
  240. package/src/lib/design/system/sketch/check-sketches.d.ts +38 -0
  241. package/src/lib/design/system/sketch/check-sketches.js +104 -0
  242. package/src/lib/design/system/sketch/check-sketches.js.map +1 -0
  243. package/src/lib/design/system/sketch/cli-args.d.ts +26 -0
  244. package/src/lib/design/system/sketch/cli-args.js +63 -0
  245. package/src/lib/design/system/sketch/cli-args.js.map +1 -0
  246. package/src/lib/design/system/sketch/duplicate-class.d.ts +14 -0
  247. package/src/lib/design/system/sketch/duplicate-class.js +57 -0
  248. package/src/lib/design/system/sketch/duplicate-class.js.map +1 -0
  249. package/src/lib/design/system/sketch/merge-preview.d.ts +15 -0
  250. package/src/lib/design/system/sketch/merge-preview.js +43 -0
  251. package/src/lib/design/system/sketch/merge-preview.js.map +1 -0
  252. package/src/lib/design/system/sketch/merge-shared.d.ts +25 -0
  253. package/src/lib/design/system/sketch/merge-shared.js +53 -0
  254. package/src/lib/design/system/sketch/merge-shared.js.map +1 -0
  255. package/src/lib/design/system/sketch/merge.d.ts +31 -0
  256. package/src/lib/design/system/sketch/merge.js +145 -0
  257. package/src/lib/design/system/sketch/merge.js.map +1 -0
  258. package/src/lib/design/system/sketch/merged-parts.d.ts +59 -0
  259. package/src/lib/design/system/sketch/merged-parts.js +134 -0
  260. package/src/lib/design/system/sketch/merged-parts.js.map +1 -0
  261. package/src/lib/design/system/sketch/no-visible-change.d.ts +15 -0
  262. package/src/lib/design/system/sketch/no-visible-change.js +70 -0
  263. package/src/lib/design/system/sketch/no-visible-change.js.map +1 -0
  264. package/src/lib/design/system/sketch/overlay.d.ts +20 -0
  265. package/src/lib/design/system/sketch/overlay.js +38 -0
  266. package/src/lib/design/system/sketch/overlay.js.map +1 -0
  267. package/src/lib/design/system/sketch/part-definition.d.ts +31 -0
  268. package/src/lib/design/system/sketch/part-definition.js +157 -0
  269. package/src/lib/design/system/sketch/part-definition.js.map +1 -0
  270. package/src/lib/design/system/sketch/shared-class.d.ts +9 -0
  271. package/src/lib/design/system/sketch/shared-class.js +65 -0
  272. package/src/lib/design/system/sketch/shared-class.js.map +1 -0
  273. package/src/lib/design/system/sketch/sketch.d.ts +221 -0
  274. package/src/lib/design/system/sketch/sketch.js +481 -0
  275. package/src/lib/design/system/sketch/sketch.js.map +1 -0
  276. package/src/lib/design/system/sketch/unchanged-states.d.ts +23 -0
  277. package/src/lib/design/system/sketch/unchanged-states.js +144 -0
  278. package/src/lib/design/system/sketch/unchanged-states.js.map +1 -0
  279. package/src/lib/design/system/sketch/unused-files.d.ts +10 -0
  280. package/src/lib/design/system/sketch/unused-files.js +56 -0
  281. package/src/lib/design/system/sketch/unused-files.js.map +1 -0
  282. package/src/lib/design/system/system-command.d.ts +9 -0
  283. package/src/lib/design/system/system-command.js +56 -0
  284. package/src/lib/design/system/system-command.js.map +1 -0
  285. package/src/lib/design/system/system-modules.d.ts +58 -0
  286. package/src/lib/design/system/system-modules.js +189 -0
  287. package/src/lib/design/system/system-modules.js.map +1 -0
  288. package/src/lib/design/system/system-tsconfig.d.ts +26 -0
  289. package/src/lib/design/system/system-tsconfig.js +68 -0
  290. package/src/lib/design/system/system-tsconfig.js.map +1 -0
  291. package/src/lib/design/system/ts-source.d.ts +13 -0
  292. package/src/lib/design/system/ts-source.js +108 -0
  293. package/src/lib/design/system/ts-source.js.map +1 -0
  294. package/src/lib/design/system-use.js.map +1 -1
  295. package/src/lib/design/thumb.d.ts +67 -0
  296. package/src/lib/design/thumb.js +222 -0
  297. package/src/lib/design/thumb.js.map +1 -0
  298. package/src/lib/design/typecheck.d.ts +27 -0
  299. package/src/lib/design/typecheck.js +60 -0
  300. package/src/lib/design/typecheck.js.map +1 -0
  301. package/src/lib/design/variant-diff.d.ts +48 -0
  302. package/src/lib/design/variant-diff.js +77 -0
  303. package/src/lib/design/variant-diff.js.map +1 -0
  304. package/src/lib/design/vite-paths.d.ts +2 -0
  305. package/src/lib/design/vite-paths.js +10 -1
  306. package/src/lib/design/vite-paths.js.map +1 -1
  307. package/src/lib/doctor/doctor-command.js.map +1 -1
  308. package/src/lib/doctor/index.js.map +1 -1
  309. package/src/lib/index.js.map +1 -1
  310. package/src/lib/invocation.js +6 -2
  311. package/src/lib/invocation.js.map +1 -1
  312. package/src/lib/release.js.map +1 -1
  313. package/src/lib/update/agent-rules-sync.js.map +1 -1
  314. package/src/lib/update/agent-setup.js.map +1 -1
  315. package/src/lib/update/ai.js.map +1 -1
  316. package/src/lib/update/args.js.map +1 -1
  317. package/src/lib/update/available-migrations.js.map +1 -1
  318. package/src/lib/update/commits.js.map +1 -1
  319. package/src/lib/update/gitignore.js.map +1 -1
  320. package/src/lib/update/index.js.map +1 -1
  321. package/src/lib/update/migration-manifest.js.map +1 -1
  322. package/src/lib/update/migration-record.js.map +1 -1
  323. package/src/lib/update/migrations-command.js +14 -4
  324. package/src/lib/update/migrations-command.js.map +1 -1
  325. package/src/lib/update/package-manager.d.ts +1 -1
  326. package/src/lib/update/package-manager.js.map +1 -1
  327. package/src/lib/update/packages.js.map +1 -1
  328. package/src/lib/update/pending.js.map +1 -1
  329. package/src/lib/update/plan.js.map +1 -1
  330. package/src/lib/update/registry.js.map +1 -1
  331. package/src/lib/update/run-migrations.js.map +1 -1
  332. package/src/lib/update/scan.js +8 -3
  333. package/src/lib/update/scan.js.map +1 -1
  334. package/src/lib/update/semver.js.map +1 -1
  335. package/src/lib/update/tasks.js.map +1 -1
  336. package/src/lib/update/update-command.js.map +1 -1
  337. package/src/lib/utils.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"local-config.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/config/local-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-config.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/config/local-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export declare const ASSET_SHOT_USAGE = "shot --asset <file> [--product <name>] [--width <px>] [--out <file>]";
2
+ export declare const TOKEN_USAGE = "token <name> [--product <name>] [--hex]";
3
+ /** The file inlined as a `data:` URL, or `null` for an extension that is not an image. */
4
+ export declare const dataUrlOf: (options: {
5
+ file: string;
6
+ content: Buffer;
7
+ }) => string | null;
8
+ /** `#rrggbb`, or `#rrggbbaa` when the colour is not opaque. */
9
+ export declare const hexOf: ([r, g, b, a]: readonly number[]) => string;
10
+ /** The custom property name with its leading dashes; `--color-x` and `color-x` both name `--color-x`. */
11
+ export declare const propertyOf: (name: string) => string;
12
+ /** `et design shot --asset <file>` draws an image file, inlined, into a PNG and prints where it wrote it. */
13
+ export declare const designAssetShot: (options: {
14
+ target: string;
15
+ argv: string[];
16
+ invocation: string;
17
+ }) => Promise<number>;
18
+ /**
19
+ * `et design token <name> [--product <name>] --hex` prints the colour a custom property of the product's tokens
20
+ * resolves to, so oklch and color-mix values come out as hex.
21
+ */
22
+ export declare const designToken: (options: {
23
+ target: string;
24
+ argv: string[];
25
+ invocation: string;
26
+ }) => Promise<number>;
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.designToken = exports.designAssetShot = exports.propertyOf = exports.hexOf = exports.dataUrlOf = exports.TOKEN_USAGE = exports.ASSET_SHOT_USAGE = void 0;
13
+ const fs_1 = require("fs");
14
+ const path_1 = require("path");
15
+ const paths_1 = require("./paths");
16
+ const assets_1 = require("./system/assets");
17
+ const cli_args_1 = require("./system/sketch/cli-args");
18
+ const system_modules_1 = require("./system/system-modules");
19
+ const thumb_1 = require("./thumb");
20
+ exports.ASSET_SHOT_USAGE = 'shot --asset <file> [--product <name>] [--width <px>] [--out <file>]';
21
+ exports.TOKEN_USAGE = 'token <name> [--product <name>] [--hex]';
22
+ const MIME_TYPES = {
23
+ '.svg': 'image/svg+xml',
24
+ '.png': 'image/png',
25
+ '.jpg': 'image/jpeg',
26
+ '.jpeg': 'image/jpeg',
27
+ '.webp': 'image/webp',
28
+ '.gif': 'image/gif',
29
+ '.avif': 'image/avif',
30
+ '.ico': 'image/x-icon',
31
+ };
32
+ /** The file inlined as a `data:` URL, or `null` for an extension that is not an image. */
33
+ const dataUrlOf = (options) => {
34
+ const type = MIME_TYPES[(0, path_1.extname)(options.file).toLowerCase()];
35
+ return type ? `data:${type};base64,${options.content.toString('base64')}` : null;
36
+ };
37
+ exports.dataUrlOf = dataUrlOf;
38
+ /** `#rrggbb`, or `#rrggbbaa` when the colour is not opaque. */
39
+ const hexOf = ([r, g, b, a]) => {
40
+ const part = (value) => Math.max(0, Math.min(255, Math.round(value !== null && value !== void 0 ? value : 0)))
41
+ .toString(16)
42
+ .padStart(2, '0');
43
+ return `#${part(r)}${part(g)}${part(b)}${(a !== null && a !== void 0 ? a : 255) < 255 ? part(a) : ''}`;
44
+ };
45
+ exports.hexOf = hexOf;
46
+ /** The custom property name with its leading dashes; `--color-x` and `color-x` both name `--color-x`. */
47
+ const propertyOf = (name) => (name.startsWith('--') ? name : `--${name}`);
48
+ exports.propertyOf = propertyOf;
49
+ const assetPageOf = (url) => `<!doctype html><meta charset="utf-8"><style>html,body{margin:0;background:#fff}img{display:block}</style><img id="asset" src="${url}">`;
50
+ const decodeAsset = `(async () => {
51
+ const image = document.getElementById('asset');
52
+ await image.decode().catch(() => undefined);
53
+ return image.naturalWidth > 0;
54
+ })()`;
55
+ const colorOf = (property) => `(() => {
56
+ const property = ${JSON.stringify(property)};
57
+ const probe = document.getElementById('probe');
58
+ probe.style.color = 'var(' + property + ')';
59
+ if (!getComputedStyle(document.documentElement).getPropertyValue(property).trim()) return null;
60
+ const canvas = document.createElement('canvas');
61
+ canvas.width = canvas.height = 1;
62
+ const context = canvas.getContext('2d', { willReadFrequently: true });
63
+ context.fillStyle = getComputedStyle(probe).color;
64
+ context.fillRect(0, 0, 1, 1);
65
+ return [...context.getImageData(0, 0, 1, 1).data];
66
+ })()`;
67
+ const fail = (message) => {
68
+ console.error(message);
69
+ return 1;
70
+ };
71
+ const queueError = (error) => {
72
+ if (error instanceof thumb_1.ThumbUnavailableError)
73
+ return fail(error.message);
74
+ throw error;
75
+ };
76
+ /** `et design shot --asset <file>` draws an image file, inlined, into a PNG and prints where it wrote it. */
77
+ const designAssetShot = (options) => __awaiter(void 0, void 0, void 0, function* () {
78
+ var _a, _b, _c;
79
+ const { target, argv, invocation } = options;
80
+ const args = (0, cli_args_1.argsOf)(argv, ['--asset', '--product', '--width', '--out']);
81
+ const usage = `usage: ${invocation} ${exports.ASSET_SHOT_USAGE}`;
82
+ if (typeof args === 'string') {
83
+ console.error(`${args}\n${usage}`);
84
+ return 2;
85
+ }
86
+ const asked = args.values['--asset'];
87
+ const width = args.values['--width'] === undefined ? null : Number(args.values['--width']);
88
+ if (!asked || args.positional.length > 0 || (width !== null && !(Number.isInteger(width) && width > 0))) {
89
+ console.error(usage);
90
+ return 2;
91
+ }
92
+ let file = [(0, path_1.resolve)(asked), (0, path_1.resolve)(target, asked)].find((path) => (0, fs_1.existsSync)(path) && (0, fs_1.statSync)(path).isFile());
93
+ if (!file && args.values['--product'] !== undefined) {
94
+ const config = (0, cli_args_1.configOf)(target);
95
+ if (typeof config === 'string')
96
+ return fail(config);
97
+ const resolved = (0, cli_args_1.oneProductOf)({ target, config, asked: args.values['--product'] });
98
+ if (typeof resolved === 'string')
99
+ return fail(resolved);
100
+ file = (_b = (0, assets_1.assetFileOf)({ product: resolved, path: (_a = (0, assets_1.assetPathOf)(asked)) !== null && _a !== void 0 ? _a : asked })) !== null && _b !== void 0 ? _b : undefined;
101
+ }
102
+ if (!file)
103
+ return fail(`design-explore: no asset file "${asked}"`);
104
+ const url = (0, exports.dataUrlOf)({ file, content: (0, fs_1.readFileSync)(file) });
105
+ if (!url)
106
+ return fail(`design-explore: "${file}" is not an image (${Object.keys(MIME_TYPES).join(' ')})`);
107
+ const queue = (0, thumb_1.createDrawQueue)({ target });
108
+ try {
109
+ const png = yield queue.run((browser) => __awaiter(void 0, void 0, void 0, function* () {
110
+ const page = yield browser.newPage({ viewport: { width: width !== null && width !== void 0 ? width : 800, height: 600 } });
111
+ try {
112
+ yield page.setContent(assetPageOf(url));
113
+ const decoded = (yield page.evaluate(decodeAsset));
114
+ if (!decoded)
115
+ throw new thumb_1.ThumbUnavailableError(`design-explore: "${file}" did not decode as an image`);
116
+ if (width !== null)
117
+ yield page.evaluate(`document.getElementById('asset').style.width = '${width}px'`);
118
+ return yield page.locator('#asset').screenshot();
119
+ }
120
+ finally {
121
+ yield page.close();
122
+ }
123
+ }));
124
+ const out = (0, path_1.resolve)(target, (_c = args.values['--out']) !== null && _c !== void 0 ? _c : `${(0, paths_1.workRootOf)(target)}/shots/asset-${file.split(/[\\/]/).pop()}.png`);
125
+ (0, fs_1.mkdirSync)((0, path_1.dirname)(out), { recursive: true });
126
+ (0, fs_1.writeFileSync)(out, png);
127
+ console.log(out);
128
+ return 0;
129
+ }
130
+ catch (error) {
131
+ return queueError(error);
132
+ }
133
+ finally {
134
+ yield queue.close();
135
+ }
136
+ });
137
+ exports.designAssetShot = designAssetShot;
138
+ /**
139
+ * `et design token <name> [--product <name>] --hex` prints the colour a custom property of the product's tokens
140
+ * resolves to, so oklch and color-mix values come out as hex.
141
+ */
142
+ const designToken = (options) => __awaiter(void 0, void 0, void 0, function* () {
143
+ const { target, argv, invocation } = options;
144
+ const args = (0, cli_args_1.argsOf)(argv, ['--product']);
145
+ const usage = `usage: ${invocation} ${exports.TOKEN_USAGE}`;
146
+ if (typeof args === 'string') {
147
+ console.error(`${args}\n${usage}`);
148
+ return 2;
149
+ }
150
+ const [name, ...extra] = args.positional;
151
+ if (!name || extra.length > 0) {
152
+ console.error(usage);
153
+ return 2;
154
+ }
155
+ const config = (0, cli_args_1.configOf)(target);
156
+ if (typeof config === 'string')
157
+ return fail(config);
158
+ const resolved = (0, cli_args_1.oneProductOf)({ target, config, asked: args.values['--product'] });
159
+ if (typeof resolved === 'string')
160
+ return fail(resolved);
161
+ const sheets = (0, system_modules_1.createSystemModules)({ target, config }).tokenStylesheetsOf({ product: resolved.name });
162
+ if (sheets.length === 0)
163
+ return fail(`design-explore: product "${resolved.name}" has no tokens stylesheet`);
164
+ const property = (0, exports.propertyOf)(name);
165
+ const queue = (0, thumb_1.createDrawQueue)({ target });
166
+ try {
167
+ const rgba = yield queue.run((browser) => __awaiter(void 0, void 0, void 0, function* () {
168
+ const page = yield browser.newPage();
169
+ try {
170
+ yield page.setContent('<!doctype html><html><body><div id="probe"></div></body></html>');
171
+ yield page.addStyleTag({ content: sheets.map((sheet) => (0, fs_1.readFileSync)(sheet, 'utf8')).join('\n') });
172
+ return (yield page.evaluate(colorOf(property)));
173
+ }
174
+ finally {
175
+ yield page.close();
176
+ }
177
+ }));
178
+ if (!rgba)
179
+ return fail(`design-explore: product "${resolved.name}" tokens define no ${property}`);
180
+ console.log((0, exports.hexOf)(rgba));
181
+ return 0;
182
+ }
183
+ catch (error) {
184
+ return queueError(error);
185
+ }
186
+ finally {
187
+ yield queue.close();
188
+ }
189
+ });
190
+ exports.designToken = designToken;
191
+ //# sourceMappingURL=asset-shot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-shot.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/asset-shot.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2BAAkF;AAClF,+BAAiD;AACjD,mCAAqC;AACrC,4CAA2D;AAC3D,uDAA0E;AAC1E,4DAA8D;AAC9D,mCAAiE;AAEpD,QAAA,gBAAgB,GAAG,sEAAsE,CAAC;AAE1F,QAAA,WAAW,GAAG,yCAAyC,CAAC;AAErE,MAAM,UAAU,GAA2B;IACzC,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,cAAc;CACvB,CAAC;AAEF,0FAA0F;AACnF,MAAM,SAAS,GAAG,CAAC,OAA0C,EAAE,EAAE;IACtE,MAAM,IAAI,GAAG,UAAU,CAAC,IAAA,cAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAE7D,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,WAAW,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACnF,CAAC,CAAC;AAJW,QAAA,SAAS,aAIpB;AAEF,+DAA+D;AACxD,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAoB,EAAE,EAAE;IACvD,MAAM,IAAI,GAAG,CAAC,KAAyB,EAAE,EAAE,CACzC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC,CAAC,CAAC,CAAC;SAC/C,QAAQ,CAAC,EAAE,CAAC;SACZ,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAEtB,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC7E,CAAC,CAAC;AAPW,QAAA,KAAK,SAOhB;AAEF,yGAAyG;AAClG,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;AAA5E,QAAA,UAAU,cAAkE;AAEzF,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAClC,iIAAiI,GAAG,IAAI,CAAC;AAE3I,MAAM,WAAW,GAAG;;;;KAIf,CAAC;AAEN,MAAM,OAAO,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC;qBACjB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;;;;;;;;;;KAUxC,CAAC;AAEN,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,EAAE;IAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEvB,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,KAAc,EAAE,EAAE;IACpC,IAAI,KAAK,YAAY,6BAAqB;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEvE,MAAM,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,6GAA6G;AACtG,MAAM,eAAe,GAAG,CAAO,OAA+D,EAAE,EAAE;;IACvG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC7C,MAAM,IAAI,GAAG,IAAA,iBAAM,EAAC,IAAI,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,UAAU,UAAU,IAAI,wBAAgB,EAAE,CAAC;IAEzD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;QAEnC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAE3F,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACxG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAErB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,IAAI,GAAG,CAAC,IAAA,cAAO,EAAC,KAAK,CAAC,EAAE,IAAA,cAAO,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,IAAI,IAAA,aAAQ,EAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAEhH,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,IAAA,mBAAQ,EAAC,MAAM,CAAC,CAAC;QAEhC,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;QAEpD,MAAM,QAAQ,GAAG,IAAA,uBAAY,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEnF,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;QAExD,IAAI,GAAG,MAAA,IAAA,oBAAW,EAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAA,IAAA,oBAAW,EAAC,KAAK,CAAC,mCAAI,KAAK,EAAE,CAAC,mCAAI,SAAS,CAAC;IAC5F,CAAC;IAED,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC,kCAAkC,KAAK,GAAG,CAAC,CAAC;IAEnE,MAAM,GAAG,GAAG,IAAA,iBAAS,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAA,iBAAY,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE7D,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC,oBAAoB,IAAI,sBAAsB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE1G,MAAM,KAAK,GAAG,IAAA,uBAAe,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAE1C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAO,OAAO,EAAE,EAAE;YAC5C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAEvF,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;gBAExC,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAY,CAAC;gBAE9D,IAAI,CAAC,OAAO;oBAAE,MAAM,IAAI,6BAAqB,CAAC,oBAAoB,IAAI,8BAA8B,CAAC,CAAC;gBAEtG,IAAI,KAAK,KAAK,IAAI;oBAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,mDAAmD,KAAK,KAAK,CAAC,CAAC;gBAEvG,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;YACnD,CAAC;oBAAS,CAAC;gBACT,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;QACH,CAAC,CAAA,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,IAAA,cAAO,EACjB,MAAM,EACN,MAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAI,GAAG,IAAA,kBAAU,EAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,CAC7F,CAAC;QAEF,IAAA,cAAS,EAAC,IAAA,cAAO,EAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,IAAA,kBAAa,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEjB,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;YAAS,CAAC;QACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;AACH,CAAC,CAAA,CAAC;AA3EW,QAAA,eAAe,mBA2E1B;AAEF;;;GAGG;AACI,MAAM,WAAW,GAAG,CAAO,OAA+D,EAAE,EAAE;IACnG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC7C,MAAM,IAAI,GAAG,IAAA,iBAAM,EAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,UAAU,IAAI,mBAAW,EAAE,CAAC;IAEpD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;QAEnC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;IAEzC,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAErB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,mBAAQ,EAAC,MAAM,CAAC,CAAC;IAEhC,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IAEpD,MAAM,QAAQ,GAAG,IAAA,uBAAY,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAEnF,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;IAExD,MAAM,MAAM,GAAG,IAAA,oCAAmB,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEtG,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,4BAA4B,QAAQ,CAAC,IAAI,4BAA4B,CAAC,CAAC;IAE5G,MAAM,QAAQ,GAAG,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,IAAA,uBAAe,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAE1C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAO,OAAO,EAAE,EAAE;YAC7C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YAErC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,UAAU,CAAC,iEAAiE,CAAC,CAAC;gBACzF,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,iBAAY,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEnG,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAoB,CAAC;YACrE,CAAC;oBAAS,CAAC;gBACT,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;QACH,CAAC,CAAA,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,4BAA4B,QAAQ,CAAC,IAAI,sBAAsB,QAAQ,EAAE,CAAC,CAAC;QAElG,OAAO,CAAC,GAAG,CAAC,IAAA,aAAK,EAAC,IAAI,CAAC,CAAC,CAAC;QAEzB,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;YAAS,CAAC;QACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;AACH,CAAC,CAAA,CAAC;AA1DW,QAAA,WAAW,eA0DtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/browser.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6BAAoC;AAIpC,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;AAE3D;;;GAGG;AACI,MAAM,UAAU,GAAG,CAAO,MAAc,EAAwD,EAAE;;IACvG,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;QACpC,IAAI,IAAY,CAAC;QAEjB,IAAI,CAAC;YACH,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;QAAC,WAAM,CAAC;YACP,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,IAAA,mBAAa,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAGrD,CAAC;QACF,MAAM,QAAQ,GAAG,MAAA,MAAM,CAAC,QAAQ,mCAAI,MAAA,MAAM,CAAC,OAAO,0CAAE,QAAQ,CAAC;QAE7D,IAAI,QAAQ;YAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAA,CAAC;AApBW,QAAA,UAAU,cAoBrB"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/browser.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6BAAoC;AAIpC,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;AAE3D;;;GAGG;AACI,MAAM,UAAU,GAAG,CAAO,MAAc,EAAwD,EAAE;;IACvG,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;QACpC,IAAI,IAAY,CAAC;QAEjB,IAAI,CAAC;YACH,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;QAAC,WAAM,CAAC;YACP,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,IAAA,mBAAa,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAGrD,CAAC;QACF,MAAM,QAAQ,GAAG,MAAA,MAAM,CAAC,QAAQ,mCAAI,MAAA,MAAM,CAAC,OAAO,0CAAE,QAAQ,CAAC;QAE7D,IAAI,QAAQ;YAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAA,CAAC;AApBW,QAAA,UAAU,cAoBrB"}
@@ -1,6 +1,19 @@
1
+ export declare const DRAWING_COMPILER_OPTIONS: {
2
+ types: never[];
3
+ target: string;
4
+ module: string;
5
+ moduleResolution: string;
6
+ lib: string[];
7
+ strict: boolean;
8
+ noUncheckedIndexedAccess: boolean;
9
+ esModuleInterop: boolean;
10
+ skipLibCheck: boolean;
11
+ noEmit: boolean;
12
+ };
1
13
  /**
2
14
  * Writes the tsconfig that types a checkout's calls, and answers with its path. A call file
3
15
  * imports `@design-explore`, which only this package can resolve, so no repository can write
4
- * this config for itself.
16
+ * this config for itself. The same config goes to `.ethlete/design/tsconfig.json`, the nearest
17
+ * tsconfig an editor finds for a call file.
5
18
  */
6
19
  export declare const writeCallsTsconfig: (target: string) => string;
@@ -1,40 +1,45 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.writeCallsTsconfig = void 0;
3
+ exports.writeCallsTsconfig = exports.DRAWING_COMPILER_OPTIONS = void 0;
4
4
  const fs_1 = require("fs");
5
5
  const path_1 = require("path");
6
6
  const paths_1 = require("./paths");
7
7
  const render_packages_1 = require("./render-packages");
8
+ exports.DRAWING_COMPILER_OPTIONS = {
9
+ types: [],
10
+ target: 'es2022',
11
+ module: 'preserve',
12
+ moduleResolution: 'bundler',
13
+ lib: ['dom', 'es2022'],
14
+ strict: true,
15
+ noUncheckedIndexedAccess: true,
16
+ esModuleInterop: true,
17
+ skipLibCheck: true,
18
+ noEmit: true,
19
+ };
8
20
  /**
9
21
  * Writes the tsconfig that types a checkout's calls, and answers with its path. A call file
10
22
  * imports `@design-explore`, which only this package can resolve, so no repository can write
11
- * this config for itself.
23
+ * this config for itself. The same config goes to `.ethlete/design/tsconfig.json`, the nearest
24
+ * tsconfig an editor finds for a call file.
12
25
  */
13
26
  const writeCallsTsconfig = (target) => {
14
27
  var _a, _b, _c;
15
28
  const work = (0, paths_1.workRootOf)(target);
16
29
  const path = (0, path_1.resolve)(work, 'tsconfig.json');
17
- const defineCall = (0, path_1.resolve)((0, paths_1.assetRoot)(), 'define-call.ts');
18
- const inlineCss = (0, path_1.resolve)((0, paths_1.assetRoot)(), 'css-inline.d.ts');
30
+ const defineCall = (0, path_1.resolve)((0, paths_1.installedAssetRoot)(), 'define-call.ts');
31
+ const inlineCss = (0, path_1.resolve)((0, paths_1.installedAssetRoot)(), 'css-inline.d.ts');
19
32
  const typePaths = (0, render_packages_1.typePathsOf)({ packages: (_c = (_b = (_a = (0, paths_1.readConfig)(target)) === null || _a === void 0 ? void 0 : _a.render) === null || _b === void 0 ? void 0 : _b.packages) !== null && _c !== void 0 ? _c : {}, target });
20
33
  const config = {
21
- compilerOptions: {
22
- types: [],
23
- target: 'es2022',
24
- module: 'preserve',
25
- moduleResolution: 'bundler',
26
- lib: ['dom', 'es2022'],
27
- strict: true,
28
- noUncheckedIndexedAccess: true,
29
- esModuleInterop: true,
30
- skipLibCheck: true,
31
- noEmit: true,
32
- paths: Object.assign(Object.assign({}, typePaths), { '@design-explore': [defineCall] }),
33
- },
34
+ compilerOptions: Object.assign(Object.assign({}, exports.DRAWING_COMPILER_OPTIONS), { paths: Object.assign(Object.assign({}, typePaths), { '@design-explore': [defineCall] }) }),
34
35
  include: [`${(0, paths_1.callsRootOf)(target)}/**/*.ts`, defineCall, inlineCss],
35
36
  };
37
+ const text = `${JSON.stringify(config, null, 2)}\n`;
38
+ const editorPath = (0, path_1.resolve)(target, paths_1.DESIGN_DIR, 'tsconfig.json');
36
39
  (0, fs_1.mkdirSync)(work, { recursive: true });
37
- (0, fs_1.writeFileSync)(path, `${JSON.stringify(config, null, 2)}\n`);
40
+ (0, fs_1.writeFileSync)(path, text);
41
+ (0, fs_1.mkdirSync)((0, path_1.dirname)(editorPath), { recursive: true });
42
+ (0, fs_1.writeFileSync)(editorPath, text);
38
43
  return path;
39
44
  };
40
45
  exports.writeCallsTsconfig = writeCallsTsconfig;
@@ -1 +1 @@
1
- {"version":3,"file":"calls-tsconfig.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/calls-tsconfig.ts"],"names":[],"mappings":";;;AAAA,2BAA8C;AAC9C,+BAA+B;AAC/B,mCAAyE;AACzE,uDAAgD;AAEhD;;;;GAIG;AACI,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,EAAE;;IACnD,MAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,MAAM,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,IAAA,cAAO,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAA,cAAO,EAAC,IAAA,iBAAS,GAAE,EAAE,gBAAgB,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,IAAA,cAAO,EAAC,IAAA,iBAAS,GAAE,EAAE,iBAAiB,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,IAAA,6BAAW,EAAC,EAAE,QAAQ,EAAE,MAAA,MAAA,MAAA,IAAA,kBAAU,EAAC,MAAM,CAAC,0CAAE,MAAM,0CAAE,QAAQ,mCAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAEhG,MAAM,MAAM,GAAG;QACb,eAAe,EAAE;YACf,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,UAAU;YAClB,gBAAgB,EAAE,SAAS;YAC3B,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;YACtB,MAAM,EAAE,IAAI;YACZ,wBAAwB,EAAE,IAAI;YAC9B,eAAe,EAAE,IAAI;YACrB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,IAAI;YACZ,KAAK,kCAAO,SAAS,KAAE,iBAAiB,EAAE,CAAC,UAAU,CAAC,GAAE;SACzD;QACD,OAAO,EAAE,CAAC,GAAG,IAAA,mBAAW,EAAC,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC;KACnE,CAAC;IAEF,IAAA,cAAS,EAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,IAAA,kBAAa,EAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAE5D,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA5BW,QAAA,kBAAkB,sBA4B7B"}
1
+ {"version":3,"file":"calls-tsconfig.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/calls-tsconfig.ts"],"names":[],"mappings":";;;AAAA,2BAA8C;AAC9C,+BAAwC;AACxC,mCAA8F;AAC9F,uDAAgD;AAEnC,QAAA,wBAAwB,GAAG;IACtC,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,UAAU;IAClB,gBAAgB,EAAE,SAAS;IAC3B,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;IACtB,MAAM,EAAE,IAAI;IACZ,wBAAwB,EAAE,IAAI;IAC9B,eAAe,EAAE,IAAI;IACrB,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,IAAI;CACb,CAAC;AAEF;;;;;GAKG;AACI,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,EAAE;;IACnD,MAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,MAAM,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,IAAA,cAAO,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAA,cAAO,EAAC,IAAA,0BAAkB,GAAE,EAAE,gBAAgB,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,IAAA,cAAO,EAAC,IAAA,0BAAkB,GAAE,EAAE,iBAAiB,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,IAAA,6BAAW,EAAC,EAAE,QAAQ,EAAE,MAAA,MAAA,MAAA,IAAA,kBAAU,EAAC,MAAM,CAAC,0CAAE,MAAM,0CAAE,QAAQ,mCAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAEhG,MAAM,MAAM,GAAG;QACb,eAAe,kCACV,gCAAwB,KAC3B,KAAK,kCAAO,SAAS,KAAE,iBAAiB,EAAE,CAAC,UAAU,CAAC,MACvD;QACD,OAAO,EAAE,CAAC,GAAG,IAAA,mBAAW,EAAC,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC;KACnE,CAAC;IAEF,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IACpD,MAAM,UAAU,GAAG,IAAA,cAAO,EAAC,MAAM,EAAE,kBAAU,EAAE,eAAe,CAAC,CAAC;IAEhE,IAAA,cAAS,EAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,IAAA,kBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1B,IAAA,cAAS,EAAC,IAAA,cAAO,EAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,IAAA,kBAAa,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAEhC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAxBW,QAAA,kBAAkB,sBAwB7B"}
@@ -0,0 +1,28 @@
1
+ export declare const CALLS_PATH = "/__design/calls";
2
+ /** Every `call.ts` below a folder, as absolute paths in slug order. */
3
+ export declare const callFilesOf: (folder: string) => string[];
4
+ export declare const callSlugsOf: (target: string) => string[];
5
+ export type ListedCall = {
6
+ slug: string;
7
+ project: string;
8
+ eyebrow: string;
9
+ headline: string;
10
+ stage: string | null;
11
+ legacy: boolean;
12
+ transferred: boolean;
13
+ closed: string | null;
14
+ frameWidth: number;
15
+ variants: {
16
+ key: string;
17
+ name: string;
18
+ }[];
19
+ } | {
20
+ slug: string;
21
+ project: string;
22
+ error: string;
23
+ };
24
+ /** The calls of every project, each read through `load`, which answers with the module of a `call.ts`. */
25
+ export declare const listCalls: (options: {
26
+ target: string;
27
+ load: (file: string) => Promise<unknown>;
28
+ }) => Promise<ListedCall[]>;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.listCalls = exports.callSlugsOf = exports.callFilesOf = exports.CALLS_PATH = void 0;
13
+ const fs_1 = require("fs");
14
+ const path_1 = require("path");
15
+ const paths_1 = require("./paths");
16
+ const vite_paths_1 = require("./vite-paths");
17
+ exports.CALLS_PATH = '/__design/calls';
18
+ /** Every `call.ts` below a folder, as absolute paths in slug order. */
19
+ const callFilesOf = (folder) => (0, fs_1.existsSync)(folder)
20
+ ? (0, fs_1.globSync)('**/call.ts', { cwd: folder })
21
+ .sort()
22
+ .map((file) => (0, path_1.resolve)(folder, file))
23
+ : [];
24
+ exports.callFilesOf = callFilesOf;
25
+ const callSlugsOf = (target) => {
26
+ const root = (0, paths_1.callsRootOf)(target);
27
+ return (0, exports.callFilesOf)(root).map((file) => (0, vite_paths_1.callSlugOf)((0, path_1.relative)(root, file)));
28
+ };
29
+ exports.callSlugsOf = callSlugsOf;
30
+ /** The calls of every project, each read through `load`, which answers with the module of a `call.ts`. */
31
+ const listCalls = (options) => __awaiter(void 0, void 0, void 0, function* () {
32
+ const { target, load } = options;
33
+ const root = (0, paths_1.callsRootOf)(target);
34
+ return Promise.all((0, exports.callSlugsOf)(target).map((slug) => __awaiter(void 0, void 0, void 0, function* () {
35
+ var _a, _b, _c;
36
+ const project = (_a = slug.split('/')[0]) !== null && _a !== void 0 ? _a : '';
37
+ try {
38
+ const call = (yield load((0, path_1.resolve)(root, slug, 'call.ts'))).default;
39
+ return {
40
+ slug,
41
+ project,
42
+ eyebrow: call.eyebrow,
43
+ headline: call.headline,
44
+ stage: (_b = call.stage) !== null && _b !== void 0 ? _b : null,
45
+ legacy: call.legacy === true,
46
+ transferred: call.transferred === true,
47
+ closed: (_c = call.closed) !== null && _c !== void 0 ? _c : null,
48
+ frameWidth: call.frameWidth,
49
+ variants: call.variants.map((variant) => ({ key: variant.key, name: variant.name })),
50
+ };
51
+ }
52
+ catch (error) {
53
+ return { slug, project, error: error instanceof Error ? error.message : String(error) };
54
+ }
55
+ })));
56
+ });
57
+ exports.listCalls = listCalls;
58
+ //# sourceMappingURL=calls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calls.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/calls.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2BAA0C;AAC1C,+BAAyC;AACzC,mCAAsC;AACtC,6CAA0C;AAE7B,QAAA,UAAU,GAAG,iBAAiB,CAAC;AAE5C,uEAAuE;AAChE,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,EAAE,CAC5C,IAAA,eAAU,EAAC,MAAM,CAAC;IAChB,CAAC,CAAC,IAAA,aAAQ,EAAC,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;SACpC,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,cAAO,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,EAAE,CAAC;AALI,QAAA,WAAW,eAKf;AAEF,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,EAAE;IAC5C,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,MAAM,CAAC,CAAC;IAEjC,OAAO,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,uBAAU,EAAC,IAAA,eAAQ,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC,CAAC;AAJW,QAAA,WAAW,eAItB;AA8BF,0GAA0G;AACnG,MAAM,SAAS,GAAG,CAAO,OAG/B,EAAyB,EAAE;IAC1B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACjC,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,MAAM,CAAC,CAAC;IAEjC,OAAO,OAAO,CAAC,GAAG,CAChB,IAAA,mBAAW,EAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAO,IAAI,EAAuB,EAAE;;QAC1D,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC;QAEzC,IAAI,CAAC;YACH,MAAM,IAAI,GAAI,CAAC,MAAM,IAAI,CAAC,IAAA,cAAO,EAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAgB,CAAC,OAAO,CAAC;YAElF,OAAO;gBACL,IAAI;gBACJ,OAAO;gBACP,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,IAAI;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI;gBAC5B,WAAW,EAAE,IAAI,CAAC,WAAW,KAAK,IAAI;gBACtC,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,IAAI;gBAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;aACrF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1F,CAAC;IACH,CAAC,CAAA,CAAC,CACH,CAAC;AACJ,CAAC,CAAA,CAAC;AA/BW,QAAA,SAAS,aA+BpB"}
@@ -0,0 +1,51 @@
1
+ import { DesignConfig } from './paths';
2
+ import { SketchVariant, SystemModules } from './system/system-modules';
3
+ /** One part as a frame draws it: in a product, or in one variant of one of the product's sketches. */
4
+ export type DrawnPart = {
5
+ product: string;
6
+ part: string;
7
+ sketch: SketchVariant | null;
8
+ };
9
+ /**
10
+ * The parts a file change redraws, or every part when the server cannot tell. `errored` asks a frame
11
+ * that shows an error to reload too: a new file may be the one it missed.
12
+ */
13
+ export type PartsChange = {
14
+ all: true;
15
+ } | {
16
+ all: false;
17
+ parts: DrawnPart[];
18
+ errored?: true;
19
+ };
20
+ export declare const ALL_PARTS: PartsChange;
21
+ /** Whether `change` redraws `drawn`. */
22
+ export declare const redraws: (change: PartsChange, drawn: DrawnPart) => boolean;
23
+ /**
24
+ * The parts a change to `file` redraws: every part of a product whose `styles` the file is or feeds,
25
+ * every part drawn under the file as a tokens stylesheet,
26
+ * and every part among the modules that import the file, directly or not (`dependents`, which holds
27
+ * the file's own modules too).
28
+ */
29
+ export declare const changedPartsOf: (options: {
30
+ target: string;
31
+ config: DesignConfig;
32
+ system: SystemModules;
33
+ file: string;
34
+ dependents: string[];
35
+ }) => PartsChange;
36
+ /**
37
+ * The frames a file that came or went redraws: every part of the product whose part folder holds it,
38
+ * since an `@system/...` import anywhere in the product may now resolve to another file, or the parts
39
+ * of the variant whose folder holds it. A file in no part folder redraws no part, only the frames
40
+ * that show an error.
41
+ */
42
+ export declare const addedPartsOf: (options: {
43
+ designRoot: string;
44
+ baseDirs: string[];
45
+ system: SystemModules;
46
+ file: string;
47
+ }) => {
48
+ all: false;
49
+ parts: DrawnPart[];
50
+ errored?: true;
51
+ };
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addedPartsOf = exports.changedPartsOf = exports.redraws = exports.ALL_PARTS = void 0;
4
+ const path_1 = require("path");
5
+ const layers_1 = require("./system/layers");
6
+ const resolve_product_1 = require("./system/resolve-product");
7
+ const system_modules_1 = require("./system/system-modules");
8
+ exports.ALL_PARTS = { all: true };
9
+ const drawnKeyOf = (drawn) => { var _a, _b, _c, _d; return JSON.stringify([drawn.product, drawn.part, (_b = (_a = drawn.sketch) === null || _a === void 0 ? void 0 : _a.target) !== null && _b !== void 0 ? _b : null, (_d = (_c = drawn.sketch) === null || _c === void 0 ? void 0 : _c.variant) !== null && _d !== void 0 ? _d : null]); };
10
+ /** Whether `change` redraws `drawn`. */
11
+ const redraws = (change, drawn) => change.all || change.parts.some((part) => drawnKeyOf(part) === drawnKeyOf(drawn));
12
+ exports.redraws = redraws;
13
+ const drawnSystemsOf = (system, product) => [
14
+ null,
15
+ ...system.sketchesOf(product).flatMap(({ target, variants }) => variants.map((variant) => ({ target, variant }))),
16
+ ];
17
+ const partsDrawnIn = (options) => {
18
+ var _a, _b;
19
+ return ((_b = (_a = options.system.drawnOf(options.product, options.sketch)) === null || _a === void 0 ? void 0 : _a.parts) !== null && _b !== void 0 ? _b : []).map((part) => ({
20
+ product: options.product,
21
+ part: (0, resolve_product_1.partKeyOf)(part),
22
+ sketch: options.sketch,
23
+ }));
24
+ };
25
+ const everyPartOf = (system, product) => drawnSystemsOf(system, product).flatMap((sketch) => partsDrawnIn({ system, product, sketch }));
26
+ /** Every part a frame draws under `file` as one of its tokens stylesheets, in any product or sketch variant. */
27
+ const partsUnderTokens = (options) => {
28
+ const { system, products, file } = options;
29
+ return products.flatMap((product) => drawnSystemsOf(system, product).flatMap((sketch) => {
30
+ const drawsUnder = system.tokenStylesheetsOf({ product, sketch }).some((css) => (0, path_1.resolve)(css) === (0, path_1.resolve)(file));
31
+ return drawsUnder ? partsDrawnIn({ system, product, sketch }) : [];
32
+ }));
33
+ };
34
+ const partOfModuleId = (system, id) => {
35
+ var _a;
36
+ const product = (0, system_modules_1.productOfModuleId)(id);
37
+ if (!product)
38
+ return null;
39
+ const sketch = (0, system_modules_1.sketchOfModuleId)(id);
40
+ const file = (0, system_modules_1.fileOfModuleId)(id);
41
+ const part = (_a = system.drawnOf(product, sketch)) === null || _a === void 0 ? void 0 : _a.parts.find((candidate) => candidate.file === file);
42
+ return part ? { product, part: (0, resolve_product_1.partKeyOf)(part), sketch } : null;
43
+ };
44
+ /**
45
+ * The parts a change to `file` redraws: every part of a product whose `styles` the file is or feeds,
46
+ * every part drawn under the file as a tokens stylesheet,
47
+ * and every part among the modules that import the file, directly or not (`dependents`, which holds
48
+ * the file's own modules too).
49
+ */
50
+ const changedPartsOf = (options) => {
51
+ var _a, _b;
52
+ const { target, config, system, file, dependents } = options;
53
+ const files = new Set([(0, path_1.resolve)(file), ...dependents.map((id) => (0, path_1.resolve)((0, system_modules_1.fileOfModuleId)(id)))]);
54
+ const styled = Object.entries((_a = config.products) !== null && _a !== void 0 ? _a : {}).flatMap(([product, entry]) => { var _a; return ((_a = entry.styles) !== null && _a !== void 0 ? _a : []).some((style) => files.has((0, path_1.resolve)(target, style))) ? [product] : []; });
55
+ const parts = new Map();
56
+ for (const drawn of [
57
+ ...styled.flatMap((product) => everyPartOf(system, product)),
58
+ ...partsUnderTokens({ system, products: Object.keys((_b = config.products) !== null && _b !== void 0 ? _b : {}), file }),
59
+ ...dependents.flatMap((id) => { var _a; return (_a = partOfModuleId(system, id)) !== null && _a !== void 0 ? _a : []; }),
60
+ ]) {
61
+ parts.set(drawnKeyOf(drawn), drawn);
62
+ }
63
+ return { all: false, parts: [...parts.values()] };
64
+ };
65
+ exports.changedPartsOf = changedPartsOf;
66
+ const partFolderOf = (segments) => {
67
+ const [layer, name, inside] = segments;
68
+ return layer && name && inside !== undefined && (0, layers_1.isLayer)(layer) ? `${layer}/${name}` : null;
69
+ };
70
+ /**
71
+ * The frames a file that came or went redraws: every part of the product whose part folder holds it,
72
+ * since an `@system/...` import anywhere in the product may now resolve to another file, or the parts
73
+ * of the variant whose folder holds it. A file in no part folder redraws no part, only the frames
74
+ * that show an error.
75
+ */
76
+ const addedPartsOf = (options) => {
77
+ var _a;
78
+ const { designRoot, baseDirs, system, file } = options;
79
+ const none = { all: false, parts: [], errored: true };
80
+ const inDesign = (0, path_1.relative)(designRoot, file).split(path_1.sep);
81
+ const [product, ...rest] = inDesign;
82
+ if (product && !((_a = inDesign[0]) === null || _a === void 0 ? void 0 : _a.startsWith('..')) && system.productOf(product)) {
83
+ if (rest[0] === 'sketches') {
84
+ const [folder, variant, ...inside] = rest.slice(1);
85
+ const layer = folder === null || folder === void 0 ? void 0 : folder.split('-')[0];
86
+ if (!folder || !variant || inside.length === 0 || !layer || !(0, layers_1.isLayer)(layer))
87
+ return none;
88
+ const target = `${layer}/${folder.slice(layer.length + 1)}`;
89
+ const parts = everyPartOf(system, product).filter((drawn) => { var _a; return ((_a = drawn.sketch) === null || _a === void 0 ? void 0 : _a.target) === target && drawn.sketch.variant === variant; });
90
+ return parts.length > 0 ? { all: false, parts } : none;
91
+ }
92
+ return partFolderOf(rest) ? { all: false, parts: everyPartOf(system, product) } : none;
93
+ }
94
+ const baseDir = baseDirs.find((dir) => file.startsWith(`${dir}${path_1.sep}`));
95
+ if (!baseDir || !partFolderOf((0, path_1.relative)(baseDir, file).split(path_1.sep)))
96
+ return none;
97
+ return {
98
+ all: false,
99
+ parts: system.products().flatMap((name) => everyPartOf(system, name)),
100
+ };
101
+ };
102
+ exports.addedPartsOf = addedPartsOf;
103
+ //# sourceMappingURL=changed-parts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changed-parts.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/changed-parts.ts"],"names":[],"mappings":"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"}