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

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 (111) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/design/define-call.ts +43 -0
  3. package/design/define-part.ts +28 -8
  4. package/design/embed-page.ts +37 -4
  5. package/design/icon-sheet.ts +151 -0
  6. package/design/mark-part.ts +79 -2
  7. package/design/motion-runtime.ts +212 -5
  8. package/design/spring.ts +53 -0
  9. package/design/token-sheet.ts +87 -0
  10. package/design/web/frame.ts +139 -24
  11. package/package.json +1 -1
  12. package/src/lib/design/calls-tsconfig.js +1 -2
  13. package/src/lib/design/calls-tsconfig.js.map +1 -1
  14. package/src/lib/design/design-command.js +34 -4
  15. package/src/lib/design/design-command.js.map +1 -1
  16. package/src/lib/design/force-interactions.d.ts +2 -1
  17. package/src/lib/design/force-interactions.js +7 -4
  18. package/src/lib/design/force-interactions.js.map +1 -1
  19. package/src/lib/design/mcp-command.d.ts +60 -0
  20. package/src/lib/design/mcp-command.js +327 -0
  21. package/src/lib/design/mcp-command.js.map +1 -0
  22. package/src/lib/design/motion-command.d.ts +71 -0
  23. package/src/lib/design/motion-command.js +314 -0
  24. package/src/lib/design/motion-command.js.map +1 -0
  25. package/src/lib/design/motion-endpoint.d.ts +61 -0
  26. package/src/lib/design/motion-endpoint.js +133 -0
  27. package/src/lib/design/motion-endpoint.js.map +1 -0
  28. package/src/lib/design/motion-flow.d.ts +5 -0
  29. package/src/lib/design/motion-flow.js +29 -0
  30. package/src/lib/design/motion-flow.js.map +1 -0
  31. package/src/lib/design/motion-shot.d.ts +43 -0
  32. package/src/lib/design/motion-shot.js +97 -0
  33. package/src/lib/design/motion-shot.js.map +1 -0
  34. package/src/lib/design/ready-shots.d.ts +7 -0
  35. package/src/lib/design/ready-shots.js +22 -1
  36. package/src/lib/design/ready-shots.js.map +1 -1
  37. package/src/lib/design/render-packages.d.ts +9 -0
  38. package/src/lib/design/render-packages.js +13 -3
  39. package/src/lib/design/render-packages.js.map +1 -1
  40. package/src/lib/design/render.js +3 -3
  41. package/src/lib/design/render.js.map +1 -1
  42. package/src/lib/design/serve.js +34 -3
  43. package/src/lib/design/serve.js.map +1 -1
  44. package/src/lib/design/shot-command.d.ts +8 -2
  45. package/src/lib/design/shot-command.js +12 -8
  46. package/src/lib/design/shot-command.js.map +1 -1
  47. package/src/lib/design/shot.d.ts +16 -0
  48. package/src/lib/design/shot.js +68 -4
  49. package/src/lib/design/shot.js.map +1 -1
  50. package/src/lib/design/sketch-command.js +78 -16
  51. package/src/lib/design/sketch-command.js.map +1 -1
  52. package/src/lib/design/studio-api.d.ts +19 -0
  53. package/src/lib/design/studio-api.js +52 -1
  54. package/src/lib/design/studio-api.js.map +1 -1
  55. package/src/lib/design/system/complete-command.d.ts +1 -1
  56. package/src/lib/design/system/complete-command.js +76 -6
  57. package/src/lib/design/system/complete-command.js.map +1 -1
  58. package/src/lib/design/system/complete.d.ts +107 -9
  59. package/src/lib/design/system/complete.js +592 -141
  60. package/src/lib/design/system/complete.js.map +1 -1
  61. package/src/lib/design/system/exceptions.d.ts +59 -0
  62. package/src/lib/design/system/exceptions.js +132 -0
  63. package/src/lib/design/system/exceptions.js.map +1 -0
  64. package/src/lib/design/system/flows/flow.d.ts +3 -0
  65. package/src/lib/design/system/flows/flow.js +5 -3
  66. package/src/lib/design/system/flows/flow.js.map +1 -1
  67. package/src/lib/design/system/handoff.d.ts +11 -0
  68. package/src/lib/design/system/handoff.js +30 -0
  69. package/src/lib/design/system/handoff.js.map +1 -0
  70. package/src/lib/design/system/inventory-approval.d.ts +41 -0
  71. package/src/lib/design/system/inventory-approval.js +71 -0
  72. package/src/lib/design/system/inventory-approval.js.map +1 -0
  73. package/src/lib/design/system/inventory.d.ts +65 -0
  74. package/src/lib/design/system/inventory.js +168 -0
  75. package/src/lib/design/system/inventory.js.map +1 -0
  76. package/src/lib/design/system/list-system.js +9 -2
  77. package/src/lib/design/system/list-system.js.map +1 -1
  78. package/src/lib/design/system/render-check.js +19 -1
  79. package/src/lib/design/system/render-check.js.map +1 -1
  80. package/src/lib/design/system/resolve-product.d.ts +2 -3
  81. package/src/lib/design/system/resolve-product.js +4 -6
  82. package/src/lib/design/system/resolve-product.js.map +1 -1
  83. package/src/lib/design/system/rules/stale-replace.js +41 -2
  84. package/src/lib/design/system/rules/stale-replace.js.map +1 -1
  85. package/src/lib/design/system/rules/token-selectors.js +1 -1
  86. package/src/lib/design/system/rules/token-selectors.js.map +1 -1
  87. package/src/lib/design/system/sketch/host-edit.d.ts +4 -0
  88. package/src/lib/design/system/sketch/host-edit.js +68 -0
  89. package/src/lib/design/system/sketch/host-edit.js.map +1 -0
  90. package/src/lib/design/system/sketch/merge.d.ts +3 -2
  91. package/src/lib/design/system/sketch/merge.js +47 -12
  92. package/src/lib/design/system/sketch/merge.js.map +1 -1
  93. package/src/lib/design/system/sketch/merged-parts.d.ts +10 -0
  94. package/src/lib/design/system/sketch/merged-parts.js +24 -3
  95. package/src/lib/design/system/sketch/merged-parts.js.map +1 -1
  96. package/src/lib/design/system/sketch/no-visible-change.d.ts +6 -0
  97. package/src/lib/design/system/sketch/no-visible-change.js +25 -1
  98. package/src/lib/design/system/sketch/no-visible-change.js.map +1 -1
  99. package/src/lib/design/system/sketch/overlay.js +11 -3
  100. package/src/lib/design/system/sketch/overlay.js.map +1 -1
  101. package/src/lib/design/system/sketch/sketch.d.ts +32 -0
  102. package/src/lib/design/system/sketch/sketch.js +73 -18
  103. package/src/lib/design/system/sketch/sketch.js.map +1 -1
  104. package/src/lib/design/system/sketch/unused-closure.d.ts +12 -0
  105. package/src/lib/design/system/sketch/unused-closure.js +185 -0
  106. package/src/lib/design/system/sketch/unused-closure.js.map +1 -0
  107. package/src/lib/design/system/system-modules.js +6 -9
  108. package/src/lib/design/system/system-modules.js.map +1 -1
  109. package/src/lib/design/system/system-tsconfig.d.ts +2 -1
  110. package/src/lib/design/system/system-tsconfig.js +9 -5
  111. package/src/lib/design/system/system-tsconfig.js.map +1 -1
