@ethlete/cli 3.0.0-next.26 → 3.0.0-next.27
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 +328 -0
- package/build-info.json +1 -0
- package/design/define-call.ts +72 -30
- package/design/define-part.ts +37 -4
- package/design/icon-sheet.ts +1 -1
- package/design/interaction-rows.ts +13 -6
- package/design/mark-part.ts +51 -1
- package/design/token-sheet.ts +1 -1
- package/design/web/frame-fit.ts +7 -0
- package/design/web/frame-surfaces.ts +294 -0
- package/design/web/frame.ts +41 -15
- package/design/web/surface-interactive.css +42 -0
- package/design/with-action.ts +29 -0
- package/package.json +3 -1
- package/src/index.js +9 -1
- package/src/index.js.map +1 -1
- package/src/lib/design/asset-shot.js +2 -2
- package/src/lib/design/asset-shot.js.map +1 -1
- package/src/lib/design/build-watch.d.ts +26 -0
- package/src/lib/design/build-watch.js +138 -0
- package/src/lib/design/build-watch.js.map +1 -0
- package/src/lib/design/check.js +142 -16
- package/src/lib/design/check.js.map +1 -1
- package/src/lib/design/commit-hunks.d.ts +22 -0
- package/src/lib/design/commit-hunks.js +173 -0
- package/src/lib/design/commit-hunks.js.map +1 -0
- package/src/lib/design/design-command.d.ts +2 -0
- package/src/lib/design/design-command.js +160 -11
- package/src/lib/design/design-command.js.map +1 -1
- package/src/lib/design/force-interactions.d.ts +1 -1
- package/src/lib/design/force-interactions.js +4 -2
- package/src/lib/design/force-interactions.js.map +1 -1
- package/src/lib/design/inbox-command.js +9 -5
- package/src/lib/design/inbox-command.js.map +1 -1
- package/src/lib/design/mcp-command.d.ts +5 -1
- package/src/lib/design/mcp-command.js +29 -11
- package/src/lib/design/mcp-command.js.map +1 -1
- package/src/lib/design/merge-compare.d.ts +10 -2
- package/src/lib/design/merge-compare.js +63 -11
- package/src/lib/design/merge-compare.js.map +1 -1
- package/src/lib/design/motion-command.js +1 -1
- package/src/lib/design/motion-command.js.map +1 -1
- package/src/lib/design/motion-shot.js +3 -2
- package/src/lib/design/motion-shot.js.map +1 -1
- package/src/lib/design/new-call.js +19 -10
- package/src/lib/design/new-call.js.map +1 -1
- package/src/lib/design/part-marks.d.ts +3 -2
- package/src/lib/design/part-marks.js +13 -5
- package/src/lib/design/part-marks.js.map +1 -1
- package/src/lib/design/paths.d.ts +28 -0
- package/src/lib/design/paths.js.map +1 -1
- package/src/lib/design/product-command.d.ts +1 -1
- package/src/lib/design/product-command.js +12 -14
- package/src/lib/design/product-command.js.map +1 -1
- package/src/lib/design/ready-shots.d.ts +29 -3
- package/src/lib/design/ready-shots.js +105 -5
- package/src/lib/design/ready-shots.js.map +1 -1
- package/src/lib/design/render-packages.d.ts +4 -17
- package/src/lib/design/render-packages.js +20 -63
- package/src/lib/design/render-packages.js.map +1 -1
- package/src/lib/design/render-worker.js +1 -3
- package/src/lib/design/render-worker.js.map +1 -1
- package/src/lib/design/render.d.ts +2 -0
- package/src/lib/design/render.js +32 -7
- package/src/lib/design/render.js.map +1 -1
- package/src/lib/design/serve.d.ts +21 -1
- package/src/lib/design/serve.js +133 -19
- package/src/lib/design/serve.js.map +1 -1
- package/src/lib/design/server-identity.d.ts +36 -0
- package/src/lib/design/server-identity.js +68 -0
- package/src/lib/design/server-identity.js.map +1 -0
- package/src/lib/design/settle-frames.d.ts +4 -0
- package/src/lib/design/settle-frames.js +22 -0
- package/src/lib/design/settle-frames.js.map +1 -0
- package/src/lib/design/shot-command.d.ts +25 -4
- package/src/lib/design/shot-command.js +132 -46
- package/src/lib/design/shot-command.js.map +1 -1
- package/src/lib/design/shot.d.ts +50 -0
- package/src/lib/design/shot.js +143 -17
- package/src/lib/design/shot.js.map +1 -1
- package/src/lib/design/sketch-command.d.ts +6 -1
- package/src/lib/design/sketch-command.js +358 -126
- package/src/lib/design/sketch-command.js.map +1 -1
- package/src/lib/design/stale-cli-dist.d.ts +11 -0
- package/src/lib/design/stale-cli-dist.js +56 -0
- package/src/lib/design/stale-cli-dist.js.map +1 -0
- package/src/lib/design/stamp.d.ts +18 -1
- package/src/lib/design/stamp.js +53 -7
- package/src/lib/design/stamp.js.map +1 -1
- package/src/lib/design/started-by-studio.d.ts +1 -0
- package/src/lib/design/started-by-studio.js +6 -0
- package/src/lib/design/started-by-studio.js.map +1 -0
- package/src/lib/design/studio-api.d.ts +27 -8
- package/src/lib/design/studio-api.js +263 -58
- package/src/lib/design/studio-api.js.map +1 -1
- package/src/lib/design/system/accept-command.d.ts +39 -5
- package/src/lib/design/system/accept-command.js +109 -25
- package/src/lib/design/system/accept-command.js.map +1 -1
- package/src/lib/design/system/accepted-pictures.d.ts +83 -0
- package/src/lib/design/system/accepted-pictures.js +324 -0
- package/src/lib/design/system/accepted-pictures.js.map +1 -0
- package/src/lib/design/system/action-lost.d.ts +59 -0
- package/src/lib/design/system/action-lost.js +120 -0
- package/src/lib/design/system/action-lost.js.map +1 -0
- package/src/lib/design/system/action-press.d.ts +23 -0
- package/src/lib/design/system/action-press.js +76 -0
- package/src/lib/design/system/action-press.js.map +1 -0
- package/src/lib/design/system/action-undeclared.d.ts +34 -0
- package/src/lib/design/system/action-undeclared.js +81 -0
- package/src/lib/design/system/action-undeclared.js.map +1 -0
- package/src/lib/design/system/actions-command.d.ts +101 -0
- package/src/lib/design/system/actions-command.js +695 -0
- package/src/lib/design/system/actions-command.js.map +1 -0
- package/src/lib/design/system/actions.d.ts +158 -0
- package/src/lib/design/system/actions.js +295 -0
- package/src/lib/design/system/actions.js.map +1 -0
- package/src/lib/design/system/app-files.d.ts +10 -0
- package/src/lib/design/system/app-files.js +159 -0
- package/src/lib/design/system/app-files.js.map +1 -0
- package/src/lib/design/system/bespoke-controls.d.ts +30 -0
- package/src/lib/design/system/bespoke-controls.js +147 -0
- package/src/lib/design/system/bespoke-controls.js.map +1 -0
- package/src/lib/design/system/build-ready-contract.d.ts +27 -0
- package/src/lib/design/system/build-ready-contract.js +12 -0
- package/src/lib/design/system/build-ready-contract.js.map +1 -0
- package/src/lib/design/system/check-rules.d.ts +1 -0
- package/src/lib/design/system/check-rules.js +82 -0
- package/src/lib/design/system/check-rules.js.map +1 -0
- package/src/lib/design/system/check-system.d.ts +61 -6
- package/src/lib/design/system/check-system.js +479 -68
- package/src/lib/design/system/check-system.js.map +1 -1
- package/src/lib/design/system/comments/comment.d.ts +4 -1
- package/src/lib/design/system/comments/comment.js +13 -4
- package/src/lib/design/system/comments/comment.js.map +1 -1
- package/src/lib/design/system/comments/inbox.js +2 -2
- package/src/lib/design/system/comments/inbox.js.map +1 -1
- package/src/lib/design/system/compare-command.d.ts +119 -0
- package/src/lib/design/system/compare-command.js +558 -0
- package/src/lib/design/system/compare-command.js.map +1 -0
- package/src/lib/design/system/complete-command.js +1 -1
- package/src/lib/design/system/complete-command.js.map +1 -1
- package/src/lib/design/system/complete.d.ts +32 -1
- package/src/lib/design/system/complete.js +144 -48
- package/src/lib/design/system/complete.js.map +1 -1
- package/src/lib/design/system/component-outputs.d.ts +20 -0
- package/src/lib/design/system/component-outputs.js +86 -0
- package/src/lib/design/system/component-outputs.js.map +1 -0
- package/src/lib/design/system/contrast-check.d.ts +1 -1
- package/src/lib/design/system/contrast-check.js +14 -3
- package/src/lib/design/system/contrast-check.js.map +1 -1
- package/src/lib/design/system/demo-backdrop.d.ts +11 -0
- package/src/lib/design/system/demo-backdrop.js +41 -0
- package/src/lib/design/system/demo-backdrop.js.map +1 -0
- package/src/lib/design/system/design-hash.d.ts +31 -0
- package/src/lib/design/system/design-hash.js +73 -0
- package/src/lib/design/system/design-hash.js.map +1 -0
- package/src/lib/design/system/disabled-interaction.d.ts +8 -0
- package/src/lib/design/system/disabled-interaction.js +37 -0
- package/src/lib/design/system/disabled-interaction.js.map +1 -0
- package/src/lib/design/system/dom-command.d.ts +36 -0
- package/src/lib/design/system/dom-command.js +175 -0
- package/src/lib/design/system/dom-command.js.map +1 -0
- package/src/lib/design/system/drawn-open-points.d.ts +25 -3
- package/src/lib/design/system/drawn-open-points.js +65 -14
- package/src/lib/design/system/drawn-open-points.js.map +1 -1
- package/src/lib/design/system/dropped-props.d.ts +25 -0
- package/src/lib/design/system/dropped-props.js +159 -0
- package/src/lib/design/system/dropped-props.js.map +1 -0
- package/src/lib/design/system/embedded-actions.d.ts +21 -0
- package/src/lib/design/system/embedded-actions.js +37 -0
- package/src/lib/design/system/embedded-actions.js.map +1 -0
- package/src/lib/design/system/exceptions.js +2 -1
- package/src/lib/design/system/exceptions.js.map +1 -1
- package/src/lib/design/system/flows/flow.js +2 -1
- package/src/lib/design/system/flows/flow.js.map +1 -1
- package/src/lib/design/system/frozen-animations.d.ts +13 -0
- package/src/lib/design/system/frozen-animations.js +51 -0
- package/src/lib/design/system/frozen-animations.js.map +1 -0
- package/src/lib/design/system/go-batch.d.ts +24 -0
- package/src/lib/design/system/go-batch.js +110 -0
- package/src/lib/design/system/go-batch.js.map +1 -0
- package/src/lib/design/system/go-command.d.ts +4 -0
- package/src/lib/design/system/go-command.js +64 -0
- package/src/lib/design/system/go-command.js.map +1 -0
- package/src/lib/design/system/go-guard.d.ts +26 -0
- package/src/lib/design/system/go-guard.js +70 -0
- package/src/lib/design/system/go-guard.js.map +1 -0
- package/src/lib/design/system/go-step.d.ts +13 -0
- package/src/lib/design/system/go-step.js +84 -0
- package/src/lib/design/system/go-step.js.map +1 -0
- package/src/lib/design/system/handoff.js +2 -1
- package/src/lib/design/system/handoff.js.map +1 -1
- package/src/lib/design/system/harness-build-cache.d.ts +35 -0
- package/src/lib/design/system/harness-build-cache.js +175 -0
- package/src/lib/design/system/harness-build-cache.js.map +1 -0
- package/src/lib/design/system/harness-command.d.ts +7 -0
- package/src/lib/design/system/harness-command.js +51 -0
- package/src/lib/design/system/harness-command.js.map +1 -0
- package/src/lib/design/system/harness-config.d.ts +9 -0
- package/src/lib/design/system/harness-config.js +65 -0
- package/src/lib/design/system/harness-config.js.map +1 -0
- package/src/lib/design/system/harness-map.d.ts +44 -0
- package/src/lib/design/system/harness-map.js +126 -0
- package/src/lib/design/system/harness-map.js.map +1 -0
- package/src/lib/design/system/harness-samples.d.ts +20 -0
- package/src/lib/design/system/harness-samples.js +92 -0
- package/src/lib/design/system/harness-samples.js.map +1 -0
- package/src/lib/design/system/harness-server.d.ts +40 -0
- package/src/lib/design/system/harness-server.js +296 -0
- package/src/lib/design/system/harness-server.js.map +1 -0
- package/src/lib/design/system/imports.js +14 -1
- package/src/lib/design/system/imports.js.map +1 -1
- package/src/lib/design/system/in-order-at-once.d.ts +6 -0
- package/src/lib/design/system/in-order-at-once.js +28 -0
- package/src/lib/design/system/in-order-at-once.js.map +1 -0
- package/src/lib/design/system/inventory-approval.js +2 -1
- package/src/lib/design/system/inventory-approval.js.map +1 -1
- package/src/lib/design/system/inventory.d.ts +13 -4
- package/src/lib/design/system/inventory.js +36 -7
- package/src/lib/design/system/inventory.js.map +1 -1
- package/src/lib/design/system/list-system.d.ts +4 -0
- package/src/lib/design/system/list-system.js +12 -3
- package/src/lib/design/system/list-system.js.map +1 -1
- package/src/lib/design/system/live-actions.d.ts +121 -0
- package/src/lib/design/system/live-actions.js +665 -0
- package/src/lib/design/system/live-actions.js.map +1 -0
- package/src/lib/design/system/live-compare.d.ts +136 -0
- package/src/lib/design/system/live-compare.js +441 -0
- package/src/lib/design/system/live-compare.js.map +1 -0
- package/src/lib/design/system/live-uncovered.d.ts +40 -0
- package/src/lib/design/system/live-uncovered.js +123 -0
- package/src/lib/design/system/live-uncovered.js.map +1 -0
- package/src/lib/design/system/nested-scroll.d.ts +7 -0
- package/src/lib/design/system/nested-scroll.js +25 -0
- package/src/lib/design/system/nested-scroll.js.map +1 -0
- package/src/lib/design/system/notes/note.js +2 -1
- package/src/lib/design/system/notes/note.js.map +1 -1
- package/src/lib/design/system/occluded.d.ts +13 -0
- package/src/lib/design/system/occluded.js +111 -0
- package/src/lib/design/system/occluded.js.map +1 -0
- package/src/lib/design/system/open-points.d.ts +24 -6
- package/src/lib/design/system/open-points.js +59 -30
- package/src/lib/design/system/open-points.js.map +1 -1
- package/src/lib/design/system/part-build-ready.d.ts +39 -0
- package/src/lib/design/system/part-build-ready.js +107 -0
- package/src/lib/design/system/part-build-ready.js.map +1 -0
- package/src/lib/design/system/part-command.js +2 -9
- package/src/lib/design/system/part-command.js.map +1 -1
- package/src/lib/design/system/part-compare.d.ts +123 -0
- package/src/lib/design/system/part-compare.js +396 -0
- package/src/lib/design/system/part-compare.js.map +1 -0
- package/src/lib/design/system/part-go.d.ts +70 -0
- package/src/lib/design/system/part-go.js +94 -0
- package/src/lib/design/system/part-go.js.map +1 -0
- package/src/lib/design/system/part-ready.d.ts +44 -6
- package/src/lib/design/system/part-ready.js +88 -17
- package/src/lib/design/system/part-ready.js.map +1 -1
- package/src/lib/design/system/part-task.d.ts +147 -0
- package/src/lib/design/system/part-task.js +285 -0
- package/src/lib/design/system/part-task.js.map +1 -0
- package/src/lib/design/system/pointer-focus.d.ts +81 -0
- package/src/lib/design/system/pointer-focus.js +152 -0
- package/src/lib/design/system/pointer-focus.js.map +1 -0
- package/src/lib/design/system/prettier.d.ts +10 -0
- package/src/lib/design/system/prettier.js +36 -0
- package/src/lib/design/system/prettier.js.map +1 -0
- package/src/lib/design/system/reach.d.ts +12 -0
- package/src/lib/design/system/reach.js +186 -0
- package/src/lib/design/system/reach.js.map +1 -0
- package/src/lib/design/system/reachable-controls.d.ts +6 -0
- package/src/lib/design/system/reachable-controls.js +19 -0
- package/src/lib/design/system/reachable-controls.js.map +1 -0
- package/src/lib/design/system/reachable-files.d.ts +14 -0
- package/src/lib/design/system/reachable-files.js +101 -0
- package/src/lib/design/system/reachable-files.js.map +1 -0
- package/src/lib/design/system/reached-state.d.ts +23 -0
- package/src/lib/design/system/reached-state.js +53 -0
- package/src/lib/design/system/reached-state.js.map +1 -0
- package/src/lib/design/system/read-open-points.d.ts +9 -3
- package/src/lib/design/system/read-open-points.js +38 -9
- package/src/lib/design/system/read-open-points.js.map +1 -1
- package/src/lib/design/system/ready-command.d.ts +6 -2
- package/src/lib/design/system/ready-command.js +32 -15
- package/src/lib/design/system/ready-command.js.map +1 -1
- package/src/lib/design/system/render-check.d.ts +50 -0
- package/src/lib/design/system/render-check.js +341 -88
- package/src/lib/design/system/render-check.js.map +1 -1
- package/src/lib/design/system/resolve-product.js +5 -0
- package/src/lib/design/system/resolve-product.js.map +1 -1
- package/src/lib/design/system/rules/app-spec.d.ts +30 -0
- package/src/lib/design/system/rules/app-spec.js +87 -0
- package/src/lib/design/system/rules/app-spec.js.map +1 -0
- package/src/lib/design/system/rules/canonical-class.d.ts +2 -0
- package/src/lib/design/system/rules/canonical-class.js +36 -110
- package/src/lib/design/system/rules/canonical-class.js.map +1 -1
- package/src/lib/design/system/rules/capability-place.d.ts +44 -0
- package/src/lib/design/system/rules/capability-place.js +116 -0
- package/src/lib/design/system/rules/capability-place.js.map +1 -0
- package/src/lib/design/system/rules/denied-class.d.ts +9 -0
- package/src/lib/design/system/rules/denied-class.js +121 -0
- package/src/lib/design/system/rules/denied-class.js.map +1 -0
- package/src/lib/design/system/rules/exemptions.d.ts +18 -0
- package/src/lib/design/system/rules/exemptions.js +18 -0
- package/src/lib/design/system/rules/exemptions.js.map +1 -0
- package/src/lib/design/system/rules/flow.js +1 -1
- package/src/lib/design/system/rules/flow.js.map +1 -1
- package/src/lib/design/system/rules/glued-interpolation.d.ts +8 -0
- package/src/lib/design/system/rules/glued-interpolation.js +61 -0
- package/src/lib/design/system/rules/glued-interpolation.js.map +1 -0
- package/src/lib/design/system/rules/hard-coded-colour.js +2 -1
- package/src/lib/design/system/rules/hard-coded-colour.js.map +1 -1
- package/src/lib/design/system/rules/implemented-components.d.ts +22 -0
- package/src/lib/design/system/rules/implemented-components.js +45 -0
- package/src/lib/design/system/rules/implemented-components.js.map +1 -0
- package/src/lib/design/system/rules/implements.d.ts +2 -1
- package/src/lib/design/system/rules/implements.js +26 -21
- package/src/lib/design/system/rules/implements.js.map +1 -1
- package/src/lib/design/system/rules/inline-svg.js +4 -1
- package/src/lib/design/system/rules/inline-svg.js.map +1 -1
- package/src/lib/design/system/rules/inline-ui-in-page-open.d.ts +13 -0
- package/src/lib/design/system/rules/inline-ui-in-page-open.js +5 -0
- package/src/lib/design/system/rules/inline-ui-in-page-open.js.map +1 -0
- package/src/lib/design/system/rules/inline-ui-in-page.d.ts +18 -0
- package/src/lib/design/system/rules/inline-ui-in-page.js +123 -0
- package/src/lib/design/system/rules/inline-ui-in-page.js.map +1 -0
- package/src/lib/design/system/rules/inline-ui.d.ts +16 -0
- package/src/lib/design/system/rules/inline-ui.js +100 -0
- package/src/lib/design/system/rules/inline-ui.js.map +1 -0
- package/src/lib/design/system/rules/motion.d.ts +1 -1
- package/src/lib/design/system/rules/motion.js +25 -17
- package/src/lib/design/system/rules/motion.js.map +1 -1
- package/src/lib/design/system/rules/native-title.d.ts +7 -0
- package/src/lib/design/system/rules/native-title.js +64 -0
- package/src/lib/design/system/rules/native-title.js.map +1 -0
- package/src/lib/design/system/rules/orphan-endpoint-known.d.ts +12 -0
- package/src/lib/design/system/rules/orphan-endpoint-known.js +20 -0
- package/src/lib/design/system/rules/orphan-endpoint-known.js.map +1 -0
- package/src/lib/design/system/rules/orphan-endpoint.d.ts +23 -0
- package/src/lib/design/system/rules/orphan-endpoint.js +166 -0
- package/src/lib/design/system/rules/orphan-endpoint.js.map +1 -0
- package/src/lib/design/system/rules/part-rewrite.d.ts +13 -0
- package/src/lib/design/system/rules/part-rewrite.js +125 -0
- package/src/lib/design/system/rules/part-rewrite.js.map +1 -0
- package/src/lib/design/system/rules/sample-default-known.d.ts +5 -0
- package/src/lib/design/system/rules/sample-default-known.js +17 -0
- package/src/lib/design/system/rules/sample-default-known.js.map +1 -0
- package/src/lib/design/system/rules/sample-default.d.ts +22 -0
- package/src/lib/design/system/rules/sample-default.js +92 -0
- package/src/lib/design/system/rules/sample-default.js.map +1 -0
- package/src/lib/design/system/rules/stale-replace.js +4 -0
- package/src/lib/design/system/rules/stale-replace.js.map +1 -1
- package/src/lib/design/system/rules/state-in-component.d.ts +16 -0
- package/src/lib/design/system/rules/state-in-component.js +101 -0
- package/src/lib/design/system/rules/state-in-component.js.map +1 -0
- package/src/lib/design/system/rules/tailwind-classes.d.ts +51 -0
- package/src/lib/design/system/rules/tailwind-classes.js +232 -0
- package/src/lib/design/system/rules/tailwind-classes.js.map +1 -0
- package/src/lib/design/system/rules/top-level-await.d.ts +9 -0
- package/src/lib/design/system/rules/top-level-await.js +62 -0
- package/src/lib/design/system/rules/top-level-await.js.map +1 -0
- package/src/lib/design/system/rules/unbound-input-known.d.ts +5 -0
- package/src/lib/design/system/rules/unbound-input-known.js +47 -0
- package/src/lib/design/system/rules/unbound-input-known.js.map +1 -0
- package/src/lib/design/system/rules/unbound-input.d.ts +22 -0
- package/src/lib/design/system/rules/unbound-input.js +61 -0
- package/src/lib/design/system/rules/unbound-input.js.map +1 -0
- package/src/lib/design/system/rules/uncovered-region.d.ts +13 -0
- package/src/lib/design/system/rules/uncovered-region.js +36 -0
- package/src/lib/design/system/rules/uncovered-region.js.map +1 -0
- package/src/lib/design/system/rules/undefined-class.d.ts +9 -0
- package/src/lib/design/system/rules/undefined-class.js +32 -0
- package/src/lib/design/system/rules/undefined-class.js.map +1 -0
- package/src/lib/design/system/rules/undefined-token.d.ts +1 -1
- package/src/lib/design/system/rules/undefined-token.js +7 -61
- package/src/lib/design/system/rules/undefined-token.js.map +1 -1
- package/src/lib/design/system/rules/utility-css.d.ts +2 -1
- package/src/lib/design/system/rules/utility-css.js +29 -14
- package/src/lib/design/system/rules/utility-css.js.map +1 -1
- package/src/lib/design/system/rules/view-coverage.d.ts +8 -0
- package/src/lib/design/system/rules/view-coverage.js +51 -0
- package/src/lib/design/system/rules/view-coverage.js.map +1 -0
- package/src/lib/design/system/rules/visible-change.d.ts +20 -0
- package/src/lib/design/system/rules/visible-change.js +48 -0
- package/src/lib/design/system/rules/visible-change.js.map +1 -0
- package/src/lib/design/system/sdk-errors.d.ts +14 -0
- package/src/lib/design/system/sdk-errors.js +38 -0
- package/src/lib/design/system/sdk-errors.js.map +1 -0
- package/src/lib/design/system/see-through.d.ts +12 -0
- package/src/lib/design/system/see-through.js +112 -0
- package/src/lib/design/system/see-through.js.map +1 -0
- package/src/lib/design/system/settled-panes.d.ts +18 -0
- package/src/lib/design/system/settled-panes.js +70 -0
- package/src/lib/design/system/settled-panes.js.map +1 -0
- package/src/lib/design/system/sketch/after-merge.d.ts +11 -0
- package/src/lib/design/system/sketch/after-merge.js +51 -0
- package/src/lib/design/system/sketch/after-merge.js.map +1 -0
- package/src/lib/design/system/sketch/aktuell-placeholders.d.ts +30 -0
- package/src/lib/design/system/sketch/aktuell-placeholders.js +87 -0
- package/src/lib/design/system/sketch/aktuell-placeholders.js.map +1 -0
- package/src/lib/design/system/sketch/baseline.d.ts +19 -1
- package/src/lib/design/system/sketch/baseline.js +29 -7
- package/src/lib/design/system/sketch/baseline.js.map +1 -1
- package/src/lib/design/system/sketch/check-sketches.d.ts +10 -0
- package/src/lib/design/system/sketch/check-sketches.js +50 -4
- package/src/lib/design/system/sketch/check-sketches.js.map +1 -1
- package/src/lib/design/system/sketch/cli-args.d.ts +12 -2
- package/src/lib/design/system/sketch/cli-args.js +18 -3
- package/src/lib/design/system/sketch/cli-args.js.map +1 -1
- package/src/lib/design/system/sketch/edit-sketch.d.ts +21 -0
- package/src/lib/design/system/sketch/edit-sketch.js +117 -0
- package/src/lib/design/system/sketch/edit-sketch.js.map +1 -0
- package/src/lib/design/system/sketch/frame-budget.d.ts +24 -0
- package/src/lib/design/system/sketch/frame-budget.js +23 -0
- package/src/lib/design/system/sketch/frame-budget.js.map +1 -0
- package/src/lib/design/system/sketch/identical-renders.d.ts +31 -0
- package/src/lib/design/system/sketch/identical-renders.js +137 -0
- package/src/lib/design/system/sketch/identical-renders.js.map +1 -0
- package/src/lib/design/system/sketch/merge-shared.d.ts +2 -0
- package/src/lib/design/system/sketch/merge-shared.js +7 -10
- package/src/lib/design/system/sketch/merge-shared.js.map +1 -1
- package/src/lib/design/system/sketch/merge-step.d.ts +35 -0
- package/src/lib/design/system/sketch/merge-step.js +98 -0
- package/src/lib/design/system/sketch/merge-step.js.map +1 -0
- package/src/lib/design/system/sketch/merge.d.ts +10 -3
- package/src/lib/design/system/sketch/merge.js +103 -30
- package/src/lib/design/system/sketch/merge.js.map +1 -1
- package/src/lib/design/system/sketch/merged-layout.d.ts +17 -0
- package/src/lib/design/system/sketch/merged-layout.js +57 -0
- package/src/lib/design/system/sketch/merged-layout.js.map +1 -0
- package/src/lib/design/system/sketch/merged-parts.d.ts +40 -10
- package/src/lib/design/system/sketch/merged-parts.js +112 -49
- package/src/lib/design/system/sketch/merged-parts.js.map +1 -1
- package/src/lib/design/system/sketch/no-visible-change.d.ts +10 -0
- package/src/lib/design/system/sketch/no-visible-change.js +16 -6
- package/src/lib/design/system/sketch/no-visible-change.js.map +1 -1
- package/src/lib/design/system/sketch/part-definition.d.ts +21 -1
- package/src/lib/design/system/sketch/part-definition.js +79 -17
- package/src/lib/design/system/sketch/part-definition.js.map +1 -1
- package/src/lib/design/system/sketch/rebase-port.d.ts +24 -0
- package/src/lib/design/system/sketch/rebase-port.js +170 -0
- package/src/lib/design/system/sketch/rebase-port.js.map +1 -0
- package/src/lib/design/system/sketch/sample-mark-drift.d.ts +33 -0
- package/src/lib/design/system/sketch/sample-mark-drift.js +88 -0
- package/src/lib/design/system/sketch/sample-mark-drift.js.map +1 -0
- package/src/lib/design/system/sketch/sketch-check-worker.d.ts +1 -0
- package/src/lib/design/system/sketch/sketch-check-worker.js +27 -0
- package/src/lib/design/system/sketch/sketch-check-worker.js.map +1 -0
- package/src/lib/design/system/sketch/sketch-checker.d.ts +27 -0
- package/src/lib/design/system/sketch/sketch-checker.js +99 -0
- package/src/lib/design/system/sketch/sketch-checker.js.map +1 -0
- package/src/lib/design/system/sketch/sketch.d.ts +63 -2
- package/src/lib/design/system/sketch/sketch.js +185 -30
- package/src/lib/design/system/sketch/sketch.js.map +1 -1
- package/src/lib/design/system/sketch/stale-base.d.ts +22 -0
- package/src/lib/design/system/sketch/stale-base.js +56 -0
- package/src/lib/design/system/sketch/stale-base.js.map +1 -0
- package/src/lib/design/system/sketch/unchanged-states.d.ts +32 -0
- package/src/lib/design/system/sketch/unchanged-states.js +52 -13
- package/src/lib/design/system/sketch/unchanged-states.js.map +1 -1
- package/src/lib/design/system/sketch/unused-closure.js +16 -4
- package/src/lib/design/system/sketch/unused-closure.js.map +1 -1
- package/src/lib/design/system/sketch/viewed-shots.d.ts +24 -0
- package/src/lib/design/system/sketch/viewed-shots.js +61 -0
- package/src/lib/design/system/sketch/viewed-shots.js.map +1 -0
- package/src/lib/design/system/slow-checks.d.ts +40 -0
- package/src/lib/design/system/slow-checks.js +197 -0
- package/src/lib/design/system/slow-checks.js.map +1 -0
- package/src/lib/design/system/slow-run.d.ts +57 -0
- package/src/lib/design/system/slow-run.js +253 -0
- package/src/lib/design/system/slow-run.js.map +1 -0
- package/src/lib/design/system/stale-design-mocks.d.ts +20 -0
- package/src/lib/design/system/stale-design-mocks.js +59 -0
- package/src/lib/design/system/stale-design-mocks.js.map +1 -0
- package/src/lib/design/system/stale-dist.d.ts +25 -0
- package/src/lib/design/system/stale-dist.js +91 -0
- package/src/lib/design/system/stale-dist.js.map +1 -0
- package/src/lib/design/system/stale-parts.d.ts +30 -0
- package/src/lib/design/system/stale-parts.js +106 -0
- package/src/lib/design/system/stale-parts.js.map +1 -0
- package/src/lib/design/system/surface-nesting.d.ts +11 -0
- package/src/lib/design/system/surface-nesting.js +86 -0
- package/src/lib/design/system/surface-nesting.js.map +1 -0
- package/src/lib/design/system/system-command.js +8 -6
- package/src/lib/design/system/system-command.js.map +1 -1
- package/src/lib/design/system/system-modules.d.ts +16 -1
- package/src/lib/design/system/system-modules.js +18 -2
- package/src/lib/design/system/system-modules.js.map +1 -1
- package/src/lib/design/system/task-command.d.ts +51 -0
- package/src/lib/design/system/task-command.js +233 -0
- package/src/lib/design/system/task-command.js.map +1 -0
- package/src/lib/design/system/theming-text.d.ts +2 -0
- package/src/lib/design/system/theming-text.js +6 -0
- package/src/lib/design/system/theming-text.js.map +1 -0
- package/src/lib/design/system/tom-confirm.d.ts +40 -0
- package/src/lib/design/system/tom-confirm.js +55 -0
- package/src/lib/design/system/tom-confirm.js.map +1 -0
- package/src/lib/design/system/touched-parts.d.ts +16 -0
- package/src/lib/design/system/touched-parts.js +122 -0
- package/src/lib/design/system/touched-parts.js.map +1 -0
- package/src/lib/design/system/ts-source.d.ts +2 -0
- package/src/lib/design/system/ts-source.js +15 -1
- package/src/lib/design/system/ts-source.js.map +1 -1
- package/src/lib/design/system/unchanged-rows.d.ts +15 -0
- package/src/lib/design/system/unchanged-rows.js +134 -0
- package/src/lib/design/system/unchanged-rows.js.map +1 -0
- package/src/lib/design/system/uncommitted-decisions.d.ts +6 -0
- package/src/lib/design/system/uncommitted-decisions.js +38 -0
- package/src/lib/design/system/uncommitted-decisions.js.map +1 -0
- package/src/lib/design/system/uncovered-regions.d.ts +61 -0
- package/src/lib/design/system/uncovered-regions.js +171 -0
- package/src/lib/design/system/uncovered-regions.js.map +1 -0
- package/src/lib/design/system/unused-base-parts.d.ts +7 -0
- package/src/lib/design/system/unused-base-parts.js +76 -0
- package/src/lib/design/system/unused-base-parts.js.map +1 -0
- package/src/lib/design/system/visible-change-command.d.ts +48 -0
- package/src/lib/design/system/visible-change-command.js +308 -0
- package/src/lib/design/system/visible-change-command.js.map +1 -0
- package/src/lib/design/system/visible-change-parts.d.ts +28 -0
- package/src/lib/design/system/visible-change-parts.js +96 -0
- package/src/lib/design/system/visible-change-parts.js.map +1 -0
- package/src/lib/design/system/visible-change.d.ts +82 -0
- package/src/lib/design/system/visible-change.js +149 -0
- package/src/lib/design/system/visible-change.js.map +1 -0
- package/src/lib/design/thumb.d.ts +19 -2
- package/src/lib/design/thumb.js +50 -15
- package/src/lib/design/thumb.js.map +1 -1
- package/src/lib/design/typecheck.d.ts +1 -1
- package/src/lib/design/typecheck.js +3 -3
- package/src/lib/design/typecheck.js.map +1 -1
- package/src/lib/design/unstable-cells.d.ts +23 -0
- package/src/lib/design/unstable-cells.js +40 -0
- package/src/lib/design/unstable-cells.js.map +1 -0
- package/src/lib/design/variant-diff.js +1 -1
- package/src/lib/design/variant-diff.js.map +1 -1
- package/src/lib/design/wait.d.ts +15 -0
- package/src/lib/design/wait.js +30 -0
- package/src/lib/design/wait.js.map +1 -0
- package/src/lib/json-file.d.ts +11 -0
- package/src/lib/json-file.js +21 -0
- package/src/lib/json-file.js.map +1 -0
- package/src/lib/source-hash.d.ts +7 -0
- package/src/lib/source-hash.js +62 -0
- package/src/lib/source-hash.js.map +1 -0
- package/src/lib/update/agent-setup.js +2 -1
- package/src/lib/update/agent-setup.js.map +1 -1
- package/src/lib/update/migration-manifest.d.ts +12 -0
- package/src/lib/update/migration-manifest.js +13 -0
- package/src/lib/update/migration-manifest.js.map +1 -1
- package/src/lib/update/migration-record.js +2 -1
- package/src/lib/update/migration-record.js.map +1 -1
- package/src/lib/update/pending.js +2 -1
- package/src/lib/update/pending.js.map +1 -1
- package/src/lib/update/run-migrations.d.ts +3 -2
- package/src/lib/update/run-migrations.js +38 -5
- package/src/lib/update/run-migrations.js.map +1 -1
- package/src/lib/update/tasks.js +2 -1
- package/src/lib/update/tasks.js.map +1 -1
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.watchSdkErrors = exports.watchSdkErrorLines = exports.sdkErrorLineOf = void 0;
|
|
4
|
+
const SDK_ERROR = /\b(ET\d+)\b:?\s*([^\n]*)/;
|
|
5
|
+
const sdkErrorLineOf = (text) => {
|
|
6
|
+
var _a;
|
|
7
|
+
const match = SDK_ERROR.exec(text);
|
|
8
|
+
return match ? `${match[1]}: ${(_a = match[2]) !== null && _a !== void 0 ? _a : ''}`.trim() : null;
|
|
9
|
+
};
|
|
10
|
+
exports.sdkErrorLineOf = sdkErrorLineOf;
|
|
11
|
+
const watchSdkErrorLines = (page) => {
|
|
12
|
+
const found = new Set();
|
|
13
|
+
const collect = (text) => {
|
|
14
|
+
const line = (0, exports.sdkErrorLineOf)(text);
|
|
15
|
+
if (line)
|
|
16
|
+
found.add(line);
|
|
17
|
+
};
|
|
18
|
+
page.on('console', (message) => message.type() === 'error' && collect(message.text()));
|
|
19
|
+
page.on('pageerror', (error) => collect(error.message));
|
|
20
|
+
return {
|
|
21
|
+
lines: () => [...found],
|
|
22
|
+
drain: () => {
|
|
23
|
+
const lines = [...found];
|
|
24
|
+
found.clear();
|
|
25
|
+
return lines;
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
exports.watchSdkErrorLines = watchSdkErrorLines;
|
|
30
|
+
const watchSdkErrors = (page) => {
|
|
31
|
+
const watcher = (0, exports.watchSdkErrorLines)(page);
|
|
32
|
+
return (where) => {
|
|
33
|
+
const lines = watcher.lines();
|
|
34
|
+
return lines.length === 0 ? null : `${where} logged SDK errors:\n${lines.map((line) => ` ${line}`).join('\n')}`;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
exports.watchSdkErrors = watchSdkErrors;
|
|
38
|
+
//# sourceMappingURL=sdk-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-errors.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/sdk-errors.ts"],"names":[],"mappings":";;;AAAA,MAAM,SAAS,GAAG,0BAA0B,CAAC;AAOtC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE;;IAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEnC,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,MAAA,KAAK,CAAC,CAAC,CAAC,mCAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAChE,CAAC,CAAC;AAJW,QAAA,cAAc,kBAIzB;AAEK,MAAM,kBAAkB,GAAG,CAAC,IAAe,EAAE,EAAE;IACpD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAC;QAElC,IAAI,IAAI;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACvF,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAExD,OAAO;QACL,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACvB,KAAK,EAAE,GAAG,EAAE;YACV,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;YAEzB,KAAK,CAAC,KAAK,EAAE,CAAC;YAEd,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,kBAAkB,sBAqB7B;AAEK,MAAM,cAAc,GAAG,CAAC,IAAe,EAAE,EAAE;IAChD,MAAM,OAAO,GAAG,IAAA,0BAAkB,EAAC,IAAI,CAAC,CAAC;IAEzC,OAAO,CAAC,KAAa,EAAE,EAAE;QACvB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAE9B,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,wBAAwB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACnH,CAAC,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,cAAc,kBAQzB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** The rule an open overlay pane breaks when text of the content under it stays visible through it. */
|
|
2
|
+
export declare const SEE_THROUGH_RULE = "SEE-THROUGH";
|
|
3
|
+
/** An open overlay pane: an SDK or CDK overlay, an open native popover or dialog, or a positioned menu or dialog role. */
|
|
4
|
+
export declare const OVERLAY_PANE_SELECTOR: string;
|
|
5
|
+
/**
|
|
6
|
+
* The statements of the see-through check inside the frame script of `render-check`. They use `root` and `report`
|
|
7
|
+
* of that script. Each point where text outside an open overlay pane lies under that pane must be covered by an
|
|
8
|
+
* opaque background painted above the text, or the text shows through; text outside any overlay that paints above
|
|
9
|
+
* the pane is reported too. They finish finite animations and force `pointer-events` on for the
|
|
10
|
+
* hit test and restore it.
|
|
11
|
+
*/
|
|
12
|
+
export declare const SEE_THROUGH_STATEMENTS: string;
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SEE_THROUGH_STATEMENTS = exports.OVERLAY_PANE_SELECTOR = exports.SEE_THROUGH_RULE = void 0;
|
|
4
|
+
/** The rule an open overlay pane breaks when text of the content under it stays visible through it. */
|
|
5
|
+
exports.SEE_THROUGH_RULE = 'SEE-THROUGH';
|
|
6
|
+
/** An open overlay pane: an SDK or CDK overlay, an open native popover or dialog, or a positioned menu or dialog role. */
|
|
7
|
+
exports.OVERLAY_PANE_SELECTOR = [
|
|
8
|
+
'.et-overlay',
|
|
9
|
+
'.et-overlay-runtime-pane',
|
|
10
|
+
'.cdk-overlay-pane',
|
|
11
|
+
'[popover]:popover-open',
|
|
12
|
+
'dialog[open]',
|
|
13
|
+
'[role="menu"]',
|
|
14
|
+
'[role="dialog"]',
|
|
15
|
+
'[role="alertdialog"]',
|
|
16
|
+
].join(', ');
|
|
17
|
+
const SAMPLES_PER_SIDE = 3;
|
|
18
|
+
const OPAQUE = 0.95;
|
|
19
|
+
/**
|
|
20
|
+
* The statements of the see-through check inside the frame script of `render-check`. They use `root` and `report`
|
|
21
|
+
* of that script. Each point where text outside an open overlay pane lies under that pane must be covered by an
|
|
22
|
+
* opaque background painted above the text, or the text shows through; text outside any overlay that paints above
|
|
23
|
+
* the pane is reported too. They finish finite animations and force `pointer-events` on for the
|
|
24
|
+
* hit test and restore it.
|
|
25
|
+
*/
|
|
26
|
+
exports.SEE_THROUGH_STATEMENTS = `
|
|
27
|
+
{
|
|
28
|
+
const panes = [...document.querySelectorAll(${JSON.stringify(exports.OVERLAY_PANE_SELECTOR)})].filter((pane) => {
|
|
29
|
+
if (pane.getClientRects().length === 0 || getComputedStyle(pane).visibility !== 'visible') return false;
|
|
30
|
+
if (pane.matches('[role]:not(.et-overlay, .et-overlay-runtime-pane, .cdk-overlay-pane, dialog, [popover])') && !['absolute', 'fixed'].includes(getComputedStyle(pane).position)) return false;
|
|
31
|
+
return !pane.parentElement?.closest(${JSON.stringify(exports.OVERLAY_PANE_SELECTOR)});
|
|
32
|
+
});
|
|
33
|
+
if (panes.length > 0) {
|
|
34
|
+
for (const animation of document.getAnimations())
|
|
35
|
+
if (animation.effect?.getComputedTiming().endTime !== Infinity) animation.finish();
|
|
36
|
+
const force = document.createElement('style');
|
|
37
|
+
force.textContent = '* { pointer-events: auto !important; }';
|
|
38
|
+
document.head.append(force);
|
|
39
|
+
const alphaOf = (colour) => {
|
|
40
|
+
if (colour === 'transparent') return 0;
|
|
41
|
+
const slash = /\\/\\s*([\\d.]+)(%?)\\s*\\)$/.exec(colour);
|
|
42
|
+
if (slash) return parseFloat(slash[1]) / (slash[2] ? 100 : 1);
|
|
43
|
+
const rgba = /^rgba\\([^,]+,[^,]+,[^,]+,\\s*([\\d.]+)\\s*\\)$/.exec(colour);
|
|
44
|
+
return rgba ? parseFloat(rgba[1]) : 1;
|
|
45
|
+
};
|
|
46
|
+
const opacityOf = (element) => {
|
|
47
|
+
let opacity = 1;
|
|
48
|
+
for (let at = element; at; at = at.parentElement) opacity *= parseFloat(getComputedStyle(at).opacity);
|
|
49
|
+
return opacity;
|
|
50
|
+
};
|
|
51
|
+
const coverOf = (element) => {
|
|
52
|
+
const style = getComputedStyle(element);
|
|
53
|
+
const solid = element.matches('img, video, canvas, iframe, object, embed') || style.backgroundImage !== 'none' || style.backdropFilter !== 'none';
|
|
54
|
+
return (solid ? 1 : alphaOf(style.backgroundColor)) * opacityOf(element);
|
|
55
|
+
};
|
|
56
|
+
const shown = (element) => {
|
|
57
|
+
const style = getComputedStyle(element);
|
|
58
|
+
return style.visibility === 'visible' && alphaOf(style.color) > 0 && opacityOf(element) > 0;
|
|
59
|
+
};
|
|
60
|
+
const walker = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT);
|
|
61
|
+
const texts = [];
|
|
62
|
+
for (let node = walker.nextNode(); node; node = walker.nextNode())
|
|
63
|
+
if (node.textContent.trim() && node.parentElement && !node.parentElement.closest('style, script, template, head')) texts.push(node);
|
|
64
|
+
const samples = ${SAMPLES_PER_SIDE};
|
|
65
|
+
for (const pane of panes) {
|
|
66
|
+
const box = pane.getBoundingClientRect();
|
|
67
|
+
for (const node of texts) {
|
|
68
|
+
const owner = node.parentElement;
|
|
69
|
+
if (pane.contains(owner) || !shown(owner)) continue;
|
|
70
|
+
const floats = owner.closest(${JSON.stringify(exports.OVERLAY_PANE_SELECTOR + ', [role="tooltip"]')}) !== null;
|
|
71
|
+
const range = document.createRange();
|
|
72
|
+
range.selectNodeContents(node);
|
|
73
|
+
let total = 0;
|
|
74
|
+
let through = 0;
|
|
75
|
+
let above = 0;
|
|
76
|
+
for (const rect of range.getClientRects()) {
|
|
77
|
+
const left = Math.max(rect.left, box.left, 0);
|
|
78
|
+
const top = Math.max(rect.top, box.top, 0);
|
|
79
|
+
const right = Math.min(rect.right, box.right, innerWidth);
|
|
80
|
+
const bottom = Math.min(rect.bottom, box.bottom, innerHeight);
|
|
81
|
+
if (right - left < 1 || bottom - top < 1) continue;
|
|
82
|
+
for (let row = 0; row < samples; row++)
|
|
83
|
+
for (let column = 0; column < samples; column++) {
|
|
84
|
+
const x = left + 0.5 + ((right - left - 1) * column) / (samples - 1);
|
|
85
|
+
const y = top + 0.5 + ((bottom - top - 1) * row) / (samples - 1);
|
|
86
|
+
const stack = document.elementsFromPoint(x, y);
|
|
87
|
+
const under = stack.indexOf(owner);
|
|
88
|
+
const paneAt = stack.findIndex((element) => element === pane || pane.contains(element));
|
|
89
|
+
if (under < 0 || paneAt < 0) continue;
|
|
90
|
+
total++;
|
|
91
|
+
if (paneAt > under) {
|
|
92
|
+
if (!floats) above++;
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
const clear = stack.slice(0, under).reduce((rest, element) => (element.contains(owner) ? rest : rest * (1 - coverOf(element))), 1);
|
|
96
|
+
if (1 - clear < ${OPAQUE}) through++;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (through === 0 && above === 0) continue;
|
|
100
|
+
const text = node.textContent.trim().replace(/\\s+/g, ' ');
|
|
101
|
+
const name = owner.localName + (owner.classList[0] ? '.' + owner.classList[0] : '');
|
|
102
|
+
const quoted = '"' + (text.length > 32 ? text.slice(0, 31) + '…' : text) + '" (' + name + ')';
|
|
103
|
+
if (above > 0) report(${JSON.stringify(exports.SEE_THROUGH_RULE)}, pane, quoted + ' paints over the open overlay pane at ' + above + ' of ' + total + ' points - lift the pane above it (z-index or stacking context)');
|
|
104
|
+
else report(${JSON.stringify(exports.SEE_THROUGH_RULE)}, pane, 'the open overlay pane lets ' + quoted + ' under it show through at ' + through + ' of ' + total + ' points - give the pane an opaque background');
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
force.remove();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
`;
|
|
112
|
+
//# sourceMappingURL=see-through.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"see-through.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/see-through.ts"],"names":[],"mappings":";;;AAAA,uGAAuG;AAC1F,QAAA,gBAAgB,GAAG,aAAa,CAAC;AAE9C,0HAA0H;AAC7G,QAAA,qBAAqB,GAAG;IACnC,aAAa;IACb,0BAA0B;IAC1B,mBAAmB;IACnB,wBAAwB;IACxB,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,sBAAsB;CACvB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,MAAM,GAAG,IAAI,CAAC;AAEpB;;;;;;GAMG;AACU,QAAA,sBAAsB,GAAG;;kDAEY,IAAI,CAAC,SAAS,CAAC,6BAAqB,CAAC;;;4CAG3C,IAAI,CAAC,SAAS,CAAC,6BAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAiCzD,gBAAgB;;;;;;yCAMC,IAAI,CAAC,SAAS,CAAC,6BAAqB,GAAG,oBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;kCA0BnE,MAAM;;;;;;;kCAON,IAAI,CAAC,SAAS,CAAC,wBAAgB,CAAC;wBAC1C,IAAI,CAAC,SAAS,CAAC,wBAAgB,CAAC;;;;;;;CAOvD,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Browser } from '../thumb';
|
|
2
|
+
type Page = Awaited<ReturnType<Awaited<ReturnType<Browser['newContext']>>['newPage']>>;
|
|
3
|
+
/**
|
|
4
|
+
* A page script that counts the frames in a row in which every overlay pane has left its init, enter and leave
|
|
5
|
+
* phases, no finite animation runs, and no box in a pane moved or resized; it returns whether that count reached
|
|
6
|
+
* `SETTLED_FRAMES`. Run it once per frame.
|
|
7
|
+
*/
|
|
8
|
+
export declare const settledPanesScript: string;
|
|
9
|
+
/**
|
|
10
|
+
* Waits for at least `count` overlay panes, then until `settledPanesScript` holds. Resolves `false` when that does not
|
|
11
|
+
* happen within `timeout`.
|
|
12
|
+
*/
|
|
13
|
+
export declare const settledPanesOf: (options: {
|
|
14
|
+
page: Page;
|
|
15
|
+
count: number;
|
|
16
|
+
timeout: number;
|
|
17
|
+
}) => Promise<boolean>;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,70 @@
|
|
|
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.settledPanesOf = exports.settledPanesScript = void 0;
|
|
13
|
+
const wait_1 = require("../wait");
|
|
14
|
+
const action_press_1 = require("./action-press");
|
|
15
|
+
const part_compare_1 = require("./part-compare");
|
|
16
|
+
const UNSETTLED_PANE = [
|
|
17
|
+
...['enter-from', 'enter-active', 'enter-to', 'leave-from', 'leave-active', 'leave-to'].map((phase) => `.et-animation-${phase}`),
|
|
18
|
+
'.et-force-invisible',
|
|
19
|
+
].join(', ');
|
|
20
|
+
const SETTLED_FRAMES = 3;
|
|
21
|
+
const PANE_COUNT_TIMEOUT_MS = 10000;
|
|
22
|
+
/**
|
|
23
|
+
* A page script that counts the frames in a row in which every overlay pane has left its init, enter and leave
|
|
24
|
+
* phases, no finite animation runs, and no box in a pane moved or resized; it returns whether that count reached
|
|
25
|
+
* `SETTLED_FRAMES`. Run it once per frame.
|
|
26
|
+
*/
|
|
27
|
+
exports.settledPanesScript = `(() => {
|
|
28
|
+
const panes = [...document.querySelectorAll(${JSON.stringify(part_compare_1.OVERLAY_PANES)})];
|
|
29
|
+
const quiet =
|
|
30
|
+
panes.every((pane) => !pane.matches(${JSON.stringify(UNSETTLED_PANE)}) && !pane.querySelector(${JSON.stringify(UNSETTLED_PANE)})) &&
|
|
31
|
+
!document.getAnimations().some(${action_press_1.UNSETTLED_ANIMATION});
|
|
32
|
+
const geometry = panes
|
|
33
|
+
.map((pane) =>
|
|
34
|
+
[pane, ...pane.querySelectorAll('*')]
|
|
35
|
+
.map((element) => {
|
|
36
|
+
const { x, y, width, height } = element.getBoundingClientRect();
|
|
37
|
+
|
|
38
|
+
return x + ',' + y + ',' + width + ',' + height;
|
|
39
|
+
})
|
|
40
|
+
.join(' '),
|
|
41
|
+
)
|
|
42
|
+
.join('|');
|
|
43
|
+
const still = quiet && geometry === window.__etPaneGeometry;
|
|
44
|
+
|
|
45
|
+
window.__etPaneGeometry = geometry;
|
|
46
|
+
window.__etSettledFrames = still ? (window.__etSettledFrames ?? 0) + 1 : 0;
|
|
47
|
+
|
|
48
|
+
return window.__etSettledFrames >= ${SETTLED_FRAMES};
|
|
49
|
+
})()`;
|
|
50
|
+
/**
|
|
51
|
+
* Waits for at least `count` overlay panes, then until `settledPanesScript` holds. Resolves `false` when that does not
|
|
52
|
+
* happen within `timeout`.
|
|
53
|
+
*/
|
|
54
|
+
const settledPanesOf = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
55
|
+
const { page, count } = options;
|
|
56
|
+
const timeout = (0, wait_1.playwrightTimeoutOf)(options.timeout);
|
|
57
|
+
if (count > 0)
|
|
58
|
+
yield page
|
|
59
|
+
.waitForFunction(`document.querySelectorAll(${JSON.stringify(part_compare_1.OVERLAY_PANES)}).length >= ${count}`, undefined, {
|
|
60
|
+
timeout: Math.min(timeout, PANE_COUNT_TIMEOUT_MS),
|
|
61
|
+
polling: 'raf',
|
|
62
|
+
})
|
|
63
|
+
.catch(() => undefined);
|
|
64
|
+
return page
|
|
65
|
+
.waitForFunction(exports.settledPanesScript, undefined, { timeout, polling: 'raf' })
|
|
66
|
+
.then(() => true)
|
|
67
|
+
.catch(() => false);
|
|
68
|
+
});
|
|
69
|
+
exports.settledPanesOf = settledPanesOf;
|
|
70
|
+
//# sourceMappingURL=settled-panes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settled-panes.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/settled-panes.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,kCAA8C;AAC9C,iDAAqD;AACrD,iDAA+C;AAI/C,MAAM,cAAc,GAAG;IACrB,GAAG,CAAC,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,GAAG,CACzF,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,KAAK,EAAE,CACpC;IACD,qBAAqB;CACtB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,MAAM,qBAAqB,GAAG,KAAM,CAAC;AAErC;;;;GAIG;AACU,QAAA,kBAAkB,GAAG;gDACc,IAAI,CAAC,SAAS,CAAC,4BAAa,CAAC;;0CAEnC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;qCAC7F,kCAAmB;;;;;;;;;;;;;;;;;uCAiBjB,cAAc;KAChD,CAAC;AAEN;;;GAGG;AACI,MAAM,cAAc,GAAG,CAAO,OAAuD,EAAE,EAAE;IAC9F,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAChC,MAAM,OAAO,GAAG,IAAA,0BAAmB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAErD,IAAI,KAAK,GAAG,CAAC;QACX,MAAM,IAAI;aACP,eAAe,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,4BAAa,CAAC,eAAe,KAAK,EAAE,EAAE,SAAS,EAAE;YAC5G,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,qBAAqB,CAAC;YACjD,OAAO,EAAE,KAAK;SACf,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAE5B,OAAO,IAAI;SACR,eAAe,CAAC,0BAAkB,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;SAC3E,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC,CAAA,CAAC;AAhBW,QAAA,cAAc,kBAgBzB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ResolvedProduct } from '../resolve-product';
|
|
2
|
+
/**
|
|
3
|
+
* Rebases each undiscarded sketch whose base the merge of `merged` changed, re-checks it and keeps its status; one that
|
|
4
|
+
* conflicts or fails the check gets a `portAfterMerge` mark instead. `product` must resolve the product after the merge.
|
|
5
|
+
*/
|
|
6
|
+
export declare const rebaseAfterMerge: (options: {
|
|
7
|
+
target: string;
|
|
8
|
+
product: ResolvedProduct;
|
|
9
|
+
merged: string[];
|
|
10
|
+
before: Record<string, string>;
|
|
11
|
+
}) => string[];
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.rebaseAfterMerge = void 0;
|
|
4
|
+
const path_1 = require("path");
|
|
5
|
+
const baseline_1 = require("./baseline");
|
|
6
|
+
const check_sketches_1 = require("./check-sketches");
|
|
7
|
+
const rebase_port_1 = require("./rebase-port");
|
|
8
|
+
const sketch_1 = require("./sketch");
|
|
9
|
+
const stale_base_1 = require("./stale-base");
|
|
10
|
+
const changedKeysOf = (before, now) => new Set([...Object.keys(before), ...Object.keys(now)].filter((key) => before[key] !== now[key]));
|
|
11
|
+
const recheckOf = (options) => (0, check_sketches_1.variantProblemsOf)(options).flatMap(({ variant, problems }) => (0, sketch_1.rejectionOf)(options.sketch, variant)
|
|
12
|
+
? []
|
|
13
|
+
: problems.map((problem) => `${variant}: ${problem.rule} ${(0, path_1.relative)(options.target, problem.file)}: ${problem.message}`));
|
|
14
|
+
/**
|
|
15
|
+
* Rebases each undiscarded sketch whose base the merge of `merged` changed, re-checks it and keeps its status; one that
|
|
16
|
+
* conflicts or fails the check gets a `portAfterMerge` mark instead. `product` must resolve the product after the merge.
|
|
17
|
+
*/
|
|
18
|
+
const rebaseAfterMerge = (options) => {
|
|
19
|
+
var _a;
|
|
20
|
+
const { target, product, merged, before } = options;
|
|
21
|
+
const changed = changedKeysOf(before, (0, baseline_1.baselineOf)(product));
|
|
22
|
+
const after = `after the merge of ${merged.join(', ')}`;
|
|
23
|
+
const lines = [];
|
|
24
|
+
for (const sketch of (0, sketch_1.listSketches)({ productDir: product.dir, product: product.name })) {
|
|
25
|
+
if (typeof sketch === 'string' || ((_a = sketch.decision) === null || _a === void 0 ? void 0 : _a.kind) === 'discard')
|
|
26
|
+
continue;
|
|
27
|
+
const parts = (0, stale_base_1.staleBaseOf)({ product, sketch });
|
|
28
|
+
if (!(parts === null || parts === void 0 ? void 0 : parts.some((part) => changed.has(part))))
|
|
29
|
+
continue;
|
|
30
|
+
const id = `${product.name} ${sketch.target}`;
|
|
31
|
+
const rebase = `sketch rebase ${sketch.target} --product ${product.name} --by <model id>`;
|
|
32
|
+
const mark = (marked, reasons) => (0, sketch_1.writeSketchFile)(Object.assign(Object.assign({}, marked), { portAfterMerge: { merged, parts, reasons, at: new Date().toISOString() } }));
|
|
33
|
+
const { ported, conflicts } = (0, rebase_port_1.portBaseChanges)({ target, product, sketch });
|
|
34
|
+
if (conflicts.length > 0) {
|
|
35
|
+
mark(sketch, conflicts);
|
|
36
|
+
lines.push(`AGENT PORTS ${id} ${after}: ${conflicts.join('; ')} - port it by hand, then run ${rebase}`);
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
const rebased = (0, sketch_1.rebaseSketch)({ product, sketch });
|
|
40
|
+
const problems = ported.length > 0 ? recheckOf({ target, product, sketch: rebased }) : [];
|
|
41
|
+
if (problems.length > 0) {
|
|
42
|
+
mark(rebased, problems);
|
|
43
|
+
lines.push(`AGENT PORTS ${id} ${after}: rebased, but the check fails: ${problems.join('; ')} - fix it, then run sketch check ${sketch.target} --product ${product.name}`);
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
lines.push(`REBASED ${id} ${after}`);
|
|
47
|
+
}
|
|
48
|
+
return lines;
|
|
49
|
+
};
|
|
50
|
+
exports.rebaseAfterMerge = rebaseAfterMerge;
|
|
51
|
+
//# sourceMappingURL=after-merge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"after-merge.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/after-merge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ResolvedProduct } from '../resolve-product';
|
|
2
|
+
import { Sketch } from './sketch';
|
|
3
|
+
import { SketchPartLoader } from './unchanged-states';
|
|
4
|
+
import { PictureOf } from '../../merge-compare';
|
|
5
|
+
/**
|
|
6
|
+
* The warning for a part whose "Aktuell" column in the Studio sketch view draws no frame: the rows left once the
|
|
7
|
+
* states every variant draws unchanged are folded away are all new in the sketch. `null` when it draws one.
|
|
8
|
+
*/
|
|
9
|
+
export declare const aktuellPlaceholderWarningOf: (options: {
|
|
10
|
+
current: string[];
|
|
11
|
+
variants: {
|
|
12
|
+
states: string[];
|
|
13
|
+
unchanged: string[];
|
|
14
|
+
}[];
|
|
15
|
+
}) => string | null;
|
|
16
|
+
/** The `VARIANT-UNCHANGED` warning for a variant that draws every one of its states like the product; `null` otherwise. */
|
|
17
|
+
export declare const unchangedVariantWarningOf: (options: {
|
|
18
|
+
states: string[];
|
|
19
|
+
unchanged: string[];
|
|
20
|
+
}) => string | null;
|
|
21
|
+
/**
|
|
22
|
+
* One warning per target part of the sketch whose "Aktuell" column would show only placeholders, and one per live
|
|
23
|
+
* variant that draws every state of a target like the product.
|
|
24
|
+
*/
|
|
25
|
+
export declare const aktuellPlaceholderWarningsOf: (options: {
|
|
26
|
+
product: ResolvedProduct;
|
|
27
|
+
sketch: Sketch;
|
|
28
|
+
load: SketchPartLoader;
|
|
29
|
+
pictureOf: PictureOf;
|
|
30
|
+
}) => Promise<string[]>;
|
|
@@ -0,0 +1,87 @@
|
|
|
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.aktuellPlaceholderWarningsOf = exports.unchangedVariantWarningOf = exports.aktuellPlaceholderWarningOf = void 0;
|
|
13
|
+
const list_system_1 = require("../list-system");
|
|
14
|
+
const resolve_product_1 = require("../resolve-product");
|
|
15
|
+
const overlay_1 = require("./overlay");
|
|
16
|
+
const sketch_1 = require("./sketch");
|
|
17
|
+
const unchanged_states_1 = require("./unchanged-states");
|
|
18
|
+
/**
|
|
19
|
+
* The warning for a part whose "Aktuell" column in the Studio sketch view draws no frame: the rows left once the
|
|
20
|
+
* states every variant draws unchanged are folded away are all new in the sketch. `null` when it draws one.
|
|
21
|
+
*/
|
|
22
|
+
const aktuellPlaceholderWarningOf = (options) => {
|
|
23
|
+
const { current, variants } = options;
|
|
24
|
+
const folded = variants.length === 0 ? [] : current.filter((state) => variants.every((v) => v.unchanged.includes(state)));
|
|
25
|
+
const visible = [...new Set([...current, ...variants.flatMap((variant) => variant.states)])].filter((state) => !folded.includes(state));
|
|
26
|
+
if (folded.length === 0 || visible.some((state) => current.includes(state)))
|
|
27
|
+
return null;
|
|
28
|
+
return `Aktuell shows only placeholders: open "${folded[0]}" to compare`;
|
|
29
|
+
};
|
|
30
|
+
exports.aktuellPlaceholderWarningOf = aktuellPlaceholderWarningOf;
|
|
31
|
+
/** The `VARIANT-UNCHANGED` warning for a variant that draws every one of its states like the product; `null` otherwise. */
|
|
32
|
+
const unchangedVariantWarningOf = (options) => {
|
|
33
|
+
const { states, unchanged } = options;
|
|
34
|
+
if (states.length === 0 || states.some((state) => !unchanged.includes(state)))
|
|
35
|
+
return null;
|
|
36
|
+
return `WARNING VARIANT-UNCHANGED every state (${states.join(', ')}) draws the same pixels as Aktuell - the variant offers no decision`;
|
|
37
|
+
};
|
|
38
|
+
exports.unchangedVariantWarningOf = unchangedVariantWarningOf;
|
|
39
|
+
/**
|
|
40
|
+
* One warning per target part of the sketch whose "Aktuell" column would show only placeholders, and one per live
|
|
41
|
+
* variant that draws every state of a target like the product.
|
|
42
|
+
*/
|
|
43
|
+
const aktuellPlaceholderWarningsOf = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
44
|
+
var _a, _b;
|
|
45
|
+
const { product, sketch, load, pictureOf } = options;
|
|
46
|
+
const live = sketch.variants.filter((variant) => !(0, sketch_1.rejectionOf)(sketch, variant));
|
|
47
|
+
const warnings = [];
|
|
48
|
+
for (const part of sketch.targets) {
|
|
49
|
+
const file = (_a = product.parts.find((entry) => (0, resolve_product_1.partKeyOf)(entry) === part)) === null || _a === void 0 ? void 0 : _a.file;
|
|
50
|
+
if (!file)
|
|
51
|
+
continue;
|
|
52
|
+
const current = yield (0, list_system_1.readPartModule)({
|
|
53
|
+
part: { file },
|
|
54
|
+
product: product.name,
|
|
55
|
+
load: () => load({ file, product: product.name, sketch: null }),
|
|
56
|
+
});
|
|
57
|
+
if (current.problem)
|
|
58
|
+
continue;
|
|
59
|
+
const variants = [];
|
|
60
|
+
for (const variant of live) {
|
|
61
|
+
const drawn = (_b = (0, overlay_1.overlaySketch)({ product, sketch, variant }).parts.find((entry) => (0, resolve_product_1.partKeyOf)(entry) === part)) === null || _b === void 0 ? void 0 : _b.file;
|
|
62
|
+
if (!drawn)
|
|
63
|
+
continue;
|
|
64
|
+
const read = yield (0, list_system_1.readPartModule)({
|
|
65
|
+
part: { file: drawn },
|
|
66
|
+
product: product.name,
|
|
67
|
+
load: () => load({ file: drawn, product: product.name, sketch: { target: sketch.target, variant } }),
|
|
68
|
+
});
|
|
69
|
+
if (read.problem)
|
|
70
|
+
continue;
|
|
71
|
+
const compared = {
|
|
72
|
+
states: read.states,
|
|
73
|
+
unchanged: yield (0, unchanged_states_1.unchangedStatesOf)({ product, sketch, variant, load, pictureOf, part }),
|
|
74
|
+
};
|
|
75
|
+
const unchangedWarning = (0, exports.unchangedVariantWarningOf)(compared);
|
|
76
|
+
variants.push(compared);
|
|
77
|
+
if (unchangedWarning !== null)
|
|
78
|
+
warnings.push(`${sketch.target} ${variant}${part === (0, resolve_product_1.partKeyOf)(sketch) ? '' : ` ${part}`}: ${unchangedWarning}`);
|
|
79
|
+
}
|
|
80
|
+
const warning = (0, exports.aktuellPlaceholderWarningOf)({ current: current.states, variants });
|
|
81
|
+
if (warning !== null)
|
|
82
|
+
warnings.push(`${sketch.target}${part === (0, resolve_product_1.partKeyOf)(sketch) ? '' : ` ${part}`}: ${warning}`);
|
|
83
|
+
}
|
|
84
|
+
return warnings;
|
|
85
|
+
});
|
|
86
|
+
exports.aktuellPlaceholderWarningsOf = aktuellPlaceholderWarningsOf;
|
|
87
|
+
//# sourceMappingURL=aktuell-placeholders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aktuell-placeholders.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/aktuell-placeholders.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ type Owner = {
|
|
|
6
6
|
dir: string;
|
|
7
7
|
config?: Pick<DesignProduct, 'generatedFiles'>;
|
|
8
8
|
};
|
|
9
|
-
type HashedProduct = Owner & {
|
|
9
|
+
export type HashedProduct = Owner & {
|
|
10
10
|
base: Owner | null;
|
|
11
11
|
};
|
|
12
12
|
/**
|
|
@@ -18,11 +18,29 @@ export declare const partHashOf: (options: {
|
|
|
18
18
|
product: HashedProduct;
|
|
19
19
|
dir: string;
|
|
20
20
|
}) => string;
|
|
21
|
+
/** The files `partHashOf` reads: the part folder without generated files, and the shared and asset files it reaches. */
|
|
22
|
+
export declare const partInputsOf: (options: {
|
|
23
|
+
product: HashedProduct;
|
|
24
|
+
dir: string;
|
|
25
|
+
}) => {
|
|
26
|
+
files: string[];
|
|
27
|
+
shared: {
|
|
28
|
+
path: string;
|
|
29
|
+
file: string;
|
|
30
|
+
}[];
|
|
31
|
+
assets: {
|
|
32
|
+
path: string;
|
|
33
|
+
file: string;
|
|
34
|
+
}[];
|
|
35
|
+
generated: Set<string>;
|
|
36
|
+
};
|
|
21
37
|
/**
|
|
22
38
|
* The content hash of each part the product resolves (its folder and the assets it imports), and of its fixture set,
|
|
23
39
|
* under the part key and `fixtures.ts`. A sketch keeps it to tell when a part it replaces changed in the product.
|
|
24
40
|
*/
|
|
25
41
|
export declare const baselineOf: (product: ResolvedProduct) => Record<string, string>;
|
|
42
|
+
/** `baselineOf`, letting the server answer other requests before each part it hashes. */
|
|
43
|
+
export declare const baselineInTurnsOf: (product: ResolvedProduct) => Promise<Record<string, string>>;
|
|
26
44
|
/**
|
|
27
45
|
* The parts, and `fixtures.ts`, a variant replaces whose state in the product differs from the
|
|
28
46
|
* sketch's baseline: changed, added or removed since the sketch was created.
|
|
@@ -1,9 +1,19 @@
|
|
|
1
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
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.staleBaselineOf = exports.conflictsOf = exports.baselineOf = exports.partHashOf = exports.FIXTURES_KEY = void 0;
|
|
12
|
+
exports.staleBaselineOf = exports.conflictsOf = exports.baselineInTurnsOf = exports.baselineOf = exports.partInputsOf = exports.partHashOf = exports.FIXTURES_KEY = void 0;
|
|
4
13
|
const crypto_1 = require("crypto");
|
|
5
14
|
const fs_1 = require("fs");
|
|
6
15
|
const path_1 = require("path");
|
|
16
|
+
const promises_1 = require("timers/promises");
|
|
7
17
|
const assets_1 = require("../assets");
|
|
8
18
|
const imports_1 = require("../imports");
|
|
9
19
|
const product_1 = require("../product");
|
|
@@ -26,22 +36,34 @@ const generatedFilesOf = (product) => new Set([product, product.base].flatMap((o
|
|
|
26
36
|
* `@shared/` and each `@assets/` file it or those files import, as `product` resolves them. A part that imports
|
|
27
37
|
* neither hashes as its folder alone. Files the product or its base lists in `generatedFiles` are left out.
|
|
28
38
|
*/
|
|
29
|
-
const partHashOf = (options) => {
|
|
39
|
+
const partHashOf = (options) => hashOf(Object.assign({ root: options.dir }, (0, exports.partInputsOf)(options)));
|
|
40
|
+
exports.partHashOf = partHashOf;
|
|
41
|
+
/** The files `partHashOf` reads: the part folder without generated files, and the shared and asset files it reaches. */
|
|
42
|
+
const partInputsOf = (options) => {
|
|
30
43
|
const generated = generatedFilesOf(options.product);
|
|
31
44
|
const files = (0, assets_1.filesBelow)(options.dir).filter((file) => !generated.has(file));
|
|
32
45
|
const shared = (0, imports_1.importedSharedOf)({ product: options.product, files });
|
|
33
46
|
const assets = (0, assets_1.importedAssetsOf)({ product: options.product, files: [...files, ...shared.map(({ file }) => file)] });
|
|
34
|
-
return
|
|
47
|
+
return { files, shared, assets, generated };
|
|
35
48
|
};
|
|
36
|
-
exports.
|
|
49
|
+
exports.partInputsOf = partInputsOf;
|
|
50
|
+
const fixturesHashOf = (product) => product.fixtures ? { [exports.FIXTURES_KEY]: hashOf({ root: (0, path_1.dirname)(product.fixtures), files: [product.fixtures] }) } : {};
|
|
37
51
|
/**
|
|
38
52
|
* The content hash of each part the product resolves (its folder and the assets it imports), and of its fixture set,
|
|
39
53
|
* under the part key and `fixtures.ts`. A sketch keeps it to tell when a part it replaces changed in the product.
|
|
40
54
|
*/
|
|
41
|
-
const baselineOf = (product) => (Object.assign(Object.assign({}, Object.fromEntries(product.parts.map((part) => [(0, resolve_product_1.partKeyOf)(part), (0, exports.partHashOf)({ product, dir: (0, path_1.dirname)(part.file) })]))), (product
|
|
42
|
-
? { [exports.FIXTURES_KEY]: hashOf({ root: (0, path_1.dirname)(product.fixtures), files: [product.fixtures] }) }
|
|
43
|
-
: {})));
|
|
55
|
+
const baselineOf = (product) => (Object.assign(Object.assign({}, Object.fromEntries(product.parts.map((part) => [(0, resolve_product_1.partKeyOf)(part), (0, exports.partHashOf)({ product, dir: (0, path_1.dirname)(part.file) })]))), fixturesHashOf(product)));
|
|
44
56
|
exports.baselineOf = baselineOf;
|
|
57
|
+
/** `baselineOf`, letting the server answer other requests before each part it hashes. */
|
|
58
|
+
const baselineInTurnsOf = (product) => __awaiter(void 0, void 0, void 0, function* () {
|
|
59
|
+
const hashes = {};
|
|
60
|
+
for (const part of product.parts) {
|
|
61
|
+
yield (0, promises_1.setImmediate)();
|
|
62
|
+
hashes[(0, resolve_product_1.partKeyOf)(part)] = (0, exports.partHashOf)({ product, dir: (0, path_1.dirname)(part.file) });
|
|
63
|
+
}
|
|
64
|
+
return Object.assign(Object.assign({}, hashes), fixturesHashOf(product));
|
|
65
|
+
});
|
|
66
|
+
exports.baselineInTurnsOf = baselineInTurnsOf;
|
|
45
67
|
/**
|
|
46
68
|
* The parts, and `fixtures.ts`, a variant replaces whose state in the product differs from the
|
|
47
69
|
* sketch's baseline: changed, added or removed since the sketch was created.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseline.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/baseline.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"baseline.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/baseline.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,16 @@ export declare const openSketchProblemsOf: (product: ResolvedProduct) => {
|
|
|
30
30
|
unreadable: Problem[];
|
|
31
31
|
variants: VariantProblems[];
|
|
32
32
|
};
|
|
33
|
+
export type OpenSketchListing = {
|
|
34
|
+
unreadable: Problem[];
|
|
35
|
+
variants: {
|
|
36
|
+
target: string;
|
|
37
|
+
variant: string;
|
|
38
|
+
problems: Problem[];
|
|
39
|
+
}[];
|
|
40
|
+
};
|
|
41
|
+
/** `openSketchProblemsOf` as plain data a worker can post: each variant names its sketch by target. */
|
|
42
|
+
export declare const openSketchListingOf: (product: ResolvedProduct) => OpenSketchListing;
|
|
33
43
|
/** Runs `tsc` over one variant laid over the product, with a tsconfig of its own. */
|
|
34
44
|
export declare const typecheckVariant: (options: {
|
|
35
45
|
target: string;
|