@ethlete/cli 3.0.0-next.20 → 3.0.0-next.22
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 +190 -0
- package/design/assets.d.ts +9 -0
- package/design/define-call.ts +20 -11
- package/design/define-part.ts +102 -0
- package/design/embed-page.ts +70 -0
- package/design/interaction-rows.ts +32 -0
- package/design/mark-part.ts +66 -0
- package/design/svg-asset.ts +36 -0
- package/design/systems/config.json +10 -0
- package/design/systems/ethlete-components/components/button/button.ts +18 -0
- package/design/web/env.d.ts +20 -0
- package/design/web/frame.ts +173 -41
- package/design/wireframe-kit.ts +386 -0
- package/package.json +4 -2
- package/src/index.js.map +1 -1
- package/src/lib/api/api-command.js.map +1 -1
- package/src/lib/api/api-context.js.map +1 -1
- package/src/lib/api/api-state.js.map +1 -1
- package/src/lib/api/auth-hint.js.map +1 -1
- package/src/lib/api/clear.js.map +1 -1
- package/src/lib/api/clone.js.map +1 -1
- package/src/lib/api/compose.js.map +1 -1
- package/src/lib/api/definition.js.map +1 -1
- package/src/lib/api/doctor.js.map +1 -1
- package/src/lib/api/fingerprint.js.map +1 -1
- package/src/lib/api/git.js.map +1 -1
- package/src/lib/api/help.js.map +1 -1
- package/src/lib/api/index.js.map +1 -1
- package/src/lib/api/load-definitions.js.map +1 -1
- package/src/lib/api/lock.js.map +1 -1
- package/src/lib/api/parse-argv.js.map +1 -1
- package/src/lib/api/ports.js.map +1 -1
- package/src/lib/api/resolve-checkout.js.map +1 -1
- package/src/lib/api/run-locked.js.map +1 -1
- package/src/lib/api/run-ready.js.map +1 -1
- package/src/lib/api/run-snapshot.js.map +1 -1
- package/src/lib/api/run-status.js.map +1 -1
- package/src/lib/api/run.js.map +1 -1
- package/src/lib/api/seeds.js.map +1 -1
- package/src/lib/api/setup.js.map +1 -1
- package/src/lib/api/snapshot.js.map +1 -1
- package/src/lib/api/state.js.map +1 -1
- package/src/lib/api/suggest.js.map +1 -1
- package/src/lib/api/validate-definition.js.map +1 -1
- package/src/lib/auth/auth-command.js.map +1 -1
- package/src/lib/auth/composer-auth.js.map +1 -1
- package/src/lib/auth/composer-repositories.js.map +1 -1
- package/src/lib/auth/gitlab-token.js.map +1 -1
- package/src/lib/auth/index.js.map +1 -1
- package/src/lib/config/diagnose.js.map +1 -1
- package/src/lib/config/index.js.map +1 -1
- package/src/lib/config/local-config.js.map +1 -1
- package/src/lib/design/asset-shot.d.ts +26 -0
- package/src/lib/design/asset-shot.js +191 -0
- package/src/lib/design/asset-shot.js.map +1 -0
- package/src/lib/design/browser.js.map +1 -1
- package/src/lib/design/calls-tsconfig.d.ts +14 -1
- package/src/lib/design/calls-tsconfig.js +23 -18
- package/src/lib/design/calls-tsconfig.js.map +1 -1
- package/src/lib/design/calls.d.ts +28 -0
- package/src/lib/design/calls.js +58 -0
- package/src/lib/design/calls.js.map +1 -0
- package/src/lib/design/changed-parts.d.ts +51 -0
- package/src/lib/design/changed-parts.js +103 -0
- package/src/lib/design/changed-parts.js.map +1 -0
- package/src/lib/design/check.js +53 -54
- package/src/lib/design/check.js.map +1 -1
- package/src/lib/design/contact-sheet.d.ts +68 -0
- package/src/lib/design/contact-sheet.js +169 -0
- package/src/lib/design/contact-sheet.js.map +1 -0
- package/src/lib/design/design-command.js +165 -6
- package/src/lib/design/design-command.js.map +1 -1
- package/src/lib/design/force-interactions.d.ts +13 -0
- package/src/lib/design/force-interactions.js +75 -0
- package/src/lib/design/force-interactions.js.map +1 -0
- package/src/lib/design/inbox-command.d.ts +21 -0
- package/src/lib/design/inbox-command.js +156 -0
- package/src/lib/design/inbox-command.js.map +1 -0
- package/src/lib/design/index.js.map +1 -1
- package/src/lib/design/json-layout.d.ts +5 -0
- package/src/lib/design/json-layout.js +41 -0
- package/src/lib/design/json-layout.js.map +1 -0
- package/src/lib/design/legacy.d.ts +7 -0
- package/src/lib/design/legacy.js +23 -8
- package/src/lib/design/legacy.js.map +1 -1
- package/src/lib/design/merge-compare.d.ts +57 -0
- package/src/lib/design/merge-compare.js +80 -0
- package/src/lib/design/merge-compare.js.map +1 -0
- package/src/lib/design/missing-package.js.map +1 -1
- package/src/lib/design/new-call.js.map +1 -1
- package/src/lib/design/part-marks.d.ts +12 -0
- package/src/lib/design/part-marks.js +38 -0
- package/src/lib/design/part-marks.js.map +1 -0
- package/src/lib/design/paths.d.ts +35 -2
- package/src/lib/design/paths.js +62 -4
- package/src/lib/design/paths.js.map +1 -1
- package/src/lib/design/product-command.d.ts +38 -0
- package/src/lib/design/product-command.js +158 -0
- package/src/lib/design/product-command.js.map +1 -0
- package/src/lib/design/ready-shots.d.ts +13 -0
- package/src/lib/design/ready-shots.js +55 -0
- package/src/lib/design/ready-shots.js.map +1 -0
- package/src/lib/design/render-fields.js.map +1 -1
- package/src/lib/design/render-packages.js.map +1 -1
- package/src/lib/design/render-worker.js.map +1 -1
- package/src/lib/design/render.d.ts +8 -1
- package/src/lib/design/render.js +43 -14
- package/src/lib/design/render.js.map +1 -1
- package/src/lib/design/serve.d.ts +17 -0
- package/src/lib/design/serve.js +446 -62
- package/src/lib/design/serve.js.map +1 -1
- package/src/lib/design/shot-command.d.ts +75 -0
- package/src/lib/design/shot-command.js +361 -0
- package/src/lib/design/shot-command.js.map +1 -0
- package/src/lib/design/shot.d.ts +97 -0
- package/src/lib/design/shot.js +346 -0
- package/src/lib/design/shot.js.map +1 -0
- package/src/lib/design/sketch-at.d.ts +16 -0
- package/src/lib/design/sketch-at.js +34 -0
- package/src/lib/design/sketch-at.js.map +1 -0
- package/src/lib/design/sketch-command.d.ts +9 -0
- package/src/lib/design/sketch-command.js +572 -0
- package/src/lib/design/sketch-command.js.map +1 -0
- package/src/lib/design/ssr-shims.js.map +1 -1
- package/src/lib/design/stamp.js.map +1 -1
- package/src/lib/design/status.d.ts +2 -2
- package/src/lib/design/status.js +2 -2
- package/src/lib/design/status.js.map +1 -1
- package/src/lib/design/studio-api.d.ts +102 -0
- package/src/lib/design/studio-api.js +452 -0
- package/src/lib/design/studio-api.js.map +1 -0
- package/src/lib/design/system/accept-command.d.ts +7 -0
- package/src/lib/design/system/accept-command.js +55 -0
- package/src/lib/design/system/accept-command.js.map +1 -0
- package/src/lib/design/system/assets.d.ts +34 -0
- package/src/lib/design/system/assets.js +64 -0
- package/src/lib/design/system/assets.js.map +1 -0
- package/src/lib/design/system/base.d.ts +33 -0
- package/src/lib/design/system/base.js +49 -0
- package/src/lib/design/system/base.js.map +1 -0
- package/src/lib/design/system/check-system.d.ts +23 -0
- package/src/lib/design/system/check-system.js +151 -0
- package/src/lib/design/system/check-system.js.map +1 -0
- package/src/lib/design/system/colour.d.ts +2 -0
- package/src/lib/design/system/colour.js +9 -0
- package/src/lib/design/system/colour.js.map +1 -0
- package/src/lib/design/system/comments/comment.d.ts +196 -0
- package/src/lib/design/system/comments/comment.js +332 -0
- package/src/lib/design/system/comments/comment.js.map +1 -0
- package/src/lib/design/system/comments/complete.d.ts +15 -0
- package/src/lib/design/system/comments/complete.js +63 -0
- package/src/lib/design/system/comments/complete.js.map +1 -0
- package/src/lib/design/system/comments/inbox.d.ts +49 -0
- package/src/lib/design/system/comments/inbox.js +100 -0
- package/src/lib/design/system/comments/inbox.js.map +1 -0
- package/src/lib/design/system/css-source.d.ts +12 -0
- package/src/lib/design/system/css-source.js +39 -0
- package/src/lib/design/system/css-source.js.map +1 -0
- package/src/lib/design/system/flows/flow.d.ts +66 -0
- package/src/lib/design/system/flows/flow.js +157 -0
- package/src/lib/design/system/flows/flow.js.map +1 -0
- package/src/lib/design/system/imports.d.ts +70 -0
- package/src/lib/design/system/imports.js +159 -0
- package/src/lib/design/system/imports.js.map +1 -0
- package/src/lib/design/system/kit.d.ts +4 -0
- package/src/lib/design/system/kit.js +51 -0
- package/src/lib/design/system/kit.js.map +1 -0
- package/src/lib/design/system/layers.d.ts +9 -0
- package/src/lib/design/system/layers.js +16 -0
- package/src/lib/design/system/layers.js.map +1 -0
- package/src/lib/design/system/list-system.d.ts +104 -0
- package/src/lib/design/system/list-system.js +212 -0
- package/src/lib/design/system/list-system.js.map +1 -0
- package/src/lib/design/system/notes/note.d.ts +53 -0
- package/src/lib/design/system/notes/note.js +116 -0
- package/src/lib/design/system/notes/note.js.map +1 -0
- package/src/lib/design/system/part-command.d.ts +7 -0
- package/src/lib/design/system/part-command.js +134 -0
- package/src/lib/design/system/part-command.js.map +1 -0
- package/src/lib/design/system/problem.d.ts +5 -0
- package/src/lib/design/system/problem.js +3 -0
- package/src/lib/design/system/problem.js.map +1 -0
- package/src/lib/design/system/product.d.ts +18 -0
- package/src/lib/design/system/product.js +35 -0
- package/src/lib/design/system/product.js.map +1 -0
- package/src/lib/design/system/render-check.d.ts +45 -0
- package/src/lib/design/system/render-check.js +427 -0
- package/src/lib/design/system/render-check.js.map +1 -0
- package/src/lib/design/system/resolve-product.d.ts +32 -0
- package/src/lib/design/system/resolve-product.js +62 -0
- package/src/lib/design/system/resolve-product.js.map +1 -0
- package/src/lib/design/system/rules/component-copy.d.ts +7 -0
- package/src/lib/design/system/rules/component-copy.js +53 -0
- package/src/lib/design/system/rules/component-copy.js.map +1 -0
- package/src/lib/design/system/rules/flow.d.ts +8 -0
- package/src/lib/design/system/rules/flow.js +60 -0
- package/src/lib/design/system/rules/flow.js.map +1 -0
- package/src/lib/design/system/rules/hard-coded-colour.d.ts +7 -0
- package/src/lib/design/system/rules/hard-coded-colour.js +27 -0
- package/src/lib/design/system/rules/hard-coded-colour.js.map +1 -0
- package/src/lib/design/system/rules/interactions.d.ts +4 -0
- package/src/lib/design/system/rules/interactions.js +16 -0
- package/src/lib/design/system/rules/interactions.js.map +1 -0
- package/src/lib/design/system/rules/kit-outside-pages.d.ts +4 -0
- package/src/lib/design/system/rules/kit-outside-pages.js +14 -0
- package/src/lib/design/system/rules/kit-outside-pages.js.map +1 -0
- package/src/lib/design/system/rules/motion.d.ts +4 -0
- package/src/lib/design/system/rules/motion.js +13 -0
- package/src/lib/design/system/rules/motion.js.map +1 -0
- package/src/lib/design/system/rules/stale-comment.d.ts +8 -0
- package/src/lib/design/system/rules/stale-comment.js +51 -0
- package/src/lib/design/system/rules/stale-comment.js.map +1 -0
- package/src/lib/design/system/rules/stale-replace.d.ts +4 -0
- package/src/lib/design/system/rules/stale-replace.js +65 -0
- package/src/lib/design/system/rules/stale-replace.js.map +1 -0
- package/src/lib/design/system/rules/svg-asset.d.ts +6 -0
- package/src/lib/design/system/rules/svg-asset.js +30 -0
- package/src/lib/design/system/rules/svg-asset.js.map +1 -0
- package/src/lib/design/system/rules/token-selectors.d.ts +3 -0
- package/src/lib/design/system/rules/token-selectors.js +87 -0
- package/src/lib/design/system/rules/token-selectors.js.map +1 -0
- package/src/lib/design/system/rules/undefined-token.d.ts +8 -0
- package/src/lib/design/system/rules/undefined-token.js +103 -0
- package/src/lib/design/system/rules/undefined-token.js.map +1 -0
- package/src/lib/design/system/rules/unused-shared-export.d.ts +18 -0
- package/src/lib/design/system/rules/unused-shared-export.js +60 -0
- package/src/lib/design/system/rules/unused-shared-export.js.map +1 -0
- package/src/lib/design/system/rules/upward-dependency.d.ts +4 -0
- package/src/lib/design/system/rules/upward-dependency.js +17 -0
- package/src/lib/design/system/rules/upward-dependency.js.map +1 -0
- package/src/lib/design/system/rules/widths.d.ts +4 -0
- package/src/lib/design/system/rules/widths.js +14 -0
- package/src/lib/design/system/rules/widths.js.map +1 -0
- package/src/lib/design/system/sketch/baseline.d.ts +38 -0
- package/src/lib/design/system/sketch/baseline.js +66 -0
- package/src/lib/design/system/sketch/baseline.js.map +1 -0
- package/src/lib/design/system/sketch/check-format.d.ts +17 -0
- package/src/lib/design/system/sketch/check-format.js +56 -0
- package/src/lib/design/system/sketch/check-format.js.map +1 -0
- package/src/lib/design/system/sketch/check-sketches.d.ts +38 -0
- package/src/lib/design/system/sketch/check-sketches.js +104 -0
- package/src/lib/design/system/sketch/check-sketches.js.map +1 -0
- package/src/lib/design/system/sketch/cli-args.d.ts +26 -0
- package/src/lib/design/system/sketch/cli-args.js +63 -0
- package/src/lib/design/system/sketch/cli-args.js.map +1 -0
- package/src/lib/design/system/sketch/duplicate-class.d.ts +14 -0
- package/src/lib/design/system/sketch/duplicate-class.js +57 -0
- package/src/lib/design/system/sketch/duplicate-class.js.map +1 -0
- package/src/lib/design/system/sketch/merge-preview.d.ts +15 -0
- package/src/lib/design/system/sketch/merge-preview.js +43 -0
- package/src/lib/design/system/sketch/merge-preview.js.map +1 -0
- package/src/lib/design/system/sketch/merge-shared.d.ts +25 -0
- package/src/lib/design/system/sketch/merge-shared.js +53 -0
- package/src/lib/design/system/sketch/merge-shared.js.map +1 -0
- package/src/lib/design/system/sketch/merge.d.ts +31 -0
- package/src/lib/design/system/sketch/merge.js +145 -0
- package/src/lib/design/system/sketch/merge.js.map +1 -0
- package/src/lib/design/system/sketch/merged-parts.d.ts +59 -0
- package/src/lib/design/system/sketch/merged-parts.js +134 -0
- package/src/lib/design/system/sketch/merged-parts.js.map +1 -0
- package/src/lib/design/system/sketch/no-visible-change.d.ts +15 -0
- package/src/lib/design/system/sketch/no-visible-change.js +70 -0
- package/src/lib/design/system/sketch/no-visible-change.js.map +1 -0
- package/src/lib/design/system/sketch/overlay.d.ts +20 -0
- package/src/lib/design/system/sketch/overlay.js +38 -0
- package/src/lib/design/system/sketch/overlay.js.map +1 -0
- package/src/lib/design/system/sketch/part-definition.d.ts +31 -0
- package/src/lib/design/system/sketch/part-definition.js +157 -0
- package/src/lib/design/system/sketch/part-definition.js.map +1 -0
- package/src/lib/design/system/sketch/shared-class.d.ts +9 -0
- package/src/lib/design/system/sketch/shared-class.js +65 -0
- package/src/lib/design/system/sketch/shared-class.js.map +1 -0
- package/src/lib/design/system/sketch/sketch.d.ts +221 -0
- package/src/lib/design/system/sketch/sketch.js +481 -0
- package/src/lib/design/system/sketch/sketch.js.map +1 -0
- package/src/lib/design/system/sketch/unchanged-states.d.ts +23 -0
- package/src/lib/design/system/sketch/unchanged-states.js +144 -0
- package/src/lib/design/system/sketch/unchanged-states.js.map +1 -0
- package/src/lib/design/system/sketch/unused-files.d.ts +10 -0
- package/src/lib/design/system/sketch/unused-files.js +56 -0
- package/src/lib/design/system/sketch/unused-files.js.map +1 -0
- package/src/lib/design/system/system-command.d.ts +9 -0
- package/src/lib/design/system/system-command.js +56 -0
- package/src/lib/design/system/system-command.js.map +1 -0
- package/src/lib/design/system/system-modules.d.ts +58 -0
- package/src/lib/design/system/system-modules.js +189 -0
- package/src/lib/design/system/system-modules.js.map +1 -0
- package/src/lib/design/system/system-tsconfig.d.ts +26 -0
- package/src/lib/design/system/system-tsconfig.js +68 -0
- package/src/lib/design/system/system-tsconfig.js.map +1 -0
- package/src/lib/design/system/ts-source.d.ts +13 -0
- package/src/lib/design/system/ts-source.js +108 -0
- package/src/lib/design/system/ts-source.js.map +1 -0
- package/src/lib/design/system-use.js.map +1 -1
- package/src/lib/design/thumb.d.ts +67 -0
- package/src/lib/design/thumb.js +222 -0
- package/src/lib/design/thumb.js.map +1 -0
- package/src/lib/design/typecheck.d.ts +27 -0
- package/src/lib/design/typecheck.js +60 -0
- package/src/lib/design/typecheck.js.map +1 -0
- package/src/lib/design/variant-diff.d.ts +48 -0
- package/src/lib/design/variant-diff.js +77 -0
- package/src/lib/design/variant-diff.js.map +1 -0
- package/src/lib/design/vite-paths.d.ts +2 -0
- package/src/lib/design/vite-paths.js +10 -1
- package/src/lib/design/vite-paths.js.map +1 -1
- package/src/lib/doctor/doctor-command.js.map +1 -1
- package/src/lib/doctor/index.js.map +1 -1
- package/src/lib/index.js.map +1 -1
- package/src/lib/invocation.js +6 -2
- package/src/lib/invocation.js.map +1 -1
- package/src/lib/release.js.map +1 -1
- package/src/lib/update/agent-rules-sync.js.map +1 -1
- package/src/lib/update/agent-setup.js.map +1 -1
- package/src/lib/update/ai.js.map +1 -1
- package/src/lib/update/args.js.map +1 -1
- package/src/lib/update/available-migrations.js.map +1 -1
- package/src/lib/update/commits.js.map +1 -1
- package/src/lib/update/gitignore.js.map +1 -1
- package/src/lib/update/index.js.map +1 -1
- package/src/lib/update/migration-manifest.js.map +1 -1
- package/src/lib/update/migration-record.js.map +1 -1
- package/src/lib/update/migrations-command.js +14 -4
- package/src/lib/update/migrations-command.js.map +1 -1
- package/src/lib/update/package-manager.d.ts +1 -1
- package/src/lib/update/package-manager.js.map +1 -1
- package/src/lib/update/packages.js.map +1 -1
- package/src/lib/update/pending.js.map +1 -1
- package/src/lib/update/plan.js.map +1 -1
- package/src/lib/update/registry.js.map +1 -1
- package/src/lib/update/run-migrations.js.map +1 -1
- package/src/lib/update/scan.js +8 -3
- package/src/lib/update/scan.js.map +1 -1
- package/src/lib/update/semver.js.map +1 -1
- package/src/lib/update/tasks.js.map +1 -1
- package/src/lib/update/update-command.js.map +1 -1
- package/src/lib/utils.js.map +1 -1
package/src/lib/design/legacy.js
CHANGED
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.markLegacy = void 0;
|
|
3
|
+
exports.markTransferred = exports.TRANSFER_PATH = exports.markLegacy = void 0;
|
|
4
4
|
const fs_1 = require("fs");
|
|
5
5
|
const path_1 = require("path");
|
|
6
|
+
const calls_1 = require("./calls");
|
|
6
7
|
const paths_1 = require("./paths");
|
|
7
8
|
const OPENING = /defineCall\(\{\n/;
|
|
8
9
|
const HAS_STAGE = /^\s*stage\s*:/m;
|
|
9
10
|
const HAS_LEGACY = /^\s*legacy\s*:/m;
|
|
11
|
+
const HAS_TRANSFERRED = /^\s*transferred\s*:/m;
|
|
10
12
|
const LEGACY_LINE = /^([ \t]*)legacy\s*:\s*true,?[ \t]*\n/m;
|
|
11
13
|
const STAGE_OF_GROUP = { foundations: 'themes', components: 'component', pages: 'page' };
|
|
12
|
-
const callFilesOf = (folder) => (0, fs_1.readdirSync)(folder).flatMap((name) => {
|
|
13
|
-
const path = (0, path_1.join)(folder, name);
|
|
14
|
-
if ((0, fs_1.statSync)(path).isDirectory())
|
|
15
|
-
return callFilesOf(path);
|
|
16
|
-
return name === 'call.ts' ? [path] : [];
|
|
17
|
-
});
|
|
18
14
|
/**
|
|
19
15
|
* Writes `legacy: true` into every call of a project that declares no stage, plus the stage its
|
|
20
16
|
* group folder implies (foundations, components, pages), so `et design check` accepts the calls
|
|
@@ -36,7 +32,7 @@ const markLegacy = (options) => {
|
|
|
36
32
|
}
|
|
37
33
|
const unreadable = [];
|
|
38
34
|
let marked = 0;
|
|
39
|
-
for (const path of callFilesOf(folder)) {
|
|
35
|
+
for (const path of (0, calls_1.callFilesOf)(folder)) {
|
|
40
36
|
const text = (0, fs_1.readFileSync)(path, 'utf8');
|
|
41
37
|
if (HAS_STAGE.test(text))
|
|
42
38
|
continue;
|
|
@@ -63,4 +59,23 @@ const markLegacy = (options) => {
|
|
|
63
59
|
return unreadable.length > 0 ? 1 : 0;
|
|
64
60
|
};
|
|
65
61
|
exports.markLegacy = markLegacy;
|
|
62
|
+
exports.TRANSFER_PATH = '/__design/transfer';
|
|
63
|
+
/** Writes `transferred: true` into a call's `call.ts`, below its `legacy: true` line when it has one. */
|
|
64
|
+
const markTransferred = (options) => {
|
|
65
|
+
const path = (0, path_1.join)((0, paths_1.callsRootOf)(options.target), options.slug, 'call.ts');
|
|
66
|
+
if (!options.slug || options.slug.split(/[\\/]/).includes('..') || !(0, fs_1.existsSync)(path))
|
|
67
|
+
return 'missing';
|
|
68
|
+
const text = (0, fs_1.readFileSync)(path, 'utf8');
|
|
69
|
+
if (HAS_TRANSFERRED.test(text))
|
|
70
|
+
return 'already';
|
|
71
|
+
if (LEGACY_LINE.test(text)) {
|
|
72
|
+
(0, fs_1.writeFileSync)(path, text.replace(LEGACY_LINE, (line, indent) => `${line}${indent}transferred: true,\n`));
|
|
73
|
+
return 'marked';
|
|
74
|
+
}
|
|
75
|
+
if (!OPENING.test(text))
|
|
76
|
+
return 'unreadable';
|
|
77
|
+
(0, fs_1.writeFileSync)(path, text.replace(OPENING, (opening) => `${opening} transferred: true,\n`));
|
|
78
|
+
return 'marked';
|
|
79
|
+
};
|
|
80
|
+
exports.markTransferred = markTransferred;
|
|
66
81
|
//# sourceMappingURL=legacy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"legacy.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/legacy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { PartMark, Picture } from './shot';
|
|
2
|
+
import { ResolvedProduct } from './system/resolve-product';
|
|
3
|
+
import { Sketch } from './system/sketch/sketch';
|
|
4
|
+
import { SketchVariant } from './system/system-modules';
|
|
5
|
+
export type Outline = Omit<PartMark, 'parts'>;
|
|
6
|
+
/**
|
|
7
|
+
* One state of a part that shows the sketched part, at the preset or width it is compared at (neither
|
|
8
|
+
* for a part fitted to its content), with the outline of each instance of the sketched part now and
|
|
9
|
+
* after the merge. `error` says why a side could not be drawn.
|
|
10
|
+
*/
|
|
11
|
+
export type CompareRow = {
|
|
12
|
+
part: string;
|
|
13
|
+
state: string;
|
|
14
|
+
preset?: string;
|
|
15
|
+
width?: number;
|
|
16
|
+
outlines: {
|
|
17
|
+
now: Outline[];
|
|
18
|
+
merged: Outline[];
|
|
19
|
+
};
|
|
20
|
+
error?: string;
|
|
21
|
+
};
|
|
22
|
+
/** The rows of a merge preview, split by whether the merge changes a pixel of their picture. */
|
|
23
|
+
export type MergeCompare = {
|
|
24
|
+
target: string;
|
|
25
|
+
variant: string;
|
|
26
|
+
changed: CompareRow[];
|
|
27
|
+
unchanged: CompareRow[];
|
|
28
|
+
};
|
|
29
|
+
export type PictureOf = (options: {
|
|
30
|
+
product: string;
|
|
31
|
+
part: string;
|
|
32
|
+
state: string;
|
|
33
|
+
preset: string | null;
|
|
34
|
+
width: number | null;
|
|
35
|
+
sketch: SketchVariant | null;
|
|
36
|
+
interaction: string | null;
|
|
37
|
+
params: URLSearchParams;
|
|
38
|
+
}) => Promise<Picture>;
|
|
39
|
+
export type PartModuleLoader = (options: {
|
|
40
|
+
file: string;
|
|
41
|
+
product: string;
|
|
42
|
+
}) => Promise<unknown>;
|
|
43
|
+
/**
|
|
44
|
+
* Draws each state of every element and page that shows the sketched part twice, as the product has it
|
|
45
|
+
* now and with `variant` merged, and splits them by whether the two pictures differ in any pixel. A page
|
|
46
|
+
* is drawn at the preset `size` names, or its first; a part with `widths` at the width `size` names, or
|
|
47
|
+
* its first; any other part fitted to its content.
|
|
48
|
+
*/
|
|
49
|
+
export declare const compareMerge: (options: {
|
|
50
|
+
product: ResolvedProduct;
|
|
51
|
+
sketch: Sketch;
|
|
52
|
+
variant: string;
|
|
53
|
+
size: string | null;
|
|
54
|
+
params: URLSearchParams;
|
|
55
|
+
pictureOf: PictureOf;
|
|
56
|
+
load: PartModuleLoader;
|
|
57
|
+
}) => Promise<MergeCompare>;
|
|
@@ -0,0 +1,80 @@
|
|
|
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.compareMerge = void 0;
|
|
13
|
+
const list_system_1 = require("./system/list-system");
|
|
14
|
+
const resolve_product_1 = require("./system/resolve-product");
|
|
15
|
+
const merge_preview_1 = require("./system/sketch/merge-preview");
|
|
16
|
+
const outlinesOf = (picture, target) => picture.marks
|
|
17
|
+
.filter((mark) => mark.parts.includes(target))
|
|
18
|
+
.map(({ x, y, width, height }) => ({ x, y, width, height }));
|
|
19
|
+
const messageOf = (error) => (error instanceof Error ? error.message : String(error));
|
|
20
|
+
/**
|
|
21
|
+
* Draws each state of every element and page that shows the sketched part twice, as the product has it
|
|
22
|
+
* now and with `variant` merged, and splits them by whether the two pictures differ in any pixel. A page
|
|
23
|
+
* is drawn at the preset `size` names, or its first; a part with `widths` at the width `size` names, or
|
|
24
|
+
* its first; any other part fitted to its content.
|
|
25
|
+
*/
|
|
26
|
+
const compareMerge = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
|
+
const { product, sketch, variant, size, params, pictureOf, load } = options;
|
|
28
|
+
const target = sketch.target;
|
|
29
|
+
const merged = { target, variant };
|
|
30
|
+
const { affected } = (0, merge_preview_1.mergePreviewOf)({ product, sketch, variant });
|
|
31
|
+
const rowsOf = (key) => __awaiter(void 0, void 0, void 0, function* () {
|
|
32
|
+
var _a, _b;
|
|
33
|
+
const part = product.parts.find((candidate) => (0, resolve_product_1.partKeyOf)(candidate) === key);
|
|
34
|
+
if (!part)
|
|
35
|
+
return [];
|
|
36
|
+
const read = yield (0, list_system_1.readPartModule)({ part, product: product.name, load });
|
|
37
|
+
if (read.problem)
|
|
38
|
+
return [{ row: { part: key, state: '', outlines: { now: [], merged: [] }, error: read.problem }, changed: true }];
|
|
39
|
+
const offered = part.layer === 'pages' ? Object.keys(product.presets) : ((_a = ('widths' in read ? read.widths : undefined)) !== null && _a !== void 0 ? _a : []);
|
|
40
|
+
const picked = (_b = offered.map(String).find((entry) => entry === size)) !== null && _b !== void 0 ? _b : offered[0];
|
|
41
|
+
const at = picked === undefined ? {} : part.layer === 'pages' ? { preset: String(picked) } : { width: Number(picked) };
|
|
42
|
+
return Promise.all(read.states.map((state) => __awaiter(void 0, void 0, void 0, function* () {
|
|
43
|
+
const draw = (drawn) => {
|
|
44
|
+
var _a, _b;
|
|
45
|
+
return pictureOf({
|
|
46
|
+
product: product.name,
|
|
47
|
+
part: key,
|
|
48
|
+
state,
|
|
49
|
+
preset: (_a = at.preset) !== null && _a !== void 0 ? _a : null,
|
|
50
|
+
width: (_b = at.width) !== null && _b !== void 0 ? _b : null,
|
|
51
|
+
sketch: drawn,
|
|
52
|
+
interaction: null,
|
|
53
|
+
params,
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
try {
|
|
57
|
+
const [now, after] = yield Promise.all([draw(null), draw(merged)]);
|
|
58
|
+
return {
|
|
59
|
+
row: Object.assign(Object.assign({ part: key, state }, at), { outlines: { now: outlinesOf(now, target), merged: outlinesOf(after, target) } }),
|
|
60
|
+
changed: !now.png.equals(after.png),
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
return {
|
|
65
|
+
row: Object.assign(Object.assign({ part: key, state }, at), { outlines: { now: [], merged: [] }, error: messageOf(error) }),
|
|
66
|
+
changed: true,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
})));
|
|
70
|
+
});
|
|
71
|
+
const rows = (yield Promise.all(affected.map(rowsOf))).flat();
|
|
72
|
+
return {
|
|
73
|
+
target,
|
|
74
|
+
variant,
|
|
75
|
+
changed: rows.filter((entry) => entry.changed).map((entry) => entry.row),
|
|
76
|
+
unchanged: rows.filter((entry) => !entry.changed).map((entry) => entry.row),
|
|
77
|
+
};
|
|
78
|
+
});
|
|
79
|
+
exports.compareMerge = compareMerge;
|
|
80
|
+
//# sourceMappingURL=merge-compare.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-compare.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/merge-compare.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"missing-package.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"missing-package.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/missing-package.ts"],"names":[],"mappings":";;;AAAA,MAAM,eAAe,GAAG,+BAA+B,CAAC;AAExD,wHAAwH;AACjH,MAAM,qBAAqB,GAAG,CAAC,KAAc,EAAE,QAAgB,EAAiB,EAAE;;IACvF,MAAM,IAAI,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,MAAA,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,0CAAG,CAAC,CAAC,CAAC;IAE7C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IAExD,OAAO,cAAc,IAAI,OAAO,QAAQ,mCAAmC,CAAC;AAC9E,CAAC,CAAC;AAPW,QAAA,qBAAqB,yBAOhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-call.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"new-call.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/new-call.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { SystemModules } from './system/system-modules';
|
|
2
|
+
/**
|
|
3
|
+
* The source of a part module whose default export renders with its first element marked as the
|
|
4
|
+
* part `key`, or `null` when the module has no single top-level `export default`.
|
|
5
|
+
*/
|
|
6
|
+
export declare const markPartSource: (options: {
|
|
7
|
+
code: string;
|
|
8
|
+
key: string;
|
|
9
|
+
marker: string;
|
|
10
|
+
}) => string | null;
|
|
11
|
+
/** A Vite `transform` that marks the root element of every part a product or a sketch variant draws. */
|
|
12
|
+
export declare const partMarksTransform: (system: SystemModules) => (code: string, id: string) => string | null;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.partMarksTransform = exports.markPartSource = void 0;
|
|
4
|
+
const path_1 = require("path");
|
|
5
|
+
const paths_1 = require("./paths");
|
|
6
|
+
const resolve_product_1 = require("./system/resolve-product");
|
|
7
|
+
const system_modules_1 = require("./system/system-modules");
|
|
8
|
+
const vite_paths_1 = require("./vite-paths");
|
|
9
|
+
const DEFAULT_EXPORT = /^export default /gm;
|
|
10
|
+
/**
|
|
11
|
+
* The source of a part module whose default export renders with its first element marked as the
|
|
12
|
+
* part `key`, or `null` when the module has no single top-level `export default`.
|
|
13
|
+
*/
|
|
14
|
+
const markPartSource = (options) => {
|
|
15
|
+
var _a;
|
|
16
|
+
const { code, key, marker } = options;
|
|
17
|
+
if (((_a = code.match(DEFAULT_EXPORT)) !== null && _a !== void 0 ? _a : []).length !== 1)
|
|
18
|
+
return null;
|
|
19
|
+
return (`${code.replace(DEFAULT_EXPORT, 'const __etPart = ')}\n` +
|
|
20
|
+
`import { markPart as __etMarkPart } from ${JSON.stringify(marker)};\n` +
|
|
21
|
+
`export default __etMarkPart(__etPart, ${JSON.stringify(key)});\n`);
|
|
22
|
+
};
|
|
23
|
+
exports.markPartSource = markPartSource;
|
|
24
|
+
/** A Vite `transform` that marks the root element of every part a product or a sketch variant draws. */
|
|
25
|
+
const partMarksTransform = (system) => {
|
|
26
|
+
const marker = (0, vite_paths_1.fsUrl)((0, path_1.resolve)((0, paths_1.assetRoot)(), 'mark-part.ts'));
|
|
27
|
+
return (code, id) => {
|
|
28
|
+
var _a;
|
|
29
|
+
const product = (0, system_modules_1.productOfModuleId)(id);
|
|
30
|
+
if (!product || id.startsWith('\0'))
|
|
31
|
+
return null;
|
|
32
|
+
const file = (0, system_modules_1.fileOfModuleId)(id);
|
|
33
|
+
const part = (_a = system.drawnOf(product, (0, system_modules_1.sketchOfModuleId)(id))) === null || _a === void 0 ? void 0 : _a.parts.find((candidate) => candidate.file === file);
|
|
34
|
+
return part ? (0, exports.markPartSource)({ code, key: (0, resolve_product_1.partKeyOf)(part), marker }) : null;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
exports.partMarksTransform = partMarksTransform;
|
|
38
|
+
//# sourceMappingURL=part-marks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"part-marks.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/part-marks.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,mCAAoC;AACpC,8DAAqD;AACrD,4DAA6G;AAC7G,6CAAqC;AAErC,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAE5C;;;GAGG;AACI,MAAM,cAAc,GAAG,CAAC,OAAsD,EAAE,EAAE;;IACvF,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEtC,IAAI,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,mCAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEjE,OAAO,CACL,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,mBAAmB,CAAC,IAAI;QACxD,4CAA4C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK;QACvE,yCAAyC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CACnE,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,cAAc,kBAUzB;AAEF,wGAAwG;AACjG,MAAM,kBAAkB,GAAG,CAAC,MAAqB,EAAE,EAAE;IAC1D,MAAM,MAAM,GAAG,IAAA,kBAAK,EAAC,IAAA,cAAO,EAAC,IAAA,iBAAS,GAAE,EAAE,cAAc,CAAC,CAAC,CAAC;IAE3D,OAAO,CAAC,IAAY,EAAE,EAAU,EAAE,EAAE;;QAClC,MAAM,OAAO,GAAG,IAAA,kCAAiB,EAAC,EAAE,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAEjD,MAAM,IAAI,GAAG,IAAA,+BAAc,EAAC,EAAE,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,MAAA,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAA,iCAAgB,EAAC,EAAE,CAAC,CAAC,0CAAE,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAE/G,OAAO,IAAI,CAAC,CAAC,CAAC,IAAA,sBAAc,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAA,2BAAS,EAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,CAAC,CAAC;AACJ,CAAC,CAAC;AAbW,QAAA,kBAAkB,sBAa7B"}
|
|
@@ -25,21 +25,54 @@ export type DesignRenderConfig = {
|
|
|
25
25
|
packages?: Record<string, string>;
|
|
26
26
|
modules?: string[];
|
|
27
27
|
};
|
|
28
|
+
/** A viewport a product's parts are drawn at. Without a height, the frame grows with its content. */
|
|
29
|
+
export type DesignPreset = {
|
|
30
|
+
width: number;
|
|
31
|
+
height?: number;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* One product's design system: the render settings of a project, the product folder it extends
|
|
35
|
+
* (`base`, a path from the checkout root, or `@ethlete/components`), its viewport presets, and the
|
|
36
|
+
* parts (`<layer>/<name>`) whose stylesheets every frame draws under, in order (`tokens`,
|
|
37
|
+
* `['foundations/tokens']` when left out).
|
|
38
|
+
*/
|
|
39
|
+
export type DesignProduct = DesignProject & {
|
|
40
|
+
base?: string;
|
|
41
|
+
presets?: Record<string, DesignPreset>;
|
|
42
|
+
tokens?: string[];
|
|
43
|
+
/** Inherited parts to omit; a product's own part with the same key remains visible. */
|
|
44
|
+
hideBaseParts?: string[];
|
|
45
|
+
};
|
|
28
46
|
export type DesignConfig = {
|
|
29
47
|
port?: number;
|
|
30
48
|
defaultCall?: string;
|
|
31
49
|
render?: DesignRenderConfig;
|
|
32
50
|
projects?: Record<string, DesignProject>;
|
|
51
|
+
products?: Record<string, DesignProduct>;
|
|
33
52
|
};
|
|
34
53
|
export declare const DEFAULT_PORT = 4402;
|
|
35
54
|
/**
|
|
36
|
-
* The package's own `design` folder, which carries the frame page and the authoring API.
|
|
37
|
-
*
|
|
55
|
+
* The package's own `design` folder, which carries the frame page and the authoring API. Inside a
|
|
56
|
+
* running server, the copy `snapshotPackage` made.
|
|
38
57
|
*/
|
|
39
58
|
export declare const assetRoot: () => string;
|
|
59
|
+
/** The `design` folder where the package is installed, for configs that outlive this process. */
|
|
60
|
+
export declare const installedAssetRoot: () => string;
|
|
61
|
+
/** Where a file of this package is read from: its copy in the server's snapshot, once one is taken. */
|
|
62
|
+
export declare const packageFileOf: (file: string) => string;
|
|
63
|
+
/**
|
|
64
|
+
* Copies this package's code and frame assets into a folder owned by this process and reads them
|
|
65
|
+
* from there until it exits, so a rebuild of the package cannot change what a running server
|
|
66
|
+
* serves or what its render worker loads. Returns the folder.
|
|
67
|
+
*/
|
|
68
|
+
export declare const snapshotPackage: (target: string) => string;
|
|
69
|
+
/** The nearest folder at or above `start` that holds a design config, as git finds its repository. Falls back to `start`. */
|
|
70
|
+
export declare const findCheckoutRoot: (start: string) => string;
|
|
40
71
|
export declare const configPathOf: (target: string) => string;
|
|
41
72
|
export declare const callsRootOf: (target: string) => string;
|
|
42
73
|
/** Everything the tool writes for a checkout, so nothing generated lands in tracked files. */
|
|
43
74
|
export declare const workRootOf: (target: string) => string;
|
|
75
|
+
/** A Vite cache folder of its own per checkout, so two servers sharing a symlinked `node_modules` never rewrite each other's deps. */
|
|
76
|
+
export declare const viteCacheOf: (target: string, name: string) => string;
|
|
44
77
|
export declare const readConfig: (target: string) => DesignConfig | null;
|
|
45
78
|
export declare const portOf: (config: DesignConfig) => number;
|
package/src/lib/design/paths.js
CHANGED
|
@@ -1,17 +1,72 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.portOf = exports.readConfig = exports.workRootOf = exports.callsRootOf = exports.configPathOf = exports.assetRoot = exports.DEFAULT_PORT = exports.DESIGN_DIR = void 0;
|
|
3
|
+
exports.portOf = exports.readConfig = exports.viteCacheOf = exports.workRootOf = exports.callsRootOf = exports.configPathOf = exports.findCheckoutRoot = exports.snapshotPackage = exports.packageFileOf = exports.installedAssetRoot = exports.assetRoot = exports.DEFAULT_PORT = exports.DESIGN_DIR = void 0;
|
|
4
4
|
const fs_1 = require("fs");
|
|
5
|
+
const crypto_1 = require("crypto");
|
|
5
6
|
const path_1 = require("path");
|
|
6
7
|
/** Where every repository keeps its design work. The layout is convention, not configuration. */
|
|
7
8
|
exports.DESIGN_DIR = '.ethlete/design';
|
|
8
9
|
exports.DEFAULT_PORT = 4402;
|
|
10
|
+
const builtRoot = (0, path_1.resolve)(__dirname, '../../..');
|
|
11
|
+
let packageRoot = builtRoot;
|
|
9
12
|
/**
|
|
10
|
-
* The package's own `design` folder, which carries the frame page and the authoring API.
|
|
11
|
-
*
|
|
13
|
+
* The package's own `design` folder, which carries the frame page and the authoring API. Inside a
|
|
14
|
+
* running server, the copy `snapshotPackage` made.
|
|
12
15
|
*/
|
|
13
|
-
const assetRoot = () => (0, path_1.resolve)(
|
|
16
|
+
const assetRoot = () => (0, path_1.resolve)(packageRoot, 'design');
|
|
14
17
|
exports.assetRoot = assetRoot;
|
|
18
|
+
/** The `design` folder where the package is installed, for configs that outlive this process. */
|
|
19
|
+
const installedAssetRoot = () => (0, path_1.resolve)(builtRoot, 'design');
|
|
20
|
+
exports.installedAssetRoot = installedAssetRoot;
|
|
21
|
+
/** Where a file of this package is read from: its copy in the server's snapshot, once one is taken. */
|
|
22
|
+
const packageFileOf = (file) => (0, path_1.resolve)(packageRoot, (0, path_1.relative)(builtRoot, file));
|
|
23
|
+
exports.packageFileOf = packageFileOf;
|
|
24
|
+
const isRunning = (pid) => {
|
|
25
|
+
try {
|
|
26
|
+
process.kill(pid, 0);
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
return error.code === 'EPERM';
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Copies this package's code and frame assets into a folder owned by this process and reads them
|
|
35
|
+
* from there until it exits, so a rebuild of the package cannot change what a running server
|
|
36
|
+
* serves or what its render worker loads. Returns the folder.
|
|
37
|
+
*/
|
|
38
|
+
const snapshotPackage = (target) => {
|
|
39
|
+
var _a;
|
|
40
|
+
const root = (0, exports.workRootOf)(target);
|
|
41
|
+
const dir = (0, path_1.resolve)(root, `server-${process.pid}`);
|
|
42
|
+
for (const name of (0, fs_1.existsSync)(root) ? (0, fs_1.readdirSync)(root) : []) {
|
|
43
|
+
const pid = Number((_a = /^server-(\d+)$/.exec(name)) === null || _a === void 0 ? void 0 : _a[1]);
|
|
44
|
+
if (pid && !isRunning(pid))
|
|
45
|
+
(0, fs_1.rmSync)((0, path_1.resolve)(root, name), { recursive: true, force: true });
|
|
46
|
+
}
|
|
47
|
+
(0, fs_1.rmSync)(dir, { recursive: true, force: true });
|
|
48
|
+
for (const entry of ['package.json', 'src', 'design']) {
|
|
49
|
+
(0, fs_1.cpSync)((0, path_1.resolve)(builtRoot, entry), (0, path_1.resolve)(dir, entry), { recursive: true });
|
|
50
|
+
}
|
|
51
|
+
if (packageRoot === builtRoot)
|
|
52
|
+
process.once('exit', () => (0, fs_1.rmSync)(packageRoot, { recursive: true, force: true }));
|
|
53
|
+
packageRoot = dir;
|
|
54
|
+
return dir;
|
|
55
|
+
};
|
|
56
|
+
exports.snapshotPackage = snapshotPackage;
|
|
57
|
+
/** The nearest folder at or above `start` that holds a design config, as git finds its repository. Falls back to `start`. */
|
|
58
|
+
const findCheckoutRoot = (start) => {
|
|
59
|
+
let dir = (0, path_1.resolve)(start);
|
|
60
|
+
for (;;) {
|
|
61
|
+
if ((0, fs_1.existsSync)((0, path_1.resolve)(dir, exports.DESIGN_DIR, 'config.json')))
|
|
62
|
+
return dir;
|
|
63
|
+
const parent = (0, path_1.dirname)(dir);
|
|
64
|
+
if (parent === dir)
|
|
65
|
+
return (0, path_1.resolve)(start);
|
|
66
|
+
dir = parent;
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
exports.findCheckoutRoot = findCheckoutRoot;
|
|
15
70
|
const configPathOf = (target) => (0, path_1.resolve)(target, exports.DESIGN_DIR, 'config.json');
|
|
16
71
|
exports.configPathOf = configPathOf;
|
|
17
72
|
const callsRootOf = (target) => (0, path_1.resolve)(target, exports.DESIGN_DIR, 'calls');
|
|
@@ -19,6 +74,9 @@ exports.callsRootOf = callsRootOf;
|
|
|
19
74
|
/** Everything the tool writes for a checkout, so nothing generated lands in tracked files. */
|
|
20
75
|
const workRootOf = (target) => (0, path_1.resolve)(target, 'node_modules/.design-explore');
|
|
21
76
|
exports.workRootOf = workRootOf;
|
|
77
|
+
/** A Vite cache folder of its own per checkout, so two servers sharing a symlinked `node_modules` never rewrite each other's deps. */
|
|
78
|
+
const viteCacheOf = (target, name) => (0, path_1.resolve)((0, exports.workRootOf)(target), `${name}-${(0, crypto_1.createHash)('sha1').update((0, path_1.resolve)(target)).digest('hex').slice(0, 10)}`);
|
|
79
|
+
exports.viteCacheOf = viteCacheOf;
|
|
22
80
|
const readConfig = (target) => {
|
|
23
81
|
const path = (0, exports.configPathOf)(target);
|
|
24
82
|
if (!(0, fs_1.existsSync)(path))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { IncomingMessage } from 'http';
|
|
2
|
+
export declare const PRODUCT_PATH = "/__design/product";
|
|
3
|
+
/** Writes a product's `config.json` entry and its empty layer folders; answers with why it refused, or null. */
|
|
4
|
+
export declare const createProduct: (options: {
|
|
5
|
+
target: string;
|
|
6
|
+
name: string;
|
|
7
|
+
base?: string | null;
|
|
8
|
+
fromProject?: string | null;
|
|
9
|
+
}) => string | null;
|
|
10
|
+
/**
|
|
11
|
+
* `et design product new <name> [--base <path|@ethlete/components>] [--from-project <name>]` writes the
|
|
12
|
+
* product's `config.json` entry and its empty layer folders.
|
|
13
|
+
*/
|
|
14
|
+
export declare const designProduct: (options: {
|
|
15
|
+
target: string;
|
|
16
|
+
argv: string[];
|
|
17
|
+
invocation: string;
|
|
18
|
+
}) => 0 | 1;
|
|
19
|
+
/**
|
|
20
|
+
* POST `/__design/product` with `{ name, base? }` creates a product as `et design product new` does. `base` names
|
|
21
|
+
* another product of the checkout, or `@ethlete/components`. Answers 201 with `{ name }`, or 400/409 with `{ error }`.
|
|
22
|
+
*/
|
|
23
|
+
export declare const newProductAnswer: (options: {
|
|
24
|
+
target: string;
|
|
25
|
+
request: IncomingMessage;
|
|
26
|
+
}) => Promise<{
|
|
27
|
+
status: number;
|
|
28
|
+
body: {
|
|
29
|
+
error: string;
|
|
30
|
+
name?: undefined;
|
|
31
|
+
};
|
|
32
|
+
} | {
|
|
33
|
+
status: number;
|
|
34
|
+
body: {
|
|
35
|
+
name: string;
|
|
36
|
+
error?: undefined;
|
|
37
|
+
};
|
|
38
|
+
}>;
|