@ethlete/cli 3.0.0-next.24 → 3.0.0-next.26

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 (194) hide show
  1. package/CHANGELOG.md +126 -0
  2. package/design/define-call.ts +69 -0
  3. package/design/define-part.ts +43 -9
  4. package/design/embed-page.ts +37 -4
  5. package/design/icon-sheet.ts +151 -0
  6. package/design/logo-sheet.ts +52 -0
  7. package/design/mark-part.ts +79 -2
  8. package/design/motion-drive.ts +215 -0
  9. package/design/motion-runtime.ts +224 -5
  10. package/design/motion-tokens.ts +177 -0
  11. package/design/spring.ts +53 -0
  12. package/design/token-sheet.ts +87 -0
  13. package/design/web/frame-fill.ts +4 -0
  14. package/design/web/frame-scheme.ts +44 -0
  15. package/design/web/frame.ts +239 -31
  16. package/package.json +1 -1
  17. package/src/lib/design/calls-tsconfig.d.ts +2 -0
  18. package/src/lib/design/calls-tsconfig.js +11 -5
  19. package/src/lib/design/calls-tsconfig.js.map +1 -1
  20. package/src/lib/design/check.d.ts +1 -0
  21. package/src/lib/design/check.js +62 -6
  22. package/src/lib/design/check.js.map +1 -1
  23. package/src/lib/design/contact-sheet.d.ts +9 -0
  24. package/src/lib/design/contact-sheet.js +38 -4
  25. package/src/lib/design/contact-sheet.js.map +1 -1
  26. package/src/lib/design/design-command.js +56 -7
  27. package/src/lib/design/design-command.js.map +1 -1
  28. package/src/lib/design/draw-ledger.d.ts +36 -0
  29. package/src/lib/design/draw-ledger.js +52 -0
  30. package/src/lib/design/draw-ledger.js.map +1 -0
  31. package/src/lib/design/force-interactions.d.ts +2 -1
  32. package/src/lib/design/force-interactions.js +7 -4
  33. package/src/lib/design/force-interactions.js.map +1 -1
  34. package/src/lib/design/mcp-command.d.ts +81 -0
  35. package/src/lib/design/mcp-command.js +422 -0
  36. package/src/lib/design/mcp-command.js.map +1 -0
  37. package/src/lib/design/motion-command.d.ts +71 -0
  38. package/src/lib/design/motion-command.js +308 -0
  39. package/src/lib/design/motion-command.js.map +1 -0
  40. package/src/lib/design/motion-endpoint.d.ts +61 -0
  41. package/src/lib/design/motion-endpoint.js +133 -0
  42. package/src/lib/design/motion-endpoint.js.map +1 -0
  43. package/src/lib/design/motion-flow.d.ts +5 -0
  44. package/src/lib/design/motion-flow.js +29 -0
  45. package/src/lib/design/motion-flow.js.map +1 -0
  46. package/src/lib/design/motion-shot.d.ts +43 -0
  47. package/src/lib/design/motion-shot.js +97 -0
  48. package/src/lib/design/motion-shot.js.map +1 -0
  49. package/src/lib/design/paths.d.ts +14 -0
  50. package/src/lib/design/paths.js +50 -1
  51. package/src/lib/design/paths.js.map +1 -1
  52. package/src/lib/design/ready-shots.d.ts +7 -0
  53. package/src/lib/design/ready-shots.js +22 -1
  54. package/src/lib/design/ready-shots.js.map +1 -1
  55. package/src/lib/design/render-packages.d.ts +14 -0
  56. package/src/lib/design/render-packages.js +18 -3
  57. package/src/lib/design/render-packages.js.map +1 -1
  58. package/src/lib/design/render-worker.js +1 -0
  59. package/src/lib/design/render-worker.js.map +1 -1
  60. package/src/lib/design/render.js +3 -3
  61. package/src/lib/design/render.js.map +1 -1
  62. package/src/lib/design/serve.d.ts +2 -2
  63. package/src/lib/design/serve.js +191 -21
  64. package/src/lib/design/serve.js.map +1 -1
  65. package/src/lib/design/shot-command.d.ts +13 -4
  66. package/src/lib/design/shot-command.js +30 -24
  67. package/src/lib/design/shot-command.js.map +1 -1
  68. package/src/lib/design/shot-store.d.ts +24 -0
  69. package/src/lib/design/shot-store.js +120 -0
  70. package/src/lib/design/shot-store.js.map +1 -0
  71. package/src/lib/design/shot.d.ts +37 -1
  72. package/src/lib/design/shot.js +185 -34
  73. package/src/lib/design/shot.js.map +1 -1
  74. package/src/lib/design/sketch-command.js +197 -51
  75. package/src/lib/design/sketch-command.js.map +1 -1
  76. package/src/lib/design/ssr-shims.d.ts +2 -0
  77. package/src/lib/design/ssr-shims.js +12 -1
  78. package/src/lib/design/ssr-shims.js.map +1 -1
  79. package/src/lib/design/studio-api.d.ts +31 -0
  80. package/src/lib/design/studio-api.js +118 -1
  81. package/src/lib/design/studio-api.js.map +1 -1
  82. package/src/lib/design/system/check-system.d.ts +6 -2
  83. package/src/lib/design/system/check-system.js +102 -20
  84. package/src/lib/design/system/check-system.js.map +1 -1
  85. package/src/lib/design/system/colour.d.ts +4 -1
  86. package/src/lib/design/system/colour.js +54 -2
  87. package/src/lib/design/system/colour.js.map +1 -1
  88. package/src/lib/design/system/complete-command.d.ts +1 -1
  89. package/src/lib/design/system/complete-command.js +80 -6
  90. package/src/lib/design/system/complete-command.js.map +1 -1
  91. package/src/lib/design/system/complete.d.ts +172 -9
  92. package/src/lib/design/system/complete.js +792 -167
  93. package/src/lib/design/system/complete.js.map +1 -1
  94. package/src/lib/design/system/contrast-check.d.ts +6 -1
  95. package/src/lib/design/system/contrast-check.js +167 -12
  96. package/src/lib/design/system/contrast-check.js.map +1 -1
  97. package/src/lib/design/system/drawn-open-points.d.ts +16 -0
  98. package/src/lib/design/system/drawn-open-points.js +43 -0
  99. package/src/lib/design/system/drawn-open-points.js.map +1 -0
  100. package/src/lib/design/system/exceptions.d.ts +59 -0
  101. package/src/lib/design/system/exceptions.js +132 -0
  102. package/src/lib/design/system/exceptions.js.map +1 -0
  103. package/src/lib/design/system/flows/flow.d.ts +3 -0
  104. package/src/lib/design/system/flows/flow.js +5 -3
  105. package/src/lib/design/system/flows/flow.js.map +1 -1
  106. package/src/lib/design/system/handoff.d.ts +11 -0
  107. package/src/lib/design/system/handoff.js +30 -0
  108. package/src/lib/design/system/handoff.js.map +1 -0
  109. package/src/lib/design/system/inventory-approval.d.ts +41 -0
  110. package/src/lib/design/system/inventory-approval.js +71 -0
  111. package/src/lib/design/system/inventory-approval.js.map +1 -0
  112. package/src/lib/design/system/inventory.d.ts +65 -0
  113. package/src/lib/design/system/inventory.js +168 -0
  114. package/src/lib/design/system/inventory.js.map +1 -0
  115. package/src/lib/design/system/list-system.d.ts +4 -1
  116. package/src/lib/design/system/list-system.js +11 -3
  117. package/src/lib/design/system/list-system.js.map +1 -1
  118. package/src/lib/design/system/open-points.d.ts +101 -0
  119. package/src/lib/design/system/open-points.js +156 -0
  120. package/src/lib/design/system/open-points.js.map +1 -0
  121. package/src/lib/design/system/part-ready.d.ts +52 -0
  122. package/src/lib/design/system/part-ready.js +101 -0
  123. package/src/lib/design/system/part-ready.js.map +1 -0
  124. package/src/lib/design/system/read-open-points.d.ts +27 -0
  125. package/src/lib/design/system/read-open-points.js +81 -0
  126. package/src/lib/design/system/read-open-points.js.map +1 -0
  127. package/src/lib/design/system/ready-command.d.ts +7 -0
  128. package/src/lib/design/system/ready-command.js +65 -0
  129. package/src/lib/design/system/ready-command.js.map +1 -0
  130. package/src/lib/design/system/render-check.d.ts +2 -0
  131. package/src/lib/design/system/render-check.js +216 -32
  132. package/src/lib/design/system/render-check.js.map +1 -1
  133. package/src/lib/design/system/resolve-product.d.ts +4 -4
  134. package/src/lib/design/system/resolve-product.js +22 -7
  135. package/src/lib/design/system/resolve-product.js.map +1 -1
  136. package/src/lib/design/system/rules/implements.d.ts +7 -0
  137. package/src/lib/design/system/rules/implements.js +43 -0
  138. package/src/lib/design/system/rules/implements.js.map +1 -0
  139. package/src/lib/design/system/rules/motion.d.ts +2 -0
  140. package/src/lib/design/system/rules/motion.js +26 -1
  141. package/src/lib/design/system/rules/motion.js.map +1 -1
  142. package/src/lib/design/system/rules/option-values.d.ts +15 -0
  143. package/src/lib/design/system/rules/option-values.js +145 -0
  144. package/src/lib/design/system/rules/option-values.js.map +1 -0
  145. package/src/lib/design/system/rules/stale-replace.js +80 -3
  146. package/src/lib/design/system/rules/stale-replace.js.map +1 -1
  147. package/src/lib/design/system/rules/token-selectors.js +1 -1
  148. package/src/lib/design/system/rules/token-selectors.js.map +1 -1
  149. package/src/lib/design/system/sketch/baseline.d.ts +11 -2
  150. package/src/lib/design/system/sketch/baseline.js +4 -2
  151. package/src/lib/design/system/sketch/baseline.js.map +1 -1
  152. package/src/lib/design/system/sketch/check-sketches.d.ts +1 -0
  153. package/src/lib/design/system/sketch/check-sketches.js +4 -2
  154. package/src/lib/design/system/sketch/check-sketches.js.map +1 -1
  155. package/src/lib/design/system/sketch/host-edit.d.ts +4 -0
  156. package/src/lib/design/system/sketch/host-edit.js +68 -0
  157. package/src/lib/design/system/sketch/host-edit.js.map +1 -0
  158. package/src/lib/design/system/sketch/merge.d.ts +3 -2
  159. package/src/lib/design/system/sketch/merge.js +79 -12
  160. package/src/lib/design/system/sketch/merge.js.map +1 -1
  161. package/src/lib/design/system/sketch/merged-parts.d.ts +11 -1
  162. package/src/lib/design/system/sketch/merged-parts.js +24 -3
  163. package/src/lib/design/system/sketch/merged-parts.js.map +1 -1
  164. package/src/lib/design/system/sketch/no-visible-change.d.ts +6 -0
  165. package/src/lib/design/system/sketch/no-visible-change.js +25 -1
  166. package/src/lib/design/system/sketch/no-visible-change.js.map +1 -1
  167. package/src/lib/design/system/sketch/overlay.js +11 -3
  168. package/src/lib/design/system/sketch/overlay.js.map +1 -1
  169. package/src/lib/design/system/sketch/part-definition.d.ts +36 -0
  170. package/src/lib/design/system/sketch/part-definition.js +56 -2
  171. package/src/lib/design/system/sketch/part-definition.js.map +1 -1
  172. package/src/lib/design/system/sketch/sketch.d.ts +47 -0
  173. package/src/lib/design/system/sketch/sketch.js +137 -44
  174. package/src/lib/design/system/sketch/sketch.js.map +1 -1
  175. package/src/lib/design/system/sketch/unchanged-states.d.ts +4 -1
  176. package/src/lib/design/system/sketch/unchanged-states.js +9 -5
  177. package/src/lib/design/system/sketch/unchanged-states.js.map +1 -1
  178. package/src/lib/design/system/sketch/unused-closure.d.ts +12 -0
  179. package/src/lib/design/system/sketch/unused-closure.js +195 -0
  180. package/src/lib/design/system/sketch/unused-closure.js.map +1 -0
  181. package/src/lib/design/system/sketch/unused-files.d.ts +1 -1
  182. package/src/lib/design/system/sketch/unused-files.js +6 -3
  183. package/src/lib/design/system/sketch/unused-files.js.map +1 -1
  184. package/src/lib/design/system/system-modules.js +6 -9
  185. package/src/lib/design/system/system-modules.js.map +1 -1
  186. package/src/lib/design/system/system-tsconfig.d.ts +2 -1
  187. package/src/lib/design/system/system-tsconfig.js +10 -6
  188. package/src/lib/design/system/system-tsconfig.js.map +1 -1
  189. package/src/lib/design/system/ts-source.d.ts +3 -0
  190. package/src/lib/design/system/ts-source.js +21 -4
  191. package/src/lib/design/system/ts-source.js.map +1 -1
  192. package/src/lib/design/thumb.d.ts +31 -4
  193. package/src/lib/design/thumb.js +105 -40
  194. package/src/lib/design/thumb.js.map +1 -1