@@ -11,7 +11,7 @@ var __rest = (this && this.__rest) || function (s, e) {
11
11
  return t;
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.editRound = exports.addVariant = exports.rebaseSketch = exports.decideSketch = exports.markSketchReady = exports.finishSketchReport = exports.clearSketchReport = exports.readSketchReport = exports.reportSketch = exports.sketchReportPath = exports.withAuthor = exports.createSketch = exports.sketchSourceOf = exports.writeSketchFile = exports.findSketch = exports.listSketches = exports.readSketch = exports.authorsOf = exports.rejectedProblemOf = exports.rejectionOf = exports.runningRoundOf = exports.isVariantName = exports.parseTarget = exports.sourceFilesIn = exports.variantSharedDirOf = exports.sharedDirOf = exports.SHARED_FOLDER = exports.variantDirOf = exports.sketchDirOf = exports.sketchFolderOf = exports.sketchesDirOf = exports.SKETCH_FILE = exports.SKETCH_STATUSES = void 0;
14
+ exports.editRound = exports.addVariant = exports.rebaseSketch = exports.decideSketch = exports.releaseSketch = exports.holdSketch = exports.heldProblemOf = exports.markSketchReady = exports.finishSketchReport = exports.clearSketchReport = exports.readSketchReport = exports.reportSketch = exports.sketchReportPath = exports.withAuthor = exports.createSketch = exports.sketchSourceOf = exports.writeSketchFile = exports.findSketch = exports.listSketches = exports.readSketch = exports.authorsOf = exports.rejectedProblemOf = exports.rejectionOf = exports.runningRoundOf = exports.isVariantName = exports.parseTarget = exports.sourceFilesIn = exports.variantSharedDirOf = exports.sharedDirOf = exports.SHARED_FOLDER = exports.variantDirOf = exports.sketchDirOf = exports.sketchFolderOf = exports.sketchesDirOf = exports.SKETCH_FILE = exports.SKETCH_MERGES = exports.SKETCH_STATUSES = void 0;
15
15
  const fs_1 = require("fs");
16
16
  const path_1 = require("path");
17
17
  const json_layout_1 = require("../../json-layout");
@@ -19,11 +19,13 @@ const status_1 = require("../../status");
19
19
  const assets_1 = require("../assets");
20
20
  const imports_1 = require("../imports");
21
21
  Object.defineProperty(exports, "SHARED_FOLDER", { enumerable: true, get: function () { return imports_1.SHARED_FOLDER; } });
22
+ const base_1 = require("../base");
22
23
  const layers_1 = require("../layers");
23
24
  const resolve_product_1 = require("../resolve-product");
24
25
  const baseline_1 = require("./baseline");
25
26
  const part_definition_1 = require("./part-definition");
26
27
  exports.SKETCH_STATUSES = ['in progress', 'ready'];
28
+ exports.SKETCH_MERGES = ['override', 'into-base'];
27
29
  const NAME = /^[a-z0-9][a-z0-9-]*$/u;
28
30
  exports.SKETCH_FILE = 'sketch.json';
29
31
  const sketchesDirOf = (productDir) => (0, path_1.resolve)(productDir, 'sketches');
@@ -143,6 +145,15 @@ const isRounds = (value) => Array.isArray(value) &&
143
145
  (round.lost === undefined || typeof round.lost === 'string') &&
144
146
  (round.drops === undefined || (Array.isArray(round.drops) && round.drops.every((d) => typeof d === 'string')))) &&
