@ethlete/cli 3.0.0-next.23 → 3.0.0-next.25
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 +85 -0
- package/design/contrast.ts +49 -0
- package/design/define-call.ts +48 -8
- package/design/define-part.ts +83 -1
- package/design/embed-page.ts +37 -4
- package/design/icon-sheet.ts +151 -0
- package/design/mark-part.ts +79 -2
- package/design/morph.ts +67 -0
- package/design/motion-runtime.ts +407 -0
- package/design/spring.ts +53 -0
- package/design/token-sheet.ts +87 -0
- package/design/web/env.d.ts +6 -2
- package/design/web/frame.ts +159 -6
- package/package.json +2 -1
- package/src/lib/design/calls-tsconfig.js +1 -2
- package/src/lib/design/calls-tsconfig.js.map +1 -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 +50 -2
- package/src/lib/design/design-command.js.map +1 -1
- package/src/lib/design/force-interactions.d.ts +2 -1
- package/src/lib/design/force-interactions.js +7 -4
- package/src/lib/design/force-interactions.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/mcp-command.d.ts +60 -0
- package/src/lib/design/mcp-command.js +327 -0
- package/src/lib/design/mcp-command.js.map +1 -0
- 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/motion-command.d.ts +71 -0
- package/src/lib/design/motion-command.js +314 -0
- package/src/lib/design/motion-command.js.map +1 -0
- package/src/lib/design/motion-endpoint.d.ts +61 -0
- package/src/lib/design/motion-endpoint.js +133 -0
- package/src/lib/design/motion-endpoint.js.map +1 -0
- package/src/lib/design/motion-flow.d.ts +5 -0
- package/src/lib/design/motion-flow.js +29 -0
- package/src/lib/design/motion-flow.js.map +1 -0
- package/src/lib/design/motion-shot.d.ts +43 -0
- package/src/lib/design/motion-shot.js +97 -0
- package/src/lib/design/motion-shot.js.map +1 -0
- package/src/lib/design/paths.d.ts +11 -0
- package/src/lib/design/paths.js.map +1 -1
- package/src/lib/design/ready-shots.d.ts +7 -0
- package/src/lib/design/ready-shots.js +22 -1
- package/src/lib/design/ready-shots.js.map +1 -1
- package/src/lib/design/render-packages.d.ts +9 -0
- package/src/lib/design/render-packages.js +13 -3
- package/src/lib/design/render-packages.js.map +1 -1
- package/src/lib/design/render.js +3 -3
- package/src/lib/design/render.js.map +1 -1
- package/src/lib/design/serve.js +108 -21
- package/src/lib/design/serve.js.map +1 -1
- package/src/lib/design/shot-command.d.ts +12 -6
- package/src/lib/design/shot-command.js +60 -48
- package/src/lib/design/shot-command.js.map +1 -1
- package/src/lib/design/shot.d.ts +30 -4
- package/src/lib/design/shot.js +138 -53
- package/src/lib/design/shot.js.map +1 -1
- package/src/lib/design/sketch-command.js +132 -39
- 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 +28 -6
- package/src/lib/design/studio-api.js +102 -17
- 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 +134 -0
- package/src/lib/design/system/complete-command.js.map +1 -0
- package/src/lib/design/system/complete.d.ts +171 -0
- package/src/lib/design/system/complete.js +1106 -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/exceptions.d.ts +59 -0
- package/src/lib/design/system/exceptions.js +132 -0
- package/src/lib/design/system/exceptions.js.map +1 -0
- package/src/lib/design/system/flows/flow.d.ts +3 -0
- package/src/lib/design/system/flows/flow.js +5 -3
- package/src/lib/design/system/flows/flow.js.map +1 -1
- package/src/lib/design/system/handoff.d.ts +11 -0
- package/src/lib/design/system/handoff.js +30 -0
- package/src/lib/design/system/handoff.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/inventory-approval.d.ts +41 -0
- package/src/lib/design/system/inventory-approval.js +71 -0
- package/src/lib/design/system/inventory-approval.js.map +1 -0
- package/src/lib/design/system/inventory.d.ts +65 -0
- package/src/lib/design/system/inventory.js +168 -0
- package/src/lib/design/system/inventory.js.map +1 -0
- package/src/lib/design/system/list-system.d.ts +11 -0
- package/src/lib/design/system/list-system.js +26 -3
- 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 +30 -4
- package/src/lib/design/system/render-check.js.map +1 -1
- package/src/lib/design/system/resolve-product.d.ts +2 -3
- package/src/lib/design/system/resolve-product.js +4 -6
- package/src/lib/design/system/resolve-product.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/stale-replace.js +41 -2
- package/src/lib/design/system/rules/stale-replace.js.map +1 -1
- package/src/lib/design/system/rules/token-selectors.js +1 -1
- package/src/lib/design/system/rules/token-selectors.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/host-edit.d.ts +4 -0
- package/src/lib/design/system/sketch/host-edit.js +68 -0
- package/src/lib/design/system/sketch/host-edit.js.map +1 -0
- 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 +6 -5
- package/src/lib/design/system/sketch/merge.js +95 -35
- package/src/lib/design/system/sketch/merge.js.map +1 -1
- package/src/lib/design/system/sketch/merged-parts.d.ts +17 -0
- package/src/lib/design/system/sketch/merged-parts.js +35 -2
- package/src/lib/design/system/sketch/merged-parts.js.map +1 -1
- package/src/lib/design/system/sketch/no-visible-change.d.ts +10 -3
- package/src/lib/design/system/sketch/no-visible-change.js +75 -20
- package/src/lib/design/system/sketch/no-visible-change.js.map +1 -1
- package/src/lib/design/system/sketch/overlay.js +16 -3
- 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 +40 -3
- package/src/lib/design/system/sketch/sketch.js +147 -50
- 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/sketch/unused-closure.d.ts +12 -0
- package/src/lib/design/system/sketch/unused-closure.js +185 -0
- package/src/lib/design/system/sketch/unused-closure.js.map +1 -0
- package/src/lib/design/system/system-modules.d.ts +5 -1
- package/src/lib/design/system/system-modules.js +32 -17
- package/src/lib/design/system/system-modules.js.map +1 -1
- package/src/lib/design/system/system-tsconfig.d.ts +2 -1
- package/src/lib/design/system/system-tsconfig.js +11 -6
- 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
|
@@ -48,7 +48,7 @@ exports.fileOfModuleId = fileOfModuleId;
|
|
|
48
48
|
/**
|
|
49
49
|
* The products of a workspace, resolved on first use and kept until `forget`, and the resolution
|
|
50
50
|
* of `@system/<layer>/<name>`, `@system/<layer>/<name>.css?inline` (the part's stylesheet),
|
|
51
|
-
* `@system/fixtures`, a sketch's
|
|
51
|
+
* `@system/fixtures`, `@shared/<path>` (a sketch's, then the product's) and `@assets/<file>` (a URL, or the text with `?raw`)
|
|
52
52
|
* inside a module of one product. A relative import of a source file stays in the importer's product
|
|
53
53
|
* and sketch, so a helper file next to a part resolves `@system/...` as the part does.
|
|
54
54
|
*/
|
|
@@ -92,28 +92,42 @@ const createSystemModules = (options) => {
|
|
|
92
92
|
};
|
|
93
93
|
const partOf = (options) => { var _a, _b; return (_b = (_a = drawnOf(options.product, options.sketch)) === null || _a === void 0 ? void 0 : _a.parts.find((part) => (0, resolve_product_1.partKeyOf)(part) === options.part)) !== null && _b !== void 0 ? _b : null; };
|
|
94
94
|
const tokenStylesheetsOf = (options) => {
|
|
95
|
-
var _a;
|
|
95
|
+
var _a, _b;
|
|
96
96
|
const { product, sketch } = options;
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
97
|
+
return ((_b = (_a = productOf(product)) === null || _a === void 0 ? void 0 : _a.tokens) !== null && _b !== void 0 ? _b : []).flatMap((part) => {
|
|
98
|
+
var _a;
|
|
99
|
+
const css = (_a = partOf({ product, part, sketch })) === null || _a === void 0 ? void 0 : _a.css;
|
|
100
|
+
return css && (0, fs_1.existsSync)(css) ? [css] : [];
|
|
101
|
+
});
|
|
102
|
+
};
|
|
103
|
+
/** Each part stylesheet of the product that one sketch variant draws from another file, mapped to that file. */
|
|
104
|
+
const replacedStylesheetsOf = (options) => {
|
|
105
|
+
const { product, sketch } = options;
|
|
106
|
+
const merged = productOf(product);
|
|
107
|
+
const drawn = sketch ? drawnOf(product, sketch) : null;
|
|
108
|
+
if (!merged || !drawn)
|
|
109
|
+
return new Map();
|
|
110
|
+
return new Map(drawn.parts.flatMap((part) => {
|
|
111
|
+
var _a;
|
|
112
|
+
const own = (_a = merged.parts.find((candidate) => (0, resolve_product_1.partKeyOf)(candidate) === (0, resolve_product_1.partKeyOf)(part))) === null || _a === void 0 ? void 0 : _a.css;
|
|
113
|
+
return own && part.css && (0, path_1.resolve)(own) !== (0, path_1.resolve)(part.css) && (0, fs_1.existsSync)(part.css)
|
|
114
|
+
? [[(0, path_1.resolve)(own), (0, path_1.resolve)(part.css)]]
|
|
115
|
+
: [];
|
|
116
|
+
}));
|
|
105
117
|
};
|
|
106
118
|
const sharedFileOf = (options) => {
|
|
107
|
-
var _a;
|
|
108
119
|
const { product, sketch, path } = options;
|
|
109
|
-
const
|
|
110
|
-
|
|
111
|
-
if (!target || typeof target === 'string' || !productDir)
|
|
120
|
+
const resolvedProduct = productOf(product);
|
|
121
|
+
if (!resolvedProduct)
|
|
112
122
|
return null;
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
? (0,
|
|
123
|
+
const target = sketch ? (0, sketch_1.parseTarget)(sketch.target) : null;
|
|
124
|
+
const found = sketch && target && typeof target !== 'string'
|
|
125
|
+
? (0, sketch_1.findSketch)({ productDir: sketchesRoot !== null && sketchesRoot !== void 0 ? sketchesRoot : resolvedProduct.dir, product, sketch: target })
|
|
116
126
|
: null;
|
|
127
|
+
const sketchDirs = found && typeof found !== 'string' && sketch
|
|
128
|
+
? [(0, sketch_1.variantSharedDirOf)(found, sketch.variant), (0, sketch_1.sharedDirOf)(found)]
|
|
129
|
+
: [];
|
|
130
|
+
return (0, imports_1.sharedFileOf)({ dirs: [...sketchDirs, ...(0, imports_1.productSharedDirsOf)(resolvedProduct)], path });
|
|
117
131
|
};
|
|
118
132
|
const resolveId = (specifier, importer) => {
|
|
119
133
|
var _a, _b, _c, _d;
|
|
@@ -177,6 +191,7 @@ const createSystemModules = (options) => {
|
|
|
177
191
|
drawnOf,
|
|
178
192
|
partOf,
|
|
179
193
|
tokenStylesheetsOf,
|
|
194
|
+
replacedStylesheetsOf,
|
|
180
195
|
resolveId,
|
|
181
196
|
withAssetUrls,
|
|
182
197
|
forget: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-modules.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/system-modules.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"system-modules.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/system-modules.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,8 @@ export declare const typecheckProduct: (options: {
|
|
|
18
18
|
}) => TypecheckResult;
|
|
19
19
|
/**
|
|
20
20
|
* Writes `tsconfig.json` into the product's own folder, the nearest tsconfig an editor finds for
|
|
21
|
-
* its parts, so `@design-system` and `@system/*` resolve there. The file is gitignored.
|
|
21
|
+
* its parts, so `@design-system` and `@system/*` resolve there. The file is gitignored. A folder outside the
|
|
22
|
+
* checkout or inside a `node_modules` gets none.
|
|
22
23
|
*/
|
|
23
24
|
export declare const writeEditorTsconfig: (options: {
|
|
24
25
|
target: string;
|
|
@@ -29,26 +29,31 @@ const typecheckProduct = (options) => (0, typecheck_1.typecheck)({ target: optio
|
|
|
29
29
|
exports.typecheckProduct = typecheckProduct;
|
|
30
30
|
/**
|
|
31
31
|
* Writes `tsconfig.json` into the product's own folder, the nearest tsconfig an editor finds for
|
|
32
|
-
* its parts, so `@design-system` and `@system/*` resolve there. The file is gitignored.
|
|
32
|
+
* its parts, so `@design-system` and `@system/*` resolve there. The file is gitignored. A folder outside the
|
|
33
|
+
* checkout or inside a `node_modules` gets none.
|
|
33
34
|
*/
|
|
34
35
|
const writeEditorTsconfig = (options) => {
|
|
35
|
-
|
|
36
|
+
const { target, product } = options;
|
|
37
|
+
const inside = (0, path_1.relative)(target, product.dir);
|
|
38
|
+
if (!(0, fs_1.existsSync)(product.dir) || inside.startsWith('..') || (0, path_1.isAbsolute)(inside))
|
|
39
|
+
return;
|
|
40
|
+
if (inside.split(path_1.sep).includes('node_modules'))
|
|
36
41
|
return;
|
|
37
|
-
(0, fs_1.writeFileSync)((0, path_1.resolve)(
|
|
42
|
+
(0, fs_1.writeFileSync)((0, path_1.resolve)(product.dir, 'tsconfig.json'), systemTsconfigText(options));
|
|
38
43
|
};
|
|
39
44
|
exports.writeEditorTsconfig = writeEditorTsconfig;
|
|
40
45
|
const systemTsconfigText = (options) => {
|
|
41
|
-
var _a, _b, _c;
|
|
42
46
|
const { target, product } = options;
|
|
43
47
|
const defineCall = (0, path_1.resolve)((0, paths_1.installedAssetRoot)(), 'define-call.ts');
|
|
44
48
|
const definePart = (0, path_1.resolve)((0, paths_1.installedAssetRoot)(), 'define-part.ts');
|
|
45
49
|
const inlineCss = (0, path_1.resolve)((0, paths_1.installedAssetRoot)(), 'css-inline.d.ts');
|
|
46
50
|
const assets = (0, path_1.resolve)((0, paths_1.installedAssetRoot)(), 'assets.d.ts');
|
|
47
51
|
const kit = (0, path_1.resolve)((0, paths_1.installedAssetRoot)(), 'wireframe-kit.ts');
|
|
48
|
-
const typePaths = (0, render_packages_1.typePathsOf)({ packages: (
|
|
52
|
+
const typePaths = (0, render_packages_1.typePathsOf)({ packages: (0, render_packages_1.renderPackagesOf)({ target, config: (0, paths_1.readConfig)(target) }), target });
|
|
49
53
|
const partPaths = Object.fromEntries(product.parts.map((part) => [(0, imports_1.partSpecifierOf)(part), [part.file]]));
|
|
50
54
|
const fixtures = product.fixtures ? [product.fixtures] : [];
|
|
51
|
-
const
|
|
55
|
+
const productShared = (0, imports_1.productSharedDirsOf)(product);
|
|
56
|
+
const sharedDirs = (0, imports_1.sharedDirsOf)(product).filter((dir) => !productShared.includes(dir) || (0, fs_1.existsSync)(dir));
|
|
52
57
|
const shared = sharedDirs.map((dir) => (0, path_1.resolve)(dir, '**/*.ts'));
|
|
53
58
|
const config = {
|
|
54
59
|
compilerOptions: Object.assign(Object.assign({}, calls_tsconfig_1.DRAWING_COMPILER_OPTIONS), { paths: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, typePaths), partPaths), (product.fixtures ? { [imports_1.FIXTURES_SPECIFIER]: [product.fixtures] } : {})), { [exports.DESIGN_SYSTEM_SPECIFIER]: [definePart], [kit_1.KIT_SPECIFIER]: [kit] }), (sharedDirs.length > 0 ? { [`${imports_1.SHARED_PREFIX}*`]: sharedDirs.map((dir) => (0, path_1.resolve)(dir, '*')) } : {})) }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-tsconfig.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/system-tsconfig.ts"],"names":[],"mappings":";;;AAAA,2BAA0D;AAC1D,+
|
|
1
|
+
{"version":3,"file":"system-tsconfig.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/system-tsconfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,12 +24,16 @@ export declare class ShotFailedError extends Error {
|
|
|
24
24
|
export declare class ShotTimeoutError extends Error {
|
|
25
25
|
}
|
|
26
26
|
type Page = Awaited<ReturnType<Awaited<ReturnType<Browser['newContext']>>['newPage']>>;
|
|
27
|
-
/**
|
|
27
|
+
/**
|
|
28
|
+
* Opens a frame and waits until it drew its content or its error, then for its embedded frames. A frame that
|
|
29
|
+
* never draws throws a `ShotTimeoutError` naming the URL.
|
|
30
|
+
*/
|
|
28
31
|
export declare const openFrame: (page: Page, url: string) => Promise<void>;
|
|
29
32
|
export declare const settled = "new Promise((done) => document.fonts.ready.then(() =>\n requestAnimationFrame(() => requestAnimationFrame(() => done(true)))))";
|
|
33
|
+
export declare const finished = "document.getAnimations()\n .filter((animation) => animation.effect?.getComputedTiming().endTime !== Infinity)\n .forEach((animation) => animation.finish())";
|
|
30
34
|
export type DrawPriority = 'high' | 'low';
|
|
31
35
|
/**
|
|
32
|
-
* One shared headless Chromium, launched on the first ask, that runs
|
|
36
|
+
* One shared headless Chromium, launched on the first ask, that runs up to four drawings at once. A waiting
|
|
33
37
|
* `high` drawing runs before every waiting `low` one, each lane in the order asked. A failed launch is
|
|
34
38
|
* not kept, so the next ask tries again.
|
|
35
39
|
*/
|
package/src/lib/design/thumb.js
CHANGED
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.createThumbnailer = exports.callDrawsFrom = exports.send = exports.sendShot = exports.createDrawQueue = exports.settled = exports.openFrame = exports.ShotTimeoutError = exports.ShotFailedError = exports.ShotUnprocessableError = exports.ThumbMissingError = exports.ThumbUnavailableError = exports.DRAW_TIMEOUT_MS = exports.THUMB_PIXEL_WIDTH = exports.THUMB_PATH = void 0;
|
|
12
|
+
exports.createThumbnailer = exports.callDrawsFrom = exports.send = exports.sendShot = exports.createDrawQueue = exports.finished = exports.settled = exports.openFrame = exports.ShotTimeoutError = exports.ShotFailedError = exports.ShotUnprocessableError = exports.ThumbMissingError = exports.ThumbUnavailableError = exports.DRAW_TIMEOUT_MS = exports.THUMB_PIXEL_WIDTH = exports.THUMB_PATH = void 0;
|
|
13
13
|
const path_1 = require("path");
|
|
14
14
|
const browser_1 = require("./browser");
|
|
15
15
|
exports.THUMB_PATH = '/__design/thumb';
|
|
@@ -42,25 +42,44 @@ const frameWidthOf = (slug) => `(async (slug) => {
|
|
|
42
42
|
if (!calls[slug]) return null;
|
|
43
43
|
return (await calls[slug]()).default.frameWidth ?? null;
|
|
44
44
|
})(${JSON.stringify(slug)})`;
|
|
45
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
* Opens a frame and waits until it drew its content or its error, then for its embedded frames. A frame that
|
|
47
|
+
* never draws throws a `ShotTimeoutError` naming the URL.
|
|
48
|
+
*/
|
|
46
49
|
const openFrame = (page, url) => __awaiter(void 0, void 0, void 0, function* () {
|
|
47
50
|
yield page.goto(url, { waitUntil: 'domcontentloaded' });
|
|
51
|
+
// Headless Chromium's pointer starts at 0,0 on a new page and draws a real :hover on whatever fills the
|
|
52
|
+
// frame's corner. A move before the first navigation does not stick.
|
|
53
|
+
yield page.mouse.move(-1, -1);
|
|
54
|
+
const never = (what) => new ShotTimeoutError(`design-explore: ${url} did not ${what} within ${exports.DRAW_TIMEOUT_MS} ms`);
|
|
48
55
|
yield page
|
|
49
56
|
.locator('#root > :not(style)')
|
|
50
57
|
.first()
|
|
51
58
|
.waitFor({ state: 'attached', timeout: exports.DRAW_TIMEOUT_MS })
|
|
52
|
-
.catch(() =>
|
|
59
|
+
.catch(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
60
|
+
if ((yield page.locator('vite-error-overlay').count()) === 0)
|
|
61
|
+
throw never('draw its content');
|
|
62
|
+
}));
|
|
53
63
|
yield page
|
|
54
64
|
.locator('iframe[data-et-embed]:not([data-et-embed-drawn])')
|
|
55
65
|
.first()
|
|
56
66
|
.waitFor({ state: 'detached', timeout: exports.DRAW_TIMEOUT_MS })
|
|
57
|
-
.catch(() =>
|
|
67
|
+
.catch(() => {
|
|
68
|
+
throw never('draw its embedded frames');
|
|
69
|
+
});
|
|
58
70
|
});
|
|
59
71
|
exports.openFrame = openFrame;
|
|
60
72
|
exports.settled = `new Promise((done) => document.fonts.ready.then(() =>
|
|
61
73
|
requestAnimationFrame(() => requestAnimationFrame(() => done(true)))))`;
|
|
74
|
+
exports.finished = `document.getAnimations()
|
|
75
|
+
.filter((animation) => animation.effect?.getComputedTiming().endTime !== Infinity)
|
|
76
|
+
.forEach((animation) => animation.finish())`;
|
|
77
|
+
// Partial raster redraws only the invalidated part of a tile, so the anti-aliased edge of a rounded clip over an
|
|
78
|
+
// embedded frame depends on which frame painted first: two draws of the same page differed under load.
|
|
79
|
+
const DRAW_BROWSER_ARGS = ['--disable-partial-raster'];
|
|
80
|
+
const DRAWS_AT_ONCE = 4;
|
|
62
81
|
/**
|
|
63
|
-
* One shared headless Chromium, launched on the first ask, that runs
|
|
82
|
+
* One shared headless Chromium, launched on the first ask, that runs up to four drawings at once. A waiting
|
|
64
83
|
* `high` drawing runs before every waiting `low` one, each lane in the order asked. A failed launch is
|
|
65
84
|
* not kept, so the next ask tries again.
|
|
66
85
|
*/
|
|
@@ -71,13 +90,13 @@ const createDrawQueue = (options) => {
|
|
|
71
90
|
let browser = null;
|
|
72
91
|
const waiting = { high: [], low: [] };
|
|
73
92
|
const jobs = new WeakMap();
|
|
74
|
-
let drawing =
|
|
93
|
+
let drawing = 0;
|
|
75
94
|
const launch = () => {
|
|
76
95
|
browser !== null && browser !== void 0 ? browser : (browser = resolveChromium(target).then((resolved) => {
|
|
77
96
|
if (!resolved) {
|
|
78
97
|
throw new ThumbUnavailableError('design-explore: no playwright or playwright-core resolves, so the server can not draw thumbnails');
|
|
79
98
|
}
|
|
80
|
-
return resolved.chromium.launch().catch((error) => {
|
|
99
|
+
return resolved.chromium.launch({ args: DRAW_BROWSER_ARGS }).catch((error) => {
|
|
81
100
|
throw new ThumbUnavailableError(`design-explore: the Chromium of ${resolved.from} did not start\n${error instanceof Error ? error.message : String(error)}`);
|
|
82
101
|
});
|
|
83
102
|
}));
|
|
@@ -86,14 +105,16 @@ const createDrawQueue = (options) => {
|
|
|
86
105
|
};
|
|
87
106
|
const next = () => {
|
|
88
107
|
var _a;
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
108
|
+
while (drawing < DRAWS_AT_ONCE) {
|
|
109
|
+
const job = (_a = waiting.high.shift()) !== null && _a !== void 0 ? _a : waiting.low.shift();
|
|
110
|
+
if (!job)
|
|
111
|
+
return;
|
|
112
|
+
drawing++;
|
|
113
|
+
void job().finally(() => {
|
|
114
|
+
drawing--;
|
|
115
|
+
next();
|
|
116
|
+
});
|
|
117
|
+
}
|
|
97
118
|
};
|
|
98
119
|
return {
|
|
99
120
|
run: (draw, priority = 'high') => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thumb.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/thumb.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,+BAA6B;AAC7B,uCAAiD;AAEpC,QAAA,UAAU,GAAG,iBAAiB,CAAC;AAE5C,yFAAyF;AAC5E,QAAA,iBAAiB,GAAG,GAAG,CAAC;AAErC,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,CAAC;AAEf,QAAA,eAAe,GAAG,KAAK,CAAC;AAMrC,MAAa,qBAAsB,SAAQ,KAAK;CAAG;AAAnD,sDAAmD;AAEnD,MAAa,iBAAkB,SAAQ,KAAK;CAAG;AAA/C,8CAA+C;AAE/C,MAAa,sBAAuB,SAAQ,KAAK;CAAG;AAApD,wDAAoD;AAEpD,sGAAsG;AACtG,MAAa,eAAgB,SAAQ,KAAK;IACxC,YACE,OAAe,EACN,GAAW;QAEpB,KAAK,CAAC,OAAO,CAAC,CAAC;QAFN,QAAG,GAAH,GAAG,CAAQ;IAGtB,CAAC;CACF;AAPD,0CAOC;AAED,MAAa,gBAAiB,SAAQ,KAAK;CAAG;AAA9C,4CAA8C;AAE9C,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC;;;;KAIlC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;AAI7B
|
|
1
|
+
{"version":3,"file":"thumb.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/thumb.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@ import { PictureOf } from './merge-compare';
|
|
|
3
3
|
import { ResolvedProduct } from './system/resolve-product';
|
|
4
4
|
import { Sketch } from './system/sketch/sketch';
|
|
5
5
|
import { SketchVariant } from './system/system-modules';
|
|
6
|
-
/**
|
|
7
|
-
export type BoxOf = (before: Buffer, after: Buffer) => Promise<ChangedBox
|
|
6
|
+
/** One box per cluster of the pixels `after` changes from `before`; empty when both draw the same pixels. */
|
|
7
|
+
export type BoxOf = (before: Buffer, after: Buffer) => Promise<ChangedBox[]>;
|
|
8
8
|
export type VariantPartLoad = (options: {
|
|
9
9
|
file: string;
|
|
10
10
|
product: string;
|
|
@@ -15,13 +15,14 @@ export type FrameSize = {
|
|
|
15
15
|
height: number;
|
|
16
16
|
};
|
|
17
17
|
/**
|
|
18
|
-
* One state of the sketched part: the box
|
|
19
|
-
*
|
|
18
|
+
* One state of the sketched part: the box around the pixels the variant changes against the product (`null` for
|
|
19
|
+
* none), one box per cluster of them, and the size of the picture they were found in, `new` when the product does not draw the state, or why a side could
|
|
20
20
|
* not be drawn.
|
|
21
21
|
*/
|
|
22
22
|
export type StateDiff = {
|
|
23
23
|
state: string;
|
|
24
24
|
box: ChangedBox | null;
|
|
25
|
+
boxes: ChangedBox[];
|
|
25
26
|
frame: FrameSize;
|
|
26
27
|
} | {
|
|
27
28
|
state: string;
|
|
@@ -30,10 +31,10 @@ export type StateDiff = {
|
|
|
30
31
|
state: string;
|
|
31
32
|
error: string;
|
|
32
33
|
};
|
|
33
|
-
/** The
|
|
34
|
+
/** The crops every column of a comparison shares, one per cluster of changes, and the frame they sit in. */
|
|
34
35
|
export type ChangedArea = {
|
|
35
36
|
frame: FrameSize;
|
|
36
|
-
|
|
37
|
+
crops: ChangedBox[];
|
|
37
38
|
};
|
|
38
39
|
export type VariantDiff = {
|
|
39
40
|
target: string;
|
|
@@ -43,14 +44,15 @@ export type VariantDiff = {
|
|
|
43
44
|
states: StateDiff[];
|
|
44
45
|
};
|
|
45
46
|
/**
|
|
46
|
-
* Draws every state of the sketched part as `variant` draws it and as the product draws it now, at rest, and
|
|
47
|
-
* returns the
|
|
47
|
+
* Draws every state of the sketched part, or of its target `part`, as `variant` draws it and as the product draws it now, at rest, and
|
|
48
|
+
* returns the boxes of the changed pixels per state. A page is drawn at the preset `size` names, or its first; a part
|
|
48
49
|
* with `widths` at the width `size` names, or its first; any other part fitted to its content.
|
|
49
50
|
*/
|
|
50
51
|
export declare const diffVariant: (options: {
|
|
51
52
|
product: ResolvedProduct;
|
|
52
53
|
sketch: Sketch;
|
|
53
54
|
variant: string;
|
|
55
|
+
part?: string;
|
|
54
56
|
size: string | null;
|
|
55
57
|
params: URLSearchParams;
|
|
56
58
|
pictureOf: PictureOf;
|
|
@@ -58,7 +60,7 @@ export declare const diffVariant: (options: {
|
|
|
58
60
|
load: VariantPartLoad;
|
|
59
61
|
}) => Promise<VariantDiff>;
|
|
60
62
|
/**
|
|
61
|
-
*
|
|
62
|
-
* were drawn in; `null` when no pixel changes.
|
|
63
|
+
* One crop per cluster of the pixels any of `diffs` changes in any state, padded by `margin`, inside the largest
|
|
64
|
+
* frame they were drawn in; `null` when no pixel changes.
|
|
63
65
|
*/
|
|
64
66
|
export declare const changedAreaOf: (diffs: VariantDiff[], margin?: number) => ChangedArea | null;
|
|
@@ -16,16 +16,16 @@ const resolve_product_1 = require("./system/resolve-product");
|
|
|
16
16
|
const overlay_1 = require("./system/sketch/overlay");
|
|
17
17
|
const messageOf = (error) => (error instanceof Error ? error.message : String(error));
|
|
18
18
|
/**
|
|
19
|
-
* Draws every state of the sketched part as `variant` draws it and as the product draws it now, at rest, and
|
|
20
|
-
* returns the
|
|
19
|
+
* Draws every state of the sketched part, or of its target `part`, as `variant` draws it and as the product draws it now, at rest, and
|
|
20
|
+
* returns the boxes of the changed pixels per state. A page is drawn at the preset `size` names, or its first; a part
|
|
21
21
|
* with `widths` at the width `size` names, or its first; any other part fitted to its content.
|
|
22
22
|
*/
|
|
23
23
|
const diffVariant = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
24
|
-
var _a, _b, _c;
|
|
24
|
+
var _a, _b, _c, _d;
|
|
25
25
|
const { product, sketch, variant, size, params, pictureOf, boxOf, load } = options;
|
|
26
|
-
const target = sketch.target;
|
|
27
|
-
const drawn = { target, variant };
|
|
28
|
-
const file = (
|
|
26
|
+
const target = (_a = options.part) !== null && _a !== void 0 ? _a : sketch.target;
|
|
27
|
+
const drawn = { target: sketch.target, variant };
|
|
28
|
+
const file = (_b = (0, overlay_1.overlaySketch)({ product, sketch, variant }).parts.find((part) => (0, resolve_product_1.partKeyOf)(part) === target)) === null || _b === void 0 ? void 0 : _b.file;
|
|
29
29
|
const current = product.parts.find((part) => (0, resolve_product_1.partKeyOf)(part) === target);
|
|
30
30
|
if (!file)
|
|
31
31
|
return { target, variant, states: [] };
|
|
@@ -44,8 +44,8 @@ const diffVariant = (options) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
44
44
|
: null,
|
|
45
45
|
]);
|
|
46
46
|
const isPage = target.startsWith('pages/');
|
|
47
|
-
const offered = isPage ? Object.keys(product.presets) : ((
|
|
48
|
-
const picked = (
|
|
47
|
+
const offered = isPage ? Object.keys(product.presets) : ((_c = ('widths' in after ? after.widths : undefined)) !== null && _c !== void 0 ? _c : []);
|
|
48
|
+
const picked = (_d = offered.map(String).find((entry) => entry === size)) !== null && _d !== void 0 ? _d : offered[0];
|
|
49
49
|
const at = picked === undefined ? {} : isPage ? { preset: String(picked) } : { width: Number(picked) };
|
|
50
50
|
const known = new Set((now === null || now === void 0 ? void 0 : now.problem) === null ? now.states : []);
|
|
51
51
|
const states = yield Promise.all(after.states.map((state) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -66,7 +66,8 @@ const diffVariant = (options) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
66
66
|
};
|
|
67
67
|
try {
|
|
68
68
|
const [before, changed] = yield Promise.all([draw(null), draw(drawn)]);
|
|
69
|
-
|
|
69
|
+
const boxes = yield boxOf(before.png, changed.png);
|
|
70
|
+
return { state, box: (0, contact_sheet_1.boundsOf)(boxes), boxes, frame: (0, contact_sheet_1.pngSizeOf)(before.png) };
|
|
70
71
|
}
|
|
71
72
|
catch (error) {
|
|
72
73
|
return { state, error: messageOf(error) };
|
|
@@ -76,8 +77,8 @@ const diffVariant = (options) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
76
77
|
});
|
|
77
78
|
exports.diffVariant = diffVariant;
|
|
78
79
|
/**
|
|
79
|
-
*
|
|
80
|
-
* were drawn in; `null` when no pixel changes.
|
|
80
|
+
* One crop per cluster of the pixels any of `diffs` changes in any state, padded by `margin`, inside the largest
|
|
81
|
+
* frame they were drawn in; `null` when no pixel changes.
|
|
81
82
|
*/
|
|
82
83
|
const changedAreaOf = (diffs, margin) => {
|
|
83
84
|
const drawn = diffs.flatMap((diff) => diff.states.flatMap((entry) => ('box' in entry ? [entry] : [])));
|
|
@@ -85,8 +86,8 @@ const changedAreaOf = (diffs, margin) => {
|
|
|
85
86
|
width: Math.max(0, ...drawn.map((entry) => entry.frame.width)),
|
|
86
87
|
height: Math.max(0, ...drawn.map((entry) => entry.frame.height)),
|
|
87
88
|
};
|
|
88
|
-
const
|
|
89
|
-
return
|
|
89
|
+
const crops = (0, contact_sheet_1.changedCropsOf)({ boxes: drawn.flatMap((entry) => entry.boxes), frame, margin });
|
|
90
|
+
return crops.length > 0 ? { frame, crops } : null;
|
|
90
91
|
};
|
|
91
92
|
exports.changedAreaOf = changedAreaOf;
|
|
92
93
|
//# sourceMappingURL=variant-diff.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variant-diff.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/variant-diff.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"variant-diff.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/variant-diff.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Browser } from './thumb';
|
|
2
|
+
type ContextOptions = NonNullable<Parameters<Browser['newContext']>[0]>;
|
|
3
|
+
type Context = Awaited<ReturnType<Browser['newContext']>>;
|
|
4
|
+
type Page = Awaited<ReturnType<Context['newPage']>>;
|
|
5
|
+
type Lent = {
|
|
6
|
+
browser: Browser;
|
|
7
|
+
context: ContextOptions;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Lends a page of its own browser context per set of context options and keeps it open between draws, parked on a
|
|
11
|
+
* blank page with its storage and cookies cleared. A page whose draw throws is closed, never lent again. The pages
|
|
12
|
+
* close with their browser.
|
|
13
|
+
*/
|
|
14
|
+
export declare const createWarmPages: (options?: {
|
|
15
|
+
idleLimit?: number;
|
|
16
|
+
}) => {
|
|
17
|
+
/** Runs `draw` on an idle page of `browser` opened with the same `context` options, or on a new one. */
|
|
18
|
+
run: <T>(lent: Lent, draw: (page: Page) => Promise<T>) => Promise<T>;
|
|
19
|
+
};
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,78 @@
|
|
|
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.createWarmPages = void 0;
|
|
13
|
+
const IDLE_LIMIT = 8;
|
|
14
|
+
const BLANK = 'about:blank';
|
|
15
|
+
/**
|
|
16
|
+
* Lends a page of its own browser context per set of context options and keeps it open between draws, parked on a
|
|
17
|
+
* blank page with its storage and cookies cleared. A page whose draw throws is closed, never lent again. The pages
|
|
18
|
+
* close with their browser.
|
|
19
|
+
*/
|
|
20
|
+
const createWarmPages = (options = {}) => {
|
|
21
|
+
var _a;
|
|
22
|
+
const idleLimit = (_a = options.idleLimit) !== null && _a !== void 0 ? _a : IDLE_LIMIT;
|
|
23
|
+
const idleByBrowser = new WeakMap();
|
|
24
|
+
const idleOf = (browser) => {
|
|
25
|
+
var _a;
|
|
26
|
+
const kept = (_a = idleByBrowser.get(browser)) !== null && _a !== void 0 ? _a : [];
|
|
27
|
+
idleByBrowser.set(browser, kept);
|
|
28
|
+
return kept;
|
|
29
|
+
};
|
|
30
|
+
const drop = (warm) => void warm.context.close().catch(() => undefined);
|
|
31
|
+
const open = (_a, key_1) => __awaiter(void 0, [_a, key_1], void 0, function* ({ browser, context: contextOptions }, key) {
|
|
32
|
+
const context = yield browser.newContext(contextOptions);
|
|
33
|
+
try {
|
|
34
|
+
return { key, context, page: yield context.newPage() };
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
yield context.close().catch(() => undefined);
|
|
38
|
+
throw error;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
const park = (warm) => warm.page
|
|
42
|
+
.evaluate('localStorage.clear(); sessionStorage.clear()')
|
|
43
|
+
.catch(() => undefined)
|
|
44
|
+
.then(() => warm.context.clearCookies())
|
|
45
|
+
.then(() => warm.page.goto(BLANK))
|
|
46
|
+
.then(() => true, () => {
|
|
47
|
+
drop(warm);
|
|
48
|
+
return false;
|
|
49
|
+
});
|
|
50
|
+
const borrow = (lent, key) => __awaiter(void 0, void 0, void 0, function* () {
|
|
51
|
+
const kept = idleOf(lent.browser);
|
|
52
|
+
const at = kept.findIndex((idle) => idle.warm.key === key);
|
|
53
|
+
const [idle] = at >= 0 ? kept.splice(at, 1) : [];
|
|
54
|
+
if (!idle)
|
|
55
|
+
return open(lent, key);
|
|
56
|
+
return (yield idle.parked) ? idle.warm : borrow(lent, key);
|
|
57
|
+
});
|
|
58
|
+
return {
|
|
59
|
+
/** Runs `draw` on an idle page of `browser` opened with the same `context` options, or on a new one. */
|
|
60
|
+
run: (lent, draw) => __awaiter(void 0, void 0, void 0, function* () {
|
|
61
|
+
const key = JSON.stringify(lent.context);
|
|
62
|
+
const warm = yield borrow(lent, key);
|
|
63
|
+
try {
|
|
64
|
+
const drawn = yield draw(warm.page);
|
|
65
|
+
const kept = idleOf(lent.browser);
|
|
66
|
+
kept.push({ warm, parked: park(warm) });
|
|
67
|
+
kept.splice(0, Math.max(0, kept.length - idleLimit)).forEach((idle) => drop(idle.warm));
|
|
68
|
+
return drawn;
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
drop(warm);
|
|
72
|
+
throw error;
|
|
73
|
+
}
|
|
74
|
+
}),
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
exports.createWarmPages = createWarmPages;
|
|
78
|
+
//# sourceMappingURL=warm-pages.js.map
|