@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
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.unchangedStatesOf = exports.keptUnchangedStatesOf = exports.framesOf = exports.forgetUnchangedStates = void 0;
|
|
13
13
|
const crypto_1 = require("crypto");
|
|
14
14
|
const path_1 = require("path");
|
|
15
|
+
const changed_parts_1 = require("../../changed-parts");
|
|
15
16
|
const merge_compare_1 = require("../../merge-compare");
|
|
16
17
|
const product_stylesheets_1 = require("../product-stylesheets");
|
|
17
18
|
const resolve_product_1 = require("../resolve-product");
|
|
@@ -20,8 +21,16 @@ const overlay_1 = require("./overlay");
|
|
|
20
21
|
const sketch_1 = require("./sketch");
|
|
21
22
|
const CACHE_LIMIT = 200;
|
|
22
23
|
const cache = new Map();
|
|
23
|
-
/**
|
|
24
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Drops the kept results of every part `change` redraws, in the product or in the compared variant, so the next call
|
|
26
|
+
* compares them again. Without `change` it drops them all.
|
|
27
|
+
*/
|
|
28
|
+
const forgetUnchangedStates = (change = changed_parts_1.ALL_PARTS) => {
|
|
29
|
+
for (const [key, { drawn }] of cache) {
|
|
30
|
+
if (drawn.some((part) => (0, changed_parts_1.redraws)(change, part)))
|
|
31
|
+
cache.delete(key);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
25
34
|
exports.forgetUnchangedStates = forgetUnchangedStates;
|
|
26
35
|
const hashOf = (value) => (0, crypto_1.createHash)('sha256').update(value).digest('hex');
|
|
27
36
|
const markupOf = (part, props) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -55,12 +64,12 @@ const renderedOf = (load) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
55
64
|
return null;
|
|
56
65
|
}
|
|
57
66
|
});
|
|
58
|
-
const remember = (key,
|
|
67
|
+
const remember = (key, kept) => {
|
|
59
68
|
var _a;
|
|
60
69
|
if (cache.size >= CACHE_LIMIT)
|
|
61
70
|
cache.delete((_a = cache.keys().next().value) !== null && _a !== void 0 ? _a : '');
|
|
62
|
-
cache.set(key,
|
|
63
|
-
return unchanged;
|
|
71
|
+
cache.set(key, kept);
|
|
72
|
+
return kept.unchanged;
|
|
64
73
|
};
|
|
65
74
|
const framesOf = (part, presets) => {
|
|
66
75
|
const sizes = presets
|
|
@@ -108,7 +117,7 @@ const keyOf = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
108
117
|
* comparison is kept. It renders and draws nothing.
|
|
109
118
|
*/
|
|
110
119
|
const keptUnchangedStatesOf = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
111
|
-
var _a;
|
|
120
|
+
var _a, _b;
|
|
112
121
|
const { product, sketch, variant, pictured, part: compared = (0, resolve_product_1.partKeyOf)(sketch) } = options;
|
|
113
122
|
const overlaid = (0, overlay_1.overlaySketch)({ product, sketch, variant });
|
|
114
123
|
if (!product.parts.some((part) => (0, resolve_product_1.partKeyOf)(part) === compared))
|
|
@@ -125,7 +134,7 @@ const keptUnchangedStatesOf = (options) => __awaiter(void 0, void 0, void 0, fun
|
|
|
125
134
|
compareFrames: true,
|
|
126
135
|
states: undefined,
|
|
127
136
|
});
|
|
128
|
-
return (_a = cache.get(key)) !== null &&
|
|
137
|
+
return (_b = (_a = cache.get(key)) === null || _a === void 0 ? void 0 : _a.unchanged) !== null && _b !== void 0 ? _b : null;
|
|
129
138
|
});
|
|
130
139
|
exports.keptUnchangedStatesOf = keptUnchangedStatesOf;
|
|
131
140
|
/**
|
|
@@ -135,11 +144,11 @@ exports.keptUnchangedStatesOf = keptUnchangedStatesOf;
|
|
|
135
144
|
* rendered outside a browser (`ng()`), is unchanged when every frame draws the
|
|
136
145
|
* same pixels in the default theme. A state the product lacks, or one that fails to draw on either side, is never
|
|
137
146
|
* unchanged. Markup-only comparisons are kept by source hashes. Pixel comparisons are kept the same way only with
|
|
138
|
-
* `keepPictures`, and never when a draw failed; `forgetUnchangedStates` drops them
|
|
147
|
+
* `keepPictures`, and never when a draw failed; `forgetUnchangedStates` drops them. Set `compareFrames` to false
|
|
139
148
|
* to compare drawings without requiring matching widths and interactions.
|
|
140
149
|
*/
|
|
141
150
|
const unchangedStatesOf = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
142
|
-
var _a;
|
|
151
|
+
var _a, _b;
|
|
143
152
|
const { product, sketch, variant, load, pictureOf, keepPictures = false, part: compared = (0, resolve_product_1.partKeyOf)(sketch), compareFrames = true, states, } = options;
|
|
144
153
|
const current = product.parts.find((part) => (0, resolve_product_1.partKeyOf)(part) === compared);
|
|
145
154
|
const merged = current === null || current === void 0 ? void 0 : current.file;
|
|
@@ -158,7 +167,7 @@ const unchangedStatesOf = (options) => __awaiter(void 0, void 0, void 0, functio
|
|
|
158
167
|
states,
|
|
159
168
|
});
|
|
160
169
|
const keeps = !pictureOf || keepPictures;
|
|
161
|
-
const known = keeps ? cache.get(key) : undefined;
|
|
170
|
+
const known = keeps ? (_b = cache.get(key)) === null || _b === void 0 ? void 0 : _b.unchanged : undefined;
|
|
162
171
|
if (known)
|
|
163
172
|
return known;
|
|
164
173
|
const [now, after] = yield Promise.all([
|
|
@@ -167,8 +176,12 @@ const unchangedStatesOf = (options) => __awaiter(void 0, void 0, void 0, functio
|
|
|
167
176
|
]);
|
|
168
177
|
if (!now || !after)
|
|
169
178
|
return [];
|
|
179
|
+
const parts = [
|
|
180
|
+
{ product: product.name, part: compared, sketch: null },
|
|
181
|
+
{ product: product.name, part: compared, sketch: { target: sketch.target, variant } },
|
|
182
|
+
];
|
|
170
183
|
if (compareFrames && now.frames !== after.frames)
|
|
171
|
-
return keeps ? remember(key, []) : [];
|
|
184
|
+
return keeps ? remember(key, { unchanged: [], drawn: parts }) : [];
|
|
172
185
|
const imported = (0, product_stylesheets_1.productStylesheetFilesOf)(product);
|
|
173
186
|
const restyled = overlaid.parts.some((part) => {
|
|
174
187
|
const own = product.parts.find((candidate) => (0, resolve_product_1.partKeyOf)(candidate) === (0, resolve_product_1.partKeyOf)(part));
|
|
@@ -195,7 +208,7 @@ const unchangedStatesOf = (options) => __awaiter(void 0, void 0, void 0, functio
|
|
|
195
208
|
: 'different';
|
|
196
209
|
})));
|
|
197
210
|
const unchanged = comparedStates.filter((_, index) => same[index] === 'same').map(([state]) => state);
|
|
198
|
-
return keeps && !same.includes('failed') ? remember(key, unchanged) : unchanged;
|
|
211
|
+
return keeps && !same.includes('failed') ? remember(key, { unchanged, drawn: parts }) : unchanged;
|
|
199
212
|
});
|
|
200
213
|
exports.unchangedStatesOf = unchangedStatesOf;
|
|
201
214
|
//# sourceMappingURL=unchanged-states.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unchanged-states.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/unchanged-states.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAoC;AACpC,+BAA+B;AAC/B,uDAA2D;AAC3D,gEAAkE;AAClE,wDAAgE;AAEhE,yCAA2D;AAC3D,uCAA0C;AAC1C,qCAA6D;AAoB7D,MAAM,WAAW,GAAG,GAAG,CAAC;AAExB,MAAM,KAAK,GAAG,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"unchanged-states.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/unchanged-states.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,16 @@ export type VariantChange = {
|
|
|
4
4
|
variant: string;
|
|
5
5
|
change: string | null;
|
|
6
6
|
};
|
|
7
|
-
/**
|
|
8
|
-
|
|
7
|
+
/**
|
|
8
|
+
* The file `design shot` writes its contact sheet to without `--out`: one per part, and one per set of `--variant`
|
|
9
|
+
* names, so the shots of two variants never overwrite each other.
|
|
10
|
+
*/
|
|
11
|
+
export declare const shotFileOf: (options: {
|
|
12
|
+
target: string;
|
|
13
|
+
product: string;
|
|
14
|
+
part: string;
|
|
15
|
+
variants?: string[];
|
|
16
|
+
}) => string;
|
|
9
17
|
/** Records that a shot of `variant` was handed out, at the content the variant has now. */
|
|
10
18
|
export declare const recordShotViewed: (options: {
|
|
11
19
|
target: string;
|
|
@@ -1,29 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.unviewedShotLinesOf = exports.recordShotViewed = exports.
|
|
3
|
+
exports.unviewedShotLinesOf = exports.recordShotViewed = exports.shotFileOf = void 0;
|
|
4
4
|
const crypto_1 = require("crypto");
|
|
5
5
|
const fs_1 = require("fs");
|
|
6
6
|
const path_1 = require("path");
|
|
7
|
-
const
|
|
7
|
+
const work_root_1 = require("../../work-root");
|
|
8
8
|
const sketch_1 = require("./sketch");
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const variantContentHashOf = (sketch, variant) => {
|
|
17
|
-
const hash = (0, crypto_1.createHash)('sha256');
|
|
18
|
-
const files = [...filesIn((0, sketch_1.variantDirOf)(sketch, variant)), ...filesIn((0, sketch_1.sharedDirOf)(sketch))].sort();
|
|
19
|
-
for (const file of files)
|
|
20
|
-
hash
|
|
21
|
-
.update(`${(0, path_1.relative)(sketch.dir, file)}\0`)
|
|
22
|
-
.update((0, fs_1.readFileSync)(file))
|
|
23
|
-
.update('\0');
|
|
24
|
-
return hash.digest('hex').slice(0, 16);
|
|
9
|
+
/**
|
|
10
|
+
* The file `design shot` writes its contact sheet to without `--out`: one per part, and one per set of `--variant`
|
|
11
|
+
* names, so the shots of two variants never overwrite each other.
|
|
12
|
+
*/
|
|
13
|
+
const shotFileOf = (options) => {
|
|
14
|
+
var _a;
|
|
15
|
+
return (0, path_1.resolve)((0, work_root_1.workRootOf)(options.target), 'shots', `${options.product}-${options.part.replace('/', '-')}${((_a = options.variants) !== null && _a !== void 0 ? _a : []).map((variant) => `-${variant}`).join('')}.png`);
|
|
25
16
|
};
|
|
26
|
-
exports.
|
|
17
|
+
exports.shotFileOf = shotFileOf;
|
|
18
|
+
const viewedFileOf = (options) => (0, path_1.resolve)((0, work_root_1.workRootOf)(options.target), 'viewed-shots', `${(0, crypto_1.createHash)('sha256').update((0, path_1.resolve)(options.sketch.dir)).digest('hex').slice(0, 16)}.json`);
|
|
27
19
|
const readViewed = (file) => {
|
|
28
20
|
try {
|
|
29
21
|
const parsed = JSON.parse((0, fs_1.readFileSync)(file, 'utf8'));
|
|
@@ -37,7 +29,7 @@ const readViewed = (file) => {
|
|
|
37
29
|
const recordShotViewed = (options) => {
|
|
38
30
|
const { target, sketch, variant } = options;
|
|
39
31
|
const file = viewedFileOf({ target, sketch });
|
|
40
|
-
const viewed = Object.assign(Object.assign({}, readViewed(file)), { [variant]: (0,
|
|
32
|
+
const viewed = Object.assign(Object.assign({}, readViewed(file)), { [variant]: (0, sketch_1.variantContentHashOf)(sketch, variant) });
|
|
41
33
|
(0, fs_1.mkdirSync)((0, path_1.dirname)(file), { recursive: true });
|
|
42
34
|
(0, fs_1.writeFileSync)(file, JSON.stringify(viewed));
|
|
43
35
|
};
|
|
@@ -52,8 +44,9 @@ const unviewedShotLinesOf = (options) => {
|
|
|
52
44
|
const viewed = readViewed(viewedFileOf({ target, sketch }));
|
|
53
45
|
const part = (_a = sketch.targets[0]) !== null && _a !== void 0 ? _a : sketch.target;
|
|
54
46
|
return changes
|
|
55
|
-
.filter(({ variant, change }) => change !== null && viewed[variant] !== (0,
|
|
56
|
-
.map(({ variant, change }) => `SHOT-NOT-VIEWED ${change} - no shot of variant ${variant} was viewed since its last edit: ` +
|
|
47
|
+
.filter(({ variant, change }) => change !== null && viewed[variant] !== (0, sketch_1.variantContentHashOf)(sketch, variant))
|
|
48
|
+
.map(({ variant, change }) => `SHOT-NOT-VIEWED ${change} - no shot of variant ${variant} was viewed since its last edit: view ` +
|
|
49
|
+
`${(0, exports.shotFileOf)({ target, product: sketch.product, part, variants: [variant] })} after ` +
|
|
57
50
|
`\`${invocation} shot ${part} --states --variants --variant ${variant} --product ${sketch.product}\`, ` +
|
|
58
51
|
`or GET /__design/shot?product=${sketch.product}&part=${part}&sketch=${sketch.target}&variant=${variant}&state=<state>`);
|
|
59
52
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewed-shots.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/viewed-shots.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AACpC,
|
|
1
|
+
{"version":3,"file":"viewed-shots.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/viewed-shots.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SKIP_CLASSES = exports.ESCAPABLE_RULES = void 0;
|
|
4
|
+
const nested_scroll_1 = require("./nested-scroll");
|
|
5
|
+
const off_centre_1 = require("./off-centre");
|
|
6
|
+
const surface_nesting_1 = require("./surface-nesting");
|
|
7
|
+
exports.ESCAPABLE_RULES = [
|
|
8
|
+
'CLIPPED',
|
|
9
|
+
'WRAP',
|
|
10
|
+
nested_scroll_1.NESTED_SCROLL_RULE,
|
|
11
|
+
surface_nesting_1.NESTED_SURFACE_RULE,
|
|
12
|
+
surface_nesting_1.LOST_SURFACE_RULE,
|
|
13
|
+
off_centre_1.OFF_CENTRE_RULE,
|
|
14
|
+
];
|
|
15
|
+
/** The reason classes a `data-et-skip` may name: the render rules it escapes, and `COVERED` for the cover check. */
|
|
16
|
+
exports.SKIP_CLASSES = [...exports.ESCAPABLE_RULES, 'COVERED'];
|
|
17
|
+
//# sourceMappingURL=skip-classes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skip-classes.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/skip-classes.ts"],"names":[],"mappings":";;;AAAA,mDAAqD;AACrD,6CAA+C;AAC/C,uDAA2E;AAE9D,QAAA,eAAe,GAAG;IAC7B,SAAS;IACT,MAAM;IACN,kCAAkB;IAClB,qCAAmB;IACnB,mCAAiB;IACjB,4BAAe;CAChB,CAAC;AAEF,oHAAoH;AACvG,QAAA,YAAY,GAAG,CAAC,GAAG,uBAAe,EAAE,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { PartMark } from '../shot';
|
|
2
|
+
import { ResolvedProduct } from './resolve-product';
|
|
3
|
+
type Page = {
|
|
4
|
+
evaluate: (script: string) => Promise<unknown>;
|
|
5
|
+
};
|
|
6
|
+
/** Where a design draws an embedded part, and the selector of the component its `implements` link names. */
|
|
7
|
+
export type PartSlot = {
|
|
8
|
+
part: string;
|
|
9
|
+
selector: string;
|
|
10
|
+
x: number;
|
|
11
|
+
y: number;
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
};
|
|
15
|
+
/** One part slot of a live state, and whether the app renders the `implements` host there; `null` when the app has no live host. */
|
|
16
|
+
export type SlotHost = {
|
|
17
|
+
part: string;
|
|
18
|
+
selector: string;
|
|
19
|
+
rendered: boolean | null;
|
|
20
|
+
};
|
|
21
|
+
/** The selector of the component each part's `implements` link names, by part key. */
|
|
22
|
+
export declare const implementsSelectorsOf: (options: {
|
|
23
|
+
target: string;
|
|
24
|
+
product: ResolvedProduct;
|
|
25
|
+
}) => Map<string, string>;
|
|
26
|
+
/** One slot per part key of each design mark whose part names a component. */
|
|
27
|
+
export declare const partSlotsOf: (marks: PartMark[], selectors: ReadonlyMap<string, string>) => PartSlot[];
|
|
28
|
+
/**
|
|
29
|
+
* Whether the open app page renders each slot's `implements` host at the slot: overlapping the slot box grown by its
|
|
30
|
+
* own size on every side, so layout drift that compare reports does not count as a wrong link. Boxes are measured
|
|
31
|
+
* from the live `host` element as the design measures its marks from the frame root.
|
|
32
|
+
*/
|
|
33
|
+
export declare const slotHostsOnPage: (options: {
|
|
34
|
+
page: Page;
|
|
35
|
+
host: string;
|
|
36
|
+
slots: PartSlot[];
|
|
37
|
+
}) => Promise<SlotHost[]>;
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,93 @@
|
|
|
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
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
12
|
+
var t = {};
|
|
13
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
14
|
+
t[p] = s[p];
|
|
15
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
16
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
17
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
18
|
+
t[p[i]] = s[p[i]];
|
|
19
|
+
}
|
|
20
|
+
return t;
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.slotHostsOnPage = exports.partSlotsOf = exports.implementsSelectorsOf = void 0;
|
|
24
|
+
const fs_1 = require("fs");
|
|
25
|
+
const path_1 = require("path");
|
|
26
|
+
const actions_1 = require("./actions");
|
|
27
|
+
const resolve_product_1 = require("./resolve-product");
|
|
28
|
+
const part_definition_1 = require("./sketch/part-definition");
|
|
29
|
+
/** The selector of the component each part's `implements` link names, by part key. */
|
|
30
|
+
const implementsSelectorsOf = (options) => new Map(options.product.parts.flatMap((part) => {
|
|
31
|
+
const link = (0, part_definition_1.partLinkOf)(part.source);
|
|
32
|
+
const path = link.kind === 'component' ? link.path : link.kind === 'route' ? link.component : null;
|
|
33
|
+
const file = path === null ? null : (0, path_1.resolve)(options.target, path);
|
|
34
|
+
const selector = file && (0, fs_1.existsSync)(file) ? (0, actions_1.componentSelectorOf)((0, fs_1.readFileSync)(file, 'utf8')) : null;
|
|
35
|
+
return selector ? [[(0, resolve_product_1.partKeyOf)(part), selector]] : [];
|
|
36
|
+
}));
|
|
37
|
+
exports.implementsSelectorsOf = implementsSelectorsOf;
|
|
38
|
+
/** One slot per part key of each design mark whose part names a component. */
|
|
39
|
+
const partSlotsOf = (marks, selectors) => marks.flatMap((_a) => {
|
|
40
|
+
var { parts } = _a, box = __rest(_a, ["parts"]);
|
|
41
|
+
return parts.flatMap((part) => {
|
|
42
|
+
const selector = selectors.get(part);
|
|
43
|
+
return selector ? [Object.assign({ part, selector }, box)] : [];
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
exports.partSlotsOf = partSlotsOf;
|
|
47
|
+
const SLOT_HOSTS_SCRIPT = `(({ host, slots }) => {
|
|
48
|
+
const root = document.querySelector(host);
|
|
49
|
+
if (!root) return null;
|
|
50
|
+
const origin = root.getBoundingClientRect();
|
|
51
|
+
const meets = (element, area) => {
|
|
52
|
+
const box = element.getBoundingClientRect();
|
|
53
|
+
return box.width > 0 && box.height > 0 && box.left < area.right && box.right > area.left && box.top < area.bottom && box.bottom > area.top;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
return slots.map((slot) => {
|
|
57
|
+
const area = {
|
|
58
|
+
left: origin.left + slot.x - slot.width,
|
|
59
|
+
right: origin.left + slot.x + 2 * slot.width,
|
|
60
|
+
top: origin.top + slot.y - slot.height,
|
|
61
|
+
bottom: origin.top + slot.y + 2 * slot.height,
|
|
62
|
+
};
|
|
63
|
+
let hosts = [];
|
|
64
|
+
|
|
65
|
+
try {
|
|
66
|
+
hosts = [...document.querySelectorAll(slot.selector)];
|
|
67
|
+
} catch {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return hosts.some((element) => meets(element, area) || [...element.querySelectorAll('*')].some((child) => meets(child, area)));
|
|
72
|
+
});
|
|
73
|
+
})`;
|
|
74
|
+
/**
|
|
75
|
+
* Whether the open app page renders each slot's `implements` host at the slot: overlapping the slot box grown by its
|
|
76
|
+
* own size on every side, so layout drift that compare reports does not count as a wrong link. Boxes are measured
|
|
77
|
+
* from the live `host` element as the design measures its marks from the frame root.
|
|
78
|
+
*/
|
|
79
|
+
const slotHostsOnPage = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
80
|
+
if (options.slots.length === 0)
|
|
81
|
+
return [];
|
|
82
|
+
const rendered = (yield options.page.evaluate(`${SLOT_HOSTS_SCRIPT}(${JSON.stringify({ host: options.host, slots: options.slots })})`));
|
|
83
|
+
return options.slots.map(({ part, selector }, index) => {
|
|
84
|
+
var _a;
|
|
85
|
+
return ({
|
|
86
|
+
part,
|
|
87
|
+
selector,
|
|
88
|
+
rendered: rendered ? ((_a = rendered[index]) !== null && _a !== void 0 ? _a : null) : null,
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
exports.slotHostsOnPage = slotHostsOnPage;
|
|
93
|
+
//# sourceMappingURL=slot-hosts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slot-hosts.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/slot-hosts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAA8C;AAC9C,+BAA+B;AAE/B,uCAAgD;AAChD,uDAA+D;AAC/D,8DAAsD;AAUtD,sFAAsF;AAC/E,MAAM,qBAAqB,GAAG,CAAC,OAAqD,EAAE,EAAE,CAC7F,IAAI,GAAG,CACL,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAsB,EAAE;IACzD,MAAM,IAAI,GAAG,IAAA,4BAAU,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IACnG,MAAM,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,cAAO,EAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,IAAI,IAAI,IAAA,eAAU,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,6BAAmB,EAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEnG,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,2BAAS,EAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC,CAAC,CACH,CAAC;AAVS,QAAA,qBAAqB,yBAU9B;AAEJ,8EAA8E;AACvE,MAAM,WAAW,GAAG,CAAC,KAAiB,EAAE,SAAsC,EAAc,EAAE,CACnG,KAAK,CAAC,OAAO,CAAC,CAAC,EAAiB,EAAE,EAAE;QAArB,EAAE,KAAK,OAAU,EAAL,GAAG,cAAf,SAAiB,CAAF;IAC5B,OAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAErC,OAAO,QAAQ,CAAC,CAAC,CAAC,iBAAG,IAAI,EAAE,QAAQ,IAAK,GAAG,EAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,CAAC,CAAC,CAAA;CAAA,CACH,CAAC;AAPS,QAAA,WAAW,eAOpB;AAEJ,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BvB,CAAC;AAEJ;;;;GAIG;AACI,MAAM,eAAe,GAAG,CAAO,OAIrC,EAAuB,EAAE;IACxB,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE1C,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,CAC3C,GAAG,iBAAiB,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,CACxF,CAAqB,CAAC;IAEvB,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE;;QAAC,OAAA,CAAC;YACvD,IAAI;YACJ,QAAQ;YACR,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAA,QAAQ,CAAC,KAAK,CAAC,mCAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;SACtD,CAAC,CAAA;KAAA,CAAC,CAAC;AACN,CAAC,CAAA,CAAC;AAhBW,QAAA,eAAe,mBAgB1B"}
|
|
@@ -2,6 +2,9 @@ import { SlowProblemsOf } from './build-ready-contract';
|
|
|
2
2
|
import { Problem } from './problem';
|
|
3
3
|
import { ResolvedPart, ResolvedProduct } from './resolve-product';
|
|
4
4
|
export declare const PRODUCT_PART = "(product)";
|
|
5
|
+
export declare const isDrawRule: (rule: string) => boolean;
|
|
6
|
+
/** Whether the `--slow` set runs `rule`, so `check --rules` does not. */
|
|
7
|
+
export declare const isSlowRule: (rule: string) => boolean;
|
|
5
8
|
/** One part's slow-rule problems and the input hash they were found at. */
|
|
6
9
|
export type SlowEntry = {
|
|
7
10
|
hash: string;
|
|
@@ -29,6 +32,7 @@ export declare const defaultBaseOf: (options: {
|
|
|
29
32
|
export type SlowInputs = {
|
|
30
33
|
rules: string[];
|
|
31
34
|
hash: string;
|
|
35
|
+
designOnly?: true;
|
|
32
36
|
};
|
|
33
37
|
/** The slow inputs of every part of the product that has a slow rule, and of `(product)`, at `base` if given. */
|
|
34
38
|
export declare const slowInputsOf: (options: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.slowProblemsOf = exports.staleSlowPartsOf = exports.slowInputsOf = exports.defaultBaseOf = exports.linkedComponentOf = exports.writeSlowResults = exports.readSlowCache = exports.slowCacheFileOf = exports.PRODUCT_PART = void 0;
|
|
3
|
+
exports.slowProblemsOf = exports.staleSlowPartsOf = exports.slowInputsOf = exports.defaultBaseOf = exports.linkedComponentOf = exports.writeSlowResults = exports.readSlowCache = exports.slowCacheFileOf = exports.isSlowRule = exports.isDrawRule = exports.PRODUCT_PART = void 0;
|
|
4
4
|
const child_process_1 = require("child_process");
|
|
5
5
|
const fs_1 = require("fs");
|
|
6
6
|
const path_1 = require("path");
|
|
@@ -8,13 +8,30 @@ const app_files_1 = require("./app-files");
|
|
|
8
8
|
const build_ready_contract_1 = require("./build-ready-contract");
|
|
9
9
|
const design_hash_1 = require("./design-hash");
|
|
10
10
|
const harness_map_1 = require("./harness-map");
|
|
11
|
+
const part_ready_1 = require("./part-ready");
|
|
11
12
|
const reachable_files_1 = require("./reachable-files");
|
|
12
13
|
const resolve_product_1 = require("./resolve-product");
|
|
13
14
|
const app_spec_1 = require("./rules/app-spec");
|
|
15
|
+
const implements_unrendered_1 = require("./rules/implements-unrendered");
|
|
14
16
|
const uncovered_region_1 = require("./rules/uncovered-region");
|
|
15
|
-
const
|
|
17
|
+
const rule_baseline_1 = require("./rule-baseline");
|
|
18
|
+
const implemented_components_1 = require("./rules/implemented-components");
|
|
16
19
|
const part_definition_1 = require("./sketch/part-definition");
|
|
17
20
|
exports.PRODUCT_PART = '(product)';
|
|
21
|
+
const isDrawRule = (rule) => [build_ready_contract_1.CONTROL_STATE_RULE, build_ready_contract_1.DROPPED_PROP_RULE, build_ready_contract_1.STATE_NO_SOURCE_RULE, build_ready_contract_1.ACTION_LOST_RULE].includes(rule);
|
|
22
|
+
exports.isDrawRule = isDrawRule;
|
|
23
|
+
/** Whether the `--slow` set runs `rule`, so `check --rules` does not. */
|
|
24
|
+
const isSlowRule = (rule) => (0, exports.isDrawRule)(rule) ||
|
|
25
|
+
[
|
|
26
|
+
app_spec_1.APP_SPEC_RULE,
|
|
27
|
+
uncovered_region_1.UNCOVERED_REGION_RULE,
|
|
28
|
+
implements_unrendered_1.IMPLEMENTS_UNRENDERED_RULE,
|
|
29
|
+
build_ready_contract_1.VISIBLE_CHANGE_RULE,
|
|
30
|
+
build_ready_contract_1.COMPARE_RULE,
|
|
31
|
+
build_ready_contract_1.SDK_ERROR_RULE,
|
|
32
|
+
].includes(rule);
|
|
33
|
+
exports.isSlowRule = isSlowRule;
|
|
34
|
+
const DECLARES_CONTROLS = /\bcontrols\s*:/u;
|
|
18
35
|
const SPEC_SIBLING = /\.(?:ts|html|css)$/u;
|
|
19
36
|
/** The gitignored file that holds a product's slow results, under the checkout's `node_modules/.cache`. */
|
|
20
37
|
const slowCacheFileOf = (product) => (0, path_1.join)((0, reachable_files_1.repoRootOf)(product), 'node_modules', '.cache', 'ethlete-design', product.name, 'slow-checks.json');
|
|
@@ -96,6 +113,15 @@ const defaultBaseOf = (options) => {
|
|
|
96
113
|
return commit;
|
|
97
114
|
};
|
|
98
115
|
exports.defaultBaseOf = defaultBaseOf;
|
|
116
|
+
const designOf = (context, part) => {
|
|
117
|
+
const key = (0, resolve_product_1.partKeyOf)(part);
|
|
118
|
+
const known = context.designs.get(key);
|
|
119
|
+
if (known !== undefined)
|
|
120
|
+
return known;
|
|
121
|
+
const design = (0, design_hash_1.designHashOf)({ product: context.product, part });
|
|
122
|
+
context.designs.set(key, design);
|
|
123
|
+
return design;
|
|
124
|
+
};
|
|
99
125
|
const contextOf = (product, base) => {
|
|
100
126
|
const root = (0, reachable_files_1.repoRootOf)(product);
|
|
101
127
|
const found = (0, harness_map_1.harnessOf)(product);
|
|
@@ -106,19 +132,36 @@ const contextOf = (product, base) => {
|
|
|
106
132
|
harness,
|
|
107
133
|
pages: livePagesOf(root, harness === null || harness === void 0 ? void 0 : harness.live),
|
|
108
134
|
base: base !== null && base !== void 0 ? base : (harness ? (0, exports.defaultBaseOf)({ root, branch: harness.baseBranch }) : ''),
|
|
135
|
+
designs: new Map(),
|
|
109
136
|
};
|
|
110
137
|
};
|
|
138
|
+
const consumersOf = (root, component) => {
|
|
139
|
+
var _a;
|
|
140
|
+
const src = (_a = component === null || component === void 0 ? void 0 : component.match(/^(.*?\/src)\//u)) === null || _a === void 0 ? void 0 : _a[1];
|
|
141
|
+
const dir = src ? (0, path_1.resolve)(root, src) : null;
|
|
142
|
+
return dir && (0, fs_1.existsSync)(dir)
|
|
143
|
+
? (0, design_hash_1.fileHashesOf)(root, (0, implemented_components_1.appSourcesOf)(dir).map(({ path }) => path))
|
|
144
|
+
: {};
|
|
145
|
+
};
|
|
111
146
|
const partInputsOf = (context, part) => {
|
|
112
147
|
const { product, root, harness, pages, base } = context;
|
|
113
148
|
const key = (0, resolve_product_1.partKeyOf)(part);
|
|
114
|
-
const
|
|
115
|
-
const
|
|
116
|
-
const
|
|
149
|
+
const own = part.origin !== 'base';
|
|
150
|
+
const linked = (0, exports.linkedComponentOf)(part);
|
|
151
|
+
const component = harness ? linked : null;
|
|
152
|
+
const design = designOf(context, part);
|
|
153
|
+
const implemented = implementedHashOf(product, key);
|
|
154
|
+
const current = typeof implemented === 'string' && (0, design_hash_1.designHolds)(implemented, design);
|
|
155
|
+
const designOnly = component !== null && implemented !== undefined && !current;
|
|
156
|
+
const app = linked === null ? {} : (0, app_files_1.appFilesOf)({ root, component: linked });
|
|
117
157
|
const rules = [
|
|
158
|
+
...(own && !key.startsWith('pages/') && DECLARES_CONTROLS.test(part.source) ? [build_ready_contract_1.CONTROL_STATE_RULE] : []),
|
|
159
|
+
...(own && linked !== null && (0, fs_1.existsSync)((0, path_1.resolve)(root, linked)) ? [build_ready_contract_1.DROPPED_PROP_RULE, build_ready_contract_1.STATE_NO_SOURCE_RULE] : []),
|
|
118
160
|
...(component !== null && (harness === null || harness === void 0 ? void 0 : harness.specs) ? [app_spec_1.APP_SPEC_RULE] : []),
|
|
119
|
-
...((pages === null || pages === void 0 ? void 0 : pages.has(key)) ? [uncovered_region_1.UNCOVERED_REGION_RULE] : []),
|
|
120
|
-
...(component !== null ? [
|
|
121
|
-
...(component !== null &&
|
|
161
|
+
...((pages === null || pages === void 0 ? void 0 : pages.has(key)) ? [uncovered_region_1.UNCOVERED_REGION_RULE, implements_unrendered_1.IMPLEMENTS_UNRENDERED_RULE] : []),
|
|
162
|
+
...(component !== null ? [build_ready_contract_1.VISIBLE_CHANGE_RULE] : []),
|
|
163
|
+
...(component !== null && current ? [build_ready_contract_1.COMPARE_RULE, build_ready_contract_1.SDK_ERROR_RULE] : []),
|
|
164
|
+
...(designOnly ? [build_ready_contract_1.COMPARE_RULE] : []),
|
|
122
165
|
];
|
|
123
166
|
if (rules.length === 0)
|
|
124
167
|
return { rules, hash: '' };
|
|
@@ -127,35 +170,43 @@ const partInputsOf = (context, part) => {
|
|
|
127
170
|
.map((file) => (0, path_1.resolve)(root, file.replace(SPEC_SIBLING, '.spec.ts')))
|
|
128
171
|
.filter((file) => (0, fs_1.existsSync)(file)));
|
|
129
172
|
const live = (harness === null || harness === void 0 ? void 0 : harness.live) && rules.includes(uncovered_region_1.UNCOVERED_REGION_RULE) ? (0, design_hash_1.fileHashesOf)(root, [(0, path_1.resolve)(root, harness.live)]) : {};
|
|
130
|
-
return {
|
|
131
|
-
rules,
|
|
132
|
-
hash: (0, design_hash_1.sha16)([
|
|
173
|
+
return Object.assign({ rules, hash: (0, design_hash_1.sha16)([
|
|
133
174
|
rules.join(','),
|
|
134
|
-
design,
|
|
175
|
+
design.withLinks,
|
|
135
176
|
(0, design_hash_1.hashOfFiles)(app),
|
|
136
177
|
(0, design_hash_1.hashOfFiles)(specs),
|
|
137
178
|
(0, design_hash_1.hashOfFiles)(live),
|
|
138
|
-
rules.includes(
|
|
139
|
-
|
|
140
|
-
|
|
179
|
+
rules.includes(build_ready_contract_1.STATE_NO_SOURCE_RULE) ? (0, design_hash_1.hashOfFiles)(consumersOf(root, linked)) : '',
|
|
180
|
+
rules.includes(build_ready_contract_1.VISIBLE_CHANGE_RULE) ? base : '',
|
|
181
|
+
].join('\0')) }, (designOnly ? { designOnly: true } : {}));
|
|
141
182
|
};
|
|
183
|
+
const actionsRecordedIn = (product) => Object.values((0, part_ready_1.readRecordedActions)(product.dir)).some((record) => record.actions.length > 0);
|
|
142
184
|
const productInputsOf = (context, parts) => {
|
|
143
|
-
const { root, harness, base } = context;
|
|
144
|
-
|
|
145
|
-
return { rules: [], hash: '' };
|
|
185
|
+
const { product, root, harness, base } = context;
|
|
186
|
+
const actions = actionsRecordedIn(product);
|
|
146
187
|
const rules = [
|
|
147
|
-
...(harness.specs ? [app_spec_1.APP_SPEC_RULE] : []),
|
|
148
|
-
...(harness.live ? [uncovered_region_1.UNCOVERED_REGION_RULE] : []),
|
|
149
|
-
|
|
188
|
+
...((harness === null || harness === void 0 ? void 0 : harness.specs) ? [app_spec_1.APP_SPEC_RULE] : []),
|
|
189
|
+
...((harness === null || harness === void 0 ? void 0 : harness.live) ? [uncovered_region_1.UNCOVERED_REGION_RULE] : []),
|
|
190
|
+
...(harness ? [build_ready_contract_1.VISIBLE_CHANGE_RULE] : []),
|
|
191
|
+
...(actions ? [build_ready_contract_1.ACTION_LOST_RULE] : []),
|
|
150
192
|
];
|
|
151
|
-
|
|
193
|
+
if (rules.length === 0)
|
|
194
|
+
return { rules, hash: '' };
|
|
195
|
+
const files = (0, design_hash_1.fileHashesOf)(root, [
|
|
196
|
+
...(harness ? [harness.map, harness.live, harness.specs] : []).flatMap((file) => file ? [(0, path_1.resolve)(root, file)] : []),
|
|
197
|
+
...(actions ? [(0, path_1.join)(product.dir, part_ready_1.READY_FILE)] : []),
|
|
198
|
+
]);
|
|
199
|
+
const designs = actions
|
|
200
|
+
? product.parts.filter((part) => part.origin !== 'base').map((part) => designOf(context, part).withLinks)
|
|
201
|
+
: [];
|
|
152
202
|
return {
|
|
153
203
|
rules,
|
|
154
204
|
hash: (0, design_hash_1.sha16)([
|
|
155
205
|
rules.join(','),
|
|
156
206
|
(0, design_hash_1.hashOfFiles)(files),
|
|
157
|
-
base,
|
|
207
|
+
harness ? base : '',
|
|
158
208
|
...Object.entries(parts).map(([part, { hash }]) => `${part}=${hash}`),
|
|
209
|
+
...designs,
|
|
159
210
|
].join('\0')),
|
|
160
211
|
};
|
|
161
212
|
};
|
|
@@ -191,7 +242,9 @@ const slowProblemsOf = ({ product, part }) => {
|
|
|
191
242
|
if (!inputs || inputs.rules.length === 0)
|
|
192
243
|
return [];
|
|
193
244
|
const entry = (0, exports.readSlowCache)(product)[part];
|
|
194
|
-
|
|
245
|
+
if ((entry === null || entry === void 0 ? void 0 : entry.hash) !== inputs.hash)
|
|
246
|
+
return 'pending';
|
|
247
|
+
return (0, rule_baseline_1.unbaselinedProblemsOf)(product, entry.problems);
|
|
195
248
|
};
|
|
196
249
|
exports.slowProblemsOf = slowProblemsOf;
|
|
197
250
|
//# sourceMappingURL=slow-checks.js.map
|