@calibrate-ds/core 0.1.0
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/dist/__tests__/check-component.test.d.ts +2 -0
- package/dist/__tests__/check-component.test.d.ts.map +1 -0
- package/dist/__tests__/check-component.test.js +103 -0
- package/dist/__tests__/check-component.test.js.map +1 -0
- package/dist/__tests__/compare-components.test.d.ts +2 -0
- package/dist/__tests__/compare-components.test.d.ts.map +1 -0
- package/dist/__tests__/compare-components.test.js +145 -0
- package/dist/__tests__/compare-components.test.js.map +1 -0
- package/dist/__tests__/naming-strategy.test.d.ts +2 -0
- package/dist/__tests__/naming-strategy.test.d.ts.map +1 -0
- package/dist/__tests__/naming-strategy.test.js +71 -0
- package/dist/__tests__/naming-strategy.test.js.map +1 -0
- package/dist/ai/index.d.ts +3 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +3 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/provider.d.ts +14 -0
- package/dist/ai/provider.d.ts.map +1 -0
- package/dist/ai/provider.js +63 -0
- package/dist/ai/provider.js.map +1 -0
- package/dist/ai/resolve-provider.d.ts +3 -0
- package/dist/ai/resolve-provider.d.ts.map +1 -0
- package/dist/ai/resolve-provider.js +61 -0
- package/dist/ai/resolve-provider.js.map +1 -0
- package/dist/bootstrap/generate-library-files.d.ts +7 -0
- package/dist/bootstrap/generate-library-files.d.ts.map +1 -0
- package/dist/bootstrap/generate-library-files.js +97 -0
- package/dist/bootstrap/generate-library-files.js.map +1 -0
- package/dist/bootstrap/index.d.ts +4 -0
- package/dist/bootstrap/index.d.ts.map +1 -0
- package/dist/bootstrap/index.js +4 -0
- package/dist/bootstrap/index.js.map +1 -0
- package/dist/bootstrap/types.d.ts +27 -0
- package/dist/bootstrap/types.d.ts.map +1 -0
- package/dist/bootstrap/types.js +2 -0
- package/dist/bootstrap/types.js.map +1 -0
- package/dist/bootstrap/write-library-bootstrap.d.ts +7 -0
- package/dist/bootstrap/write-library-bootstrap.d.ts.map +1 -0
- package/dist/bootstrap/write-library-bootstrap.js +35 -0
- package/dist/bootstrap/write-library-bootstrap.js.map +1 -0
- package/dist/config/config-schema.d.ts +131 -0
- package/dist/config/config-schema.d.ts.map +1 -0
- package/dist/config/config-schema.js +93 -0
- package/dist/config/config-schema.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +3 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/load-config.d.ts +7 -0
- package/dist/config/load-config.d.ts.map +1 -0
- package/dist/config/load-config.js +63 -0
- package/dist/config/load-config.js.map +1 -0
- package/dist/context/compressed-context.d.ts +3 -0
- package/dist/context/compressed-context.d.ts.map +1 -0
- package/dist/context/compressed-context.js +145 -0
- package/dist/context/compressed-context.js.map +1 -0
- package/dist/context/context-index.d.ts +18 -0
- package/dist/context/context-index.d.ts.map +1 -0
- package/dist/context/context-index.js +59 -0
- package/dist/context/context-index.js.map +1 -0
- package/dist/context/export-context.d.ts +61 -0
- package/dist/context/export-context.d.ts.map +1 -0
- package/dist/context/export-context.js +191 -0
- package/dist/context/export-context.js.map +1 -0
- package/dist/context/get-component-context.d.ts +3 -0
- package/dist/context/get-component-context.d.ts.map +1 -0
- package/dist/context/get-component-context.js +898 -0
- package/dist/context/get-component-context.js.map +1 -0
- package/dist/context/hashing.d.ts +14 -0
- package/dist/context/hashing.d.ts.map +1 -0
- package/dist/context/hashing.js +53 -0
- package/dist/context/hashing.js.map +1 -0
- package/dist/context/metadata-extraction.d.ts +15 -0
- package/dist/context/metadata-extraction.d.ts.map +1 -0
- package/dist/context/metadata-extraction.js +47 -0
- package/dist/context/metadata-extraction.js.map +1 -0
- package/dist/design-tool/figma-adapter.d.ts +20 -0
- package/dist/design-tool/figma-adapter.d.ts.map +1 -0
- package/dist/design-tool/figma-adapter.js +46 -0
- package/dist/design-tool/figma-adapter.js.map +1 -0
- package/dist/design-tool/index.d.ts +4 -0
- package/dist/design-tool/index.d.ts.map +1 -0
- package/dist/design-tool/index.js +3 -0
- package/dist/design-tool/index.js.map +1 -0
- package/dist/design-tool/registry.d.ts +12 -0
- package/dist/design-tool/registry.d.ts.map +1 -0
- package/dist/design-tool/registry.js +23 -0
- package/dist/design-tool/registry.js.map +1 -0
- package/dist/design-tool/types.d.ts +28 -0
- package/dist/design-tool/types.d.ts.map +1 -0
- package/dist/design-tool/types.js +2 -0
- package/dist/design-tool/types.js.map +1 -0
- package/dist/diff/compare-components.d.ts +3 -0
- package/dist/diff/compare-components.d.ts.map +1 -0
- package/dist/diff/compare-components.js +198 -0
- package/dist/diff/compare-components.js.map +1 -0
- package/dist/diff/compare-dependencies.d.ts +3 -0
- package/dist/diff/compare-dependencies.d.ts.map +1 -0
- package/dist/diff/compare-dependencies.js +30 -0
- package/dist/diff/compare-dependencies.js.map +1 -0
- package/dist/diff/compare-tokens.d.ts +3 -0
- package/dist/diff/compare-tokens.d.ts.map +1 -0
- package/dist/diff/compare-tokens.js +52 -0
- package/dist/diff/compare-tokens.js.map +1 -0
- package/dist/diff/compute-design-diff.d.ts +3 -0
- package/dist/diff/compute-design-diff.d.ts.map +1 -0
- package/dist/diff/compute-design-diff.js +27 -0
- package/dist/diff/compute-design-diff.js.map +1 -0
- package/dist/diff/format-diff-summary.d.ts +3 -0
- package/dist/diff/format-diff-summary.d.ts.map +1 -0
- package/dist/diff/format-diff-summary.js +59 -0
- package/dist/diff/format-diff-summary.js.map +1 -0
- package/dist/diff/index.d.ts +6 -0
- package/dist/diff/index.d.ts.map +1 -0
- package/dist/diff/index.js +6 -0
- package/dist/diff/index.js.map +1 -0
- package/dist/docs/generate-component-doc.d.ts +34 -0
- package/dist/docs/generate-component-doc.d.ts.map +1 -0
- package/dist/docs/generate-component-doc.js +269 -0
- package/dist/docs/generate-component-doc.js.map +1 -0
- package/dist/docs/generate-component-stories.d.ts +3 -0
- package/dist/docs/generate-component-stories.d.ts.map +1 -0
- package/dist/docs/generate-component-stories.js +116 -0
- package/dist/docs/generate-component-stories.js.map +1 -0
- package/dist/docs/generate-system-doc.d.ts +23 -0
- package/dist/docs/generate-system-doc.d.ts.map +1 -0
- package/dist/docs/generate-system-doc.js +337 -0
- package/dist/docs/generate-system-doc.js.map +1 -0
- package/dist/docs/index.d.ts +5 -0
- package/dist/docs/index.d.ts.map +1 -0
- package/dist/docs/index.js +5 -0
- package/dist/docs/index.js.map +1 -0
- package/dist/docs/setup-storybook.d.ts +26 -0
- package/dist/docs/setup-storybook.d.ts.map +1 -0
- package/dist/docs/setup-storybook.js +216 -0
- package/dist/docs/setup-storybook.js.map +1 -0
- package/dist/doctor/check-component.d.ts +5 -0
- package/dist/doctor/check-component.d.ts.map +1 -0
- package/dist/doctor/check-component.js +120 -0
- package/dist/doctor/check-component.js.map +1 -0
- package/dist/doctor/check-config.d.ts +4 -0
- package/dist/doctor/check-config.d.ts.map +1 -0
- package/dist/doctor/check-config.js +65 -0
- package/dist/doctor/check-config.js.map +1 -0
- package/dist/doctor/check-tokens.d.ts +4 -0
- package/dist/doctor/check-tokens.d.ts.map +1 -0
- package/dist/doctor/check-tokens.js +17 -0
- package/dist/doctor/check-tokens.js.map +1 -0
- package/dist/doctor/index.d.ts +5 -0
- package/dist/doctor/index.d.ts.map +1 -0
- package/dist/doctor/index.js +5 -0
- package/dist/doctor/index.js.map +1 -0
- package/dist/doctor/types.d.ts +30 -0
- package/dist/doctor/types.d.ts.map +1 -0
- package/dist/doctor/types.js +2 -0
- package/dist/doctor/types.js.map +1 -0
- package/dist/filesystem/ensure-dir.d.ts +5 -0
- package/dist/filesystem/ensure-dir.d.ts.map +1 -0
- package/dist/filesystem/ensure-dir.js +17 -0
- package/dist/filesystem/ensure-dir.js.map +1 -0
- package/dist/filesystem/index.d.ts +6 -0
- package/dist/filesystem/index.d.ts.map +1 -0
- package/dist/filesystem/index.js +6 -0
- package/dist/filesystem/index.js.map +1 -0
- package/dist/filesystem/resolve-component-path.d.ts +10 -0
- package/dist/filesystem/resolve-component-path.d.ts.map +1 -0
- package/dist/filesystem/resolve-component-path.js +32 -0
- package/dist/filesystem/resolve-component-path.js.map +1 -0
- package/dist/filesystem/resolve-ds-paths.d.ts +15 -0
- package/dist/filesystem/resolve-ds-paths.d.ts.map +1 -0
- package/dist/filesystem/resolve-ds-paths.js +51 -0
- package/dist/filesystem/resolve-ds-paths.js.map +1 -0
- package/dist/filesystem/workspace-root.d.ts +6 -0
- package/dist/filesystem/workspace-root.d.ts.map +1 -0
- package/dist/filesystem/workspace-root.js +21 -0
- package/dist/filesystem/workspace-root.js.map +1 -0
- package/dist/filesystem/write-json.d.ts +6 -0
- package/dist/filesystem/write-json.d.ts.map +1 -0
- package/dist/filesystem/write-json.js +10 -0
- package/dist/filesystem/write-json.js.map +1 -0
- package/dist/filesystem/write-text.d.ts +10 -0
- package/dist/filesystem/write-text.d.ts.map +1 -0
- package/dist/filesystem/write-text.js +22 -0
- package/dist/filesystem/write-text.js.map +1 -0
- package/dist/generators/components/generate-component-css.d.ts +6 -0
- package/dist/generators/components/generate-component-css.d.ts.map +1 -0
- package/dist/generators/components/generate-component-css.js +92 -0
- package/dist/generators/components/generate-component-css.js.map +1 -0
- package/dist/generators/components/generate-component-file.d.ts +8 -0
- package/dist/generators/components/generate-component-file.d.ts.map +1 -0
- package/dist/generators/components/generate-component-file.js +209 -0
- package/dist/generators/components/generate-component-file.js.map +1 -0
- package/dist/generators/components/generate-composite-file.d.ts +3 -0
- package/dist/generators/components/generate-composite-file.d.ts.map +1 -0
- package/dist/generators/components/generate-composite-file.js +77 -0
- package/dist/generators/components/generate-composite-file.js.map +1 -0
- package/dist/generators/components/generate-composite-types.d.ts +7 -0
- package/dist/generators/components/generate-composite-types.d.ts.map +1 -0
- package/dist/generators/components/generate-composite-types.js +43 -0
- package/dist/generators/components/generate-composite-types.js.map +1 -0
- package/dist/generators/components/generate-types-file.d.ts +8 -0
- package/dist/generators/components/generate-types-file.d.ts.map +1 -0
- package/dist/generators/components/generate-types-file.js +64 -0
- package/dist/generators/components/generate-types-file.js.map +1 -0
- package/dist/generators/components/helpers.d.ts +33 -0
- package/dist/generators/components/helpers.d.ts.map +1 -0
- package/dist/generators/components/helpers.js +124 -0
- package/dist/generators/components/helpers.js.map +1 -0
- package/dist/generators/components/index.d.ts +9 -0
- package/dist/generators/components/index.d.ts.map +1 -0
- package/dist/generators/components/index.js +10 -0
- package/dist/generators/components/index.js.map +1 -0
- package/dist/generators/components/layout-jsx.d.ts +14 -0
- package/dist/generators/components/layout-jsx.d.ts.map +1 -0
- package/dist/generators/components/layout-jsx.js +271 -0
- package/dist/generators/components/layout-jsx.js.map +1 -0
- package/dist/generators/components/prune-components.d.ts +15 -0
- package/dist/generators/components/prune-components.d.ts.map +1 -0
- package/dist/generators/components/prune-components.js +88 -0
- package/dist/generators/components/prune-components.js.map +1 -0
- package/dist/generators/components/token-helpers.d.ts +32 -0
- package/dist/generators/components/token-helpers.d.ts.map +1 -0
- package/dist/generators/components/token-helpers.js +188 -0
- package/dist/generators/components/token-helpers.js.map +1 -0
- package/dist/generators/components/write-components.d.ts +17 -0
- package/dist/generators/components/write-components.d.ts.map +1 -0
- package/dist/generators/components/write-components.js +212 -0
- package/dist/generators/components/write-components.js.map +1 -0
- package/dist/generators/components/write-composites.d.ts +4 -0
- package/dist/generators/components/write-composites.d.ts.map +1 -0
- package/dist/generators/components/write-composites.js +116 -0
- package/dist/generators/components/write-composites.js.map +1 -0
- package/dist/generators/composites/generate-composite-file.d.ts +3 -0
- package/dist/generators/composites/generate-composite-file.d.ts.map +1 -0
- package/dist/generators/composites/generate-composite-file.js +101 -0
- package/dist/generators/composites/generate-composite-file.js.map +1 -0
- package/dist/generators/composites/generate-composite-types.d.ts +7 -0
- package/dist/generators/composites/generate-composite-types.d.ts.map +1 -0
- package/dist/generators/composites/generate-composite-types.js +43 -0
- package/dist/generators/composites/generate-composite-types.js.map +1 -0
- package/dist/generators/composites/index.d.ts +4 -0
- package/dist/generators/composites/index.d.ts.map +1 -0
- package/dist/generators/composites/index.js +4 -0
- package/dist/generators/composites/index.js.map +1 -0
- package/dist/generators/composites/write-composites.d.ts +4 -0
- package/dist/generators/composites/write-composites.d.ts.map +1 -0
- package/dist/generators/composites/write-composites.js +116 -0
- package/dist/generators/composites/write-composites.js.map +1 -0
- package/dist/generators/registry.d.ts +9 -0
- package/dist/generators/registry.d.ts.map +1 -0
- package/dist/generators/registry.js +11 -0
- package/dist/generators/registry.js.map +1 -0
- package/dist/generators/scaffold/generate-placeholder-component-content.d.ts +9 -0
- package/dist/generators/scaffold/generate-placeholder-component-content.d.ts.map +1 -0
- package/dist/generators/scaffold/generate-placeholder-component-content.js +68 -0
- package/dist/generators/scaffold/generate-placeholder-component-content.js.map +1 -0
- package/dist/generators/scaffold/index.d.ts +3 -0
- package/dist/generators/scaffold/index.d.ts.map +1 -0
- package/dist/generators/scaffold/index.js +3 -0
- package/dist/generators/scaffold/index.js.map +1 -0
- package/dist/generators/scaffold/write-scaffold.d.ts +14 -0
- package/dist/generators/scaffold/write-scaffold.d.ts.map +1 -0
- package/dist/generators/scaffold/write-scaffold.js +87 -0
- package/dist/generators/scaffold/write-scaffold.js.map +1 -0
- package/dist/generators/tokens/generate-token-css.d.ts +6 -0
- package/dist/generators/tokens/generate-token-css.d.ts.map +1 -0
- package/dist/generators/tokens/generate-token-css.js +31 -0
- package/dist/generators/tokens/generate-token-css.js.map +1 -0
- package/dist/generators/tokens/generate-token-file-content.d.ts +6 -0
- package/dist/generators/tokens/generate-token-file-content.d.ts.map +1 -0
- package/dist/generators/tokens/generate-token-file-content.js +27 -0
- package/dist/generators/tokens/generate-token-file-content.js.map +1 -0
- package/dist/generators/tokens/index.d.ts +3 -0
- package/dist/generators/tokens/index.d.ts.map +1 -0
- package/dist/generators/tokens/index.js +3 -0
- package/dist/generators/tokens/index.js.map +1 -0
- package/dist/generators/tokens/write-tokens.d.ts +14 -0
- package/dist/generators/tokens/write-tokens.d.ts.map +1 -0
- package/dist/generators/tokens/write-tokens.js +96 -0
- package/dist/generators/tokens/write-tokens.js.map +1 -0
- package/dist/generators/types.d.ts +11 -0
- package/dist/generators/types.d.ts.map +1 -0
- package/dist/generators/types.js +2 -0
- package/dist/generators/types.js.map +1 -0
- package/dist/icons/enrich-icon-svgs.d.ts +10 -0
- package/dist/icons/enrich-icon-svgs.d.ts.map +1 -0
- package/dist/icons/enrich-icon-svgs.js +88 -0
- package/dist/icons/enrich-icon-svgs.js.map +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/manifest/index.d.ts +8 -0
- package/dist/manifest/index.d.ts.map +1 -0
- package/dist/manifest/index.js +80 -0
- package/dist/manifest/index.js.map +1 -0
- package/dist/mappings/build-file-mappings.d.ts +6 -0
- package/dist/mappings/build-file-mappings.d.ts.map +1 -0
- package/dist/mappings/build-file-mappings.js +37 -0
- package/dist/mappings/build-file-mappings.js.map +1 -0
- package/dist/mappings/index.d.ts +3 -0
- package/dist/mappings/index.d.ts.map +1 -0
- package/dist/mappings/index.js +3 -0
- package/dist/mappings/index.js.map +1 -0
- package/dist/mappings/naming-strategy.d.ts +20 -0
- package/dist/mappings/naming-strategy.d.ts.map +1 -0
- package/dist/mappings/naming-strategy.js +78 -0
- package/dist/mappings/naming-strategy.js.map +1 -0
- package/dist/model/build-design-system-model.d.ts +7 -0
- package/dist/model/build-design-system-model.d.ts.map +1 -0
- package/dist/model/build-design-system-model.js +78 -0
- package/dist/model/build-design-system-model.js.map +1 -0
- package/dist/model/index.d.ts +2 -0
- package/dist/model/index.d.ts.map +1 -0
- package/dist/model/index.js +2 -0
- package/dist/model/index.js.map +1 -0
- package/dist/model/resolve-component.d.ts +11 -0
- package/dist/model/resolve-component.d.ts.map +1 -0
- package/dist/model/resolve-component.js +110 -0
- package/dist/model/resolve-component.js.map +1 -0
- package/dist/normalizer/classify-entities.d.ts +12 -0
- package/dist/normalizer/classify-entities.d.ts.map +1 -0
- package/dist/normalizer/classify-entities.js +62 -0
- package/dist/normalizer/classify-entities.js.map +1 -0
- package/dist/normalizer/helpers.d.ts +13 -0
- package/dist/normalizer/helpers.d.ts.map +1 -0
- package/dist/normalizer/helpers.js +27 -0
- package/dist/normalizer/helpers.js.map +1 -0
- package/dist/normalizer/index.d.ts +7 -0
- package/dist/normalizer/index.d.ts.map +1 -0
- package/dist/normalizer/index.js +7 -0
- package/dist/normalizer/index.js.map +1 -0
- package/dist/normalizer/instance-resolver.d.ts +13 -0
- package/dist/normalizer/instance-resolver.d.ts.map +1 -0
- package/dist/normalizer/instance-resolver.js +747 -0
- package/dist/normalizer/instance-resolver.js.map +1 -0
- package/dist/normalizer/layout-tree.d.ts +12 -0
- package/dist/normalizer/layout-tree.d.ts.map +1 -0
- package/dist/normalizer/layout-tree.js +312 -0
- package/dist/normalizer/layout-tree.js.map +1 -0
- package/dist/normalizer/naming.d.ts +11 -0
- package/dist/normalizer/naming.d.ts.map +1 -0
- package/dist/normalizer/naming.js +44 -0
- package/dist/normalizer/naming.js.map +1 -0
- package/dist/normalizer/normalize-components.d.ts +13 -0
- package/dist/normalizer/normalize-components.d.ts.map +1 -0
- package/dist/normalizer/normalize-components.js +520 -0
- package/dist/normalizer/normalize-components.js.map +1 -0
- package/dist/normalizer/normalize-composites.d.ts +8 -0
- package/dist/normalizer/normalize-composites.d.ts.map +1 -0
- package/dist/normalizer/normalize-composites.js +22 -0
- package/dist/normalizer/normalize-composites.js.map +1 -0
- package/dist/normalizer/normalize-instances.d.ts +9 -0
- package/dist/normalizer/normalize-instances.d.ts.map +1 -0
- package/dist/normalizer/normalize-instances.js +32 -0
- package/dist/normalizer/normalize-instances.js.map +1 -0
- package/dist/normalizer/types.d.ts +22 -0
- package/dist/normalizer/types.d.ts.map +1 -0
- package/dist/normalizer/types.js +2 -0
- package/dist/normalizer/types.js.map +1 -0
- package/dist/normalizer/variant-diff.d.ts +101 -0
- package/dist/normalizer/variant-diff.d.ts.map +1 -0
- package/dist/normalizer/variant-diff.js +307 -0
- package/dist/normalizer/variant-diff.js.map +1 -0
- package/dist/plan/implementation-plan.d.ts +28 -0
- package/dist/plan/implementation-plan.d.ts.map +1 -0
- package/dist/plan/implementation-plan.js +60 -0
- package/dist/plan/implementation-plan.js.map +1 -0
- package/dist/plan/index.d.ts +3 -0
- package/dist/plan/index.d.ts.map +1 -0
- package/dist/plan/index.js +3 -0
- package/dist/plan/index.js.map +1 -0
- package/dist/plan/resolve-affected-files.d.ts +11 -0
- package/dist/plan/resolve-affected-files.d.ts.map +1 -0
- package/dist/plan/resolve-affected-files.js +73 -0
- package/dist/plan/resolve-affected-files.js.map +1 -0
- package/dist/prompt/generate-component-prompt.d.ts +6 -0
- package/dist/prompt/generate-component-prompt.d.ts.map +1 -0
- package/dist/prompt/generate-component-prompt.js +1644 -0
- package/dist/prompt/generate-component-prompt.js.map +1 -0
- package/dist/registry/ai-provider-registry.d.ts +7 -0
- package/dist/registry/ai-provider-registry.d.ts.map +1 -0
- package/dist/registry/ai-provider-registry.js +21 -0
- package/dist/registry/ai-provider-registry.js.map +1 -0
- package/dist/registry/build-component-registry.d.ts +6 -0
- package/dist/registry/build-component-registry.d.ts.map +1 -0
- package/dist/registry/build-component-registry.js +43 -0
- package/dist/registry/build-component-registry.js.map +1 -0
- package/dist/registry/build-dependency-graph.d.ts +7 -0
- package/dist/registry/build-dependency-graph.d.ts.map +1 -0
- package/dist/registry/build-dependency-graph.js +36 -0
- package/dist/registry/build-dependency-graph.js.map +1 -0
- package/dist/registry/generator-registry.d.ts +12 -0
- package/dist/registry/generator-registry.d.ts.map +1 -0
- package/dist/registry/generator-registry.js +22 -0
- package/dist/registry/generator-registry.js.map +1 -0
- package/dist/registry/index.d.ts +3 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +3 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/scaffold-plan/build-scaffold-plan.d.ts +16 -0
- package/dist/scaffold-plan/build-scaffold-plan.d.ts.map +1 -0
- package/dist/scaffold-plan/build-scaffold-plan.js +91 -0
- package/dist/scaffold-plan/build-scaffold-plan.js.map +1 -0
- package/dist/scaffold-plan/index.d.ts +2 -0
- package/dist/scaffold-plan/index.d.ts.map +1 -0
- package/dist/scaffold-plan/index.js +2 -0
- package/dist/scaffold-plan/index.js.map +1 -0
- package/dist/scanner/collect-components.d.ts +10 -0
- package/dist/scanner/collect-components.d.ts.map +1 -0
- package/dist/scanner/collect-components.js +103 -0
- package/dist/scanner/collect-components.js.map +1 -0
- package/dist/scanner/collect-instances.d.ts +6 -0
- package/dist/scanner/collect-instances.d.ts.map +1 -0
- package/dist/scanner/collect-instances.js +31 -0
- package/dist/scanner/collect-instances.js.map +1 -0
- package/dist/scanner/index.d.ts +6 -0
- package/dist/scanner/index.d.ts.map +1 -0
- package/dist/scanner/index.js +6 -0
- package/dist/scanner/index.js.map +1 -0
- package/dist/scanner/scan-file.d.ts +6 -0
- package/dist/scanner/scan-file.d.ts.map +1 -0
- package/dist/scanner/scan-file.js +28 -0
- package/dist/scanner/scan-file.js.map +1 -0
- package/dist/scanner/traverse-nodes.d.ts +15 -0
- package/dist/scanner/traverse-nodes.d.ts.map +1 -0
- package/dist/scanner/traverse-nodes.js +18 -0
- package/dist/scanner/traverse-nodes.js.map +1 -0
- package/dist/scanner/types.d.ts +89 -0
- package/dist/scanner/types.d.ts.map +1 -0
- package/dist/scanner/types.js +2 -0
- package/dist/scanner/types.js.map +1 -0
- package/dist/snapshots/index.d.ts +6 -0
- package/dist/snapshots/index.d.ts.map +1 -0
- package/dist/snapshots/index.js +6 -0
- package/dist/snapshots/index.js.map +1 -0
- package/dist/snapshots/load-imported-tokens.d.ts +8 -0
- package/dist/snapshots/load-imported-tokens.d.ts.map +1 -0
- package/dist/snapshots/load-imported-tokens.js +27 -0
- package/dist/snapshots/load-imported-tokens.js.map +1 -0
- package/dist/snapshots/load-latest-snapshot.d.ts +3 -0
- package/dist/snapshots/load-latest-snapshot.d.ts.map +1 -0
- package/dist/snapshots/load-latest-snapshot.js +16 -0
- package/dist/snapshots/load-latest-snapshot.js.map +1 -0
- package/dist/snapshots/load-previous-snapshot.d.ts +7 -0
- package/dist/snapshots/load-previous-snapshot.d.ts.map +1 -0
- package/dist/snapshots/load-previous-snapshot.js +39 -0
- package/dist/snapshots/load-previous-snapshot.js.map +1 -0
- package/dist/snapshots/save-imported-tokens.d.ts +4 -0
- package/dist/snapshots/save-imported-tokens.d.ts.map +1 -0
- package/dist/snapshots/save-imported-tokens.js +16 -0
- package/dist/snapshots/save-imported-tokens.js.map +1 -0
- package/dist/snapshots/save-snapshot.d.ts +3 -0
- package/dist/snapshots/save-snapshot.d.ts.map +1 -0
- package/dist/snapshots/save-snapshot.js +49 -0
- package/dist/snapshots/save-snapshot.js.map +1 -0
- package/dist/test-null-safety.d.ts +2 -0
- package/dist/test-null-safety.d.ts.map +1 -0
- package/dist/test-null-safety.js +67 -0
- package/dist/test-null-safety.js.map +1 -0
- package/dist/test-regex.d.ts +2 -0
- package/dist/test-regex.d.ts.map +1 -0
- package/dist/test-regex.js +25 -0
- package/dist/test-regex.js.map +1 -0
- package/dist/test-token-resolution.d.ts +2 -0
- package/dist/test-token-resolution.d.ts.map +1 -0
- package/dist/test-token-resolution.js +54 -0
- package/dist/test-token-resolution.js.map +1 -0
- package/dist/test-typography.d.ts +2 -0
- package/dist/test-typography.d.ts.map +1 -0
- package/dist/test-typography.js +69 -0
- package/dist/test-typography.js.map +1 -0
- package/dist/tokens/adapters/generic-adapter.d.ts +13 -0
- package/dist/tokens/adapters/generic-adapter.d.ts.map +1 -0
- package/dist/tokens/adapters/generic-adapter.js +74 -0
- package/dist/tokens/adapters/generic-adapter.js.map +1 -0
- package/dist/tokens/adapters/index.d.ts +3 -0
- package/dist/tokens/adapters/index.d.ts.map +1 -0
- package/dist/tokens/adapters/index.js +3 -0
- package/dist/tokens/adapters/index.js.map +1 -0
- package/dist/tokens/adapters/ptb-adapter.d.ts +13 -0
- package/dist/tokens/adapters/ptb-adapter.d.ts.map +1 -0
- package/dist/tokens/adapters/ptb-adapter.js +13 -0
- package/dist/tokens/adapters/ptb-adapter.js.map +1 -0
- package/dist/tokens/build-token-model.d.ts +12 -0
- package/dist/tokens/build-token-model.d.ts.map +1 -0
- package/dist/tokens/build-token-model.js +50 -0
- package/dist/tokens/build-token-model.js.map +1 -0
- package/dist/tokens/classify-token-kind.d.ts +7 -0
- package/dist/tokens/classify-token-kind.d.ts.map +1 -0
- package/dist/tokens/classify-token-kind.js +24 -0
- package/dist/tokens/classify-token-kind.js.map +1 -0
- package/dist/tokens/detect-format.d.ts +6 -0
- package/dist/tokens/detect-format.d.ts.map +1 -0
- package/dist/tokens/detect-format.js +23 -0
- package/dist/tokens/detect-format.js.map +1 -0
- package/dist/tokens/import-schema.d.ts +111 -0
- package/dist/tokens/import-schema.d.ts.map +1 -0
- package/dist/tokens/import-schema.js +45 -0
- package/dist/tokens/import-schema.js.map +1 -0
- package/dist/tokens/import-tokens.d.ts +16 -0
- package/dist/tokens/import-tokens.d.ts.map +1 -0
- package/dist/tokens/import-tokens.js +40 -0
- package/dist/tokens/import-tokens.js.map +1 -0
- package/dist/tokens/index.d.ts +12 -0
- package/dist/tokens/index.d.ts.map +1 -0
- package/dist/tokens/index.js +12 -0
- package/dist/tokens/index.js.map +1 -0
- package/dist/tokens/naming.d.ts +19 -0
- package/dist/tokens/naming.d.ts.map +1 -0
- package/dist/tokens/naming.js +27 -0
- package/dist/tokens/naming.js.map +1 -0
- package/dist/tokens/normalize-token-collections.d.ts +7 -0
- package/dist/tokens/normalize-token-collections.d.ts.map +1 -0
- package/dist/tokens/normalize-token-collections.js +68 -0
- package/dist/tokens/normalize-token-collections.js.map +1 -0
- package/dist/tokens/resolution.d.ts +7 -0
- package/dist/tokens/resolution.d.ts.map +1 -0
- package/dist/tokens/resolution.js +223 -0
- package/dist/tokens/resolution.js.map +1 -0
- package/dist/tokens/resolve-token-source.d.ts +12 -0
- package/dist/tokens/resolve-token-source.d.ts.map +1 -0
- package/dist/tokens/resolve-token-source.js +37 -0
- package/dist/tokens/resolve-token-source.js.map +1 -0
- package/dist/tokens/types.d.ts +40 -0
- package/dist/tokens/types.d.ts.map +1 -0
- package/dist/tokens/types.js +2 -0
- package/dist/tokens/types.js.map +1 -0
- package/package.json +34 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates a minimal, clean, professional library foundation plan.
|
|
3
|
+
* This structure is extremely brownfield-safe and agnostic to app frameworks.
|
|
4
|
+
*/
|
|
5
|
+
export function generateLibraryFiles() {
|
|
6
|
+
const plan = {
|
|
7
|
+
directories: [
|
|
8
|
+
"packages/ui",
|
|
9
|
+
"packages/ui/src",
|
|
10
|
+
"packages/ui/src/components",
|
|
11
|
+
"packages/ui/src/tokens"
|
|
12
|
+
],
|
|
13
|
+
files: [
|
|
14
|
+
{
|
|
15
|
+
filePath: "packages/ui/src/index.ts",
|
|
16
|
+
content: `// ----------------------------------------------------------------------------
|
|
17
|
+
// ptb auto-generated design system export barrel
|
|
18
|
+
// ----------------------------------------------------------------------------
|
|
19
|
+
|
|
20
|
+
export * from "./components";
|
|
21
|
+
export * from "./tokens";
|
|
22
|
+
import "./tokens/tokens.css";
|
|
23
|
+
`
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
filePath: "packages/ui/src/components/index.ts",
|
|
27
|
+
content: `// Export UI components here.
|
|
28
|
+
// e.g. export * from "./Button";
|
|
29
|
+
`
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
filePath: "packages/ui/src/tokens/index.ts",
|
|
33
|
+
content: `// Export Design Tokens here.
|
|
34
|
+
// e.g. export * from "./Colors";
|
|
35
|
+
`
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
filePath: "packages/ui/package.json",
|
|
39
|
+
content: `{
|
|
40
|
+
"name": "design-system",
|
|
41
|
+
"version": "0.1.0",
|
|
42
|
+
"description": "Library Foundation generated by Calibrate",
|
|
43
|
+
"main": "dist/index.js",
|
|
44
|
+
"types": "dist/index.d.ts",
|
|
45
|
+
"scripts": {
|
|
46
|
+
"build": "tsc"
|
|
47
|
+
},
|
|
48
|
+
"peerDependencies": {
|
|
49
|
+
"react": "^18.2.0"
|
|
50
|
+
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"typescript": "^5.0.0",
|
|
53
|
+
"@types/react": "^18.2.0"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
`
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
filePath: "packages/ui/tsconfig.json",
|
|
60
|
+
content: `{
|
|
61
|
+
"compilerOptions": {
|
|
62
|
+
"target": "ES2022",
|
|
63
|
+
"module": "ESNext",
|
|
64
|
+
"moduleResolution": "Bundler",
|
|
65
|
+
"jsx": "react-jsx",
|
|
66
|
+
"declaration": true,
|
|
67
|
+
"declarationMap": true,
|
|
68
|
+
"outDir": "dist",
|
|
69
|
+
"strict": true,
|
|
70
|
+
"skipLibCheck": true,
|
|
71
|
+
"forceConsistentCasingInFileNames": true
|
|
72
|
+
},
|
|
73
|
+
"include": ["src/**/*"]
|
|
74
|
+
}
|
|
75
|
+
`
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
filePath: "packages/ui/README.md",
|
|
79
|
+
content: `# Design System Library
|
|
80
|
+
|
|
81
|
+
This lightweight component library core was successfully initialized by [Calibrate](https://prompt-to-both.dev).
|
|
82
|
+
|
|
83
|
+
## Architecture
|
|
84
|
+
|
|
85
|
+
- \`src/components\`: UI building blocks mapped to Figma prototypes.
|
|
86
|
+
- \`src/tokens\`: Theme variables and foundational typography/color schemas.
|
|
87
|
+
- \`src/index.ts\`: Main entry point exporter for your consuming applications.
|
|
88
|
+
|
|
89
|
+
## Workflows
|
|
90
|
+
Run \`ptb scan\` and \`ptb scaffold\` to synchronize your Figma file components directly into this repository cleanly.
|
|
91
|
+
`
|
|
92
|
+
}
|
|
93
|
+
]
|
|
94
|
+
};
|
|
95
|
+
return plan;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=generate-library-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-library-files.js","sourceRoot":"","sources":["../../src/bootstrap/generate-library-files.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,IAAI,GAAyB;QACjC,WAAW,EAAE;YACX,aAAa;YACb,iBAAiB;YACjB,4BAA4B;YAC5B,wBAAwB;SACzB;QACD,KAAK,EAAE;YACL;gBACE,QAAQ,EAAE,0BAA0B;gBACpC,OAAO,EAAE;;;;;;;CAOhB;aACM;YACD;gBACE,QAAQ,EAAE,qCAAqC;gBAC/C,OAAO,EAAE;;CAEhB;aACM;YACD;gBACE,QAAQ,EAAE,iCAAiC;gBAC3C,OAAO,EAAE;;CAEhB;aACM;YACD;gBACE,QAAQ,EAAE,0BAA0B;gBACpC,OAAO,EAAE;;;;;;;;;;;;;;;;;CAiBhB;aACM;YACD;gBACE,QAAQ,EAAE,2BAA2B;gBACrC,OAAO,EAAE;;;;;;;;;;;;;;;CAehB;aACM;YACD;gBACE,QAAQ,EAAE,uBAAuB;gBACjC,OAAO,EAAE;;;;;;;;;;;;CAYhB;aACM;SACF;KACF,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bootstrap/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bootstrap/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents a single file to be written during bootstrapping.
|
|
3
|
+
*/
|
|
4
|
+
export interface BootstrapFilePlan {
|
|
5
|
+
/** Relative path from the project root */
|
|
6
|
+
filePath: string;
|
|
7
|
+
/** Complete file content */
|
|
8
|
+
content: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Represents the complete plan for bootstrapping a library foundation.
|
|
12
|
+
*/
|
|
13
|
+
export interface LibraryBootstrapPlan {
|
|
14
|
+
/** Relative directory paths from the project root */
|
|
15
|
+
directories: string[];
|
|
16
|
+
/** Files to write */
|
|
17
|
+
files: BootstrapFilePlan[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Result of the bootstrap write operation.
|
|
21
|
+
*/
|
|
22
|
+
export interface BootstrapWriteResult {
|
|
23
|
+
createdDirectories: string[];
|
|
24
|
+
createdFiles: string[];
|
|
25
|
+
skippedFiles: string[];
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/bootstrap/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,qDAAqD;IACrD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,qBAAqB;IACrB,KAAK,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/bootstrap/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { LibraryBootstrapPlan, BootstrapWriteResult } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Safely writes the library foundation to physical disk.
|
|
4
|
+
* Skips existing files to remain 100% brownfield safe.
|
|
5
|
+
*/
|
|
6
|
+
export declare function writeLibraryBootstrap(rootDir: string, plan: LibraryBootstrapPlan): Promise<BootstrapWriteResult>;
|
|
7
|
+
//# sourceMappingURL=write-library-bootstrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-library-bootstrap.d.ts","sourceRoot":"","sources":["../../src/bootstrap/write-library-bootstrap.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE7E;;;GAGG;AACH,wBAAsB,qBAAqB,CACvC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAgC/B"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as path from "node:path";
|
|
2
|
+
import { ensureDir, writeText } from "../filesystem/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Safely writes the library foundation to physical disk.
|
|
5
|
+
* Skips existing files to remain 100% brownfield safe.
|
|
6
|
+
*/
|
|
7
|
+
export async function writeLibraryBootstrap(rootDir, plan) {
|
|
8
|
+
const result = {
|
|
9
|
+
createdDirectories: [],
|
|
10
|
+
createdFiles: [],
|
|
11
|
+
skippedFiles: []
|
|
12
|
+
};
|
|
13
|
+
// 1. Ensure all directories exist
|
|
14
|
+
for (const dir of plan.directories) {
|
|
15
|
+
const absPath = path.resolve(rootDir, dir);
|
|
16
|
+
await ensureDir(absPath);
|
|
17
|
+
result.createdDirectories.push(dir);
|
|
18
|
+
}
|
|
19
|
+
// 2. Write files safely
|
|
20
|
+
for (const file of plan.files) {
|
|
21
|
+
const absPath = path.resolve(rootDir, file.filePath);
|
|
22
|
+
// We intentionally never overwrite during a bootstrap init phase.
|
|
23
|
+
const wasWritten = await writeText(absPath, file.content, { overwrite: false });
|
|
24
|
+
if (wasWritten) {
|
|
25
|
+
result.createdFiles.push(file.filePath);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
result.skippedFiles.push(file.filePath);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
// Optional: dedup logic here if your directories array contained duplicates.
|
|
32
|
+
result.createdDirectories = Array.from(new Set(result.createdDirectories));
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=write-library-bootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-library-bootstrap.js","sourceRoot":"","sources":["../../src/bootstrap/write-library-bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAG9D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACvC,OAAe,EACf,IAA0B;IAE1B,MAAM,MAAM,GAAyB;QACjC,kBAAkB,EAAE,EAAE;QACtB,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,EAAE;KACnB,CAAC;IAEF,kCAAkC;IAClC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC3C,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;QACzB,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,wBAAwB;IACxB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAErD,kEAAkE;QAClE,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAEhF,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,MAAM,CAAC,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAE3E,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/** @deprecated — kept for schema migration only */
|
|
3
|
+
export declare const FigmaConfigSchema: z.ZodObject<{
|
|
4
|
+
fileKey: z.ZodString;
|
|
5
|
+
accessTokenEnv: z.ZodString;
|
|
6
|
+
}, z.core.$strip>;
|
|
7
|
+
export declare const OutputConfigSchema: z.ZodObject<{
|
|
8
|
+
componentsDir: z.ZodString;
|
|
9
|
+
tokensDir: z.ZodString;
|
|
10
|
+
metadataDir: z.ZodString;
|
|
11
|
+
}, z.core.$strip>;
|
|
12
|
+
export declare const FrameworkConfigSchema: z.ZodObject<{
|
|
13
|
+
name: z.ZodDefault<z.ZodString>;
|
|
14
|
+
typescript: z.ZodBoolean;
|
|
15
|
+
styling: z.ZodEnum<{
|
|
16
|
+
unstyled: "unstyled";
|
|
17
|
+
tailwind: "tailwind";
|
|
18
|
+
"css-modules": "css-modules";
|
|
19
|
+
}>;
|
|
20
|
+
}, z.core.$strip>;
|
|
21
|
+
export declare const GenerationConfigSchema: z.ZodObject<{
|
|
22
|
+
stories: z.ZodBoolean;
|
|
23
|
+
tests: z.ZodBoolean;
|
|
24
|
+
types: z.ZodBoolean;
|
|
25
|
+
indexFiles: z.ZodBoolean;
|
|
26
|
+
cssFiles: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
27
|
+
}, z.core.$strip>;
|
|
28
|
+
export declare const NamingConfigSchema: z.ZodObject<{
|
|
29
|
+
componentCase: z.ZodDefault<z.ZodEnum<{
|
|
30
|
+
PascalCase: "PascalCase";
|
|
31
|
+
"kebab-case": "kebab-case";
|
|
32
|
+
camelCase: "camelCase";
|
|
33
|
+
}>>;
|
|
34
|
+
folderCase: z.ZodDefault<z.ZodEnum<{
|
|
35
|
+
PascalCase: "PascalCase";
|
|
36
|
+
"kebab-case": "kebab-case";
|
|
37
|
+
camelCase: "camelCase";
|
|
38
|
+
}>>;
|
|
39
|
+
tokenCase: z.ZodDefault<z.ZodEnum<{
|
|
40
|
+
"kebab-case": "kebab-case";
|
|
41
|
+
camelCase: "camelCase";
|
|
42
|
+
}>>;
|
|
43
|
+
}, z.core.$strip>;
|
|
44
|
+
export declare const ClassificationConfigSchema: z.ZodObject<{
|
|
45
|
+
treatComponentSetsAsCanonical: z.ZodBoolean;
|
|
46
|
+
treatStandaloneComponentsAsCanonical: z.ZodBoolean;
|
|
47
|
+
treatNestedInstancesAsReferences: z.ZodBoolean;
|
|
48
|
+
}, z.core.$strip>;
|
|
49
|
+
export declare const AIConfigSchema: z.ZodPipe<z.ZodTransform<any, any>, z.ZodObject<{
|
|
50
|
+
active: z.ZodString;
|
|
51
|
+
providers: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
52
|
+
model: z.ZodOptional<z.ZodString>;
|
|
53
|
+
accessTokenEnv: z.ZodOptional<z.ZodString>;
|
|
54
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
55
|
+
}, z.core.$strip>>;
|
|
56
|
+
}, z.core.$strip>>;
|
|
57
|
+
export declare const DocsConfigSchema: z.ZodObject<{
|
|
58
|
+
tool: z.ZodEnum<{
|
|
59
|
+
storybook: "storybook";
|
|
60
|
+
docusaurus: "docusaurus";
|
|
61
|
+
none: "none";
|
|
62
|
+
}>;
|
|
63
|
+
}, z.core.$strip>;
|
|
64
|
+
export declare const PTBConfigSchema: z.ZodPipe<z.ZodTransform<any, any>, z.ZodObject<{
|
|
65
|
+
designTool: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
66
|
+
provider: z.ZodLiteral<"figma">;
|
|
67
|
+
fileKey: z.ZodString;
|
|
68
|
+
accessTokenEnv: z.ZodString;
|
|
69
|
+
}, z.core.$strip>], "provider">;
|
|
70
|
+
project: z.ZodObject<{
|
|
71
|
+
rootDir: z.ZodString;
|
|
72
|
+
}, z.core.$strip>;
|
|
73
|
+
output: z.ZodObject<{
|
|
74
|
+
componentsDir: z.ZodString;
|
|
75
|
+
tokensDir: z.ZodString;
|
|
76
|
+
metadataDir: z.ZodString;
|
|
77
|
+
}, z.core.$strip>;
|
|
78
|
+
framework: z.ZodObject<{
|
|
79
|
+
name: z.ZodDefault<z.ZodString>;
|
|
80
|
+
typescript: z.ZodBoolean;
|
|
81
|
+
styling: z.ZodEnum<{
|
|
82
|
+
unstyled: "unstyled";
|
|
83
|
+
tailwind: "tailwind";
|
|
84
|
+
"css-modules": "css-modules";
|
|
85
|
+
}>;
|
|
86
|
+
}, z.core.$strip>;
|
|
87
|
+
generation: z.ZodObject<{
|
|
88
|
+
stories: z.ZodBoolean;
|
|
89
|
+
tests: z.ZodBoolean;
|
|
90
|
+
types: z.ZodBoolean;
|
|
91
|
+
indexFiles: z.ZodBoolean;
|
|
92
|
+
cssFiles: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
93
|
+
}, z.core.$strip>;
|
|
94
|
+
naming: z.ZodObject<{
|
|
95
|
+
componentCase: z.ZodDefault<z.ZodEnum<{
|
|
96
|
+
PascalCase: "PascalCase";
|
|
97
|
+
"kebab-case": "kebab-case";
|
|
98
|
+
camelCase: "camelCase";
|
|
99
|
+
}>>;
|
|
100
|
+
folderCase: z.ZodDefault<z.ZodEnum<{
|
|
101
|
+
PascalCase: "PascalCase";
|
|
102
|
+
"kebab-case": "kebab-case";
|
|
103
|
+
camelCase: "camelCase";
|
|
104
|
+
}>>;
|
|
105
|
+
tokenCase: z.ZodDefault<z.ZodEnum<{
|
|
106
|
+
"kebab-case": "kebab-case";
|
|
107
|
+
camelCase: "camelCase";
|
|
108
|
+
}>>;
|
|
109
|
+
}, z.core.$strip>;
|
|
110
|
+
classification: z.ZodObject<{
|
|
111
|
+
treatComponentSetsAsCanonical: z.ZodBoolean;
|
|
112
|
+
treatStandaloneComponentsAsCanonical: z.ZodBoolean;
|
|
113
|
+
treatNestedInstancesAsReferences: z.ZodBoolean;
|
|
114
|
+
}, z.core.$strip>;
|
|
115
|
+
ai: z.ZodOptional<z.ZodPipe<z.ZodTransform<any, any>, z.ZodObject<{
|
|
116
|
+
active: z.ZodString;
|
|
117
|
+
providers: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
118
|
+
model: z.ZodOptional<z.ZodString>;
|
|
119
|
+
accessTokenEnv: z.ZodOptional<z.ZodString>;
|
|
120
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
121
|
+
}, z.core.$strip>>;
|
|
122
|
+
}, z.core.$strip>>>;
|
|
123
|
+
docs: z.ZodOptional<z.ZodObject<{
|
|
124
|
+
tool: z.ZodEnum<{
|
|
125
|
+
storybook: "storybook";
|
|
126
|
+
docusaurus: "docusaurus";
|
|
127
|
+
none: "none";
|
|
128
|
+
}>;
|
|
129
|
+
}, z.core.$strip>>;
|
|
130
|
+
}, z.core.$strip>>;
|
|
131
|
+
//# sourceMappingURL=config-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-schema.d.ts","sourceRoot":"","sources":["../../src/config/config-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,mDAAmD;AACnD,eAAO,MAAM,iBAAiB;;;iBAG5B,CAAC;AAaH,eAAO,MAAM,kBAAkB;;;;iBAI7B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;iBAIhC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;iBAMjC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;iBAI7B,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;iBAIrC,CAAC;AAQH,eAAO,MAAM,cAAc;;;;;;;kBAuB1B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;iBAE3B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAsBI,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
// Extracted Zod schemas for validation that map purely to our type definitions
|
|
3
|
+
/** @deprecated — kept for schema migration only */
|
|
4
|
+
export const FigmaConfigSchema = z.object({
|
|
5
|
+
fileKey: z.string(),
|
|
6
|
+
accessTokenEnv: z.string()
|
|
7
|
+
});
|
|
8
|
+
const FigmaDesignToolConfigSchema = z.object({
|
|
9
|
+
provider: z.literal("figma"),
|
|
10
|
+
fileKey: z.string(),
|
|
11
|
+
accessTokenEnv: z.string(),
|
|
12
|
+
});
|
|
13
|
+
// Union grows as new adapters are added (e.g. PenpotDesignToolConfigSchema)
|
|
14
|
+
const DesignToolConfigSchema = z.discriminatedUnion("provider", [
|
|
15
|
+
FigmaDesignToolConfigSchema,
|
|
16
|
+
]);
|
|
17
|
+
export const OutputConfigSchema = z.object({
|
|
18
|
+
componentsDir: z.string(),
|
|
19
|
+
tokensDir: z.string(),
|
|
20
|
+
metadataDir: z.string()
|
|
21
|
+
});
|
|
22
|
+
export const FrameworkConfigSchema = z.object({
|
|
23
|
+
name: z.string().default("react"),
|
|
24
|
+
typescript: z.boolean(),
|
|
25
|
+
styling: z.enum(["unstyled", "tailwind", "css-modules"])
|
|
26
|
+
});
|
|
27
|
+
export const GenerationConfigSchema = z.object({
|
|
28
|
+
stories: z.boolean(),
|
|
29
|
+
tests: z.boolean(),
|
|
30
|
+
types: z.boolean(),
|
|
31
|
+
indexFiles: z.boolean(),
|
|
32
|
+
cssFiles: z.boolean().optional().default(true)
|
|
33
|
+
});
|
|
34
|
+
export const NamingConfigSchema = z.object({
|
|
35
|
+
componentCase: z.enum(["PascalCase", "kebab-case", "camelCase"]).default("PascalCase"),
|
|
36
|
+
folderCase: z.enum(["PascalCase", "kebab-case", "camelCase"]).default("kebab-case"),
|
|
37
|
+
tokenCase: z.enum(["camelCase", "kebab-case"]).default("camelCase")
|
|
38
|
+
});
|
|
39
|
+
export const ClassificationConfigSchema = z.object({
|
|
40
|
+
treatComponentSetsAsCanonical: z.boolean(),
|
|
41
|
+
treatStandaloneComponentsAsCanonical: z.boolean(),
|
|
42
|
+
treatNestedInstancesAsReferences: z.boolean()
|
|
43
|
+
});
|
|
44
|
+
const AIProviderEntrySchema = z.object({
|
|
45
|
+
model: z.string().optional(),
|
|
46
|
+
accessTokenEnv: z.string().optional(),
|
|
47
|
+
baseUrl: z.string().optional(),
|
|
48
|
+
});
|
|
49
|
+
export const AIConfigSchema = z.preprocess((raw) => {
|
|
50
|
+
// Migrate legacy format: { provider, model?, accessTokenEnv?, baseUrl? }
|
|
51
|
+
// to new format: { active, providers: { [name]: { ... } } }
|
|
52
|
+
if (raw && raw.provider && !raw.providers) {
|
|
53
|
+
const { provider, model, accessTokenEnv, baseUrl } = raw;
|
|
54
|
+
return {
|
|
55
|
+
active: provider,
|
|
56
|
+
providers: {
|
|
57
|
+
[provider]: {
|
|
58
|
+
...(model ? { model } : {}),
|
|
59
|
+
...(accessTokenEnv ? { accessTokenEnv } : {}),
|
|
60
|
+
...(baseUrl ? { baseUrl } : {}),
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
return raw;
|
|
66
|
+
}, z.object({
|
|
67
|
+
active: z.string(),
|
|
68
|
+
providers: z.record(z.string(), AIProviderEntrySchema),
|
|
69
|
+
}));
|
|
70
|
+
export const DocsConfigSchema = z.object({
|
|
71
|
+
tool: z.enum(["storybook", "docusaurus", "none"]),
|
|
72
|
+
});
|
|
73
|
+
export const PTBConfigSchema = z.preprocess((raw) => {
|
|
74
|
+
// Migrate legacy figma: {...} format to designTool: { provider: "figma", ... }
|
|
75
|
+
if (raw && raw.figma && !raw.designTool) {
|
|
76
|
+
const { figma, ...rest } = raw;
|
|
77
|
+
return { ...rest, designTool: { provider: "figma", ...figma } };
|
|
78
|
+
}
|
|
79
|
+
return raw;
|
|
80
|
+
}, z.object({
|
|
81
|
+
designTool: DesignToolConfigSchema,
|
|
82
|
+
project: z.object({
|
|
83
|
+
rootDir: z.string()
|
|
84
|
+
}),
|
|
85
|
+
output: OutputConfigSchema,
|
|
86
|
+
framework: FrameworkConfigSchema,
|
|
87
|
+
generation: GenerationConfigSchema,
|
|
88
|
+
naming: NamingConfigSchema,
|
|
89
|
+
classification: ClassificationConfigSchema,
|
|
90
|
+
ai: AIConfigSchema.optional(),
|
|
91
|
+
docs: DocsConfigSchema.optional(),
|
|
92
|
+
}));
|
|
93
|
+
//# sourceMappingURL=config-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-schema.js","sourceRoot":"","sources":["../../src/config/config-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { PTBConfig } from "@calibrate-ds/shared-types";
|
|
2
|
+
/**
|
|
3
|
+
* Loads and validates ptb.config.json.
|
|
4
|
+
* Searches upwards from the given directory to find the configuration.
|
|
5
|
+
*/
|
|
6
|
+
export declare function loadConfig(cwd?: string): Promise<PTBConfig>;
|
|
7
|
+
//# sourceMappingURL=load-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-config.d.ts","sourceRoot":"","sources":["../../src/config/load-config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;GAGG;AACH,wBAAsB,UAAU,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,SAAS,CAAC,CA8DhF"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import * as fs from "node:fs/promises";
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
import { PTBConfigSchema } from "./config-schema.js";
|
|
4
|
+
/**
|
|
5
|
+
* Loads and validates ptb.config.json.
|
|
6
|
+
* Searches upwards from the given directory to find the configuration.
|
|
7
|
+
*/
|
|
8
|
+
export async function loadConfig(cwd = process.cwd()) {
|
|
9
|
+
let current = path.resolve(cwd);
|
|
10
|
+
let configPath;
|
|
11
|
+
while (true) {
|
|
12
|
+
const potentialPath = path.join(current, "ptb.config.json");
|
|
13
|
+
try {
|
|
14
|
+
await fs.access(potentialPath);
|
|
15
|
+
configPath = potentialPath;
|
|
16
|
+
break;
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
const parent = path.dirname(current);
|
|
20
|
+
if (parent === current)
|
|
21
|
+
break;
|
|
22
|
+
current = parent;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (!configPath) {
|
|
26
|
+
throw new Error(`Config file 'ptb.config.json' not found in ${cwd} or any parent directory.`);
|
|
27
|
+
}
|
|
28
|
+
let rawConfig;
|
|
29
|
+
try {
|
|
30
|
+
rawConfig = await fs.readFile(configPath, "utf-8");
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
throw new Error(`Failed to read config file at ${configPath}: ${error?.message || String(error)}`);
|
|
34
|
+
}
|
|
35
|
+
let parsedJson;
|
|
36
|
+
try {
|
|
37
|
+
parsedJson = JSON.parse(rawConfig);
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
throw new Error(`Invalid JSON in config file at ${configPath}: ${error?.message || String(error)}`);
|
|
41
|
+
}
|
|
42
|
+
const validationResult = PTBConfigSchema.safeParse(parsedJson);
|
|
43
|
+
if (!validationResult.success) {
|
|
44
|
+
const issues = validationResult.error.issues
|
|
45
|
+
.map((issue) => `- ${issue.path.join(".")}: ${issue.message}`)
|
|
46
|
+
.join("\n");
|
|
47
|
+
throw new Error(`Invalid configuration in ${configPath}:\n${issues}`);
|
|
48
|
+
}
|
|
49
|
+
const config = validationResult.data;
|
|
50
|
+
// Ensure rootDir is absolute, relative to the config file location
|
|
51
|
+
config.project.rootDir = path.resolve(path.dirname(configPath), config.project.rootDir);
|
|
52
|
+
// Warn if the accessTokenEnv value looks like a raw token rather than an env var name.
|
|
53
|
+
// Env var names are SCREAMING_SNAKE_CASE; a raw token will fail that check.
|
|
54
|
+
const envVarName = config.designTool.accessTokenEnv;
|
|
55
|
+
const looksLikeEnvVar = /^[A-Z][A-Z0-9_]*$/.test(envVarName);
|
|
56
|
+
if (!looksLikeEnvVar) {
|
|
57
|
+
console.warn(`\x1b[33m⚠\x1b[0m Security warning: 'designTool.accessTokenEnv' in ptb.config.json looks like a raw token, not an environment variable name.\n` +
|
|
58
|
+
` Set it to the NAME of the env var (e.g. "FIGMA_ACCESS_TOKEN"), not the token value itself.\n` +
|
|
59
|
+
` Storing secrets in config files risks accidental exposure.`);
|
|
60
|
+
}
|
|
61
|
+
return config;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=load-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-config.js","sourceRoot":"","sources":["../../src/config/load-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ComponentDefinition, ComponentContext, CompressedContext, TokenCollection } from "@calibrate-ds/shared-types";
|
|
2
|
+
export declare function buildCompressedContext(component: ComponentDefinition, context: ComponentContext, collections?: TokenCollection[]): CompressedContext | undefined;
|
|
3
|
+
//# sourceMappingURL=compressed-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compressed-context.d.ts","sourceRoot":"","sources":["../../src/context/compressed-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,iBAAiB,EAAqC,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG/J,wBAAgB,sBAAsB,CAClC,SAAS,EAAE,mBAAmB,EAC9B,OAAO,EAAE,gBAAgB,EACzB,WAAW,CAAC,EAAE,eAAe,EAAE,GAChC,iBAAiB,GAAG,SAAS,CAgJ/B"}
|