145
147
  new Set(value.map((round) => round.key)).size === value.length;
148
+ const isHold = (value) => {
149
+ const hold = value;
150
+ return (typeof hold === 'object' &&
151
+ hold !== null &&
152
+ typeof hold.until === 'string' &&
153
+ hold.until.trim() !== '' &&
154
+ typeof hold.by === 'string' &&
155
+ typeof hold.heldAt === 'string');
156
+ };
146
157
  const FIRST_ROUND = 'r1';
147
158
  const firstRoundOf = (title = '', note = '') => ({ key: FIRST_ROUND, title, note: note.trim() });
148
159
  const nextRoundKeyOf = (rounds) => `r${Math.max(0, ...rounds.map((round) => { var _a, _b; return Number((_b = (_a = /^r(\d+)$/u.exec(round.key)) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b : 0); })) + 1}`;
@@ -199,6 +210,12 @@ const readSketch = (options) => {
199
210
  return `${file}: rejections must be { <variant>: [{ by: designer | agent, decidedAt, reason?, reasonBy?, reopened?: { by, decidedAt, reason? } }] }, each but the last reopened`;
200
211
  if (parsed.rounds !== undefined && !isRounds(parsed.rounds))
201
212
  return `${file}: rounds must be a non-empty list of { key, title, note } with unique keys`;
213
+ if (parsed.merge !== undefined && !exports.SKETCH_MERGES.includes(parsed.merge))
214
+ return `${file}: merge must be one of ${exports.SKETCH_MERGES.join(', ')}`;
215
+ if (parsed.hold !== undefined && !isHold(parsed.hold))
216
+ return `${file}: hold must be { until, by, heldAt }`;
217
+ if (parsed.hold !== undefined && parsed.status !== 'in progress')
218
+ return `${file}: a held sketch must be in progress`;
202
219
  const rounds = (_b = parsed.rounds) !== null && _b !== void 0 ? _b : [firstRoundOf()];
203
220
  const running = (0, exports.runningRoundOf)({ rounds }).key;
204
221
  const variants = foldersOf(dir).filter((folder) => folder !== imports_1.SHARED_FOLDER);
@@ -229,7 +246,7 @@ const findSketch = (options) => {
229
246
  };
230
247
  exports.findSketch = findSketch;
231
248
  const writeSketchFile = (sketch) => {
232
- const file = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ target: (0, resolve_product_1.partKeyOf)(sketch) }, (sketch.targets.length > 1 ? { targets: sketch.targets } : {})), { status: sketch.status, createdAt: sketch.createdAt }), (sketch.baseline ? { baseline: sketch.baseline } : {})), (sketch.decision ? { decision: sketch.decision } : {})), { rounds: sketch.rounds }), (Object.keys(sketch.variantInfo).length > 0 ? { variantInfo: sketch.variantInfo } : {})), (sketch.rejections && Object.keys(sketch.rejections).length > 0 ? { rejections: sketch.rejections } : {}));
249
+ const file = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ target: (0, resolve_product_1.partKeyOf)(sketch) }, (sketch.targets.length > 1 ? { targets: sketch.targets } : {})), { status: sketch.status, createdAt: sketch.createdAt }), (sketch.baseline ? { baseline: sketch.baseline } : {})), (sketch.decision ? { decision: sketch.decision } : {})), { rounds: sketch.rounds }), (Object.keys(sketch.variantInfo).length > 0 ? { variantInfo: sketch.variantInfo } : {})), (sketch.rejections && Object.keys(sketch.rejections).length > 0 ? { rejections: sketch.rejections } : {})), (sketch.merge ? { merge: sketch.merge } : {})), (sketch.hold ? { hold: sketch.hold } : {}));
233
250
  (0, fs_1.writeFileSync)((0, path_1.resolve)(sketch.dir, exports.SKETCH_FILE), (0, json_layout_1.jsonLayoutOf)(file));