@@ -10,8 +10,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.serveDesign = exports.createDesignServer = void 0;
13
+ const crypto_1 = require("crypto");
13
14
  const fs_1 = require("fs");
14
15
  const net_1 = require("net");
16
+ const promises_1 = require("timers/promises");
15
17
  const path_1 = require("path");
16
18
  const calls_1 = require("./calls");
17
19
  const calls_tsconfig_1 = require("./calls-tsconfig");
@@ -25,7 +27,10 @@ const render_packages_1 = require("./render-packages");
25
27
  const part_marks_1 = require("./part-marks");
26
28
  const generated_stylesheets_1 = require("./generated-stylesheets");
27
29
  const sketch_stylesheets_1 = require("./sketch-stylesheets");
30
+ const draw_ledger_1 = require("./draw-ledger");
28
31
  const shot_1 = require("./shot");
32
+ const shot_store_1 = require("./shot-store");
33
+ const imports_1 = require("./system/imports");
29
34
  const changed_parts_1 = require("./changed-parts");
30
35
  const stamp_1 = require("./stamp");
31
36
  const list_system_1 = require("./system/list-system");
@@ -35,9 +40,12 @@ const kit_1 = require("./system/kit");
35
40
  const system_tsconfig_1 = require("./system/system-tsconfig");
