@ethlete/cli 3.0.0-next.27 → 3.0.0-next.28
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 +153 -0
- package/build-info.json +1 -1
- package/design/arrow-anchor.ts +55 -0
- package/design/define-call.ts +3 -0
- package/design/define-part.ts +28 -1
- package/design/web/frame.ts +28 -0
- package/package.json +1 -1
- package/src/lib/api/compose.js +3 -2
- package/src/lib/api/compose.js.map +1 -1
- package/src/lib/api/git.js +2 -1
- package/src/lib/api/git.js.map +1 -1
- package/src/lib/api/setup.js +2 -2
- package/src/lib/api/setup.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/blank-png.d.ts +2 -0
- package/src/lib/design/blank-png.js +28 -0
- package/src/lib/design/blank-png.js.map +1 -0
- package/src/lib/design/cache-entry.d.ts +8 -0
- package/src/lib/design/cache-entry.js +30 -0
- package/src/lib/design/cache-entry.js.map +1 -0
- package/src/lib/design/calls-tsconfig.js +20 -13
- package/src/lib/design/calls-tsconfig.js.map +1 -1
- package/src/lib/design/calls.js +3 -3
- package/src/lib/design/calls.js.map +1 -1
- package/src/lib/design/changed-parts.d.ts +1 -1
- package/src/lib/design/check.d.ts +2 -0
- package/src/lib/design/check.js +91 -24
- package/src/lib/design/check.js.map +1 -1
- package/src/lib/design/code-hash.d.ts +30 -0
- package/src/lib/design/code-hash.js +118 -0
- package/src/lib/design/code-hash.js.map +1 -0
- package/src/lib/design/commit-hunks.d.ts +2 -2
- package/src/lib/design/commit-hunks.js +2 -2
- package/src/lib/design/design-command.js +131 -36
- package/src/lib/design/design-command.js.map +1 -1
- package/src/lib/design/{paths.d.ts → design-config.d.ts} +6 -28
- package/src/lib/design/design-config.js +35 -0
- package/src/lib/design/design-config.js.map +1 -0
- package/src/lib/design/design-lint.d.ts +68 -0
- package/src/lib/design/design-lint.js +183 -0
- package/src/lib/design/design-lint.js.map +1 -0
- package/src/lib/design/draw-ledger.d.ts +6 -0
- package/src/lib/design/draw-ledger.js +10 -0
- package/src/lib/design/draw-ledger.js.map +1 -1
- package/src/lib/design/force-interactions.d.ts +2 -0
- package/src/lib/design/force-interactions.js +4 -2
- package/src/lib/design/force-interactions.js.map +1 -1
- package/src/lib/design/generated-stylesheets.d.ts +1 -1
- package/src/lib/design/generated-stylesheets.js +2 -2
- package/src/lib/design/generated-stylesheets.js.map +1 -1
- package/src/lib/design/git-top.d.ts +5 -0
- package/src/lib/design/git-top.js +16 -0
- package/src/lib/design/git-top.js.map +1 -0
- package/src/lib/design/hooks-problem.d.ts +2 -0
- package/src/lib/design/hooks-problem.js +23 -0
- package/src/lib/design/hooks-problem.js.map +1 -0
- package/src/lib/design/index.d.ts +4 -1
- package/src/lib/design/index.js +4 -1
- package/src/lib/design/index.js.map +1 -1
- package/src/lib/design/is-running.d.ts +1 -0
- package/src/lib/design/is-running.js +14 -0
- package/src/lib/design/is-running.js.map +1 -0
- package/src/lib/design/legacy.js +3 -3
- package/src/lib/design/legacy.js.map +1 -1
- package/src/lib/design/mcp-command.js +5 -12
- package/src/lib/design/mcp-command.js.map +1 -1
- package/src/lib/design/merge-compare.js +3 -3
- package/src/lib/design/merge-compare.js.map +1 -1
- package/src/lib/design/motion-command.js +3 -3
- package/src/lib/design/motion-command.js.map +1 -1
- package/src/lib/design/new-call.js +3 -3
- package/src/lib/design/new-call.js.map +1 -1
- package/src/lib/design/old-shot-folders.d.ts +2 -0
- package/src/lib/design/old-shot-folders.js +26 -0
- package/src/lib/design/old-shot-folders.js.map +1 -0
- package/src/lib/design/package-root.d.ts +21 -0
- package/src/lib/design/package-root.js +79 -0
- package/src/lib/design/package-root.js.map +1 -0
- package/src/lib/design/parent-watch.d.ts +7 -0
- package/src/lib/design/parent-watch.js +23 -0
- package/src/lib/design/parent-watch.js.map +1 -0
- package/src/lib/design/part-marks.js +2 -2
- package/src/lib/design/part-marks.js.map +1 -1
- package/src/lib/design/phase-timing.d.ts +5 -0
- package/src/lib/design/phase-timing.js +27 -0
- package/src/lib/design/phase-timing.js.map +1 -0
- package/src/lib/design/physical-cores.d.ts +12 -0
- package/src/lib/design/physical-cores.js +43 -0
- package/src/lib/design/physical-cores.js.map +1 -0
- package/src/lib/design/product-command.js +4 -4
- package/src/lib/design/product-command.js.map +1 -1
- package/src/lib/design/push-status.d.ts +30 -0
- package/src/lib/design/push-status.js +122 -0
- package/src/lib/design/push-status.js.map +1 -0
- package/src/lib/design/ready-shots.d.ts +18 -35
- package/src/lib/design/ready-shots.js +46 -111
- package/src/lib/design/ready-shots.js.map +1 -1
- package/src/lib/design/render-packages.d.ts +3 -1
- package/src/lib/design/render-packages.js +6 -2
- package/src/lib/design/render-packages.js.map +1 -1
- package/src/lib/design/render-worker.js +23 -3
- package/src/lib/design/render-worker.js.map +1 -1
- package/src/lib/design/render.d.ts +24 -3
- package/src/lib/design/render.js +23 -9
- package/src/lib/design/render.js.map +1 -1
- package/src/lib/design/resident/client.d.ts +52 -0
- package/src/lib/design/resident/client.js +263 -0
- package/src/lib/design/resident/client.js.map +1 -0
- package/src/lib/design/resident/discovery.d.ts +21 -0
- package/src/lib/design/resident/discovery.js +63 -0
- package/src/lib/design/resident/discovery.js.map +1 -0
- package/src/lib/design/resident/resident-process.d.ts +19 -0
- package/src/lib/design/resident/resident-process.js +189 -0
- package/src/lib/design/resident/resident-process.js.map +1 -0
- package/src/lib/design/resident/server.d.ts +52 -0
- package/src/lib/design/resident/server.js +212 -0
- package/src/lib/design/resident/server.js.map +1 -0
- package/src/lib/design/run-abort.d.ts +9 -0
- package/src/lib/design/run-abort.js +45 -0
- package/src/lib/design/run-abort.js.map +1 -0
- package/src/lib/design/run-deadline.d.ts +19 -0
- package/src/lib/design/run-deadline.js +104 -0
- package/src/lib/design/run-deadline.js.map +1 -0
- package/src/lib/design/run-yield.d.ts +8 -0
- package/src/lib/design/run-yield.js +43 -0
- package/src/lib/design/run-yield.js.map +1 -0
- package/src/lib/design/serve-state.d.ts +15 -0
- package/src/lib/design/serve-state.js +56 -0
- package/src/lib/design/serve-state.js.map +1 -0
- package/src/lib/design/serve.d.ts +20 -2
- package/src/lib/design/serve.js +147 -43
- package/src/lib/design/serve.js.map +1 -1
- package/src/lib/design/server-identity.d.ts +5 -1
- package/src/lib/design/server-identity.js +4 -1
- package/src/lib/design/server-identity.js.map +1 -1
- package/src/lib/design/shot-board.d.ts +26 -0
- package/src/lib/design/shot-board.js +80 -0
- package/src/lib/design/shot-board.js.map +1 -0
- package/src/lib/design/shot-command.d.ts +1 -1
- package/src/lib/design/shot-command.js +12 -5
- package/src/lib/design/shot-command.js.map +1 -1
- package/src/lib/design/shot-store.d.ts +29 -3
- package/src/lib/design/shot-store.js +206 -36
- package/src/lib/design/shot-store.js.map +1 -1
- package/src/lib/design/shot.d.ts +12 -4
- package/src/lib/design/shot.js +98 -14
- package/src/lib/design/shot.js.map +1 -1
- package/src/lib/design/sketch-at.js +2 -1
- package/src/lib/design/sketch-at.js.map +1 -1
- package/src/lib/design/sketch-command.d.ts +13 -0
- package/src/lib/design/sketch-command.js +346 -73
- package/src/lib/design/sketch-command.js.map +1 -1
- package/src/lib/design/ssr-shims.d.ts +1 -0
- package/src/lib/design/ssr-shims.js +3 -3
- package/src/lib/design/ssr-shims.js.map +1 -1
- package/src/lib/design/stamp.d.ts +5 -0
- package/src/lib/design/stamp.js +6 -5
- package/src/lib/design/stamp.js.map +1 -1
- package/src/lib/design/status.d.ts +1 -1
- package/src/lib/design/status.js +15 -4
- package/src/lib/design/status.js.map +1 -1
- package/src/lib/design/studio-api.d.ts +7 -15
- package/src/lib/design/studio-api.js +39 -140
- package/src/lib/design/studio-api.js.map +1 -1
- package/src/lib/design/system/accepted-pictures.d.ts +15 -29
- package/src/lib/design/system/accepted-pictures.js +156 -134
- package/src/lib/design/system/accepted-pictures.js.map +1 -1
- package/src/lib/design/system/action-cache.d.ts +45 -0
- package/src/lib/design/system/action-cache.js +72 -0
- package/src/lib/design/system/action-cache.js.map +1 -0
- package/src/lib/design/system/action-lost.d.ts +8 -6
- package/src/lib/design/system/action-lost.js +13 -17
- package/src/lib/design/system/action-lost.js.map +1 -1
- package/src/lib/design/system/action-press.d.ts +7 -1
- package/src/lib/design/system/action-press.js +16 -4
- package/src/lib/design/system/action-press.js.map +1 -1
- package/src/lib/design/system/actions-command.d.ts +12 -5
- package/src/lib/design/system/actions-command.js +187 -66
- package/src/lib/design/system/actions-command.js.map +1 -1
- package/src/lib/design/system/actions.d.ts +27 -4
- package/src/lib/design/system/actions.js +59 -21
- package/src/lib/design/system/actions.js.map +1 -1
- package/src/lib/design/system/anti-alias.d.ts +2 -0
- package/src/lib/design/system/anti-alias.js +11 -0
- package/src/lib/design/system/anti-alias.js.map +1 -0
- package/src/lib/design/system/app-files.js +19 -3
- package/src/lib/design/system/app-files.js.map +1 -1
- package/src/lib/design/system/arrow-anchor.d.ts +9 -0
- package/src/lib/design/system/arrow-anchor.js +40 -0
- package/src/lib/design/system/arrow-anchor.js.map +1 -0
- package/src/lib/design/system/base-issues.d.ts +28 -0
- package/src/lib/design/system/base-issues.js +80 -0
- package/src/lib/design/system/base-issues.js.map +1 -0
- package/src/lib/design/system/base.d.ts +1 -1
- package/src/lib/design/system/base.js +2 -2
- package/src/lib/design/system/base.js.map +1 -1
- package/src/lib/design/system/baseline-history.d.ts +13 -0
- package/src/lib/design/system/baseline-history.js +40 -0
- package/src/lib/design/system/baseline-history.js.map +1 -0
- package/src/lib/design/system/bespoke-controls.d.ts +4 -1
- package/src/lib/design/system/bespoke-controls.js +72 -70
- package/src/lib/design/system/bespoke-controls.js.map +1 -1
- package/src/lib/design/system/build-ready-contract.d.ts +7 -1
- package/src/lib/design/system/build-ready-contract.js +7 -1
- package/src/lib/design/system/build-ready-contract.js.map +1 -1
- package/src/lib/design/system/build-running.d.ts +13 -0
- package/src/lib/design/system/build-running.js +48 -0
- package/src/lib/design/system/build-running.js.map +1 -0
- package/src/lib/design/system/check-record.d.ts +18 -0
- package/src/lib/design/system/check-record.js +47 -0
- package/src/lib/design/system/check-record.js.map +1 -0
- package/src/lib/design/system/check-rules.d.ts +1 -1
- package/src/lib/design/system/check-rules.js +19 -1
- package/src/lib/design/system/check-rules.js.map +1 -1
- package/src/lib/design/system/check-system.d.ts +25 -4
- package/src/lib/design/system/check-system.js +289 -121
- package/src/lib/design/system/check-system.js.map +1 -1
- package/src/lib/design/system/comments/inbox.d.ts +1 -1
- package/src/lib/design/system/compare-cache.d.ts +20 -0
- package/src/lib/design/system/compare-cache.js +92 -0
- package/src/lib/design/system/compare-cache.js.map +1 -0
- package/src/lib/design/system/compare-command.d.ts +82 -51
- package/src/lib/design/system/compare-command.js +362 -340
- package/src/lib/design/system/compare-command.js.map +1 -1
- package/src/lib/design/system/complete.d.ts +31 -1
- package/src/lib/design/system/complete.js +141 -27
- package/src/lib/design/system/complete.js.map +1 -1
- package/src/lib/design/system/decision-refs.d.ts +5 -0
- package/src/lib/design/system/decision-refs.js +21 -0
- package/src/lib/design/system/decision-refs.js.map +1 -0
- package/src/lib/design/system/design-hash.d.ts +22 -1
- package/src/lib/design/system/design-hash.js +63 -4
- package/src/lib/design/system/design-hash.js.map +1 -1
- package/src/lib/design/system/dom-command.d.ts +1 -1
- package/src/lib/design/system/dom-command.js +8 -5
- package/src/lib/design/system/dom-command.js.map +1 -1
- package/src/lib/design/system/drawn-open-points.d.ts +1 -1
- package/src/lib/design/system/dropped-props.d.ts +19 -5
- package/src/lib/design/system/dropped-props.js +133 -21
- package/src/lib/design/system/dropped-props.js.map +1 -1
- package/src/lib/design/system/grid-report.d.ts +5 -0
- package/src/lib/design/system/grid-report.js +78 -0
- package/src/lib/design/system/grid-report.js.map +1 -0
- package/src/lib/design/system/harness-build-cache.d.ts +17 -3
- package/src/lib/design/system/harness-build-cache.js +23 -10
- package/src/lib/design/system/harness-build-cache.js.map +1 -1
- package/src/lib/design/system/harness-inputs.d.ts +17 -0
- package/src/lib/design/system/harness-inputs.js +160 -0
- package/src/lib/design/system/harness-inputs.js.map +1 -0
- package/src/lib/design/system/harness-map.d.ts +1 -1
- package/src/lib/design/system/harness-server.d.ts +12 -1
- package/src/lib/design/system/harness-server.js +29 -19
- package/src/lib/design/system/harness-server.js.map +1 -1
- package/src/lib/design/system/harness-shot.d.ts +78 -0
- package/src/lib/design/system/harness-shot.js +349 -0
- package/src/lib/design/system/harness-shot.js.map +1 -0
- package/src/lib/design/system/harness-watch.d.ts +79 -0
- package/src/lib/design/system/harness-watch.js +334 -0
- package/src/lib/design/system/harness-watch.js.map +1 -0
- package/src/lib/design/system/implementation-baseline.d.ts +20 -0
- package/src/lib/design/system/implementation-baseline.js +44 -0
- package/src/lib/design/system/implementation-baseline.js.map +1 -0
- package/src/lib/design/system/leftover-gate-files.d.ts +2 -0
- package/src/lib/design/system/leftover-gate-files.js +15 -0
- package/src/lib/design/system/leftover-gate-files.js.map +1 -0
- package/src/lib/design/system/lib-build-lock.d.ts +18 -0
- package/src/lib/design/system/lib-build-lock.js +111 -0
- package/src/lib/design/system/lib-build-lock.js.map +1 -0
- package/src/lib/design/system/link-free.d.ts +12 -0
- package/src/lib/design/system/link-free.js +125 -0
- package/src/lib/design/system/link-free.js.map +1 -0
- package/src/lib/design/system/list-system.d.ts +4 -8
- package/src/lib/design/system/list-system.js +8 -78
- package/src/lib/design/system/list-system.js.map +1 -1
- package/src/lib/design/system/live-actions.d.ts +1 -1
- package/src/lib/design/system/live-actions.js +17 -8
- package/src/lib/design/system/live-actions.js.map +1 -1
- package/src/lib/design/system/live-compare.js +1 -1
- package/src/lib/design/system/live-compare.js.map +1 -1
- package/src/lib/design/system/live-uncovered.d.ts +7 -2
- package/src/lib/design/system/live-uncovered.js +44 -9
- package/src/lib/design/system/live-uncovered.js.map +1 -1
- package/src/lib/design/system/no-verdict.d.ts +13 -0
- package/src/lib/design/system/no-verdict.js +17 -0
- package/src/lib/design/system/no-verdict.js.map +1 -0
- package/src/lib/design/system/off-centre.d.ts +11 -0
- package/src/lib/design/system/off-centre.js +74 -0
- package/src/lib/design/system/off-centre.js.map +1 -0
- package/src/lib/design/system/open-points-cache.d.ts +11 -0
- package/src/lib/design/system/open-points-cache.js +27 -0
- package/src/lib/design/system/open-points-cache.js.map +1 -0
- package/src/lib/design/system/open-points-runner.d.ts +43 -0
- package/src/lib/design/system/open-points-runner.js +119 -0
- package/src/lib/design/system/open-points-runner.js.map +1 -0
- package/src/lib/design/system/open-points-worker.d.ts +1 -0
- package/src/lib/design/system/open-points-worker.js +28 -0
- package/src/lib/design/system/open-points-worker.js.map +1 -0
- package/src/lib/design/system/open-points.js +1 -1
- package/src/lib/design/system/open-points.js.map +1 -1
- package/src/lib/design/system/part-build-ready.d.ts +13 -7
- package/src/lib/design/system/part-build-ready.js +43 -15
- package/src/lib/design/system/part-build-ready.js.map +1 -1
- package/src/lib/design/system/part-compare.d.ts +18 -2
- package/src/lib/design/system/part-compare.js +147 -42
- package/src/lib/design/system/part-compare.js.map +1 -1
- package/src/lib/design/system/part-picture-cache.d.ts +23 -0
- package/src/lib/design/system/part-picture-cache.js +68 -0
- package/src/lib/design/system/part-picture-cache.js.map +1 -0
- package/src/lib/design/system/part-ready.d.ts +33 -7
- package/src/lib/design/system/part-ready.js +55 -17
- package/src/lib/design/system/part-ready.js.map +1 -1
- package/src/lib/design/system/part-task.d.ts +20 -0
- package/src/lib/design/system/part-task.js +53 -7
- package/src/lib/design/system/part-task.js.map +1 -1
- package/src/lib/design/system/pixel-cache.d.ts +16 -0
- package/src/lib/design/system/pixel-cache.js +79 -0
- package/src/lib/design/system/pixel-cache.js.map +1 -0
- package/src/lib/design/system/pointer-focus.d.ts +10 -2
- package/src/lib/design/system/pointer-focus.js +32 -9
- package/src/lib/design/system/pointer-focus.js.map +1 -1
- package/src/lib/design/system/prettier.js +4 -3
- package/src/lib/design/system/prettier.js.map +1 -1
- package/src/lib/design/system/problem.d.ts +6 -0
- package/src/lib/design/system/product.js +2 -2
- package/src/lib/design/system/product.js.map +1 -1
- package/src/lib/design/system/ready-command.d.ts +1 -1
- package/src/lib/design/system/ready-command.js +24 -4
- package/src/lib/design/system/ready-command.js.map +1 -1
- package/src/lib/design/system/record-settled.d.ts +24 -0
- package/src/lib/design/system/record-settled.js +50 -0
- package/src/lib/design/system/record-settled.js.map +1 -0
- package/src/lib/design/system/render-check.d.ts +18 -1
- package/src/lib/design/system/render-check.js +164 -104
- package/src/lib/design/system/render-check.js.map +1 -1
- package/src/lib/design/system/render-issue-key.d.ts +9 -0
- package/src/lib/design/system/render-issue-key.js +27 -0
- package/src/lib/design/system/render-issue-key.js.map +1 -0
- package/src/lib/design/system/resolve-product.d.ts +4 -1
- package/src/lib/design/system/resolve-product.js +14 -3
- package/src/lib/design/system/resolve-product.js.map +1 -1
- package/src/lib/design/system/rule-baseline.d.ts +53 -0
- package/src/lib/design/system/rule-baseline.js +124 -0
- package/src/lib/design/system/rule-baseline.js.map +1 -0
- package/src/lib/design/system/rule-skips.d.ts +20 -0
- package/src/lib/design/system/rule-skips.js +36 -0
- package/src/lib/design/system/rule-skips.js.map +1 -0
- package/src/lib/design/system/rules/canonical-class.d.ts +4 -0
- package/src/lib/design/system/rules/canonical-class.js +66 -13
- package/src/lib/design/system/rules/canonical-class.js.map +1 -1
- package/src/lib/design/system/rules/capability-place.d.ts +4 -2
- package/src/lib/design/system/rules/capability-place.js +15 -2
- package/src/lib/design/system/rules/capability-place.js.map +1 -1
- package/src/lib/design/system/rules/command-text.d.ts +7 -0
- package/src/lib/design/system/rules/command-text.js +72 -0
- package/src/lib/design/system/rules/command-text.js.map +1 -0
- package/src/lib/design/system/rules/design-coverage.d.ts +30 -0
- package/src/lib/design/system/rules/design-coverage.js +205 -0
- package/src/lib/design/system/rules/design-coverage.js.map +1 -0
- package/src/lib/design/system/rules/glued-interpolation.js +17 -1
- package/src/lib/design/system/rules/glued-interpolation.js.map +1 -1
- package/src/lib/design/system/rules/implements-unrendered.d.ts +13 -0
- package/src/lib/design/system/rules/implements-unrendered.js +63 -0
- package/src/lib/design/system/rules/implements-unrendered.js.map +1 -0
- package/src/lib/design/system/rules/motion.js +6 -0
- package/src/lib/design/system/rules/motion.js.map +1 -1
- package/src/lib/design/system/rules/native-title.js +13 -3
- package/src/lib/design/system/rules/native-title.js.map +1 -1
- package/src/lib/design/system/rules/option-values.d.ts +1 -1
- package/src/lib/design/system/rules/pending-state.d.ts +39 -0
- package/src/lib/design/system/rules/pending-state.js +289 -0
- package/src/lib/design/system/rules/pending-state.js.map +1 -0
- package/src/lib/design/system/rules/sdk-attribute-value.d.ts +10 -0
- package/src/lib/design/system/rules/sdk-attribute-value.js +78 -0
- package/src/lib/design/system/rules/sdk-attribute-value.js.map +1 -0
- package/src/lib/design/system/rules/sdk-private-var.d.ts +9 -0
- package/src/lib/design/system/rules/sdk-private-var.js +54 -0
- package/src/lib/design/system/rules/sdk-private-var.js.map +1 -0
- package/src/lib/design/system/rules/skips.d.ts +4 -0
- package/src/lib/design/system/rules/skips.js +27 -0
- package/src/lib/design/system/rules/skips.js.map +1 -0
- package/src/lib/design/system/rules/stale-replace.js +1 -0
- package/src/lib/design/system/rules/stale-replace.js.map +1 -1
- package/src/lib/design/system/rules/tailwind-classes.d.ts +1 -0
- package/src/lib/design/system/rules/tailwind-classes.js +11 -6
- package/src/lib/design/system/rules/tailwind-classes.js.map +1 -1
- package/src/lib/design/system/rules/token-selectors.js +10 -3
- package/src/lib/design/system/rules/token-selectors.js.map +1 -1
- package/src/lib/design/system/rules/unbound-input-known.d.ts +2 -0
- package/src/lib/design/system/rules/unbound-input-known.js +3 -6
- package/src/lib/design/system/rules/unbound-input-known.js.map +1 -1
- package/src/lib/design/system/rules/unbound-input.d.ts +2 -0
- package/src/lib/design/system/rules/unbound-input.js +12 -6
- package/src/lib/design/system/rules/unbound-input.js.map +1 -1
- package/src/lib/design/system/rules/undefined-class.js +11 -2
- package/src/lib/design/system/rules/undefined-class.js.map +1 -1
- package/src/lib/design/system/rules/utility-css.js +13 -1
- package/src/lib/design/system/rules/utility-css.js.map +1 -1
- package/src/lib/design/system/rules/visible-change.d.ts +1 -2
- package/src/lib/design/system/rules/visible-change.js +3 -3
- package/src/lib/design/system/rules/visible-change.js.map +1 -1
- package/src/lib/design/system/sdk-declarations.d.ts +10 -0
- package/src/lib/design/system/sdk-declarations.js +177 -0
- package/src/lib/design/system/sdk-declarations.js.map +1 -0
- package/src/lib/design/system/sdk-selectors.d.ts +18 -0
- package/src/lib/design/system/sdk-selectors.js +131 -0
- package/src/lib/design/system/sdk-selectors.js.map +1 -0
- package/src/lib/design/system/served-cache.d.ts +99 -0
- package/src/lib/design/system/served-cache.js +202 -0
- package/src/lib/design/system/served-cache.js.map +1 -0
- package/src/lib/design/system/settled-panes.d.ts +8 -3
- package/src/lib/design/system/settled-panes.js +10 -9
- package/src/lib/design/system/settled-panes.js.map +1 -1
- package/src/lib/design/system/sketch/baseline.d.ts +17 -1
- package/src/lib/design/system/sketch/baseline.js +48 -7
- package/src/lib/design/system/sketch/baseline.js.map +1 -1
- package/src/lib/design/system/sketch/check-format.js +3 -9
- package/src/lib/design/system/sketch/check-format.js.map +1 -1
- package/src/lib/design/system/sketch/clean-copy.d.ts +18 -0
- package/src/lib/design/system/sketch/clean-copy.js +104 -0
- package/src/lib/design/system/sketch/clean-copy.js.map +1 -0
- package/src/lib/design/system/sketch/cli-args.d.ts +1 -1
- package/src/lib/design/system/sketch/cli-args.js +2 -2
- package/src/lib/design/system/sketch/cli-args.js.map +1 -1
- package/src/lib/design/system/sketch/covered-diffs.d.ts +40 -0
- package/src/lib/design/system/sketch/covered-diffs.js +106 -0
- package/src/lib/design/system/sketch/covered-diffs.js.map +1 -0
- package/src/lib/design/system/sketch/edit-sketch.d.ts +14 -6
- package/src/lib/design/system/sketch/edit-sketch.js +87 -35
- package/src/lib/design/system/sketch/edit-sketch.js.map +1 -1
- package/src/lib/design/system/sketch/identical-renders.js +20 -14
- package/src/lib/design/system/sketch/identical-renders.js.map +1 -1
- package/src/lib/design/system/sketch/merge-commit.d.ts +20 -0
- package/src/lib/design/system/sketch/merge-commit.js +72 -0
- package/src/lib/design/system/sketch/merge-commit.js.map +1 -0
- package/src/lib/design/system/sketch/merge-runner.d.ts +20 -0
- package/src/lib/design/system/sketch/merge-runner.js +73 -0
- package/src/lib/design/system/sketch/merge-runner.js.map +1 -0
- package/src/lib/design/system/sketch/merge-step.d.ts +14 -2
- package/src/lib/design/system/sketch/merge-step.js +24 -12
- package/src/lib/design/system/sketch/merge-step.js.map +1 -1
- package/src/lib/design/system/sketch/merge-worker.d.ts +1 -0
- package/src/lib/design/system/sketch/merge-worker.js +14 -0
- package/src/lib/design/system/sketch/merge-worker.js.map +1 -0
- package/src/lib/design/system/sketch/merge.d.ts +10 -3
- package/src/lib/design/system/sketch/merge.js +180 -90
- package/src/lib/design/system/sketch/merge.js.map +1 -1
- package/src/lib/design/system/sketch/merged-parts.d.ts +0 -29
- package/src/lib/design/system/sketch/merged-parts.js +8 -56
- package/src/lib/design/system/sketch/merged-parts.js.map +1 -1
- package/src/lib/design/system/sketch/note-language.d.ts +7 -0
- package/src/lib/design/system/sketch/note-language.js +83 -0
- package/src/lib/design/system/sketch/note-language.js.map +1 -0
- package/src/lib/design/system/sketch/part-definition.d.ts +6 -0
- package/src/lib/design/system/sketch/part-definition.js +31 -1
- package/src/lib/design/system/sketch/part-definition.js.map +1 -1
- package/src/lib/design/system/sketch/rebase-port.js +47 -2
- package/src/lib/design/system/sketch/rebase-port.js.map +1 -1
- package/src/lib/design/system/sketch/sketch-check-cache.d.ts +11 -0
- package/src/lib/design/system/sketch/sketch-check-cache.js +22 -0
- package/src/lib/design/system/sketch/sketch-check-cache.js.map +1 -0
- package/src/lib/design/system/sketch/sketch-check-worker.js +6 -1
- package/src/lib/design/system/sketch/sketch-check-worker.js.map +1 -1
- package/src/lib/design/system/sketch/sketch-checker.d.ts +14 -1
- package/src/lib/design/system/sketch/sketch-checker.js +16 -6
- package/src/lib/design/system/sketch/sketch-checker.js.map +1 -1
- package/src/lib/design/system/sketch/sketch.d.ts +37 -6
- package/src/lib/design/system/sketch/sketch.js +101 -13
- package/src/lib/design/system/sketch/sketch.js.map +1 -1
- package/src/lib/design/system/sketch/stale-base.js +1 -1
- package/src/lib/design/system/sketch/stale-base.js.map +1 -1
- package/src/lib/design/system/sketch/unchanged-states.d.ts +7 -3
- package/src/lib/design/system/sketch/unchanged-states.js +25 -12
- package/src/lib/design/system/sketch/unchanged-states.js.map +1 -1
- package/src/lib/design/system/sketch/viewed-shots.d.ts +10 -2
- package/src/lib/design/system/sketch/viewed-shots.js +15 -22
- package/src/lib/design/system/sketch/viewed-shots.js.map +1 -1
- package/src/lib/design/system/skip-classes.d.ts +3 -0
- package/src/lib/design/system/skip-classes.js +17 -0
- package/src/lib/design/system/skip-classes.js.map +1 -0
- package/src/lib/design/system/slot-hosts.d.ts +38 -0
- package/src/lib/design/system/slot-hosts.js +93 -0
- package/src/lib/design/system/slot-hosts.js.map +1 -0
- package/src/lib/design/system/slow-checks.d.ts +4 -0
- package/src/lib/design/system/slow-checks.js +77 -24
- package/src/lib/design/system/slow-checks.js.map +1 -1
- package/src/lib/design/system/slow-run.d.ts +15 -5
- package/src/lib/design/system/slow-run.js +143 -84
- package/src/lib/design/system/slow-run.js.map +1 -1
- package/src/lib/design/system/stale-dist.d.ts +37 -1
- package/src/lib/design/system/stale-dist.js +58 -8
- package/src/lib/design/system/stale-dist.js.map +1 -1
- package/src/lib/design/system/stale-parts.d.ts +15 -0
- package/src/lib/design/system/stale-parts.js +67 -5
- package/src/lib/design/system/stale-parts.js.map +1 -1
- package/src/lib/design/system/system-command.js +3 -3
- package/src/lib/design/system/system-command.js.map +1 -1
- package/src/lib/design/system/system-modules.d.ts +4 -4
- package/src/lib/design/system/system-tsconfig.d.ts +9 -2
- package/src/lib/design/system/system-tsconfig.js +73 -13
- package/src/lib/design/system/system-tsconfig.js.map +1 -1
- package/src/lib/design/system/task-command.d.ts +3 -2
- package/src/lib/design/system/task-command.js +111 -73
- package/src/lib/design/system/task-command.js.map +1 -1
- package/src/lib/design/system/touched-parts.d.ts +1 -1
- package/src/lib/design/system/touched-parts.js +4 -5
- package/src/lib/design/system/touched-parts.js.map +1 -1
- package/src/lib/design/system/tracked-reads.d.ts +27 -0
- package/src/lib/design/system/tracked-reads.js +100 -0
- package/src/lib/design/system/tracked-reads.js.map +1 -0
- package/src/lib/design/system/unchanged-rows.d.ts +17 -8
- package/src/lib/design/system/unchanged-rows.js +90 -12
- package/src/lib/design/system/unchanged-rows.js.map +1 -1
- package/src/lib/design/system/uncommitted-decisions.d.ts +0 -2
- package/src/lib/design/system/uncommitted-decisions.js +3 -6
- package/src/lib/design/system/uncommitted-decisions.js.map +1 -1
- package/src/lib/design/system/visible-change-command.d.ts +13 -1
- package/src/lib/design/system/visible-change-command.js +10 -8
- package/src/lib/design/system/visible-change-command.js.map +1 -1
- package/src/lib/design/system/visible-change-parts.d.ts +1 -1
- package/src/lib/design/system/write-origin.d.ts +12 -0
- package/src/lib/design/system/write-origin.js +18 -0
- package/src/lib/design/system/write-origin.js.map +1 -0
- package/src/lib/design/system-use.js +4 -4
- package/src/lib/design/system-use.js.map +1 -1
- package/src/lib/design/thumb.d.ts +19 -3
- package/src/lib/design/thumb.js +71 -9
- package/src/lib/design/thumb.js.map +1 -1
- package/src/lib/design/timings-command.d.ts +22 -0
- package/src/lib/design/timings-command.js +175 -0
- package/src/lib/design/timings-command.js.map +1 -0
- package/src/lib/design/timings.d.ts +117 -0
- package/src/lib/design/timings.js +296 -0
- package/src/lib/design/timings.js.map +1 -0
- package/src/lib/design/typecheck.js +2 -2
- package/src/lib/design/typecheck.js.map +1 -1
- package/src/lib/design/vite-cache.d.ts +11 -0
- package/src/lib/design/vite-cache.js +61 -0
- package/src/lib/design/vite-cache.js.map +1 -0
- package/src/lib/design/warm-draw.d.ts +33 -0
- package/src/lib/design/warm-draw.js +74 -0
- package/src/lib/design/warm-draw.js.map +1 -0
- package/src/lib/design/warm-pages.d.ts +10 -2
- package/src/lib/design/warm-pages.js +6 -2
- package/src/lib/design/warm-pages.js.map +1 -1
- package/src/lib/design/work-root.d.ts +2 -0
- package/src/lib/design/work-root.js +8 -0
- package/src/lib/design/work-root.js.map +1 -0
- package/src/lib/plain-output.d.ts +27 -0
- package/src/lib/plain-output.js +66 -0
- package/src/lib/plain-output.js.map +1 -0
- package/src/lib/release.js +11 -3
- package/src/lib/release.js.map +1 -1
- package/src/lib/update/commits.js +2 -2
- package/src/lib/update/commits.js.map +1 -1
- package/src/lib/update/packages.js +4 -2
- package/src/lib/update/packages.js.map +1 -1
- package/src/lib/update/scan.js +8 -2
- package/src/lib/update/scan.js.map +1 -1
- package/src/lib/design/paths.js +0 -138
- package/src/lib/design/paths.js.map +0 -1
- package/src/lib/design/system/accept-command.d.ts +0 -41
- package/src/lib/design/system/accept-command.js +0 -139
- package/src/lib/design/system/accept-command.js.map +0 -1
- package/src/lib/design/system/go-batch.d.ts +0 -24
- package/src/lib/design/system/go-batch.js +0 -110
- package/src/lib/design/system/go-batch.js.map +0 -1
- package/src/lib/design/system/go-command.d.ts +0 -4
- package/src/lib/design/system/go-command.js +0 -64
- package/src/lib/design/system/go-command.js.map +0 -1
- package/src/lib/design/system/go-guard.d.ts +0 -26
- package/src/lib/design/system/go-guard.js +0 -70
- package/src/lib/design/system/go-guard.js.map +0 -1
- package/src/lib/design/system/go-step.d.ts +0 -13
- package/src/lib/design/system/go-step.js +0 -84
- package/src/lib/design/system/go-step.js.map +0 -1
- package/src/lib/design/system/part-go.d.ts +0 -70
- package/src/lib/design/system/part-go.js +0 -94
- package/src/lib/design/system/part-go.js.map +0 -1
- package/src/lib/design/system/tom-confirm.d.ts +0 -40
- package/src/lib/design/system/tom-confirm.js +0 -55
- package/src/lib/design/system/tom-confirm.js.map +0 -1
|
@@ -9,17 +9,25 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.designActions = exports.PART_HARNESS_ONLY = exports.partActionFailuresOf = exports.hostLineOf = exports.actionLineOf = exports.checkActions = exports.runActionInput = exports.ACTIONS_USAGE = void 0;
|
|
12
|
+
exports.designActions = exports.PART_HARNESS_ONLY = exports.partActionFailuresOf = exports.unlinkedSkipLineOf = exports.hostLineOf = exports.actionLineOf = exports.checkActions = exports.runActionInput = exports.ACTIONS_USAGE = void 0;
|
|
13
|
+
const crypto_1 = require("crypto");
|
|
14
|
+
const no_verdict_1 = require("./no-verdict");
|
|
13
15
|
const fs_1 = require("fs");
|
|
14
16
|
const os_1 = require("os");
|
|
15
17
|
const path_1 = require("path");
|
|
16
18
|
const browser_1 = require("../browser");
|
|
19
|
+
const phase_timing_1 = require("../phase-timing");
|
|
20
|
+
const vite_cache_1 = require("../vite-cache");
|
|
17
21
|
const serve_1 = require("../serve");
|
|
18
22
|
const shot_1 = require("../shot");
|
|
23
|
+
const timings_1 = require("../timings");
|
|
24
|
+
const action_cache_1 = require("./action-cache");
|
|
25
|
+
const code_hash_1 = require("../code-hash");
|
|
26
|
+
const compare_cache_1 = require("./compare-cache");
|
|
19
27
|
const thumb_1 = require("../thumb");
|
|
20
28
|
const actions_1 = require("./actions");
|
|
21
29
|
const action_press_1 = require("./action-press");
|
|
22
|
-
const
|
|
30
|
+
const harness_shot_1 = require("./harness-shot");
|
|
23
31
|
const component_outputs_1 = require("./component-outputs");
|
|
24
32
|
const live_actions_1 = require("./live-actions");
|
|
25
33
|
const pointer_focus_1 = require("./pointer-focus");
|
|
@@ -37,8 +45,15 @@ const system_modules_1 = require("./system-modules");
|
|
|
37
45
|
exports.ACTIONS_USAGE = 'actions <layer>/<name> --product <name> [--url <app dev server url>] [--state <name>] | actions [<layer>/<name>] --product <name> --live [--url <app build url>]';
|
|
38
46
|
const ROOM_PX = 1024;
|
|
39
47
|
const ACTION_BATCH_STATES = 4;
|
|
48
|
+
const sha256Of = (text) => (0, crypto_1.createHash)('sha256').update(text).digest('hex');
|
|
40
49
|
const messageOf = (error) => (error instanceof Error ? error.message : String(error));
|
|
41
50
|
const scanOf = (page, roots) => __awaiter(void 0, void 0, void 0, function* () { return (yield page.evaluate((0, actions_1.actionScanScriptOf)(roots))); });
|
|
51
|
+
const noSuchElementOf = (nearMisses) => {
|
|
52
|
+
const named = nearMisses.map((near) => `${(0, actions_1.elementNameOf)(near)}${near.owners[0] === undefined ? '' : ` in ${near.owners[0]}`}`);
|
|
53
|
+
return named.length === 0
|
|
54
|
+
? 'the design draws no such element, so it declares no action'
|
|
55
|
+
: `the design draws no element of this name - it draws ${named.join(', ')}: the accessible names differ`;
|
|
56
|
+
};
|
|
42
57
|
const probeOf = (probe) => `[data-et-action-probe="${probe}"]`;
|
|
43
58
|
/**
|
|
44
59
|
* Waits until the harness host shows and holds the mounted part: a page-layout host fills the viewport before the
|
|
@@ -107,8 +122,8 @@ const runActionInput = (options) => __awaiter(void 0, void 0, void 0, function*
|
|
|
107
122
|
const listened = listen.length > 0 ? (yield page.evaluate((0, actions_1.listenEmbeddedScriptOf)(listen))) : 0;
|
|
108
123
|
const target = page.locator(probeOf(element.probe));
|
|
109
124
|
yield (0, action_press_1.watchMutations)(page);
|
|
110
|
-
if (input === 'click') {
|
|
111
|
-
yield target.click({ timeout });
|
|
125
|
+
if (input === 'click' || input === 'dblclick') {
|
|
126
|
+
yield (input === 'click' ? target.click({ timeout }) : target.dblclick({ timeout }));
|
|
112
127
|
yield page.mouse.move(-1, -1);
|
|
113
128
|
}
|
|
114
129
|
else {
|
|
@@ -118,7 +133,7 @@ const runActionInput = (options) => __awaiter(void 0, void 0, void 0, function*
|
|
|
118
133
|
}
|
|
119
134
|
yield (0, action_press_1.awaitOutput)(page, (_a = options.output) !== null && _a !== void 0 ? _a : null);
|
|
120
135
|
yield (0, action_press_1.settle)(page, timeout);
|
|
121
|
-
if (shoot && input !== 'click' && !options.focused) {
|
|
136
|
+
if (shoot && input !== 'click' && input !== 'dblclick' && !options.focused) {
|
|
122
137
|
yield (0, action_press_1.dropKeyboardFocus)(page);
|
|
123
138
|
yield (0, action_press_1.settle)(page, timeout);
|
|
124
139
|
}
|
|
@@ -136,14 +151,16 @@ const runActionInput = (options) => __awaiter(void 0, void 0, void 0, function*
|
|
|
136
151
|
exports.runActionInput = runActionInput;
|
|
137
152
|
/** Presses each interactive element of each start state of a part on the app's harness page and checks its declared action. */
|
|
138
153
|
const checkActions = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
139
|
-
var _a, _b, _c, _d, _e
|
|
154
|
+
var _a, _b, _c, _d, _e;
|
|
140
155
|
const { target, config, product, part, url, only, onLine } = options;
|
|
141
|
-
const frame = (0,
|
|
156
|
+
const frame = (0, harness_shot_1.compareFrameOf)({ presets: product.presets, part, preset: null });
|
|
142
157
|
if (typeof frame === 'string')
|
|
143
158
|
return frame;
|
|
144
|
-
|
|
159
|
+
const chromium = yield (0, browser_1.chromiumOf)(target);
|
|
160
|
+
if (!chromium)
|
|
145
161
|
return 'actions needs playwright or playwright-core in the checkout';
|
|
146
162
|
const server = yield (0, serve_1.createDesignServer)({ target, config, listen: true, port: 0 });
|
|
163
|
+
const store = server.shotStore((0, vite_cache_1.viteCacheOf)(target, compare_cache_1.COMPARE_DESIGN_SHOTS), (0, compare_cache_1.browserVersionOf)(chromium.from));
|
|
147
164
|
let browser;
|
|
148
165
|
const closeBrowser = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
149
166
|
const open = browser;
|
|
@@ -158,7 +175,10 @@ const checkActions = (options) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
158
175
|
const freshBrowser = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
159
176
|
yield closeBrowser();
|
|
160
177
|
const queue = (0, thumb_1.createDrawQueue)({ target });
|
|
161
|
-
browser = {
|
|
178
|
+
browser = {
|
|
179
|
+
queue,
|
|
180
|
+
shooter: (0, shot_1.createPartShooter)({ target, base: `http://localhost:${port}`, system, queue, store }),
|
|
181
|
+
};
|
|
162
182
|
return browser;
|
|
163
183
|
});
|
|
164
184
|
const file = (_c = (_b = product.parts.find((candidate) => (0, resolve_product_1.partKeyOf)(candidate) === part)) === null || _b === void 0 ? void 0 : _b.file) !== null && _c !== void 0 ? _c : '';
|
|
@@ -193,8 +213,8 @@ const checkActions = (options) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
193
213
|
drawn.catch(() => designs.get(key) === drawn && designs.delete(key));
|
|
194
214
|
return drawn;
|
|
195
215
|
};
|
|
196
|
-
|
|
197
|
-
|
|
216
|
+
yield options.designsDrawn;
|
|
217
|
+
yield (0, phase_timing_1.timedPhase)('actions-designs', () => Promise.all(names.map((state) => draw(state))));
|
|
198
218
|
const markups = new Map(yield Promise.all([...designs].map((_a) => __awaiter(void 0, [_a], void 0, function* ([state, design]) { var _b; return [state, (_b = (yield design).markup) !== null && _b !== void 0 ? _b : '']; }))));
|
|
199
219
|
const opens = (0, part_compare_1.pointerOpensOf)({
|
|
200
220
|
states,
|
|
@@ -247,7 +267,7 @@ const checkActions = (options) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
247
267
|
var _a;
|
|
248
268
|
const key = `${owner}\n${state}`;
|
|
249
269
|
const cached = (_a = expectedCache.get(key)) !== null && _a !== void 0 ? _a : (() => __awaiter(void 0, void 0, void 0, function* () {
|
|
250
|
-
const ownerFrame = (0,
|
|
270
|
+
const ownerFrame = (0, harness_shot_1.compareFrameOf)({ presets: product.presets, part: owner, preset: null });
|
|
251
271
|
const size = typeof ownerFrame === 'string' ? null : ownerFrame.size;
|
|
252
272
|
const picture = yield shooter.pictureOf({
|
|
253
273
|
product: product.name,
|
|
@@ -277,36 +297,44 @@ const checkActions = (options) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
277
297
|
expectedCache.set(key, cached);
|
|
278
298
|
return cached;
|
|
279
299
|
};
|
|
280
|
-
const lines = [];
|
|
281
|
-
const skippedHosts = [];
|
|
282
|
-
const pushLine = (line) => {
|
|
283
|
-
lines.push(line);
|
|
284
|
-
onLine === null || onLine === void 0 ? void 0 : onLine(line);
|
|
285
|
-
};
|
|
286
300
|
let dir = null;
|
|
287
|
-
const
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
301
|
+
const printOf = (dep) => __awaiter(void 0, void 0, void 0, function* () {
|
|
302
|
+
return dep.kind === 'draw'
|
|
303
|
+
? sha256Of((yield draw(dep.state, dep.opened)).png)
|
|
304
|
+
: dep.kind === 'expected'
|
|
305
|
+
? sha256Of(JSON.stringify(yield expectedOf(dep.owner, dep.state)))
|
|
306
|
+
: sha256Of(JSON.stringify(yield embeddersOfPart()));
|
|
307
|
+
});
|
|
308
|
+
const checkState = (state_1, ...args_1) => __awaiter(void 0, [state_1, ...args_1], void 0, function* (state, track = () => undefined) {
|
|
309
|
+
var _a, _b, _c, _d, _e;
|
|
310
|
+
const tracked = (dep, value) => __awaiter(void 0, void 0, void 0, function* () {
|
|
311
|
+
const resolved = yield value;
|
|
312
|
+
track(dep, yield printOf(dep));
|
|
313
|
+
return resolved;
|
|
314
|
+
});
|
|
315
|
+
const drawFor = (drawn, opened) => tracked({ kind: 'draw', state: drawn, opened }, draw(drawn, opened));
|
|
316
|
+
const expectedFor = (owner, expected) => tracked({ kind: 'expected', owner, state: expected }, expectedOf(owner, expected));
|
|
317
|
+
const embeddersFor = () => tracked({ kind: 'embedders' }, embeddersOfPart());
|
|
318
|
+
let wrotePictures = false;
|
|
319
|
+
const lines = [];
|
|
320
|
+
const pushLine = (line) => {
|
|
321
|
+
lines.push(line);
|
|
322
|
+
onLine === null || onLine === void 0 ? void 0 : onLine(line);
|
|
323
|
+
};
|
|
296
324
|
const open = opens[state];
|
|
297
325
|
if (typeof open === 'string') {
|
|
298
326
|
pushLine({ state, element: '-', input: null, failure: open });
|
|
299
|
-
|
|
327
|
+
return { lines, hosts: [], keep: true };
|
|
300
328
|
}
|
|
301
|
-
const design = yield designScan(state);
|
|
302
|
-
const opener = open ? ((
|
|
329
|
+
const design = yield (0, phase_timing_1.timedPhase)('actions-design-scan', () => designScan(state));
|
|
330
|
+
const opener = open ? ((_b = (_a = design.find((element) => element.control === open.control)) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : null) : null;
|
|
303
331
|
if (open && opener === null) {
|
|
304
332
|
pushLine({ state, element: '-', input: null, failure: `no ${open.control} trigger to open it with` });
|
|
305
|
-
|
|
333
|
+
return { lines, hosts: [], keep: true };
|
|
306
334
|
}
|
|
307
|
-
const start = { state, props: open ? ((
|
|
335
|
+
const start = { state, props: open ? ((_c = open.props) !== null && _c !== void 0 ? _c : states[open.from]) : states[state], opener };
|
|
308
336
|
const startUrl = (0, part_compare_1.harnessUrlOf)({ url, part, state, props: start.props, layout: frame.layout });
|
|
309
|
-
const app = yield queue.run((browser) => __awaiter(void 0, void 0, void 0, function* () {
|
|
337
|
+
const app = yield (0, phase_timing_1.timedPhase)('actions-app-scan', () => queue.run((browser) => __awaiter(void 0, void 0, void 0, function* () {
|
|
310
338
|
const context = yield browser.newContext({ viewport: (0, shot_1.viewportOf)(frame.size) });
|
|
311
339
|
try {
|
|
312
340
|
const page = yield context.newPage();
|
|
@@ -323,11 +351,17 @@ const checkActions = (options) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
323
351
|
finally {
|
|
324
352
|
yield context.close();
|
|
325
353
|
}
|
|
326
|
-
}));
|
|
327
|
-
const hosts = (
|
|
354
|
+
})));
|
|
355
|
+
const hosts = (_e = (_d = product.config.harness) === null || _d === void 0 ? void 0 : _d.hosts) !== null && _e !== void 0 ? _e : [];
|
|
328
356
|
const scope = (0, actions_1.ownScopeOf)({ design, app, hosts });
|
|
329
|
-
skippedHosts.push(...scope.skipped.filter((host) => !skippedHosts.includes(host)));
|
|
330
357
|
const { paired, missing } = (0, actions_1.pairElementsOf)({ design: scope.design, app: scope.app });
|
|
358
|
+
for (const drift of (0, actions_1.accessibleNameDriftsOf)(paired))
|
|
359
|
+
pushLine({
|
|
360
|
+
state,
|
|
361
|
+
element: (0, actions_1.elementNameOf)(drift.app),
|
|
362
|
+
input: null,
|
|
363
|
+
failure: (0, actions_1.accessibleNameFailureOf)(drift),
|
|
364
|
+
});
|
|
331
365
|
for (const element of missing)
|
|
332
366
|
pushLine({
|
|
333
367
|
state,
|
|
@@ -348,7 +382,7 @@ const checkActions = (options) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
348
382
|
};
|
|
349
383
|
const name = (0, actions_1.elementNameOf)(element);
|
|
350
384
|
try {
|
|
351
|
-
const probes = yield queue.run((browser) => (0, pointer_focus_1.probePointerFocus)({
|
|
385
|
+
const probes = yield (0, phase_timing_1.timedPhase)('actions-pointer-focus', () => queue.run((browser) => (0, pointer_focus_1.probePointerFocus)({
|
|
352
386
|
open: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
353
387
|
const context = yield browser.newContext({ viewport: (0, shot_1.viewportOf)(frame.size) });
|
|
354
388
|
const page = yield context.newPage();
|
|
@@ -375,7 +409,7 @@ const checkActions = (options) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
375
409
|
}
|
|
376
410
|
}),
|
|
377
411
|
settle: (page) => (0, action_press_1.settle)(page, thumb_1.DRAW_TIMEOUT_MS),
|
|
378
|
-
}));
|
|
412
|
+
})));
|
|
379
413
|
if (probes) {
|
|
380
414
|
const { failure, warning } = (0, pointer_focus_1.pointerFocusVerdictOf)(Object.assign(Object.assign({}, probes), { activatable: !!(drawn === null || drawn === void 0 ? void 0 : drawn.action) }));
|
|
381
415
|
out.push({ state, element: `${name} pointer focus`, input: null, failure, warning });
|
|
@@ -395,8 +429,8 @@ const checkActions = (options) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
395
429
|
for (const candidate of owners)
|
|
396
430
|
if (candidate.states.includes(value) &&
|
|
397
431
|
(0, actions_1.drawsStateAlreadyOf)({
|
|
398
|
-
expected: yield
|
|
399
|
-
current: yield
|
|
432
|
+
expected: yield expectedFor(candidate.part, value),
|
|
433
|
+
current: yield expectedFor(part, state),
|
|
400
434
|
}))
|
|
401
435
|
settled.push(candidate.part);
|
|
402
436
|
const { action, owner } = drawn
|
|
@@ -405,7 +439,7 @@ const checkActions = (options) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
405
439
|
const embeddedState = owners.find((candidate) => candidate.part === owner);
|
|
406
440
|
const listen = owners.flatMap((candidate) => (candidate.selector === null ? [] : [candidate.selector]));
|
|
407
441
|
if (drawn === null || action === null || typeof action === 'string') {
|
|
408
|
-
if (typeof action !== 'string' && (yield
|
|
442
|
+
if (typeof action !== 'string' && (yield embeddersFor()).length > 0)
|
|
409
443
|
return finish();
|
|
410
444
|
if (drawn !== null &&
|
|
411
445
|
action === null &&
|
|
@@ -418,19 +452,21 @@ const checkActions = (options) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
418
452
|
failure: typeof action === 'string'
|
|
419
453
|
? action
|
|
420
454
|
: drawn === null
|
|
421
|
-
?
|
|
455
|
+
? noSuchElementOf((0, actions_1.nearMissesOf)({ element, design, app }))
|
|
422
456
|
: 'the design declares no data-et-action',
|
|
423
457
|
});
|
|
424
458
|
return finish();
|
|
425
459
|
}
|
|
426
|
-
for (const input of (0, actions_1.actionInputsOf)(element.key)) {
|
|
460
|
+
for (const input of (0, actions_1.actionInputsOf)(element.key, action)) {
|
|
427
461
|
const goal = action.kind === 'state'
|
|
428
462
|
? (0, actions_1.targetStateOf)({ state: action.state, input, states: (_f = embeddedState === null || embeddedState === void 0 ? void 0 : embeddedState.states) !== null && _f !== void 0 ? _f : names })
|
|
429
463
|
: '';
|
|
430
464
|
const opened = goal === '' ? null : (0, actions_1.openedFromOf)({ goal, start: state, states, open: opens[goal] });
|
|
431
|
-
const goalPicture = goal === '' || embeddedState
|
|
465
|
+
const goalPicture = goal === '' || embeddedState
|
|
466
|
+
? null
|
|
467
|
+
: yield (0, phase_timing_1.timedPhase)('actions-goal-draw', () => drawFor(opened ? state : goal, opened));
|
|
432
468
|
try {
|
|
433
|
-
const run = yield queue.run((browser) => {
|
|
469
|
+
const run = yield (0, phase_timing_1.timedPhase)('actions-input', () => queue.run((browser) => {
|
|
434
470
|
var _a, _b;
|
|
435
471
|
return (0, exports.runActionInput)({
|
|
436
472
|
browser,
|
|
@@ -450,7 +486,7 @@ const checkActions = (options) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
450
486
|
expanded: !!embeddedState && action.kind === 'state',
|
|
451
487
|
focused: goal.endsWith('-focus-visible'),
|
|
452
488
|
});
|
|
453
|
-
});
|
|
489
|
+
}));
|
|
454
490
|
const result = goalPicture && run.app ? (0, part_compare_1.comparePngs)({ design: goalPicture.png, app: run.app }) : null;
|
|
455
491
|
const outcome = {
|
|
456
492
|
emitted: run.emitted,
|
|
@@ -458,7 +494,7 @@ const checkActions = (options) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
458
494
|
compare: embeddedState && action.kind === 'state'
|
|
459
495
|
? (0, live_actions_1.liveStateCompareOf)({
|
|
460
496
|
state: `${owner} ${goal}`,
|
|
461
|
-
expected: yield
|
|
497
|
+
expected: yield expectedFor(owner, goal),
|
|
462
498
|
after: (_g = run.after) !== null && _g !== void 0 ? _g : [],
|
|
463
499
|
})
|
|
464
500
|
: result
|
|
@@ -467,22 +503,22 @@ const checkActions = (options) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
467
503
|
};
|
|
468
504
|
const app = run.app;
|
|
469
505
|
if (action.kind === 'state' && result && result.kind !== 'ok' && goalPicture && app)
|
|
470
|
-
outcome.reached = yield (0, reached_state_1.reachedStateOf)({
|
|
506
|
+
outcome.reached = yield (0, phase_timing_1.timedPhase)('actions-reached', () => (0, reached_state_1.reachedStateOf)({
|
|
471
507
|
goal,
|
|
472
508
|
states: names,
|
|
473
509
|
compare: (candidate) => __awaiter(void 0, void 0, void 0, function* () {
|
|
474
510
|
if (candidate === goal)
|
|
475
511
|
return result;
|
|
476
512
|
const reopened = (0, actions_1.openedFromOf)({ goal: candidate, start: state, states, open: opens[candidate] });
|
|
477
|
-
const picture = yield
|
|
513
|
+
const picture = yield drawFor(reopened ? state : candidate, reopened);
|
|
478
514
|
return (0, part_compare_1.comparePngs)({ design: picture.png, app });
|
|
479
515
|
}),
|
|
480
|
-
});
|
|
516
|
+
}));
|
|
481
517
|
if (embeddedState && action.kind === 'state' && outcome.compare && !outcome.compare.ok)
|
|
482
518
|
outcome.reached = yield (0, reached_state_1.reachedExpandedStateOf)({
|
|
483
519
|
goal,
|
|
484
520
|
states: embeddedState.states,
|
|
485
|
-
expectedOf: (candidate) =>
|
|
521
|
+
expectedOf: (candidate) => expectedFor(owner, candidate),
|
|
486
522
|
after: (_h = run.after) !== null && _h !== void 0 ? _h : [],
|
|
487
523
|
});
|
|
488
524
|
const failure = (0, actions_1.actionFailureOf)({
|
|
@@ -495,6 +531,7 @@ const checkActions = (options) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
495
531
|
: [],
|
|
496
532
|
});
|
|
497
533
|
if (failure !== null && result && result.kind !== 'ok' && goalPicture && run.app) {
|
|
534
|
+
wrotePictures = true;
|
|
498
535
|
dir !== null && dir !== void 0 ? dir : (dir = (0, fs_1.mkdtempSync)((0, path_1.join)((0, os_1.tmpdir)(), 'et-design-actions-')));
|
|
499
536
|
const stem = `${state}--${name}--${input}`.replace(/[^\w.-]/g, '-');
|
|
500
537
|
(0, fs_1.writeFileSync)((0, path_1.join)(dir, `${stem}.design.png`), goalPicture.png);
|
|
@@ -511,6 +548,73 @@ const checkActions = (options) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
511
548
|
}),
|
|
512
549
|
});
|
|
513
550
|
lines.push(...checkedElements.flat());
|
|
551
|
+
return { lines, hosts: scope.skipped, keep: !wrotePictures };
|
|
552
|
+
});
|
|
553
|
+
const cacheInputs = options.appRoot
|
|
554
|
+
? {
|
|
555
|
+
salt: `${(0, code_hash_1.actionCheckCodeOf)()} ${(0, compare_cache_1.browserVersionOf)(chromium.from)}`,
|
|
556
|
+
built: (0, compare_cache_1.builtAppHashOf)(options.appRoot),
|
|
557
|
+
}
|
|
558
|
+
: null;
|
|
559
|
+
const actionCache = cacheInputs ? (0, action_cache_1.createActionCache)((0, vite_cache_1.viteCacheOf)(target, action_cache_1.COMPARE_ACTIONS)) : null;
|
|
560
|
+
const actionKeyOf = (state) => {
|
|
561
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
562
|
+
if (!cacheInputs)
|
|
563
|
+
return null;
|
|
564
|
+
try {
|
|
565
|
+
return (0, compare_cache_1.cacheKeyOf)([
|
|
566
|
+
cacheInputs.salt,
|
|
567
|
+
cacheInputs.built,
|
|
568
|
+
url === '' ? '' : new URL(url).pathname,
|
|
569
|
+
part,
|
|
570
|
+
state,
|
|
571
|
+
sha256Of((_a = markups.get(state)) !== null && _a !== void 0 ? _a : ''),
|
|
572
|
+
(_b = states[state]) !== null && _b !== void 0 ? _b : null,
|
|
573
|
+
(_c = opens[state]) !== null && _c !== void 0 ? _c : null,
|
|
574
|
+
names,
|
|
575
|
+
(_e = (_d = module.default) === null || _d === void 0 ? void 0 : _d.controls) !== null && _e !== void 0 ? _e : null,
|
|
576
|
+
appOutputs,
|
|
577
|
+
(_g = (_f = product.config.harness) === null || _f === void 0 ? void 0 : _f.hosts) !== null && _g !== void 0 ? _g : [],
|
|
578
|
+
frame,
|
|
579
|
+
]);
|
|
580
|
+
}
|
|
581
|
+
catch (_h) {
|
|
582
|
+
return null;
|
|
583
|
+
}
|
|
584
|
+
};
|
|
585
|
+
const lines = [];
|
|
586
|
+
const skippedHosts = [];
|
|
587
|
+
const checked = (only === null ? names : [only]).filter((state) => { var _a; return (0, part_compare_1.forcedElementsOf)((_a = markups.get(state)) !== null && _a !== void 0 ? _a : '').length === 0; });
|
|
588
|
+
for (let at = 0; at < checked.length; at += ACTION_BATCH_STATES) {
|
|
589
|
+
designs.clear();
|
|
590
|
+
({ queue, shooter } = yield (0, phase_timing_1.timedPhase)('actions-browser', freshBrowser));
|
|
591
|
+
const batch = yield (0, in_order_at_once_1.inOrderAtOnce)({
|
|
592
|
+
items: checked.slice(at, at + ACTION_BATCH_STATES),
|
|
593
|
+
limit: ACTION_BATCH_STATES,
|
|
594
|
+
run: (state) => (0, phase_timing_1.timedPhase)(`actions-state ${state}`, () => __awaiter(void 0, void 0, void 0, function* () {
|
|
595
|
+
const key = actionKeyOf(state);
|
|
596
|
+
if (key === null)
|
|
597
|
+
return checkState(state);
|
|
598
|
+
const { value, hit } = yield (0, action_cache_1.cachedActionsOf)({
|
|
599
|
+
cache: actionCache,
|
|
600
|
+
key,
|
|
601
|
+
printOf,
|
|
602
|
+
run: (track) => __awaiter(void 0, void 0, void 0, function* () {
|
|
603
|
+
const checkedState = yield checkState(state, track);
|
|
604
|
+
return { value: checkedState, keep: checkedState.keep };
|
|
605
|
+
}),
|
|
606
|
+
});
|
|
607
|
+
(0, timings_1.recordCache)(hit);
|
|
608
|
+
if (hit)
|
|
609
|
+
for (const line of value.lines)
|
|
610
|
+
onLine === null || onLine === void 0 ? void 0 : onLine(line);
|
|
611
|
+
return value;
|
|
612
|
+
})),
|
|
613
|
+
});
|
|
614
|
+
for (const checkedState of batch) {
|
|
615
|
+
lines.push(...checkedState.lines);
|
|
616
|
+
skippedHosts.push(...checkedState.hosts.filter((host) => !skippedHosts.includes(host)));
|
|
617
|
+
}
|
|
514
618
|
}
|
|
515
619
|
return { lines, pictures: dir, embedders: embedders ? yield embedders : [], hosts: skippedHosts };
|
|
516
620
|
}
|
|
@@ -529,30 +633,47 @@ exports.actionLineOf = actionLineOf;
|
|
|
529
633
|
/** The line the action check prints once per run for a declared host component it skipped in a state. */
|
|
530
634
|
const hostLineOf = (host) => `host ${host}: skipped - the app's own chrome around the part, which the design does not draw`;
|
|
531
635
|
exports.hostLineOf = hostLineOf;
|
|
532
|
-
/** The
|
|
636
|
+
/** The line the action check prints for a part it skips because no app component renders it in the harness. */
|
|
637
|
+
const unlinkedSkipLineOf = (part) => `actions ${part}: skipped - no implements link, nothing to click`;
|
|
638
|
+
exports.unlinkedSkipLineOf = unlinkedSkipLineOf;
|
|
639
|
+
/** The failed lines `design actions` prints for a part, or why the check could not run (`[]` for a part without an implements link); with `harness` it checks the part harness at that URL instead of starting one. */
|
|
533
640
|
const partActionFailuresOf = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
534
|
-
var _a, _b, _c;
|
|
641
|
+
var _a, _b, _c, _d, _e;
|
|
535
642
|
const { target, config, product, part } = options;
|
|
643
|
+
const source = (_a = product.parts.find((candidate) => (0, resolve_product_1.partKeyOf)(candidate) === part)) === null || _a === void 0 ? void 0 : _a.source;
|
|
644
|
+
if (source !== undefined && (0, part_definition_1.partLinkOf)(source).kind === 'none') {
|
|
645
|
+
(_b = options.onNote) === null || _b === void 0 ? void 0 : _b.call(options, (0, exports.unlinkedSkipLineOf)(part));
|
|
646
|
+
return [];
|
|
647
|
+
}
|
|
536
648
|
const stale = (0, harness_map_1.harnessStaleOf)({ target, product });
|
|
537
649
|
if (stale !== null)
|
|
538
|
-
return
|
|
539
|
-
const
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
650
|
+
return (0, no_verdict_1.noVerdictOf)(stale);
|
|
651
|
+
const check = (url) => {
|
|
652
|
+
var _a, _b;
|
|
653
|
+
return ((_a = options.check) !== null && _a !== void 0 ? _a : exports.checkActions)({
|
|
654
|
+
target,
|
|
655
|
+
config,
|
|
656
|
+
product,
|
|
657
|
+
part,
|
|
658
|
+
url,
|
|
659
|
+
only: null,
|
|
660
|
+
appRoot: (_b = options.appRoot) !== null && _b !== void 0 ? _b : null,
|
|
661
|
+
designsDrawn: options.designsDrawn,
|
|
662
|
+
});
|
|
663
|
+
};
|
|
664
|
+
const checked = options.harness
|
|
665
|
+
? yield check(options.harness)
|
|
666
|
+
: yield (0, harness_server_1.withHarnessUrl)({ target, product, url: options.url, start: options.start, run: check });
|
|
546
667
|
if (typeof checked === 'string')
|
|
547
|
-
return
|
|
548
|
-
for (const host of (
|
|
549
|
-
(
|
|
668
|
+
return (0, no_verdict_1.noVerdictOf)(checked);
|
|
669
|
+
for (const host of (_c = checked.hosts) !== null && _c !== void 0 ? _c : [])
|
|
670
|
+
(_d = options.onNote) === null || _d === void 0 ? void 0 : _d.call(options, (0, exports.hostLineOf)(host));
|
|
550
671
|
const failures = checked.lines.filter((line) => line.failure !== null).map(exports.actionLineOf);
|
|
551
672
|
if (!options.url || typeof (0, live_compare_1.liveSpecOf)({ target, product }) === 'string')
|
|
552
673
|
return failures;
|
|
553
|
-
const live = yield ((
|
|
674
|
+
const live = yield ((_e = options.checkLive) !== null && _e !== void 0 ? _e : live_actions_1.checkLiveActions)({ target, config, product, url: options.url, part });
|
|
554
675
|
if (typeof live === 'string')
|
|
555
|
-
return
|
|
676
|
+
return (0, no_verdict_1.noVerdictOf)(`the live action check: ${live}`);
|
|
556
677
|
return [...failures, ...live.lines.filter((line) => line.failure !== null).map((line) => `live ${(0, live_actions_1.liveLineOf)(line)}`)];
|
|
557
678
|
});
|
|
558
679
|
exports.partActionFailuresOf = partActionFailuresOf;
|