@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"studio-api.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/studio-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare const ACCEPT_USAGE = "accept <layer>/<name> --product <name> --by <model id> --note <why the user approved the direct edit>";
2
+ /** `et design accept <layer>/<name> …` records a direct edit of a merged part the user approved, so check stops warning of it. */
3
+ export declare const designAccept: (options: {
4
+ target: string;
5
+ argv: string[];
6
+ invocation: string;
7
+ }) => 0 | 1 | 2;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.designAccept = exports.ACCEPT_USAGE = void 0;
4
+ const resolve_product_1 = require("./resolve-product");
5
+ const cli_args_1 = require("./sketch/cli-args");
6
+ const merged_parts_1 = require("./sketch/merged-parts");
7
+ const sketch_1 = require("./sketch/sketch");
8
+ exports.ACCEPT_USAGE = 'accept <layer>/<name> --product <name> --by <model id> --note <why the user approved the direct edit>';
9
+ /** `et design accept <layer>/<name> …` records a direct edit of a merged part the user approved, so check stops warning of it. */
10
+ const designAccept = (options) => {
11
+ var _a;
12
+ const { target, argv, invocation } = options;
13
+ const args = (0, cli_args_1.argsOf)(argv, ['--product', '--by', '--note']);
14
+ const usage = `usage: ${invocation} ${exports.ACCEPT_USAGE}`;
15
+ if (typeof args === 'string') {
16
+ console.error(args);
17
+ console.error(usage);
18
+ return 2;
19
+ }
20
+ const by = (0, cli_args_1.authorOf)(args);
21
+ const note = (_a = args.values['--note']) === null || _a === void 0 ? void 0 : _a.trim();
22
+ if (by === null || !note || args.positional.length !== 1) {
23
+ if (by === null)
24
+ console.error(`accept ${cli_args_1.NEEDS_AUTHOR}`);
25
+ if (!note)
26
+ console.error('accept needs --note <why the user approved the direct edit>');
27
+ console.error(usage);
28
+ return 2;
29
+ }
30
+ const config = (0, cli_args_1.configOf)(target);
31
+ if (typeof config === 'string') {
32
+ console.error(config);
33
+ return 1;
34
+ }
35
+ const parsed = (0, sketch_1.parseTarget)(args.positional[0]);
36
+ if (typeof parsed === 'string') {
37
+ console.error(parsed);
38
+ return 1;
39
+ }
40
+ const product = (0, cli_args_1.oneProductOf)({ target, config, asked: args.values['--product'] });
41
+ if (typeof product === 'string') {
42
+ console.error(product);
43
+ return 1;
44
+ }
45
+ const part = (0, resolve_product_1.partKeyOf)(parsed);
46
+ const problem = (0, merged_parts_1.acceptPart)({ product, part, by, note });
47
+ if (problem) {
48
+ console.error(problem);
49
+ return 1;
50
+ }
51
+ console.log(`accepted the direct edit of ${part} in ${product.name}`);
52
+ return 0;
53
+ };
54
+ exports.designAccept = designAccept;
55
+ //# sourceMappingURL=accept-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accept-command.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/accept-command.ts"],"names":[],"mappings":";;;AAAA,uDAA8C;AAC9C,gDAA2F;AAC3F,wDAAmD;AACnD,4CAA8C;AAEjC,QAAA,YAAY,GACvB,uGAAuG,CAAC;AAE1G,kIAAkI;AAC3H,MAAM,YAAY,GAAG,CAAC,OAA+D,EAAE,EAAE;;IAC9F,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC7C,MAAM,IAAI,GAAG,IAAA,iBAAM,EAAC,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,UAAU,UAAU,IAAI,oBAAY,EAAE,CAAC;IAErD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAErB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,EAAE,GAAG,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,0CAAE,IAAI,EAAE,CAAC;IAE3C,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,IAAI,EAAE,KAAK,IAAI;YAAE,OAAO,CAAC,KAAK,CAAC,UAAU,uBAAY,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAExF,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,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEtB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEtB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,uBAAY,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAElF,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEvB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,IAAI,GAAG,IAAA,2BAAS,EAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAA,yBAAU,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAExD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEvB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAEtE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AA5DW,QAAA,YAAY,gBA4DvB"}
@@ -0,0 +1,34 @@
1
+ import { ProductSource } from './base';
2
+ export declare const ASSETS_PREFIX = "@assets/";
3
+ export declare const ASSETS_FOLDER = "assets";
4
+ type AssetSource = Pick<ProductSource, 'dir'> & {
5
+ base: Pick<ProductSource, 'dir'> | null;
6
+ assetsDir?: string;
7
+ };
8
+ /** The `@assets/` path of a specifier without its query, or `null` for any other import. */
9
+ export declare const assetPathOf: (specifier: string) => string | null;
10
+ /** The folders `@assets/` looks in, first match wins: a sketch variant's own, the product's, its base product's. */
11
+ export declare const assetDirsOf: (product: AssetSource) => string[];
12
+ export declare const assetFileOf: (options: {
13
+ product: AssetSource;
14
+ path: string;
15
+ }) => string | null;
16
+ /** A `url(@assets/<file>)` in a stylesheet; the second group is the file's path, without a query or fragment. */
17
+ export declare const ASSET_URL: RegExp;
18
+ export declare const cssAssetPathsOf: (css: string) => string[];
19
+ /** The `@assets/` paths a source file imports. */
20
+ export declare const assetImportsOf: (source: string) => string[];
21
+ /** Every file in a folder and below it, sorted by path, `[]` when it does not exist. */
22
+ export declare const filesBelow: (dir: string) => string[];
23
+ /**
24
+ * The asset files the files of a part folder use, as the product resolves them, sorted by path: the `@assets/`
25
+ * imports of its source files and the `url(@assets/...)` of its stylesheets.
26
+ */
27
+ export declare const importedAssetsOf: (options: {
28
+ product: AssetSource;
29
+ files: string[];
30
+ }) => {
31
+ path: string;
32
+ file: string;
33
+ }[];
34
+ export {};
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.importedAssetsOf = exports.filesBelow = exports.assetImportsOf = exports.cssAssetPathsOf = exports.ASSET_URL = exports.assetFileOf = exports.assetDirsOf = exports.assetPathOf = exports.ASSETS_FOLDER = exports.ASSETS_PREFIX = void 0;
4
+ const fs_1 = require("fs");
5
+ const path_1 = require("path");
6
+ const ts_source_1 = require("./ts-source");
7
+ exports.ASSETS_PREFIX = '@assets/';
8
+ exports.ASSETS_FOLDER = 'assets';
9
+ /** The `@assets/` path of a specifier without its query, or `null` for any other import. */
10
+ const assetPathOf = (specifier) => { var _a; return specifier.startsWith(exports.ASSETS_PREFIX) ? ((_a = specifier.slice(exports.ASSETS_PREFIX.length).split('?')[0]) !== null && _a !== void 0 ? _a : '') : null; };
11
+ exports.assetPathOf = assetPathOf;
12
+ /** The folders `@assets/` looks in, first match wins: a sketch variant's own, the product's, its base product's. */
13
+ const assetDirsOf = (product) => [
14
+ ...(product.assetsDir ? [product.assetsDir] : []),
15
+ (0, path_1.resolve)(product.dir, exports.ASSETS_FOLDER),
16
+ ...(product.base ? [(0, path_1.resolve)(product.base.dir, exports.ASSETS_FOLDER)] : []),
17
+ ];
18
+ exports.assetDirsOf = assetDirsOf;
19
+ const assetFileOf = (options) => {
20
+ for (const dir of (0, exports.assetDirsOf)(options.product)) {
21
+ const file = (0, path_1.resolve)(dir, options.path);
22
+ if (file.startsWith(`${dir}${path_1.sep}`) && (0, fs_1.existsSync)(file) && (0, fs_1.statSync)(file).isFile())
23
+ return file;
24
+ }
25
+ return null;
26
+ };
27
+ exports.assetFileOf = assetFileOf;
28
+ /** A `url(@assets/<file>)` in a stylesheet; the second group is the file's path, without a query or fragment. */
29
+ exports.ASSET_URL = /url\(\s*(['"]?)@assets\/([^'")?#]+)[^'")]*\1\s*\)/gu;
30
+ const cssAssetPathsOf = (css) => [...css.matchAll(exports.ASSET_URL)].flatMap((match) => { var _a; return (_a = match[2]) !== null && _a !== void 0 ? _a : []; });
31
+ exports.cssAssetPathsOf = cssAssetPathsOf;
32
+ /** The `@assets/` paths a source file imports. */
33
+ const assetImportsOf = (source) => (0, ts_source_1.importsOf)(source).flatMap((specifier) => {
34
+ const path = (0, exports.assetPathOf)(specifier);
35
+ return path === null ? [] : [path];
36
+ });
37
+ exports.assetImportsOf = assetImportsOf;
38
+ /** Every file in a folder and below it, sorted by path, `[]` when it does not exist. */
39
+ const filesBelow = (dir) => (0, fs_1.existsSync)(dir)
40
+ ? (0, fs_1.readdirSync)(dir)
41
+ .sort()
42
+ .flatMap((name) => {
43
+ const path = (0, path_1.resolve)(dir, name);
44
+ return (0, fs_1.statSync)(path).isDirectory() ? (0, exports.filesBelow)(path) : [path];
45
+ })
46
+ : [];
47
+ exports.filesBelow = filesBelow;
48
+ /**
49
+ * The asset files the files of a part folder use, as the product resolves them, sorted by path: the `@assets/`
50
+ * imports of its source files and the `url(@assets/...)` of its stylesheets.
51
+ */
52
+ const importedAssetsOf = (options) => {
53
+ const paths = options.files.flatMap((file) => /\.(?:ts|js|mjs)$/u.test(file)
54
+ ? (0, exports.assetImportsOf)((0, fs_1.readFileSync)(file, 'utf8'))
55
+ : file.endsWith('.css')
56
+ ? (0, exports.cssAssetPathsOf)((0, fs_1.readFileSync)(file, 'utf8'))
57
+ : []);
58
+ return [...new Set(paths)].sort().flatMap((path) => {
59
+ const file = (0, exports.assetFileOf)({ product: options.product, path });
60
+ return file ? [{ path, file }] : [];
61
+ });
62
+ };
63
+ exports.importedAssetsOf = importedAssetsOf;
64
+ //# sourceMappingURL=assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/assets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { DesignProduct } from '../paths';
2
+ import { Problem } from './problem';
3
+ /** A product folder together with its entry in the `config.json` that declares it. */
4
+ export type ProductSource = {
5
+ name: string;
6
+ dir: string;
7
+ config: DesignProduct;
8
+ configFile: string;
9
+ };
10
+ export declare const isBuiltInBase: (base: string) => boolean;
11
+ export declare const baseDirOf: (options: {
12
+ target: string;
13
+ base: string;
14
+ }) => string;
15
+ /**
16
+ * The base a product extends. Its settings come from the `config.json` of the workspace that
17
+ * holds the base folder, under the folder's own name.
18
+ */
19
+ export declare const loadBase: (options: {
20
+ target: string;
21
+ base: string;
22
+ configFile: string;
23
+ }) => {
24
+ base: null;
25
+ problems: {
26
+ rule: string;
27
+ file: string;
28
+ message: string;
29
+ }[];
30
+ } | {
31
+ base: ProductSource;
32
+ problems: Problem[];
33
+ };
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadBase = exports.baseDirOf = exports.isBuiltInBase = void 0;
4
+ const fs_1 = require("fs");
5
+ const path_1 = require("path");
6
+ const paths_1 = require("../paths");
7
+ const BUILT_IN_BASES = {
8
+ '@ethlete/components': 'systems/ethlete-components',
9
+ };
10
+ const isBuiltInBase = (base) => base in BUILT_IN_BASES;
11
+ exports.isBuiltInBase = isBuiltInBase;
12
+ const baseDirOf = (options) => {
13
+ const builtIn = BUILT_IN_BASES[options.base];
14
+ return builtIn ? (0, path_1.resolve)((0, paths_1.assetRoot)(), builtIn) : (0, path_1.resolve)(options.target, options.base);
15
+ };
16
+ exports.baseDirOf = baseDirOf;
17
+ const configFileAbove = (dir) => {
18
+ const file = (0, path_1.resolve)(dir, 'config.json');
19
+ if ((0, fs_1.existsSync)(file))
20
+ return file;
21
+ const parent = (0, path_1.dirname)(dir);
22
+ return parent === dir ? null : configFileAbove(parent);
23
+ };
24
+ /**
25
+ * The base a product extends. Its settings come from the `config.json` of the workspace that
26
+ * holds the base folder, under the folder's own name.
27
+ */
28
+ const loadBase = (options) => {
29
+ var _a;
30
+ const { target, base, configFile } = options;
31
+ const dir = (0, exports.baseDirOf)({ target, base });
32
+ const problem = (message) => ({ base: null, problems: [{ rule: 'BASE', file: configFile, message }] });
33
+ if (!(0, fs_1.existsSync)(dir))
34
+ return problem(`base "${base}" is no folder (${dir})`);
35
+ const baseConfigFile = configFileAbove((0, path_1.dirname)(dir));
36
+ if (!baseConfigFile)
37
+ return problem(`base "${base}" lies in no folder with a config.json`);
38
+ const name = (0, path_1.basename)(dir);
39
+ const config = (_a = JSON.parse((0, fs_1.readFileSync)(baseConfigFile, 'utf8')).products) === null || _a === void 0 ? void 0 : _a[name];
40
+ if (!config)
41
+ return problem(`base "${base}": ${baseConfigFile} declares no product "${name}"`);
42
+ if (config.base)
43
+ return problem(`base "${base}" extends "${config.base}", but a base has no base of its own`);
44
+ const source = { name, dir, config, configFile: baseConfigFile };
45
+ const problems = [];
46
+ return { base: source, problems };
47
+ };
48
+ exports.loadBase = loadBase;
49
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/base.ts"],"names":[],"mappings":";;;AAAA,2BAA8C;AAC9C,+BAAkD;AAClD,oCAAkE;AAMlE,MAAM,cAAc,GAA2B;IAC7C,qBAAqB,EAAE,4BAA4B;CACpD,CAAC;AAEK,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,IAAI,cAAc,CAAC;AAAzD,QAAA,aAAa,iBAA4C;AAE/D,MAAM,SAAS,GAAG,CAAC,OAAyC,EAAE,EAAE;IACrE,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C,OAAO,OAAO,CAAC,CAAC,CAAC,IAAA,cAAO,EAAC,IAAA,iBAAS,GAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAA,cAAO,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AACzF,CAAC,CAAC;AAJW,QAAA,SAAS,aAIpB;AAEF,MAAM,eAAe,GAAG,CAAC,GAAW,EAAiB,EAAE;IACrD,MAAM,IAAI,GAAG,IAAA,cAAO,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAEzC,IAAI,IAAA,eAAU,EAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,MAAM,GAAG,IAAA,cAAO,EAAC,GAAG,CAAC,CAAC;IAE5B,OAAO,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF;;;GAGG;AACI,MAAM,QAAQ,GAAG,CAAC,OAA6D,EAAE,EAAE;;IACxF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAA,iBAAS,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAE/G,IAAI,CAAC,IAAA,eAAU,EAAC,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC,SAAS,IAAI,mBAAmB,GAAG,GAAG,CAAC,CAAC;IAE7E,MAAM,cAAc,GAAG,eAAe,CAAC,IAAA,cAAO,EAAC,GAAG,CAAC,CAAC,CAAC;IAErD,IAAI,CAAC,cAAc;QAAE,OAAO,OAAO,CAAC,SAAS,IAAI,wCAAwC,CAAC,CAAC;IAE3F,MAAM,IAAI,GAAG,IAAA,eAAQ,EAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,MAAC,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,cAAc,EAAE,MAAM,CAAC,CAAkB,CAAC,QAAQ,0CAAG,IAAI,CAAC,CAAC;IAEnG,IAAI,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC,SAAS,IAAI,MAAM,cAAc,yBAAyB,IAAI,GAAG,CAAC,CAAC;IAC/F,IAAI,MAAM,CAAC,IAAI;QAAE,OAAO,OAAO,CAAC,SAAS,IAAI,cAAc,MAAM,CAAC,IAAI,sCAAsC,CAAC,CAAC;IAE9G,MAAM,MAAM,GAAkB,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;IAChF,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AACpC,CAAC,CAAC;AArBW,QAAA,QAAQ,YAqBnB"}
@@ -0,0 +1,23 @@
1
+ import { DesignConfig } from '../paths';
2
+ import { Problem } from './problem';
3
+ import { ResolvedProduct } from './resolve-product';
4
+ export declare const ruleLinesOf: (target: string, product: ResolvedProduct) => string[];
5
+ /** Every problem the rules find in a resolved product, its resolution problems first. */
6
+ export declare const ruleProblemsOf: (product: ResolvedProduct) => Problem[];
7
+ type CheckOptions = {
8
+ target: string;
9
+ config: DesignConfig;
10
+ products: string[];
11
+ known?: string[];
12
+ };
13
+ /**
14
+ * Checks the design system of each named product: the rules, then `tsc --noEmit` over its
15
+ * generated tsconfig. Prints one line per problem and `ok` when there is none.
16
+ */
17
+ export declare const checkSystem: (options: CheckOptions) => 0 | 1;
18
+ /**
19
+ * Checks as `checkSystem` does, then draws every state in a headless browser and prints one line per
20
+ * render rule a drawing breaks, and warns of each merged part that changed outside a sketch. Without a browser it prints one skip line and passes on the other checks.
21
+ */
22
+ export declare const checkSystemRendered: (options: CheckOptions) => Promise<0 | 1>;
23
+ export {};
@@ -0,0 +1,151 @@
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.checkSystemRendered = exports.checkSystem = exports.ruleProblemsOf = exports.ruleLinesOf = void 0;
13
+ const path_1 = require("path");
14
+ const imports_1 = require("./imports");
15
+ const resolve_product_1 = require("./resolve-product");
16
+ const component_copy_1 = require("./rules/component-copy");
17
+ const render_check_1 = require("./render-check");
18
+ const flow_1 = require("./rules/flow");
19
+ const hard_coded_colour_1 = require("./rules/hard-coded-colour");
20
+ const interactions_1 = require("./rules/interactions");
21
+ const kit_outside_pages_1 = require("./rules/kit-outside-pages");
22
+ const motion_1 = require("./rules/motion");
23
+ const stale_comment_1 = require("./rules/stale-comment");
24
+ const undefined_token_1 = require("./rules/undefined-token");
25
+ const token_selectors_1 = require("./rules/token-selectors");
26
+ const upward_dependency_1 = require("./rules/upward-dependency");
27
+ const svg_asset_1 = require("./rules/svg-asset");
28
+ const stale_replace_1 = require("./rules/stale-replace");
29
+ const unused_shared_export_1 = require("./rules/unused-shared-export");
30
+ const widths_1 = require("./rules/widths");
31
+ const check_sketches_1 = require("./sketch/check-sketches");
32
+ const merged_parts_1 = require("./sketch/merged-parts");
33
+ const sketch_1 = require("./sketch/sketch");
34
+ const system_tsconfig_1 = require("./system-tsconfig");
35
+ const RULES = [
36
+ imports_1.importProblemsOf,
37
+ upward_dependency_1.upwardDependenciesOf,
38
+ hard_coded_colour_1.hardCodedColoursOf,
39
+ undefined_token_1.undefinedTokensOf,
40
+ component_copy_1.componentCopiesOf,
41
+ motion_1.scriptedMotionOf,
42
+ stale_comment_1.staleCommentsOf,
43
+ stale_comment_1.staleNotesOf,
44
+ widths_1.badWidthsOf,
45
+ interactions_1.unknownInteractionsOf,
46
+ kit_outside_pages_1.kitOutsidePagesOf,
47
+ flow_1.flowProblemsOf,
48
+ svg_asset_1.badSvgAssetsOf,
49
+ ];
50
+ const ruleLinesOf = (target, product) => (0, exports.ruleProblemsOf)(product).map((problem) => lineOf(target, problem));
51
+ exports.ruleLinesOf = ruleLinesOf;
52
+ /** Every problem the rules find in a resolved product, its resolution problems first. */
53
+ const ruleProblemsOf = (product) => [
54
+ ...product.problems,
55
+ ...RULES.flatMap((rule) => rule(product)),
56
+ ];
57
+ exports.ruleProblemsOf = ruleProblemsOf;
58
+ const lineOf = (target, problem) => `${problem.rule} ${(0, path_1.relative)(target, problem.file)}: ${problem.message}`;
59
+ const typecheckOpenSketches = (options) => (0, sketch_1.listSketches)({ productDir: options.product.dir, product: options.product.name }).flatMap((sketch) => typeof sketch === 'string'
60
+ ? []
61
+ : sketch.variants.flatMap((variant) => {
62
+ const result = (0, check_sketches_1.typecheckVariant)(Object.assign(Object.assign({}, options), { sketch, variant }));
63
+ return result.kind === 'ok'
64
+ ? []
65
+ : [
66
+ {
67
+ rule: 'TYPE-ERROR',
68
+ file: (0, sketch_1.variantDirOf)(sketch, variant),
69
+ message: `\n${result.kind === 'failed' ? result.output : result.message}`,
70
+ },
71
+ ];
72
+ }));
73
+ const warnChangedOutsideSketch = (product) => {
74
+ for (const part of (0, merged_parts_1.changedOutsideSketchOf)(product))
75
+ console.warn(`WARNING ${product.name} ${part} changed outside a sketch - every change to a merged part goes through a sketch, with one variant when there is no choice`);
76
+ };
77
+ const reportSystem = (options) => {
78
+ var _a;
79
+ const { target, config, products } = options;
80
+ const declared = (_a = config.products) !== null && _a !== void 0 ? _a : {};
81
+ let failed = false;
82
+ const report = (problem) => {
83
+ var _a;
84
+ const line = lineOf(target, problem);
85
+ if ((_a = options.known) === null || _a === void 0 ? void 0 : _a.includes(line)) {
86
+ console.warn(`NOTE (was there before) ${line}`);
87
+ return;
88
+ }
89
+ console.error(line);
90
+ failed = true;
91
+ };
92
+ for (const name of products) {
93
+ const entry = declared[name];
94
+ if (!entry) {
95
+ console.error(`NO PRODUCT "${name}" - config.json declares ${Object.keys(declared).join(', ') || 'none'}.`);
96
+ return 1;
97
+ }
98
+ const product = (0, resolve_product_1.resolveProduct)({ target, name, config: entry });
99
+ if (options.warn)
100
+ warnChangedOutsideSketch(product);
101
+ (0, stale_comment_1.goneSketchCommentWarningsOf)(product).forEach((warning) => console.warn(warning));
102
+ (0, unused_shared_export_1.unusedSharedExportsOf)(product).forEach((problem) => console.warn(`WARNING ${lineOf(target, problem)}`));
103
+ (0, stale_replace_1.staleReplacesOf)(product).forEach((problem) => console.warn(`WARNING ${lineOf(target, problem)}`));
104
+ (0, token_selectors_1.tokenSelectorsOf)(product).forEach((problem) => console.warn(`WARNING ${lineOf(target, problem)}`));
105
+ (0, exports.ruleProblemsOf)(product).forEach(report);
106
+ (0, system_tsconfig_1.writeEditorTsconfig)({ target, product });
107
+ const result = (0, system_tsconfig_1.typecheckProduct)({ target, product });
108
+ if (result.kind === 'unavailable') {
109
+ console.error(result.message);
110
+ return 1;
111
+ }
112
+ if (result.kind === 'failed')
113
+ report({ rule: 'TYPE-ERROR', file: product.dir, message: `\n${result.output}` });
114
+ if (options.warn)
115
+ typecheckOpenSketches({ target, product }).forEach(report);
116
+ }
117
+ return failed ? 1 : 0;
118
+ };
119
+ /**
120
+ * Checks the design system of each named product: the rules, then `tsc --noEmit` over its
121
+ * generated tsconfig. Prints one line per problem and `ok` when there is none.
122
+ */
123
+ const checkSystem = (options) => {
124
+ const code = reportSystem(options);
125
+ if (code === 0)
126
+ console.log('ok');
127
+ return code;
128
+ };
129
+ exports.checkSystem = checkSystem;
130
+ /**
131
+ * Checks as `checkSystem` does, then draws every state in a headless browser and prints one line per
132
+ * render rule a drawing breaks, and warns of each merged part that changed outside a sketch. Without a browser it prints one skip line and passes on the other checks.
133
+ */
134
+ const checkSystemRendered = (options) => __awaiter(void 0, void 0, void 0, function* () {
135
+ const code = reportSystem(Object.assign(Object.assign({}, options), { warn: true }));
136
+ if (code !== 0)
137
+ return code;
138
+ const rendered = yield (0, render_check_1.renderIssuesOf)(Object.assign(Object.assign({}, options), { jobs: options.products.map((product) => ({ product, sketch: null, parts: null })) }));
139
+ if ('unavailable' in rendered)
140
+ console.log(`RENDER CHECK SKIPPED - ${rendered.unavailable}`);
141
+ else {
142
+ rendered.warnings.forEach((issue) => console.warn(`WARNING ${(0, render_check_1.renderIssueLineOf)(issue)}`));
143
+ rendered.issues.forEach((issue) => console.error((0, render_check_1.renderIssueLineOf)(issue)));
144
+ }
145
+ if ('issues' in rendered && rendered.issues.length > 0)
146
+ return 1;
147
+ console.log('ok');
148
+ return 0;
149
+ });
150
+ exports.checkSystemRendered = checkSystemRendered;
151
+ //# sourceMappingURL=check-system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-system.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/check-system.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ /** The hex colours and colour functions written in a piece of text. */
2
+ export declare const coloursIn: (text: string) => string[];
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.coloursIn = void 0;
4
+ const HEX = /(?<![&\w/])#(?:[0-9a-f]{8}|[0-9a-f]{6}|[0-9a-f]{3,4})(?![\w-])/gi;
5
+ const FUNCTION = /(?<![\w-])(?:rgba?|hsla?|hwb|lab|lch|oklab|oklch|color)\(/gi;
6
+ /** The hex colours and colour functions written in a piece of text. */
7
+ const coloursIn = (text) => [...text.matchAll(HEX), ...text.matchAll(FUNCTION)].map((match) => match[0]);
8
+ exports.coloursIn = coloursIn;
9
+ //# sourceMappingURL=colour.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colour.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/colour.ts"],"names":[],"mappings":";;;AAAA,MAAM,GAAG,GAAG,kEAAkE,CAAC;AAC/E,MAAM,QAAQ,GAAG,6DAA6D,CAAC;AAE/E,uEAAuE;AAChE,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAA3G,QAAA,SAAS,aAAkG"}