@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
|
@@ -1,50 +1,148 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.carryShared = exports.sharedPlanOf = void 0;
|
|
3
|
+
exports.carryShared = exports.editedSharedPathsOf = exports.productSharedChangesOf = exports.sharedPlanOf = void 0;
|
|
4
4
|
const fs_1 = require("fs");
|
|
5
5
|
const path_1 = require("path");
|
|
6
|
+
const assets_1 = require("../assets");
|
|
6
7
|
const imports_1 = require("../imports");
|
|
7
8
|
const resolve_product_1 = require("../resolve-product");
|
|
8
9
|
const ts_source_1 = require("../ts-source");
|
|
9
10
|
const sketch_1 = require("./sketch");
|
|
10
|
-
const
|
|
11
|
-
const
|
|
11
|
+
const inProductShared = (product, path) => (0, imports_1.sharedFileOf)({ dirs: (0, imports_1.productSharedDirsOf)(product), path }) !== null;
|
|
12
|
+
const importsSketchShared = (product, file) => (0, ts_source_1.importsOf)((0, fs_1.readFileSync)(file, 'utf8')).some((specifier) => specifier.startsWith(imports_1.SHARED_PREFIX) && !inProductShared(product, specifier.slice(imports_1.SHARED_PREFIX.length)));
|
|
13
|
+
const sharedImportersOf = (product, parts) => parts.filter((part) => (0, sketch_1.sourceFilesIn)((0, path_1.dirname)(part.file)).some((file) => importsSketchShared(product, file)));
|
|
14
|
+
const sketchSharedDirsOf = (sketch, variant) => [
|
|
15
|
+
(0, sketch_1.variantSharedDirOf)(sketch, variant),
|
|
16
|
+
(0, sketch_1.sharedDirOf)(sketch),
|
|
17
|
+
];
|
|
18
|
+
/** The files of the sketch's and the variant's `shared/` under their path there, the variant's file winning. */
|
|
19
|
+
const sketchSharedFilesOf = (sketch, variant) => {
|
|
20
|
+
const files = new Map();
|
|
21
|
+
for (const dir of sketchSharedDirsOf(sketch, variant).reverse())
|
|
22
|
+
for (const file of (0, assets_1.filesBelow)(dir))
|
|
23
|
+
files.set((0, path_1.relative)(dir, file), file);
|
|
24
|
+
return files;
|
|
25
|
+
};
|
|
26
|
+
const SOURCE = /\.(?:ts|js|mjs)$/u;
|
|
27
|
+
const reachedSharedOf = (options) => {
|
|
28
|
+
const { dirs, partDir, product } = options;
|
|
29
|
+
const reached = new Set();
|
|
30
|
+
const queue = (0, sketch_1.sourceFilesIn)(partDir).map((file) => ({ file, at: null }));
|
|
31
|
+
for (let next = queue.shift(); next; next = queue.shift()) {
|
|
32
|
+
for (const specifier of (0, ts_source_1.importsOf)((0, fs_1.readFileSync)(next.file, 'utf8'))) {
|
|
33
|
+
const path = specifier.startsWith(imports_1.SHARED_PREFIX)
|
|
34
|
+
? specifier.slice(imports_1.SHARED_PREFIX.length)
|
|
35
|
+
: next.at !== null && specifier.startsWith('.')
|
|
36
|
+
? (0, path_1.join)((0, path_1.dirname)(next.at), specifier)
|
|
37
|
+
: null;
|
|
38
|
+
if (path === null || path.startsWith('..'))
|
|
39
|
+
continue;
|
|
40
|
+
if (specifier.startsWith(imports_1.SHARED_PREFIX) && inProductShared(product, path))
|
|
41
|
+
continue;
|
|
42
|
+
const file = (0, imports_1.sharedFileOf)({ dirs, path });
|
|
43
|
+
const dir = file && dirs.find((candidate) => !(0, path_1.relative)(candidate, file).startsWith('..'));
|
|
44
|
+
if (!file || !dir)
|
|
45
|
+
continue;
|
|
46
|
+
const at = (0, path_1.relative)(dir, file);
|
|
47
|
+
if (reached.has(at))
|
|
48
|
+
continue;
|
|
49
|
+
reached.add(at);
|
|
50
|
+
if (SOURCE.test(at))
|
|
51
|
+
queue.push({ file, at });
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return reached;
|
|
55
|
+
};
|
|
12
56
|
/**
|
|
13
|
-
* What a merge does with the sketch's `shared/` folder: `carry`
|
|
14
|
-
*
|
|
15
|
-
*
|
|
57
|
+
* What a merge does with the sketch's `shared/` folder: `carry` names the folder of each target with the paths of the
|
|
58
|
+
* files the product's `shared/` does not hold that it takes - each file it imports, directly or through another such
|
|
59
|
+
* file, and each file nobody imports that its `shared/` held in the product; a file nobody imports and no target held
|
|
60
|
+
* goes to the one target importing `@shared/`. Or why the merge must stop - a part other than a target imports one, a
|
|
61
|
+
* target taking files holds a `shared/` folder of its own, or a file nobody imports has no target to go to.
|
|
16
62
|
*/
|
|
17
63
|
const sharedPlanOf = (options) => {
|
|
18
|
-
const { sketch, parts } = options;
|
|
19
|
-
const importers = sharedImportersOf(parts);
|
|
20
|
-
const others = importers.filter((part) => (0, resolve_product_1.partKeyOf)(part)
|
|
21
|
-
const
|
|
64
|
+
const { sketch, variant, parts, product } = options;
|
|
65
|
+
const importers = sharedImportersOf(product, parts);
|
|
66
|
+
const others = importers.filter((part) => !sketch.targets.includes((0, resolve_product_1.partKeyOf)(part)));
|
|
67
|
+
const takers = sketch.targets.join(', ');
|
|
22
68
|
if (others.length > 0)
|
|
23
|
-
return `${others.map(resolve_product_1.partKeyOf).join(', ')} import ${imports_1.SHARED_PREFIX} - only ${sketch.
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
69
|
+
return `${others.map(resolve_product_1.partKeyOf).join(', ')} import ${imports_1.SHARED_PREFIX} - only ${takers} take${sketch.targets.length > 1 ? '' : 's'} the sketch's ${imports_1.SHARED_FOLDER}/ into the product; move that code into the part`;
|
|
70
|
+
const dirs = sketchSharedDirsOf(sketch, variant);
|
|
71
|
+
const targets = parts.filter((part) => sketch.targets.includes((0, resolve_product_1.partKeyOf)(part)));
|
|
72
|
+
const reached = targets.map((part) => reachedSharedOf({ dirs, partDir: (0, path_1.dirname)(part.file), product }));
|
|
73
|
+
const unreached = [...sketchSharedFilesOf(sketch, variant).keys()].filter((path) => !inProductShared(product, path) && !reached.some((paths) => paths.has(path)));
|
|
74
|
+
const heldBy = (part, path) => product.parts.some((held) => (0, resolve_product_1.partKeyOf)(held) === (0, resolve_product_1.partKeyOf)(part) && (0, fs_1.existsSync)((0, path_1.resolve)((0, path_1.dirname)(held.file), imports_1.SHARED_FOLDER, path)));
|
|
75
|
+
const ownersOf = (path) => targets.filter((part) => heldBy(part, path));
|
|
76
|
+
const solo = importers.length === 1 ? importers[0] : undefined;
|
|
77
|
+
const orphan = importers.length > 1 ? unreached.find((path) => ownersOf(path).length === 0) : undefined;
|
|
78
|
+
if (orphan !== undefined)
|
|
79
|
+
return `${imports_1.SHARED_FOLDER}/${orphan.split(path_1.sep).join('/')} is imported by no target and was held by none in the product - import it or delete it`;
|
|
80
|
+
const carry = targets
|
|
81
|
+
.map((part, index) => {
|
|
82
|
+
var _a;
|
|
83
|
+
return ({
|
|
84
|
+
part,
|
|
85
|
+
paths: [
|
|
86
|
+
...((_a = reached[index]) !== null && _a !== void 0 ? _a : []),
|
|
87
|
+
...unreached.filter((path) => (ownersOf(path).length > 0 ? heldBy(part, path) : part === solo)),
|
|
88
|
+
].sort(),
|
|
89
|
+
});
|
|
90
|
+
})
|
|
91
|
+
.filter(({ paths }) => paths.length > 0);
|
|
92
|
+
const owning = carry.find(({ part }) => (0, fs_1.existsSync)((0, path_1.resolve)((0, path_1.dirname)(part.file), imports_1.SHARED_FOLDER)));
|
|
93
|
+
if (owning)
|
|
94
|
+
return `${(0, resolve_product_1.partKeyOf)(owning.part)} holds a ${imports_1.SHARED_FOLDER}/ folder of its own and imports ${imports_1.SHARED_PREFIX} - rename the folder`;
|
|
95
|
+
return { carry: carry.map(({ part, paths }) => ({ targetDir: (0, path_1.resolve)(product.dir, part.layer, part.name), paths })) };
|
|
29
96
|
};
|
|
30
97
|
exports.sharedPlanOf = sharedPlanOf;
|
|
98
|
+
/**
|
|
99
|
+
* The files of the sketch's and the variant's `shared/` whose path the product's or its base's `shared/` holds, each
|
|
100
|
+
* with the file it replaces in the product's own `shared/`.
|
|
101
|
+
*/
|
|
102
|
+
const productSharedChangesOf = (options) => {
|
|
103
|
+
const { sketch, variant, product } = options;
|
|
104
|
+
return [...sketchSharedFilesOf(sketch, variant)]
|
|
105
|
+
.filter(([path]) => inProductShared(product, path))
|
|
106
|
+
.map(([path, file]) => ({ from: file, to: (0, path_1.resolve)(product.dir, imports_1.SHARED_FOLDER, path) }));
|
|
107
|
+
};
|
|
108
|
+
exports.productSharedChangesOf = productSharedChangesOf;
|
|
109
|
+
/** The paths of the product's or its base's `shared/` files that the sketch's or the variant's `shared/` changes. */
|
|
110
|
+
const editedSharedPathsOf = (options) => {
|
|
111
|
+
const { sketch, variant, product } = options;
|
|
112
|
+
return [...sketchSharedFilesOf(sketch, variant)].flatMap(([path, file]) => {
|
|
113
|
+
const own = (0, imports_1.sharedFileOf)({ dirs: (0, imports_1.productSharedDirsOf)(product), path });
|
|
114
|
+
return own && (0, fs_1.readFileSync)(own, 'utf8') !== (0, fs_1.readFileSync)(file, 'utf8') ? [path.split(path_1.sep).join('/')] : [];
|
|
115
|
+
});
|
|
116
|
+
};
|
|
117
|
+
exports.editedSharedPathsOf = editedSharedPathsOf;
|
|
31
118
|
const relativeSpecifierOf = (options) => {
|
|
32
119
|
const path = (0, path_1.relative)((0, path_1.dirname)(options.from), options.to).split(path_1.sep).join('/');
|
|
33
120
|
return path.startsWith('.') ? path : `./${path}`;
|
|
34
121
|
};
|
|
35
122
|
/**
|
|
36
|
-
* Copies the sketch's `shared/` folder,
|
|
37
|
-
* and turns each `@shared/` import there
|
|
123
|
+
* Copies the files at `paths` of the sketch's `shared/` folder, the picked variant's own `shared/` winning, into the
|
|
124
|
+
* merged target's folder, and turns each `@shared/` import there of a file the product's `shared/` does not hold into a
|
|
125
|
+
* relative one.
|
|
38
126
|
*/
|
|
39
127
|
const carryShared = (options) => {
|
|
40
|
-
const { sketch, variant, targetDir } = options;
|
|
41
|
-
const shared = (0, path_1.resolve)(targetDir,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
128
|
+
const { sketch, variant, targetDir, paths, product } = options;
|
|
129
|
+
const shared = (0, path_1.resolve)(targetDir, imports_1.SHARED_FOLDER);
|
|
130
|
+
const files = sketchSharedFilesOf(sketch, variant);
|
|
131
|
+
for (const path of paths) {
|
|
132
|
+
const file = files.get(path);
|
|
133
|
+
if (!file)
|
|
134
|
+
continue;
|
|
135
|
+
(0, fs_1.mkdirSync)((0, path_1.dirname)((0, path_1.resolve)(shared, path)), { recursive: true });
|
|
136
|
+
(0, fs_1.cpSync)(file, (0, path_1.resolve)(shared, path));
|
|
137
|
+
}
|
|
45
138
|
for (const file of (0, sketch_1.sourceFilesIn)(targetDir)) {
|
|
46
139
|
const source = (0, fs_1.readFileSync)(file, 'utf8');
|
|
47
|
-
const rewritten = source.replace(new RegExp(`(['"])${imports_1.SHARED_PREFIX}([^'"]+)\\1`, 'gu'), (...
|
|
140
|
+
const rewritten = source.replace(new RegExp(`(['"])${imports_1.SHARED_PREFIX}([^'"]+)\\1`, 'gu'), (...args) => {
|
|
141
|
+
const [match = '', quote = '', path = ''] = args;
|
|
142
|
+
return inProductShared(product, path)
|
|
143
|
+
? match
|
|
144
|
+
: `${quote}${relativeSpecifierOf({ from: file, to: (0, path_1.resolve)(shared, path) })}${quote}`;
|
|
145
|
+
});
|
|
48
146
|
if (rewritten !== source)
|
|
49
147
|
(0, fs_1.writeFileSync)(file, rewritten);
|
|
50
148
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-shared.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/merge-shared.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"merge-shared.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/merge-shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,8 @@ export type MergeRefusal = {
|
|
|
10
10
|
* Merges the variant the user picked in a ready sketch into the product: copies each part it holds
|
|
11
11
|
* over the product's, sets `note` (when given) and `madeBy` (the file's own plus the variant's authors) on the target, runs the check
|
|
12
12
|
* records each merged part's hash in `merged.json` and deletes the sketch. A target the product only takes from its base is copied into the product first. When the check fails, the
|
|
13
|
-
* product's old files come back and the sketch stays. Each file in the variant's `assets/` goes into the product's `assets/`.
|
|
14
|
-
* target imports it, with its `@shared/` imports made relative; any other part that imports it stops the merge. Otherwise the
|
|
13
|
+
* product's old files come back and the sketch stays. Each file in the variant's `assets/` goes into the product's `assets/`. A file of the sketch's `shared/` folder whose path the product's `shared/` holds
|
|
14
|
+
* replaces it there; the rest goes into the target's folder when the target imports it, with its `@shared/` imports made relative; any other part that imports it stops the merge. Otherwise the addressed comments on its variants, and those on the merged parts that have no sketch, are resolved, and the open ones on its variants are addressed, by `author` or the user. Refuses without a
|
|
15
15
|
* pick, and when a part the variant replaces changed in the product since the sketch's baseline. Answers with the merged part keys, or with why nothing was merged - and, when a rebase
|
|
16
16
|
* would let it, the parts that changed (`[]` without a baseline).
|
|
17
17
|
*/
|
|
@@ -23,7 +23,7 @@ export declare const mergeSketch: (options: {
|
|
|
23
23
|
note?: string;
|
|
24
24
|
author?: string;
|
|
25
25
|
}) => string[] | MergeRefusal;
|
|
26
|
-
/** Deletes a sketch with all its variants and
|
|
26
|
+
/** Deletes a sketch with all its variants and resolves the addressed comments on them and marks the open ones addressed, by `author` or the user. */
|
|
27
27
|
export declare const discardSketch: (options: {
|
|
28
28
|
target: string;
|
|
29
29
|
sketch: Sketch;
|
|
@@ -47,8 +47,28 @@ const pickOf = (sketch) => {
|
|
|
47
47
|
return `${sketch.target} has no variant "${decision.variant}", the one picked - it has ${sketch.variants.join(', ') || 'none'}`;
|
|
48
48
|
return { variant: decision.variant };
|
|
49
49
|
};
|
|
50
|
+
const notedTargetOf = (options) => {
|
|
51
|
+
var _a, _b, _c, _d, _e;
|
|
52
|
+
const { sketch, variant, parts, product, key, note } = options;
|
|
53
|
+
const name = (_a = key.split('/')[1]) !== null && _a !== void 0 ? _a : '';
|
|
54
|
+
const targetDir = (0, path_1.resolve)(product.dir, key);
|
|
55
|
+
const noteFile = (0, path_1.resolve)(targetDir, `${name}.ts`);
|
|
56
|
+
const carried = (_b = parts.find((part) => (0, resolve_product_1.partKeyOf)(part) === key)) === null || _b === void 0 ? void 0 : _b.file;
|
|
57
|
+
const inherited = carried || (0, fs_1.existsSync)(noteFile) ? null : ((_c = product.parts.find((part) => (0, resolve_product_1.partKeyOf)(part) === key)) !== null && _c !== void 0 ? _c : null);
|
|
58
|
+
const held = carried !== null && carried !== void 0 ? carried : (inherited ? inherited.file : noteFile);
|
|
59
|
+
if (!(0, fs_1.existsSync)(held))
|
|
60
|
+
return `variant "${variant}" holds no ${key}, and the product has no ${key} to carry the note`;
|
|
61
|
+
const source = (0, fs_1.readFileSync)(held, 'utf8');
|
|
62
|
+
const variantNote = (_d = sketch.variantInfo[variant]) === null || _d === void 0 ? void 0 : _d.note;
|
|
63
|
+
const newNote = (note === null || note === void 0 ? void 0 : note.trim()) || (((_e = (0, part_definition_1.noteOf)(source)) === null || _e === void 0 ? void 0 : _e.trim()) === '' ? variantNote : undefined);
|
|
64
|
+
const withNewNote = newNote ? (0, part_definition_1.withNote)(source, newNote) : source;
|
|
65
|
+
const madeBy = [...new Set([...(0, part_definition_1.madeByOf)(source), ...(0, sketch_1.authorsOf)(sketch, variant)])];
|
|
66
|
+
const noted = withNewNote === null || madeBy.length === 0 ? withNewNote : (0, part_definition_1.withMadeBy)(withNewNote, madeBy);
|
|
67
|
+
if (noted === null)
|
|
68
|
+
return `${held} holds no definePart({ note: '…' }) to set the note on`;
|
|
69
|
+
return { key, targetDir, noteFile, inherited, noted };
|
|
70
|
+
};
|
|
50
71
|
const mergeOrReason = (options) => {
|
|
51
|
-
var _a, _b, _c;
|
|
52
72
|
const { target, config, product, sketch, note, author } = options;
|
|
53
73
|
if (sketch.status !== 'ready')
|
|
54
74
|
return `${sketch.target} is ${sketch.status} - mark it ready before a merge`;
|
|
@@ -56,12 +76,15 @@ const mergeOrReason = (options) => {
|
|
|
56
76
|
if (typeof pick === 'string')
|
|
57
77
|
return pick;
|
|
58
78
|
const { variant } = pick;
|
|
79
|
+
const rejected = (0, sketch_1.rejectedProblemOf)(sketch, variant);
|
|
80
|
+
if (rejected)
|
|
81
|
+
return rejected;
|
|
59
82
|
const dir = (0, sketch_1.variantDirOf)(sketch, variant);
|
|
60
83
|
const { parts, problems } = (0, product_1.partFilesOf)(dir);
|
|
61
84
|
if (problems.length > 0)
|
|
62
85
|
return problems.map((problem) => `${problem.file}: ${problem.message}`).join('\n');
|
|
63
|
-
const shared = (0, merge_shared_1.sharedPlanOf)({ sketch, parts });
|
|
64
|
-
if (
|
|
86
|
+
const shared = (0, merge_shared_1.sharedPlanOf)({ sketch, variant, parts, product });
|
|
87
|
+
if (typeof shared === 'string')
|
|
65
88
|
return shared;
|
|
66
89
|
const fixtures = (0, product_1.fixturesOf)(dir);
|
|
67
90
|
if (!sketch.baseline)
|
|
@@ -75,37 +98,33 @@ const mergeOrReason = (options) => {
|
|
|
75
98
|
reason: `${conflicts.join(', ')} changed in the product since the sketch on ${sketch.target} was created - bring variant "${variant}" up to date, then run sketch rebase ${sketch.target}`,
|
|
76
99
|
changed: conflicts,
|
|
77
100
|
};
|
|
78
|
-
const
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
const
|
|
86
|
-
const
|
|
87
|
-
const newNote = (note === null || note === void 0 ? void 0 : note.trim()) || (((_c = (0, part_definition_1.noteOf)(source)) === null || _c === void 0 ? void 0 : _c.trim()) === '' ? variantNote : undefined);
|
|
88
|
-
const withNewNote = newNote ? (0, part_definition_1.withNote)(source, newNote) : source;
|
|
89
|
-
const madeBy = [...new Set([...(0, part_definition_1.madeByOf)(source), ...(0, sketch_1.authorsOf)(sketch, variant)])];
|
|
90
|
-
const noted = withNewNote === null || madeBy.length === 0 ? withNewNote : (0, part_definition_1.withMadeBy)(withNewNote, madeBy);
|
|
91
|
-
if (noted === null)
|
|
92
|
-
return `${held} holds no definePart({ note: '…' }) to set the note on`;
|
|
93
|
-
const mergedKeys = [...new Set([sketch.target, ...parts.map(resolve_product_1.partKeyOf)])];
|
|
101
|
+
const notedTargets = [];
|
|
102
|
+
for (const key of sketch.targets) {
|
|
103
|
+
const noted = notedTargetOf({ sketch, variant, parts, product, key, note });
|
|
104
|
+
if (typeof noted === 'string')
|
|
105
|
+
return noted;
|
|
106
|
+
notedTargets.push(noted);
|
|
107
|
+
}
|
|
108
|
+
const inheritedKeys = notedTargets.flatMap((entry) => (entry.inherited ? [entry.key] : []));
|
|
109
|
+
const mergedKeys = [...new Set([...sketch.targets, ...parts.map(resolve_product_1.partKeyOf)])];
|
|
94
110
|
const assetFiles = (0, assets_1.filesBelow)((0, path_1.resolve)(dir, assets_1.ASSETS_FOLDER));
|
|
95
|
-
const
|
|
111
|
+
const sharedChanges = (0, merge_shared_1.productSharedChangesOf)({ sketch, variant, product });
|
|
112
|
+
const untouched = assetFiles.length > 0 || sharedChanges.length > 0 ? (0, merged_parts_1.unchangedMergedOf)({ product, except: mergedKeys }) : [];
|
|
96
113
|
const known = (0, check_system_1.ruleLinesOf)(target, product);
|
|
97
114
|
const swapped = swap([
|
|
98
|
-
...(inherited ? [{ from: (0, path_1.dirname)(inherited.file), to: targetDir }] : []),
|
|
115
|
+
...notedTargets.flatMap(({ inherited, targetDir }) => inherited ? [{ from: (0, path_1.dirname)(inherited.file), to: targetDir }] : []),
|
|
99
116
|
...parts.map((part) => ({ from: (0, path_1.dirname)(part.file), to: (0, path_1.resolve)(product.dir, part.layer, part.name) })),
|
|
100
117
|
...(fixtures ? [{ from: fixtures, to: (0, path_1.resolve)(product.dir, 'fixtures.ts') }] : []),
|
|
101
118
|
...assetFiles.map((file) => ({
|
|
102
119
|
from: file,
|
|
103
120
|
to: (0, path_1.resolve)(product.dir, assets_1.ASSETS_FOLDER, (0, path_1.relative)((0, path_1.resolve)(dir, assets_1.ASSETS_FOLDER), file)),
|
|
104
121
|
})),
|
|
122
|
+
...sharedChanges,
|
|
105
123
|
]);
|
|
106
|
-
(
|
|
107
|
-
|
|
108
|
-
|
|
124
|
+
for (const { noteFile, noted } of notedTargets)
|
|
125
|
+
(0, fs_1.writeFileSync)(noteFile, noted);
|
|
126
|
+
for (const { targetDir, paths } of shared.carry)
|
|
127
|
+
(0, merge_shared_1.carryShared)({ sketch, variant, targetDir, paths, product });
|
|
109
128
|
if ((0, check_system_1.checkSystem)({ target, config, products: [product.name], known }) !== 0) {
|
|
110
129
|
swapped.restore();
|
|
111
130
|
return `the check failed after the merge of ${sketch.target} variant "${variant}" - the product's old files are back, the sketch stays`;
|
|
@@ -114,18 +133,23 @@ const mergeOrReason = (options) => {
|
|
|
114
133
|
(0, merged_parts_1.recordMerged)({ product, parts: mergedKeys });
|
|
115
134
|
const alsoChanged = (0, merged_parts_1.rerecordChangedMerged)({ product, before: untouched });
|
|
116
135
|
if (alsoChanged.length > 0)
|
|
117
|
-
console.log(`Asset change also updates: ${alsoChanged.join(', ')}`);
|
|
136
|
+
console.log(`Asset or shared/ change also updates: ${alsoChanged.join(', ')}`);
|
|
137
|
+
(0, comment_1.resolveSketchEndComments)({
|
|
138
|
+
sketch,
|
|
139
|
+
parts: mergedKeys,
|
|
140
|
+
note: `resolved by the merge of ${sketch.target} variant ${variant}`,
|
|
141
|
+
});
|
|
118
142
|
(0, comment_1.addressSketchComments)({ sketch, reason: 'merge', author, note });
|
|
119
143
|
(0, fs_1.rmSync)(sketch.dir, { recursive: true, force: true });
|
|
120
144
|
(0, sketch_1.clearSketchReport)({ checkout: target, sketch });
|
|
121
|
-
return [...(
|
|
145
|
+
return [...new Set([...inheritedKeys, ...parts.map(resolve_product_1.partKeyOf)])];
|
|
122
146
|
};
|
|
123
147
|
/**
|
|
124
148
|
* Merges the variant the user picked in a ready sketch into the product: copies each part it holds
|
|
125
149
|
* over the product's, sets `note` (when given) and `madeBy` (the file's own plus the variant's authors) on the target, runs the check
|
|
126
150
|
* records each merged part's hash in `merged.json` and deletes the sketch. A target the product only takes from its base is copied into the product first. When the check fails, the
|
|
127
|
-
* product's old files come back and the sketch stays. Each file in the variant's `assets/` goes into the product's `assets/`.
|
|
128
|
-
* target imports it, with its `@shared/` imports made relative; any other part that imports it stops the merge. Otherwise the
|
|
151
|
+
* product's old files come back and the sketch stays. Each file in the variant's `assets/` goes into the product's `assets/`. A file of the sketch's `shared/` folder whose path the product's `shared/` holds
|
|
152
|
+
* replaces it there; the rest goes into the target's folder when the target imports it, with its `@shared/` imports made relative; any other part that imports it stops the merge. Otherwise the addressed comments on its variants, and those on the merged parts that have no sketch, are resolved, and the open ones on its variants are addressed, by `author` or the user. Refuses without a
|
|
129
153
|
* pick, and when a part the variant replaces changed in the product since the sketch's baseline. Answers with the merged part keys, or with why nothing was merged - and, when a rebase
|
|
130
154
|
* would let it, the parts that changed (`[]` without a baseline).
|
|
131
155
|
*/
|
|
@@ -134,8 +158,12 @@ const mergeSketch = (options) => {
|
|
|
134
158
|
return typeof merged === 'string' ? { reason: merged } : merged;
|
|
135
159
|
};
|
|
136
160
|
exports.mergeSketch = mergeSketch;
|
|
137
|
-
/** Deletes a sketch with all its variants and
|
|
161
|
+
/** Deletes a sketch with all its variants and resolves the addressed comments on them and marks the open ones addressed, by `author` or the user. */
|
|
138
162
|
const discardSketch = (options) => {
|
|
163
|
+
(0, comment_1.resolveSketchEndComments)({
|
|
164
|
+
sketch: options.sketch,
|
|
165
|
+
note: `resolved by the discard of ${options.sketch.target}`,
|
|
166
|
+
});
|
|
139
167
|
(0, comment_1.addressSketchComments)({ sketch: options.sketch, reason: 'discard', author: options.author });
|
|
140
168
|
(0, fs_1.rmSync)(options.sketch.dir, { recursive: true, force: true });
|
|
141
169
|
(0, sketch_1.clearSketchReport)({ checkout: options.target, sketch: options.sketch });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/merge.ts"],"names":[],"mappings":";;;AAAA,2BAAqG;AACrG,2BAA4B;AAC5B,+BAAwD;AAExD,kDAA2D;AAC3D,
|
|
1
|
+
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/merge.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,13 @@ export declare const recordAutoMerge: (options: {
|
|
|
46
46
|
part: string;
|
|
47
47
|
by: string;
|
|
48
48
|
}) => void;
|
|
49
|
+
/** Logs a sketch merged without a pick in Studio because a plan entry allows it, in `accepted.json`. */
|
|
50
|
+
export declare const recordAllowedMerge: (options: {
|
|
51
|
+
product: HashedProduct;
|
|
52
|
+
part: string;
|
|
53
|
+
by: string;
|
|
54
|
+
planRef: string;
|
|
55
|
+
}) => void;
|
|
49
56
|
/**
|
|
50
57
|
* Records a direct edit of a merged part the user approved: writes the part's current hash to `merged.json` and
|
|
51
58
|
* logs who accepted it and why in `accepted.json`. Answers with why nothing was accepted, or `null`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.acceptPart = exports.recordAutoMerge = exports.readAccepted = exports.ACCEPTED_FILE = exports.changedOutsideSketchOf = exports.sketchedPartsOf = exports.rerecordChangedMerged = exports.unchangedMergedOf = exports.recordMerged = exports.readMerged = exports.MERGED_FILE = void 0;
|
|
3
|
+
exports.acceptPart = exports.recordAllowedMerge = exports.recordAutoMerge = exports.readAccepted = exports.ACCEPTED_FILE = exports.changedOutsideSketchOf = exports.sketchedPartsOf = exports.rerecordChangedMerged = exports.unchangedMergedOf = exports.recordMerged = exports.readMerged = exports.MERGED_FILE = void 0;
|
|
4
4
|
const fs_1 = require("fs");
|
|
5
5
|
const path_1 = require("path");
|
|
6
6
|
const product_1 = require("../product");
|
|
@@ -111,6 +111,18 @@ const recordAutoMerge = (options) => {
|
|
|
111
111
|
});
|
|
112
112
|
};
|
|
113
113
|
exports.recordAutoMerge = recordAutoMerge;
|
|
114
|
+
/** Logs a sketch merged without a pick in Studio because a plan entry allows it, in `accepted.json`. */
|
|
115
|
+
const recordAllowedMerge = (options) => {
|
|
116
|
+
const { product, part, by, planRef } = options;
|
|
117
|
+
logAcceptance(product.dir, {
|
|
118
|
+
part,
|
|
119
|
+
by,
|
|
120
|
+
note: `merged without a pick: allowed by ${planRef}`,
|
|
121
|
+
hash: (0, baseline_1.partHashOf)({ product, dir: (0, path_1.resolve)(product.dir, part) }),
|
|
122
|
+
at: new Date().toISOString(),
|
|
123
|
+
});
|
|
124
|
+
};
|
|
125
|
+
exports.recordAllowedMerge = recordAllowedMerge;
|
|
114
126
|
/**
|
|
115
127
|
* Records a direct edit of a merged part the user approved: writes the part's current hash to `merged.json` and
|
|
116
128
|
* logs who accepted it and why in `accepted.json`. Answers with why nothing was accepted, or `null`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merged-parts.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/merged-parts.ts"],"names":[],"mappings":";;;AAAA,2BAA6D;AAC7D,+BAAwC;AACxC,wCAAyC;AACzC,wDAAgE;AAChE,yCAAwC;AACxC,qCAAsD;AAEzC,QAAA,WAAW,GAAG,aAAa,CAAC;AAEzC,MAAM,YAAY,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,IAAA,cAAO,EAAC,UAAU,EAAE,mBAAW,CAAC,CAAC;AAE9E,iIAAiI;AAC1H,MAAM,UAAU,GAAG,CAAC,UAAkB,EAA0B,EAAE;IACvE,MAAM,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAEtC,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAE/D,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACnE,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAA6B,EAAE,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAClG;YACH,CAAC,CAAC,EAAE,CAAC;IACT,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAhBW,QAAA,UAAU,cAgBrB;AAIF,oFAAoF;AAC7E,MAAM,YAAY,GAAG,CAAC,OAAoD,EAAE,EAAE;IACnF,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IACnC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC;IAEtC,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,qBAAU,EAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAA,cAAO,EAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAEjG,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjG,IAAA,kBAAa,EAAC,YAAY,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAClF,CAAC,CAAC;AAVW,QAAA,YAAY,gBAUvB;AAEF,wHAAwH;AACjH,MAAM,iBAAiB,GAAG,CAAC,OAAuD,EAAE,EAAE;IAC3F,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACpC,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEvC,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACpC,MAAM,GAAG,GAAG,IAAA,2BAAS,EAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAA,qBAAU,EAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAA,cAAO,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE9D,OAAO,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAVW,QAAA,iBAAiB,qBAU5B;AAEF,+HAA+H;AACxH,MAAM,qBAAqB,GAAG,CAAC,OAGrC,EAAE,EAAE;IACH,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACpC,MAAM,OAAO,GAAG,MAAM;SACnB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAA,qBAAU,EAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;SAC3F,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAEzB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,IAAA,oBAAY,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAElE,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAZW,QAAA,qBAAqB,yBAYhC;AAEK,MAAM,eAAe,GAAG,CAAC,OAAwB,EAAE,EAAE,CAC1D,IAAI,GAAG,CACL,IAAA,qBAAY,EAAC,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAClF,OAAO,MAAM,KAAK,QAAQ;IACxB,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC;QACE,MAAM,CAAC,MAAM;QACb,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,qBAAW,EAAC,IAAA,qBAAY,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,2BAAS,CAAC,CAAC;KACzG,CACN,CACF,CAAC;AAVS,QAAA,eAAe,mBAUxB;AAEJ;;;GAGG;AACI,MAAM,sBAAsB,GAAG,CAAC,OAAwB,EAAY,EAAE;IAC3E,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5C,MAAM,GAAG,GAAG,IAAA,2BAAS,EAAC,IAAI,CAAC,CAAC;QAE5B,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,MAAM;YACtB,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS;YACzB,IAAA,qBAAU,EAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAA,cAAO,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,CACjE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpC,MAAM,QAAQ,GAAG,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAC;IAE1C,OAAO,OAAO,CAAC,GAAG,CAAC,2BAAS,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC;AAjBW,QAAA,sBAAsB,0BAiBjC;AAEW,QAAA,aAAa,GAAG,eAAe,CAAC;AAItC,MAAM,YAAY,GAAG,CAAC,UAAkB,EAAgB,EAAE;IAC/D,MAAM,IAAI,GAAG,IAAA,cAAO,EAAC,UAAU,EAAE,qBAAa,CAAC,CAAC;IAEhD,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAE/D,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAZW,QAAA,YAAY,gBAYvB;AAEF,MAAM,aAAa,GAAG,CAAC,UAAkB,EAAE,KAAiB,EAAE,EAAE,CAC9D,IAAA,kBAAa,EACX,IAAA,cAAO,EAAC,UAAU,EAAE,qBAAa,CAAC,EAClC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAA,oBAAY,EAAC,UAAU,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CACrE,CAAC;AAEJ,sHAAsH;AAC/G,MAAM,eAAe,GAAG,CAAC,OAA6D,EAAE,EAAE;IAC/F,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC;IAEtC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE;QACzB,IAAI;QACJ,EAAE;QACF,IAAI,EAAE,sDAAsD;QAC5D,IAAI,EAAE,IAAA,qBAAU,EAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;QAC9D,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAC5B,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC,CAAC;AAXW,QAAA,eAAe,mBAW1B;AAEF;;;GAGG;AACI,MAAM,UAAU,GAAG,CAAC,OAK1B,EAAiB,EAAE;;IAClB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAE5C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAA,2BAAS,EAAC,SAAS,CAAC,KAAK,IAAI,CAAC;QAAE,OAAO,YAAY,IAAI,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;IAErH,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;QACpC,OAAO,GAAG,IAAI,qEAAqE,CAAC;IAEtF,IAAI,CAAC,IAAA,8BAAsB,EAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjD,OAAO,GAAG,IAAI,qDAAqD,CAAC;IAEtE,IAAA,oBAAY,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEzC,MAAM,IAAI,GAAG,MAAA,IAAA,kBAAU,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC;IACjD,MAAM,KAAK,GAAe,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;IAEjF,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAElC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAxBW,QAAA,UAAU,cAwBrB"}
|
|
1
|
+
{"version":3,"file":"merged-parts.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/merged-parts.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,10 @@ import { ResolvedProduct } from '../resolve-product';
|
|
|
3
3
|
import { Sketch } from './sketch';
|
|
4
4
|
import { SketchPartLoader } from './unchanged-states';
|
|
5
5
|
/**
|
|
6
|
-
* `true` when every state of every variant of the sketch draws the same pixels as the product
|
|
7
|
-
* every frame
|
|
8
|
-
*
|
|
6
|
+
* `true` when every state of every target of every live variant of the sketch draws the same pixels as the product
|
|
7
|
+
* does now, in every frame, and so does each state of every part a `shared/` edit of the variant reaches and of every
|
|
8
|
+
* part that shows one of them; otherwise why not. A variant that holds a part other than a target, or a state that
|
|
9
|
+
* fails to draw, counts as a change.
|
|
9
10
|
*/
|
|
10
11
|
export declare const sketchShowsNoChange: (options: {
|
|
11
12
|
product: ResolvedProduct;
|