@ethlete/cli 3.0.0-next.22 → 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.
- package/CHANGELOG.md +66 -0
- package/design/contrast.ts +49 -0
- package/design/define-call.ts +5 -8
- package/design/define-part.ts +63 -1
- package/design/morph.ts +67 -0
- package/design/motion-runtime.ts +200 -0
- package/design/web/env.d.ts +6 -2
- package/design/web/frame.ts +39 -1
- package/package.json +2 -1
- package/playwright/failure-reporter.d.ts +2 -0
- package/playwright/failure-reporter.js +1 -0
- package/src/lib/design/changed-parts.d.ts +4 -4
- package/src/lib/design/changed-parts.js +10 -6
- package/src/lib/design/changed-parts.js.map +1 -1
- package/src/lib/design/check.js +1 -1
- package/src/lib/design/check.js.map +1 -1
- package/src/lib/design/contact-sheet.d.ts +39 -8
- package/src/lib/design/contact-sheet.js +131 -21
- package/src/lib/design/contact-sheet.js.map +1 -1
- package/src/lib/design/design-command.js +22 -2
- package/src/lib/design/design-command.js.map +1 -1
- package/src/lib/design/generated-stylesheets.d.ts +15 -0
- package/src/lib/design/generated-stylesheets.js +52 -0
- package/src/lib/design/generated-stylesheets.js.map +1 -0
- package/src/lib/design/inbox-command.d.ts +1 -0
- package/src/lib/design/inbox-command.js +15 -0
- package/src/lib/design/inbox-command.js.map +1 -1
- package/src/lib/design/merge-compare.d.ts +10 -0
- package/src/lib/design/merge-compare.js +17 -4
- package/src/lib/design/merge-compare.js.map +1 -1
- package/src/lib/design/paths.d.ts +11 -0
- package/src/lib/design/paths.js.map +1 -1
- package/src/lib/design/render.d.ts +3 -1
- package/src/lib/design/render.js +17 -1
- package/src/lib/design/render.js.map +1 -1
- package/src/lib/design/serve.js +317 -254
- package/src/lib/design/serve.js.map +1 -1
- package/src/lib/design/shot-command.d.ts +25 -0
- package/src/lib/design/shot-command.js +162 -62
- package/src/lib/design/shot-command.js.map +1 -1
- package/src/lib/design/shot.d.ts +14 -4
- package/src/lib/design/shot.js +71 -50
- package/src/lib/design/shot.js.map +1 -1
- package/src/lib/design/sketch-command.d.ts +7 -1
- package/src/lib/design/sketch-command.js +108 -31
- package/src/lib/design/sketch-command.js.map +1 -1
- package/src/lib/design/sketch-stylesheets.d.ts +7 -0
- package/src/lib/design/sketch-stylesheets.js +63 -0
- package/src/lib/design/sketch-stylesheets.js.map +1 -0
- package/src/lib/design/studio-api.d.ts +20 -7
- package/src/lib/design/studio-api.js +99 -28
- package/src/lib/design/studio-api.js.map +1 -1
- package/src/lib/design/system/check-system.js +8 -0
- package/src/lib/design/system/check-system.js.map +1 -1
- package/src/lib/design/system/comments/comment.d.ts +18 -1
- package/src/lib/design/system/comments/comment.js +35 -1
- package/src/lib/design/system/comments/comment.js.map +1 -1
- package/src/lib/design/system/comments/complete.js +4 -2
- package/src/lib/design/system/comments/complete.js.map +1 -1
- package/src/lib/design/system/complete-command.d.ts +9 -0
- package/src/lib/design/system/complete-command.js +64 -0
- package/src/lib/design/system/complete-command.js.map +1 -0
- package/src/lib/design/system/complete.d.ts +73 -0
- package/src/lib/design/system/complete.js +655 -0
- package/src/lib/design/system/complete.js.map +1 -0
- package/src/lib/design/system/contrast-check.d.ts +26 -0
- package/src/lib/design/system/contrast-check.js +153 -0
- package/src/lib/design/system/contrast-check.js.map +1 -0
- package/src/lib/design/system/imports.d.ts +28 -3
- package/src/lib/design/system/imports.js +84 -7
- package/src/lib/design/system/imports.js.map +1 -1
- package/src/lib/design/system/list-system.d.ts +11 -0
- package/src/lib/design/system/list-system.js +17 -1
- package/src/lib/design/system/list-system.js.map +1 -1
- package/src/lib/design/system/product-stylesheets.d.ts +3 -0
- package/src/lib/design/system/product-stylesheets.js +40 -0
- package/src/lib/design/system/product-stylesheets.js.map +1 -0
- package/src/lib/design/system/render-check.js +11 -3
- package/src/lib/design/system/render-check.js.map +1 -1
- package/src/lib/design/system/rules/canonical-class.d.ts +9 -0
- package/src/lib/design/system/rules/canonical-class.js +132 -0
- package/src/lib/design/system/rules/canonical-class.js.map +1 -0
- package/src/lib/design/system/rules/inline-svg.d.ts +7 -0
- package/src/lib/design/system/rules/inline-svg.js +28 -0
- package/src/lib/design/system/rules/inline-svg.js.map +1 -0
- package/src/lib/design/system/rules/motion.d.ts +4 -0
- package/src/lib/design/system/rules/motion.js +46 -2
- package/src/lib/design/system/rules/motion.js.map +1 -1
- package/src/lib/design/system/rules/utility-css.d.ts +11 -0
- package/src/lib/design/system/rules/utility-css.js +290 -0
- package/src/lib/design/system/rules/utility-css.js.map +1 -0
- package/src/lib/design/system/sketch/baseline.d.ts +3 -2
- package/src/lib/design/system/sketch/baseline.js +10 -4
- package/src/lib/design/system/sketch/baseline.js.map +1 -1
- package/src/lib/design/system/sketch/merge-preview.d.ts +4 -2
- package/src/lib/design/system/sketch/merge-preview.js +20 -3
- package/src/lib/design/system/sketch/merge-preview.js.map +1 -1
- package/src/lib/design/system/sketch/merge-shared.d.ts +42 -6
- package/src/lib/design/system/sketch/merge-shared.js +122 -24
- package/src/lib/design/system/sketch/merge-shared.js.map +1 -1
- package/src/lib/design/system/sketch/merge.d.ts +3 -3
- package/src/lib/design/system/sketch/merge.js +57 -29
- package/src/lib/design/system/sketch/merge.js.map +1 -1
- package/src/lib/design/system/sketch/merged-parts.d.ts +7 -0
- package/src/lib/design/system/sketch/merged-parts.js +13 -1
- package/src/lib/design/system/sketch/merged-parts.js.map +1 -1
- package/src/lib/design/system/sketch/no-visible-change.d.ts +4 -3
- package/src/lib/design/system/sketch/no-visible-change.js +50 -19
- package/src/lib/design/system/sketch/no-visible-change.js.map +1 -1
- package/src/lib/design/system/sketch/overlay.js +7 -2
- package/src/lib/design/system/sketch/overlay.js.map +1 -1
- package/src/lib/design/system/sketch/part-definition.d.ts +12 -0
- package/src/lib/design/system/sketch/part-definition.js +40 -1
- package/src/lib/design/system/sketch/part-definition.js.map +1 -1
- package/src/lib/design/system/sketch/sketch.d.ts +63 -12
- package/src/lib/design/system/sketch/sketch.js +165 -36
- package/src/lib/design/system/sketch/sketch.js.map +1 -1
- package/src/lib/design/system/sketch/unchanged-states.d.ts +11 -5
- package/src/lib/design/system/sketch/unchanged-states.js +39 -25
- package/src/lib/design/system/sketch/unchanged-states.js.map +1 -1
- package/src/lib/design/system/system-modules.d.ts +5 -1
- package/src/lib/design/system/system-modules.js +26 -8
- package/src/lib/design/system/system-modules.js.map +1 -1
- package/src/lib/design/system/system-tsconfig.js +2 -1
- package/src/lib/design/system/system-tsconfig.js.map +1 -1
- package/src/lib/design/thumb.d.ts +6 -2
- package/src/lib/design/thumb.js +36 -15
- package/src/lib/design/thumb.js.map +1 -1
- package/src/lib/design/typecheck.d.ts +2 -0
- package/src/lib/design/typecheck.js +19 -2
- package/src/lib/design/typecheck.js.map +1 -1
- package/src/lib/design/variant-diff.d.ts +24 -6
- package/src/lib/design/variant-diff.js +26 -10
- package/src/lib/design/variant-diff.js.map +1 -1
- package/src/lib/design/warm-pages.d.ts +20 -0
- package/src/lib/design/warm-pages.js +78 -0
- package/src/lib/design/warm-pages.js.map +1 -0
- package/src/lib/playwright/failure-reporter.d.ts +35 -0
- package/src/lib/playwright/failure-reporter.js +66 -0
- package/src/lib/playwright/failure-reporter.js.map +1 -0
- package/src/lib/update/commits.d.ts +9 -0
- package/src/lib/update/commits.js +15 -1
- package/src/lib/update/commits.js.map +1 -1
- package/src/lib/update/migration-manifest.d.ts +6 -0
- package/src/lib/update/migration-manifest.js +7 -0
- package/src/lib/update/migration-manifest.js.map +1 -1
- package/src/lib/update/migrations-command.js +1 -0
- package/src/lib/update/migrations-command.js.map +1 -1
- package/src/lib/update/run-migrations.d.ts +22 -0
- package/src/lib/update/run-migrations.js +60 -1
- package/src/lib/update/run-migrations.js.map +1 -1
- package/src/lib/update/update-command.d.ts +10 -0
- package/src/lib/update/update-command.js +28 -2
- package/src/lib/update/update-command.js.map +1 -1
|
@@ -0,0 +1,64 @@
|
|
|
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.designComplete = exports.COMPLETE_USAGE = void 0;
|
|
13
|
+
const complete_1 = require("./complete");
|
|
14
|
+
const resolve_product_1 = require("./resolve-product");
|
|
15
|
+
const cli_args_1 = require("./sketch/cli-args");
|
|
16
|
+
const sketch_1 = require("./sketch/sketch");
|
|
17
|
+
exports.COMPLETE_USAGE = 'complete <layer>/<name> [--product <name>]';
|
|
18
|
+
/** `et design complete <layer>/<name>` exits 1 while a control the part declares lacks a drawn, reviewed state or surface. */
|
|
19
|
+
const designComplete = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
+
const { target, argv, invocation } = options;
|
|
21
|
+
const args = (0, cli_args_1.argsOf)(argv, ['--product']);
|
|
22
|
+
const usage = `usage: ${invocation} ${exports.COMPLETE_USAGE}`;
|
|
23
|
+
if (typeof args === 'string' || args.positional.length !== 1) {
|
|
24
|
+
if (typeof args === 'string')
|
|
25
|
+
console.error(args);
|
|
26
|
+
console.error(usage);
|
|
27
|
+
return 2;
|
|
28
|
+
}
|
|
29
|
+
const config = (0, cli_args_1.configOf)(target);
|
|
30
|
+
if (typeof config === 'string') {
|
|
31
|
+
console.error(config);
|
|
32
|
+
return 1;
|
|
33
|
+
}
|
|
34
|
+
const parsed = (0, sketch_1.parseTarget)(args.positional[0]);
|
|
35
|
+
if (typeof parsed === 'string') {
|
|
36
|
+
console.error(parsed);
|
|
37
|
+
return 1;
|
|
38
|
+
}
|
|
39
|
+
const product = (0, cli_args_1.oneProductOf)({ target, config, asked: args.values['--product'] });
|
|
40
|
+
if (typeof product === 'string') {
|
|
41
|
+
console.error(product);
|
|
42
|
+
return 1;
|
|
43
|
+
}
|
|
44
|
+
const part = (0, resolve_product_1.partKeyOf)(parsed);
|
|
45
|
+
const result = yield (0, complete_1.completenessOf)({ target, config, product, part, chromiumOf: options.chromiumOf });
|
|
46
|
+
if ('problem' in result) {
|
|
47
|
+
console.error(result.problem);
|
|
48
|
+
return 1;
|
|
49
|
+
}
|
|
50
|
+
if ('unavailable' in result) {
|
|
51
|
+
console.error(`design complete needs a browser: ${result.unavailable}`);
|
|
52
|
+
return 1;
|
|
53
|
+
}
|
|
54
|
+
for (const gap of result.gaps)
|
|
55
|
+
console.error((0, complete_1.completenessGapLineOf)(gap));
|
|
56
|
+
if (result.gaps.length > 0) {
|
|
57
|
+
console.error(`${part} in ${product.name} is not design complete: ${result.gaps.length} gap(s)`);
|
|
58
|
+
return 1;
|
|
59
|
+
}
|
|
60
|
+
console.log(`${part} in ${product.name} is design complete`);
|
|
61
|
+
return 0;
|
|
62
|
+
});
|
|
63
|
+
exports.designComplete = designComplete;
|
|
64
|
+
//# sourceMappingURL=complete-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"complete-command.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/complete-command.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,yCAAmE;AACnE,uDAA8C;AAC9C,gDAAmE;AACnE,4CAA8C;AAEjC,QAAA,cAAc,GAAG,4CAA4C,CAAC;AAE3E,8HAA8H;AACvH,MAAM,cAAc,GAAG,CAAO,OAKpC,EAAE,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC7C,MAAM,IAAI,GAAG,IAAA,iBAAM,EAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,UAAU,IAAI,sBAAc,EAAE,CAAC;IAEvD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAErB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,mBAAQ,EAAC,MAAM,CAAC,CAAC;IAEhC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEtB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEtB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,uBAAY,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAElF,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEvB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,IAAI,GAAG,IAAA,2BAAS,EAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAM,IAAA,yBAAc,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAEvG,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE9B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,aAAa,IAAI,MAAM,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,oCAAoC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAExE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI;QAAE,OAAO,CAAC,KAAK,CAAC,IAAA,gCAAqB,EAAC,GAAG,CAAC,CAAC,CAAC;IAEzE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,OAAO,OAAO,CAAC,IAAI,4BAA4B,MAAM,CAAC,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC;QAEjG,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,OAAO,OAAO,CAAC,IAAI,qBAAqB,CAAC,CAAC;IAE7D,OAAO,CAAC,CAAC;AACX,CAAC,CAAA,CAAC;AApEW,QAAA,cAAc,kBAoEzB"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { chromiumOf } from '../browser';
|
|
2
|
+
import { DesignConfig } from '../paths';
|
|
3
|
+
import { ResolvedProduct } from './resolve-product';
|
|
4
|
+
/** One requirement of a part that `design complete` finds without evidence. `target` is `<part>[.<control>[.<requirement>]]`. */
|
|
5
|
+
export type CompletenessGap = {
|
|
6
|
+
code: string;
|
|
7
|
+
target: string;
|
|
8
|
+
detail: string;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* An element of a drawn frame that looks interactive. `control` is a native control, an interactive role or a known
|
|
12
|
+
* SDK control; `unclassified` has a pointer cursor or a matched `:hover` rule and sits in no control. `marked` is the
|
|
13
|
+
* `data-et-control` that declares it, `within` every `data-et-control` around it, nearest first.
|
|
14
|
+
*/
|
|
15
|
+
export type FoundControl = {
|
|
16
|
+
kind: 'control' | 'unclassified';
|
|
17
|
+
what: string;
|
|
18
|
+
path: string;
|
|
19
|
+
marked: string | null;
|
|
20
|
+
within: string[];
|
|
21
|
+
};
|
|
22
|
+
/** What one drawn frame of a state shows of the controls and surfaces its markup marks. */
|
|
23
|
+
export type SeenFrame = {
|
|
24
|
+
state: string;
|
|
25
|
+
interaction: string | null;
|
|
26
|
+
controls: {
|
|
27
|
+
id: string;
|
|
28
|
+
forced: {
|
|
29
|
+
interaction: string;
|
|
30
|
+
differs: boolean;
|
|
31
|
+
still?: string[];
|
|
32
|
+
}[];
|
|
33
|
+
}[];
|
|
34
|
+
surfaces: {
|
|
35
|
+
id: string;
|
|
36
|
+
shown: boolean;
|
|
37
|
+
}[];
|
|
38
|
+
found?: FoundControl[];
|
|
39
|
+
};
|
|
40
|
+
/** The gaps of each part a control names in `part`, or why it could not be checked. */
|
|
41
|
+
export type ReferencedParts = Record<string, CompletenessGap[] | string>;
|
|
42
|
+
/**
|
|
43
|
+
* The gaps of one part, from its `controls` declaration, its state names and what each drawn frame showed.
|
|
44
|
+
* A part that is not `reviewed` (its files differ from its merged.json hash) has no reviewed evidence at all.
|
|
45
|
+
*/
|
|
46
|
+
export declare const completenessGapsOf: (options: {
|
|
47
|
+
part: string;
|
|
48
|
+
controls: unknown;
|
|
49
|
+
states: string[];
|
|
50
|
+
frames: SeenFrame[];
|
|
51
|
+
reviewed: boolean;
|
|
52
|
+
grid?: unknown;
|
|
53
|
+
referenced?: ReferencedParts;
|
|
54
|
+
}) => CompletenessGap[];
|
|
55
|
+
export declare const completenessGapLineOf: (gap: CompletenessGap) => string;
|
|
56
|
+
/**
|
|
57
|
+
* Draws every state of one part, at rest and in each interaction it declares, once at its first preset or width,
|
|
58
|
+
* and answers the gaps of its `controls` declaration, or why it could not draw. A part a control names in `part`
|
|
59
|
+
* is checked the same way, and its gaps fail the control.
|
|
60
|
+
*/
|
|
61
|
+
export declare const completenessOf: (options: {
|
|
62
|
+
target: string;
|
|
63
|
+
config: DesignConfig;
|
|
64
|
+
product: ResolvedProduct;
|
|
65
|
+
part: string;
|
|
66
|
+
chromiumOf?: typeof chromiumOf;
|
|
67
|
+
}) => Promise<{
|
|
68
|
+
gaps: CompletenessGap[];
|
|
69
|
+
} | {
|
|
70
|
+
unavailable: string;
|
|
71
|
+
} | {
|
|
72
|
+
problem: string;
|
|
73
|
+
}>;
|