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

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 (140) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/design/contrast.ts +49 -0
  3. package/design/define-call.ts +5 -8
  4. package/design/define-part.ts +63 -1
  5. package/design/morph.ts +67 -0
  6. package/design/motion-runtime.ts +200 -0
  7. package/design/web/env.d.ts +6 -2
  8. package/design/web/frame.ts +39 -1
  9. package/package.json +2 -1
  10. package/src/lib/design/changed-parts.d.ts +4 -4
  11. package/src/lib/design/changed-parts.js +10 -6
  12. package/src/lib/design/changed-parts.js.map +1 -1
  13. package/src/lib/design/contact-sheet.d.ts +26 -13
  14. package/src/lib/design/contact-sheet.js +122 -40
  15. package/src/lib/design/contact-sheet.js.map +1 -1
  16. package/src/lib/design/design-command.js +20 -2
  17. package/src/lib/design/design-command.js.map +1 -1
  18. package/src/lib/design/generated-stylesheets.d.ts +15 -0
  19. package/src/lib/design/generated-stylesheets.js +52 -0
  20. package/src/lib/design/generated-stylesheets.js.map +1 -0
  21. package/src/lib/design/inbox-command.d.ts +1 -0
  22. package/src/lib/design/inbox-command.js +15 -0
  23. package/src/lib/design/inbox-command.js.map +1 -1
  24. package/src/lib/design/merge-compare.d.ts +10 -0
  25. package/src/lib/design/merge-compare.js +17 -4
  26. package/src/lib/design/merge-compare.js.map +1 -1
  27. package/src/lib/design/paths.d.ts +11 -0
  28. package/src/lib/design/paths.js.map +1 -1
  29. package/src/lib/design/serve.js +74 -18
  30. package/src/lib/design/serve.js.map +1 -1
  31. package/src/lib/design/shot-command.d.ts +4 -4
  32. package/src/lib/design/shot-command.js +48 -40
  33. package/src/lib/design/shot-command.js.map +1 -1
  34. package/src/lib/design/shot.d.ts +14 -4
  35. package/src/lib/design/shot.js +71 -50
  36. package/src/lib/design/shot.js.map +1 -1
  37. package/src/lib/design/sketch-command.js +55 -24
  38. package/src/lib/design/sketch-command.js.map +1 -1
  39. package/src/lib/design/sketch-stylesheets.d.ts +7 -0
  40. package/src/lib/design/sketch-stylesheets.js +63 -0
  41. package/src/lib/design/sketch-stylesheets.js.map +1 -0
  42. package/src/lib/design/studio-api.d.ts +9 -6
  43. package/src/lib/design/studio-api.js +50 -16
  44. package/src/lib/design/studio-api.js.map +1 -1
  45. package/src/lib/design/system/check-system.js +8 -0
  46. package/src/lib/design/system/check-system.js.map +1 -1
  47. package/src/lib/design/system/comments/comment.d.ts +17 -0
  48. package/src/lib/design/system/comments/comment.js +35 -1
  49. package/src/lib/design/system/comments/comment.js.map +1 -1
  50. package/src/lib/design/system/comments/complete.js +4 -2
  51. package/src/lib/design/system/comments/complete.js.map +1 -1
  52. package/src/lib/design/system/complete-command.d.ts +9 -0
  53. package/src/lib/design/system/complete-command.js +64 -0
  54. package/src/lib/design/system/complete-command.js.map +1 -0
  55. package/src/lib/design/system/complete.d.ts +73 -0
  56. package/src/lib/design/system/complete.js +655 -0
  57. package/src/lib/design/system/complete.js.map +1 -0
  58. package/src/lib/design/system/contrast-check.d.ts +26 -0
  59. package/src/lib/design/system/contrast-check.js +153 -0
  60. package/src/lib/design/system/contrast-check.js.map +1 -0
  61. package/src/lib/design/system/imports.d.ts +28 -3
  62. package/src/lib/design/system/imports.js +84 -7
  63. package/src/lib/design/system/imports.js.map +1 -1
  64. package/src/lib/design/system/list-system.d.ts +11 -0
  65. package/src/lib/design/system/list-system.js +17 -1
  66. package/src/lib/design/system/list-system.js.map +1 -1
  67. package/src/lib/design/system/product-stylesheets.d.ts +3 -0
  68. package/src/lib/design/system/product-stylesheets.js +40 -0
  69. package/src/lib/design/system/product-stylesheets.js.map +1 -0
  70. package/src/lib/design/system/render-check.js +11 -3
  71. package/src/lib/design/system/render-check.js.map +1 -1
  72. package/src/lib/design/system/rules/canonical-class.d.ts +9 -0
  73. package/src/lib/design/system/rules/canonical-class.js +132 -0
  74. package/src/lib/design/system/rules/canonical-class.js.map +1 -0
  75. package/src/lib/design/system/rules/inline-svg.d.ts +7 -0
  76. package/src/lib/design/system/rules/inline-svg.js +28 -0
  77. package/src/lib/design/system/rules/inline-svg.js.map +1 -0
  78. package/src/lib/design/system/rules/motion.d.ts +4 -0
  79. package/src/lib/design/system/rules/motion.js +46 -2
  80. package/src/lib/design/system/rules/motion.js.map +1 -1
  81. package/src/lib/design/system/rules/utility-css.d.ts +11 -0
  82. package/src/lib/design/system/rules/utility-css.js +290 -0
  83. package/src/lib/design/system/rules/utility-css.js.map +1 -0
  84. package/src/lib/design/system/sketch/baseline.d.ts +3 -2
  85. package/src/lib/design/system/sketch/baseline.js +10 -4
  86. package/src/lib/design/system/sketch/baseline.js.map +1 -1
  87. package/src/lib/design/system/sketch/merge-preview.d.ts +4 -2
  88. package/src/lib/design/system/sketch/merge-preview.js +20 -3
  89. package/src/lib/design/system/sketch/merge-preview.js.map +1 -1
  90. package/src/lib/design/system/sketch/merge-shared.d.ts +42 -6
  91. package/src/lib/design/system/sketch/merge-shared.js +122 -24
  92. package/src/lib/design/system/sketch/merge-shared.js.map +1 -1
  93. package/src/lib/design/system/sketch/merge.d.ts +3 -3
  94. package/src/lib/design/system/sketch/merge.js +54 -29
  95. package/src/lib/design/system/sketch/merge.js.map +1 -1
  96. package/src/lib/design/system/sketch/merged-parts.d.ts +7 -0
  97. package/src/lib/design/system/sketch/merged-parts.js +13 -1
  98. package/src/lib/design/system/sketch/merged-parts.js.map +1 -1
  99. package/src/lib/design/system/sketch/no-visible-change.d.ts +4 -3
  100. package/src/lib/design/system/sketch/no-visible-change.js +50 -19
  101. package/src/lib/design/system/sketch/no-visible-change.js.map +1 -1
  102. package/src/lib/design/system/sketch/overlay.js +7 -2
  103. package/src/lib/design/system/sketch/overlay.js.map +1 -1
  104. package/src/lib/design/system/sketch/part-definition.d.ts +12 -0
  105. package/src/lib/design/system/sketch/part-definition.js +40 -1
  106. package/src/lib/design/system/sketch/part-definition.js.map +1 -1
  107. package/src/lib/design/system/sketch/sketch.d.ts +8 -3
  108. package/src/lib/design/system/sketch/sketch.js +76 -34
  109. package/src/lib/design/system/sketch/sketch.js.map +1 -1
  110. package/src/lib/design/system/sketch/unchanged-states.d.ts +10 -4
  111. package/src/lib/design/system/sketch/unchanged-states.js +37 -23
  112. package/src/lib/design/system/sketch/unchanged-states.js.map +1 -1
  113. package/src/lib/design/system/system-modules.d.ts +5 -1
  114. package/src/lib/design/system/system-modules.js +26 -8
  115. package/src/lib/design/system/system-modules.js.map +1 -1
  116. package/src/lib/design/system/system-tsconfig.js +2 -1
  117. package/src/lib/design/system/system-tsconfig.js.map +1 -1
  118. package/src/lib/design/thumb.d.ts +6 -2
  119. package/src/lib/design/thumb.js +36 -15
  120. package/src/lib/design/thumb.js.map +1 -1
  121. package/src/lib/design/variant-diff.d.ts +12 -10
  122. package/src/lib/design/variant-diff.js +14 -13
  123. package/src/lib/design/variant-diff.js.map +1 -1
  124. package/src/lib/design/warm-pages.d.ts +20 -0
  125. package/src/lib/design/warm-pages.js +78 -0
  126. package/src/lib/design/warm-pages.js.map +1 -0
  127. package/src/lib/update/commits.d.ts +9 -0
  128. package/src/lib/update/commits.js +15 -1
  129. package/src/lib/update/commits.js.map +1 -1
  130. package/src/lib/update/migration-manifest.d.ts +6 -0
  131. package/src/lib/update/migration-manifest.js +7 -0
  132. package/src/lib/update/migration-manifest.js.map +1 -1
  133. package/src/lib/update/migrations-command.js +1 -0
  134. package/src/lib/update/migrations-command.js.map +1 -1
  135. package/src/lib/update/run-migrations.d.ts +22 -0
  136. package/src/lib/update/run-migrations.js +60 -1
  137. package/src/lib/update/run-migrations.js.map +1 -1
  138. package/src/lib/update/update-command.d.ts +10 -0
  139. package/src/lib/update/update-command.js +28 -2
  140. package/src/lib/update/update-command.js.map +1 -1
