@ethlete/cli 3.0.0-next.25 → 3.0.0-next.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +417 -0
- package/build-info.json +1 -0
- package/design/define-call.ts +99 -31
- package/design/define-part.ts +50 -3
- package/design/icon-sheet.ts +1 -1
- package/design/interaction-rows.ts +13 -6
- package/design/logo-sheet.ts +52 -0
- package/design/mark-part.ts +51 -1
- package/design/motion-drive.ts +215 -0
- package/design/motion-runtime.ts +14 -2
- package/design/motion-tokens.ts +177 -0
- package/design/token-sheet.ts +1 -1
- package/design/web/frame-fill.ts +4 -0
- package/design/web/frame-fit.ts +7 -0
- package/design/web/frame-scheme.ts +44 -0
- package/design/web/frame-surfaces.ts +294 -0
- package/design/web/frame.ts +162 -43
- package/design/web/surface-interactive.css +42 -0
- package/design/with-action.ts +29 -0
- package/package.json +3 -1
- package/src/index.js +9 -1
- package/src/index.js.map +1 -1
- package/src/lib/design/asset-shot.js +2 -2
- package/src/lib/design/asset-shot.js.map +1 -1
- package/src/lib/design/build-watch.d.ts +26 -0
- package/src/lib/design/build-watch.js +138 -0
- package/src/lib/design/build-watch.js.map +1 -0
- package/src/lib/design/calls-tsconfig.d.ts +2 -0
- package/src/lib/design/calls-tsconfig.js +10 -3
- package/src/lib/design/calls-tsconfig.js.map +1 -1
- package/src/lib/design/check.d.ts +1 -0
- package/src/lib/design/check.js +195 -13
- package/src/lib/design/check.js.map +1 -1
- package/src/lib/design/commit-hunks.d.ts +22 -0
- package/src/lib/design/commit-hunks.js +173 -0
- package/src/lib/design/commit-hunks.js.map +1 -0
- package/src/lib/design/contact-sheet.d.ts +9 -0
- package/src/lib/design/contact-sheet.js +38 -4
- package/src/lib/design/contact-sheet.js.map +1 -1
- package/src/lib/design/design-command.d.ts +2 -0
- package/src/lib/design/design-command.js +183 -15
- package/src/lib/design/design-command.js.map +1 -1
- package/src/lib/design/draw-ledger.d.ts +36 -0
- package/src/lib/design/draw-ledger.js +52 -0
- package/src/lib/design/draw-ledger.js.map +1 -0
- package/src/lib/design/force-interactions.d.ts +1 -1
- package/src/lib/design/force-interactions.js +4 -2
- package/src/lib/design/force-interactions.js.map +1 -1
- package/src/lib/design/inbox-command.js +9 -5
- package/src/lib/design/inbox-command.js.map +1 -1
- package/src/lib/design/mcp-command.d.ts +28 -3
- package/src/lib/design/mcp-command.js +134 -21
- package/src/lib/design/mcp-command.js.map +1 -1
- package/src/lib/design/merge-compare.d.ts +10 -2
- package/src/lib/design/merge-compare.js +63 -11
- package/src/lib/design/merge-compare.js.map +1 -1
- package/src/lib/design/motion-command.js +10 -16
- package/src/lib/design/motion-command.js.map +1 -1
- package/src/lib/design/motion-shot.js +3 -2
- package/src/lib/design/motion-shot.js.map +1 -1
- package/src/lib/design/new-call.js +19 -10
- package/src/lib/design/new-call.js.map +1 -1
- package/src/lib/design/part-marks.d.ts +3 -2
- package/src/lib/design/part-marks.js +13 -5
- package/src/lib/design/part-marks.js.map +1 -1
- package/src/lib/design/paths.d.ts +42 -0
- package/src/lib/design/paths.js +50 -1
- package/src/lib/design/paths.js.map +1 -1
- package/src/lib/design/product-command.d.ts +1 -1
- package/src/lib/design/product-command.js +12 -14
- package/src/lib/design/product-command.js.map +1 -1
- package/src/lib/design/ready-shots.d.ts +29 -3
- package/src/lib/design/ready-shots.js +105 -5
- package/src/lib/design/ready-shots.js.map +1 -1
- package/src/lib/design/render-packages.d.ts +9 -17
- package/src/lib/design/render-packages.js +25 -63
- package/src/lib/design/render-packages.js.map +1 -1
- package/src/lib/design/render-worker.js +2 -3
- package/src/lib/design/render-worker.js.map +1 -1
- package/src/lib/design/render.d.ts +2 -0
- package/src/lib/design/render.js +32 -7
- package/src/lib/design/render.js.map +1 -1
- package/src/lib/design/serve.d.ts +23 -3
- package/src/lib/design/serve.js +288 -35
- package/src/lib/design/serve.js.map +1 -1
- package/src/lib/design/server-identity.d.ts +36 -0
- package/src/lib/design/server-identity.js +68 -0
- package/src/lib/design/server-identity.js.map +1 -0
- package/src/lib/design/settle-frames.d.ts +4 -0
- package/src/lib/design/settle-frames.js +22 -0
- package/src/lib/design/settle-frames.js.map +1 -0
- package/src/lib/design/shot-command.d.ts +30 -6
- package/src/lib/design/shot-command.js +144 -56
- package/src/lib/design/shot-command.js.map +1 -1
- package/src/lib/design/shot-store.d.ts +24 -0
- package/src/lib/design/shot-store.js +120 -0
- package/src/lib/design/shot-store.js.map +1 -0
- package/src/lib/design/shot.d.ts +71 -1
- package/src/lib/design/shot.js +253 -40
- package/src/lib/design/shot.js.map +1 -1
- package/src/lib/design/sketch-command.d.ts +6 -1
- package/src/lib/design/sketch-command.js +452 -136
- package/src/lib/design/sketch-command.js.map +1 -1
- package/src/lib/design/ssr-shims.d.ts +2 -0
- package/src/lib/design/ssr-shims.js +12 -1
- package/src/lib/design/ssr-shims.js.map +1 -1
- package/src/lib/design/stale-cli-dist.d.ts +11 -0
- package/src/lib/design/stale-cli-dist.js +56 -0
- package/src/lib/design/stale-cli-dist.js.map +1 -0
- package/src/lib/design/stamp.d.ts +18 -1
- package/src/lib/design/stamp.js +53 -7
- package/src/lib/design/stamp.js.map +1 -1
- package/src/lib/design/started-by-studio.d.ts +1 -0
- package/src/lib/design/started-by-studio.js +6 -0
- package/src/lib/design/started-by-studio.js.map +1 -0
- package/src/lib/design/studio-api.d.ts +35 -4
- package/src/lib/design/studio-api.js +312 -41
- package/src/lib/design/studio-api.js.map +1 -1
- package/src/lib/design/system/accept-command.d.ts +39 -5
- package/src/lib/design/system/accept-command.js +109 -25
- package/src/lib/design/system/accept-command.js.map +1 -1
- package/src/lib/design/system/accepted-pictures.d.ts +83 -0
- package/src/lib/design/system/accepted-pictures.js +324 -0
- package/src/lib/design/system/accepted-pictures.js.map +1 -0
- package/src/lib/design/system/action-lost.d.ts +59 -0
- package/src/lib/design/system/action-lost.js +120 -0
- package/src/lib/design/system/action-lost.js.map +1 -0
- package/src/lib/design/system/action-press.d.ts +23 -0
- package/src/lib/design/system/action-press.js +76 -0
- package/src/lib/design/system/action-press.js.map +1 -0
- package/src/lib/design/system/action-undeclared.d.ts +34 -0
- package/src/lib/design/system/action-undeclared.js +81 -0
- package/src/lib/design/system/action-undeclared.js.map +1 -0
- package/src/lib/design/system/actions-command.d.ts +101 -0
- package/src/lib/design/system/actions-command.js +695 -0
- package/src/lib/design/system/actions-command.js.map +1 -0
- package/src/lib/design/system/actions.d.ts +158 -0
- package/src/lib/design/system/actions.js +295 -0
- package/src/lib/design/system/actions.js.map +1 -0
- package/src/lib/design/system/app-files.d.ts +10 -0
- package/src/lib/design/system/app-files.js +159 -0
- package/src/lib/design/system/app-files.js.map +1 -0
- package/src/lib/design/system/bespoke-controls.d.ts +30 -0
- package/src/lib/design/system/bespoke-controls.js +147 -0
- package/src/lib/design/system/bespoke-controls.js.map +1 -0
- package/src/lib/design/system/build-ready-contract.d.ts +27 -0
- package/src/lib/design/system/build-ready-contract.js +12 -0
- package/src/lib/design/system/build-ready-contract.js.map +1 -0
- package/src/lib/design/system/check-rules.d.ts +1 -0
- package/src/lib/design/system/check-rules.js +82 -0
- package/src/lib/design/system/check-rules.js.map +1 -0
- package/src/lib/design/system/check-system.d.ts +62 -3
- package/src/lib/design/system/check-system.js +527 -34
- package/src/lib/design/system/check-system.js.map +1 -1
- package/src/lib/design/system/colour.d.ts +4 -1
- package/src/lib/design/system/colour.js +54 -2
- package/src/lib/design/system/colour.js.map +1 -1
- package/src/lib/design/system/comments/comment.d.ts +4 -1
- package/src/lib/design/system/comments/comment.js +13 -4
- package/src/lib/design/system/comments/comment.js.map +1 -1
- package/src/lib/design/system/comments/inbox.js +2 -2
- package/src/lib/design/system/comments/inbox.js.map +1 -1
- package/src/lib/design/system/compare-command.d.ts +119 -0
- package/src/lib/design/system/compare-command.js +558 -0
- package/src/lib/design/system/compare-command.js.map +1 -0
- package/src/lib/design/system/complete-command.js +7 -3
- package/src/lib/design/system/complete-command.js.map +1 -1
- package/src/lib/design/system/complete.d.ts +99 -3
- package/src/lib/design/system/complete.js +358 -88
- package/src/lib/design/system/complete.js.map +1 -1
- package/src/lib/design/system/component-outputs.d.ts +20 -0
- package/src/lib/design/system/component-outputs.js +86 -0
- package/src/lib/design/system/component-outputs.js.map +1 -0
- package/src/lib/design/system/contrast-check.d.ts +6 -1
- package/src/lib/design/system/contrast-check.js +179 -13
- package/src/lib/design/system/contrast-check.js.map +1 -1
- package/src/lib/design/system/demo-backdrop.d.ts +11 -0
- package/src/lib/design/system/demo-backdrop.js +41 -0
- package/src/lib/design/system/demo-backdrop.js.map +1 -0
- package/src/lib/design/system/design-hash.d.ts +31 -0
- package/src/lib/design/system/design-hash.js +73 -0
- package/src/lib/design/system/design-hash.js.map +1 -0
- package/src/lib/design/system/disabled-interaction.d.ts +8 -0
- package/src/lib/design/system/disabled-interaction.js +37 -0
- package/src/lib/design/system/disabled-interaction.js.map +1 -0
- package/src/lib/design/system/dom-command.d.ts +36 -0
- package/src/lib/design/system/dom-command.js +175 -0
- package/src/lib/design/system/dom-command.js.map +1 -0
- package/src/lib/design/system/drawn-open-points.d.ts +38 -0
- package/src/lib/design/system/drawn-open-points.js +94 -0
- package/src/lib/design/system/drawn-open-points.js.map +1 -0
- package/src/lib/design/system/dropped-props.d.ts +25 -0
- package/src/lib/design/system/dropped-props.js +159 -0
- package/src/lib/design/system/dropped-props.js.map +1 -0
- package/src/lib/design/system/embedded-actions.d.ts +21 -0
- package/src/lib/design/system/embedded-actions.js +37 -0
- package/src/lib/design/system/embedded-actions.js.map +1 -0
- package/src/lib/design/system/exceptions.js +2 -1
- package/src/lib/design/system/exceptions.js.map +1 -1
- package/src/lib/design/system/flows/flow.js +2 -1
- package/src/lib/design/system/flows/flow.js.map +1 -1
- package/src/lib/design/system/frozen-animations.d.ts +13 -0
- package/src/lib/design/system/frozen-animations.js +51 -0
- package/src/lib/design/system/frozen-animations.js.map +1 -0
- package/src/lib/design/system/go-batch.d.ts +24 -0
- package/src/lib/design/system/go-batch.js +110 -0
- package/src/lib/design/system/go-batch.js.map +1 -0
- package/src/lib/design/system/go-command.d.ts +4 -0
- package/src/lib/design/system/go-command.js +64 -0
- package/src/lib/design/system/go-command.js.map +1 -0
- package/src/lib/design/system/go-guard.d.ts +26 -0
- package/src/lib/design/system/go-guard.js +70 -0
- package/src/lib/design/system/go-guard.js.map +1 -0
- package/src/lib/design/system/go-step.d.ts +13 -0
- package/src/lib/design/system/go-step.js +84 -0
- package/src/lib/design/system/go-step.js.map +1 -0
- package/src/lib/design/system/handoff.js +2 -1
- package/src/lib/design/system/handoff.js.map +1 -1
- package/src/lib/design/system/harness-build-cache.d.ts +35 -0
- package/src/lib/design/system/harness-build-cache.js +175 -0
- package/src/lib/design/system/harness-build-cache.js.map +1 -0
- package/src/lib/design/system/harness-command.d.ts +7 -0
- package/src/lib/design/system/harness-command.js +51 -0
- package/src/lib/design/system/harness-command.js.map +1 -0
- package/src/lib/design/system/harness-config.d.ts +9 -0
- package/src/lib/design/system/harness-config.js +65 -0
- package/src/lib/design/system/harness-config.js.map +1 -0
- package/src/lib/design/system/harness-map.d.ts +44 -0
- package/src/lib/design/system/harness-map.js +126 -0
- package/src/lib/design/system/harness-map.js.map +1 -0
- package/src/lib/design/system/harness-samples.d.ts +20 -0
- package/src/lib/design/system/harness-samples.js +92 -0
- package/src/lib/design/system/harness-samples.js.map +1 -0
- package/src/lib/design/system/harness-server.d.ts +40 -0
- package/src/lib/design/system/harness-server.js +296 -0
- package/src/lib/design/system/harness-server.js.map +1 -0
- package/src/lib/design/system/imports.js +14 -1
- package/src/lib/design/system/imports.js.map +1 -1
- package/src/lib/design/system/in-order-at-once.d.ts +6 -0
- package/src/lib/design/system/in-order-at-once.js +28 -0
- package/src/lib/design/system/in-order-at-once.js.map +1 -0
- package/src/lib/design/system/inventory-approval.js +2 -1
- package/src/lib/design/system/inventory-approval.js.map +1 -1
- package/src/lib/design/system/inventory.d.ts +13 -4
- package/src/lib/design/system/inventory.js +36 -7
- package/src/lib/design/system/inventory.js.map +1 -1
- package/src/lib/design/system/list-system.d.ts +8 -1
- package/src/lib/design/system/list-system.js +13 -3
- package/src/lib/design/system/list-system.js.map +1 -1
- package/src/lib/design/system/live-actions.d.ts +121 -0
- package/src/lib/design/system/live-actions.js +665 -0
- package/src/lib/design/system/live-actions.js.map +1 -0
- package/src/lib/design/system/live-compare.d.ts +136 -0
- package/src/lib/design/system/live-compare.js +441 -0
- package/src/lib/design/system/live-compare.js.map +1 -0
- package/src/lib/design/system/live-uncovered.d.ts +40 -0
- package/src/lib/design/system/live-uncovered.js +123 -0
- package/src/lib/design/system/live-uncovered.js.map +1 -0
- package/src/lib/design/system/nested-scroll.d.ts +7 -0
- package/src/lib/design/system/nested-scroll.js +25 -0
- package/src/lib/design/system/nested-scroll.js.map +1 -0
- package/src/lib/design/system/notes/note.js +2 -1
- package/src/lib/design/system/notes/note.js.map +1 -1
- package/src/lib/design/system/occluded.d.ts +13 -0
- package/src/lib/design/system/occluded.js +111 -0
- package/src/lib/design/system/occluded.js.map +1 -0
- package/src/lib/design/system/open-points.d.ts +119 -0
- package/src/lib/design/system/open-points.js +185 -0
- package/src/lib/design/system/open-points.js.map +1 -0
- package/src/lib/design/system/part-build-ready.d.ts +39 -0
- package/src/lib/design/system/part-build-ready.js +107 -0
- package/src/lib/design/system/part-build-ready.js.map +1 -0
- package/src/lib/design/system/part-command.js +2 -9
- package/src/lib/design/system/part-command.js.map +1 -1
- package/src/lib/design/system/part-compare.d.ts +123 -0
- package/src/lib/design/system/part-compare.js +396 -0
- package/src/lib/design/system/part-compare.js.map +1 -0
- package/src/lib/design/system/part-go.d.ts +70 -0
- package/src/lib/design/system/part-go.js +94 -0
- package/src/lib/design/system/part-go.js.map +1 -0
- package/src/lib/design/system/part-ready.d.ts +90 -0
- package/src/lib/design/system/part-ready.js +172 -0
- package/src/lib/design/system/part-ready.js.map +1 -0
- package/src/lib/design/system/part-task.d.ts +147 -0
- package/src/lib/design/system/part-task.js +285 -0
- package/src/lib/design/system/part-task.js.map +1 -0
- package/src/lib/design/system/pointer-focus.d.ts +81 -0
- package/src/lib/design/system/pointer-focus.js +152 -0
- package/src/lib/design/system/pointer-focus.js.map +1 -0
- package/src/lib/design/system/prettier.d.ts +10 -0
- package/src/lib/design/system/prettier.js +36 -0
- package/src/lib/design/system/prettier.js.map +1 -0
- package/src/lib/design/system/reach.d.ts +12 -0
- package/src/lib/design/system/reach.js +186 -0
- package/src/lib/design/system/reach.js.map +1 -0
- package/src/lib/design/system/reachable-controls.d.ts +6 -0
- package/src/lib/design/system/reachable-controls.js +19 -0
- package/src/lib/design/system/reachable-controls.js.map +1 -0
- package/src/lib/design/system/reachable-files.d.ts +14 -0
- package/src/lib/design/system/reachable-files.js +101 -0
- package/src/lib/design/system/reachable-files.js.map +1 -0
- package/src/lib/design/system/reached-state.d.ts +23 -0
- package/src/lib/design/system/reached-state.js +53 -0
- package/src/lib/design/system/reached-state.js.map +1 -0
- package/src/lib/design/system/read-open-points.d.ts +33 -0
- package/src/lib/design/system/read-open-points.js +110 -0
- package/src/lib/design/system/read-open-points.js.map +1 -0
- package/src/lib/design/system/ready-command.d.ts +11 -0
- package/src/lib/design/system/ready-command.js +82 -0
- package/src/lib/design/system/ready-command.js.map +1 -0
- package/src/lib/design/system/render-check.d.ts +52 -0
- package/src/lib/design/system/render-check.js +479 -60
- package/src/lib/design/system/render-check.js.map +1 -1
- package/src/lib/design/system/resolve-product.d.ts +2 -1
- package/src/lib/design/system/resolve-product.js +25 -3
- package/src/lib/design/system/resolve-product.js.map +1 -1
- package/src/lib/design/system/rules/app-spec.d.ts +30 -0
- package/src/lib/design/system/rules/app-spec.js +87 -0
- package/src/lib/design/system/rules/app-spec.js.map +1 -0
- package/src/lib/design/system/rules/canonical-class.d.ts +2 -0
- package/src/lib/design/system/rules/canonical-class.js +36 -110
- package/src/lib/design/system/rules/canonical-class.js.map +1 -1
- package/src/lib/design/system/rules/capability-place.d.ts +44 -0
- package/src/lib/design/system/rules/capability-place.js +116 -0
- package/src/lib/design/system/rules/capability-place.js.map +1 -0
- package/src/lib/design/system/rules/denied-class.d.ts +9 -0
- package/src/lib/design/system/rules/denied-class.js +121 -0
- package/src/lib/design/system/rules/denied-class.js.map +1 -0
- package/src/lib/design/system/rules/exemptions.d.ts +18 -0
- package/src/lib/design/system/rules/exemptions.js +18 -0
- package/src/lib/design/system/rules/exemptions.js.map +1 -0
- package/src/lib/design/system/rules/flow.js +1 -1
- package/src/lib/design/system/rules/flow.js.map +1 -1
- package/src/lib/design/system/rules/glued-interpolation.d.ts +8 -0
- package/src/lib/design/system/rules/glued-interpolation.js +61 -0
- package/src/lib/design/system/rules/glued-interpolation.js.map +1 -0
- package/src/lib/design/system/rules/hard-coded-colour.js +2 -1
- package/src/lib/design/system/rules/hard-coded-colour.js.map +1 -1
- package/src/lib/design/system/rules/implemented-components.d.ts +22 -0
- package/src/lib/design/system/rules/implemented-components.js +45 -0
- package/src/lib/design/system/rules/implemented-components.js.map +1 -0
- package/src/lib/design/system/rules/implements.d.ts +8 -0
- package/src/lib/design/system/rules/implements.js +48 -0
- package/src/lib/design/system/rules/implements.js.map +1 -0
- package/src/lib/design/system/rules/inline-svg.js +4 -1
- package/src/lib/design/system/rules/inline-svg.js.map +1 -1
- package/src/lib/design/system/rules/inline-ui-in-page-open.d.ts +13 -0
- package/src/lib/design/system/rules/inline-ui-in-page-open.js +5 -0
- package/src/lib/design/system/rules/inline-ui-in-page-open.js.map +1 -0
- package/src/lib/design/system/rules/inline-ui-in-page.d.ts +18 -0
- package/src/lib/design/system/rules/inline-ui-in-page.js +123 -0
- package/src/lib/design/system/rules/inline-ui-in-page.js.map +1 -0
- package/src/lib/design/system/rules/inline-ui.d.ts +16 -0
- package/src/lib/design/system/rules/inline-ui.js +100 -0
- package/src/lib/design/system/rules/inline-ui.js.map +1 -0
- package/src/lib/design/system/rules/motion.d.ts +2 -0
- package/src/lib/design/system/rules/motion.js +35 -2
- package/src/lib/design/system/rules/motion.js.map +1 -1
- package/src/lib/design/system/rules/native-title.d.ts +7 -0
- package/src/lib/design/system/rules/native-title.js +64 -0
- package/src/lib/design/system/rules/native-title.js.map +1 -0
- package/src/lib/design/system/rules/option-values.d.ts +15 -0
- package/src/lib/design/system/rules/option-values.js +145 -0
- package/src/lib/design/system/rules/option-values.js.map +1 -0
- package/src/lib/design/system/rules/orphan-endpoint-known.d.ts +12 -0
- package/src/lib/design/system/rules/orphan-endpoint-known.js +20 -0
- package/src/lib/design/system/rules/orphan-endpoint-known.js.map +1 -0
- package/src/lib/design/system/rules/orphan-endpoint.d.ts +23 -0
- package/src/lib/design/system/rules/orphan-endpoint.js +166 -0
- package/src/lib/design/system/rules/orphan-endpoint.js.map +1 -0
- package/src/lib/design/system/rules/part-rewrite.d.ts +13 -0
- package/src/lib/design/system/rules/part-rewrite.js +125 -0
- package/src/lib/design/system/rules/part-rewrite.js.map +1 -0
- package/src/lib/design/system/rules/sample-default-known.d.ts +5 -0
- package/src/lib/design/system/rules/sample-default-known.js +17 -0
- package/src/lib/design/system/rules/sample-default-known.js.map +1 -0
- package/src/lib/design/system/rules/sample-default.d.ts +22 -0
- package/src/lib/design/system/rules/sample-default.js +92 -0
- package/src/lib/design/system/rules/sample-default.js.map +1 -0
- package/src/lib/design/system/rules/stale-replace.js +45 -3
- package/src/lib/design/system/rules/stale-replace.js.map +1 -1
- package/src/lib/design/system/rules/state-in-component.d.ts +16 -0
- package/src/lib/design/system/rules/state-in-component.js +101 -0
- package/src/lib/design/system/rules/state-in-component.js.map +1 -0
- package/src/lib/design/system/rules/tailwind-classes.d.ts +51 -0
- package/src/lib/design/system/rules/tailwind-classes.js +232 -0
- package/src/lib/design/system/rules/tailwind-classes.js.map +1 -0
- package/src/lib/design/system/rules/top-level-await.d.ts +9 -0
- package/src/lib/design/system/rules/top-level-await.js +62 -0
- package/src/lib/design/system/rules/top-level-await.js.map +1 -0
- package/src/lib/design/system/rules/unbound-input-known.d.ts +5 -0
- package/src/lib/design/system/rules/unbound-input-known.js +47 -0
- package/src/lib/design/system/rules/unbound-input-known.js.map +1 -0
- package/src/lib/design/system/rules/unbound-input.d.ts +22 -0
- package/src/lib/design/system/rules/unbound-input.js +61 -0
- package/src/lib/design/system/rules/unbound-input.js.map +1 -0
- package/src/lib/design/system/rules/uncovered-region.d.ts +13 -0
- package/src/lib/design/system/rules/uncovered-region.js +36 -0
- package/src/lib/design/system/rules/uncovered-region.js.map +1 -0
- package/src/lib/design/system/rules/undefined-class.d.ts +9 -0
- package/src/lib/design/system/rules/undefined-class.js +32 -0
- package/src/lib/design/system/rules/undefined-class.js.map +1 -0
- package/src/lib/design/system/rules/undefined-token.d.ts +1 -1
- package/src/lib/design/system/rules/undefined-token.js +7 -61
- package/src/lib/design/system/rules/undefined-token.js.map +1 -1
- package/src/lib/design/system/rules/utility-css.d.ts +2 -1
- package/src/lib/design/system/rules/utility-css.js +29 -14
- package/src/lib/design/system/rules/utility-css.js.map +1 -1
- package/src/lib/design/system/rules/view-coverage.d.ts +8 -0
- package/src/lib/design/system/rules/view-coverage.js +51 -0
- package/src/lib/design/system/rules/view-coverage.js.map +1 -0
- package/src/lib/design/system/rules/visible-change.d.ts +20 -0
- package/src/lib/design/system/rules/visible-change.js +48 -0
- package/src/lib/design/system/rules/visible-change.js.map +1 -0
- package/src/lib/design/system/sdk-errors.d.ts +14 -0
- package/src/lib/design/system/sdk-errors.js +38 -0
- package/src/lib/design/system/sdk-errors.js.map +1 -0
- package/src/lib/design/system/see-through.d.ts +12 -0
- package/src/lib/design/system/see-through.js +112 -0
- package/src/lib/design/system/see-through.js.map +1 -0
- package/src/lib/design/system/settled-panes.d.ts +18 -0
- package/src/lib/design/system/settled-panes.js +70 -0
- package/src/lib/design/system/settled-panes.js.map +1 -0
- package/src/lib/design/system/sketch/after-merge.d.ts +11 -0
- package/src/lib/design/system/sketch/after-merge.js +51 -0
- package/src/lib/design/system/sketch/after-merge.js.map +1 -0
- package/src/lib/design/system/sketch/aktuell-placeholders.d.ts +30 -0
- package/src/lib/design/system/sketch/aktuell-placeholders.js +87 -0
- package/src/lib/design/system/sketch/aktuell-placeholders.js.map +1 -0
- package/src/lib/design/system/sketch/baseline.d.ts +29 -2
- package/src/lib/design/system/sketch/baseline.js +33 -9
- package/src/lib/design/system/sketch/baseline.js.map +1 -1
- package/src/lib/design/system/sketch/check-sketches.d.ts +11 -0
- package/src/lib/design/system/sketch/check-sketches.js +54 -6
- package/src/lib/design/system/sketch/check-sketches.js.map +1 -1
- package/src/lib/design/system/sketch/cli-args.d.ts +12 -2
- package/src/lib/design/system/sketch/cli-args.js +18 -3
- package/src/lib/design/system/sketch/cli-args.js.map +1 -1
- package/src/lib/design/system/sketch/edit-sketch.d.ts +21 -0
- package/src/lib/design/system/sketch/edit-sketch.js +117 -0
- package/src/lib/design/system/sketch/edit-sketch.js.map +1 -0
- package/src/lib/design/system/sketch/frame-budget.d.ts +24 -0
- package/src/lib/design/system/sketch/frame-budget.js +23 -0
- package/src/lib/design/system/sketch/frame-budget.js.map +1 -0
- package/src/lib/design/system/sketch/identical-renders.d.ts +31 -0
- package/src/lib/design/system/sketch/identical-renders.js +137 -0
- package/src/lib/design/system/sketch/identical-renders.js.map +1 -0
- package/src/lib/design/system/sketch/merge-shared.d.ts +2 -0
- package/src/lib/design/system/sketch/merge-shared.js +7 -10
- package/src/lib/design/system/sketch/merge-shared.js.map +1 -1
- package/src/lib/design/system/sketch/merge-step.d.ts +35 -0
- package/src/lib/design/system/sketch/merge-step.js +98 -0
- package/src/lib/design/system/sketch/merge-step.js.map +1 -0
- package/src/lib/design/system/sketch/merge.d.ts +10 -3
- package/src/lib/design/system/sketch/merge.js +122 -17
- package/src/lib/design/system/sketch/merge.js.map +1 -1
- package/src/lib/design/system/sketch/merged-layout.d.ts +17 -0
- package/src/lib/design/system/sketch/merged-layout.js +57 -0
- package/src/lib/design/system/sketch/merged-layout.js.map +1 -0
- package/src/lib/design/system/sketch/merged-parts.d.ts +41 -11
- package/src/lib/design/system/sketch/merged-parts.js +113 -50
- package/src/lib/design/system/sketch/merged-parts.js.map +1 -1
- package/src/lib/design/system/sketch/no-visible-change.d.ts +10 -0
- package/src/lib/design/system/sketch/no-visible-change.js +16 -6
- package/src/lib/design/system/sketch/no-visible-change.js.map +1 -1
- package/src/lib/design/system/sketch/part-definition.d.ts +56 -0
- package/src/lib/design/system/sketch/part-definition.js +129 -13
- package/src/lib/design/system/sketch/part-definition.js.map +1 -1
- package/src/lib/design/system/sketch/rebase-port.d.ts +24 -0
- package/src/lib/design/system/sketch/rebase-port.js +170 -0
- package/src/lib/design/system/sketch/rebase-port.js.map +1 -0
- package/src/lib/design/system/sketch/sample-mark-drift.d.ts +33 -0
- package/src/lib/design/system/sketch/sample-mark-drift.js +88 -0
- package/src/lib/design/system/sketch/sample-mark-drift.js.map +1 -0
- package/src/lib/design/system/sketch/sketch-check-worker.d.ts +1 -0
- package/src/lib/design/system/sketch/sketch-check-worker.js +27 -0
- package/src/lib/design/system/sketch/sketch-check-worker.js.map +1 -0
- package/src/lib/design/system/sketch/sketch-checker.d.ts +27 -0
- package/src/lib/design/system/sketch/sketch-checker.js +99 -0
- package/src/lib/design/system/sketch/sketch-checker.js.map +1 -0
- package/src/lib/design/system/sketch/sketch.d.ts +78 -2
- package/src/lib/design/system/sketch/sketch.js +247 -54
- package/src/lib/design/system/sketch/sketch.js.map +1 -1
- package/src/lib/design/system/sketch/stale-base.d.ts +22 -0
- package/src/lib/design/system/sketch/stale-base.js +56 -0
- package/src/lib/design/system/sketch/stale-base.js.map +1 -0
- package/src/lib/design/system/sketch/unchanged-states.d.ts +36 -1
- package/src/lib/design/system/sketch/unchanged-states.js +60 -17
- package/src/lib/design/system/sketch/unchanged-states.js.map +1 -1
- package/src/lib/design/system/sketch/unused-closure.js +26 -4
- package/src/lib/design/system/sketch/unused-closure.js.map +1 -1
- package/src/lib/design/system/sketch/unused-files.d.ts +1 -1
- package/src/lib/design/system/sketch/unused-files.js +6 -3
- package/src/lib/design/system/sketch/unused-files.js.map +1 -1
- package/src/lib/design/system/sketch/viewed-shots.d.ts +24 -0
- package/src/lib/design/system/sketch/viewed-shots.js +61 -0
- package/src/lib/design/system/sketch/viewed-shots.js.map +1 -0
- package/src/lib/design/system/slow-checks.d.ts +40 -0
- package/src/lib/design/system/slow-checks.js +197 -0
- package/src/lib/design/system/slow-checks.js.map +1 -0
- package/src/lib/design/system/slow-run.d.ts +57 -0
- package/src/lib/design/system/slow-run.js +253 -0
- package/src/lib/design/system/slow-run.js.map +1 -0
- package/src/lib/design/system/stale-design-mocks.d.ts +20 -0
- package/src/lib/design/system/stale-design-mocks.js +59 -0
- package/src/lib/design/system/stale-design-mocks.js.map +1 -0
- package/src/lib/design/system/stale-dist.d.ts +25 -0
- package/src/lib/design/system/stale-dist.js +91 -0
- package/src/lib/design/system/stale-dist.js.map +1 -0
- package/src/lib/design/system/stale-parts.d.ts +30 -0
- package/src/lib/design/system/stale-parts.js +106 -0
- package/src/lib/design/system/stale-parts.js.map +1 -0
- package/src/lib/design/system/surface-nesting.d.ts +11 -0
- package/src/lib/design/system/surface-nesting.js +86 -0
- package/src/lib/design/system/surface-nesting.js.map +1 -0
- package/src/lib/design/system/system-command.js +8 -6
- package/src/lib/design/system/system-command.js.map +1 -1
- package/src/lib/design/system/system-modules.d.ts +16 -1
- package/src/lib/design/system/system-modules.js +18 -2
- package/src/lib/design/system/system-modules.js.map +1 -1
- package/src/lib/design/system/system-tsconfig.js +2 -2
- package/src/lib/design/system/system-tsconfig.js.map +1 -1
- package/src/lib/design/system/task-command.d.ts +51 -0
- package/src/lib/design/system/task-command.js +233 -0
- package/src/lib/design/system/task-command.js.map +1 -0
- package/src/lib/design/system/theming-text.d.ts +2 -0
- package/src/lib/design/system/theming-text.js +6 -0
- package/src/lib/design/system/theming-text.js.map +1 -0
- package/src/lib/design/system/tom-confirm.d.ts +40 -0
- package/src/lib/design/system/tom-confirm.js +55 -0
- package/src/lib/design/system/tom-confirm.js.map +1 -0
- package/src/lib/design/system/touched-parts.d.ts +16 -0
- package/src/lib/design/system/touched-parts.js +122 -0
- package/src/lib/design/system/touched-parts.js.map +1 -0
- package/src/lib/design/system/ts-source.d.ts +5 -0
- package/src/lib/design/system/ts-source.js +35 -4
- package/src/lib/design/system/ts-source.js.map +1 -1
- package/src/lib/design/system/unchanged-rows.d.ts +15 -0
- package/src/lib/design/system/unchanged-rows.js +134 -0
- package/src/lib/design/system/unchanged-rows.js.map +1 -0
- package/src/lib/design/system/uncommitted-decisions.d.ts +6 -0
- package/src/lib/design/system/uncommitted-decisions.js +38 -0
- package/src/lib/design/system/uncommitted-decisions.js.map +1 -0
- package/src/lib/design/system/uncovered-regions.d.ts +61 -0
- package/src/lib/design/system/uncovered-regions.js +171 -0
- package/src/lib/design/system/uncovered-regions.js.map +1 -0
- package/src/lib/design/system/unused-base-parts.d.ts +7 -0
- package/src/lib/design/system/unused-base-parts.js +76 -0
- package/src/lib/design/system/unused-base-parts.js.map +1 -0
- package/src/lib/design/system/visible-change-command.d.ts +48 -0
- package/src/lib/design/system/visible-change-command.js +308 -0
- package/src/lib/design/system/visible-change-command.js.map +1 -0
- package/src/lib/design/system/visible-change-parts.d.ts +28 -0
- package/src/lib/design/system/visible-change-parts.js +96 -0
- package/src/lib/design/system/visible-change-parts.js.map +1 -0
- package/src/lib/design/system/visible-change.d.ts +82 -0
- package/src/lib/design/system/visible-change.js +149 -0
- package/src/lib/design/system/visible-change.js.map +1 -0
- package/src/lib/design/thumb.d.ts +50 -6
- package/src/lib/design/thumb.js +154 -54
- package/src/lib/design/thumb.js.map +1 -1
- package/src/lib/design/typecheck.d.ts +1 -1
- package/src/lib/design/typecheck.js +3 -3
- package/src/lib/design/typecheck.js.map +1 -1
- package/src/lib/design/unstable-cells.d.ts +23 -0
- package/src/lib/design/unstable-cells.js +40 -0
- package/src/lib/design/unstable-cells.js.map +1 -0
- package/src/lib/design/variant-diff.js +1 -1
- package/src/lib/design/variant-diff.js.map +1 -1
- package/src/lib/design/wait.d.ts +15 -0
- package/src/lib/design/wait.js +30 -0
- package/src/lib/design/wait.js.map +1 -0
- package/src/lib/json-file.d.ts +11 -0
- package/src/lib/json-file.js +21 -0
- package/src/lib/json-file.js.map +1 -0
- package/src/lib/source-hash.d.ts +7 -0
- package/src/lib/source-hash.js +62 -0
- package/src/lib/source-hash.js.map +1 -0
- package/src/lib/update/agent-setup.js +2 -1
- package/src/lib/update/agent-setup.js.map +1 -1
- package/src/lib/update/migration-manifest.d.ts +12 -0
- package/src/lib/update/migration-manifest.js +13 -0
- package/src/lib/update/migration-manifest.js.map +1 -1
- package/src/lib/update/migration-record.js +2 -1
- package/src/lib/update/migration-record.js.map +1 -1
- package/src/lib/update/pending.js +2 -1
- package/src/lib/update/pending.js.map +1 -1
- package/src/lib/update/run-migrations.d.ts +3 -2
- package/src/lib/update/run-migrations.js +38 -5
- package/src/lib/update/run-migrations.js.map +1 -1
- package/src/lib/update/tasks.js +2 -1
- package/src/lib/update/tasks.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,422 @@
|
|
|
1
1
|
# @ethlete/cli
|
|
2
2
|
|
|
3
|
+
## 3.0.0-next.27
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- `et design check` treats a busy drawing as ongoing work and fails with `STATE-NOT-IN-COMPONENT` when a state is not named after the app phase it sets.
|
|
8
|
+
- `et design check` and `et design part-check` name the `motions` entry a missing looping motion needs, and `et design sketch check` and `sketch ready` count a state the variant draws busy as ongoing work.
|
|
9
|
+
- The design check now flags doubled and lost card surfaces, and a page or sketch that rewrites an imported part's markup.
|
|
10
|
+
- Add `design sketch target remove`, and make `sketch target add` refuse a part that would break the layer rule (UPWARD-DEPENDENCY) up front.
|
|
11
|
+
- Add the manifest field `addsWhenFound`: `et update` adds a package only when a `.ts` file names one of the listed identifiers. The `to-query-v3` migration adds `@ethlete/query-devtools` only for repos that use `QueryDevtoolsComponent`.
|
|
12
|
+
- `et design ready` drops `--by` and writes a tool-checked build-ready record that `design check` keeps current; the open-points answer gains `buildReady`, and the `no-go` / `stale-go` points are gone.
|
|
13
|
+
- `design commit-hunks` now splits every shared JSON under `.ethlete/design` per entry (`--part`, or `--id` for `capabilities.json`), writes keys sorted, refuses files it cannot split, and waits for a held index lock.
|
|
14
|
+
- Add `et design commit-hunks <file> --part <p>`, which commits only the entries of one part from a shared JSON file; `sketch ready` prints it for each shared file it wrote.
|
|
15
|
+
- Add `et design actions --live`, which checks the shell controls on the app's real pages; `et design ready --url` runs it too.
|
|
16
|
+
- New `et design actions` checks that each control reaches the state or fires the output its design declares in `data-et-action`; `et design complete` fails an undeclared one.
|
|
17
|
+
- `design go` and `design accept` store a picture hash per state in `pictures.json`; `design check` carries a review or go to a part's new hash as an `auto` acceptance when every state draws pixel-identical.
|
|
18
|
+
- Design frames resolve `data-et-auto-surface` by elevation like `etAutoSurface` and style `data-et-surface-interactive` like `etSurfaceInteractive`; `et design task` maps both attributes to the `@ethlete/core` directives.
|
|
19
|
+
- `design check` prints a `DONE <product>: n of m` line counting the parts implemented at their go hash and marked ready.
|
|
20
|
+
- `et design check` now lists the missing control states and undrawable parts `et design ready` refuses on without `--complete`, which is no longer needed.
|
|
21
|
+
- `design check --product <name> --rules` runs only the static design rules, in seconds.
|
|
22
|
+
- `et design check` reports `CLASS-UNDEFINED` for a Tailwind class in a design part that compiles to no CSS against the product's stylesheets. A sketch fails only on a class it adds.
|
|
23
|
+
- `design compare --all --product <name>` compares every done part and exits 1 on any deviation or part it cannot compare. `design compare` on a foundation part prints that there is nothing to compare and exits 0.
|
|
24
|
+
- `et design compare` and `et design task --verify` no longer need `--url`: without it they start the harness app's dev server on a free port and stop it afterwards.
|
|
25
|
+
- Add `et design compare`, which shoots each part state against the app's `/__design-harness` route at 0 px. `task --verify --url` records the implementation when compare is green, and a page link may name its `component`.
|
|
26
|
+
- `et design check` warns with `DENIED-CLASS` and `DENIED-STYLESHEET` when a part, or the product's stylesheet, uses a class or `var()` that the product's `deniedClasses` patterns deny.
|
|
27
|
+
- `et design go` and `et design accept` with `--by tom` need a confirm at a terminal; `et design go --batch <file>` confirms a go list at once.
|
|
28
|
+
- `et design go --by tom` needs `--note "Impl Qnn"` naming a committed plan decision, and refuses when the part's design changed after that decision. The note is stored in the go entry.
|
|
29
|
+
- `design compare --live --sketch <variant>` compares live states against a sketch variant, `design sketch check` flags live-spec design states that do not exist, and an old record no longer absorbs a changed imported part.
|
|
30
|
+
- Add `definePart({ frame })`: a demo frame that wraps only the part's own states. A part that calls `render` of another part gets it without the frame.
|
|
31
|
+
- Add `et design go`, a go per design part that stores the released design. A linked part without a current go lists the open points `no go` and `go is stale`.
|
|
32
|
+
- Add `et design task`, which prints what implementing a part with a current go takes: its states, the states changed since the last implementation, and the allowed files. `--verify` rejects a commit that changes other files.
|
|
33
|
+
- `et design actions` and `et design actions --live` click each focusable element with a real mouse click and fail when it shows a focus ring afterwards. A missing ring on keyboard focus is reported as a warning.
|
|
34
|
+
- Design frames resolve `data-et-semantic-color="<type>"` to the colour theme of that type and apply the surface's `colorThemeVariants` swap on auto surfaces; `et design task` maps it to `injectSemanticColorTheme`.
|
|
35
|
+
- `slot(name)` from `@design-system` marks a part's region whose content the implementing component projects with `<ng-content>`. `et design compare` empties every such region in the design picture, as the harness projects nothing.
|
|
36
|
+
- `et design` part hashes cover every imported file and the app component's files, and `design check` names what made a ready or done part `STALE`.
|
|
37
|
+
- A grid row that forces only plain SDK components the part does not style draws at rest only; shot, compare and the visible-change gate skip its interaction states.
|
|
38
|
+
- `et design check --product <name> --visible-change [--base <rev>]` fails a harness part whose app looks different since the merge base, unless a picked or merged sketch of it is in the range or it moved closer to its design.
|
|
39
|
+
- A visible edit of a merged design part outside a sketch now opens an old/new sketch to pick in Studio, and merges no longer write `accepted.json`.
|
|
40
|
+
- `et design go --batch` takes `"action": "merge"` entries: a sketch merge as Tom, checked with every other entry before the one prompt. The merge refusal for a sketch in progress names the `sketch ready` command.
|
|
41
|
+
- `design check` keeps a go when a design change adds a state but leaves every existing state pixel-identical, and lists the new state for the next review.
|
|
42
|
+
- `design check` and sketch variants fail with `INLINE-UI-IN-PAGE` when a page writes interactive markup instead of embedding a part.
|
|
43
|
+
- A design part can declare `instant: 'reason'` when its states switch without motion, instead of listing every pair as `unreachable`; `design sketch ready` prints a NOTE for it.
|
|
44
|
+
- `design check --product <name> --live` and `design compare --live` report visible app regions no part covers (UNCOVERED), unless the live spec lists them under `partless`.
|
|
45
|
+
- `ORPHAN-ENDPOINT` known entries now name the state they expect, and fail when the code no longer matches it.
|
|
46
|
+
- The render check fails `UNREACHABLE` on a declared action a state hides, fades out, shrinks to nothing or buries under
|
|
47
|
+
another element, and `COVERED` on an action or a nested projected region an opaque element of another subtree paints
|
|
48
|
+
over.
|
|
49
|
+
- `et design ready` and `POST /__design/part-ready` refuse a part while `et design actions` fails for it, and list the failed checks. `et design ready` takes `--url` for a running harness app.
|
|
50
|
+
- `design check` SAMPLE-DEFAULT also flags an implementing app component that falls back to a sample constant (`_SAMPLE`, `_ROWS` or a literal `UPPER_CASE` class field of the file) via `??`, `||` or a ternary.
|
|
51
|
+
- Add `et design sketch new --name <n>`: a second sketch on a part gets its own folder, `sketch.json` and id (`<layer>/<name>@<n>`), and the unnamed single-sketch layout is unchanged.
|
|
52
|
+
- `et design sketch report` refuses a ready sketch. Add `--reopen` to move it back to in progress when the user asks for a change.
|
|
53
|
+
- Add `design sketch withdraw` for an agent to retract its own identical variant; verdict commands now refuse an unknown `--by`.
|
|
54
|
+
- Studio can now record a go and accept a direct edit by a click (new `/__design/part-accept` route).
|
|
55
|
+
- New slow design rules `APP-SPEC`, `UNCOVERED-REGION` and `VISIBLE-CHANGE` run with `et design check --product <name> --slow` and in the background of `et design serve`; their results feed build-ready.
|
|
56
|
+
- `et design task` starts only on a build-ready part and lists its blockers; done, STALE and ACTION-LOST read the check record instead of go.json.
|
|
57
|
+
- `et design check` now fails on CLASS-UNDEFINED, DENIED-CLASS and DENIED-STYLESHEET findings, and `design accept` refuses a part with a check finding.
|
|
58
|
+
- `design sketch check` warns `VARIANT-UNCHANGED` when every state of a live variant draws the same pixels as Aktuell.
|
|
59
|
+
- `design compare pages/<name> --live` compares a page design with the app's real page, run on the fixed sample the product names in `harness.live`.
|
|
60
|
+
- `design compare` now runs on a part that changed since its go and marks its output `unapproved`. `design task --verify`, `ready` and `accept` still require a current go.
|
|
61
|
+
- `et design harness --product <name>` generates the design harness part map from the parts' `implements` links; `compare` and `task --verify` refuse a stale map.
|
|
62
|
+
- The design system listing flags a base part no part of the product imports with `unusedInProduct`, and Studio lists those parts in a folded "Not used in <product>" group.
|
|
63
|
+
- `design shot --variants` leaves out variants their agent withdrew; `--all` or `--variant <name>` draws them.
|
|
64
|
+
- `design sketch merge` records the picked variant, who decided it and when in `merged.json`, next to the part's hash. Hash-only entries still read.
|
|
65
|
+
- `design sketch rebase --ported` keeps files already ported by hand and ports the rest.
|
|
66
|
+
- `design sketch rebase` merges the product's changes into each variant and stops on a conflict; `sketch ready` on a ready sketch exits 0.
|
|
67
|
+
|
|
68
|
+
### Patch Changes
|
|
69
|
+
|
|
70
|
+
- The design action check drops the keyboard focus ring of a control pressed with Enter or Space before comparing
|
|
71
|
+
against a goal state drawn unfocused, so an in-place toggle reaches its state.
|
|
72
|
+
- `ethlete-agents sync` and `et` write their JSON files (`.mcp.json`, design and update state) in the checkout's Prettier format.
|
|
73
|
+
- A refused auto-merge in `design sketch ready` no longer leaves a `pick` decision in `sketch.json`.
|
|
74
|
+
- `design sketch check` and `ready` print each pre-existing problem as its own line, and the "no looping motion" refusal names the `motions` entry to add.
|
|
75
|
+
- Do not refuse `design` for a checkout whose `dist/libs/cli` is a symlink into another checkout, as in the e2e-check worktrees.
|
|
76
|
+
- Settle the embedded frames of a part before a motion shot, so an animation inside an iframe is finished in every keyframe.
|
|
77
|
+
- The stale cli build refusal now also compares the source hash when `dist/libs/cli` is symlinked from outside the checkout: a matching build runs, a build from other sources is refused.
|
|
78
|
+
- The stale cli build refusal of `et design` now also applies when it runs from a subfolder of the checkout, so `compare`, `check` and every other design command refuse a build made from other `libs/cli` sources.
|
|
79
|
+
- The System page popover ends in a build-ready footer with a Gründe disclosure, and `design compare` now clicks open a trigger that sits inside an overlay.
|
|
80
|
+
- The action check checks only the elements a part draws itself, leaving an embedded part's to its own check, and prints a `host` line only when it skipped one.
|
|
81
|
+
- `design actions` checks an action declared inside an embedded part against that part's own app component, not the host page.
|
|
82
|
+
- `design actions` and `design live-actions` name the state a missed press reaches instead when only `aria-expanded` can tell the states apart.
|
|
83
|
+
- `design actions` names what a missed state action reached instead: "reaches state X instead" when the app drawing matches another declared state, or "reaches no declared state (closest X, N px)" otherwise.
|
|
84
|
+
- `design actions` expects a surface opened from another state over that state, and resolves a state an embedded part already draws against the page.
|
|
85
|
+
- `design actions` presses at the frame size and no longer fails elements that differ only in tag, accessible name, or an action their embedded part owns.
|
|
86
|
+
- `et design actions` and the live action check press a switch, checkbox or radio with click and Space only, as a native checkbox; Enter no longer counts as a missed action on them.
|
|
87
|
+
- `design actions` prints each action check as soon as it is known instead of all at the end, so a killed run keeps its results.
|
|
88
|
+
- `design actions` waits for the part to mount on a page-layout harness before it scans its controls.
|
|
89
|
+
- A spec now fails when a Studio-server route changes without a bump of the Studio API level.
|
|
90
|
+
- `et design check --app-classes` no longer refuses while the design mocks are unbuilt, since it reads only the app source.
|
|
91
|
+
- `design check` no longer carries a go past a change inside a slot.
|
|
92
|
+
- Drop the INLINE-UI-IN-PAGE open entries the Studio pages no longer need.
|
|
93
|
+
- Empty the INLINE-UI-IN-PAGE open list: the inbox and system pages embed the comment-draft part.
|
|
94
|
+
- The refusal of a second sketch on a target with an open sketch names the way out: extract the region into a part and sketch that.
|
|
95
|
+
- `design complete` accepts a bare `data-et-surface` on a part's root element as the part's own surface, with no control declaration. A bare one anywhere else is still a gap.
|
|
96
|
+
- The cli build now writes its build time into a shipped build-info.json, so the design server can tell a newer install from an older one even when the package files all carry the same timestamp.
|
|
97
|
+
- `design check` runs the `CAPABILITY-PLACE` rule: a capability no design action draws fails the check, and one listed as `missing` prints a warning.
|
|
98
|
+
- `et design check` ends with one count line per rule, zeros included, then `check complete: <n> parts, <m> findings`, so a log read mid-run no longer looks clean.
|
|
99
|
+
- `design check` names every stateful part that `design ready` cannot draw, also when the render check is skipped or blocked, so it lists the same refusal reasons as `ready`.
|
|
100
|
+
- `design check` prints the instant line of a part that declares instant state switches, like `sketch ready`.
|
|
101
|
+
- `et design check` runs the render check even when a static rule fails, and names each part it could not draw in a `NOT CHECKED` line.
|
|
102
|
+
- A part whose drawing times out in `design check` is drawn once more alone, and a second timeout reports `RENDER-TIMEOUT` instead of `RENDER`.
|
|
103
|
+
- `design check` now reports every SDK error (`ET` code) a part logs while it draws as a `RENDER` issue.
|
|
104
|
+
- `design ready` refuses a part with a state that does not draw, and `design check` names it as a part ready refuses. The `RENDER` line of an undrawn state now carries the error that stopped it.
|
|
105
|
+
- `design check <layer>/<name>` reports only that part, and a flag `design check` does not read fails with exit code 2.
|
|
106
|
+
- The design check no longer reports the string options of a design renderer call, such as a dialog placement, as undefined classes; only the class option and HTML content are read.
|
|
107
|
+
- `CLASS-UNDEFINED` no longer reads the option values of a `part.render({ ... })` call on an `@system/` part as classes.
|
|
108
|
+
- `et design check` prints `CLASS-UNDEFINED` as a warning for now, so a product can migrate its classes; a sketch still fails on a class it adds.
|
|
109
|
+
- The design server stops a sketch listing, compare or diff once every client that asked for it has closed its request, instead of drawing the remaining pictures.
|
|
110
|
+
- `et design commit-hunks` waits for a held `.git/index.lock` and retries, and the `sketch ready` refusal on a held sketch names the `sketch release` command.
|
|
111
|
+
- `design compare` opens each state a part's `controls` name as a surface by a real pointer click on the app trigger, from the state whose props differ least, instead of passing the open props to the harness.
|
|
112
|
+
- `design compare` fails a state whose harness page or live page logs an SDK error (`ET` code), and names each code and message.
|
|
113
|
+
- `design compare` hovers, presses or keyboard-focuses each element the design picture forces, found in the app by its `aria-label`, before it shoots the harness.
|
|
114
|
+
- `design compare` and the `DROPPED-PROP` check accept a design prop that the harness `DESIGN_HARNESS_SAMPLES` function of the part consumes, even without a matching input.
|
|
115
|
+
- `et design compare` shoots a fitted app part with its overflowing positioned content and the design's pixel rounding, and a forced press also forces hover, as a real pointer press does.
|
|
116
|
+
- `design compare` draws a part that declares `widths` at its first width, in the design and in the app's harness host, instead of fitting the app component to its content.
|
|
117
|
+
- `design compare` no longer fails a state on a design prop that no state differs by, or that only forcing states set.
|
|
118
|
+
- `design compare` lets the harness drop a design prop set to `selected` in a state whose design draws a selected option, as the app draws that look from its own value.
|
|
119
|
+
- `design compare` fails a state it cannot check: one that differs from another only inside emptied slots, or one with a design prop the app component has no input for.
|
|
120
|
+
- `design compare` no longer fails when the app opens fewer overlay panes than the design draws, such as a static dialog. It waits 3 seconds for the panes, then shoots anyway so the pixel compare decides.
|
|
121
|
+
- `design compare` waits until the app opened and settled as many overlay panes as the design picture draws before it shoots the app, so a popover that opens on mount is no longer missing from the app picture.
|
|
122
|
+
- The COVERED rule no longer flags an aria-hidden decoration with pointer-events none or an aria-modal layer over its anchor.
|
|
123
|
+
- `DENIED-CLASS` also matches the Tailwind short form of a variable, such as `text-(--warning)`.
|
|
124
|
+
- A product's `harness.hosts` declares the app's shared host components by accessible name. The action check skips them and prints one `host <name>: not checked` line per run instead of a miss in every state.
|
|
125
|
+
- `et design check` reports ACTION-LOST for an action a part's go recorded that no part of the product draws any more; a new go of the part confirms the removal.
|
|
126
|
+
- `design go` and the Studio go record the action keys a part declares, so a later check can report an action that was released with a go and is gone from the product.
|
|
127
|
+
- `design check`, `design sketch check` and `sketch ready` now report an interactive design element (button, `[aria-expanded]`, interactive role, click listener) without `data-et-action` as ACTION-UNDECLARED while drawing.
|
|
128
|
+
- `design check` now reports ACTION-UNDECLARED in a part whose go still holds as one warning line per part, with the hit count and first element. A part without a go, or changed since it, still fails.
|
|
129
|
+
- `design actions` exempts a part from declaring its actions when another part declares it as a control's `part`; that embedding part declares the actions.
|
|
130
|
+
- `design actions` runs about four times faster, with the same results and output order.
|
|
131
|
+
- `design actions --live` clicks every control that opens an overlay three times and fails when its `aria-pressed` or `aria-expanded` no longer matches whether the overlay is open.
|
|
132
|
+
- The design server serves frames from a checkout whose `node_modules` is a symlink, instead of answering `403 Restricted`. The studio canvas e2e checks that a frame shows content.
|
|
133
|
+
- A design product can list its user capabilities in `capabilities.json`, and the `CAPABILITY-PLACE` rule reports each one without a design action place.
|
|
134
|
+
- `design check` no longer reports each render finding twice, once per colour scheme.
|
|
135
|
+
- `design check` prints a progress line per part and reports a part stuck for 120 s as a `RENDER` issue; the design frame no longer logs a ResizeObserver loop error.
|
|
136
|
+
- The design server's comments list carries the checkout's `git config user.name`, and the Studio inbox shows it as the author of the user's comments instead of "Du".
|
|
137
|
+
- `design compare` on one part also runs the action check that `design task --verify` runs and fails on a miss. When the check cannot run it fails with `actions not checked: <reason>` instead of passing.
|
|
138
|
+
- `design compare` empties only the `slot()` regions the compared part draws itself, no longer those of the parts it embeds, so a page keeps the content of its shell.
|
|
139
|
+
- `design compare` no longer flips an overlay that opens above a fitted part below it.
|
|
140
|
+
- Read the harness room from the compared part's own design mark in `design compare`.
|
|
141
|
+
- `et design check --complete` no longer stops on a forced control clipped outside the page, and reports a frame it cannot draw as a RENDER finding instead of crashing.
|
|
142
|
+
- `design check` now fails with CUT-CONTROL when a control is partly clipped, and with SKIP-SCOPE when `data-et-skip="CLIPPED"` covers interactive controls.
|
|
143
|
+
- `design complete` refuses a part whose drawing root paints the fill of the surface it sits on (`DEMO-BACKDROP`): a demo backdrop the app part does not draw. Pages are exempt.
|
|
144
|
+
- The design tool no longer forces hover, active or focus-visible on a disabled element: `interactionRows` draws a row with `disabled: true` only at rest, and `forceInteraction` and the frame leave a `disabled` or `aria-disabled="true"` root alone.
|
|
145
|
+
- `design dom --app` refuses a state it cannot render (a forced hover, active or focus state, or a state a click opens) instead of printing idle or closed HTML.
|
|
146
|
+
- Add `design dom <layer>/<name>`, which prints the pretty-printed HTML of a part state: its rendered design, or with `--app` the app harness element that compare shoots.
|
|
147
|
+
- Send a heartbeat on the design server's event stream every 20 seconds. WebKit dropped the quiet stream after 60 seconds. Studio then reloaded every list and frame after each reconnect, so Studio on macOS showed no frames.
|
|
148
|
+
- `design check` reports `CLASS-GLUED-INTERPOLATION` as a problem, not a warning, so a class glued to an interpolation blocks `sketch ready` and a merge.
|
|
149
|
+
- The design server now marks the markup of a part's exported helpers as that part, and slots their arguments. A page control declared with `part` also counts on the root of that part.
|
|
150
|
+
- A design render of a `render.packages` folder whose `dist` is missing now fails at once, naming the folder and `nx build <package>`, instead of waiting 60 seconds per module.
|
|
151
|
+
- `design` pictures keep SDK component styles when the first render sits in an emptied slot, and `design check` flags SDK markup drawn without its CSS.
|
|
152
|
+
- `et design check` reports ORPHAN-ENDPOINT for a path the design server serves that the product's app never calls.
|
|
153
|
+
- `design check` carries a shrink-only list of known orphan Studio API endpoints, each tied to a backlog id: a listed one is a warning, a new orphan or a listed path with a caller again fails.
|
|
154
|
+
- `et design` restarts itself on the same port when the cli is rebuilt or reinstalled, so a running server never draws with old frame or rule code.
|
|
155
|
+
- `design check` and the pre-push check now fail with SKETCH-BASE-STALE while an open sketch's base part changed since it was drawn, naming the `sketch rebase` command.
|
|
156
|
+
- SKETCH-BASE-STALE now also reports a picked sketch, skips only a discarded one, and prints the repo's own `design` invocation.
|
|
157
|
+
- `et design check` and `et design ready` warn when a lib the drawings load from `dist/libs` has source changes newer than its build.
|
|
158
|
+
- `et design task --verify` now also allows a changeset and the generated harness map of the product, for every product.
|
|
159
|
+
- `et design sketch new` and `et design task` now name the SDK surface and colour theming systems and point to the `theming` skill.
|
|
160
|
+
- `et design check` fails a frame-loaded design module that awaits at the top level (`TOP-LEVEL-AWAIT`), which can hang WebKit; a call variant may default-export a promise of its drawing instead.
|
|
161
|
+
- Add the UNBOUND-INPUT and SAMPLE-DEFAULT rules for inputs of app components that implement a part, ratcheted by known lists.
|
|
162
|
+
- `design product`, `new`, `system` and every `sketch` command refuse an unknown flag with exit code 2 and list only their own flags. `commit-hunks` exits 2 on bad usage.
|
|
163
|
+
- Design subcommands refuse an unknown flag with exit code 2 and list the flags they take, instead of ignoring it.
|
|
164
|
+
- `et design check` no longer counts a part without an `implements` link as an open point. It lists those parts on one `UNLINKED <product>: <part>, ...` line, and they stay clean and ready.
|
|
165
|
+
- Every wait in `et design` now has a limit and names what it waited for when it times out.
|
|
166
|
+
- Add the `withAction(markup, action)` design helper: it declares a `data-et-action` on the first `<button>` (or the element `{ action, on }` names) and throws when nothing matches, instead of a string replace that silently adds nothing.
|
|
167
|
+
- `CONTROL-PART-INPUT` treats a `dialog` or `alertdialog` pane with `tabindex="-1"` as a focus container, not a control.
|
|
168
|
+
- The design check no longer asks for hover, active or focus cells on a disabled control row, and it reports a disabled control whose hover or active look differs from its plain look as DISABLED-INTERACTION.
|
|
169
|
+
- When an embedded part's app files change, `design check` asks for a re-run of the embedding parts' action checks, and `design ready` names that reason.
|
|
170
|
+
- `et design go` writes `go.json` in the checkout's Prettier format.
|
|
171
|
+
- Opening a design frame now fails with the URL and HTTP status when the design server answered 400 or above (such as Vite's 403 for a file outside `server.fs.allow`), instead of measuring the error page.
|
|
172
|
+
- `design go` and `design accept` refuse every `--by` but `tom`: only Tom grants a go or an accept, and agents report ready instead.
|
|
173
|
+
- A refused `design go --batch` without a terminal now prints the exact command to run in your own terminal.
|
|
174
|
+
- The Studio go answer now reports a failed harness map regeneration as `harness`.
|
|
175
|
+
- Every `go.json` entry records the command that wrote it in `via` (`design go` or `studio click`). An automatic refresh of its hash keeps `by` and `via` and adds `refreshedBy` and `cause`.
|
|
176
|
+
- `et design` reuses the last harness app build while none of its inputs changed (tracked and untracked files, installed packages, Node version, build command) and rebuilds only when one did.
|
|
177
|
+
- The harness build cache key no longer includes plans, changesets and the design sketches and comments, which the build does not read, so editing them keeps the cached build.
|
|
178
|
+
- `design compare` draws a part that inherits its text style in the design frame's type, not the app body's.
|
|
179
|
+
- `design sketch ready` compares each variant at its own first changed state and names that state when it draws like an earlier variant's first change, so reordering a variant's states now clears the refusal.
|
|
180
|
+
- `definePart` accepts the `instant` field that `design check` already reads, so a part that declares it type-checks.
|
|
181
|
+
- The design control inventory marks a control another element fully covers as covered. Studio lists it but draws no outline or number badge for it.
|
|
182
|
+
- The quick sketch list (`/__design/sketches?unchanged=no`) answers without `problems` and `targets`: it runs no rule check and loads no part module, so it returns in milliseconds.
|
|
183
|
+
- `design actions --live` ends its wait after a press as soon as the declared output fired or the page went quiet, instead of always waiting 400 ms.
|
|
184
|
+
- The sketch check prints `NOTE <part>: live states not checked: spread states` when it skips the live state check of a
|
|
185
|
+
part whose state names cannot be read statically.
|
|
186
|
+
- The live check counts an app region as designed when an open sketch targets the part that covers it.
|
|
187
|
+
- Stop the LOST-SURFACE render rule from flagging a bar with a one-side divider; only a box with a border on all four sides, a shadow or an outline counts as a card.
|
|
188
|
+
- The merge preview also draws a state that only the merged variant has, or that the merge removes, as a change drawn on its one side.
|
|
189
|
+
- The merge preview draws each sketched element and page itself, so a page sketch shows its before and after instead of an empty canvas.
|
|
190
|
+
- A design sketch merge keeps a comment thread open when it has no reply yet or its last entry asks a question, and `design check` lists an addressed thread as waiting on the user.
|
|
191
|
+
- `design compare` and `design actions` count a `model()` of the app component as an input plus a `<name>Change` output, so a two-way bound toggle reaches its declared emit.
|
|
192
|
+
- A named sketch (`sketch new --name`) is now checked against its own part: the metadata check of sketch check and ready,
|
|
193
|
+
and the variant diff, compare the part key instead of the sketch id.
|
|
194
|
+
- Add the opt-in `NATIVE-TITLE` rule to `design check`: a product config with `nativeTitle: 'deny'` fails on a native `title` attribute in the design markup
|
|
195
|
+
- `design check` prints a `NOT CHECKED` line for each state that does not draw, not only for a whole part.
|
|
196
|
+
- `design compare --live` fails a state as OCCLUDED when a shell panel covers a design frame (opt out per live state with `"occluded": true`), and waits for overlay panes to end their enter animation before each shot.
|
|
197
|
+
- The open point of an unmerged sketch names the sketch, for example "sketch pages-system is ready, not merged", and adds "(it also targets this part)" on a part that is not the sketch's main target.
|
|
198
|
+
- A part that declares an explicit `controls: {}` no longer gets a "no controls declared" open point; a part without a
|
|
199
|
+
`controls` key keeps it.
|
|
200
|
+
- The ORPHAN-ENDPOINT rule counts an endpoint that a host function builds from a bare segment (`productUrl(address, 'comment')`) as used only when an app file calls that function. The unwritten comment reply, done and withdraw endpoints are tracked as known orphans.
|
|
201
|
+
- Page parts no longer list missing motions as open points; their states are data scenarios, like the missing states they already skip.
|
|
202
|
+
- The pointer-focus check accepts a ring that a key after the click brings up on a control, as browsers draw it on a plain button.
|
|
203
|
+
- The pointer-focus check presses Shift after the click and fails when the ring shows up then.
|
|
204
|
+
- The pre-push live check counts the working tree's uncommitted open sketches, so a part an open sketch targets no longer fails the push as uncovered.
|
|
205
|
+
- Add the pre-push helpers that pick the Studio specs and the design parts a push reaches, so the hook runs `vitest related` on those specs and the static design rules on those parts.
|
|
206
|
+
- The quick sketch listing carries each variant's states, widths and interactions, so the Studio sketch grid shows them before the pictures are compared.
|
|
207
|
+
- The render rules that walk controls (`CUT-CONTROL`, `SKIP-SCOPE`, `UNREACHABLE`) share one reachable-controls helper, so they agree on inert, hidden and `display: none` subtrees.
|
|
208
|
+
- `design ready` on a part that is already ready at the same hash keeps the mark's `by` and `at` and only refreshes the embedded record.
|
|
209
|
+
- `design sketch ready` takes each variant's first changed state from the pixel diff `design shot` uses, at the frame a shot draws, so ready and shot no longer disagree on which state a variant changes first.
|
|
210
|
+
- `et design` rebuilds a stale lib with `--skip-nx-cache`, so nx no longer restores the old cached build.
|
|
211
|
+
- `design check`, `design sketch check`, `design sketch ready` and `design shot` now refuse while `libs/components/design` differs from its build in `dist/libs/components/design`, and print the build command that refreshes it.
|
|
212
|
+
- `design` refuses to run from a build whose libs/cli sources changed since it was built, and names `NX_NO_CLOUD=true npx nx build cli`. The build records a content hash of the sources in `build-info.json`.
|
|
213
|
+
- The `POST /__design/part-ready` Studio endpoint is removed (no app called it; `et design ready` stays) and the Studio API level moves to 3.
|
|
214
|
+
- `et design check` now fails with exit 1 and names the browser it looked for when no Chromium is usable on a dev machine. Under `CI` it still prints `RENDER CHECK SKIPPED` and passes.
|
|
215
|
+
- A render server that fails to start is now reported by `design sketch ready` and `check` ("could not render ...") instead of passing silently.
|
|
216
|
+
- The design render check reports NESTED-SCROLL when a box in a design frame scrolls content that does not fit it, and measures the contrast of text inside `inert` previews.
|
|
217
|
+
- The design render check reports SEE-THROUGH when text under an open overlay pane (overlay, popover, menu or dialog) shows through it, or when text outside any overlay paints over the pane.
|
|
218
|
+
- Fix the types of the render-timeout key so the cli compiles again.
|
|
219
|
+
- The design render worker restarts once a package build that was missing when it loaded appears, so a render that ran
|
|
220
|
+
during an SDK rebuild no longer keeps failing with "missing, run `nx build ...`" until the server restarts.
|
|
221
|
+
- `design sketch check` fails with `ROUND-NOT-READY` on a drawn round that is neither ready nor on hold, and `sketch report --done` and the pre-commit hook refuse it too.
|
|
222
|
+
- `design sketch check` warns `ROUND-NOT-READY` when a sketch's round is fully drawn but still in progress.
|
|
223
|
+
- Declare `rxjs` as a dependency; `design check` uses it for the per-part timeout.
|
|
224
|
+
- `design sketch ready` refuses, and `sketch check` warns, when one sample a part opts into with `sample` carries different marks in two states of a host (`SAMPLE-MARK-DRIFT`).
|
|
225
|
+
- The design server's stamp route now also reports its API level, build time, project and the cli installed in that project, and a new judge function tells Studio whether to restart the server or update the cli.
|
|
226
|
+
- `design compare` and `design actions` no longer wait out their settle timeout on a scroll-driven animation (an open SDK menu's scroll fade), which made `design actions` and `design ready` look hung.
|
|
227
|
+
- The token and icon sheets no longer repaint the page fill on their bordered panels, which tripped LOST-SURFACE in every product's foundations.
|
|
228
|
+
- `design shot` finishes the transitions of embedded frames before it draws, and draws each state twice: a state whose two renders differ is reported with its changed pixel count and box, and the command exits non-zero.
|
|
229
|
+
- `design shot` draws the hover, active and focus-visible cells of a grid row the grid leaves out as unchanged, instead of printing "not drawn".
|
|
230
|
+
- `design shot --state <name>` draws an interaction state of a grid row the grid leaves out as unchanged, and `design sketch check` no longer checks a withdrawn variant: it prints a `NOTE` line.
|
|
231
|
+
- `sketch check` reports, as `ready will refuse:` lines, a variant that does not load, an open point a live variant adds and a running round without a note, so it fails on what `sketch ready` refuses.
|
|
232
|
+
- `sketch check` reports the unused imports, parameters and classes that `sketch ready` refuses, so the two no longer disagree.
|
|
233
|
+
- `design sketch check` and `sketch ready` fail a variant on `CONTROL-STATE` only for an interaction state its base part does not already draw, so they agree with the product check.
|
|
234
|
+
- `sketch ready` refuses a variant that draws like another variant or the current part in every state; `sketch check` now warns of ready refusals instead of failing.
|
|
235
|
+
- `et design serve` checks the sketches of a full listing in a worker and lists them in turns, so frames and renders keep answering while it runs; listings asked at once share one check.
|
|
236
|
+
- The sketch listing answers `&targets=no` without loading part modules, and `sketch check` warns when a sketch draws more than 24 frames.
|
|
237
|
+
- A sketch merge refused for a dirty product no longer leaves the sketch half-merged, and uncommitted decision files such as `go.json` no longer block it.
|
|
238
|
+
- `design sketch merge` refuses before writing when the product has uncommitted edits outside the sketch, and names a type error in a file the merge did not change as "product broken outside this sketch".
|
|
239
|
+
- `design sketch merge --note` keeps each target part's note and logs the reason in `accepted.json`; `--replace-note` writes the note over the part's note as before.
|
|
240
|
+
- `sketch check` and `sketch ready` catch rule problems in the sketch's `shared/` files that only the post-merge check used to find, and a refused merge answers Studio with the check's findings.
|
|
241
|
+
- `sketch new` now lists `sketch ready` before `sketch report --done` in its next steps.
|
|
242
|
+
- `et design sketch ready` no longer refuses on a render issue the merged part already shows; new issues still block.
|
|
243
|
+
- `design sketch ready` no longer refuses a sketch because of problems in its rejected variants.
|
|
244
|
+
- The sketch check reports a parameter of a `shared/` function as unused only when no call in any variant passes it. A parameter that only some variants pass no longer reports.
|
|
245
|
+
- The SKIP-SCOPE rule reports a skip site once per part instead of once per rendered state.
|
|
246
|
+
- `et design` run from a repo checkout prints a WARN on stderr as its first line when the built cli is older than `libs/cli/src`. It names the build time, the newest source time and the rebuild command, and never refuses.
|
|
247
|
+
- The design server answers `/__design/stale-mocks` with the design mocks whose build is stale and the command that
|
|
248
|
+
rebuilds them (Studio API level 4).
|
|
249
|
+
- The design check no longer reports a stale replace on markup that a package draws in one branch of a conditional.
|
|
250
|
+
- The design server's `/__design/stamp` answer now carries the `pid` of the serving process, so a client can tell a restarted server from the one it talked to before.
|
|
251
|
+
- `design compare` clicks a surface state open from the first of equally close states when they all share the same props, instead of stopping as ambiguous.
|
|
252
|
+
- `design task --verify` now also runs the actions check and fails when an action misses or the check cannot run, so a part with a dead control is no longer recorded as implemented.
|
|
253
|
+
- The design type check runs `tsc` with `--pretty false`, so a forced colour setting no longer hides the failing file from the sketch merge.
|
|
254
|
+
- Drop the Studio inbox `draft` input from the known unbound inputs; the inbox binds it again.
|
|
255
|
+
- The check command warns per product of decision files (go.json, accepted.json, merged.json, pictures.json, sketch.json) that differ from HEAD, and honours a positional part like `--part`.
|
|
256
|
+
- The `VISIBLE-CHANGE` slow rule reports a state the app cannot be driven into as a problem of its part, so the part is not build-ready.
|
|
257
|
+
- The design system no longer folds a base part under "Not used in Studio" when a product part names it in a `controls` entry or draws its SDK component through `ng(…, { imports })`.
|
|
258
|
+
- `UTILITY-CSS` checks a part inherited from a base product under the stylesheets of that base, not of the inheriting product.
|
|
259
|
+
- The cli spec run now prints how many browser specs were skipped for a missing Chromium and, in GitHub Actions, emits a warning annotation.
|
|
260
|
+
- The visible-change gate counts a sketch merge recorded only in `merged.json`, still judges states that compare cannot check against their design, and lists a state neither app can be driven into as a problem of the part.
|
|
261
|
+
- The visible-change gate passes a state without a base picture when the app at HEAD matches its design, and prints how many pixels such a state is off its design.
|
|
262
|
+
- `et design check --visible-change` takes `--part <layer>/<name>…` to draw only those parts.
|
|
263
|
+
- The visible-change gate fails a part with unjudged states and names each state with its reason. The pre-push live check builds components too, so a fresh clone judges the design side instead of waiting.
|
|
264
|
+
- `et design check --visible-change` ends with every state it could not judge, so a pass that judged nothing no longer reads as a clean pass.
|
|
265
|
+
- `design check` runs `UNBOUND-INPUT` and `SAMPLE-DEFAULT`, and both rules cover inputs declared with `model()`.
|
|
266
|
+
- The `WRAP` render check skips text with a `line-clamp`, because clamped text is multi-line on purpose.
|
|
267
|
+
- `CLIPPED` no longer reports an outline or box-shadow cut at the edge of a clip box whose content outgrows it or is moved by a transform, since content there is cut by panning or scrolling.
|
|
268
|
+
- `CLIPPED` measures content scaled by a transform at its drawn size, honours `overflow-clip-margin`, and no longer reports the content of a grab-to-pan box or one whose content is moved by a translation.
|
|
269
|
+
- `design compare` now shoots the design and the app over the same fixed checkerboard instead of a transparent background, so a background a part adds or drops shows as a pixel difference.
|
|
270
|
+
- `et design compare` shoots a fitted part without the frame padding, and draws a `pages` part at a product preset (`--preset`, default the first) against a harness host that fills that viewport (`layout=page`).
|
|
271
|
+
- `design compare` waits until menu and select panes have settled before the shot, and holds the app's spinners, progress bars and brand loaders at the frame their design mock is frozen at.
|
|
272
|
+
- The COVERED render rule ignores a cover marked `data-et-skip="COVERED"`.
|
|
273
|
+
- `DENIED-CLASS` exempts the copy of a foundations part in a sketch, like the part itself.
|
|
274
|
+
- `design check` now fails a part with several controls when one of them is drawn markup instead of an SDK component or embedded part (`CONTROL-STATE`).
|
|
275
|
+
- `design check` now fails a part whose design states set a prop the app component has no input for and compare cannot reproduce, the same finding compare reports as dropped props.
|
|
276
|
+
- `design check --part <layer>/<name>` keeps only that part's findings, and `design check` ends with one line per part with findings plus a count of the clean parts.
|
|
277
|
+
- `design check` lists each view of a product's harness app (`*-view.component.ts`) that no part names in `implements` as an open point.
|
|
278
|
+
- `et design compare` no longer clicks a surface open from a state whose design picture already draws that surface.
|
|
279
|
+
- `et design compare` keeps the pointer off rest shots, finds forced elements by accessible name in the host or an overlay root, and opens a surface state from a state of the same interaction.
|
|
280
|
+
- `design complete` counts a control that a host declares with `part` as drawn when it sits anywhere inside that embedded part, not only on its root.
|
|
281
|
+
- `CONTRAST` no longer checks the outer border of a floating panel: an SDK overlay pane, or an element with its own surface step and a shadow.
|
|
282
|
+
- The CONTROL-PART-INPUT warning names a control by its `aria-label` first, and its text no longer includes inline `style`, `script` or `template` content.
|
|
283
|
+
- A design frame that does not draw within the timeout gets one reload before the shot or check fails, so a check under load no longer aborts on one slow frame.
|
|
284
|
+
- `design go` and `design sketch merge` now regenerate a stale harness map instead of leaving `design compare` to refuse it.
|
|
285
|
+
- Fix the design server breaking every frame after a sketch is merged or discarded: a gone sketch now draws as the product, with a `sketchGone` note.
|
|
286
|
+
- Without `--url`, `et design compare` and `task --verify` build and serve the harness app themselves, so they work next to a running dev server of the same app.
|
|
287
|
+
- The design inventory no longer counts a disabled control with `pointer-events: none` as covered, so it keeps its outline and number.
|
|
288
|
+
- The design reach check now also flags actions that a transparent element covers, or that a sticky column or header covers after a canvas pans.
|
|
289
|
+
- `et design` commands that draw now rebuild a stale `dist/libs/<lib>` first, and refuse with the build command when the rebuild fails, instead of drawing from the old build.
|
|
290
|
+
- The product check and the sketch check read the foundations exemption of `HARD-CODED-COLOUR`, `HARD-CODED-MOTION`, `INLINE-SVG`, `UTILITY-CSS` and `DENIED-CLASS` from one place, so a sketched copy of a part passes or fails like the part.
|
|
291
|
+
- The design check reads the tokens that an imported `@ethlete/<lib>/design` module defines in its stylesheets, so `var(--_et-focus-ring-width)` from `buttonStyles` no longer shows as UNDEFINED-TOKEN.
|
|
292
|
+
- Design task verify and check accept the app files a product's harness shares, and compare shoots open states and their overlays like a real pointer.
|
|
293
|
+
- `et design task --verify` skips files under `.ethlete/design` with one summary line and allows the part's wiring files (the app files importing the part and their direct imports), which `et design task` now lists.
|
|
294
|
+
- `design check` rewords the round and variant notes of an old/new edit sketch opened before they were German.
|
|
295
|
+
- A direct edit without pictures at its merged hash is now compared with the design at HEAD instead of older `go` pictures, and the `old` variant of an edit sketch keeps the shared files at HEAD.
|
|
296
|
+
- `design check` draws an open edit sketch's `old` variant from HEAD and fails an `old` that does not draw as `EDIT-OLD-NOT-DRAWN`. Studio's full sketch listing no longer fails in WebKit after 60 s.
|
|
297
|
+
- `design check` re-checks open edit sketches without a decision and closes them as held when every state draws as at HEAD. A direct edit compares only `record` pictures drawn at the merged part hash.
|
|
298
|
+
- A migration can list `adds`, packages its codemod imports. `et update` adds a missing one before the codemod, and `to-query-v3` adds `@ethlete/query-devtools`.
|
|
299
|
+
- The design check warns with `CLASS-GLUED-INTERPOLATION` for a class written directly against a `${...}` interpolation in a part's class attribute, which Tailwind's scanner reads as one candidate and emits no CSS for.
|
|
300
|
+
- The design pictures now cancel running infinite animations, as the app pictures already do, so an `animate-pulse` or a looping CSS animation no longer fails the compare as a pixel diff.
|
|
301
|
+
- Write the approved control inventory (`inventory.json`) the way Prettier formats it, so the repo's format check no longer fails on it.
|
|
302
|
+
- An inventory label uses the visible text of a control, so a select no longer lists its hidden options.
|
|
303
|
+
- A page's control inventory lists the controls an embedded part draws as `owned by <part>`. They no longer vanish, and they do not block the approval.
|
|
304
|
+
- A page's inventory numbers two controls at the same place apart by their label, and the list shows each label.
|
|
305
|
+
- A page's inventory also lists an owned control that carries its own part's control mark, for example every SDK button.
|
|
306
|
+
- `design compare --live` reads an optional fixed `now` from the live spec, so relative times draw the same on every run, and waits for a drawn page host before it sizes the viewport.
|
|
307
|
+
- `design compare --live` draws the same fixed frame content on both sides and can compare a page with its shell panel hidden.
|
|
308
|
+
- `design compare --live` waits for the app page's requests to settle before it shoots, so canvas frames that load late are in the picture.
|
|
309
|
+
- `LOST-SURFACE` no longer flags a card whose fill hides a patterned backdrop, such as a dot grid behind it.
|
|
310
|
+
- The sketch merge compare and the auto-merge count a pixel as changed only when a channel differs by more than 8 of 255, so anti-alias noise no longer blocks an auto-merge.
|
|
311
|
+
- `design sketch check` warns when the Aktuell column of the Studio sketch view would show only placeholders.
|
|
312
|
+
- `design shot` names the missing or conflicting flag when it refuses a flag combination, and every documented
|
|
313
|
+
combination has a spec. `design sketch check` skips rejected variants with the same NOTE as withdrawn ones.
|
|
314
|
+
- `/__design/shot` with a `sketch` but a missing or unknown `variant` answers 400 with the sketch's variants instead of the product picture.
|
|
315
|
+
- `design sketch check` also checks the product part a sketch targets and prints its problems as `before` lines, which do not fail the check.
|
|
316
|
+
- `design check` and `design complete` print the non-blocking CONTROL-STATE, CONTROL-UNDECLARED and OPTION-VALUE-MISSING hints with a `HINT` prefix, like the small-change hints.
|
|
317
|
+
- Skip the live state check of a sketched part whose states are spread from another file instead of reporting false LIVE errors.
|
|
318
|
+
- `design sketch ready` refuses while a variant that changes pixels has no shot viewed since its last edit.
|
|
319
|
+
- A sketch merge rebases the other open sketches it makes stale and marks the conflicting ones for their agent; `sketch check` reports a sketch whose embedded part changed.
|
|
320
|
+
- `design sketch new` rewrites a part's relative imports that leave its folder so they resolve from the sketch, and the merge rewrites them back.
|
|
321
|
+
- `SKIP-SCOPE` no longer counts controls inside an `[inert]` subtree.
|
|
322
|
+
- `et design check --product <name> --app-classes` now reports Tailwind classes in the harness app source that have a canonical form.
|
|
323
|
+
- Studio now judges a stale cli build by the same source hash the cli guards itself with, instead of file modification times.
|
|
324
|
+
- Studio starts its design server from a CLI copy built from the last `libs/cli` commit and no longer restarts it on a rebuild; `yarn et:design` runs design commands from that copy.
|
|
325
|
+
- The part tree shows every listed problem, and the system listing names the component each part implements.
|
|
326
|
+
- `design task --verify` now also accepts commit files that import the part, such as a live wrapper.
|
|
327
|
+
- Design task wiring files now also include the non-spec app files a part's direct importers import, one level only.
|
|
328
|
+
- `et design task` now counts every non-spec app file that imports the part, directly or through other importers, as wiring, plus the part's own spec. What a spec imports no longer becomes wiring.
|
|
329
|
+
- `design shot` and the Studio sketch view label a variant its agent withdrew as "withdrawn by agent" with its reason, and keep "rejected" for a designer's rejection.
|
|
330
|
+
|
|
331
|
+
## 3.0.0-next.26
|
|
332
|
+
|
|
333
|
+
### Minor Changes
|
|
334
|
+
|
|
335
|
+
- `et design check` measures text contrast in each colour scheme a product renders (light and dark when its stylesheets use `prefers-color-scheme` or `light-dark()`) and names the scheme in a CONTRAST finding.
|
|
336
|
+
- `et design` takes a product `base` from `node_modules`: `render.packages` defaults to `node_modules` without `dist/libs`, and an installed base gets no generated `tsconfig.json`.
|
|
337
|
+
- The `et design mcp` `check` tool checks a call and its variant, and `et design check --receipt <path>` writes the result to a JSON file.
|
|
338
|
+
- The new `call` tool of `et design mcp` reads a call: its `call.ts`, its `fixture.ts`, the variant file and the frame URL.
|
|
339
|
+
- A design part can name its component with `implements`, and `et design check` prints the open points of each part.
|
|
340
|
+
- A design product can declare the colour schemes it draws with `schemes` in `.ethlete/design/config.json`; both when left out.
|
|
341
|
+
- The design server answers `GET /__design/queue` with its queued and drawing shots, the age of the oldest, and the last shots that failed.
|
|
342
|
+
- A design product can list `generatedFiles` in its config. The part hash skips them, so regenerating a file no longer makes `design check` warn that the part changed outside a sketch.
|
|
343
|
+
- Add `iconSheet` to `@design-system`: a shared icon foundation sheet with a `catalogue` and a `construction` view, drawing each icon on its own grid (from its viewBox or `grid`) with centre lines and the padding box.
|
|
344
|
+
- `design complete` counts an option or a `row` control with `data-active-source="keyboard"` as its focus-visible look, the same as an option named by `aria-activedescendant`.
|
|
345
|
+
- `@design-system` exports `logoSheet({ marks })`, which draws a `foundations/logo` part: each mark at its sizes, with an optional light bar.
|
|
346
|
+
- `et design shot` and `et design motion` take `--scheme <light|dark>` (MCP: `scheme`) to draw a part in that colour scheme.
|
|
347
|
+
- Add `et design sketch note <layer>/<name> <variant> <text> --by <model id>`: it sets the note of one variant in sketch.json and refuses an unknown sketch or variant.
|
|
348
|
+
- `et design check`, `sketch check`, `sketch ready` and `design complete` fail interaction states on a part that declares no control (`CONTROL-STATE`). `design complete` hints a state that changes under 10 % of its frame.
|
|
349
|
+
- `et design check` lists missing motions as open points: every ordered state pair, except focus, and a looping motion in an ongoing-work state. `definePart({ unreachable })` exempts a pair with a reason, checked by the `MOTION-UNREACHABLE-*` rules.
|
|
350
|
+
- The design render check measures non-text contrast: the border of each control (and the frame around an input) and each svg icon must reach 3:1 against what it sits on. Decorative borders give no finding.
|
|
351
|
+
- `et design check` lists two more open points: a component part with no controls declared, and the contrasts the render check found. With `--complete`, it also lists each control that lacks a drawn state or surface.
|
|
352
|
+
- The design server answers `GET /__design/open-points?product=&part=`, the open-point list of one part or of every part; `draw=true` adds the contrasts and missing control states of one part.
|
|
353
|
+
- Design checks report missing mock option values as hints for merged parts and block newly introduced gaps in sketches; use `omits` to record intentional omissions.
|
|
354
|
+
- `et design ready <part>` and `POST /__design/part-ready` mark a part ready in `ready.json`, refused while the part has open points; the mark drops when the part changes.
|
|
355
|
+
- `et design` shot requests take `view` (a number raised per view change) and `rank=active|visible`: the active frame of the shown view draws first, then its visible cells, then the rest, then older views. A hung-up request's queued shot is dropped.
|
|
356
|
+
- `et design sketch ready` refuses while a target in a live variant has open points the sketch can close: no controls declared or a missing motion.
|
|
357
|
+
- The Studio motion timeline makes the motion's start frame live and drives it: the slider pauses its animations at that time, play and speed run them, closing resumes them at 1x.
|
|
358
|
+
- Motion timeline tracks name the foundations duration and easing tokens they use.
|
|
359
|
+
- `et design sketch ready` now runs the render check on the sketch's variants and refuses on any render issue, as `sketch check` reports it. Skipped elements are honoured; without a browser the check is skipped.
|
|
360
|
+
|
|
361
|
+
### Patch Changes
|
|
362
|
+
|
|
363
|
+
- `et design check` now lists the findings of a base product's parts per rule and says they do not block the product, instead of pointing to `--product <base>`.
|
|
364
|
+
- A design product without its own `tokens` takes the token parts of its base, so frames of a product that extends a base draw under the base's tokens.
|
|
365
|
+
- `et design complete` no longer crashes on an option that is also a `data-et-control` in an open surface.
|
|
366
|
+
- The design contrast check measures text against a `z-index: -1` fill behind it (a positioned sibling or a `::before`/`::after`) instead of the panel under that fill.
|
|
367
|
+
- `et design complete` no longer fails a page on the gaps of a control part it uses from its base product; those gaps stay open points of the base part.
|
|
368
|
+
- `et design check` no longer fails a product on the findings of a part it takes from its base product. It counts them in one line that points to the base product's own check.
|
|
369
|
+
- `et design check` prints one `RENDER CHECK NOT RUN` line when failing checks stop the render, naming the rules and how many problems are in the base.
|
|
370
|
+
- `et design` commands that load design modules (`system --json`, `sketch ready`) no longer share the dependency cache of the running design server, so they stop deleting its optimized deps and blanking every live frame.
|
|
371
|
+
- `et design complete` reports `CONTROL-UNDECLARED` as a hint; the sketch check fails on a control a sketch adds. For a native control the hint says to mark it with `control(markup, name)` and declare the name in `controls`.
|
|
372
|
+
- `et design` listens on `DE_PORT` when it is set, also when Studio did not start it. Before, it took a free port.
|
|
373
|
+
- `design complete` no longer reports the focus container of a composite widget (a `menu`, `listbox`, `tree`, `grid`, `tablist` or similar with `tabindex="-1"` or `aria-activedescendant`) as an undeclared control; its items are still checked.
|
|
374
|
+
- A package rebuild that writes a file back unchanged no longer redraws the design shots that use it.
|
|
375
|
+
- `et design complete` requires hover, focus and active of a menu item but no selected look; a select still requires the selected look.
|
|
376
|
+
- The design server keeps its part shots on disk, so a restart serves them without redrawing until a file they draw from changes.
|
|
377
|
+
- `et design complete` names a `hover:`, `active:` or `focus:` class no stylesheet defines instead of reporting an unchanged box, and the Studio Tailwind theme gains the `surface-pressed` colour.
|
|
378
|
+
- A design frame no longer grows below a scroll container for an absolute element that the container clips, such as the scroll sentinels of an overlay body.
|
|
379
|
+
- A design frame no longer grows to the viewport for a fixed element on all four edges, such as an overlay backdrop.
|
|
380
|
+
- A part frame now grows to cover absolutely or fixed positioned content, so an open overlay panel no longer gets cut off at the trigger's height.
|
|
381
|
+
- Design tool: a forced `focus-visible` now also matches `:focus-within` on the element and its ancestors, so floating labels and focus rings draw as they do in a real focus.
|
|
382
|
+
- A shot of a missing part, state or sketch variant now always answers 404, a queued shot of a removed sketch is dropped, and the render queue no longer lists failures of removed sketches.
|
|
383
|
+
- A part shot is cut from the page with a clip of the root's box instead of an element screenshot, and the thumb queue draws eight shots at once instead of four, so a grid of forty states draws faster.
|
|
384
|
+
- `et design shot --crop changed` also crops the states the merged part does not draw, comparing them with its first state, so a new hover state is no longer cut off.
|
|
385
|
+
- `et design sketch check` and `sketch ready` print one count line per variant for the problems that were there before, instead of repeating each of them per variant.
|
|
386
|
+
- The design server lists sketches about three times faster: each part source is parsed once, and the product's rule problems are found once per list. A run of merges no longer stalls frames and Studio requests for seconds.
|
|
387
|
+
- The sketch check warns of an export in a sketch's `shared/` folder only when no variant imports it. An export that only some variants use no longer warns.
|
|
388
|
+
- The `STALE-REPLACE` design check no longer warns on a `.replace` on a function parameter that a call fills with markup from a package.
|
|
389
|
+
- `et design check` no longer reports an `rgb()` or `rgba()` as a hard-coded colour when every channel comes from `var()`, for example `rgb(var(--shadow-rgb) / 0.25)`. A literal channel is still reported.
|
|
390
|
+
- Draw part and call shots on a transparent page in both colour schemes, as a live frame does.
|
|
391
|
+
- `et design check` reports `CONTROL-PART-INPUT` again: an import cycle left the plain-control selector undefined, so the rule matched no element.
|
|
392
|
+
- The CONTROL-PART-INPUT hint now covers the same plain controls as `design complete`: `summary`, focusable `[tabindex]` and every interactive role.
|
|
393
|
+
- CONTROL-STATE counts an interaction word only as the last word of a state name, drops modifier words from the element name, and asks a component without controls to declare them (Q164).
|
|
394
|
+
- Design commands that run at the same time no longer share one Vite cache folder: the first keeps the shared cache, every other one draws from a folder of its own that it removes when it closes.
|
|
395
|
+
- The design contrast check no longer reports decorative separators, toolbar outlines or hidden svg lines, and measures text on a frame's page fill.
|
|
396
|
+
- The contrast check measures the border of a segmented group: a bordered wrapper counts as a control frame when all its controls together fill at least half of it. Toolbars stay excluded.
|
|
397
|
+
- Design checks report a drawn button, link, input or control role without `data-et-control` as `CONTROL-PART-INPUT`: a hint on merged parts, an error when a sketch adds one.
|
|
398
|
+
- Design checks now list existing interaction states on non-control parts as open points while blocking new or changed states in sketches.
|
|
399
|
+
- Design sketch checks accept unchanged interaction states when unrelated styles change.
|
|
400
|
+
- The design server no longer crashes when a sketch folder disappears while sketches are listed.
|
|
401
|
+
- The design server's parts list names each part's module file, relative to the workspace.
|
|
402
|
+
- The design server no longer pre-bundles its own authoring modules (`@design-system`, `@design-system/kit`, `@design-explore`), so a cold start no longer reloads every frame when Vite finds one of them late.
|
|
403
|
+
- The design server draws a rebuilt `render.packages` folder (such as `dist/libs/components`) without a restart, instead of serving the modules it loaded before the rebuild.
|
|
404
|
+
- Serve a shot from the disk cache after the design server restarts, instead of drawing it again
|
|
405
|
+
- Every design shot response carries an `x-design-shot` header (`disk`, `memory` or `drawn`) that says where the picture came from.
|
|
406
|
+
- `sketch check` no longer prints Angular's development mode line per render, and prints a finding that repeats across states, schemes and variants once, with a count.
|
|
407
|
+
- `et design sketch merge` formats the files it writes with the Prettier of the target repo. A format failure prints a warning and keeps the merge.
|
|
408
|
+
- `et design sketch ready` blocks only on open points a variant adds to the merged part; inherited points are listed as a note. A new part still blocks on all of its points.
|
|
409
|
+
- `et design sketch variant --from` keeps relative symlinks in the copied variant, so its `shared/` links point at the same files as the source variant.
|
|
410
|
+
- `et design` no longer rewrites an unchanged tsconfig, so a `design sketch check` stops redrawing every frame in Studio.
|
|
411
|
+
- A rule in a sketch's `shared/` stylesheet counts as used when any variant of the sketch draws it, so `sketch ready` no longer fails a variant on `UNUSED` for a rule only another variant uses.
|
|
412
|
+
- A design frame asked for a `fill` token its product lacks keeps the product's page colour, so an sdk grid cell in the light column draws on the light surface instead of on Studio's dark canvas.
|
|
413
|
+
- `et design shot <part> --variants` finds a sketch by an extra target, `sketch list` shows extra targets, and new `sketch target add <sketch> <part>` adds a target to an open sketch.
|
|
414
|
+
- `et design sketch report` on a ready sketch moves it back to in progress. It still refuses a decided sketch.
|
|
415
|
+
- STALE-REPLACE no longer flags a replace whose regex is anchored with `^` or `$`; the rule searches the source, not the markup string.
|
|
416
|
+
- A static shot draws in the colour scheme Studio prefers, like the live frames next to it, so a dark Studio no longer mixes light shots into a grid.
|
|
417
|
+
- Studio draws every part grid twice, under a Light and a Dark head, and `frame.html?scheme=` pins a live frame to one scheme.
|
|
418
|
+
- Swap a canvas frame between its shot and its live page without a blank frame: the frame page reports when it painted, and Studio keeps the old view until the new one is ready.
|
|
419
|
+
|
|
3
420
|
## 3.0.0-next.25
|
|
4
421
|
|
|
5
422
|
### Minor Changes
|
package/build-info.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"builtAt":"2026-11-05T22:57:52.524Z","sourceHash":"cee8ddab509e471fac77722ef8fd724a76b479deb667997db81528be75704faa"}
|