@ethlete/cli 3.0.0-next.18 → 3.0.0-next.19

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 (107) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/design/css-inline.d.ts +4 -0
  3. package/design/define-call.ts +228 -3
  4. package/design/web/env.d.ts +2 -1
  5. package/design/web/frame.ts +51 -6
  6. package/package.json +27 -3
  7. package/src/index.js +26 -4
  8. package/src/index.js.map +1 -1
  9. package/src/lib/api/clear.js +10 -2
  10. package/src/lib/api/clear.js.map +1 -1
  11. package/src/lib/api/index.js +33 -20
  12. package/src/lib/api/index.js.map +1 -1
  13. package/src/lib/api/lock.js +11 -3
  14. package/src/lib/api/lock.js.map +1 -1
  15. package/src/lib/api/ports.js +12 -4
  16. package/src/lib/api/ports.js.map +1 -1
  17. package/src/lib/api/run-locked.js +10 -2
  18. package/src/lib/api/run-locked.js.map +1 -1
  19. package/src/lib/api/run-ready.js +12 -4
  20. package/src/lib/api/run-ready.js.map +1 -1
  21. package/src/lib/api/run-snapshot.js +10 -2
  22. package/src/lib/api/run-snapshot.js.map +1 -1
  23. package/src/lib/api/run.js +13 -5
  24. package/src/lib/api/run.js.map +1 -1
  25. package/src/lib/api/snapshot.js +13 -5
  26. package/src/lib/api/snapshot.js.map +1 -1
  27. package/src/lib/auth/auth-command.js +10 -2
  28. package/src/lib/auth/auth-command.js.map +1 -1
  29. package/src/lib/auth/gitlab-token.js +12 -4
  30. package/src/lib/auth/gitlab-token.js.map +1 -1
  31. package/src/lib/auth/index.js +18 -5
  32. package/src/lib/auth/index.js.map +1 -1
  33. package/src/lib/config/index.js +16 -3
  34. package/src/lib/config/index.js.map +1 -1
  35. package/src/lib/design/browser.d.ts +9 -0
  36. package/src/lib/design/browser.js +37 -0
  37. package/src/lib/design/browser.js.map +1 -0
  38. package/src/lib/design/calls-tsconfig.js +6 -2
  39. package/src/lib/design/calls-tsconfig.js.map +1 -1
  40. package/src/lib/design/check.d.ts +2 -1
  41. package/src/lib/design/check.js +151 -69
  42. package/src/lib/design/check.js.map +1 -1
  43. package/src/lib/design/design-command.d.ts +1 -1
  44. package/src/lib/design/design-command.js +58 -3
  45. package/src/lib/design/design-command.js.map +1 -1
  46. package/src/lib/design/index.js +19 -6
  47. package/src/lib/design/index.js.map +1 -1
  48. package/src/lib/design/legacy.d.ts +9 -0
  49. package/src/lib/design/legacy.js +52 -0
  50. package/src/lib/design/legacy.js.map +1 -0
  51. package/src/lib/design/missing-package.d.ts +2 -0
  52. package/src/lib/design/missing-package.js +15 -0
  53. package/src/lib/design/missing-package.js.map +1 -0
  54. package/src/lib/design/new-call.d.ts +11 -0
  55. package/src/lib/design/new-call.js +124 -0
  56. package/src/lib/design/new-call.js.map +1 -0
  57. package/src/lib/design/paths.d.ts +23 -2
  58. package/src/lib/design/paths.js +1 -1
  59. package/src/lib/design/paths.js.map +1 -1
  60. package/src/lib/design/render-fields.d.ts +29 -0
  61. package/src/lib/design/render-fields.js +31 -0
  62. package/src/lib/design/render-fields.js.map +1 -0
  63. package/src/lib/design/render-packages.d.ts +69 -0
  64. package/src/lib/design/render-packages.js +168 -0
  65. package/src/lib/design/render-packages.js.map +1 -0
  66. package/src/lib/design/render-worker.d.ts +1 -0
  67. package/src/lib/design/render-worker.js +149 -0
  68. package/src/lib/design/render-worker.js.map +1 -0
  69. package/src/lib/design/render.d.ts +23 -0
  70. package/src/lib/design/render.js +119 -0
  71. package/src/lib/design/render.js.map +1 -0
  72. package/src/lib/design/serve.d.ts +1 -1
  73. package/src/lib/design/serve.js +49 -12
  74. package/src/lib/design/serve.js.map +1 -1
  75. package/src/lib/design/ssr-shims.d.ts +10 -0
  76. package/src/lib/design/ssr-shims.js +128 -0
  77. package/src/lib/design/ssr-shims.js.map +1 -0
  78. package/src/lib/design/stamp.d.ts +16 -0
  79. package/src/lib/design/stamp.js +77 -0
  80. package/src/lib/design/stamp.js.map +1 -0
  81. package/src/lib/design/status.d.ts +33 -0
  82. package/src/lib/design/status.js +58 -0
  83. package/src/lib/design/status.js.map +1 -0
  84. package/src/lib/design/system-use.d.ts +23 -0
  85. package/src/lib/design/system-use.js +61 -0
  86. package/src/lib/design/system-use.js.map +1 -0
  87. package/src/lib/doctor/index.js +15 -2
  88. package/src/lib/doctor/index.js.map +1 -1
  89. package/src/lib/index.js +22 -9
  90. package/src/lib/index.js.map +1 -1
  91. package/src/lib/release.js +10 -2
  92. package/src/lib/release.js.map +1 -1
  93. package/src/lib/update/agent-setup.js +11 -3
  94. package/src/lib/update/agent-setup.js.map +1 -1
  95. package/src/lib/update/ai.js +13 -5
  96. package/src/lib/update/ai.js.map +1 -1
  97. package/src/lib/update/index.js +32 -19
  98. package/src/lib/update/index.js.map +1 -1
  99. package/src/lib/update/registry.js +10 -2
  100. package/src/lib/update/registry.js.map +1 -1
  101. package/src/lib/update/update-command.js +16 -8
  102. package/src/lib/update/update-command.js.map +1 -1
  103. package/src/lib/utils.js +11 -3
  104. package/src/lib/utils.js.map +1 -1
  105. package/design/web/host.css +0 -494
  106. package/design/web/host.ts +0 -445
  107. package/design/web/index.html +0 -11