@@ -0,0 +1,40 @@
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.productStylesheetFilesOf = void 0;
7
+ const fs_1 = require("fs");
8
+ const path_1 = require("path");
9
+ const postcss_1 = __importDefault(require("postcss"));
10
+ const importedFilesOf = (file) => {
11
+ const files = [];
12
+ try {
13
+ postcss_1.default.parse((0, fs_1.readFileSync)(file, 'utf8')).walkAtRules('import', (rule) => {
14
+ var _a;
15
+ const specifier = (_a = /^(?:url\(\s*)?['"]?([^'"\s)]+)/u.exec(rule.params.trim())) === null || _a === void 0 ? void 0 : _a[1];
16
+ if (specifier === null || specifier === void 0 ? void 0 : specifier.startsWith('.'))
17
+ files.push((0, path_1.resolve)((0, path_1.dirname)(file), specifier));
18
+ });
19
+ }
20
+ catch (_a) {
21
+ return [];
22
+ }
23
+ return files;
24
+ };
25
+ /** The product's stylesheets and every file they reach through a relative `@import`, each resolved. */
26
+ const productStylesheetFilesOf = (source) => {
27
+ var _a;
28
+ const root = (0, path_1.resolve)((0, path_1.dirname)(source.configFile), '../..');
29
+ const queue = ((_a = source.config.styles) !== null && _a !== void 0 ? _a : []).map((style) => (0, path_1.resolve)(root, style));
30
+ const seen = new Set();
31
+ for (let file = queue.shift(); file !== undefined; file = queue.shift()) {
32
+ if (seen.has(file) || !(0, fs_1.existsSync)(file))
33
+ continue;
34
+ seen.add(file);
35
+ queue.push(...importedFilesOf(file));
36
+ }
37
+ return seen;
38
+ };
39
+ exports.productStylesheetFilesOf = productStylesheetFilesOf;
40
+ //# sourceMappingURL=product-stylesheets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-stylesheets.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/product-stylesheets.ts"],"names":[],"mappings":";;;;;;AAAA,2BAA8C;AAC9C,+BAAwC;AACxC,sDAA8B;AAG9B,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,EAAE;IACvC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,CAAC;QACH,iBAAO,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;;YACvE,MAAM,SAAS,GAAG,MAAA,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,0CAAG,CAAC,CAAC,CAAC;YAElF,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,CAAC,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAA,cAAO,EAAC,IAAA,cAAO,EAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,uGAAuG;AAChG,MAAM,wBAAwB,GAAG,CAAC,MAAqB,EAAE,EAAE;;IAChE,MAAM,IAAI,GAAG,IAAA,cAAO,EAAC,IAAA,cAAO,EAAC,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,CAAC,MAAA,MAAM,CAAC,MAAM,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,cAAO,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAChF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,KAAK,SAAS,EAAE,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QACxE,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC;YAAE,SAAS;QAElD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAbW,QAAA,wBAAwB,4BAanC"}
@@ -11,6 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.renderIssuesOf = exports.renderIssueLineOf = void 0;
13
13
  const browser_1 = require("../browser");
14
+ const contrast_check_1 = require("./contrast-check");
14
15
  const css_source_1 = require("./css-source");
15
16
  const serve_1 = require("../serve");
16
17
  const shot_1 = require("../shot");
@@ -249,7 +250,7 @@ const inspectFrame = (options) => `((options) => {
249
250
  report('WRAP', block, '"' + (text.length > 32 ? text.slice(0, 31) + '…' : text) + '" breaks onto ' + lines.length + ' lines');
250
251
  }
251
252
  }
252
-
253
+ ${contrast_check_1.CONTRAST_STATEMENTS}
253
254
  return found;
254
255
  })(${JSON.stringify(Object.assign(Object.assign({}, options), { escapable: ESCAPABLE }))})`;
255
256
  const stringsOf = (value) => Array.isArray(value) ? value.filter((entry) => typeof entry === 'string') : [];
@@ -290,6 +291,7 @@ const inspect = (options) => __awaiter(void 0, void 0, void 0, function* () {
290
291
  fit: frame.fit,
291
292
  skips: frame.skips,
292
293
  namespaces: frame.namespaces,
294
+ contrast: frame.contrast,
293
295
  })));
294
296
  const { product, part, state, sketch } = frame.address;
295
297
  issues.push(...found.map((issue) => (Object.assign(Object.assign({}, issue), { product, part, state, sketch, size: frame.size }))));
@@ -306,7 +308,7 @@ const inspect = (options) => __awaiter(void 0, void 0, void 0, function* () {
306
308
  * its content. Answers the rule breaks it finds, or why it could not draw.
307
309
  */
308
310
  const renderIssuesOf = (options) => __awaiter(void 0, void 0, void 0, function* () {
309
- var _a, _b, _c, _d, _e;
311
+ var _a, _b, _c, _d, _e, _f, _g;
310
312
  const { target, config, jobs } = options;
311
313
  const resolveChromium = (_a = options.chromiumOf) !== null && _a !== void 0 ? _a : browser_1.chromiumOf;
312
314
  if (jobs.length === 0)
@@ -370,12 +372,16 @@ const renderIssuesOf = (options) => __awaiter(void 0, void 0, void 0, function*
370
372
  sketch,
371
373
  }));
372
374
  }
375
+ const exceptions = (0, contrast_check_1.contrastExceptionsOf)((_e = definition === null || definition === void 0 ? void 0 : definition.contrast) === null || _e === void 0 ? void 0 : _e.exceptions);
376
+ const pairs = (0, contrast_check_1.contrastPairsOf)((_f = definition === null || definition === void 0 ? void 0 : definition.contrast) === null || _f === void 0 ? void 0 : _f.pairs);
377
+ exceptions.problems.forEach((detail) => issues.push({ rule: 'CONTRAST', product, part: key, state: '-', size: '-', path: '-', detail, sketch }));
373
378
  const widths = widthsOf(definition === null || definition === void 0 ? void 0 : definition.widths);
374
379
  const sizes = part.layer === 'pages'
375
380
  ? Object.keys(drawn.presets).map((preset) => ({ preset, width: null }))
376
381
  : widths.length > 0
377
382
  ? widths.map((width) => ({ preset: null, width }))
378
383
  : [{ preset: null, width: null }];
384
+ let measuresPairs = true;
379
385
  for (const state of states) {
380
386
  for (const { preset, width } of sizes) {
381
387
  const address = { product, part: key, state, preset, width, sketch, interaction: null };
@@ -387,11 +393,13 @@ const renderIssuesOf = (options) => __awaiter(void 0, void 0, void 0, function*
387
393
  size: preset !== null && preset !== void 0 ? preset : (width ? `${width}px` : 'fitted'),
388
394
  search: frame.search.toString(),
389
395
  viewport: (0, shot_1.viewportOf)(frame.size),
390
- fixed: ((_e = frame.size) === null || _e === void 0 ? void 0 : _e.height) !== undefined,
396
+ fixed: ((_g = frame.size) === null || _g === void 0 ? void 0 : _g.height) !== undefined,
391
397
  fit: frame.size === null,
392
398
  skips,
393
399
  namespaces,
400
+ contrast: { exceptions: exceptions.selectors, pairs: measuresPairs ? pairs : [] },
394
401
  });
402
+ measuresPairs = false;
395
403
  }
396
404
  }
397
405
  }
