@ethlete/cli 3.0.0-next.18 → 3.0.0-next.20
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.
- package/CHANGELOG.md +46 -0
- package/design/css-inline.d.ts +4 -0
- package/design/define-call.ts +232 -3
- package/design/web/env.d.ts +2 -1
- package/design/web/frame.ts +51 -6
- package/package.json +27 -3
- package/src/index.js +26 -4
- package/src/index.js.map +1 -1
- package/src/lib/api/clear.js +10 -2
- package/src/lib/api/clear.js.map +1 -1
- package/src/lib/api/index.js +33 -20
- package/src/lib/api/index.js.map +1 -1
- package/src/lib/api/lock.js +11 -3
- package/src/lib/api/lock.js.map +1 -1
- package/src/lib/api/ports.js +12 -4
- package/src/lib/api/ports.js.map +1 -1
- package/src/lib/api/run-locked.js +10 -2
- package/src/lib/api/run-locked.js.map +1 -1
- package/src/lib/api/run-ready.js +12 -4
- package/src/lib/api/run-ready.js.map +1 -1
- package/src/lib/api/run-snapshot.js +10 -2
- package/src/lib/api/run-snapshot.js.map +1 -1
- package/src/lib/api/run.js +13 -5
- package/src/lib/api/run.js.map +1 -1
- package/src/lib/api/snapshot.js +13 -5
- package/src/lib/api/snapshot.js.map +1 -1
- package/src/lib/auth/auth-command.js +10 -2
- package/src/lib/auth/auth-command.js.map +1 -1
- package/src/lib/auth/gitlab-token.js +12 -4
- package/src/lib/auth/gitlab-token.js.map +1 -1
- package/src/lib/auth/index.js +18 -5
- package/src/lib/auth/index.js.map +1 -1
- package/src/lib/config/index.js +16 -3
- package/src/lib/config/index.js.map +1 -1
- package/src/lib/design/browser.d.ts +9 -0
- package/src/lib/design/browser.js +37 -0
- package/src/lib/design/browser.js.map +1 -0
- package/src/lib/design/calls-tsconfig.js +6 -2
- package/src/lib/design/calls-tsconfig.js.map +1 -1
- package/src/lib/design/check.d.ts +2 -1
- package/src/lib/design/check.js +151 -69
- package/src/lib/design/check.js.map +1 -1
- package/src/lib/design/design-command.d.ts +1 -1
- package/src/lib/design/design-command.js +60 -3
- package/src/lib/design/design-command.js.map +1 -1
- package/src/lib/design/index.js +19 -6
- package/src/lib/design/index.js.map +1 -1
- package/src/lib/design/legacy.d.ts +11 -0
- package/src/lib/design/legacy.js +66 -0
- package/src/lib/design/legacy.js.map +1 -0
- package/src/lib/design/missing-package.d.ts +2 -0
- package/src/lib/design/missing-package.js +15 -0
- package/src/lib/design/missing-package.js.map +1 -0
- package/src/lib/design/new-call.d.ts +11 -0
- package/src/lib/design/new-call.js +129 -0
- package/src/lib/design/new-call.js.map +1 -0
- package/src/lib/design/paths.d.ts +23 -2
- package/src/lib/design/paths.js +1 -1
- package/src/lib/design/paths.js.map +1 -1
- package/src/lib/design/render-fields.d.ts +29 -0
- package/src/lib/design/render-fields.js +31 -0
- package/src/lib/design/render-fields.js.map +1 -0
- package/src/lib/design/render-packages.d.ts +87 -0
- package/src/lib/design/render-packages.js +232 -0
- package/src/lib/design/render-packages.js.map +1 -0
- package/src/lib/design/render-worker.d.ts +1 -0
- package/src/lib/design/render-worker.js +149 -0
- package/src/lib/design/render-worker.js.map +1 -0
- package/src/lib/design/render.d.ts +23 -0
- package/src/lib/design/render.js +119 -0
- package/src/lib/design/render.js.map +1 -0
- package/src/lib/design/serve.d.ts +1 -1
- package/src/lib/design/serve.js +49 -12
- package/src/lib/design/serve.js.map +1 -1
- package/src/lib/design/ssr-shims.d.ts +10 -0
- package/src/lib/design/ssr-shims.js +128 -0
- package/src/lib/design/ssr-shims.js.map +1 -0
- package/src/lib/design/stamp.d.ts +16 -0
- package/src/lib/design/stamp.js +77 -0
- package/src/lib/design/stamp.js.map +1 -0
- package/src/lib/design/status.d.ts +33 -0
- package/src/lib/design/status.js +58 -0
- package/src/lib/design/status.js.map +1 -0
- package/src/lib/design/system-use.d.ts +23 -0
- package/src/lib/design/system-use.js +61 -0
- package/src/lib/design/system-use.js.map +1 -0
- package/src/lib/doctor/index.js +15 -2
- package/src/lib/doctor/index.js.map +1 -1
- package/src/lib/index.js +22 -9
- package/src/lib/index.js.map +1 -1
- package/src/lib/release.js +10 -2
- package/src/lib/release.js.map +1 -1
- package/src/lib/update/agent-setup.js +11 -3
- package/src/lib/update/agent-setup.js.map +1 -1
- package/src/lib/update/ai.js +13 -5
- package/src/lib/update/ai.js.map +1 -1
- package/src/lib/update/index.js +32 -19
- package/src/lib/update/index.js.map +1 -1
- package/src/lib/update/registry.js +10 -2
- package/src/lib/update/registry.js.map +1 -1
- package/src/lib/update/update-command.js +16 -8
- package/src/lib/update/update-command.js.map +1 -1
- package/src/lib/utils.js +11 -3
- package/src/lib/utils.js.map +1 -1
- package/design/web/host.css +0 -494
- package/design/web/host.ts +0 -445
- package/design/web/index.html +0 -11
|
@@ -1,7 +1,15 @@
|
|
|
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.authCommand = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
13
|
const auth_hint_1 = require("../api/auth-hint");
|
|
6
14
|
const load_definitions_1 = require("../api/load-definitions");
|
|
7
15
|
const resolve_checkout_1 = require("../api/resolve-checkout");
|
|
@@ -82,7 +90,7 @@ const printTokenLine = (host, token) => (0, gitlab_token_1.describeGitlabToken)(
|
|
|
82
90
|
return true;
|
|
83
91
|
});
|
|
84
92
|
/** Writes a GitLab token into composer's auth.json, after asking the host whether it can fetch code. */
|
|
85
|
-
const authCommand = (_a) =>
|
|
93
|
+
const authCommand = (_a) => __awaiter(void 0, [_a], void 0, function* ({ argv, root = process.cwd(), invocation = 'et auth', home = (0, composer_auth_1.defaultComposerHome)(), }) {
|
|
86
94
|
var _b, _c, _d;
|
|
87
95
|
if (argv.includes('--help') || argv.includes('-h')) {
|
|
88
96
|
console.log(usage(invocation));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-command.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/auth/auth-command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth-command.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/auth/auth-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -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) =>
|
|
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) =>
|
|
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) =>
|
|
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":"
|
|
1
|
+
{"version":3,"file":"gitlab-token.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/auth/gitlab-token.ts"],"names":[],"mappings":"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"}
|
package/src/lib/auth/index.js
CHANGED
|
@@ -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
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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":"
|
|
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"}
|
package/src/lib/config/index.js
CHANGED
|
@@ -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
|
-
|
|
4
|
-
|
|
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":"
|
|
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,
|
|
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;
|
package/src/lib/design/check.js
CHANGED
|
@@ -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
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
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
|
-
|
|
70
|
-
|
|
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
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
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 =
|
|
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
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
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 =
|
|
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
|
|
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
|
-
|
|
135
|
-
|
|
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,
|
|
149
|
-
const
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|