@@ -1,9 +1,17 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.checkGitCloneAccess = exports.describeGitlabToken = void 0;
4
- const tslib_1 = require("tslib");
5
13
  const TIMEOUT_MS = 10000;
6
- const request = (options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
14
+ const request = (options) => __awaiter(void 0, void 0, void 0, function* () {
7
15
  const { url, headers } = options;
8
16
  try {
9
17
  const response = yield fetch(url, { headers, redirect: 'error', signal: AbortSignal.timeout(TIMEOUT_MS) });
@@ -17,7 +25,7 @@ const request = (options) => tslib_1.__awaiter(void 0, void 0, void 0, function*
17
25
  * Asks GitLab what the token is. A project or group access token answers 403 here, and so does a
18
26
  * token without an api scope, so only 401 proves the token itself is wrong.
19
27
  */
20
- const describeGitlabToken = (options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
28
+ const describeGitlabToken = (options) => __awaiter(void 0, void 0, void 0, function* () {
21
29
  const { host, token } = options;
22
30
  const result = yield request({
23
31
  url: `https://${host}/api/v4/personal_access_tokens/self`,
@@ -47,7 +55,7 @@ exports.describeGitlabToken = describeGitlabToken;
47
55
  * request `git clone` over https makes, so it proves the token can fetch code and needs no api scope,
48
56
  * which a project access token does not have.
49
57
  */
50
- const checkGitCloneAccess = (options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
58
+ const checkGitCloneAccess = (options) => __awaiter(void 0, void 0, void 0, function* () {
51
59
  var _a;
52
60
  const { host, projectPath, token } = options;
53
61
  const result = yield request({
@@ -1 +1 @@
1
- {"version":3,"file":"gitlab-token.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/auth/gitlab-token.ts"],"names":[],"mappings":";;;;AAAA,MAAM,UAAU,GAAG,KAAM,CAAC;AAI1B,MAAM,OAAO,GAAG,CAAO,OAAyD,EAA0B,EAAE;IAC1G,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEjC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAE3G,OAAO,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5E,CAAC;AACH,CAAC,CAAA,CAAC;AAQF;;;GAGG;AACI,MAAM,mBAAmB,GAAG,CAAO,OAAwC,EAAuB,EAAE;IACzG,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAChC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;QAC3B,GAAG,EAAE,WAAW,IAAI,qCAAqC;QACzD,OAAO,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE;KACpC,CAAC,CAAC;IAEH,IAAI,QAAQ,IAAI,MAAM;QAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAC/E,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IACrE,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IAEpE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,aAAa,MAAM,CAAC,QAAQ,CAAC,MAAM,wBAAwB,EAAE,CAAC;IAC9G,CAAC;IAED,MAAM,IAAI,GAAY,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAE,IAAgC,CAAC,CAAC,CAAC,EAAE,CAAC;IAElG,OAAO;QACL,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACrE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;QAC3E,SAAS,EAAE,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;KACvF,CAAC;AACJ,CAAC,CAAA,CAAC;AAxBW,QAAA,mBAAmB,uBAwB9B;AASF;;;;GAIG;AACI,MAAM,mBAAmB,GAAG,CAAO,OAIzC,EAAuB,EAAE;;IACxB,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;QAC3B,GAAG,EAAE,WAAW,IAAI,IAAI,WAAW,wCAAwC;QAC3E,OAAO,EAAE,EAAE,aAAa,EAAE,SAAS,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE;KACzF,CAAC,CAAC;IAEH,IAAI,QAAQ,IAAI,MAAM;QAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAE/E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;IAEnC,MAAM,CAAA,MAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,0CAAE,MAAM,EAAE,CAAA,CAAC;IAErC,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IACjD,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IACrD,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAClD,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAEhD,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,aAAa,MAAM,QAAQ,WAAW,GAAG,EAAE,CAAC;AAC5F,CAAC,CAAA,CAAC;AAvBW,QAAA,mBAAmB,uBAuB9B"}
1
+ {"version":3,"file":"gitlab-token.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/auth/gitlab-token.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,21 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./auth-command"), exports);
5
- tslib_1.__exportStar(require("./composer-auth"), exports);
6
- tslib_1.__exportStar(require("./composer-repositories"), exports);
7
- tslib_1.__exportStar(require("./gitlab-token"), exports);
17
+ __exportStar(require("./auth-command"), exports);
18
+ __exportStar(require("./composer-auth"), exports);
19
+ __exportStar(require("./composer-repositories"), exports);
20
+ __exportStar(require("./gitlab-token"), exports);
8
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/auth/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,0DAAgC;AAChC,kEAAwC;AACxC,yDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/auth/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,kDAAgC;AAChC,0DAAwC;AACxC,iDAA+B"}
@@ -1,6 +1,19 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./diagnose"), exports);
5
- tslib_1.__exportStar(require("./local-config"), exports);
17
+ __exportStar(require("./diagnose"), exports);
18
+ __exportStar(require("./local-config"), exports);
6
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/config/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,yDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,iDAA+B"}
@@ -0,0 +1,9 @@
1
+ export type Chromium = typeof import('playwright').chromium;
2
+ /**
3
+ * The headless Chromium the checker drives, from `playwright` or `playwright-core`, looked up in
4
+ * the checkout first and in this package second, with the path it loaded. Null when neither resolves.
5
+ */
6
+ export declare const chromiumOf: (target: string) => Promise<{
7
+ chromium: Chromium;
8
+ from: string;
9
+ } | null>;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.chromiumOf = void 0;
13
+ const url_1 = require("url");
14
+ const BROWSER_PACKAGES = ['playwright', 'playwright-core'];
15
+ /**
16
+ * The headless Chromium the checker drives, from `playwright` or `playwright-core`, looked up in
17
+ * the checkout first and in this package second, with the path it loaded. Null when neither resolves.
18
+ */
19
+ const chromiumOf = (target) => __awaiter(void 0, void 0, void 0, function* () {
20
+ var _a, _b;
21
+ for (const name of BROWSER_PACKAGES) {
22
+ let path;
23
+ try {
24
+ path = require.resolve(name, { paths: [target, __dirname] });
25
+ }
26
+ catch (_c) {
27
+ continue;
28
+ }
29
+ const loaded = (yield import((0, url_1.pathToFileURL)(path).href));
30
+ const chromium = (_a = loaded.chromium) !== null && _a !== void 0 ? _a : (_b = loaded.default) === null || _b === void 0 ? void 0 : _b.chromium;
31
+ if (chromium)
32
+ return { chromium, from: path };
33
+ }
34
+ return null;
35
+ });
36
+ exports.chromiumOf = chromiumOf;
37
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/browser.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6BAAoC;AAIpC,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;AAE3D;;;GAGG;AACI,MAAM,UAAU,GAAG,CAAO,MAAc,EAAwD,EAAE;;IACvG,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;QACpC,IAAI,IAAY,CAAC;QAEjB,IAAI,CAAC;YACH,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;QAAC,WAAM,CAAC;YACP,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,IAAA,mBAAa,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAGrD,CAAC;QACF,MAAM,QAAQ,GAAG,MAAA,MAAM,CAAC,QAAQ,mCAAI,MAAA,MAAM,CAAC,OAAO,0CAAE,QAAQ,CAAC;QAE7D,IAAI,QAAQ;YAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAA,CAAC;AApBW,QAAA,UAAU,cAoBrB"}
@@ -4,15 +4,19 @@ exports.writeCallsTsconfig = void 0;
4
4
  const fs_1 = require("fs");
5
5
  const path_1 = require("path");
6
6
  const paths_1 = require("./paths");
7
+ const render_packages_1 = require("./render-packages");
7
8
  /**
8
9
  * Writes the tsconfig that types a checkout's calls, and answers with its path. A call file
9
10
  * imports `@design-explore`, which only this package can resolve, so no repository can write
10
11
  * this config for itself.
11
12
  */
12
13
  const writeCallsTsconfig = (target) => {
14
+ var _a, _b, _c;
13
15
  const work = (0, paths_1.workRootOf)(target);
14
16
  const path = (0, path_1.resolve)(work, 'tsconfig.json');
15
17
  const defineCall = (0, path_1.resolve)((0, paths_1.assetRoot)(), 'define-call.ts');
18
+ const inlineCss = (0, path_1.resolve)((0, paths_1.assetRoot)(), 'css-inline.d.ts');
19
+ const typePaths = (0, render_packages_1.typePathsOf)({ packages: (_c = (_b = (_a = (0, paths_1.readConfig)(target)) === null || _a === void 0 ? void 0 : _a.render) === null || _b === void 0 ? void 0 : _b.packages) !== null && _c !== void 0 ? _c : {}, target });
16
20
  const config = {
17
21
  compilerOptions: {
18
22
  types: [],
@@ -25,9 +29,9 @@ const writeCallsTsconfig = (target) => {
25
29
  esModuleInterop: true,
26
30
  skipLibCheck: true,
27
31
  noEmit: true,
28
- paths: { '@design-explore': [defineCall] },
32
+ paths: Object.assign(Object.assign({}, typePaths), { '@design-explore': [defineCall] }),
29
33
  },
30
- include: [`${(0, paths_1.callsRootOf)(target)}/**/*.ts`, defineCall],
34
+ include: [`${(0, paths_1.callsRootOf)(target)}/**/*.ts`, defineCall, inlineCss],
31
35
  };
32
36
  (0, fs_1.mkdirSync)(work, { recursive: true });
33
37
  (0, fs_1.writeFileSync)(path, `${JSON.stringify(config, null, 2)}\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"calls-tsconfig.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/calls-tsconfig.ts"],"names":[],"mappings":";;;AAAA,2BAA8C;AAC9C,+BAA+B;AAC/B,mCAA6D;AAE7D;;;;GAIG;AACI,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,EAAE;IACnD,MAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,MAAM,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,IAAA,cAAO,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAA,cAAO,EAAC,IAAA,iBAAS,GAAE,EAAE,gBAAgB,CAAC,CAAC;IAE1D,MAAM,MAAM,GAAG;QACb,eAAe,EAAE;YACf,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,UAAU;YAClB,gBAAgB,EAAE,SAAS;YAC3B,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;YACtB,MAAM,EAAE,IAAI;YACZ,wBAAwB,EAAE,IAAI;YAC9B,eAAe,EAAE,IAAI;YACrB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,EAAE,iBAAiB,EAAE,CAAC,UAAU,CAAC,EAAE;SAC3C;QACD,OAAO,EAAE,CAAC,GAAG,IAAA,mBAAW,EAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC;KACxD,CAAC;IAEF,IAAA,cAAS,EAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,IAAA,kBAAa,EAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAE5D,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA1BW,QAAA,kBAAkB,sBA0B7B"}
1
+ {"version":3,"file":"calls-tsconfig.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/calls-tsconfig.ts"],"names":[],"mappings":";;;AAAA,2BAA8C;AAC9C,+BAA+B;AAC/B,mCAAyE;AACzE,uDAAgD;AAEhD;;;;GAIG;AACI,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,EAAE;;IACnD,MAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,MAAM,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,IAAA,cAAO,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAA,cAAO,EAAC,IAAA,iBAAS,GAAE,EAAE,gBAAgB,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,IAAA,cAAO,EAAC,IAAA,iBAAS,GAAE,EAAE,iBAAiB,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,IAAA,6BAAW,EAAC,EAAE,QAAQ,EAAE,MAAA,MAAA,MAAA,IAAA,kBAAU,EAAC,MAAM,CAAC,0CAAE,MAAM,0CAAE,QAAQ,mCAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAEhG,MAAM,MAAM,GAAG;QACb,eAAe,EAAE;YACf,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,UAAU;YAClB,gBAAgB,EAAE,SAAS;YAC3B,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;YACtB,MAAM,EAAE,IAAI;YACZ,wBAAwB,EAAE,IAAI;YAC9B,eAAe,EAAE,IAAI;YACrB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,IAAI;YACZ,KAAK,kCAAO,SAAS,KAAE,iBAAiB,EAAE,CAAC,UAAU,CAAC,GAAE;SACzD;QACD,OAAO,EAAE,CAAC,GAAG,IAAA,mBAAW,EAAC,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC;KACnE,CAAC;IAEF,IAAA,cAAS,EAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,IAAA,kBAAa,EAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAE5D,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA5BW,QAAA,kBAAkB,sBA4B7B"}
@@ -2,7 +2,8 @@
2
2
  * Finds out why a call does not render, in the cheapest order: eslint on the named files, then
3
3
  * `tsc --noEmit` over the checkout's calls, then the live page in a headless browser. A compile
4
4
  * error draws an overlay on top of the drawing, so a screenshot of one looks like a design -
5
- * never screenshot before this says `ok`.
5
+ * never screenshot before this says `ok`. With `--call`, the call's status follows the check, but
6
+ * a check that cannot run (no browser, no server, a stale server) leaves the status it found.
6
7
  */
7
8
  export declare const checkDesign: (options: {
8
9
  target: string;
@@ -1,12 +1,24 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.checkDesign = void 0;
4
- const tslib_1 = require("tslib");
5
13
  const child_process_1 = require("child_process");
6
14
  const fs_1 = require("fs");
7
15
  const path_1 = require("path");
16
+ const browser_1 = require("./browser");
8
17
  const calls_tsconfig_1 = require("./calls-tsconfig");
9
18
  const paths_1 = require("./paths");
19
+ const stamp_1 = require("./stamp");
20
+ const status_1 = require("./status");
21
+ const system_use_1 = require("./system-use");
10
22
  /**
11
23
  * A tool the checker shells out to, taken from the checkout first and from this package second, so
12
24
  * a checkout that keeps design calls need not install anything of its own. The path comes out of
@@ -46,74 +58,100 @@ const parse = (argv, names) => {
46
58
  }
47
59
  return flags;
48
60
  };
49
- const runBrowser = (options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
50
- const { base, slug, wanted } = options;
51
- const playwright = yield import('playwright').catch(() => null);
52
- if (!playwright) {
53
- console.error('NO BROWSER - neither the checkout nor this package resolves playwright, so the render stage cannot run.');
61
+ const NO_BROWSER = 'NO BROWSER - neither the checkout nor this package resolves playwright or playwright-core, so the ' +
62
+ 'render stage cannot run. Install one in the checkout: `npm i -D playwright-core && npx playwright-core install chromium`.';
63
+ const runBrowser = (options) => __awaiter(void 0, void 0, void 0, function* () {
64
+ const { target, base, slug, wanted, fails } = options;
65
+ const serverProblem = yield (0, stamp_1.serverProblemOf)({ base, own: (0, stamp_1.buildStampOf)() });
66
+ if (serverProblem)
67
+ return fails.unavailable(serverProblem);
68
+ const resolved = yield (0, browser_1.chromiumOf)(target);
69
+ if (!resolved)
70
+ return fails.unavailable(NO_BROWSER);
71
+ const browser = yield resolved.chromium.launch().catch((error) => {
72
+ fails.unavailable(`NO BROWSER - ${resolved.from} resolved, but its Chromium did not start. Install the browser that ` +
73
+ `version expects in the checkout: \`npx playwright install chromium\`.\n` +
74
+ trim(error instanceof Error ? error.message : String(error)));
75
+ return null;
76
+ });
77
+ if (!browser)
54
78
  return 1;
55
- }
56
- const browser = yield playwright.chromium.launch();
57
79
  try {
58
80
  return yield checkPage({
59
81
  page: yield browser.newPage({ viewport: { width: 1600, height: 1000 } }),
82
+ target,
60
83
  base,
61
84
  slug,
62
85
  wanted,
86
+ fail: fails.fail,
63
87
  });
64
88
  }
65
89
  finally {
66
90
  yield browser.close();
67
91
  }
68
92
  });
69
- const checkPage = (options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
70
- const { page, base, slug, wanted } = options;
93
+ /**
94
+ * Reads a call's declaration through the frame server's registry. A string, not a function: the
95
+ * build would turn a function's dynamic `import()` into a `require()`, which no browser has.
96
+ */
97
+ const declaredOf = (slug) => `(async (slug) => {
98
+ const { calls } = await import('/@id/__x00__virtual:design-explore');
99
+ if (!calls[slug]) return null;
100
+ try {
101
+ const call = (await calls[slug]()).default;
102
+ return {
103
+ stage: call.stage ?? null,
104
+ legacy: call.legacy === true,
105
+ rounds: (call.rounds ?? []).map((round) => round.key),
106
+ variants: call.variants.map((variant) => ({ key: variant.key, round: variant.round ?? '' })),
107
+ hasInventory: Boolean(call.inventory),
108
+ };
109
+ } catch (error) {
110
+ return { error: error instanceof Error ? error.message : String(error) };
111
+ }
112
+ })(${JSON.stringify(slug)})`;
113
+ /** Prose that no variant claims is stale prose, and it is the one thing the variants cannot show. */
114
+ const problemsOf = (declared) => {
115
+ const { rounds } = declared;
116
+ const drawn = new Set(declared.variants.map((variant) => variant.round));
117
+ return [
118
+ ...[...new Set(rounds.filter((key, index) => rounds.indexOf(key) !== index))].map((key) => `design-explore: two rounds share the key "${key}"`),
119
+ ...rounds.filter((key) => !drawn.has(key)).map((key) => `design-explore: round "${key}" has no variants`),
120
+ ];
121
+ };
122
+ const checkPage = (options) => __awaiter(void 0, void 0, void 0, function* () {
123
+ const { page, target, base, slug, wanted, fail } = options;
71
124
  /** Angular throws at render time, and the overlay never shows those, so read the console too. */
72
125
  const consoleErrors = [];
73
126
  page.on('console', (message) => message.type() === 'error' && consoleErrors.push(message.text()));
74
127
  page.on('pageerror', (error) => consoleErrors.push(error.message));
75
- const fail = (message) => {
76
- console.error(message);
77
- return 1;
78
- };
79
- /** The rounds view folds a settled round away, so only the contact sheet holds every variant. */
80
- yield page.goto(`${base}/?call=${encodeURIComponent(slug)}&view=sheet`, { waitUntil: 'domcontentloaded' });
81
- const onPage = yield page
82
- .locator('nav a[aria-current]')
83
- .first()
84
- .waitFor({ timeout: 15000 })
85
- .then(() => true, () => false);
86
- if (!onPage)
87
- return fail(`NO CALL "${slug}" - the host drew no page for it. Check the folder under .ethlete/design/calls.`);
88
- /** An unknown slug falls back to the first call, so read back which one the host actually drew. */
89
- const drawn = yield page
90
- .locator('nav a[aria-current="page"]')
91
- .first()
92
- .getAttribute('href')
93
- .then((href) => new URL(href !== null && href !== void 0 ? href : '', base).searchParams.get('call'));
94
- if (drawn !== slug) {
95
- return fail(`NO CALL "${slug}" - the host fell back to "${drawn}". Pass the whole slug, which is the call ` +
96
- `folder's path under .ethlete/design/calls.`);
97
- }
98
- const problems = yield page.locator('.problem').allInnerTexts();
128
+ yield page.goto(`${base}/frame.html`, { waitUntil: 'domcontentloaded' });
129
+ const declared = (yield page.evaluate(declaredOf(slug)));
130
+ if (declared === null)
131
+ return fail(`NO CALL "${slug}" - pass the folder's path under .ethlete/design/calls.`);
132
+ if ('error' in declared)
133
+ return fail(`COMPILE ERROR on ${slug}\n${trim(declared.error)}`);
134
+ const stageProblem = (0, system_use_1.stageProblemOf)({ slug, stage: declared.stage, legacy: declared.legacy });
135
+ if (stageProblem)
136
+ return fail(stageProblem);
137
+ const problems = problemsOf(declared);
99
138
  if (problems.length > 0)
100
139
  return fail(`BAD CALL ${slug}\n${problems.join('\n')}`);
101
- const keys = yield page
102
- .locator('iframe[data-variant]')
103
- .evaluateAll((frames) => frames.map((frame) => { var _a; return (_a = frame.dataset['variant']) !== null && _a !== void 0 ? _a : ''; }));
140
+ const keys = declared.variants.map((variant) => variant.key);
104
141
  const checked = wanted ? keys.filter((key) => key === wanted) : keys;
105
142
  if (checked.length === 0) {
106
143
  return fail(`NO VARIANT "${wanted}" on ${slug} - it declares ${keys.length > 0 ? keys.join(', ') : 'none'}.`);
107
144
  }
108
145
  for (const key of checked) {
109
- /** A frame reloads on every edit, which detaches a `page.frames()` handle, so locate it each time. */
110
- const frame = page.frameLocator(`iframe[data-variant="${key}"]`);
111
- const drew = yield frame
112
- .locator('#root > *')
146
+ yield page.goto(`${base}/frame.html?call=${encodeURIComponent(slug)}&variant=${encodeURIComponent(key)}`, {
147
+ waitUntil: 'domcontentloaded',
148
+ });
149
+ const drew = yield page
150
+ .locator('#root > :not(style)')
113
151
  .first()
114
152
  .waitFor({ timeout: 15000 })
115
153
  .then(() => true, () => false);
116
- const overlay = frame.locator('vite-error-overlay');
154
+ const overlay = page.locator('vite-error-overlay');
117
155
  if ((yield overlay.count()) > 0) {
118
156
  const text = yield overlay
119
157
  .locator('.message-body')
@@ -126,27 +164,26 @@ const checkPage = (options) => tslib_1.__awaiter(void 0, void 0, void 0, functio
126
164
  `An empty module with a 200 response means the tsconfig turned emit off.\n` +
127
165
  (consoleErrors.length > 0 ? trim(consoleErrors.join('\n')) : ''));
128
166
  }
129
- const text = yield frame.locator('#root').innerText();
167
+ const text = yield page.locator('#root').innerText();
130
168
  if (text.startsWith('design-explore:'))
131
169
  return fail(`FRAME REFUSED on ${slug} variant ${key}\n${text}`);
132
170
  }
133
- if (consoleErrors.length > 0) {
134
- console.error(`RENDERED WITH ERRORS on ${slug}\n${trim(consoleErrors.join('\n'))}`);
135
- return 1;
136
- }
171
+ if (consoleErrors.length > 0)
172
+ return fail(`RENDERED WITH ERRORS on ${slug}\n${trim(consoleErrors.join('\n'))}`);
173
+ const warnings = [
174
+ (0, system_use_1.systemWarningOf)({ target, slug, stage: declared.stage }),
175
+ (0, system_use_1.inventoryWarningOf)({ slug, stage: declared.stage, hasInventory: declared.hasInventory }),
176
+ ];
177
+ for (const warning of warnings)
178
+ if (warning)
179
+ console.warn(warning);
137
180
  console.log(`ok ${slug} (${checked.join(', ')})`);
138
181
  return 0;
139
182
  });
140
- /**
141
- * Finds out why a call does not render, in the cheapest order: eslint on the named files, then
142
- * `tsc --noEmit` over the checkout's calls, then the live page in a headless browser. A compile
143
- * error draws an overlay on top of the drawing, so a screenshot of one looks like a design -
144
- * never screenshot before this says `ok`.
145
- */
146
- const checkDesign = (options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
183
+ const runChecks = (options) => __awaiter(void 0, void 0, void 0, function* () {
147
184
  var _a, _b, _c, _d, _e, _f;
148
- const { target, argv, invocation } = options;
149
- const flags = parse(argv, ['--lint', '--tsconfig', '--call', '--variant']);
185
+ const { target, flags, invocation, fails } = options;
186
+ const { fail, unavailable } = fails;
150
187
  const lintFiles = (_a = flags['--lint']) !== null && _a !== void 0 ? _a : [];
151
188
  const slug = (_b = flags['--call']) === null || _b === void 0 ? void 0 : _b[0];
152
189
  const wanted = (_c = flags['--variant']) === null || _c === void 0 ? void 0 : _c[0];
@@ -157,16 +194,13 @@ const checkDesign = (options) => tslib_1.__awaiter(void 0, void 0, void 0, funct
157
194
  }
158
195
  if (lintFiles.length > 0) {
159
196
  const eslint = binaryOf({ target, pkg: 'eslint', bin: 'eslint' });
160
- if (!eslint) {
161
- console.error(`NO LINTER - ${target} installs no eslint, so --lint has nothing to run.`);
162
- return 1;
163
- }
197
+ if (!eslint)
198
+ return unavailable(`NO LINTER - ${target} installs no eslint, so --lint has nothing to run.`);
164
199
  try {
165
200
  (0, child_process_1.execFileSync)(process.execPath, [eslint, ...lintFiles], { cwd: target, encoding: 'utf8', stdio: 'pipe' });
166
201
  }
167
202
  catch (error) {
168
- console.error(`LINT\n${outputOf(error)}`);
169
- return 1;
203
+ return fail(`LINT\n${outputOf(error)}`);
170
204
  }
171
205
  }
172
206
  if (tsconfig) {
@@ -176,10 +210,8 @@ const checkDesign = (options) => tslib_1.__awaiter(void 0, void 0, void 0, funct
176
210
  */
177
211
  const native = process.env['TSC'];
178
212
  const tsc = native ? null : binaryOf({ target, pkg: 'typescript', bin: 'tsc' });
179
- if (!native && !tsc) {
180
- console.error('NO TYPE CHECKER - neither the checkout nor this package resolves typescript.');
181
- return 1;
182
- }
213
+ if (!native && !tsc)
214
+ return unavailable('NO TYPE CHECKER - neither the checkout nor this package resolves typescript.');
183
215
  const command = native
184
216
  ? { file: 'npx', args: ['-y', native, '--noEmit', '-p', tsconfig] }
185
217
  : { file: process.execPath, args: [tsc, '--noEmit', '-p', tsconfig] };
@@ -187,8 +219,7 @@ const checkDesign = (options) => tslib_1.__awaiter(void 0, void 0, void 0, funct
187
219
  (0, child_process_1.execFileSync)(command.file, command.args, { cwd: target, encoding: 'utf8', stdio: 'pipe' });
188
220
  }
189
221
  catch (error) {
190
- console.error(`TYPE ERROR\n${outputOf(error)}`);
191
- return 1;
222
+ return fail(`TYPE ERROR\n${outputOf(error)}`);
192
223
  }
193
224
  }
194
225
  if (!slug) {
@@ -197,7 +228,58 @@ const checkDesign = (options) => tslib_1.__awaiter(void 0, void 0, void 0, funct
197
228
  }
198
229
  const config = (0, paths_1.readConfig)(target);
199
230
  const base = (_f = process.env['DE_URL']) !== null && _f !== void 0 ? _f : `http://localhost:${config ? (0, paths_1.portOf)(config) : paths_1.DEFAULT_PORT}`;
200
- return runBrowser({ base, slug, wanted });
231
+ return runBrowser({ target, base, slug, wanted, fails });
232
+ });
233
+ /**
234
+ * Finds out why a call does not render, in the cheapest order: eslint on the named files, then
235
+ * `tsc --noEmit` over the checkout's calls, then the live page in a headless browser. A compile
236
+ * error draws an overlay on top of the drawing, so a screenshot of one looks like a design -
237
+ * never screenshot before this says `ok`. With `--call`, the call's status follows the check, but
238
+ * a check that cannot run (no browser, no server, a stale server) leaves the status it found.
239
+ */
240
+ const checkDesign = (options) => __awaiter(void 0, void 0, void 0, function* () {
241
+ var _a;
242
+ const { target, argv, invocation } = options;
243
+ const flags = parse(argv, ['--lint', '--tsconfig', '--call', '--variant']);
244
+ const slug = (_a = flags['--call']) === null || _a === void 0 ? void 0 : _a[0];
245
+ let failure = '';
246
+ let blocked = false;
247
+ const fails = {
248
+ fail: (message) => {
249
+ console.error(message);
250
+ failure || (failure = message);
251
+ return 1;
252
+ },
253
+ unavailable: (message) => {
254
+ console.error(message);
255
+ blocked = true;
256
+ return 1;
257
+ },
258
+ };
259
+ if (!slug)
260
+ return runChecks({ target, flags, invocation, fails });
261
+ const restore = (0, status_1.holdStatus)({ checkout: target, slug });
262
+ (0, status_1.writeStatus)({ checkout: target, slug, state: 'checking' });
263
+ try {
264
+ const code = yield runChecks({ target, flags, invocation, fails });
265
+ if (blocked) {
266
+ restore();
267
+ }
268
+ else {
269
+ (0, status_1.writeStatus)(Object.assign({ checkout: target, slug }, (code === 0 ? { state: 'ready' } : { state: 'failed', message: failure })));
270
+ }
271
+ return code;
272
+ }
273
+ catch (error) {
274
+ const message = error instanceof Error ? error.message : String(error);
275
+ if (/net::ERR_/.test(message)) {
276
+ restore();
277
+ console.error(`NO SERVER - the page stopped answering: ${trim(message)}`);
278
+ return 1;
279
+ }
280
+ (0, status_1.writeStatus)({ checkout: target, slug, state: 'failed', message });
281
+ throw error;
282
+ }
201
283
  });
202
284
  exports.checkDesign = checkDesign;
203
285
  //# sourceMappingURL=check.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/check.ts"],"names":[],"mappings":";;;;AAAA,iDAA6C;AAC7C,2BAAkC;AAClC,+BAAwC;AACxC,qDAAsD;AACtD,mCAA2D;AAE3D;;;;GAIG;AACH,MAAM,QAAQ,GAAG,CAAC,OAAqD,EAAE,EAAE;IACzE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAErC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,GAAG,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QACxF,MAAM,QAAQ,GAAI,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,QAAQ,EAAE,MAAM,CAAC,CAA+C,CAAC,GAAG,CAAC;QAC/G,MAAM,IAAI,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,GAAG,CAAC,CAAC;QAEvE,OAAO,IAAI,CAAC,CAAC,CAAC,IAAA,cAAO,EAAC,IAAA,cAAO,EAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,qFAAqF;AACrF,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE,CAC5B,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEvH,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAE,EAAE;;IAClC,MAAM,KAAK,GAAG,KAA6C,CAAC;IAE5D,OAAO,IAAI,CAAC,GAAG,MAAA,KAAK,CAAC,MAAM,mCAAI,EAAE,GAAG,MAAA,KAAK,CAAC,MAAM,mCAAI,EAAE,EAAE,CAAC,CAAC;AAC5D,CAAC,CAAC;AAIF,MAAM,KAAK,GAAG,CAAC,IAAc,EAAE,KAAe,EAAS,EAAE;;IACvD,MAAM,KAAK,GAAU,EAAE,CAAC;IACxB,IAAI,OAAO,GAAkB,IAAI,CAAC;IAElC,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,GAAG,QAAQ,CAAC;YACnB,MAAA,KAAK,CAAC,OAAO,qCAAb,KAAK,CAAC,OAAO,IAAM,EAAE,EAAC;QACxB,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACnB,MAAA,KAAK,CAAC,OAAO,CAAC,0CAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAO,OAAwD,EAAmB,EAAE;IACrG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACvC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAEhE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CACX,yGAAyG,CAC1G,CAAC;QAEF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAEnD,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,CAAC;YACrB,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;YACxE,IAAI;YACJ,IAAI;YACJ,MAAM;SACP,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;AACH,CAAC,CAAA,CAAC;AAEF,MAAM,SAAS,GAAG,CAAO,OAKxB,EAAmB,EAAE;IACpB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE7C,iGAAiG;IACjG,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAClG,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAEnE,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,EAAE;QAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEvB,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,iGAAiG;IACjG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,UAAU,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAE3G,MAAM,MAAM,GAAG,MAAM,IAAI;SACtB,OAAO,CAAC,qBAAqB,CAAC;SAC9B,KAAK,EAAE;SACP,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;SAC3B,IAAI,CACH,GAAG,EAAE,CAAC,IAAI,EACV,GAAG,EAAE,CAAC,KAAK,CACZ,CAAC;IAEJ,IAAI,CAAC,MAAM;QACT,OAAO,IAAI,CAAC,YAAY,IAAI,iFAAiF,CAAC,CAAC;IAEjH,mGAAmG;IACnG,MAAM,KAAK,GAAG,MAAM,IAAI;SACrB,OAAO,CAAC,4BAA4B,CAAC;SACrC,KAAK,EAAE;SACP,YAAY,CAAC,MAAM,CAAC;SACpB,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,EAAE,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAEtE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CACT,YAAY,IAAI,8BAA8B,KAAK,4CAA4C;YAC7F,4CAA4C,CAC/C,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,aAAa,EAAE,CAAC;IAChE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,YAAY,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEjF,MAAM,IAAI,GAAG,MAAM,IAAI;SACpB,OAAO,CAAC,sBAAsB,CAAC;SAC/B,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,MAAC,KAAqB,CAAC,OAAO,CAAC,SAAS,CAAC,mCAAI,EAAE,CAAA,EAAA,CAAC,CAAC,CAAC;IACnG,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAErE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,eAAe,MAAM,QAAQ,IAAI,kBAAkB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAChH,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,sGAAsG;QACtG,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAAC;QAEjE,MAAM,IAAI,GAAG,MAAM,KAAK;aACrB,OAAO,CAAC,WAAW,CAAC;aACpB,KAAK,EAAE;aACP,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;aAC3B,IAAI,CACH,GAAG,EAAE,CAAC,IAAI,EACV,GAAG,EAAE,CAAC,KAAK,CACZ,CAAC;QAEJ,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,MAAM,OAAO;iBACvB,OAAO,CAAC,eAAe,CAAC;iBACxB,SAAS,EAAE;iBACX,KAAK,CAAC,GAAG,EAAE,CAAC,oCAAoC,CAAC,CAAC;YAErD,OAAO,IAAI,CAAC,oBAAoB,IAAI,YAAY,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CACT,YAAY,IAAI,YAAY,GAAG,+BAA+B;gBAC5D,2EAA2E;gBAC3E,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CACnE,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;QACtD,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;YAAE,OAAO,IAAI,CAAC,oBAAoB,IAAI,YAAY,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC;IAC1G,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,2BAA2B,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAEpF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAElD,OAAO,CAAC,CAAC;AACX,CAAC,CAAA,CAAC;AAEF;;;;;GAKG;AACI,MAAM,WAAW,GAAG,CAAO,OAA+D,EAAmB,EAAE;;IACpH,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAE3E,MAAM,SAAS,GAAG,MAAA,KAAK,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,MAAA,KAAK,CAAC,QAAQ,CAAC,0CAAG,CAAC,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,MAAA,KAAK,CAAC,WAAW,CAAC,0CAAG,CAAC,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAA,MAAA,KAAK,CAAC,YAAY,CAAC,0CAAG,CAAC,CAAC,mCAAI,IAAA,mCAAkB,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEzG,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,UAAU,UAAU,+EAA+E,CAAC,CAAC;QAEnH,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QAElE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,eAAe,MAAM,oDAAoD,CAAC,CAAC;YAEzF,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,CAAC;YACH,IAAA,4BAAY,EAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3G,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,SAAS,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAE1C,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb;;;WAGG;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QAEhF,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;YAE9F,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,OAAO,GAAG,MAAM;YACpB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE;YACnE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAa,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAElF,IAAI,CAAC;YACH,IAAA,4BAAY,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,eAAe,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAEhD,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAElB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,MAAM,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,mCAAI,oBAAoB,MAAM,CAAC,CAAC,CAAC,IAAA,cAAM,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,oBAAY,EAAE,CAAC;IAEnG,OAAO,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC5C,CAAC,CAAA,CAAC;AAtEW,QAAA,WAAW,eAsEtB"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/check.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * `et design [checkout]` serves the design page of a checkout, and `et design check …` says why
2
+ * `et design [checkout]` serves the variant frames of a checkout, and `et design check …` says why
3
3
  * a call does not render. Both work on any checkout that keeps a `.ethlete/design` folder, so a
4
4
  * repository needs no design tooling of its own.
5
5
  */