234
251
  };
235
252
  exports.writeSketchFile = writeSketchFile;
@@ -307,6 +324,22 @@ const copyPartAs = (options) => {
307
324
  const source = (0, fs_1.readFileSync)(file, 'utf8').split(`./${from.name}.css`).join(`./${name}.css`);
308
325
  (0, fs_1.writeFileSync)(file, (_a = (0, part_definition_1.withMadeBy)(source, [])) !== null && _a !== void 0 ? _a : source);
309
326
  };
327
+ /** Why the sketch cannot open with `merge` on its targets, or `null`: a base part merges into the base unless `override`. */
328
+ const mergeProblemOf = (options) => {
329
+ var _a, _b, _c;
330
+ const { product, targets, merge } = options;
331
+ const originOf = (key) => { var _a; return (_a = product.parts.find((part) => (0, resolve_product_1.partKeyOf)(part) === key)) === null || _a === void 0 ? void 0 : _a.origin; };
332
+ const overridden = targets.filter((key) => originOf(key) === 'overridden');
333
+ const fromBase = targets.filter((key) => originOf(key) === 'base' || originOf(key) === 'overridden');
334
+ const baseName = (_b = (_a = product.base) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : 'base';
335
+ if (merge === 'into-base' && overridden.length === 0)
336
+ return `--into-base: ${product.name} has no override of ${targets.join(', ')}`;
337
+ if (merge === undefined && overridden.length > 0)
338
+ return `${product.name} overrides the ${baseName} base part ${overridden.join(', ')} - pass --override to sketch the product copy, or --into-base to start from it and merge into the base, which removes the copy`;
339
+ if (merge !== 'override' && fromBase.length > 0 && product.base && (0, base_1.isBuiltInBase)((_c = product.config.base) !== null && _c !== void 0 ? _c : ''))
340
+ return `${fromBase.join(', ')} comes from the built-in base ${product.config.base}, which a sketch cannot merge into - pass --override`;
341
+ return null;
342
+ };
310
343
  const variantInfoOf = (options) => {
311
344
  var _a;
312
345
  return (Object.assign(Object.assign(Object.assign({}, (options.author ? { authors: [options.author] } : {})), { round: options.round }), (((_a = options.note) === null || _a === void 0 ? void 0 : _a.trim()) ? { note: options.note.trim() } : {})));
@@ -317,10 +350,11 @@ const variantInfoOf = (options) => {
317
350
  * sketch's `shared/` folder - else from the part the product resolves for the target, or from an empty part when the
318
351
  * target is new. A part's own `shared/` folder becomes the sketch's, imported as `@shared/`. A target holds one open
319
352
  * sketch at a time. Each of `others` joins every variant the same way, as a further target; `like` takes one target only.
353
+ * A target the product overrides in its base needs `merge`: `override` or `into-base`.
320
354
  */
321
355
  const createSketch = (options) => {
322
356
  var _a;
323
- const { product, sketch, variants, roundTitle, roundNote, author, like, variantNotes } = options;
357
+ const { product, sketch, variants, roundTitle, roundNote, author, like, variantNotes, merge } = options;
324
358
  const dir = (0, exports.sketchDirOf)({ productDir: product.dir, sketch });
325
359
  const key = (0, resolve_product_1.partKeyOf)(sketch);
326
360
  const all = [sketch, ...((_a = options.others) !== null && _a !== void 0 ? _a : [])];
@@ -334,6 +368,9 @@ const createSketch = (options) => {
334
368
  return `${(0, resolve_product_1.partKeyOf)(taken !== null && taken !== void 0 ? taken : sketch)} already has an open sketch - merge or discard it first`;
335
369
  if (variants.length === 0)
336
370
  return 'name at least one variant';
371
+ const mergeProblem = mergeProblemOf({ product, targets, merge });
372
+ if (mergeProblem)
373
+ return mergeProblem;
337
374
  const invalid = variants.find((variant) => !(0, exports.isVariantName)(variant));
338
375
  if (invalid !== undefined)
339
376
  return `"${invalid}" is no variant name - use lower case letters, digits and dashes, and not "shared"`;
@@ -370,23 +407,10 @@ const createSketch = (options) => {
370
407
  }
371
408
  if (like === null || like === void 0 ? void 0 : like.shared)
372
409
  (0, fs_1.cpSync)(like.shared, (0, path_1.resolve)(dir, imports_1.SHARED_FOLDER), { recursive: true });
373
- const created = {
374
- target: key,
375
- targets,
376
- status: 'in progress',
377
- createdAt: new Date().toISOString(),
378
- baseline: (0, baseline_1.baselineOf)(product),
379
- rounds: [firstRoundOf(roundTitle, roundNote)],
380
- variantInfo: Object.fromEntries(variants.map((variant) => [
410
+ const created = Object.assign({ target: key, targets, status: 'in progress', createdAt: new Date().toISOString(), baseline: (0, baseline_1.baselineOf)(product), rounds: [firstRoundOf(roundTitle, roundNote)], variantInfo: Object.fromEntries(variants.map((variant) => [
381
411
  variant,
382
412
  variantInfoOf({ round: FIRST_ROUND, author, note: variantNotes === null || variantNotes === void 0 ? void 0 : variantNotes.get(variant) }),
383
- ])),
384
- product: product.name,
385
- layer: sketch.layer,
386
- name: sketch.name,
387
- dir,
388
- variants: [...variants].sort(),
389
- };
413
+ ])), product: product.name, layer: sketch.layer, name: sketch.name, dir, variants: [...variants].sort() }, (merge ? { merge } : {}));
390
414
  (0, exports.writeSketchFile)(created);
391
415
  return created;
392
416
  };
@@ -472,6 +496,9 @@ const markSketchReady = (options) => {
472
496
  const { checkout, sketch, author } = options;
473
497
  if (sketch.status !== 'in progress')
474
498
  return `${sketch.target} is ${sketch.status}, not in progress`;
499
+ const held = (0, exports.heldProblemOf)(sketch);
500
+ if (held !== null)
501
+ return held;
475
502
  if (sketch.variants.length === 0)
476
503
  return `${sketch.target} holds no variant`;
477
504
  const authored = author
@@ -485,6 +512,34 @@ const markSketchReady = (options) => {
485
512
  return ready;
486
513
  };
487
514
  exports.markSketchReady = markSketchReady;
515
+ /** Why a held sketch cannot be ready, or `null` when it holds nothing. */
516
+ const heldProblemOf = (sketch) => sketch.hold ? `${sketch.target} is held until: ${sketch.hold.until} - make the change, then sketch release it` : null;
517
+ exports.heldProblemOf = heldProblemOf;
518
+ /**
519
+ * Holds a sketch until a change that waits on something is made: it goes back to in progress, which drops a pick
520
+ * and takes it out of the merge queue, and `sketch ready` refuses until the hold is released.
521
+ */
522
+ const holdSketch = (options) => {
523
+ const { sketch, by, now = new Date() } = options;
524
+ const until = options.until.trim();
525
+ if (until === '')
526
+ return 'a hold needs --until <what the change waits on>';
527
+ const { decision: _decision } = sketch, undecided = __rest(sketch, ["decision"]);
528
+ const held = Object.assign(Object.assign({}, undecided), { status: 'in progress', hold: { until, by, heldAt: now.toISOString() } });
529
+ (0, exports.writeSketchFile)(held);
530
+ return held;
531
+ };
532
+ exports.holdSketch = holdSketch;
533
+ /** Removes the hold on a sketch, so it can be marked ready again. */
534
+ const releaseSketch = (options) => {
535
+ const { sketch } = options;
536
+ if (!sketch.hold)
537
+ return `${sketch.target} is not held`;
538
+ const { hold: _hold } = sketch, released = __rest(sketch, ["hold"]);
539
+ (0, exports.writeSketchFile)(released);
540
+ return released;
541
+ };
542
+ exports.releaseSketch = releaseSketch;
488
543
  const withVerdict = (sketch, verdict) => {
489
544
  var _a, _b, _c, _d;
490
545
  const { variant, by } = verdict;
@@ -1 +1 @@
1
- {"version":3,"file":"sketch.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/sketch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sketch.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/sketch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Problem } from '../problem';
2
+ import { ResolvedProduct } from '../resolve-product';
3
+ import { Sketch } from './sketch';
4
+ /**
5
+ * The unused imports, parameters and CSS classes in the files a variant holds and the `shared/` files they import:
6
+ * leftovers of other candidates that a merge would carry into the product.
7
+ */
8
+ export declare const unusedInVariantOf: (options: {
9
+ product: ResolvedProduct;
10
+ sketch: Sketch;
11
+ variant: string;
12
+ }) => Problem[];
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.unusedInVariantOf = void 0;
7
+ const fs_1 = require("fs");
8
+ const path_1 = require("path");
9
+ const typescript_1 = __importDefault(require("typescript"));
10
+ const assets_1 = require("../assets");
11
+ const css_source_1 = require("../css-source");
12
+ const imports_1 = require("../imports");
13
+ const resolve_product_1 = require("../resolve-product");
14
+ const ts_source_1 = require("../ts-source");
15
+ const sketch_1 = require("./sketch");
16
+ const RULE = 'UNUSED';
17
+ const SDK_CLASS_PREFIX = 'et-';
18
+ const CODE = /\.(?:ts|css)$/u;
19
+ const variantFilesOf = (dir) => (0, fs_1.existsSync)(dir)
20
+ ? (0, fs_1.readdirSync)(dir, { recursive: true })
21
+ .filter((path) => CODE.test(path) && !path.endsWith('.spec.ts') && path.split(path_1.sep)[0] !== assets_1.ASSETS_FOLDER)
22
+ .map((path) => (0, path_1.resolve)(dir, path))
23
+ : [];
24
+ const relativeFileOf = (path) => {
25
+ var _a;
26
+ return (_a = [path, `${path}.ts`, (0, path_1.resolve)(path, 'index.ts')].find((candidate) => CODE.test(candidate) && (0, fs_1.existsSync)(candidate))) !== null && _a !== void 0 ? _a : null;
27
+ };
28
+ const closureOf = (options) => {
29
+ var _a;
30
+ const { sketch, variant } = options;
31
+ const sharedDirs = [(0, sketch_1.variantSharedDirOf)(sketch, variant), (0, sketch_1.sharedDirOf)(sketch)];
32
+ const files = new Set(variantFilesOf((0, sketch_1.variantDirOf)(sketch, variant)));
33
+ const queue = [...files];
34
+ for (let file = queue.pop(); file !== undefined; file = queue.pop()) {
35
+ if (!file.endsWith('.ts'))
36
+ continue;
37
+ for (const specifier of (0, ts_source_1.importsOf)((0, fs_1.readFileSync)(file, 'utf8'))) {
38
+ const kind = (0, imports_1.classifyImport)(specifier).kind;
39
+ const path = (_a = specifier.split('?')[0]) !== null && _a !== void 0 ? _a : specifier;
40
+ const found = kind === 'shared'
41
+ ? (0, imports_1.sharedFileOf)({ dirs: sharedDirs, path: path.slice(imports_1.SHARED_PREFIX.length) })
42
+ : kind === 'relative'
43
+ ? relativeFileOf((0, path_1.resolve)((0, path_1.dirname)(file), path))
44
+ : null;
45
+ if (found && !files.has(found)) {
46
+ files.add(found);
47
+ queue.push(found);
48
+ }
49
+ }
50
+ }
51
+ return [...files];
52
+ };
53
+ const nodesOf = (root) => {
54
+ const nodes = [];
55
+ const visit = (node) => {
56
+ nodes.push(node);
57
+ typescript_1.default.forEachChild(node, visit);
58
+ };
59
+ visit(root);
60
+ return nodes;
61
+ };
62
+ const isReference = (node) => typescript_1.default.isIdentifier(node) &&
63
+ !(typescript_1.default.isPropertyAccessExpression(node.parent) && node.parent.name === node) &&
64
+ !(typescript_1.default.isPropertyAssignment(node.parent) && node.parent.name === node) &&
65
+ !(typescript_1.default.isPropertySignature(node.parent) && node.parent.name === node);
66
+ const unusedImportsOf = (file, source) => {
67
+ const declarations = source.statements.filter(typescript_1.default.isImportDeclaration);
68
+ const used = new Set(source.statements
69
+ .filter((statement) => !typescript_1.default.isImportDeclaration(statement))
70
+ .flatMap((statement) => nodesOf(statement))
71
+ .filter(isReference)
72
+ .map((node) => node.text));
73
+ return declarations.flatMap((declaration) => {
74
+ const clause = declaration.importClause;
75
+ const bindings = clause === null || clause === void 0 ? void 0 : clause.namedBindings;
76
+ const names = [
77
+ ...((clause === null || clause === void 0 ? void 0 : clause.name) ? [clause.name.text] : []),
78
+ ...(bindings && typescript_1.default.isNamespaceImport(bindings) ? [bindings.name.text] : []),
79
+ ...(bindings && typescript_1.default.isNamedImports(bindings) ? bindings.elements.map((element) => element.name.text) : []),
80
+ ];
81
+ return names
82
+ .filter((name) => !used.has(name))
83
+ .map((name) => ({ rule: RULE, file, message: `imports ${name} but never uses it - remove the import` }));
84
+ });
85
+ };
86
+ const isFunctionLike = (node) => typescript_1.default.isFunctionDeclaration(node) ||
87
+ typescript_1.default.isArrowFunction(node) ||
88
+ typescript_1.default.isFunctionExpression(node) ||
89
+ typescript_1.default.isMethodDeclaration(node);
90
+ const nameOfFunction = (node) => {
91
+ if ((typescript_1.default.isFunctionDeclaration(node) || typescript_1.default.isMethodDeclaration(node)) && node.name && typescript_1.default.isIdentifier(node.name))
92
+ return node.name.text;
93
+ if (typescript_1.default.isVariableDeclaration(node.parent) && typescript_1.default.isIdentifier(node.parent.name))
94
+ return node.parent.name.text;
95
+ return null;
96
+ };
97
+ const unreferencedParamsOf = (file, source) => nodesOf(source)
98
+ .filter(isFunctionLike)
99
+ .flatMap((fn) => {
100
+ if (!fn.body || typescript_1.default.isMethodDeclaration(fn) || nameOfFunction(fn) === null)
101
+ return [];
102
+ const used = new Set(nodesOf(fn.body)
103
+ .filter(isReference)
104
+ .map((node) => node.text));
105
+ const params = fn.parameters.map((param) => (typescript_1.default.isIdentifier(param.name) ? param.name.text : null));
106
+ const lastUsed = Math.max(...params.map((name, index) => (name === null || used.has(name) ? index : -1)), -1);
107
+ return params
108
+ .slice(lastUsed + 1)
109
+ .filter((name) => name !== null && !name.startsWith('_'))
110
+ .map((name) => ({
111
+ rule: RULE,
112
+ file,
113
+ message: `${nameOfFunction(fn)} takes ${name} but never uses it - remove the parameter`,
114
+ }));
115
+ });
116
+ const isDeclaredName = (node) => (typescript_1.default.isVariableDeclaration(node.parent) ||
117
+ typescript_1.default.isFunctionDeclaration(node.parent) ||
118
+ typescript_1.default.isImportSpecifier(node.parent) ||
119
+ typescript_1.default.isExportSpecifier(node.parent)) &&
120
+ node.parent.name === node;
121
+ const argumentCountsOf = (nodes, name) => {
122
+ const references = nodes.filter((node) => isReference(node) && node.text === name && !isDeclaredName(node));
123
+ if (references.length === 0)
124
+ return null;
125
+ const counts = references.map((node) => typescript_1.default.isCallExpression(node.parent) && node.parent.expression === node ? node.parent.arguments.length : null);
126
+ return counts.every((count) => count !== null) ? counts : null;
127
+ };
128
+ const unpassedParamsOf = (options) => {
129
+ const nodes = options.scripts.flatMap(({ source }) => nodesOf(source));
130
+ return options.scripts
131
+ .filter(({ file }) => options.shared.some((dir) => file.startsWith(`${dir}${path_1.sep}`)))
132
+ .flatMap(({ file, source }) => nodesOf(source)
133
+ .filter(isFunctionLike)
134
+ .flatMap((fn) => {
135
+ const name = nameOfFunction(fn);
136
+ const counts = name ? argumentCountsOf(nodes, name) : null;
137
+ if (!name || !counts || fn.parameters.some((param) => param.dotDotDotToken))
138
+ return [];
139
+ return fn.parameters
140
+ .slice(Math.max(...counts))
141
+ .flatMap((param) => typescript_1.default.isIdentifier(param.name) && !param.name.text.startsWith('_')
142
+ ? [{ rule: RULE, file, message: `no call of ${name} passes ${param.name.text} - remove the parameter` }]
143
+ : []);
144
+ }));
145
+ };
146
+ const mentions = (source, name) => {
147
+ const parts = name.split('-');
148
+ return (new RegExp(`(?<![\\w-])${name}(?![\\w-])`, 'u').test(source) ||
149
+ parts.slice(1).some((_, index) => source.includes(`${parts.slice(0, index + 1).join('-')}-\${`)));
150
+ };
151
+ const unusedClassesOf = (options) => options.css.flatMap((file) => {
152
+ const classes = new Set((0, css_source_1.cssBlocksOf)((0, fs_1.readFileSync)(file, 'utf8')).selectors.flatMap(css_source_1.classesOf));
153
+ return [...classes]
154
+ .filter((name) => !name.startsWith(SDK_CLASS_PREFIX) && !options.sources.some((source) => mentions(source, name)))
155
+ .map((name) => ({
156
+ rule: RULE,
157
+ file,
158
+ message: `styles .${name}, which nothing the variant draws uses - remove the rule`,
159
+ }));
160
+ });
161
+ /**
162
+ * The unused imports, parameters and CSS classes in the files a variant holds and the `shared/` files they import:
163
+ * leftovers of other candidates that a merge would carry into the product.
164
+ */
165
+ const unusedInVariantOf = (options) => {
166
+ const { product, sketch } = options;
167
+ const files = closureOf(options);
168
+ const scripts = files
169
+ .filter((file) => file.endsWith('.ts'))
170
+ .map((file) => {
171
+ const text = (0, fs_1.readFileSync)(file, 'utf8');
172
+ return { file, text, source: typescript_1.default.createSourceFile(file, text, typescript_1.default.ScriptTarget.Latest, true) };
173
+ });
174
+ const otherParts = product.parts.filter((part) => !sketch.targets.includes((0, resolve_product_1.partKeyOf)(part)));
175
+ return [
176
+ ...scripts.flatMap(({ file, source }) => [...unusedImportsOf(file, source), ...unreferencedParamsOf(file, source)]),
177
+ ...unpassedParamsOf({ scripts, shared: [(0, sketch_1.variantSharedDirOf)(sketch, options.variant), (0, sketch_1.sharedDirOf)(sketch)] }),
178
+ ...unusedClassesOf({
179
+ css: files.filter((file) => file.endsWith('.css')),
180
+ sources: [...scripts.map((script) => script.text), ...otherParts.map((part) => part.source)],
181
+ }),
182
+ ];
183
+ };
184
+ exports.unusedInVariantOf = unusedInVariantOf;
185
+ //# sourceMappingURL=unused-closure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unused-closure.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/unused-closure.ts"],"names":[],"mappings":"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"}
@@ -92,16 +92,13 @@ const createSystemModules = (options) => {
92
92
  };
93
93
  const partOf = (options) => { var _a, _b; return (_b = (_a = drawnOf(options.product, options.sketch)) === null || _a === void 0 ? void 0 : _a.parts.find((part) => (0, resolve_product_1.partKeyOf)(part) === options.part)) !== null && _b !== void 0 ? _b : null; };
94
94
  const tokenStylesheetsOf = (options) => {
95
- var _a;
95
+ var _a, _b;
96
96
  const { product, sketch } = options;
97
- const entry = (_a = config.products) === null || _a === void 0 ? void 0 : _a[product];
98
- return entry
99
- ? (0, resolve_product_1.tokenPartsOf)(entry).flatMap((part) => {
100
- var _a;
101
- const css = (_a = partOf({ product, part, sketch })) === null || _a === void 0 ? void 0 : _a.css;
102
- return css && (0, fs_1.existsSync)(css) ? [css] : [];
103
- })
104
- : [];
97
+ return ((_b = (_a = productOf(product)) === null || _a === void 0 ? void 0 : _a.tokens) !== null && _b !== void 0 ? _b : []).flatMap((part) => {
98
+ var _a;
99
+ const css = (_a = partOf({ product, part, sketch })) === null || _a === void 0 ? void 0 : _a.css;
100
+ return css && (0, fs_1.existsSync)(css) ? [css] : [];
101
+ });
105
102
  };
106
103
  /** Each part stylesheet of the product that one sketch variant draws from another file, mapped to that file. */
107
104
  const replacedStylesheetsOf = (options) => {