@ethlete/cli 3.0.0-next.23 → 3.0.0-next.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +48 -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/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/contact-sheet.d.ts +26 -13
- package/src/lib/design/contact-sheet.js +122 -40
- package/src/lib/design/contact-sheet.js.map +1 -1
- package/src/lib/design/design-command.js +20 -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/serve.js +74 -18
- package/src/lib/design/serve.js.map +1 -1
- package/src/lib/design/shot-command.d.ts +4 -4
- package/src/lib/design/shot-command.js +48 -40
- 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.js +55 -24
- 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 +9 -6
- package/src/lib/design/studio-api.js +50 -16
- 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 +17 -0
- 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 +54 -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 +8 -3
- package/src/lib/design/system/sketch/sketch.js +76 -34
- package/src/lib/design/system/sketch/sketch.js.map +1 -1
- package/src/lib/design/system/sketch/unchanged-states.d.ts +10 -4
- package/src/lib/design/system/sketch/unchanged-states.js +37 -23
- 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/variant-diff.d.ts +12 -10
- package/src/lib/design/variant-diff.js +14 -13
- 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/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
|
@@ -10,32 +10,46 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.sketchShowsNoChange = void 0;
|
|
13
|
+
const merge_compare_1 = require("../../merge-compare");
|
|
13
14
|
const list_system_1 = require("../list-system");
|
|
14
15
|
const product_1 = require("../product");
|
|
15
16
|
const resolve_product_1 = require("../resolve-product");
|
|
17
|
+
const merge_preview_1 = require("./merge-preview");
|
|
16
18
|
const overlay_1 = require("./overlay");
|
|
17
19
|
const sketch_1 = require("./sketch");
|
|
18
20
|
const unchanged_states_1 = require("./unchanged-states");
|
|
19
|
-
const
|
|
20
|
-
var _a;
|
|
21
|
+
const affectedChangeOf = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
21
22
|
const { product, sketch, variant, load, pictureOf } = options;
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
const { changed } = yield (0, merge_compare_1.compareMerge)({
|
|
24
|
+
product,
|
|
25
|
+
sketch,
|
|
26
|
+
variant,
|
|
27
|
+
size: null,
|
|
28
|
+
params: new URLSearchParams(),
|
|
29
|
+
pictureOf,
|
|
30
|
+
load: (part) => load(Object.assign(Object.assign({}, part), { sketch: null })),
|
|
31
|
+
});
|
|
32
|
+
if (changed.length === 0)
|
|
33
|
+
return null;
|
|
34
|
+
const rows = changed.map((row) => [row.part, row.state, row.error ? `(${row.error})` : ''].filter((entry) => entry !== '').join(' '));
|
|
35
|
+
return `variant ${variant} changes ${rows.join(', ')}`;
|
|
36
|
+
});
|
|
37
|
+
const partChangeOf = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
38
|
+
var _a;
|
|
39
|
+
const { product, sketch, variant, load, pictureOf, part, named } = options;
|
|
40
|
+
const file = (_a = (0, overlay_1.overlaySketch)({ product, sketch, variant }).parts.find((entry) => (0, resolve_product_1.partKeyOf)(entry) === part)) === null || _a === void 0 ? void 0 : _a.file;
|
|
28
41
|
if (!file)
|
|
29
|
-
return `variant ${variant} does not draw ${
|
|
42
|
+
return `variant ${variant} does not draw ${part}`;
|
|
30
43
|
const read = yield (0, list_system_1.readPartModule)({
|
|
31
44
|
part: { file },
|
|
32
45
|
product: product.name,
|
|
33
46
|
load: () => load({ file, product: product.name, sketch: { target: sketch.target, variant } }),
|
|
34
47
|
});
|
|
48
|
+
const of = named ? ` ${part}` : '';
|
|
35
49
|
if (read.problem)
|
|
36
|
-
return `variant ${variant} does not load: ${read.problem}`;
|
|
50
|
+
return `variant ${variant}${of} does not load: ${read.problem}`;
|
|
37
51
|
if (read.states.length === 0)
|
|
38
|
-
return `variant ${variant} has no states`;
|
|
52
|
+
return `variant ${variant}${of} has no states`;
|
|
39
53
|
const failures = new Set();
|
|
40
54
|
const recording = (picture) => __awaiter(void 0, void 0, void 0, function* () {
|
|
41
55
|
try {
|
|
@@ -46,23 +60,40 @@ const variantChangeOf = (options) => __awaiter(void 0, void 0, void 0, function*
|
|
|
46
60
|
throw error;
|
|
47
61
|
}
|
|
48
62
|
});
|
|
49
|
-
const unchanged = yield (0, unchanged_states_1.unchangedStatesOf)({ product, sketch, variant, load, pictureOf: recording });
|
|
63
|
+
const unchanged = yield (0, unchanged_states_1.unchangedStatesOf)({ product, sketch, variant, load, pictureOf: recording, part });
|
|
50
64
|
const changed = read.states.filter((state) => !unchanged.includes(state));
|
|
51
65
|
if (changed.length === 0)
|
|
52
66
|
return null;
|
|
53
67
|
const failed = failures.size > 0 ? ` - a shot failed: ${[...failures].join('; ')}` : '';
|
|
54
|
-
return `variant ${variant} changes ${changed.join(', ')}${failed}`;
|
|
68
|
+
return `variant ${variant} changes${of} ${changed.join(', ')}${failed}`;
|
|
69
|
+
});
|
|
70
|
+
const variantChangeOf = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
71
|
+
const { product, sketch, variant } = options;
|
|
72
|
+
const others = (0, product_1.partFilesOf)((0, sketch_1.variantDirOf)(sketch, variant))
|
|
73
|
+
.parts.map(resolve_product_1.partKeyOf)
|
|
74
|
+
.filter((key) => !sketch.targets.includes(key));
|
|
75
|
+
if (others.length > 0)
|
|
76
|
+
return `variant ${variant} also holds ${others.join(', ')}`;
|
|
77
|
+
const parts = [...sketch.targets, ...(0, merge_preview_1.mergePreviewOf)({ product, sketch, variant }).shared];
|
|
78
|
+
for (const part of parts) {
|
|
79
|
+
const change = yield partChangeOf(Object.assign(Object.assign({}, options), { part, named: parts.length > 1 }));
|
|
80
|
+
if (change !== null)
|
|
81
|
+
return change;
|
|
82
|
+
}
|
|
83
|
+
return affectedChangeOf(options);
|
|
55
84
|
});
|
|
56
85
|
/**
|
|
57
|
-
* `true` when every state of every variant of the sketch draws the same pixels as the product
|
|
58
|
-
* every frame
|
|
59
|
-
*
|
|
86
|
+
* `true` when every state of every target of every live variant of the sketch draws the same pixels as the product
|
|
87
|
+
* does now, in every frame, and so does each state of every part a `shared/` edit of the variant reaches and of every
|
|
88
|
+
* part that shows one of them; otherwise why not. A variant that holds a part other than a target, or a state that
|
|
89
|
+
* fails to draw, counts as a change.
|
|
60
90
|
*/
|
|
61
91
|
const sketchShowsNoChange = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
62
92
|
const { sketch } = options;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
93
|
+
const live = sketch.variants.filter((variant) => !(0, sketch_1.rejectionOf)(sketch, variant));
|
|
94
|
+
if (live.length === 0)
|
|
95
|
+
return 'the sketch has no live variant';
|
|
96
|
+
const changes = yield Promise.all(live.map((variant) => variantChangeOf(Object.assign(Object.assign({}, options), { variant }))));
|
|
66
97
|
const found = changes.filter((change) => change !== null);
|
|
67
98
|
return found.length === 0 ? true : found.join('; ');
|
|
68
99
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-visible-change.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/no-visible-change.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"no-visible-change.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/no-visible-change.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,10 @@ const layers_1 = require("../layers");
|
|
|
8
8
|
const product_1 = require("../product");
|
|
9
9
|
const resolve_product_1 = require("../resolve-product");
|
|
10
10
|
const sketch_1 = require("./sketch");
|
|
11
|
-
const mayChange = (sketch, part) =>
|
|
11
|
+
const mayChange = (sketch, part) => sketch.targets.some((key) => {
|
|
12
|
+
const layer = key.split('/')[0];
|
|
13
|
+
return key === (0, resolve_product_1.partKeyOf)(part) || part.layer === layer || layers_1.LAYER_USES[layer].includes(part.layer);
|
|
14
|
+
});
|
|
12
15
|
/**
|
|
13
16
|
* The product as one variant of a sketch draws it: each part the variant holds replaces the part the
|
|
14
17
|
* product resolves under the same name, or joins it when the product has none. `sketched` names the
|
|
@@ -30,7 +33,9 @@ const overlaySketch = (options) => {
|
|
|
30
33
|
.map((part) => ({
|
|
31
34
|
rule: 'SKETCH',
|
|
32
35
|
file: part.file,
|
|
33
|
-
message:
|
|
36
|
+
message: sketch.targets.length > 1
|
|
37
|
+
? `a sketch on ${sketch.targets.join(', ')} may change their layers and the layers below them, not ${(0, resolve_product_1.partKeyOf)(part)}`
|
|
38
|
+
: `a sketch on ${sketch.target} may change ${sketch.layer} and the layers below it, not ${(0, resolve_product_1.partKeyOf)(part)}`,
|
|
34
39
|
}));
|
|
35
40
|
return Object.assign(Object.assign({}, product), { parts, fixtures: (_a = (0, product_1.fixturesOf)(dir)) !== null && _a !== void 0 ? _a : product.fixtures, problems: [...product.problems, ...own.problems, ...outside], sketched: [...keys], sharedDir: (0, sketch_1.sharedDirOf)(sketch), variantSharedDir: (0, sketch_1.variantSharedDirOf)(sketch, variant), assetsDir: (0, path_1.resolve)(dir, assets_1.ASSETS_FOLDER) });
|
|
36
41
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/overlay.ts"],"names":[],"mappings":";;;AAAA,2BAA8C;AAC9C,+BAA+B;AAC/B,sCAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"overlay.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/overlay.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,3 +29,15 @@ export declare const widthsOf: (source: string) => number[] | null;
|
|
|
29
29
|
* without running it. An empty list when it has none or they are not written as a literal list.
|
|
30
30
|
*/
|
|
31
31
|
export declare const interactionNamesOf: (source: string) => string[];
|
|
32
|
+
/**
|
|
33
|
+
* The motions a part file writes in `definePart({ motions: { … } })` with the `from` and `to` it gives as string
|
|
34
|
+
* literals, and the `motion` each literal rule in `rules` names, read without running it.
|
|
35
|
+
*/
|
|
36
|
+
export declare const motionRefsOf: (source: string) => {
|
|
37
|
+
motions: {
|
|
38
|
+
name: string;
|
|
39
|
+
from: string | null;
|
|
40
|
+
to: string | null;
|
|
41
|
+
}[];
|
|
42
|
+
ruleMotions: string[];
|
|
43
|
+
};
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.interactionNamesOf = exports.widthsOf = exports.hasBadWidths = exports.withMadeBy = exports.withNote = exports.noteOf = exports.madeByOf = exports.stateNamesOf = void 0;
|
|
6
|
+
exports.motionRefsOf = exports.interactionNamesOf = exports.widthsOf = exports.hasBadWidths = exports.withMadeBy = exports.withNote = exports.noteOf = exports.madeByOf = exports.stateNamesOf = void 0;
|
|
7
7
|
const typescript_1 = __importDefault(require("typescript"));
|
|
8
8
|
const definitionOf = (source) => {
|
|
9
9
|
const file = typescript_1.default.createSourceFile('part.ts', source, typescript_1.default.ScriptTarget.Latest, true);
|
|
@@ -154,4 +154,43 @@ const interactionNamesOf = (source) => {
|
|
|
154
154
|
return interactions.elements.flatMap((element) => typescript_1.default.isStringLiteral(element) || typescript_1.default.isNoSubstitutionTemplateLiteral(element) ? [element.text] : []);
|
|
155
155
|
};
|
|
156
156
|
exports.interactionNamesOf = interactionNamesOf;
|
|
157
|
+
const literalOf = (node) => node && (typescript_1.default.isStringLiteral(node) || typescript_1.default.isNoSubstitutionTemplateLiteral(node)) ? node.text : null;
|
|
158
|
+
/**
|
|
159
|
+
* The motions a part file writes in `definePart({ motions: { … } })` with the `from` and `to` it gives as string
|
|
160
|
+
* literals, and the `motion` each literal rule in `rules` names, read without running it.
|
|
161
|
+
*/
|
|
162
|
+
const motionRefsOf = (source) => {
|
|
163
|
+
var _a, _b;
|
|
164
|
+
const { definition } = definitionOf(source);
|
|
165
|
+
const motions = definition ? (_a = propertyOf(definition, 'motions')) === null || _a === void 0 ? void 0 : _a.initializer : undefined;
|
|
166
|
+
const rules = definition ? (_b = propertyOf(definition, 'rules')) === null || _b === void 0 ? void 0 : _b.initializer : undefined;
|
|
167
|
+
return {
|
|
168
|
+
motions: motions && typescript_1.default.isObjectLiteralExpression(motions)
|
|
169
|
+
? motions.properties.flatMap((property) => {
|
|
170
|
+
var _a, _b;
|
|
171
|
+
if (!typescript_1.default.isPropertyAssignment(property) || !typescript_1.default.isObjectLiteralExpression(property.initializer))
|
|
172
|
+
return [];
|
|
173
|
+
const name = nameOf(property.name);
|
|
174
|
+
if (name === null)
|
|
175
|
+
return [];
|
|
176
|
+
const body = property.initializer;
|
|
177
|
+
return [
|
|
178
|
+
{
|
|
179
|
+
name,
|
|
180
|
+
from: literalOf((_a = propertyOf(body, 'from')) === null || _a === void 0 ? void 0 : _a.initializer),
|
|
181
|
+
to: literalOf((_b = propertyOf(body, 'to')) === null || _b === void 0 ? void 0 : _b.initializer),
|
|
182
|
+
},
|
|
183
|
+
];
|
|
184
|
+
})
|
|
185
|
+
: [],
|
|
186
|
+
ruleMotions: rules && typescript_1.default.isArrayLiteralExpression(rules)
|
|
187
|
+
? rules.elements.flatMap((rule) => {
|
|
188
|
+
var _a;
|
|
189
|
+
const name = typescript_1.default.isObjectLiteralExpression(rule) ? literalOf((_a = propertyOf(rule, 'motion')) === null || _a === void 0 ? void 0 : _a.initializer) : null;
|
|
190
|
+
return name === null ? [] : [name];
|
|
191
|
+
})
|
|
192
|
+
: [],
|
|
193
|
+
};
|
|
194
|
+
};
|
|
195
|
+
exports.motionRefsOf = motionRefsOf;
|
|
157
196
|
//# sourceMappingURL=part-definition.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"part-definition.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/part-definition.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"part-definition.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/part-definition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SHARED_FOLDER } from '../imports';
|
|
1
2
|
import { Layer } from '../layers';
|
|
2
3
|
import { ResolvedProduct } from '../resolve-product';
|
|
3
4
|
export declare const SKETCH_STATUSES: readonly ["in progress", "ready"];
|
|
@@ -55,6 +56,8 @@ export type SketchRound = {
|
|
|
55
56
|
};
|
|
56
57
|
export type SketchFile = {
|
|
57
58
|
target: string;
|
|
59
|
+
/** Every part the sketch targets, `target` first; absent on a sketch with one target. */
|
|
60
|
+
targets?: string[];
|
|
58
61
|
status: SketchStatus;
|
|
59
62
|
createdAt: string;
|
|
60
63
|
/** The content hash of each part and of the fixtures in the product when the sketch was created or rebased. */
|
|
@@ -67,6 +70,7 @@ export type SketchFile = {
|
|
|
67
70
|
};
|
|
68
71
|
/** A sketch as read: `rounds` holds at least one round, and `variantInfo` names the round of every variant. */
|
|
69
72
|
export type Sketch = SketchFile & {
|
|
73
|
+
targets: string[];
|
|
70
74
|
rounds: SketchRound[];
|
|
71
75
|
variantInfo: Record<string, SketchVariantInfo>;
|
|
72
76
|
product: string;
|
|
@@ -83,8 +87,7 @@ export declare const sketchDirOf: (options: {
|
|
|
83
87
|
sketch: SketchTarget;
|
|
84
88
|
}) => string;
|
|
85
89
|
export declare const variantDirOf: (sketch: Sketch, variant: string) => string;
|
|
86
|
-
|
|
87
|
-
export declare const SHARED_FOLDER = "shared";
|
|
90
|
+
export { SHARED_FOLDER };
|
|
88
91
|
export declare const sharedDirOf: (sketch: Pick<Sketch, "dir">) => string;
|
|
89
92
|
/** A variant's own `shared/` folder: a file there wins over the sketch's `shared/` file of the same path. */
|
|
90
93
|
export declare const variantSharedDirOf: (sketch: Sketch, variant: string) => string;
|
|
@@ -110,6 +113,7 @@ export declare const listSketches: (options: {
|
|
|
110
113
|
productDir: string;
|
|
111
114
|
product: string;
|
|
112
115
|
}) => (string | Sketch)[];
|
|
116
|
+
/** The open sketch that targets `sketch`, found by its first target or by any other it names; `null` when none does. */
|
|
113
117
|
export declare const findSketch: (options: {
|
|
114
118
|
productDir: string;
|
|
115
119
|
product: string;
|
|
@@ -135,11 +139,12 @@ export declare const sketchSourceOf: (options: {
|
|
|
135
139
|
* author. Each variant starts from `like` when given - renamed to the target, without its `madeBy`, and with its
|
|
136
140
|
* sketch's `shared/` folder - else from the part the product resolves for the target, or from an empty part when the
|
|
137
141
|
* target is new. A part's own `shared/` folder becomes the sketch's, imported as `@shared/`. A target holds one open
|
|
138
|
-
* sketch at a time.
|
|
142
|
+
* sketch at a time. Each of `others` joins every variant the same way, as a further target; `like` takes one target only.
|
|
139
143
|
*/
|
|
140
144
|
export declare const createSketch: (options: {
|
|
141
145
|
product: ResolvedProduct;
|
|
142
146
|
sketch: SketchTarget;
|
|
147
|
+
others?: SketchTarget[];
|
|
143
148
|
variants: string[];
|
|
144
149
|
roundTitle?: string;
|
|
145
150
|
roundNote?: string;
|
|
@@ -18,6 +18,7 @@ const json_layout_1 = require("../../json-layout");
|
|
|
18
18
|
const status_1 = require("../../status");
|
|
19
19
|
const assets_1 = require("../assets");
|
|
20
20
|
const imports_1 = require("../imports");
|
|
21
|
+
Object.defineProperty(exports, "SHARED_FOLDER", { enumerable: true, get: function () { return imports_1.SHARED_FOLDER; } });
|
|
21
22
|
const layers_1 = require("../layers");
|
|
22
23
|
const resolve_product_1 = require("../resolve-product");
|
|
23
24
|
const baseline_1 = require("./baseline");
|
|
@@ -33,12 +34,10 @@ const sketchDirOf = (options) => (0, path_1.resolve)((0, exports.sketchesDirOf)(
|
|
|
33
34
|
exports.sketchDirOf = sketchDirOf;
|
|
34
35
|
const variantDirOf = (sketch, variant) => (0, path_1.resolve)(sketch.dir, variant);
|
|
35
36
|
exports.variantDirOf = variantDirOf;
|
|
36
|
-
|
|
37
|
-
exports.SHARED_FOLDER = 'shared';
|
|
38
|
-
const sharedDirOf = (sketch) => (0, path_1.resolve)(sketch.dir, exports.SHARED_FOLDER);
|
|
37
|
+
const sharedDirOf = (sketch) => (0, path_1.resolve)(sketch.dir, imports_1.SHARED_FOLDER);
|
|
39
38
|
exports.sharedDirOf = sharedDirOf;
|
|
40
39
|
/** A variant's own `shared/` folder: a file there wins over the sketch's `shared/` file of the same path. */
|
|
41
|
-
const variantSharedDirOf = (sketch, variant) => (0, path_1.resolve)((0, exports.variantDirOf)(sketch, variant),
|
|
40
|
+
const variantSharedDirOf = (sketch, variant) => (0, path_1.resolve)((0, exports.variantDirOf)(sketch, variant), imports_1.SHARED_FOLDER);
|
|
42
41
|
exports.variantSharedDirOf = variantSharedDirOf;
|
|
43
42
|
const SOURCE = /\.(?:ts|js|mjs)$/u;
|
|
44
43
|
const sourceFilesIn = (dir) => (0, fs_1.existsSync)(dir)
|
|
@@ -49,7 +48,7 @@ const sourceFilesIn = (dir) => (0, fs_1.existsSync)(dir)
|
|
|
49
48
|
exports.sourceFilesIn = sourceFilesIn;
|
|
50
49
|
const liftShared = (options) => {
|
|
51
50
|
const { partDir, sketchSharedDir } = options;
|
|
52
|
-
const shared = (0, path_1.resolve)(partDir,
|
|
51
|
+
const shared = (0, path_1.resolve)(partDir, imports_1.SHARED_FOLDER);
|
|
53
52
|
if (!(0, fs_1.existsSync)(shared))
|
|
54
53
|
return;
|
|
55
54
|
for (const file of (0, exports.sourceFilesIn)(partDir)) {
|
|
@@ -66,6 +65,23 @@ const liftShared = (options) => {
|
|
|
66
65
|
(0, fs_1.cpSync)(shared, sketchSharedDir, { recursive: true });
|
|
67
66
|
(0, fs_1.rmSync)(shared, { recursive: true });
|
|
68
67
|
};
|
|
68
|
+
const sharedClashOf = (parts) => {
|
|
69
|
+
const seen = new Map();
|
|
70
|
+
for (const part of parts) {
|
|
71
|
+
if (!part)
|
|
72
|
+
continue;
|
|
73
|
+
const shared = (0, path_1.resolve)((0, path_1.dirname)(part.file), imports_1.SHARED_FOLDER);
|
|
74
|
+
for (const file of (0, assets_1.filesBelow)(shared)) {
|
|
75
|
+
const path = (0, path_1.relative)(shared, file).split(path_1.sep).join('/');
|
|
76
|
+
const source = (0, fs_1.readFileSync)(file, 'utf8');
|
|
77
|
+
const held = seen.get(path);
|
|
78
|
+
if (held && held.source !== source)
|
|
79
|
+
return `${held.key} and ${(0, resolve_product_1.partKeyOf)(part)} each hold a different ${imports_1.SHARED_FOLDER}/${path} - rename one, then open the sketch`;
|
|
80
|
+
seen.set(path, { key: (0, resolve_product_1.partKeyOf)(part), source });
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return undefined;
|
|
84
|
+
};
|
|
69
85
|
/** Reads `<layer>/<name>` as a sketch target, or answers with why it is not one. */
|
|
70
86
|
const parseTarget = (value) => {
|
|
71
87
|
const [layer = '', name = '', ...rest] = (value !== null && value !== void 0 ? value : '').split('/');
|
|
@@ -74,7 +90,7 @@ const parseTarget = (value) => {
|
|
|
74
90
|
return { layer, name };
|
|
75
91
|
};
|
|
76
92
|
exports.parseTarget = parseTarget;
|
|
77
|
-
const isVariantName = (name) => NAME.test(name) && name !==
|
|
93
|
+
const isVariantName = (name) => NAME.test(name) && name !== imports_1.SHARED_FOLDER;
|
|
78
94
|
exports.isVariantName = isVariantName;
|
|
79
95
|
const foldersOf = (dir) => (0, fs_1.existsSync)(dir)
|
|
80
96
|
? (0, fs_1.readdirSync)(dir)
|
|
@@ -154,7 +170,7 @@ const authorsOf = (sketch, variant) => { var _a, _b, _c; return (_c = (_b = (_a
|
|
|
154
170
|
exports.authorsOf = authorsOf;
|
|
155
171
|
/** The sketch in a sketch folder, or why it cannot be read. */
|
|
156
172
|
const readSketch = (options) => {
|
|
157
|
-
var _a, _b, _c, _d;
|
|
173
|
+
var _a, _b, _c, _d, _e;
|
|
158
174
|
const { product, dir } = options;
|
|
159
175
|
const file = (0, path_1.resolve)(dir, exports.SKETCH_FILE);
|
|
160
176
|
if (!(0, fs_1.existsSync)(file))
|
|
@@ -169,6 +185,12 @@ const readSketch = (options) => {
|
|
|
169
185
|
const target = (0, exports.parseTarget)(parsed.target);
|
|
170
186
|
if (typeof target === 'string')
|
|
171
187
|
return `${file}: ${target}`;
|
|
188
|
+
const targets = (_a = parsed.targets) !== null && _a !== void 0 ? _a : [(0, resolve_product_1.partKeyOf)(target)];
|
|
189
|
+
if (!Array.isArray(targets) ||
|
|
190
|
+
targets[0] !== (0, resolve_product_1.partKeyOf)(target) ||
|
|
191
|
+
new Set(targets).size !== targets.length ||
|
|
192
|
+
targets.some((entry) => typeof (0, exports.parseTarget)(entry) === 'string'))
|
|
193
|
+
return `${file}: targets must list unique <layer>/<name> keys, the target first`;
|
|
172
194
|
if (!isStatus(parsed.status))
|
|
173
195
|
return `${file}: status must be one of ${exports.SKETCH_STATUSES.join(', ')}`;
|
|
174
196
|
if (parsed.variantInfo !== undefined && !isVariantInfo(parsed.variantInfo))
|
|
@@ -177,16 +199,17 @@ const readSketch = (options) => {
|
|
|
177
199
|
return `${file}: rejections must be { <variant>: [{ by: designer | agent, decidedAt, reason?, reasonBy?, reopened?: { by, decidedAt, reason? } }] }, each but the last reopened`;
|
|
178
200
|
if (parsed.rounds !== undefined && !isRounds(parsed.rounds))
|
|
179
201
|
return `${file}: rounds must be a non-empty list of { key, title, note } with unique keys`;
|
|
180
|
-
const rounds = (
|
|
202
|
+
const rounds = (_b = parsed.rounds) !== null && _b !== void 0 ? _b : [firstRoundOf()];
|
|
181
203
|
const running = (0, exports.runningRoundOf)({ rounds }).key;
|
|
182
|
-
const variants = foldersOf(dir).filter((folder) => folder !==
|
|
204
|
+
const variants = foldersOf(dir).filter((folder) => folder !== imports_1.SHARED_FOLDER);
|
|
183
205
|
const variantInfo = Object.assign({}, parsed.variantInfo);
|
|
184
206
|
for (const variant of variants)
|
|
185
|
-
variantInfo[variant] = Object.assign(Object.assign({}, variantInfo[variant]), { round: (
|
|
207
|
+
variantInfo[variant] = Object.assign(Object.assign({}, variantInfo[variant]), { round: (_d = (_c = variantInfo[variant]) === null || _c === void 0 ? void 0 : _c.round) !== null && _d !== void 0 ? _d : running });
|
|
186
208
|
const lost = variants.find((variant) => !rounds.some((round) => { var _a; return round.key === ((_a = variantInfo[variant]) === null || _a === void 0 ? void 0 : _a.round); }));
|
|
187
209
|
if (lost !== undefined)
|
|
188
|
-
return `${file}: variant ${lost} names round "${(
|
|
189
|
-
return Object.assign(Object.assign({}, parsed), {
|
|
210
|
+
return `${file}: variant ${lost} names round "${(_e = variantInfo[lost]) === null || _e === void 0 ? void 0 : _e.round}", which rounds does not hold`;
|
|
211
|
+
return Object.assign(Object.assign({}, parsed), { targets,
|
|
212
|
+
rounds,
|
|
190
213
|
variantInfo,
|
|
191
214
|
product, layer: target.layer, name: target.name, dir,
|
|
192
215
|
variants });
|
|
@@ -195,13 +218,18 @@ exports.readSketch = readSketch;
|
|
|
195
218
|
/** Every sketch folder of a product, read; a folder that cannot be read answers with its problem. */
|
|
196
219
|
const listSketches = (options) => foldersOf((0, exports.sketchesDirOf)(options.productDir)).map((folder) => (0, exports.readSketch)({ product: options.product, dir: (0, path_1.resolve)((0, exports.sketchesDirOf)(options.productDir), folder) }));
|
|
197
220
|
exports.listSketches = listSketches;
|
|
221
|
+
/** The open sketch that targets `sketch`, found by its first target or by any other it names; `null` when none does. */
|
|
198
222
|
const findSketch = (options) => {
|
|
223
|
+
var _a;
|
|
199
224
|
const dir = (0, exports.sketchDirOf)(options);
|
|
200
|
-
|
|
225
|
+
if ((0, fs_1.existsSync)(dir))
|
|
226
|
+
return (0, exports.readSketch)({ product: options.product, dir });
|
|
227
|
+
const key = (0, resolve_product_1.partKeyOf)(options.sketch);
|
|
228
|
+
return ((_a = (0, exports.listSketches)(options).find((sketch) => typeof sketch !== 'string' && sketch.targets.includes(key))) !== null && _a !== void 0 ? _a : null);
|
|
201
229
|
};
|
|
202
230
|
exports.findSketch = findSketch;
|
|
203
231
|
const writeSketchFile = (sketch) => {
|
|
204
|
-
const file = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ target: (0, resolve_product_1.partKeyOf)(sketch), status: sketch.status, createdAt: sketch.createdAt }, (sketch.baseline ? { baseline: sketch.baseline } : {})), (sketch.decision ? { decision: sketch.decision } : {})), { rounds: sketch.rounds }), (Object.keys(sketch.variantInfo).length > 0 ? { variantInfo: sketch.variantInfo } : {})), (sketch.rejections && Object.keys(sketch.rejections).length > 0 ? { rejections: sketch.rejections } : {}));
|
|
232
|
+
const file = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ target: (0, resolve_product_1.partKeyOf)(sketch) }, (sketch.targets.length > 1 ? { targets: sketch.targets } : {})), { status: sketch.status, createdAt: sketch.createdAt }), (sketch.baseline ? { baseline: sketch.baseline } : {})), (sketch.decision ? { decision: sketch.decision } : {})), { rounds: sketch.rounds }), (Object.keys(sketch.variantInfo).length > 0 ? { variantInfo: sketch.variantInfo } : {})), (sketch.rejections && Object.keys(sketch.rejections).length > 0 ? { rejections: sketch.rejections } : {}));
|
|
205
233
|
(0, fs_1.writeFileSync)((0, path_1.resolve)(sketch.dir, exports.SKETCH_FILE), (0, json_layout_1.jsonLayoutOf)(file));
|
|
206
234
|
};
|
|
207
235
|
exports.writeSketchFile = writeSketchFile;
|
|
@@ -288,14 +316,22 @@ const variantInfoOf = (options) => {
|
|
|
288
316
|
* author. Each variant starts from `like` when given - renamed to the target, without its `madeBy`, and with its
|
|
289
317
|
* sketch's `shared/` folder - else from the part the product resolves for the target, or from an empty part when the
|
|
290
318
|
* target is new. A part's own `shared/` folder becomes the sketch's, imported as `@shared/`. A target holds one open
|
|
291
|
-
* sketch at a time.
|
|
319
|
+
* sketch at a time. Each of `others` joins every variant the same way, as a further target; `like` takes one target only.
|
|
292
320
|
*/
|
|
293
321
|
const createSketch = (options) => {
|
|
322
|
+
var _a;
|
|
294
323
|
const { product, sketch, variants, roundTitle, roundNote, author, like, variantNotes } = options;
|
|
295
324
|
const dir = (0, exports.sketchDirOf)({ productDir: product.dir, sketch });
|
|
296
325
|
const key = (0, resolve_product_1.partKeyOf)(sketch);
|
|
297
|
-
|
|
298
|
-
|
|
326
|
+
const all = [sketch, ...((_a = options.others) !== null && _a !== void 0 ? _a : [])];
|
|
327
|
+
const targets = all.map(resolve_product_1.partKeyOf);
|
|
328
|
+
if (new Set(targets).size !== targets.length)
|
|
329
|
+
return 'name each target once';
|
|
330
|
+
if (like && all.length > 1)
|
|
331
|
+
return '--like starts one target - open a sketch with several targets without it';
|
|
332
|
+
const taken = all.find((target) => (0, exports.findSketch)({ productDir: product.dir, product: product.name, sketch: target }) !== null);
|
|
333
|
+
if ((0, fs_1.existsSync)(dir) || taken)
|
|
334
|
+
return `${(0, resolve_product_1.partKeyOf)(taken !== null && taken !== void 0 ? taken : sketch)} already has an open sketch - merge or discard it first`;
|
|
299
335
|
if (variants.length === 0)
|
|
300
336
|
return 'name at least one variant';
|
|
301
337
|
const invalid = variants.find((variant) => !(0, exports.isVariantName)(variant));
|
|
@@ -303,34 +339,40 @@ const createSketch = (options) => {
|
|
|
303
339
|
return `"${invalid}" is no variant name - use lower case letters, digits and dashes, and not "shared"`;
|
|
304
340
|
if (new Set(variants).size !== variants.length)
|
|
305
341
|
return 'each variant name must be unique';
|
|
306
|
-
const
|
|
342
|
+
const clash = like
|
|
343
|
+
? undefined
|
|
344
|
+
: sharedClashOf(all.map((target) => product.parts.find((part) => (0, resolve_product_1.partKeyOf)(part) === (0, resolve_product_1.partKeyOf)(target))));
|
|
345
|
+
if (clash)
|
|
346
|
+
return clash;
|
|
307
347
|
for (const variant of variants) {
|
|
308
|
-
const folder = (0, path_1.resolve)(dir, variant, sketch.layer, sketch.name);
|
|
309
|
-
(0, fs_1.mkdirSync)(folder, { recursive: true });
|
|
310
348
|
(0, fs_1.mkdirSync)((0, path_1.resolve)(dir, variant, assets_1.ASSETS_FOLDER), { recursive: true });
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
349
|
+
for (const target of all) {
|
|
350
|
+
const folder = (0, path_1.resolve)(dir, variant, target.layer, target.name);
|
|
351
|
+
const existing = product.parts.find((part) => (0, resolve_product_1.partKeyOf)(part) === (0, resolve_product_1.partKeyOf)(target));
|
|
352
|
+
(0, fs_1.mkdirSync)(folder, { recursive: true });
|
|
353
|
+
if (like) {
|
|
354
|
+
copyPartAs({ from: like, to: folder, name: target.name });
|
|
355
|
+
liftShared({ partDir: folder, sketchSharedDir: (0, path_1.resolve)(dir, imports_1.SHARED_FOLDER) });
|
|
356
|
+
}
|
|
357
|
+
else if (existing) {
|
|
358
|
+
(0, fs_1.cpSync)((0, path_1.resolve)(existing.file, '..'), folder, { recursive: true });
|
|
359
|
+
liftShared({ partDir: folder, sketchSharedDir: (0, path_1.resolve)(dir, imports_1.SHARED_FOLDER) });
|
|
360
|
+
}
|
|
361
|
+
else if (target.layer === 'pages') {
|
|
321
362
|
const widths = [...new Set(Object.values(product.presets).map((preset) => preset.width))].sort((a, b) => a - b);
|
|
322
|
-
(0, fs_1.writeFileSync)((0, path_1.resolve)(folder, `${
|
|
363
|
+
(0, fs_1.writeFileSync)((0, path_1.resolve)(folder, `${target.name}.ts`), pageStubOf({ name: target.name, madeBy: author, widths }));
|
|
323
364
|
}
|
|
324
365
|
else {
|
|
325
|
-
(0, fs_1.writeFileSync)((0, path_1.resolve)(folder, `${
|
|
326
|
-
(0, fs_1.writeFileSync)((0, path_1.resolve)(folder, `${
|
|
366
|
+
(0, fs_1.writeFileSync)((0, path_1.resolve)(folder, `${target.name}.ts`), stubOf(target.name));
|
|
367
|
+
(0, fs_1.writeFileSync)((0, path_1.resolve)(folder, `${target.name}.css`), '');
|
|
327
368
|
}
|
|
328
369
|
}
|
|
329
370
|
}
|
|
330
371
|
if (like === null || like === void 0 ? void 0 : like.shared)
|
|
331
|
-
(0, fs_1.cpSync)(like.shared, (0, path_1.resolve)(dir,
|
|
372
|
+
(0, fs_1.cpSync)(like.shared, (0, path_1.resolve)(dir, imports_1.SHARED_FOLDER), { recursive: true });
|
|
332
373
|
const created = {
|
|
333
374
|
target: key,
|
|
375
|
+
targets,
|
|
334
376
|
status: 'in progress',
|
|
335
377
|
createdAt: new Date().toISOString(),
|
|
336
378
|
baseline: (0, baseline_1.baselineOf)(product),
|