36
41
  const sketch_1 = require("./system/sketch/sketch");
37
42
  const unchanged_states_1 = require("./system/sketch/unchanged-states");
43
+ const inventory_1 = require("./system/inventory");
38
44
  const thumb_1 = require("./thumb");
45
+ const motion_endpoint_1 = require("./motion-endpoint");
39
46
  const paths_1 = require("./paths");
40
47
  const VIRTUAL = 'virtual:design-explore';
48
+ const REBUILD_SETTLE_MS = 300;
41
49
  /** What a slug says about which project drew it: its first segment. */
42
50
  const projectOf = (slug) => { var _a; return (_a = slug.split('/')[0]) !== null && _a !== void 0 ? _a : ''; };
43
51
  const registry = (target) => {
@@ -228,16 +236,84 @@ const withAssetUrls = (system) => {
228
236
  const marks = (0, part_marks_1.partMarksTransform)(system);
229
237
  return (code, id) => { var _a; return (_a = system.withAssetUrls(code, id)) !== null && _a !== void 0 ? _a : marks(code, id); };
230
238
  };
231
- const designExplore = ({ target, config, system, stylesheetImports, }) => {
239
+ const filesUnder = (dir) => (0, fs_1.existsSync)(dir)
240
+ ? (0, fs_1.readdirSync)(dir, { recursive: true, withFileTypes: true })
241
+ .filter((entry) => entry.isFile())
242
+ .map((entry) => (0, path_1.relative)(dir, (0, path_1.join)(entry.parentPath, entry.name)))
243
+ .sort()
244
+ : [];
245
+ const shotStoreOf = (options) => {
246
+ const { target, config, system, stylesheetImports, dir, salt, moduleById } = options;
247
+ const drawnSystemsOf = (address) => [
248
+ ...new Map([address.sketch, address.props].map((sketch) => [JSON.stringify(sketch !== null && sketch !== void 0 ? sketch : null), sketch !== null && sketch !== void 0 ? sketch : null])).values(),
249
+ ];
250
+ return (0, shot_store_1.createShotStore)({
251
+ dir,
252
+ salt,
253
+ inputsOf: (address) => {
254
+ var _a, _b;
255
+ const { product, part } = address;
256
+ const entry = (_a = config.products) === null || _a === void 0 ? void 0 : _a[product];
257
+ const sketches = drawnSystemsOf(address);
258
+ const roots = sketches.map((sketch) => {
259
+ var _a;
260
+ const file = (_a = system.partOf({ product, part, sketch })) === null || _a === void 0 ? void 0 : _a.file;
261
+ return file ? moduleById((0, system_modules_1.productModuleIdOf)({ file, product, sketch })) : undefined;
262
+ });
263
+ if (!entry || roots.some((root) => !root))
264
+ return null;
265
+ const styles = ((_b = entry.styles) !== null && _b !== void 0 ? _b : []).flatMap((style) => [null, ...sketches].flatMap((sketch) => { var _a; return (_a = moduleById((0, system_modules_1.productModuleIdOf)({ file: (0, path_1.resolve)(target, style), product, sketch }))) !== null && _a !== void 0 ? _a : []; }));
266
+ const read = sketches.flatMap((sketch) => {
267
+ var _a;
268
+ return [
269
+ ...system.tokenStylesheetsOf({ product, sketch }),
270
+ ...system.replacedStylesheetsOf({ product, sketch }).values(),
271
+ ...((_a = entry.generated) !== null && _a !== void 0 ? _a : []).flatMap((generated) => { var _a, _b; return (_b = (_a = system.partOf({ product, part: generated.part, sketch })) === null || _a === void 0 ? void 0 : _a.css) !== null && _b !== void 0 ? _b : []; }),
272
+ ];
273
+ });
274
+ // The snapshot folder is named after the server's pid, so its files are gone after a restart; the salt's build stamp covers them.
275
+ const snapshot = (0, path_1.dirname)((0, paths_1.assetRoot)());
276
+ return [
277
+ ...(0, shot_1.dependencyFilesOf)([...roots.flatMap((root) => root !== null && root !== void 0 ? root : []), ...styles], stylesheetImports),
278
+ ...read,
279
+ (0, paths_1.configPathOf)(target),
280
+ (0, path_1.resolve)(target, 'tsconfig.base.json'),
281
+ ...(entry.head ? [(0, path_1.resolve)(target, entry.head)] : []),
282
+ ].filter((file) => !isInside(snapshot, (0, path_1.resolve)(file)));
283
+ },
284
+ scopeOf: (address) => JSON.stringify(drawnSystemsOf(address).map((sketch) => {
285
+ const drawn = system.drawnOf(address.product, sketch);
286
+ return (drawn && {
287
+ parts: drawn.parts.map((part) => [(0, resolve_product_1.partKeyOf)(part), part.file, part.css]),
288
+ fixtures: drawn.fixtures,
289
+ shared: (0, imports_1.sharedDirsOf)(drawn).map((shared) => [shared, filesUnder(shared)]),
290
+ });
291
+ })),
292
+ });
293
+ };
294
+ const designExplore = ({ target, config, system, stylesheetImports, shotCacheDir, }) => {
232
295
  const renderer = (0, render_1.createRenderer)({ target, config });
296
+ const transform = withAssetUrls(system);
297
+ const packageDirs = () => (0, render_packages_1.renderPackageDirsOf)({ target, packages: (0, render_packages_1.renderPackagesOf)({ target, config }) });
298
+ const isPackageFile = (file) => packageDirs().some((dir) => isInside(dir, (0, path_1.resolve)(file)));
299
+ const loadedPackageCode = new Map();
300
+ const hashOf = (code) => (0, crypto_1.createHash)('sha1').update(code).digest('hex');
301
+ const isAsLoaded = (file) => {
302
+ try {
303
+ return loadedPackageCode.get(file) === hashOf((0, fs_1.readFileSync)(file, 'utf8'));
304
+ }
305
+ catch (_a) {
306
+ return false;
307
+ }
308
+ };
233
309
  return {
234
310
  name: 'design-explore',
235
311
  enforce: 'pre',
236
312
  resolveId: (id, importer) => {
237
- var _a, _b, _c;
313
+ var _a;
238
314
  if (id === VIRTUAL || id === `${VIRTUAL}/env` || id === `${VIRTUAL}/system`)
239
315
  return `\0${id}`;
240
- return ((_a = system.resolveId(id, importer)) !== null && _a !== void 0 ? _a : (0, render_packages_1.mappedSubpathOf)({ specifier: id, packages: (_c = (_b = config.render) === null || _b === void 0 ? void 0 : _b.packages) !== null && _c !== void 0 ? _c : {}, target }));
316
+ return ((_a = system.resolveId(id, importer)) !== null && _a !== void 0 ? _a : (0, render_packages_1.mappedSubpathOf)({ specifier: id, packages: (0, render_packages_1.renderPackagesOf)({ target, config }), target }));
241
317
  },
242
318
  load: (id) => {
243
319
  if (id === `\0${VIRTUAL}`)
@@ -248,7 +324,12 @@ const designExplore = ({ target, config, system, stylesheetImports, }) => {
248
324
  return systemRegistry(system);
249
325
  return null;
250
326
  },
251
- transform: withAssetUrls(system),
327
+ transform: (code, id) => {
328
+ const file = (0, path_1.resolve)((0, system_modules_1.fileOfModuleId)(id));
329
+ if (isPackageFile(file))
330
+ loadedPackageCode.set(file, hashOf(code));
331
+ return transform(code, id);
332
+ },
252
333
  transformIndexHtml: {
253
334
  order: 'pre',
254
335
  handler: (html, ctx) => {
@@ -276,12 +357,25 @@ const designExplore = ({ target, config, system, stylesheetImports, }) => {
276
357
  const address = (_a = vite.httpServer) === null || _a === void 0 ? void 0 : _a.address();
277
358
  return `http://localhost:${address && typeof address === 'object' ? address.port : (0, paths_1.portOf)(config)}`;
278
359
  };
279
- const thumbs = (0, thumb_1.createThumbnailer)({ target, base });
280
- const shots = (0, shot_1.createPartShooter)({
281
- target,
360
+ const ledger = (0, draw_ledger_1.createDrawLedger)(Date.now, ({ sketch }) => !sketch || system.drawnOf(sketch.product, sketch) !== null);
361
+ const thumbs = (0, thumb_1.createThumbnailer)({ target, base, ledger });
362
+ const inventoryDraws = (0, thumb_1.createDrawQueue)({ target, ledger });
363
+ const shots = (0, shot_1.createPartShooter)(Object.assign(Object.assign({ target,
282
364
  base,
283
- system,
284
- statesOf: (_a) => __awaiter(void 0, [_a], void 0, function* ({ product, part, sketch }) {
365
+ ledger,
366
+ system }, (shotCacheDir
367
+ ? {
368
+ store: shotStoreOf({
369
+ target,
370
+ config,
371
+ system,
372
+ stylesheetImports,
373
+ dir: shotCacheDir,
374
+ salt: `${stamp.version} ${stamp.build}`,
375
+ moduleById: (id) => vite.moduleGraph.getModuleById(id),
376
+ }),
377
+ }
378
+ : {})), { statesOf: (_a) => __awaiter(void 0, [_a], void 0, function* ({ product, part, sketch }) {
285
379
  var _b, _c;
286
380
  const file = (_b = system.partOf({ product, part, sketch })) === null || _b === void 0 ? void 0 : _b.file;
287
381
  if (!file)
@@ -289,8 +383,7 @@ const designExplore = ({ target, config, system, stylesheetImports, }) => {
289
383
  const module = (yield vite.ssrLoadModule((0, system_modules_1.productModuleIdOf)({ file, product, sketch })));
290
384
  const states = (_c = module.default) === null || _c === void 0 ? void 0 : _c.states;
291
385
  return states && typeof states === 'object' ? Object.keys(states) : [];
292
- }),
293
- });
386
+ }) }));
294
387
  const baseDirs = [
295
388
  ...new Set(system.products().flatMap((name) => { var _a, _b, _c; return (_c = (_b = (_a = system.productOf(name)) === null || _a === void 0 ? void 0 : _a.base) === null || _b === void 0 ? void 0 : _b.dir) !== null && _c !== void 0 ? _c : []; })),
296
389
  ].filter((dir) => !isInside(designRoot, dir));
@@ -371,7 +464,34 @@ const designExplore = ({ target, config, system, stylesheetImports, }) => {
371
464
  const isSystemFile = (file) => !isInside(callsRoot, file) &&
372
465
  !isSketchFile(designRoot, file) &&
373
466
  [designRoot, ...baseDirs].some((dir) => isInside(dir, file));
467
+ const modulesOf = (file) => { var _a; return [...((_a = vite.moduleGraph.getModulesByFile((0, path_1.resolve)(file))) !== null && _a !== void 0 ? _a : [])]; };
468
+ const rebuilt = new Set();
469
+ let settling;
470
+ const redrawRebuilt = () => {
471
+ const changed = [...rebuilt].filter((rewritten) => !isAsLoaded(rewritten));
472
+ const modules = changed.flatMap(modulesOf);
473
+ const [file] = changed;
474
+ rebuilt.clear();
475
+ if (!file || modules.length === 0)
476
+ return;
477
+ const dependents = (0, shot_1.dependentIdsOf)(modules, stylesheetImports);
478
+ for (const module of modules)
479
+ vite.moduleGraph.invalidateModule(module);
480
+ redraw((0, changed_parts_1.changedPartsOf)({ target, config, system, file, dependents }));
481
+ };
482
+ // A package build deletes its folder and writes it anew; a module stays stale unless it is
483
+ // invalidated once the new file is there, so `unlink` alone redraws nothing.
484
+ const packageChanged = (file) => {
485
+ if (modulesOf(file).length === 0)
486
+ return;
487
+ rebuilt.add((0, path_1.resolve)(file));
488
+ settling === null || settling === void 0 ? void 0 : settling.abort();
489
+ settling = new AbortController();
490
+ void (0, promises_1.setTimeout)(REBUILD_SETTLE_MS, undefined, { signal: settling.signal }).then(redrawRebuilt, () => undefined);
491
+ };
374
492
  const refresh = (file) => {
493
+ if (isPackageFile(file))
494
+ return;
375
495
  if ((0, path_1.resolve)(file) === configPath)
376
496
  return reloadConfig();
377
497
  if (isCommentFile(file))
@@ -396,6 +516,8 @@ const designExplore = ({ target, config, system, stylesheetImports, }) => {
396
516
  };
397
517
  const change = (file) => {
398
518
  var _a;
519
+ if (isPackageFile(file))
520
+ return packageChanged(file);
399
521
  if ((0, path_1.resolve)(file) === configPath)
400
522
  return reloadConfig();
401
523
  if (isCommentFile(file))
@@ -420,10 +542,27 @@ const designExplore = ({ target, config, system, stylesheetImports, }) => {
420
542
  response.setHeader('content-type', 'application/json');
421
543
  response.end(JSON.stringify(stamp));
422
544
  });
545
+ vite.middlewares.use(draw_ledger_1.QUEUE_PATH, (_request, response) => sendJson(response, { status: 200, body: ledger.report() }));
423
546
  vite.middlewares.use(render_1.RENDER_PATH, (0, render_1.renderMiddleware)(renderer));
424
547
  vite.middlewares.use(render_1.FORCE_PATH, render_1.forceMiddleware);
425
548
  vite.middlewares.use(thumb_1.THUMB_PATH, thumbs.middleware);
426
549
  vite.middlewares.use(shot_1.SHOT_PATH, shots.middleware);
550
+ vite.middlewares.use(studio_api_1.MOTION_PATH, (0, motion_endpoint_1.motionMiddleware)({
551
+ system,
552
+ motionOf: shots.motionOf,
553
+ declaredOf: (_a) => __awaiter(void 0, [_a], void 0, function* ({ product, part, sketch }) {
554
+ var _b, _c;
555
+ const file = (_b = system.partOf({ product, part, sketch })) === null || _b === void 0 ? void 0 : _b.file;
556
+ if (!file) {
557
+ throw new thumb_1.ThumbMissingError(sketch
558
+ ? `design-explore: variant "${sketch.variant}" of the sketch on ${sketch.target} in product "${product}" has no part "${part}"`
559
+ : `design-explore: product "${product}" has no part "${part}"`);
560
+ }
561
+ const module = (yield vite.ssrLoadModule((0, system_modules_1.productModuleIdOf)({ file, product, sketch })));
562
+ const motions = (_c = module.default) === null || _c === void 0 ? void 0 : _c.motions;
563
+ return motions && typeof motions === 'object' ? motions : {};
564
+ }),
565
+ }));
427
566
  vite.middlewares.use(list_system_1.SYSTEM_PATH, answer((url) => __awaiter(void 0, void 0, void 0, function* () {
428
567
  var _a;
429
568
  const asked = url.searchParams.get('product');
@@ -465,6 +604,14 @@ const designExplore = ({ target, config, system, stylesheetImports, }) => {
465
604
  load: ({ file, product, sketch }) => vite.ssrLoadModule((0, system_modules_1.productModuleIdOf)({ file, product, sketch })),
466
605
  pictureOf: shots.pictureOf,
467
606
  boxOf: shots.changedBoxesOf,
607
+ inventoryOf: ({ product, part }) => (0, inventory_1.inventoryOf)({
608
+ product,
609
+ part,
610
+ system,
611
+ base: base(),
612
+ load: (id) => vite.ssrLoadModule(id),
613
+ draw: (job) => inventoryDraws.run(job),
614
+ }),
468
615
  });
469
616
  })));
470
617
  studio(studio_api_1.SKETCHES_PATH, studio_api_1.sketchesAnswer);
@@ -488,13 +635,20 @@ const designExplore = ({ target, config, system, stylesheetImports, }) => {
488
635
  studio(studio_api_1.FLOW_NOTE_PATH, studio_api_1.flowNoteAnswer);
489
636
  studio(studio_api_1.FLOW_NOTE_CHANGE_PATH, studio_api_1.flowNoteChangeAnswer);
490
637
  studio(studio_api_1.FLOW_NOTE_DELETE_PATH, studio_api_1.flowNoteDeleteAnswer);
638
+ studio(studio_api_1.INVENTORY_PATH, studio_api_1.inventoryAnswer);
639
+ studio(studio_api_1.INVENTORY_APPROVE_PATH, studio_api_1.inventoryApproveAnswer);
640
+ studio(studio_api_1.OPEN_POINTS_PATH, studio_api_1.openPointsAnswer);
641
+ studio(studio_api_1.PART_READY_PATH, studio_api_1.partReadyAnswer);
642
+ studio(studio_api_1.EXCEPTIONS_PATH, studio_api_1.exceptionsAnswer);
643
+ studio(studio_api_1.EXCEPTION_APPROVE_PATH, studio_api_1.exceptionApproveAnswer);
491
644
  vite.middlewares.use(studio_api_1.COMMENT_EVENTS_PATH, events.middleware);
492
645
  (_c = vite.httpServer) === null || _c === void 0 ? void 0 : _c.on('close', () => {
493
646
  events.close();
494
- void Promise.all([thumbs.close(), shots.close()]);
647
+ settling === null || settling === void 0 ? void 0 : settling.abort();
648
+ void Promise.all([thumbs.close(), shots.close(), inventoryDraws.close()]);
495
649
  });
496
- vite.watcher.add([designRoot, ...baseDirs]);
497
- vite.watcher.on('add', refresh);
650
+ vite.watcher.add([designRoot, ...baseDirs, ...packageDirs()]);
651
+ vite.watcher.on('add', (file) => (isPackageFile(file) ? packageChanged(file) : refresh(file)));
498
652
  vite.watcher.on('unlink', refresh);
499
653
  vite.watcher.on('change', change);
500
654
  },
@@ -512,10 +666,11 @@ const freePortOf = () => new Promise((resolvePort, reject) => {
512
666
  /**
513
667
  * The Vite server that draws a checkout: listening on the configured port to serve the frames, or in
514
668
  * middleware mode only to load design modules for a command. With `port`, it listens there instead
515
- * (0 picks a free one), quiet, unwatched and with a dependency cache of its own, so a command can draw
516
- * while the user's server runs.
669
+ * (0 picks a free one), quiet and unwatched. Only the user's server uses the checkout's dependency cache,
670
+ * so a command can draw while that server runs.
517
671
  */
518
672
  const createDesignServer = (options) => __awaiter(void 0, void 0, void 0, function* () {
673
+ var _a;
519
674
  const { target, config, listen, sketchesRoot } = options;
520
675
  const host = options.host || process.env['DE_HOST'] || undefined;
521
676
  const own = listen && options.port !== undefined;
@@ -538,6 +693,7 @@ const createDesignServer = (options) => __awaiter(void 0, void 0, void 0, functi
538
693
  }
539
694
  const baseDirs = system.products().flatMap((name) => { var _a, _b, _c; return (_c = (_b = (_a = system.productOf(name)) === null || _a === void 0 ? void 0 : _a.base) === null || _b === void 0 ? void 0 : _b.dir) !== null && _c !== void 0 ? _c : []; });
540
695
  const stylesheetImports = new Map();
696
+ const cache = listen && !own ? null : (0, paths_1.claimViteCache)(target, 'vite-check');
541
697
  const server = yield createServer(Object.assign(Object.assign(Object.assign({ configFile: false, root: (0, path_1.resolve)(here, 'web'),
542
698
  // Every drawing is ruled under Tailwind 4, whatever the checkout installs. The tool brings its
543
699
  // own pipeline so no checkout's postcss config reaches a drawing.
@@ -554,7 +710,7 @@ const createDesignServer = (options) => __awaiter(void 0, void 0, void 0, functi
554
710
  (0, shot_1.stylesheetImportsPlugin)(stylesheetImports),
555
711
  ],
556
712
  },
557
- }, cacheDir: (0, paths_1.viteCacheOf)(target, own ? 'vite-check' : 'vite'), resolve: {
713
+ }, cacheDir: (_a = cache === null || cache === void 0 ? void 0 : cache.dir) !== null && _a !== void 0 ? _a : (0, paths_1.viteCacheOf)(target, 'vite'), resolve: {
558
714
  alias: [
559
715
  { find: /^@design-explore$/, replacement: (0, path_1.resolve)(here, 'define-call.ts') },
560
716
  { find: new RegExp(`^${system_tsconfig_1.DESIGN_SYSTEM_SPECIFIER}$`), replacement: (0, path_1.resolve)(here, 'define-part.ts') },
@@ -563,14 +719,27 @@ const createDesignServer = (options) => __awaiter(void 0, void 0, void 0, functi
563
719
  ],
564
720
  },
565
721
  // A design mock ships as TS that imports CSS with `?inline`, which the dependency pre-bundler
566
- // can not load.
567
- optimizeDeps: { exclude: ['@ethlete/components', '@ethlete/core'] }, plugins: [designExplore({ target, config, system, stylesheetImports })] }, (listen ? {} : { appType: 'custom' })), (listen && !own ? {} : { logLevel: 'error' })), { server: Object.assign(Object.assign({
722
+ // can not load. The tool's own modules sit in a snapshot under `node_modules`; pre-bundled, each
723
+ // late find of one reloads every frame.
724
+ optimizeDeps: {
725
+ exclude: ['@ethlete/components', '@ethlete/core', '@design-explore', system_tsconfig_1.DESIGN_SYSTEM_SPECIFIER, kit_1.KIT_SPECIFIER],
726
+ }, plugins: [
727
+ designExplore({
728
+ target,
729
+ config,
730
+ system,
731
+ stylesheetImports,
732
+ shotCacheDir: listen && !own ? (0, paths_1.viteCacheOf)(target, 'shots') : null,
733
+ }),
734
+ ] }, (listen ? {} : { appType: 'custom' })), (listen && !own ? {} : { logLevel: 'error' })), { server: Object.assign(Object.assign({
568
735
  // Studio swaps a frame for a fresh one once it has painted; a Vite reload would blank every frame at once.
569
736
  hmr: false }, (listen
570
737
  ? Object.assign(Object.assign(Object.assign({ port: port !== null && port !== void 0 ? port : (0, paths_1.portOf)(config) }, (host ? { host } : {})), { strictPort: true }), (own ? { watch: null } : {})) : { middlewareMode: true, ws: false, watch: null })), {
571
738
  // The frame page lives inside this package, which is outside the checkout it draws. Vite
572
739
  // serves neither root unless both are allowed.
573
740
  fs: { allow: [target, here, ...baseDirs] } }) }));
741
+ const closing = server.close.bind(server);
742
+ server.close = () => closing().finally(() => cache === null || cache === void 0 ? void 0 : cache.release());
574
743
  const listening = server.listen.bind(server);
575
744
  server.listen = (...args) => listening(...args).catch((error) => {
576
745
  const code = error === null || error === void 0 ? void 0 : error.code;
@@ -606,16 +775,17 @@ const serveDesign = (options) => __awaiter(void 0, void 0, void 0, function* ()
606
775
  }
607
776
  (0, paths_1.snapshotPackage)(target);
608
777
  const ownedByStudio = process.env['ETHLETE_DESIGN_EXIT_ON_STDIN_CLOSE'] === '1';
778
+ const portPinned = ownedByStudio || !!Number(process.env['DE_PORT']);
609
779
  const server = yield (0, exports.createDesignServer)({
610
780
  target,
611
781
  config,
612
782
  listen: true,
613
783
  host,
614
- listenOn: ownedByStudio ? undefined : yield freePortOf(),
784
+ listenOn: portPinned ? undefined : yield freePortOf(),
615
785
  });
616
786
  yield server.listen();
617
787
  console.log(`design-explore: drawing ${target}`);
618
- if (!ownedByStudio) {
788
+ if (!portPinned) {
619
789
  console.log(`design-explore: not started by Studio, so it listens on a free port and leaves ${(0, paths_1.portOf)(config)} to Studio`);
620
790
  }
621
791
  server.printUrls();
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/serve.ts"],"names":[],"mappings":"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"}
@@ -44,13 +44,21 @@ export declare const planOf: (options: {
44
44
  state: string | null;
45
45
  only?: string[];
46
46
  }) => Plan[][];
47
- /** One sheet row per row of the part's grid, after a row of the states the grid leaves out. */
48
- export declare const gridRowsOf: (row: Plan[], grid: ListedGrid) => Plan[][];
47
+ export type EmptyGridCell = {
48
+ empty: string;
49
+ };
50
+ /**
51
+ * One sheet row per row of the part's grid, after a row of the states the grid leaves out. A grid row keeps an
52
+ * `{ empty: '<row> <column>' }` cell for each column it draws no state in.
53
+ */
54
+ export declare const gridRowsOf: (row: Plan[], grid: ListedGrid) => (Plan | EmptyGridCell)[][];
55
+ export declare const sketchHoldingOf: <T extends Pick<Sketch, "targets">>(sketches: T[], part: string) => T | undefined;
49
56
  export declare const rowsOf: (options: {
50
57
  part: string;
51
58
  variants: string[] | null;
52
59
  merged: boolean;
53
60
  rejected?: string[];
61
+ sketchTarget?: string;
54
62
  }) => Axis[];
55
63
  /**
56
64
  * The variants of a sketch that a shot draws: all of them, or only those in the named rounds and among the named
@@ -78,8 +86,9 @@ export declare const shotProductOf: (options: {
78
86
  part: string;
79
87
  }) => ResolvedProduct | string;
80
88
  /**
81
- * One crop per cluster of the pixels a variant cell changes from the merged cell of its state, in CSS pixels inside
82
- * the largest picture; empty when no variant changes a pixel.
89
+ * One crop per cluster of the pixels a variant cell changes from the merged cell of its state, or of the first merged
90
+ * state for a state the merged part does not draw, in CSS pixels inside the largest picture; empty when no variant
91
+ * changes a pixel.
83
92
  */
84
93
  export declare const changedCropsIn: (options: {
85
94
  plan: Plan[][];