@@ -1 +1 @@
1
- {"version":3,"file":"render-check.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/render-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-check.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/render-check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { SharedDirs } from '../imports';
2
+ import { Problem } from '../problem';
3
+ import { ResolvedProduct } from '../resolve-product';
4
+ /**
5
+ * A Tailwind class in the markup of a part that has a canonical form under the product's stylesheets, as
6
+ * Tailwind IntelliSense reports it: `w-[420px]` that can be written as `w-2xl`. The root font size the
7
+ * stylesheets set on `html` is the rem base.
8
+ */
9
+ export declare const canonicalClassesOf: (product: ResolvedProduct & SharedDirs) => Problem[];
@@ -0,0 +1,132 @@
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.canonicalClassesOf = void 0;
7
+ const child_process_1 = require("child_process");
8
+ const fs_1 = require("fs");
9
+ const path_1 = require("path");
10
+ const postcss_1 = __importDefault(require("postcss"));
11
+ const imports_1 = require("../imports");
12
+ const ts_source_1 = require("../ts-source");
13
+ const CANONICALIZE = `
14
+ const { __unstable__loadDesignSystem } = require(process.argv[1]);
15
+ const { css, base, rem, candidates } = JSON.parse(require('fs').readFileSync(0, 'utf8'));
16
+ __unstable__loadDesignSystem(css, { base })
17
+ .then((system) => process.stdout.write(JSON.stringify(candidates.map((c) => system.canonicalizeCandidates([c], { rem }).join(' ')))))
18
+ .catch((error) => { process.stderr.write(String(error && error.message || error)); process.exit(1); });
19
+ `;
20
+ const DEFAULT_REM = 16;
21
+ const stylesheetsOf = (product) => {
22
+ var _a;
23
+ const source = [product, product.base].find((each) => { var _a; return !!((_a = each === null || each === void 0 ? void 0 : each.config.styles) === null || _a === void 0 ? void 0 : _a.length); });
24
+ if (!source)
25
+ return [];
26
+ const root = (0, path_1.resolve)((0, path_1.dirname)(source.configFile), '../..');
27
+ return ((_a = source.config.styles) !== null && _a !== void 0 ? _a : []).map((style) => (0, path_1.resolve)(root, style));
28
+ };
29
+ const remOf = (stylesheets) => {
30
+ const queue = [...stylesheets];
31
+ const seen = new Set();
32
+ let rem = DEFAULT_REM;
33
+ for (let file = queue.shift(); file !== undefined; file = queue.shift()) {
34
+ if (seen.has(file) || !(0, fs_1.existsSync)(file))
35
+ continue;
36
+ seen.add(file);
37
+ try {
38
+ const root = postcss_1.default.parse((0, fs_1.readFileSync)(file, 'utf8'));
39
+ root.walkAtRules('import', (rule) => {
40
+ var _a;
41
+ const specifier = (_a = /^(?:url\(\s*)?['"]?([^'"\s)]+)/u.exec(rule.params.trim())) === null || _a === void 0 ? void 0 : _a[1];
42
+ if (specifier === null || specifier === void 0 ? void 0 : specifier.startsWith('.'))
43
+ queue.push((0, path_1.resolve)((0, path_1.dirname)(file), specifier));
44
+ });
45
+ root.walkRules(/^(?:html|:root)$/u, (rule) => rule.walkDecls('font-size', (declaration) => {
46
+ var _a;
47
+ const [, amount, unit] = (_a = /^(\d*\.?\d+)(%|px)$/u.exec(declaration.value.trim())) !== null && _a !== void 0 ? _a : [];
48
+ if (amount)
49
+ rem = unit === '%' ? (DEFAULT_REM * Number(amount)) / 100 : Number(amount);
50
+ }));
51
+ }
52
+ catch (_a) {
53
+ continue;
54
+ }
55
+ }
56
+ return rem;
57
+ };
58
+ const candidatesIn = (texts) => texts.flatMap((text) => text.split(/[\s"'`<>]+/u).filter(Boolean));
59
+ const tsSourcesIn = (dir) => (0, fs_1.existsSync)(dir)
60
+ ? (0, fs_1.readdirSync)(dir, { recursive: true })
61
+ .filter((path) => path.endsWith('.ts') && !path.endsWith('.d.ts') && !path.endsWith('.spec.ts'))
62
+ .map((path) => (0, path_1.resolve)(dir, path))
63
+ .map((file) => ({ file, source: (0, fs_1.readFileSync)(file, 'utf8') }))
64
+ : [];
65
+ const sourcesOf = (part) => [
66
+ { file: part.file, source: part.source },
67
+ ...tsSourcesIn((0, path_1.dirname)(part.file)).filter(({ file }) => file !== part.file),
68
+ ];
69
+ const canonicalCache = new Map();
70
+ const canonicalFormsOf = (options) => {
71
+ var _a;
72
+ const key = `${options.rem}\n${options.css}`;
73
+ const known = (_a = canonicalCache.get(key)) !== null && _a !== void 0 ? _a : new Map();
74
+ const missing = [...new Set(options.candidates)].filter((candidate) => !known.has(candidate));
75
+ canonicalCache.set(key, known);
76
+ if (missing.length > 0) {
77
+ const tailwind = require.resolve('@tailwindcss/node', { paths: [options.target, __dirname] });
78
+ const output = (0, child_process_1.execFileSync)(process.execPath, ['-e', CANONICALIZE, tailwind], {
79
+ input: JSON.stringify({ css: options.css, base: options.target, rem: options.rem, candidates: missing }),
80
+ encoding: 'utf8',
81
+ maxBuffer: 1 << 28,
82
+ stdio: ['pipe', 'pipe', 'pipe'],
83
+ });
84
+ const forms = JSON.parse(output);
85
+ missing.forEach((candidate, index) => { var _a; return known.set(candidate, (_a = forms[index]) !== null && _a !== void 0 ? _a : candidate); });
86
+ }
87
+ return known;
88
+ };
89
+ /**
90
+ * A Tailwind class in the markup of a part that has a canonical form under the product's stylesheets, as
91
+ * Tailwind IntelliSense reports it: `w-[420px]` that can be written as `w-2xl`. The root font size the
92
+ * stylesheets set on `html` is the rem base.
93
+ */
94
+ const canonicalClassesOf = (product) => {
95
+ var _a, _b;
96
+ const stylesheets = stylesheetsOf(product);
97
+ if (stylesheets.length === 0)
98
+ return [];
99
+ const target = (0, path_1.resolve)((0, path_1.dirname)(product.configFile), '../..');
100
+ const below = product.parts.filter((part) => part.origin !== 'base').flatMap(sourcesOf);
101
+ const shared = (0, imports_1.ownSharedFilesOf)(product, below.map(({ file }) => file))
102
+ .filter((file) => file.endsWith('.ts'))
103
+ .map((file) => ({ file, source: (0, fs_1.readFileSync)(file, 'utf8') }));
104
+ const files = [...new Map([...below, ...shared].map((entry) => [entry.file, entry])).values()].sort((a, b) => a.file.localeCompare(b.file));
105
+ const candidatesOf = new Map(files.map(({ file, source }) => [file, [...new Set(candidatesIn((0, ts_source_1.textsOf)(source)))]]));
106
+ const css = stylesheets.map((file) => `@import ${JSON.stringify(file)};`).join('\n');
107
+ let forms;
108
+ try {
109
+ forms = canonicalFormsOf({ target, css, rem: remOf(stylesheets), candidates: [...candidatesOf.values()].flat() });
110
+ }
111
+ catch (error) {
112
+ const reason = ((_a = error.stderr) === null || _a === void 0 ? void 0 : _a.trim()) || error.message;
113
+ return [
114
+ {
115
+ rule: 'CANONICAL-CLASS',
116
+ file: (_b = stylesheets[0]) !== null && _b !== void 0 ? _b : product.dir,
117
+ message: `no Tailwind design system - ${reason}`,
118
+ },
119
+ ];
120
+ }
121
+ return files.flatMap(({ file }) => {
122
+ var _a;
123
+ return ((_a = candidatesOf.get(file)) !== null && _a !== void 0 ? _a : []).flatMap((candidate) => {
124
+ const canonical = forms.get(candidate);
125
+ return canonical && canonical !== candidate
126
+ ? [{ rule: 'CANONICAL-CLASS', file, message: `The class \`${candidate}\` can be written as \`${canonical}\`` }]
127
+ : [];
128
+ });
129
+ });
130
+ };
131
+ exports.canonicalClassesOf = canonicalClassesOf;
132
+ //# sourceMappingURL=canonical-class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical-class.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/rules/canonical-class.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Problem } from '../problem';
2
+ import { ResolvedProduct } from '../resolve-product';
3
+ /**
4
+ * An `<svg>` written in the TS of a part outside foundations, or in a TS file below the part's folder. An `<svg>` that
5
+ * the code computes, for example the edges of a flow diagram, passes with a `data-et-drawing` attribute.
6
+ */
7
+ export declare const inlineSvgsOf: (product: ResolvedProduct) => Problem[];
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.inlineSvgsOf = void 0;
4
+ const fs_1 = require("fs");
5
+ const path_1 = require("path");
6
+ const SVG_TAG = /<svg\b[^>]*>/gu;
7
+ const DRAWING = /\sdata-et-drawing\b/u;
8
+ const tsFilesIn = (dir) => (0, fs_1.existsSync)(dir)
9
+ ? (0, fs_1.readdirSync)(dir, { recursive: true })
10
+ .filter((path) => path.endsWith('.ts') && !path.endsWith('.d.ts'))
11
+ .map((path) => (0, path_1.resolve)(dir, path))
12
+ .sort()
13
+ : [];
14
+ /**
15
+ * An `<svg>` written in the TS of a part outside foundations, or in a TS file below the part's folder. An `<svg>` that
16
+ * the code computes, for example the edges of a flow diagram, passes with a `data-et-drawing` attribute.
17
+ */
18
+ const inlineSvgsOf = (product) => [
19
+ ...new Set(product.parts.filter((part) => part.layer !== 'foundations').flatMap((part) => tsFilesIn((0, path_1.dirname)(part.file)))),
20
+ ]
21
+ .filter((file) => [...(0, fs_1.readFileSync)(file, 'utf8').matchAll(SVG_TAG)].some(([tag]) => !DRAWING.test(tag)))
22
+ .map((file) => ({
23
+ rule: 'INLINE-SVG',
24
+ file,
25
+ message: 'draws an <svg> inline - put it in assets/ and draw it with a helper of a foundations part, or mark a computed drawing with data-et-drawing',
26
+ }));
27
+ exports.inlineSvgsOf = inlineSvgsOf;
28
+ //# sourceMappingURL=inline-svg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-svg.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/rules/inline-svg.ts"],"names":[],"mappings":";;;AAAA,2BAA2D;AAC3D,+BAAwC;AAIxC,MAAM,OAAO,GAAG,gBAAgB,CAAC;AACjC,MAAM,OAAO,GAAG,sBAAsB,CAAC;AAEvC,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE,CAChC,IAAA,eAAU,EAAC,GAAG,CAAC;IACb,CAAC,CAAE,IAAA,gBAAW,EAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAc;SAChD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SACjE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,cAAO,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SACjC,IAAI,EAAE;IACX,CAAC,CAAC,EAAE,CAAC;AAET;;;GAGG;AACI,MAAM,YAAY,GAAG,CAAC,OAAwB,EAAa,EAAE,CAClE;IACE,GAAG,IAAI,GAAG,CACR,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAA,cAAO,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAC9G;CACF;KACE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAA,iBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;KACvG,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACd,IAAI,EAAE,YAAY;IAClB,IAAI;IACJ,OAAO,EACL,4IAA4I;CAC/I,CAAC,CAAC,CAAC;AAZK,QAAA,YAAY,gBAYjB"}
@@ -2,3 +2,7 @@ import { Problem } from '../problem';
2
2
  import { ResolvedProduct } from '../resolve-product';
3
3
  /** A part that drives motion from script frames, which a timeline cannot stop at a given time. */
4
4
  export declare const scriptedMotionOf: (product: ResolvedProduct) => Problem[];
5
+ /** A part whose motion runs between a state it does not have, or whose rule names a motion it does not declare. */
6
+ export declare const badMotionsOf: (product: ResolvedProduct) => Problem[];
7
+ /** A literal duration, delay or easing in a transition or animation of a part outside foundations, in its CSS or in the CSS of its TS. */
8
+ export declare const hardCodedMotionOf: (product: ResolvedProduct) => Problem[];
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.scriptedMotionOf = void 0;
3
+ exports.hardCodedMotionOf = exports.badMotionsOf = exports.scriptedMotionOf = void 0;
4
+ const css_source_1 = require("../css-source");
5
+ const part_definition_1 = require("../sketch/part-definition");
4
6
  const ts_source_1 = require("../ts-source");
5
- const TIMED = ['requestAnimationFrame', 'setInterval'];
7
+ const TIMED = ['requestAnimationFrame', 'setInterval', 'setTimeout'];
6
8
  /** A part that drives motion from script frames, which a timeline cannot stop at a given time. */
7
9
  const scriptedMotionOf = (product) => product.parts.flatMap((part) => [...new Set((0, ts_source_1.calledNamesOf)(part.source).filter((name) => TIMED.includes(name)))].map((name) => ({
8
10
  rule: 'MOTION',
@@ -10,4 +12,46 @@ const scriptedMotionOf = (product) => product.parts.flatMap((part) => [...new Se
10
12
  message: `calls ${name} - motion must be CSS animation, CSS transition or the Web Animations API`,
11
13
  })));
12
14
  exports.scriptedMotionOf = scriptedMotionOf;
15
+ /** A part whose motion runs between a state it does not have, or whose rule names a motion it does not declare. */
16
+ const badMotionsOf = (product) => product.parts.flatMap((part) => {
17
+ const states = (0, part_definition_1.stateNamesOf)(part.source);
18
+ const { motions, ruleMotions } = (0, part_definition_1.motionRefsOf)(part.source);
19
+ const problem = (rule, message) => ({ rule, file: part.file, message });
20
+ return [
21
+ ...(states
22
+ ? motions.flatMap(({ name, from, to }) => [from, to].flatMap((state) => state !== null && !states.includes(state)
23
+ ? [
24
+ problem('MOTION-STATE', `motion "${name}" runs to or from "${state}", which is no state of the part`),
25
+ ]
26
+ : []))
27
+ : []),
28
+ ...ruleMotions.flatMap((name) => motions.some((motion) => motion.name === name)
29
+ ? []
30
+ : [problem('MOTION-NAME', `a rule names motion "${name}", which the part does not declare`)]),
31
+ ];
32
+ });
33
+ exports.badMotionsOf = badMotionsOf;
34
+ const TIMING = /^(transition|animation)(-duration|-delay|-timing-function)?$/;
35
+ const LITERAL = /(?<![\w-])(?:(?:\d*\.?\d+m?s|ease(?:-in|-out|-in-out)?|linear|step-start|step-end)(?![\w(-])|(?:cubic-bezier|steps|linear)\()/g;
36
+ const literalTimingsOf = (css) => (0, css_source_1.cssBlocksOf)(css).declarations.flatMap((declaration) => {
37
+ var _a;
38
+ const property = declaration.slice(0, declaration.indexOf(':')).trim();
39
+ if (!TIMING.test(property))
40
+ return [];
41
+ const value = ((_a = (0, css_source_1.declarationValueOf)(declaration)) !== null && _a !== void 0 ? _a : '').replace(/--[\w-]+/g, '');
42
+ return [...value.matchAll(LITERAL)].map(([literal]) => `${property}: ${literal.replace(/\($/, '(…)')}`);
43
+ });
44
+ const timingProblemsOf = (file, literals) => [...new Set(literals)].map((literal) => ({
45
+ rule: 'HARD-CODED-MOTION',
46
+ file,
47
+ message: `${literal} outside foundations - use a foundations motion token`,
48
+ }));
49
+ /** A literal duration, delay or easing in a transition or animation of a part outside foundations, in its CSS or in the CSS of its TS. */
50
+ const hardCodedMotionOf = (product) => product.parts
51
+ .filter((part) => part.layer !== 'foundations')
52
+ .flatMap((part) => [
53
+ ...timingProblemsOf(part.file, (0, ts_source_1.textsOf)(part.source).flatMap(literalTimingsOf)),
54
+ ...(part.css && part.cssSource ? timingProblemsOf(part.css, literalTimingsOf(part.cssSource)) : []),
55
+ ]);
56
+ exports.hardCodedMotionOf = hardCodedMotionOf;
13
57
  //# sourceMappingURL=motion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"motion.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/rules/motion.ts"],"names":[],"mappings":";;;AAEA,4CAA6C;AAE7C,MAAM,KAAK,GAAG,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC;AAEvD,kGAAkG;AAC3F,MAAM,gBAAgB,GAAG,CAAC,OAAwB,EAAa,EAAE,CACtE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC7B,CAAC,GAAG,IAAI,GAAG,CAAC,IAAA,yBAAa,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC7F,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,OAAO,EAAE,SAAS,IAAI,2EAA2E;CAClG,CAAC,CAAC,CACJ,CAAC;AAPS,QAAA,gBAAgB,oBAOzB"}
1
+ {"version":3,"file":"motion.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/rules/motion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { SharedDirs } from '../imports';
2
+ import { Problem } from '../problem';
3
+ import { ResolvedProduct } from '../resolve-product';
4
+ /**
5
+ * A declaration that a Tailwind utility of the product draws, in a CSS file below the folder of a part outside
6
+ * foundations or in the CSS of a TS file there: a core layout keyword such as `display: flex`, or a value of a
7
+ * spacing, colour, type, radius or shadow token that a `@theme` block of the product's stylesheets registers. A rule
8
+ * whose selectors all end on an SDK `.et-*` element passes: the part's markup cannot put a utility there. A product
9
+ * whose stylesheets import no `tailwindcss` has no utilities, so nothing is flagged.
10
+ */
11
+ export declare const utilityCssOf: (product: ResolvedProduct & SharedDirs) => Problem[];