@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
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { DesignConfig } from '../paths';
|
|
2
|
+
import { Blocker } from './build-ready-contract';
|
|
3
|
+
import { FileHashes } from './design-hash';
|
|
4
|
+
import { EmbeddedHashes } from './embedded-actions';
|
|
5
|
+
import { OpenPoint } from './open-points';
|
|
6
|
+
import { ResolvedProduct } from './resolve-product';
|
|
7
|
+
export declare const READY_FILE = "ready.json";
|
|
8
|
+
/**
|
|
9
|
+
* The check record of a build-ready part: the design hash it was checked at, with the hash of each file it covers; it
|
|
10
|
+
* holds only while the hash does. `embedded` holds the app hash of each embedded part its actions ran against. `by`
|
|
11
|
+
* appears only in records written before the record became tool-written.
|
|
12
|
+
*/
|
|
13
|
+
export type PartReady = {
|
|
14
|
+
hash: string;
|
|
15
|
+
files?: FileHashes;
|
|
16
|
+
embedded?: EmbeddedHashes;
|
|
17
|
+
actions?: string[];
|
|
18
|
+
at: string;
|
|
19
|
+
by?: string;
|
|
20
|
+
};
|
|
21
|
+
export type ReadyRefusal = {
|
|
22
|
+
status: number;
|
|
23
|
+
error: string;
|
|
24
|
+
points?: OpenPoint[];
|
|
25
|
+
actions?: string[];
|
|
26
|
+
blockers?: Blocker[];
|
|
27
|
+
};
|
|
28
|
+
export declare const readReady: (dir: string) => Record<string, PartReady>;
|
|
29
|
+
/** The design hash of a part and the directory whose ready.json holds it, or why the product has no such part. */
|
|
30
|
+
export declare const readyPartOf: (options: {
|
|
31
|
+
product: ResolvedProduct;
|
|
32
|
+
part: string;
|
|
33
|
+
}) => string | {
|
|
34
|
+
dir: string;
|
|
35
|
+
hash: string;
|
|
36
|
+
design: import("./design-hash").DesignHash;
|
|
37
|
+
resolved: import("./resolve-product").ResolvedPart;
|
|
38
|
+
};
|
|
39
|
+
/** The ready mark of a part while its hash still matches, `null` when it has none or the part changed since. */
|
|
40
|
+
export declare const readyMarkOf: (options: {
|
|
41
|
+
product: ResolvedProduct;
|
|
42
|
+
part: string;
|
|
43
|
+
}) => PartReady | null;
|
|
44
|
+
/**
|
|
45
|
+
* The embedded parts whose app files changed since the actions of `part` ran for its ready mark, `[]` while the mark
|
|
46
|
+
* does not hold or predates the embedded record.
|
|
47
|
+
*/
|
|
48
|
+
export declare const actionsRerunOf: (options: {
|
|
49
|
+
product: ResolvedProduct;
|
|
50
|
+
part: string;
|
|
51
|
+
}) => string[];
|
|
52
|
+
/** Draws a part and answers its whole open-point list, or why it could not be drawn. */
|
|
53
|
+
export declare const drawnPartPointsOf: (options: {
|
|
54
|
+
target: string;
|
|
55
|
+
config: DesignConfig;
|
|
56
|
+
product: ResolvedProduct;
|
|
57
|
+
part: string;
|
|
58
|
+
}) => Promise<OpenPoint[] | {
|
|
59
|
+
unavailable: string;
|
|
60
|
+
}>;
|
|
61
|
+
/** The parts of a product whose ready mark still holds. */
|
|
62
|
+
export declare const readyPartsOf: (product: ResolvedProduct) => string[];
|
|
63
|
+
/** Writes the check record of a part at its current design hash; a record already at that hash keeps its `at`. */
|
|
64
|
+
export declare const writePartRecord: (options: {
|
|
65
|
+
product: ResolvedProduct;
|
|
66
|
+
part: string;
|
|
67
|
+
at?: string;
|
|
68
|
+
}) => PartReady | null;
|
|
69
|
+
/** Drops the check record of a part, whatever hash it holds; true when there was one. */
|
|
70
|
+
export declare const dropPartRecord: (options: {
|
|
71
|
+
product: ResolvedProduct;
|
|
72
|
+
part: string;
|
|
73
|
+
}) => boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Checks a part at `hash` and writes its check record, or answers why not: 400 without `hash`, 404 for an unknown
|
|
76
|
+
* part, 409 when the part changed since `hash`, 422 while `pointsOf` lists any open point, `blockersOf` any other
|
|
77
|
+
* blocker or `actionsOf` any failed action check. The failed-actions refusal names the embedded parts whose app files
|
|
78
|
+
* changed since the last record. `pointsOf` runs only after the hash holds, `blockersOf` only after the open-point list
|
|
79
|
+
* is empty, `actionsOf` only after the blocker list is.
|
|
80
|
+
*/
|
|
81
|
+
export declare const markPartReady: (options: {
|
|
82
|
+
product: ResolvedProduct;
|
|
83
|
+
part: string;
|
|
84
|
+
hash: unknown;
|
|
85
|
+
pointsOf: () => Promise<OpenPoint[] | ReadyRefusal>;
|
|
86
|
+
blockersOf?: () => Promise<Blocker[]>;
|
|
87
|
+
actionsOf: () => Promise<string[] | ReadyRefusal>;
|
|
88
|
+
actionsNote?: string;
|
|
89
|
+
at?: string;
|
|
90
|
+
}) => Promise<PartReady | ReadyRefusal>;
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.markPartReady = exports.dropPartRecord = exports.writePartRecord = exports.readyPartsOf = exports.drawnPartPointsOf = exports.actionsRerunOf = exports.readyMarkOf = exports.readyPartOf = exports.readReady = exports.READY_FILE = void 0;
|
|
13
|
+
const fs_1 = require("fs");
|
|
14
|
+
const path_1 = require("path");
|
|
15
|
+
const json_file_1 = require("../../json-file");
|
|
16
|
+
const design_hash_1 = require("./design-hash");
|
|
17
|
+
const drawn_open_points_1 = require("./drawn-open-points");
|
|
18
|
+
const embedded_actions_1 = require("./embedded-actions");
|
|
19
|
+
const inventory_approval_1 = require("./inventory-approval");
|
|
20
|
+
const read_open_points_1 = require("./read-open-points");
|
|
21
|
+
const resolve_product_1 = require("./resolve-product");
|
|
22
|
+
exports.READY_FILE = 'ready.json';
|
|
23
|
+
const readyFileOf = (dir) => (0, path_1.resolve)(dir, exports.READY_FILE);
|
|
24
|
+
const isReady = (value) => {
|
|
25
|
+
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
26
|
+
return false;
|
|
27
|
+
const { hash, by, at, files, embedded, actions } = value;
|
|
28
|
+
return (typeof hash === 'string' &&
|
|
29
|
+
(by === undefined || typeof by === 'string') &&
|
|
30
|
+
typeof at === 'string' &&
|
|
31
|
+
(0, design_hash_1.isOptionalFileHashes)(files) &&
|
|
32
|
+
(0, design_hash_1.isOptionalFileHashes)(embedded) &&
|
|
33
|
+
(actions === undefined || (Array.isArray(actions) && actions.every((key) => typeof key === 'string'))));
|
|
34
|
+
};
|
|
35
|
+
const readReady = (dir) => {
|
|
36
|
+
const file = readyFileOf(dir);
|
|
37
|
+
if (!(0, fs_1.existsSync)(file))
|
|
38
|
+
return {};
|
|
39
|
+
try {
|
|
40
|
+
const parsed = JSON.parse((0, fs_1.readFileSync)(file, 'utf8'));
|
|
41
|
+
return parsed && typeof parsed === 'object' && !Array.isArray(parsed)
|
|
42
|
+
? Object.fromEntries(Object.entries(parsed).filter((entry) => isReady(entry[1])))
|
|
43
|
+
: {};
|
|
44
|
+
}
|
|
45
|
+
catch (_a) {
|
|
46
|
+
return {};
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
exports.readReady = readReady;
|
|
50
|
+
/** The design hash of a part and the directory whose ready.json holds it, or why the product has no such part. */
|
|
51
|
+
const readyPartOf = (options) => {
|
|
52
|
+
const resolved = options.product.parts.find((candidate) => (0, resolve_product_1.partKeyOf)(candidate) === options.part);
|
|
53
|
+
if (!resolved)
|
|
54
|
+
return `product "${options.product.name}" has no part "${options.part}"`;
|
|
55
|
+
const owner = (0, inventory_approval_1.partOwnerOf)({ product: options.product, part: resolved });
|
|
56
|
+
const design = (0, design_hash_1.designHashOf)({ product: options.product, part: resolved });
|
|
57
|
+
return { dir: owner.dir, hash: design.hash, design, resolved };
|
|
58
|
+
};
|
|
59
|
+
exports.readyPartOf = readyPartOf;
|
|
60
|
+
/** The ready mark of a part while its hash still matches, `null` when it has none or the part changed since. */
|
|
61
|
+
const readyMarkOf = (options) => {
|
|
62
|
+
const found = (0, exports.readyPartOf)(options);
|
|
63
|
+
if (typeof found === 'string')
|
|
64
|
+
return null;
|
|
65
|
+
const mark = (0, exports.readReady)(found.dir)[options.part];
|
|
66
|
+
return mark && (0, design_hash_1.recordHolds)(mark, found.design) ? mark : null;
|
|
67
|
+
};
|
|
68
|
+
exports.readyMarkOf = readyMarkOf;
|
|
69
|
+
/**
|
|
70
|
+
* The embedded parts whose app files changed since the actions of `part` ran for its ready mark, `[]` while the mark
|
|
71
|
+
* does not hold or predates the embedded record.
|
|
72
|
+
*/
|
|
73
|
+
const actionsRerunOf = (options) => {
|
|
74
|
+
const found = (0, exports.readyPartOf)(options);
|
|
75
|
+
if (typeof found === 'string')
|
|
76
|
+
return [];
|
|
77
|
+
const mark = (0, exports.readReady)(found.dir)[options.part];
|
|
78
|
+
if (!(mark === null || mark === void 0 ? void 0 : mark.embedded) || !(0, design_hash_1.recordHolds)(mark, found.design))
|
|
79
|
+
return [];
|
|
80
|
+
return (0, embedded_actions_1.changedEmbeddedOf)(mark.embedded, (0, embedded_actions_1.embeddedHashesOf)({ product: options.product, part: found.resolved }));
|
|
81
|
+
};
|
|
82
|
+
exports.actionsRerunOf = actionsRerunOf;
|
|
83
|
+
/** Draws a part and answers its whole open-point list, or why it could not be drawn. */
|
|
84
|
+
const drawnPartPointsOf = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
85
|
+
const findings = yield (0, drawn_open_points_1.drawnFindingsOf)(Object.assign(Object.assign({}, options), { parts: [options.part] }));
|
|
86
|
+
return 'unavailable' in findings ? findings : (0, read_open_points_1.partPointsOf)((0, read_open_points_1.readOpenPoints)(options.product, findings), options.part);
|
|
87
|
+
});
|
|
88
|
+
exports.drawnPartPointsOf = drawnPartPointsOf;
|
|
89
|
+
/** The parts of a product whose ready mark still holds. */
|
|
90
|
+
const readyPartsOf = (product) => product.parts.map(resolve_product_1.partKeyOf).filter((part) => (0, exports.readyMarkOf)({ product, part }) !== null);
|
|
91
|
+
exports.readyPartsOf = readyPartsOf;
|
|
92
|
+
const writeReady = (dir, records) => (0, json_file_1.writeJsonFile)({
|
|
93
|
+
file: readyFileOf(dir),
|
|
94
|
+
value: Object.fromEntries(Object.entries(records).sort(([a], [b]) => a.localeCompare(b))),
|
|
95
|
+
});
|
|
96
|
+
/** Writes the check record of a part at its current design hash; a record already at that hash keeps its `at`. */
|
|
97
|
+
const writePartRecord = (options) => {
|
|
98
|
+
var _a, _b;
|
|
99
|
+
const found = (0, exports.readyPartOf)(options);
|
|
100
|
+
if (typeof found === 'string')
|
|
101
|
+
return null;
|
|
102
|
+
const existing = (0, exports.readReady)(found.dir);
|
|
103
|
+
const previous = existing[options.part];
|
|
104
|
+
const embedded = (0, embedded_actions_1.embeddedHashesOf)({ product: options.product, part: found.resolved });
|
|
105
|
+
const record = Object.assign(Object.assign(Object.assign({ hash: found.hash, files: found.design.files }, (Object.keys(embedded).length > 0 ? { embedded } : {})), ((previous === null || previous === void 0 ? void 0 : previous.actions) ? { actions: previous.actions } : {})), { at: (_b = (_a = ((previous === null || previous === void 0 ? void 0 : previous.hash) === found.hash ? previous.at : undefined)) !== null && _a !== void 0 ? _a : options.at) !== null && _b !== void 0 ? _b : new Date().toISOString() });
|
|
106
|
+
writeReady(found.dir, Object.assign(Object.assign({}, existing), { [options.part]: record }));
|
|
107
|
+
return record;
|
|
108
|
+
};
|
|
109
|
+
exports.writePartRecord = writePartRecord;
|
|
110
|
+
/** Drops the check record of a part, whatever hash it holds; true when there was one. */
|
|
111
|
+
const dropPartRecord = (options) => {
|
|
112
|
+
const found = (0, exports.readyPartOf)(options);
|
|
113
|
+
if (typeof found === 'string')
|
|
114
|
+
return false;
|
|
115
|
+
const existing = (0, exports.readReady)(found.dir);
|
|
116
|
+
if (!(options.part in existing))
|
|
117
|
+
return false;
|
|
118
|
+
writeReady(found.dir, Object.fromEntries(Object.entries(existing).filter(([key]) => key !== options.part)));
|
|
119
|
+
return true;
|
|
120
|
+
};
|
|
121
|
+
exports.dropPartRecord = dropPartRecord;
|
|
122
|
+
/**
|
|
123
|
+
* Checks a part at `hash` and writes its check record, or answers why not: 400 without `hash`, 404 for an unknown
|
|
124
|
+
* part, 409 when the part changed since `hash`, 422 while `pointsOf` lists any open point, `blockersOf` any other
|
|
125
|
+
* blocker or `actionsOf` any failed action check. The failed-actions refusal names the embedded parts whose app files
|
|
126
|
+
* changed since the last record. `pointsOf` runs only after the hash holds, `blockersOf` only after the open-point list
|
|
127
|
+
* is empty, `actionsOf` only after the blocker list is.
|
|
128
|
+
*/
|
|
129
|
+
const markPartReady = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
130
|
+
var _a, _b, _c;
|
|
131
|
+
const { product, part, hash } = options;
|
|
132
|
+
if (typeof hash !== 'string' || hash === '')
|
|
133
|
+
return { status: 400, error: 'hash is required' };
|
|
134
|
+
const found = (0, exports.readyPartOf)({ product, part });
|
|
135
|
+
if (typeof found === 'string')
|
|
136
|
+
return { status: 404, error: found };
|
|
137
|
+
if (hash !== found.hash)
|
|
138
|
+
return { status: 409, error: `${part} changed since its open points were shown - reload and check it again` };
|
|
139
|
+
const points = yield options.pointsOf();
|
|
140
|
+
if (!Array.isArray(points))
|
|
141
|
+
return points;
|
|
142
|
+
if (points.length > 0)
|
|
143
|
+
return {
|
|
144
|
+
status: 422,
|
|
145
|
+
error: `${part} has ${points.length} open point${points.length === 1 ? '' : 's'} - close them before ready`,
|
|
146
|
+
points,
|
|
147
|
+
};
|
|
148
|
+
const blockers = (_b = (yield ((_a = options.blockersOf) === null || _a === void 0 ? void 0 : _a.call(options)))) !== null && _b !== void 0 ? _b : [];
|
|
149
|
+
if (blockers.length > 0)
|
|
150
|
+
return {
|
|
151
|
+
status: 422,
|
|
152
|
+
error: `${part} has ${blockers.length} blocker${blockers.length === 1 ? '' : 's'} - fix them before ready`,
|
|
153
|
+
blockers,
|
|
154
|
+
};
|
|
155
|
+
const rerun = (0, exports.actionsRerunOf)({ product, part });
|
|
156
|
+
const actions = yield options.actionsOf();
|
|
157
|
+
const notes = [
|
|
158
|
+
...(rerun.length > 0 ? [(0, embedded_actions_1.actionsRerunReasonOf)(rerun)] : []),
|
|
159
|
+
...(options.actionsNote ? [options.actionsNote] : []),
|
|
160
|
+
];
|
|
161
|
+
if (!Array.isArray(actions))
|
|
162
|
+
return actions;
|
|
163
|
+
if (actions.length > 0)
|
|
164
|
+
return {
|
|
165
|
+
status: 422,
|
|
166
|
+
error: `${part} fails ${actions.length} action check${actions.length === 1 ? '' : 's'} - fix them before ready${notes.length > 0 ? ` (${notes.join('; ')})` : ''}`,
|
|
167
|
+
actions,
|
|
168
|
+
};
|
|
169
|
+
return (_c = (0, exports.writePartRecord)({ product, part, at: options.at })) !== null && _c !== void 0 ? _c : { status: 404, error: `unknown part ${part}` };
|
|
170
|
+
});
|
|
171
|
+
exports.markPartReady = markPartReady;
|
|
172
|
+
//# sourceMappingURL=part-ready.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"part-ready.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/design/system/part-ready.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { FileHashes } from './design-hash';
|
|
2
|
+
import { BuildReadyInputs } from './part-build-ready';
|
|
3
|
+
import { ResolvedProduct } from './resolve-product';
|
|
4
|
+
export declare const IMPLEMENTED_FILE = "implemented.json";
|
|
5
|
+
/**
|
|
6
|
+
* The design hash a part was last implemented at, when, the props hash of each state it had then, and the hash of
|
|
7
|
+
* each repository file its app component reached.
|
|
8
|
+
*/
|
|
9
|
+
export type PartImplemented = {
|
|
10
|
+
hash: string;
|
|
11
|
+
at: string;
|
|
12
|
+
states: Record<string, string>;
|
|
13
|
+
app?: FileHashes;
|
|
14
|
+
};
|
|
15
|
+
/** A part a task can build: its design hash, the component path its `implements` names, and the directory of its records. */
|
|
16
|
+
export type TaskPart = {
|
|
17
|
+
part: string;
|
|
18
|
+
hash: string;
|
|
19
|
+
dir: string;
|
|
20
|
+
component: string;
|
|
21
|
+
};
|
|
22
|
+
/** The states a task names: added since the implemented record, with changed props, or all when only the rest changed. */
|
|
23
|
+
export type TaskStates = {
|
|
24
|
+
added: string[];
|
|
25
|
+
changed: string[];
|
|
26
|
+
all: boolean;
|
|
27
|
+
};
|
|
28
|
+
/** The hash of a state's props as JSON with sorted keys, so reordering keys is no change. */
|
|
29
|
+
export declare const stateHashOf: (props: unknown) => string;
|
|
30
|
+
export declare const readImplemented: (dir: string) => Record<string, PartImplemented>;
|
|
31
|
+
/**
|
|
32
|
+
* Records a part as implemented at its current hash with the props hash of each of its `states` and the `app` file
|
|
33
|
+
* hashes, or says why not.
|
|
34
|
+
*/
|
|
35
|
+
export declare const markImplemented: (options: {
|
|
36
|
+
product: ResolvedProduct;
|
|
37
|
+
part: string;
|
|
38
|
+
states: Record<string, unknown>;
|
|
39
|
+
app?: FileHashes;
|
|
40
|
+
at?: string;
|
|
41
|
+
}) => PartImplemented | string;
|
|
42
|
+
/** The part an `implements` link names at its current design hash, or why a task cannot build it: unknown part, no or a route-only link. */
|
|
43
|
+
export declare const linkedTaskPartOf: (options: {
|
|
44
|
+
product: ResolvedProduct;
|
|
45
|
+
part: string;
|
|
46
|
+
}) => TaskPart | string;
|
|
47
|
+
/** The part a task builds, or why not: what `linkedTaskPartOf` refuses, or each blocker while the part is not build-ready. */
|
|
48
|
+
export declare const taskPartOf: (options: {
|
|
49
|
+
product: ResolvedProduct;
|
|
50
|
+
part: string;
|
|
51
|
+
inputs: BuildReadyInputs;
|
|
52
|
+
}) => TaskPart | string;
|
|
53
|
+
/** The part `task --verify` checks, or why not: what `linkedTaskPartOf` refuses, or a check record that does not hold. */
|
|
54
|
+
export declare const verifiedTaskPartOf: (options: {
|
|
55
|
+
product: ResolvedProduct;
|
|
56
|
+
part: string;
|
|
57
|
+
}) => TaskPart | string;
|
|
58
|
+
/** The states added or changed since the implemented record; without a record every state is added. */
|
|
59
|
+
export declare const taskStatesOf: (options: {
|
|
60
|
+
states: Record<string, unknown>;
|
|
61
|
+
hash: string;
|
|
62
|
+
record: PartImplemented | undefined;
|
|
63
|
+
}) => TaskStates;
|
|
64
|
+
/**
|
|
65
|
+
* The repo paths a task may change: the component folder, a changeset, the harness map, the app files the harness
|
|
66
|
+
* shares with the design, and for `sdk` a docs guide.
|
|
67
|
+
*/
|
|
68
|
+
export declare const allowedFilesOf: (options: {
|
|
69
|
+
product: string;
|
|
70
|
+
component: string;
|
|
71
|
+
harnessMap: string | null;
|
|
72
|
+
shared?: string[];
|
|
73
|
+
}) => string[];
|
|
74
|
+
/** The files of a diff outside the allowed patterns of `allowedFilesOf`. */
|
|
75
|
+
export declare const filesOutsideOf: (options: {
|
|
76
|
+
files: string[];
|
|
77
|
+
allowed: string[];
|
|
78
|
+
}) => string[];
|
|
79
|
+
/**
|
|
80
|
+
* The files of a diff that import the part - a relative import of its component file, folder or a sibling in it - and
|
|
81
|
+
* the spec next to each importer.
|
|
82
|
+
*/
|
|
83
|
+
export declare const importersOf: (options: {
|
|
84
|
+
files: string[];
|
|
85
|
+
component: string;
|
|
86
|
+
read: (file: string) => string | null;
|
|
87
|
+
}) => string[];
|
|
88
|
+
/** The files of a diff under the design folder, which never count as implementation. */
|
|
89
|
+
export declare const designFilesOf: (files: string[]) => string[];
|
|
90
|
+
/**
|
|
91
|
+
* The app files that wire the part in: each non-spec file under the app's `src` folder that imports the part's component
|
|
92
|
+
* folder, directly or through other such files, the part's own spec, and the non-spec app files its direct importers
|
|
93
|
+
* import.
|
|
94
|
+
*/
|
|
95
|
+
export declare const wiringFilesOf: (options: {
|
|
96
|
+
files: string[];
|
|
97
|
+
component: string;
|
|
98
|
+
read: (file: string) => string | null;
|
|
99
|
+
}) => string[];
|
|
100
|
+
/** The files git tracks under a folder at a revision. */
|
|
101
|
+
export declare const gitTreeFilesOf: (options: {
|
|
102
|
+
root: string;
|
|
103
|
+
rev: string;
|
|
104
|
+
dir: string;
|
|
105
|
+
}) => string[];
|
|
106
|
+
/** The content of a file at the end of a git range, or null when it is gone. */
|
|
107
|
+
export declare const gitFileAtOf: (options: {
|
|
108
|
+
root: string;
|
|
109
|
+
range: string;
|
|
110
|
+
file: string;
|
|
111
|
+
}) => string | null;
|
|
112
|
+
/** Whether a `git diff -U0` patch adds or removes only Tailwind `@source` lines. */
|
|
113
|
+
export declare const changesOnlySourceLines: (patch: string) => boolean;
|
|
114
|
+
/** The `git diff -U0` patch of one file in a range. */
|
|
115
|
+
export declare const gitDiffPatchOf: (options: {
|
|
116
|
+
root: string;
|
|
117
|
+
range: string;
|
|
118
|
+
file: string;
|
|
119
|
+
}) => string;
|
|
120
|
+
/** The git range `--verify` checks: a range as given, a single commit `x` as `x^..x`. */
|
|
121
|
+
export declare const verifyRangeOf: (rev: string) => string;
|
|
122
|
+
/** The files `git diff --name-only` names for a range, from the repository root. */
|
|
123
|
+
export declare const gitDiffFilesOf: (options: {
|
|
124
|
+
root: string;
|
|
125
|
+
range: string;
|
|
126
|
+
}) => string[];
|
|
127
|
+
/**
|
|
128
|
+
* Each theming attribute a part's source uses, mapped to the `@ethlete/core` API the implementation puts there: the
|
|
129
|
+
* surface directives, and per semantic colour type `[etProvideColor]` bound to `injectSemanticColorTheme(<type>)`.
|
|
130
|
+
*/
|
|
131
|
+
export declare const themingDirectivesOf: (source: string) => string[];
|
|
132
|
+
/** The component an `implements` link names for compare, or `null` for none, an unreadable or a route-only link. */
|
|
133
|
+
export declare const linkedComponentOf: (source: string) => string | null;
|
|
134
|
+
/** The repository files of a part's app component that changed since its implemented record, `[]` without app hashes. */
|
|
135
|
+
export declare const changedAppFilesOf: (options: {
|
|
136
|
+
product: ResolvedProduct;
|
|
137
|
+
part: string;
|
|
138
|
+
record: PartImplemented;
|
|
139
|
+
}) => string[];
|
|
140
|
+
/**
|
|
141
|
+
* The parts of a product whose implemented record is at the hash of their holding check record, and whose app files did
|
|
142
|
+
* not change since.
|
|
143
|
+
*/
|
|
144
|
+
export declare const doneParts: (options: {
|
|
145
|
+
product: ResolvedProduct;
|
|
146
|
+
parts: string[];
|
|
147
|
+
}) => string[];
|