@synergy-design-system/mcp 0.1.0 → 1.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/CHANGELOG.md +15 -0
- package/README.md +539 -3
- package/dist/bin/create-checksum.d.ts +2 -0
- package/dist/bin/create-checksum.js +23 -0
- package/dist/bin/start.d.ts +2 -0
- package/dist/bin/start.js +8 -0
- package/dist/build/assets.d.ts +4 -0
- package/dist/build/assets.js +57 -0
- package/dist/build/build.d.ts +1 -0
- package/dist/build/build.js +33 -0
- package/dist/build/components.d.ts +4 -0
- package/dist/build/components.js +132 -0
- package/dist/build/frameworks.d.ts +4 -0
- package/dist/build/frameworks.js +61 -0
- package/dist/build/static.d.ts +4 -0
- package/dist/build/static.js +57 -0
- package/dist/build/styles.d.ts +4 -0
- package/dist/build/styles.js +58 -0
- package/dist/build/tokens.d.ts +4 -0
- package/dist/build/tokens.js +59 -0
- package/dist/server.d.ts +6 -0
- package/dist/server.js +20 -0
- package/dist/tools/asset-info.d.ts +8 -0
- package/dist/tools/asset-info.js +140 -0
- package/dist/tools/asset-list.d.ts +6 -0
- package/dist/tools/asset-list.js +40 -0
- package/dist/tools/component-info.d.ts +6 -0
- package/dist/tools/component-info.js +35 -0
- package/dist/tools/component-list.d.ts +7 -0
- package/dist/tools/component-list.js +42 -0
- package/dist/tools/davinci-migration.d.ts +3 -0
- package/dist/tools/davinci-migration.js +66 -0
- package/dist/tools/framework-info.d.ts +7 -0
- package/dist/tools/framework-info.js +59 -0
- package/dist/tools/index.d.ts +13 -0
- package/dist/tools/index.js +13 -0
- package/dist/tools/migration-info.d.ts +6 -0
- package/dist/tools/migration-info.js +27 -0
- package/dist/tools/styles-info.d.ts +7 -0
- package/dist/tools/styles-info.js +28 -0
- package/dist/tools/styles-list.d.ts +7 -0
- package/dist/tools/styles-list.js +42 -0
- package/dist/tools/template-info.d.ts +6 -0
- package/dist/tools/template-info.js +34 -0
- package/dist/tools/template-list.d.ts +7 -0
- package/dist/tools/template-list.js +42 -0
- package/dist/tools/tokens.d.ts +7 -0
- package/dist/tools/tokens.js +24 -0
- package/dist/tools/version.d.ts +7 -0
- package/dist/tools/version.js +51 -0
- package/dist/utilities/assets.d.ts +2 -0
- package/dist/utilities/assets.js +3 -0
- package/dist/utilities/checksum.d.ts +36 -0
- package/dist/utilities/checksum.js +93 -0
- package/dist/utilities/components.d.ts +25 -0
- package/dist/utilities/components.js +86 -0
- package/dist/utilities/config.d.ts +76 -0
- package/dist/utilities/config.js +77 -0
- package/dist/utilities/file.d.ts +12 -0
- package/dist/utilities/file.js +31 -0
- package/dist/utilities/index.d.ts +12 -0
- package/dist/utilities/index.js +12 -0
- package/dist/utilities/metadata.d.ts +28 -0
- package/dist/utilities/metadata.js +57 -0
- package/dist/utilities/migration.d.ts +1 -0
- package/dist/utilities/migration.js +10 -0
- package/dist/utilities/stdio.d.ts +14 -0
- package/dist/utilities/stdio.js +60 -0
- package/dist/utilities/storybook/build-docs.d.ts +2 -0
- package/dist/utilities/storybook/build-docs.js +42 -0
- package/dist/utilities/storybook/configs.d.ts +13 -0
- package/dist/utilities/storybook/configs.js +85 -0
- package/dist/utilities/storybook/docs-scraper.d.ts +26 -0
- package/dist/utilities/storybook/docs-scraper.js +97 -0
- package/dist/utilities/storybook/index.d.ts +5 -0
- package/dist/utilities/storybook/index.js +4 -0
- package/dist/utilities/storybook/scraper.d.ts +14 -0
- package/dist/utilities/storybook/scraper.js +196 -0
- package/dist/utilities/storybook/storybook-manager.d.ts +29 -0
- package/dist/utilities/storybook/storybook-manager.js +139 -0
- package/dist/utilities/storybook/types.d.ts +22 -0
- package/dist/utilities/storybook/types.js +1 -0
- package/dist/utilities/styles.d.ts +6 -0
- package/dist/utilities/styles.js +24 -0
- package/dist/utilities/templates.d.ts +12 -0
- package/dist/utilities/templates.js +28 -0
- package/dist/utilities/tokens.d.ts +1 -0
- package/dist/utilities/tokens.js +21 -0
- package/dist/utilities/version.d.ts +10 -0
- package/dist/utilities/version.js +21 -0
- package/metadata/checksum.txt +1 -0
- package/metadata/davinci-migration/migration-guide.md +1859 -0
- package/metadata/packages/angular/LIMITATIONS.md +32 -0
- package/metadata/packages/angular/README.md +393 -0
- package/metadata/packages/assets/CHANGELOG.md +196 -0
- package/metadata/packages/assets/README.md +79 -0
- package/metadata/packages/components/components/syn-accordion/component.angular.ts +80 -0
- package/metadata/packages/components/components/syn-accordion/component.react.ts +30 -0
- package/metadata/packages/components/components/syn-accordion/component.styles.ts +15 -0
- package/metadata/packages/components/components/syn-accordion/component.ts +111 -0
- package/metadata/packages/components/components/syn-accordion/component.vue +64 -0
- package/metadata/packages/components/components/syn-alert/component.angular.ts +158 -0
- package/metadata/packages/components/components/syn-alert/component.custom.styles.ts +90 -0
- package/metadata/packages/components/components/syn-alert/component.react.ts +60 -0
- package/metadata/packages/components/components/syn-alert/component.styles.ts +110 -0
- package/metadata/packages/components/components/syn-alert/component.ts +324 -0
- package/metadata/packages/components/components/syn-alert/component.vue +130 -0
- package/metadata/packages/components/components/syn-badge/component.angular.ts +53 -0
- package/metadata/packages/components/components/syn-badge/component.custom.styles.ts +61 -0
- package/metadata/packages/components/components/syn-badge/component.react.ts +29 -0
- package/metadata/packages/components/components/syn-badge/component.styles.ts +59 -0
- package/metadata/packages/components/components/syn-badge/component.ts +65 -0
- package/metadata/packages/components/components/syn-badge/component.vue +53 -0
- package/metadata/packages/components/components/syn-breadcrumb/component.angular.ts +58 -0
- package/metadata/packages/components/components/syn-breadcrumb/component.custom.styles.ts +5 -0
- package/metadata/packages/components/components/syn-breadcrumb/component.react.ts +32 -0
- package/metadata/packages/components/components/syn-breadcrumb/component.styles.ts +18 -0
- package/metadata/packages/components/components/syn-breadcrumb/component.ts +110 -0
- package/metadata/packages/components/components/syn-breadcrumb/component.vue +58 -0
- package/metadata/packages/components/components/syn-breadcrumb-item/component.angular.ts +88 -0
- package/metadata/packages/components/components/syn-breadcrumb-item/component.custom.styles.ts +74 -0
- package/metadata/packages/components/components/syn-breadcrumb-item/component.react.ts +37 -0
- package/metadata/packages/components/components/syn-breadcrumb-item/component.styles.ts +95 -0
- package/metadata/packages/components/components/syn-breadcrumb-item/component.ts +139 -0
- package/metadata/packages/components/components/syn-breadcrumb-item/component.vue +76 -0
- package/metadata/packages/components/components/syn-button/component.angular.ts +318 -0
- package/metadata/packages/components/components/syn-button/component.custom.styles.ts +206 -0
- package/metadata/packages/components/components/syn-button/component.react.ts +56 -0
- package/metadata/packages/components/components/syn-button/component.styles.ts +368 -0
- package/metadata/packages/components/components/syn-button/component.ts +322 -0
- package/metadata/packages/components/components/syn-button/component.vue +204 -0
- package/metadata/packages/components/components/syn-button-group/component.angular.ts +55 -0
- package/metadata/packages/components/components/syn-button-group/component.react.ts +29 -0
- package/metadata/packages/components/components/syn-button-group/component.styles.ts +21 -0
- package/metadata/packages/components/components/syn-button-group/component.ts +103 -0
- package/metadata/packages/components/components/syn-button-group/component.vue +55 -0
- package/metadata/packages/components/components/syn-card/component.angular.ts +69 -0
- package/metadata/packages/components/components/syn-card/component.custom.styles.ts +55 -0
- package/metadata/packages/components/components/syn-card/component.react.ts +41 -0
- package/metadata/packages/components/components/syn-card/component.styles.ts +77 -0
- package/metadata/packages/components/components/syn-card/component.ts +68 -0
- package/metadata/packages/components/components/syn-card/component.vue +67 -0
- package/metadata/packages/components/components/syn-checkbox/component.angular.ts +260 -0
- package/metadata/packages/components/components/syn-checkbox/component.custom.styles.ts +53 -0
- package/metadata/packages/components/components/syn-checkbox/component.react.ts +64 -0
- package/metadata/packages/components/components/syn-checkbox/component.styles.ts +130 -0
- package/metadata/packages/components/components/syn-checkbox/component.ts +291 -0
- package/metadata/packages/components/components/syn-checkbox/component.vue +186 -0
- package/metadata/packages/components/components/syn-combobox/component.angular.ts +436 -0
- package/metadata/packages/components/components/syn-combobox/component.custom.styles.ts +35 -0
- package/metadata/packages/components/components/syn-combobox/component.react.ts +109 -0
- package/metadata/packages/components/components/syn-combobox/component.styles.ts +406 -0
- package/metadata/packages/components/components/syn-combobox/component.ts +1139 -0
- package/metadata/packages/components/components/syn-combobox/component.vue +304 -0
- package/metadata/packages/components/components/syn-details/component.angular.ts +184 -0
- package/metadata/packages/components/components/syn-details/component.custom.styles.ts +140 -0
- package/metadata/packages/components/components/syn-details/component.react.ts +63 -0
- package/metadata/packages/components/components/syn-details/component.styles.ts +90 -0
- package/metadata/packages/components/components/syn-details/component.ts +266 -0
- package/metadata/packages/components/components/syn-details/component.vue +134 -0
- package/metadata/packages/components/components/syn-dialog/component.angular.ts +201 -0
- package/metadata/packages/components/components/syn-dialog/component.custom.styles.ts +54 -0
- package/metadata/packages/components/components/syn-dialog/component.react.ts +91 -0
- package/metadata/packages/components/components/syn-dialog/component.styles.ts +129 -0
- package/metadata/packages/components/components/syn-dialog/component.ts +366 -0
- package/metadata/packages/components/components/syn-dialog/component.vue +169 -0
- package/metadata/packages/components/components/syn-divider/component.angular.ts +55 -0
- package/metadata/packages/components/components/syn-divider/component.custom.styles.ts +8 -0
- package/metadata/packages/components/components/syn-divider/component.react.ts +29 -0
- package/metadata/packages/components/components/syn-divider/component.styles.ts +31 -0
- package/metadata/packages/components/components/syn-divider/component.ts +42 -0
- package/metadata/packages/components/components/syn-divider/component.vue +51 -0
- package/metadata/packages/components/components/syn-drawer/component.angular.ts +234 -0
- package/metadata/packages/components/components/syn-drawer/component.custom.styles.ts +78 -0
- package/metadata/packages/components/components/syn-drawer/component.react.ts +98 -0
- package/metadata/packages/components/components/syn-drawer/component.styles.ts +165 -0
- package/metadata/packages/components/components/syn-drawer/component.ts +496 -0
- package/metadata/packages/components/components/syn-drawer/component.vue +188 -0
- package/metadata/packages/components/components/syn-dropdown/component.angular.ts +223 -0
- package/metadata/packages/components/components/syn-dropdown/component.custom.styles.ts +5 -0
- package/metadata/packages/components/components/syn-dropdown/component.react.ts +59 -0
- package/metadata/packages/components/components/syn-dropdown/component.styles.ts +60 -0
- package/metadata/packages/components/components/syn-dropdown/component.ts +484 -0
- package/metadata/packages/components/components/syn-dropdown/component.vue +159 -0
- package/metadata/packages/components/components/syn-file/component.angular.ts +359 -0
- package/metadata/packages/components/components/syn-file/component.react.ts +85 -0
- package/metadata/packages/components/components/syn-file/component.styles.ts +179 -0
- package/metadata/packages/components/components/syn-file/component.ts +631 -0
- package/metadata/packages/components/components/syn-file/component.vue +251 -0
- package/metadata/packages/components/components/syn-header/component.angular.ts +132 -0
- package/metadata/packages/components/components/syn-header/component.react.ts +65 -0
- package/metadata/packages/components/components/syn-header/component.styles.ts +128 -0
- package/metadata/packages/components/components/syn-header/component.ts +260 -0
- package/metadata/packages/components/components/syn-header/component.vue +117 -0
- package/metadata/packages/components/components/syn-icon/component.angular.ts +115 -0
- package/metadata/packages/components/components/syn-icon/component.custom.styles.ts +5 -0
- package/metadata/packages/components/components/syn-icon/component.react.ts +41 -0
- package/metadata/packages/components/components/syn-icon/component.styles.ts +25 -0
- package/metadata/packages/components/components/syn-icon/component.ts +234 -0
- package/metadata/packages/components/components/syn-icon/component.vue +100 -0
- package/metadata/packages/components/components/syn-icon-button/component.angular.ts +185 -0
- package/metadata/packages/components/components/syn-icon-button/component.custom.styles.ts +68 -0
- package/metadata/packages/components/components/syn-icon-button/component.react.ts +42 -0
- package/metadata/packages/components/components/syn-icon-button/component.styles.ts +59 -0
- package/metadata/packages/components/components/syn-icon-button/component.ts +154 -0
- package/metadata/packages/components/components/syn-icon-button/component.vue +132 -0
- package/metadata/packages/components/components/syn-input/component.angular.ts +606 -0
- package/metadata/packages/components/components/syn-input/component.custom.styles.ts +278 -0
- package/metadata/packages/components/components/syn-input/component.react.ts +91 -0
- package/metadata/packages/components/components/syn-input/component.styles.ts +287 -0
- package/metadata/packages/components/components/syn-input/component.ts +942 -0
- package/metadata/packages/components/components/syn-input/component.vue +370 -0
- package/metadata/packages/components/components/syn-menu/component.angular.ts +52 -0
- package/metadata/packages/components/components/syn-menu/component.custom.styles.ts +29 -0
- package/metadata/packages/components/components/syn-menu/component.react.ts +36 -0
- package/metadata/packages/components/components/syn-menu/component.styles.ts +27 -0
- package/metadata/packages/components/components/syn-menu/component.ts +199 -0
- package/metadata/packages/components/components/syn-menu/component.vue +48 -0
- package/metadata/packages/components/components/syn-menu-item/component.angular.ts +121 -0
- package/metadata/packages/components/components/syn-menu-item/component.custom.styles.ts +128 -0
- package/metadata/packages/components/components/syn-menu-item/component.react.ts +45 -0
- package/metadata/packages/components/components/syn-menu-item/component.styles.ts +164 -0
- package/metadata/packages/components/components/syn-menu-item/component.ts +209 -0
- package/metadata/packages/components/components/syn-menu-item/component.vue +91 -0
- package/metadata/packages/components/components/syn-menu-label/component.angular.ts +48 -0
- package/metadata/packages/components/components/syn-menu-label/component.custom.styles.ts +24 -0
- package/metadata/packages/components/components/syn-menu-label/component.react.ts +35 -0
- package/metadata/packages/components/components/syn-menu-label/component.styles.ts +28 -0
- package/metadata/packages/components/components/syn-menu-label/component.ts +54 -0
- package/metadata/packages/components/components/syn-menu-label/component.vue +41 -0
- package/metadata/packages/components/components/syn-nav-item/component.angular.ts +242 -0
- package/metadata/packages/components/components/syn-nav-item/component.react.ts +82 -0
- package/metadata/packages/components/components/syn-nav-item/component.styles.ts +337 -0
- package/metadata/packages/components/components/syn-nav-item/component.ts +492 -0
- package/metadata/packages/components/components/syn-nav-item/component.vue +182 -0
- package/metadata/packages/components/components/syn-optgroup/component.angular.ts +79 -0
- package/metadata/packages/components/components/syn-optgroup/component.react.ts +41 -0
- package/metadata/packages/components/components/syn-optgroup/component.styles.ts +59 -0
- package/metadata/packages/components/components/syn-optgroup/component.ts +176 -0
- package/metadata/packages/components/components/syn-optgroup/component.vue +71 -0
- package/metadata/packages/components/components/syn-option/component.angular.ts +79 -0
- package/metadata/packages/components/components/syn-option/component.custom.styles.ts +81 -0
- package/metadata/packages/components/components/syn-option/component.react.ts +37 -0
- package/metadata/packages/components/components/syn-option/component.styles.ts +96 -0
- package/metadata/packages/components/components/syn-option/component.ts +174 -0
- package/metadata/packages/components/components/syn-option/component.vue +71 -0
- package/metadata/packages/components/components/syn-popup/component.angular.ts +385 -0
- package/metadata/packages/components/components/syn-popup/component.react.ts +55 -0
- package/metadata/packages/components/components/syn-popup/component.styles.ts +70 -0
- package/metadata/packages/components/components/syn-popup/component.ts +583 -0
- package/metadata/packages/components/components/syn-popup/component.vue +240 -0
- package/metadata/packages/components/components/syn-prio-nav/component.angular.ts +67 -0
- package/metadata/packages/components/components/syn-prio-nav/component.react.ts +54 -0
- package/metadata/packages/components/components/syn-prio-nav/component.styles.ts +48 -0
- package/metadata/packages/components/components/syn-prio-nav/component.ts +287 -0
- package/metadata/packages/components/components/syn-prio-nav/component.vue +60 -0
- package/metadata/packages/components/components/syn-progress-bar/component.angular.ts +85 -0
- package/metadata/packages/components/components/syn-progress-bar/component.custom.styles.ts +22 -0
- package/metadata/packages/components/components/syn-progress-bar/component.react.ts +37 -0
- package/metadata/packages/components/components/syn-progress-bar/component.styles.ts +94 -0
- package/metadata/packages/components/components/syn-progress-bar/component.ts +74 -0
- package/metadata/packages/components/components/syn-progress-bar/component.vue +71 -0
- package/metadata/packages/components/components/syn-progress-ring/component.angular.ts +72 -0
- package/metadata/packages/components/components/syn-progress-ring/component.custom.styles.ts +17 -0
- package/metadata/packages/components/components/syn-progress-ring/component.react.ts +37 -0
- package/metadata/packages/components/components/syn-progress-ring/component.styles.ts +77 -0
- package/metadata/packages/components/components/syn-progress-ring/component.ts +90 -0
- package/metadata/packages/components/components/syn-progress-ring/component.vue +66 -0
- package/metadata/packages/components/components/syn-radio/component.angular.ts +109 -0
- package/metadata/packages/components/components/syn-radio/component.custom.styles.ts +73 -0
- package/metadata/packages/components/components/syn-radio/component.react.ts +48 -0
- package/metadata/packages/components/components/syn-radio/component.styles.ts +124 -0
- package/metadata/packages/components/components/syn-radio/component.ts +129 -0
- package/metadata/packages/components/components/syn-radio/component.vue +99 -0
- package/metadata/packages/components/components/syn-radio-button/component.angular.ts +123 -0
- package/metadata/packages/components/components/syn-radio-button/component.react.ts +49 -0
- package/metadata/packages/components/components/syn-radio-button/component.styles.ts +37 -0
- package/metadata/packages/components/components/syn-radio-button/component.ts +149 -0
- package/metadata/packages/components/components/syn-radio-button/component.vue +105 -0
- package/metadata/packages/components/components/syn-radio-group/component.angular.ts +204 -0
- package/metadata/packages/components/components/syn-radio-group/component.custom.styles.ts +22 -0
- package/metadata/packages/components/components/syn-radio-group/component.react.ts +56 -0
- package/metadata/packages/components/components/syn-radio-group/component.styles.ts +44 -0
- package/metadata/packages/components/components/syn-radio-group/component.ts +418 -0
- package/metadata/packages/components/components/syn-radio-group/component.vue +158 -0
- package/metadata/packages/components/components/syn-range/component.angular.ts +334 -0
- package/metadata/packages/components/components/syn-range/component.react.ts +92 -0
- package/metadata/packages/components/components/syn-range/component.styles.ts +284 -0
- package/metadata/packages/components/components/syn-range/component.ts +878 -0
- package/metadata/packages/components/components/syn-range/component.vue +240 -0
- package/metadata/packages/components/components/syn-range-tick/component.angular.ts +59 -0
- package/metadata/packages/components/components/syn-range-tick/component.react.ts +33 -0
- package/metadata/packages/components/components/syn-range-tick/component.styles.ts +34 -0
- package/metadata/packages/components/components/syn-range-tick/component.ts +50 -0
- package/metadata/packages/components/components/syn-range-tick/component.vue +57 -0
- package/metadata/packages/components/components/syn-resize-observer/component.styles.ts +16 -0
- package/metadata/packages/components/components/syn-resize-observer/component.ts +98 -0
- package/metadata/packages/components/components/syn-select/component.angular.ts +441 -0
- package/metadata/packages/components/components/syn-select/component.custom.styles.ts +176 -0
- package/metadata/packages/components/components/syn-select/component.react.ts +101 -0
- package/metadata/packages/components/components/syn-select/component.styles.ts +316 -0
- package/metadata/packages/components/components/syn-select/component.ts +1054 -0
- package/metadata/packages/components/components/syn-select/component.vue +303 -0
- package/metadata/packages/components/components/syn-side-nav/component.angular.ts +231 -0
- package/metadata/packages/components/components/syn-side-nav/component.react.ts +95 -0
- package/metadata/packages/components/components/syn-side-nav/component.styles.ts +160 -0
- package/metadata/packages/components/components/syn-side-nav/component.ts +492 -0
- package/metadata/packages/components/components/syn-side-nav/component.vue +201 -0
- package/metadata/packages/components/components/syn-spinner/component.angular.ts +44 -0
- package/metadata/packages/components/components/syn-spinner/component.custom.styles.ts +31 -0
- package/metadata/packages/components/components/syn-spinner/component.react.ts +31 -0
- package/metadata/packages/components/components/syn-spinner/component.styles.ts +55 -0
- package/metadata/packages/components/components/syn-spinner/component.ts +42 -0
- package/metadata/packages/components/components/syn-spinner/component.vue +35 -0
- package/metadata/packages/components/components/syn-switch/component.angular.ts +244 -0
- package/metadata/packages/components/components/syn-switch/component.custom.styles.ts +112 -0
- package/metadata/packages/components/components/syn-switch/component.react.ts +63 -0
- package/metadata/packages/components/components/syn-switch/component.styles.ts +177 -0
- package/metadata/packages/components/components/syn-switch/component.ts +274 -0
- package/metadata/packages/components/components/syn-switch/component.vue +178 -0
- package/metadata/packages/components/components/syn-tab/component.angular.ts +109 -0
- package/metadata/packages/components/components/syn-tab/component.custom.styles.ts +92 -0
- package/metadata/packages/components/components/syn-tab/component.react.ts +42 -0
- package/metadata/packages/components/components/syn-tab/component.styles.ts +77 -0
- package/metadata/packages/components/components/syn-tab/component.ts +132 -0
- package/metadata/packages/components/components/syn-tab/component.vue +91 -0
- package/metadata/packages/components/components/syn-tab-group/component.angular.ts +166 -0
- package/metadata/packages/components/components/syn-tab-group/component.custom.styles.ts +248 -0
- package/metadata/packages/components/components/syn-tab-group/component.react.ts +58 -0
- package/metadata/packages/components/components/syn-tab-group/component.styles.ts +200 -0
- package/metadata/packages/components/components/syn-tab-group/component.ts +557 -0
- package/metadata/packages/components/components/syn-tab-group/component.vue +126 -0
- package/metadata/packages/components/components/syn-tab-panel/component.angular.ts +68 -0
- package/metadata/packages/components/components/syn-tab-panel/component.custom.styles.ts +8 -0
- package/metadata/packages/components/components/syn-tab-panel/component.react.ts +31 -0
- package/metadata/packages/components/components/syn-tab-panel/component.styles.ts +27 -0
- package/metadata/packages/components/components/syn-tab-panel/component.ts +67 -0
- package/metadata/packages/components/components/syn-tab-panel/component.vue +60 -0
- package/metadata/packages/components/components/syn-tag/component.angular.ts +83 -0
- package/metadata/packages/components/components/syn-tag/component.custom.styles.ts +120 -0
- package/metadata/packages/components/components/syn-tag/component.react.ts +43 -0
- package/metadata/packages/components/components/syn-tag/component.styles.ts +65 -0
- package/metadata/packages/components/components/syn-tag/component.ts +90 -0
- package/metadata/packages/components/components/syn-tag/component.vue +81 -0
- package/metadata/packages/components/components/syn-textarea/component.angular.ts +394 -0
- package/metadata/packages/components/components/syn-textarea/component.custom.styles.ts +18 -0
- package/metadata/packages/components/components/syn-textarea/component.react.ts +60 -0
- package/metadata/packages/components/components/syn-textarea/component.styles.ts +187 -0
- package/metadata/packages/components/components/syn-textarea/component.ts +401 -0
- package/metadata/packages/components/components/syn-textarea/component.vue +244 -0
- package/metadata/packages/components/components/syn-tooltip/component.angular.ts +212 -0
- package/metadata/packages/components/components/syn-tooltip/component.custom.styles.ts +13 -0
- package/metadata/packages/components/components/syn-tooltip/component.react.ts +63 -0
- package/metadata/packages/components/components/syn-tooltip/component.styles.ts +64 -0
- package/metadata/packages/components/components/syn-tooltip/component.ts +319 -0
- package/metadata/packages/components/components/syn-tooltip/component.vue +158 -0
- package/metadata/packages/components/components/syn-validate/component.angular.ts +128 -0
- package/metadata/packages/components/components/syn-validate/component.react.ts +36 -0
- package/metadata/packages/components/components/syn-validate/component.styles.ts +9 -0
- package/metadata/packages/components/components/syn-validate/component.ts +437 -0
- package/metadata/packages/components/components/syn-validate/component.vue +98 -0
- package/metadata/packages/components/migration/BREAKING_CHANGES.md +489 -0
- package/metadata/packages/components/migration/migration-synergy-v3.md +50 -0
- package/metadata/packages/components/static/CHANGELOG.md +1107 -0
- package/metadata/packages/components/static/LIMITATIONS.md +269 -0
- package/metadata/packages/components/static/README.md +248 -0
- package/metadata/packages/react/LIMITATIONS.md +31 -0
- package/metadata/packages/react/README.md +262 -0
- package/metadata/packages/styles/CHANGELOG.md +76 -0
- package/metadata/packages/styles/README.md +132 -0
- package/metadata/packages/styles/index.css +309 -0
- package/metadata/packages/styles/link-list.css +47 -0
- package/metadata/packages/styles/link.css +79 -0
- package/metadata/packages/styles/tables.css +143 -0
- package/metadata/packages/styles/typography.css +52 -0
- package/metadata/packages/tokens/CHANGELOG.md +431 -0
- package/metadata/packages/tokens/README.md +408 -0
- package/metadata/packages/tokens/dark.css +268 -0
- package/metadata/packages/tokens/index.js +1294 -0
- package/metadata/packages/tokens/light.css +268 -0
- package/metadata/packages/vue/LIMITATIONS.md +53 -0
- package/metadata/packages/vue/README.md +252 -0
- package/metadata/static/angular/index.md +6 -0
- package/metadata/static/assets/index.md +10 -0
- package/metadata/static/component-info/index.md +24 -0
- package/metadata/static/component-list/index.md +34 -0
- package/metadata/static/components/index.md +10 -0
- package/metadata/static/components/syn-accordion/docs.md +428 -0
- package/metadata/static/components/syn-alert/docs.md +231 -0
- package/metadata/static/components/syn-badge/docs.md +128 -0
- package/metadata/static/components/syn-breadcrumb/docs.md +265 -0
- package/metadata/static/components/syn-breadcrumb-item/docs.md +49 -0
- package/metadata/static/components/syn-button/docs.md +402 -0
- package/metadata/static/components/syn-card/docs.md +273 -0
- package/metadata/static/components/syn-checkbox/docs.md +77 -0
- package/metadata/static/components/syn-combobox/docs.md +2402 -0
- package/metadata/static/components/syn-details/docs.md +220 -0
- package/metadata/static/components/syn-dialog/docs.md +222 -0
- package/metadata/static/components/syn-divider/docs.md +77 -0
- package/metadata/static/components/syn-drawer/docs.md +271 -0
- package/metadata/static/components/syn-dropdown/docs.md +316 -0
- package/metadata/static/components/syn-file/docs.md +215 -0
- package/metadata/static/components/syn-header/docs.md +134 -0
- package/metadata/static/components/syn-icon/docs.md +177 -0
- package/metadata/static/components/syn-icon-button/docs.md +142 -0
- package/metadata/static/components/syn-input/docs.md +460 -0
- package/metadata/static/components/syn-menu/docs.md +162 -0
- package/metadata/static/components/syn-menu-item/docs.md +196 -0
- package/metadata/static/components/syn-menu-label/docs.md +29 -0
- package/metadata/static/components/syn-nav-item/docs.md +161 -0
- package/metadata/static/components/syn-optgroup/docs.md +167 -0
- package/metadata/static/components/syn-option/docs.md +137 -0
- package/metadata/static/components/syn-prio-nav/docs.md +54 -0
- package/metadata/static/components/syn-progress-bar/docs.md +77 -0
- package/metadata/static/components/syn-progress-ring/docs.md +89 -0
- package/metadata/static/components/syn-radio/docs.md +123 -0
- package/metadata/static/components/syn-radio-group/docs.md +363 -0
- package/metadata/static/components/syn-range/docs.md +419 -0
- package/metadata/static/components/syn-range-tick/docs.md +110 -0
- package/metadata/static/components/syn-select/docs.md +730 -0
- package/metadata/static/components/syn-side-nav/docs.md +593 -0
- package/metadata/static/components/syn-spinner/docs.md +45 -0
- package/metadata/static/components/syn-switch/docs.md +74 -0
- package/metadata/static/components/syn-tab/docs.md +47 -0
- package/metadata/static/components/syn-tab-group/docs.md +1094 -0
- package/metadata/static/components/syn-tab-panel/docs.md +91 -0
- package/metadata/static/components/syn-tag/docs.md +50 -0
- package/metadata/static/components/syn-textarea/docs.md +215 -0
- package/metadata/static/components/syn-tooltip/docs.md +144 -0
- package/metadata/static/components/syn-validate/docs.md +225 -0
- package/metadata/static/migration/index.md +16 -0
- package/metadata/static/react/index.md +8 -0
- package/metadata/static/setup/icon-usage.md +276 -0
- package/metadata/static/setup/prerequisites.md +171 -0
- package/metadata/static/styles/index.md +11 -0
- package/metadata/static/styles/syn-body.md +5 -0
- package/metadata/static/styles/syn-heading.md +5 -0
- package/metadata/static/styles/syn-link-list.md +325 -0
- package/metadata/static/styles/syn-link.md +156 -0
- package/metadata/static/styles/syn-table-cell.md +125 -0
- package/metadata/static/styles/syn-table.md +201 -0
- package/metadata/static/styles/syn-weight.md +5 -0
- package/metadata/static/templates/appshell.md +2061 -0
- package/metadata/static/templates/breadcrumb.md +375 -0
- package/metadata/static/templates/footer.md +342 -0
- package/metadata/static/templates/forms.md +369 -0
- package/metadata/static/templates/index.md +9 -0
- package/metadata/static/templates/table.md +1426 -0
- package/metadata/static/vue/index.md +6 -0
- package/package.json +109 -4
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { readFile, writeFile } from 'node:fs/promises';
|
|
3
|
+
import { join, relative } from 'node:path';
|
|
4
|
+
import { globby } from 'globby';
|
|
5
|
+
/**
|
|
6
|
+
* Creates a checksum from folder contents, replicating the behavior of:
|
|
7
|
+
* find ./folder ! -name '.*' ! -name 'checksum.txt' -type f -print0 | sort -z | xargs -0 cat | md5
|
|
8
|
+
*
|
|
9
|
+
* @param folderPath - Path to the folder to process
|
|
10
|
+
* @param options - Configuration options
|
|
11
|
+
* @returns Promise<string> - The generated checksum
|
|
12
|
+
*/
|
|
13
|
+
export async function createFolderChecksum(folderPath, options = {}) {
|
|
14
|
+
const { excludePatterns = ['.*', 'checksum.txt'], algorithm = 'md5', } = options;
|
|
15
|
+
// Use default 'checksum.txt' if outputFile is not specified, but respect explicit undefined
|
|
16
|
+
const outputFile = 'outputFile' in options ? options.outputFile : 'checksum.txt';
|
|
17
|
+
try {
|
|
18
|
+
// Build glob patterns to exclude specified patterns
|
|
19
|
+
const includePattern = join(folderPath, '**', '*');
|
|
20
|
+
const excludeGlobs = excludePatterns.map(pattern => join(folderPath, '**', pattern));
|
|
21
|
+
// Find all files, excluding specified patterns
|
|
22
|
+
const files = await globby([includePattern], {
|
|
23
|
+
absolute: true,
|
|
24
|
+
ignore: excludeGlobs,
|
|
25
|
+
onlyFiles: true,
|
|
26
|
+
});
|
|
27
|
+
// Sort files by their relative paths (to match shell script behavior)
|
|
28
|
+
const sortedFiles = files.sort((a, b) => {
|
|
29
|
+
const relativeA = relative(folderPath, a);
|
|
30
|
+
const relativeB = relative(folderPath, b);
|
|
31
|
+
return relativeA.localeCompare(relativeB);
|
|
32
|
+
});
|
|
33
|
+
// Create hash instance
|
|
34
|
+
const hash = createHash(algorithm);
|
|
35
|
+
// Read and concatenate all file contents (equivalent to xargs -0 cat)
|
|
36
|
+
// Note: Sequential reading to maintain order consistency with shell script
|
|
37
|
+
// eslint-disable-next-line no-await-in-loop
|
|
38
|
+
for (const filePath of sortedFiles) {
|
|
39
|
+
// eslint-disable-next-line no-await-in-loop
|
|
40
|
+
const content = await readFile(filePath);
|
|
41
|
+
hash.update(content);
|
|
42
|
+
}
|
|
43
|
+
// Generate the final checksum
|
|
44
|
+
const checksum = hash.digest('hex');
|
|
45
|
+
// Write checksum to output file if specified
|
|
46
|
+
if (outputFile) {
|
|
47
|
+
const outputPath = join(folderPath, outputFile);
|
|
48
|
+
await writeFile(outputPath, `${checksum}\n`, 'utf8');
|
|
49
|
+
}
|
|
50
|
+
return checksum;
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
throw new Error(`Failed to create folder checksum: ${error instanceof Error ? error.message : String(error)}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Verifies if the current folder contents match the stored checksum
|
|
58
|
+
*
|
|
59
|
+
* @param folderPath - Path to the folder to verify
|
|
60
|
+
* @param options - Configuration options
|
|
61
|
+
* @returns Promise<boolean> - True if checksum matches, false otherwise
|
|
62
|
+
*/
|
|
63
|
+
export async function verifyFolderChecksum(folderPath, options = {}) {
|
|
64
|
+
const { outputFile = 'checksum.txt' } = options;
|
|
65
|
+
try {
|
|
66
|
+
// Read stored checksum
|
|
67
|
+
const checksumPath = join(folderPath, outputFile);
|
|
68
|
+
const storedChecksum = (await readFile(checksumPath, 'utf8')).trim();
|
|
69
|
+
// Calculate current checksum (without writing to file)
|
|
70
|
+
const currentChecksum = await createFolderChecksum(folderPath, {
|
|
71
|
+
...options,
|
|
72
|
+
outputFile: undefined, // Don't write to file during verification
|
|
73
|
+
});
|
|
74
|
+
return storedChecksum === currentChecksum;
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
// If we can't read the checksum file, consider it invalid
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Get the current checksum without writing it to a file
|
|
83
|
+
*
|
|
84
|
+
* @param folderPath - Path to the folder to process
|
|
85
|
+
* @param options - Configuration options (outputFile will be ignored)
|
|
86
|
+
* @returns Promise<string> - The generated checksum
|
|
87
|
+
*/
|
|
88
|
+
export async function getFolderChecksum(folderPath, options = {}) {
|
|
89
|
+
return createFolderChecksum(folderPath, {
|
|
90
|
+
...options,
|
|
91
|
+
outputFile: undefined,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type Framework } from './config.js';
|
|
2
|
+
/**
|
|
3
|
+
* Get dynamic information about the usage of a specific framework in the Synergy Design System.
|
|
4
|
+
* @param framework The framework to get information about
|
|
5
|
+
* @returns List of structured metadata for the specified framework.
|
|
6
|
+
*/
|
|
7
|
+
export declare const getDynamicMetaDataForFramework: (framework?: Framework) => Promise<(import("./metadata.js").MetadataFile | null)[]>;
|
|
8
|
+
/**
|
|
9
|
+
* Get additional information about the usage of a specific framework in the Synergy Design System.
|
|
10
|
+
* @param framework The framework to get information about
|
|
11
|
+
* @returns List of structured metadata for the specified framework.
|
|
12
|
+
*/
|
|
13
|
+
export declare const getStaticMetaDataForFramework: (framework?: Framework) => Promise<(import("./metadata.js").MetadataFile | null)[]>;
|
|
14
|
+
/**
|
|
15
|
+
* Get information about the usage of a specific component in the Synergy Design System.
|
|
16
|
+
* @param component The name of the component to get information about, e.g., 'syn-button'.
|
|
17
|
+
* @param framework The framework to filter the component usage information by.
|
|
18
|
+
* @returns The structured metadata for the specified component.
|
|
19
|
+
*/
|
|
20
|
+
export declare const getInfoForComponent: (component: string, framework?: Framework) => Promise<(import("./metadata.js").MetadataFile | null)[]>;
|
|
21
|
+
/**
|
|
22
|
+
* Get a list of all available components in the Synergy Design System.
|
|
23
|
+
* @returns A list of all available components in the Synergy Design System.
|
|
24
|
+
*/
|
|
25
|
+
export declare const getAvailableComponents: () => Promise<string[]>;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import { angularPath, componentPath, componentStaticPath, reactPath, staticPath, vuePath, } from './config.js';
|
|
3
|
+
import { getAbsolutePath } from './file.js';
|
|
4
|
+
import { getStructuredMetaData, getStructuredMetaDataForComponent, } from './metadata.js';
|
|
5
|
+
/**
|
|
6
|
+
* Get dynamic information about the usage of a specific framework in the Synergy Design System.
|
|
7
|
+
* @param framework The framework to get information about
|
|
8
|
+
* @returns List of structured metadata for the specified framework.
|
|
9
|
+
*/
|
|
10
|
+
export const getDynamicMetaDataForFramework = async (framework = 'vanilla') => {
|
|
11
|
+
let frameworkPath;
|
|
12
|
+
switch (framework) {
|
|
13
|
+
case 'angular':
|
|
14
|
+
frameworkPath = angularPath;
|
|
15
|
+
break;
|
|
16
|
+
case 'react':
|
|
17
|
+
frameworkPath = reactPath;
|
|
18
|
+
break;
|
|
19
|
+
case 'vue':
|
|
20
|
+
frameworkPath = vuePath;
|
|
21
|
+
break;
|
|
22
|
+
default:
|
|
23
|
+
frameworkPath = componentStaticPath;
|
|
24
|
+
}
|
|
25
|
+
return getStructuredMetaData(frameworkPath);
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Get additional information about the usage of a specific framework in the Synergy Design System.
|
|
29
|
+
* @param framework The framework to get information about
|
|
30
|
+
* @returns List of structured metadata for the specified framework.
|
|
31
|
+
*/
|
|
32
|
+
export const getStaticMetaDataForFramework = async (framework = 'vanilla') => {
|
|
33
|
+
const frameworkPath = framework === 'vanilla' ? 'components' : framework;
|
|
34
|
+
return getStructuredMetaData(getAbsolutePath(`${staticPath}/${frameworkPath}`));
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Get additional information for a specific component from the static metadata.
|
|
38
|
+
* @param component The name of the component to get information about, e.g., 'syn-button'.
|
|
39
|
+
* @returns The structured metadata for the specified component, taken from the static metadata.
|
|
40
|
+
*/
|
|
41
|
+
const getAdditionalInformationForComponent = async (component) => getStructuredMetaDataForComponent(component, undefined, 'static');
|
|
42
|
+
/**
|
|
43
|
+
* Get information about the usage of a specific component in the Synergy Design System.
|
|
44
|
+
* @param component The name of the component to get information about, e.g., 'syn-button'.
|
|
45
|
+
* @param framework The framework to filter the component usage information by.
|
|
46
|
+
* @returns The structured metadata for the specified component.
|
|
47
|
+
*/
|
|
48
|
+
export const getInfoForComponent = async (component, framework = 'vanilla') => {
|
|
49
|
+
// Filter function to select specific files based on the framework
|
|
50
|
+
const namePatterns = [
|
|
51
|
+
'component.ts',
|
|
52
|
+
'component.styles.ts',
|
|
53
|
+
'component.custom.styles.ts',
|
|
54
|
+
];
|
|
55
|
+
switch (framework) {
|
|
56
|
+
case 'react':
|
|
57
|
+
namePatterns.push('component.react.ts');
|
|
58
|
+
break;
|
|
59
|
+
case 'vue':
|
|
60
|
+
namePatterns.push('component.vue');
|
|
61
|
+
break;
|
|
62
|
+
case 'angular':
|
|
63
|
+
namePatterns.push('component.angular.ts');
|
|
64
|
+
break;
|
|
65
|
+
default:
|
|
66
|
+
}
|
|
67
|
+
const finalPattern = namePatterns.map(pattern => pattern.toLowerCase());
|
|
68
|
+
const data = await getStructuredMetaDataForComponent(component, fileName => finalPattern.some(pattern => fileName.toLowerCase().includes(pattern)));
|
|
69
|
+
const additionalData = await getAdditionalInformationForComponent(component);
|
|
70
|
+
return [
|
|
71
|
+
...data,
|
|
72
|
+
...additionalData,
|
|
73
|
+
].filter(Boolean);
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Get a list of all available components in the Synergy Design System.
|
|
77
|
+
* @returns A list of all available components in the Synergy Design System.
|
|
78
|
+
*/
|
|
79
|
+
export const getAvailableComponents = async () => {
|
|
80
|
+
const absolutePath = getAbsolutePath(`${componentPath}`);
|
|
81
|
+
const folders = await fs.readdir(absolutePath, { withFileTypes: true });
|
|
82
|
+
const components = folders
|
|
83
|
+
.filter((dirent) => dirent.isDirectory())
|
|
84
|
+
.map((dirent) => dirent.name);
|
|
85
|
+
return components;
|
|
86
|
+
};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Path where metadata is stored, relative to the MCP directory.
|
|
3
|
+
*/
|
|
4
|
+
export declare const metaDataPath: string;
|
|
5
|
+
/**
|
|
6
|
+
* Path to the assets directory, relative to the MCP directory.
|
|
7
|
+
*/
|
|
8
|
+
export declare const assetsPath: string;
|
|
9
|
+
/**
|
|
10
|
+
* Path to the components base directory, relative to the MCP directory.
|
|
11
|
+
*/
|
|
12
|
+
export declare const componentBasePath: string;
|
|
13
|
+
/**
|
|
14
|
+
* Path to the components code directory, relative to the MCP directory.
|
|
15
|
+
*/
|
|
16
|
+
export declare const componentPath: string;
|
|
17
|
+
/**
|
|
18
|
+
* Path to the components static directory, relative to the MCP directory.
|
|
19
|
+
*/
|
|
20
|
+
export declare const componentStaticPath: string;
|
|
21
|
+
/**
|
|
22
|
+
* Path to the components migration directory, relative to the MCP directory.
|
|
23
|
+
*/
|
|
24
|
+
export declare const componentMigrationPath: string;
|
|
25
|
+
/**
|
|
26
|
+
* The path where static information about components is stored, relative to the MCP directory.
|
|
27
|
+
*/
|
|
28
|
+
export declare const staticComponentPath: string;
|
|
29
|
+
/**
|
|
30
|
+
* The path where setup related information is stored.
|
|
31
|
+
*/
|
|
32
|
+
export declare const setupPath: string;
|
|
33
|
+
/**
|
|
34
|
+
* Path to the styles directory, relative to the MCP directory.
|
|
35
|
+
*/
|
|
36
|
+
export declare const stylesPath: string;
|
|
37
|
+
/**
|
|
38
|
+
* Path to the angular directory, relative to the MCP directory.
|
|
39
|
+
*/
|
|
40
|
+
export declare const angularPath: string;
|
|
41
|
+
/**
|
|
42
|
+
* Path to the react directory, relative to the MCP directory.
|
|
43
|
+
*/
|
|
44
|
+
export declare const reactPath: string;
|
|
45
|
+
/**
|
|
46
|
+
* Path to the vue directory, relative to the MCP directory.
|
|
47
|
+
*/
|
|
48
|
+
export declare const vuePath: string;
|
|
49
|
+
/**
|
|
50
|
+
* The path where static information about styles is stored, relative to the MCP directory.
|
|
51
|
+
*/
|
|
52
|
+
export declare const staticStylesPath: string;
|
|
53
|
+
/**
|
|
54
|
+
* Path to the templates directory, relative to the MCP directory.
|
|
55
|
+
*/
|
|
56
|
+
export declare const templatesPath: string;
|
|
57
|
+
/**
|
|
58
|
+
* Path to the tokens directory, relative to the MCP directory.
|
|
59
|
+
*/
|
|
60
|
+
export declare const tokensPath: string;
|
|
61
|
+
/**
|
|
62
|
+
* Path to the davinci migration directory, relative to the MCP directory.
|
|
63
|
+
*/
|
|
64
|
+
export declare const davinciMigrationPath: string;
|
|
65
|
+
/**
|
|
66
|
+
* Path to the static files directory, relative to the MCP directory.
|
|
67
|
+
*/
|
|
68
|
+
export declare const staticPath: string;
|
|
69
|
+
/**
|
|
70
|
+
* Path to the migration directory, relative to the MCP directory.
|
|
71
|
+
*/
|
|
72
|
+
export declare const staticMigrationPath: string;
|
|
73
|
+
/**
|
|
74
|
+
* List of supported frameworks.
|
|
75
|
+
*/
|
|
76
|
+
export type Framework = 'react' | 'vue' | 'angular' | 'vanilla';
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { fileURLToPath } from 'node:url';
|
|
2
|
+
import { dirname, join } from 'node:path';
|
|
3
|
+
// Get the current file's directory
|
|
4
|
+
const currentFilename = fileURLToPath(import.meta.url);
|
|
5
|
+
const currentDirname = dirname(currentFilename);
|
|
6
|
+
/**
|
|
7
|
+
* Path where metadata is stored, relative to the MCP directory.
|
|
8
|
+
*/
|
|
9
|
+
export const metaDataPath = join(currentDirname, '../../metadata');
|
|
10
|
+
/**
|
|
11
|
+
* Path to the assets directory, relative to the MCP directory.
|
|
12
|
+
*/
|
|
13
|
+
export const assetsPath = join(currentDirname, '../../metadata/packages/assets');
|
|
14
|
+
/**
|
|
15
|
+
* Path to the components base directory, relative to the MCP directory.
|
|
16
|
+
*/
|
|
17
|
+
export const componentBasePath = join(currentDirname, '../../metadata/packages/components');
|
|
18
|
+
/**
|
|
19
|
+
* Path to the components code directory, relative to the MCP directory.
|
|
20
|
+
*/
|
|
21
|
+
export const componentPath = join(componentBasePath, '/components');
|
|
22
|
+
/**
|
|
23
|
+
* Path to the components static directory, relative to the MCP directory.
|
|
24
|
+
*/
|
|
25
|
+
export const componentStaticPath = join(componentBasePath, '/static');
|
|
26
|
+
/**
|
|
27
|
+
* Path to the components migration directory, relative to the MCP directory.
|
|
28
|
+
*/
|
|
29
|
+
export const componentMigrationPath = join(componentBasePath, '/migration');
|
|
30
|
+
/**
|
|
31
|
+
* The path where static information about components is stored, relative to the MCP directory.
|
|
32
|
+
*/
|
|
33
|
+
export const staticComponentPath = join(currentDirname, '../../metadata/static/components');
|
|
34
|
+
/**
|
|
35
|
+
* The path where setup related information is stored.
|
|
36
|
+
*/
|
|
37
|
+
export const setupPath = join(currentDirname, '../../metadata/static/setup');
|
|
38
|
+
/**
|
|
39
|
+
* Path to the styles directory, relative to the MCP directory.
|
|
40
|
+
*/
|
|
41
|
+
export const stylesPath = join(currentDirname, '../../metadata/packages/styles');
|
|
42
|
+
/**
|
|
43
|
+
* Path to the angular directory, relative to the MCP directory.
|
|
44
|
+
*/
|
|
45
|
+
export const angularPath = join(currentDirname, '../../metadata/packages/angular');
|
|
46
|
+
/**
|
|
47
|
+
* Path to the react directory, relative to the MCP directory.
|
|
48
|
+
*/
|
|
49
|
+
export const reactPath = join(currentDirname, '../../metadata/packages/react');
|
|
50
|
+
/**
|
|
51
|
+
* Path to the vue directory, relative to the MCP directory.
|
|
52
|
+
*/
|
|
53
|
+
export const vuePath = join(currentDirname, '../../metadata/packages/vue');
|
|
54
|
+
/**
|
|
55
|
+
* The path where static information about styles is stored, relative to the MCP directory.
|
|
56
|
+
*/
|
|
57
|
+
export const staticStylesPath = join(currentDirname, '../../metadata/static/styles');
|
|
58
|
+
/**
|
|
59
|
+
* Path to the templates directory, relative to the MCP directory.
|
|
60
|
+
*/
|
|
61
|
+
export const templatesPath = join(currentDirname, '../../metadata/static/templates');
|
|
62
|
+
/**
|
|
63
|
+
* Path to the tokens directory, relative to the MCP directory.
|
|
64
|
+
*/
|
|
65
|
+
export const tokensPath = join(currentDirname, '../../metadata/packages/tokens');
|
|
66
|
+
/**
|
|
67
|
+
* Path to the davinci migration directory, relative to the MCP directory.
|
|
68
|
+
*/
|
|
69
|
+
export const davinciMigrationPath = join(currentDirname, '../../metadata/davinci-migration');
|
|
70
|
+
/**
|
|
71
|
+
* Path to the static files directory, relative to the MCP directory.
|
|
72
|
+
*/
|
|
73
|
+
export const staticPath = join(currentDirname, '../../metadata/static');
|
|
74
|
+
/**
|
|
75
|
+
* Path to the migration directory, relative to the MCP directory.
|
|
76
|
+
*/
|
|
77
|
+
export const staticMigrationPath = join(currentDirname, '../../metadata/static/migration');
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get the absolute path to the wanted file or directory, relative from the current one.
|
|
3
|
+
* @param path - The relative path to the file or directory.
|
|
4
|
+
* @returns The absolute path to the file or directory.
|
|
5
|
+
*/
|
|
6
|
+
export declare const getAbsolutePath: (fileName?: string) => string;
|
|
7
|
+
/**
|
|
8
|
+
* Create a new directory.
|
|
9
|
+
* @param dirName - The name of the directory to create, relative to the current file.
|
|
10
|
+
* @returns The absolute path to the created directory.
|
|
11
|
+
*/
|
|
12
|
+
export declare const createPath: (dirName: string) => Promise<string>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { fileURLToPath } from 'url';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import fs from 'fs/promises';
|
|
4
|
+
/**
|
|
5
|
+
* Get the absolute path to the wanted file or directory, relative from the current one.
|
|
6
|
+
* @param path - The relative path to the file or directory.
|
|
7
|
+
* @returns The absolute path to the file or directory.
|
|
8
|
+
*/
|
|
9
|
+
export const getAbsolutePath = (fileName = '') => {
|
|
10
|
+
const filename = fileURLToPath(import.meta.url);
|
|
11
|
+
const dirname = path.dirname(filename);
|
|
12
|
+
return path.isAbsolute(fileName)
|
|
13
|
+
? fileName
|
|
14
|
+
: path.resolve(dirname, fileName);
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Create a new directory.
|
|
18
|
+
* @param dirName - The name of the directory to create, relative to the current file.
|
|
19
|
+
* @returns The absolute path to the created directory.
|
|
20
|
+
*/
|
|
21
|
+
export const createPath = async (dirName) => {
|
|
22
|
+
const absolutePath = getAbsolutePath(dirName);
|
|
23
|
+
try {
|
|
24
|
+
await fs.mkdir(absolutePath, { recursive: true });
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
// eslint-disable-next-line no-console
|
|
28
|
+
console.error(`Failed to create directory at ${absolutePath}:`, error);
|
|
29
|
+
}
|
|
30
|
+
return absolutePath;
|
|
31
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from './assets.js';
|
|
2
|
+
export * from './checksum.js';
|
|
3
|
+
export * from './components.js';
|
|
4
|
+
export * from './config.js';
|
|
5
|
+
export * from './file.js';
|
|
6
|
+
export * from './migration.js';
|
|
7
|
+
export * from './metadata.js';
|
|
8
|
+
export * from './stdio.js';
|
|
9
|
+
export * from './styles.js';
|
|
10
|
+
export * from './templates.js';
|
|
11
|
+
export * from './tokens.js';
|
|
12
|
+
export * from './version.js';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from './assets.js';
|
|
2
|
+
export * from './checksum.js';
|
|
3
|
+
export * from './components.js';
|
|
4
|
+
export * from './config.js';
|
|
5
|
+
export * from './file.js';
|
|
6
|
+
export * from './migration.js';
|
|
7
|
+
export * from './metadata.js';
|
|
8
|
+
export * from './stdio.js';
|
|
9
|
+
export * from './styles.js';
|
|
10
|
+
export * from './templates.js';
|
|
11
|
+
export * from './tokens.js';
|
|
12
|
+
export * from './version.js';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filter function type for filtering metadata files.
|
|
3
|
+
*/
|
|
4
|
+
export type Filter = (fileName: string) => boolean;
|
|
5
|
+
/**
|
|
6
|
+
* MetadataFile type representing a structured metadata file.
|
|
7
|
+
*/
|
|
8
|
+
export type MetadataFile = {
|
|
9
|
+
content: string;
|
|
10
|
+
filename: string;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Get structured metadata for a specific metadata folder.
|
|
14
|
+
* Will NOT crawl recursively, but will return all files in the metadata directory.
|
|
15
|
+
* @param folder - The name of the folder to get metadata for.
|
|
16
|
+
* @param filter - Optional filter function to apply to the filenames.
|
|
17
|
+
* If provided, only files that pass the filter will be included in the result.
|
|
18
|
+
*/
|
|
19
|
+
export declare const getStructuredMetaData: (folder: string, filter?: Filter) => Promise<(MetadataFile | null)[]>;
|
|
20
|
+
/**
|
|
21
|
+
* Get structured metadata for a specific component.
|
|
22
|
+
* Will NOT crawl recursively, but will return all files in the component's metadata directory.
|
|
23
|
+
* @param componentName - The name of the component to get metadata for.
|
|
24
|
+
* @param filter - Optional filter function to apply to the filenames.
|
|
25
|
+
* If provided, only files that pass the filter will be included in the result.
|
|
26
|
+
* @param source - The source of the metadata, either 'package' or 'static'.
|
|
27
|
+
*/
|
|
28
|
+
export declare const getStructuredMetaDataForComponent: (componentName: string, filter?: Filter, source?: "package" | "static") => Promise<(MetadataFile | null)[]>;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import { existsSync, statSync } from 'node:fs';
|
|
3
|
+
import { basename, join } from 'node:path';
|
|
4
|
+
import { componentPath, staticComponentPath } from './config.js';
|
|
5
|
+
import { getAbsolutePath } from './file.js';
|
|
6
|
+
const defaultFilter = () => true;
|
|
7
|
+
/**
|
|
8
|
+
* Get structured metadata for a specific metadata folder.
|
|
9
|
+
* Will NOT crawl recursively, but will return all files in the metadata directory.
|
|
10
|
+
* @param folder - The name of the folder to get metadata for.
|
|
11
|
+
* @param filter - Optional filter function to apply to the filenames.
|
|
12
|
+
* If provided, only files that pass the filter will be included in the result.
|
|
13
|
+
*/
|
|
14
|
+
export const getStructuredMetaData = async (folder, filter = defaultFilter) => {
|
|
15
|
+
const absolutePath = getAbsolutePath(folder);
|
|
16
|
+
// If the directory does not exist, return an empty array
|
|
17
|
+
if (!existsSync(absolutePath)) {
|
|
18
|
+
return [];
|
|
19
|
+
}
|
|
20
|
+
const files = await fs.readdir(absolutePath);
|
|
21
|
+
const metadata = await Promise.all(files
|
|
22
|
+
.filter(file => {
|
|
23
|
+
// We only allow entries that are
|
|
24
|
+
// 1. are files
|
|
25
|
+
// 2. pass the filter function
|
|
26
|
+
const stats = statSync(join(absolutePath, file));
|
|
27
|
+
return stats.isFile() && filter(file);
|
|
28
|
+
})
|
|
29
|
+
.map(async (file) => {
|
|
30
|
+
const filename = basename(file);
|
|
31
|
+
const exists = await fs.stat(`${absolutePath}/${file}`);
|
|
32
|
+
if (!exists.isFile()) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
const content = await fs.readFile(`${absolutePath}/${file}`, 'utf-8');
|
|
36
|
+
return {
|
|
37
|
+
content,
|
|
38
|
+
filename,
|
|
39
|
+
};
|
|
40
|
+
})
|
|
41
|
+
// Makes sure we only return valid metadata files
|
|
42
|
+
.filter(Boolean));
|
|
43
|
+
return metadata;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Get structured metadata for a specific component.
|
|
47
|
+
* Will NOT crawl recursively, but will return all files in the component's metadata directory.
|
|
48
|
+
* @param componentName - The name of the component to get metadata for.
|
|
49
|
+
* @param filter - Optional filter function to apply to the filenames.
|
|
50
|
+
* If provided, only files that pass the filter will be included in the result.
|
|
51
|
+
* @param source - The source of the metadata, either 'package' or 'static'.
|
|
52
|
+
*/
|
|
53
|
+
export const getStructuredMetaDataForComponent = (componentName, filter = defaultFilter, source = 'package') => {
|
|
54
|
+
const root = source === 'static' ? staticComponentPath : componentPath;
|
|
55
|
+
const absolutePath = getAbsolutePath(`${root}/${componentName}`);
|
|
56
|
+
return getStructuredMetaData(absolutePath, filter);
|
|
57
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getMigrationMetaData: () => Promise<(import("./metadata.js").MetadataFile | null)[]>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { componentMigrationPath, staticMigrationPath, } from './config.js';
|
|
2
|
+
import { getStructuredMetaData, } from './metadata.js';
|
|
3
|
+
export const getMigrationMetaData = async () => {
|
|
4
|
+
const data = await getStructuredMetaData(componentMigrationPath);
|
|
5
|
+
const additionalData = await getStructuredMetaData(staticMigrationPath);
|
|
6
|
+
return [
|
|
7
|
+
...data,
|
|
8
|
+
...additionalData,
|
|
9
|
+
];
|
|
10
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parses command line arguments and returns the action to take
|
|
3
|
+
*/
|
|
4
|
+
export declare const parseCommandLineArgs: (args?: string[]) => {
|
|
5
|
+
action: "version";
|
|
6
|
+
} | {
|
|
7
|
+
action: "help";
|
|
8
|
+
} | {
|
|
9
|
+
action: "continue";
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Handles command line arguments and exits if necessary
|
|
13
|
+
*/
|
|
14
|
+
export declare const handleCommandLineArgs: () => void;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { getVersion } from './version.js';
|
|
2
|
+
/**
|
|
3
|
+
* Parses command line arguments and returns the action to take
|
|
4
|
+
*/
|
|
5
|
+
export const parseCommandLineArgs = (args = process.argv.slice(2)) => {
|
|
6
|
+
if (args.includes('--version') || args.includes('-v')) {
|
|
7
|
+
return { action: 'version' };
|
|
8
|
+
}
|
|
9
|
+
if (args.includes('--help') || args.includes('-h')) {
|
|
10
|
+
return { action: 'help' };
|
|
11
|
+
}
|
|
12
|
+
return { action: 'continue' };
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Handles command line arguments and exits if necessary
|
|
16
|
+
*/
|
|
17
|
+
export const handleCommandLineArgs = () => {
|
|
18
|
+
const result = parseCommandLineArgs();
|
|
19
|
+
if (result.action === 'version') {
|
|
20
|
+
const version = getVersion();
|
|
21
|
+
process.stdout.write(`Synergy Design System MCP Server v${version}\n`);
|
|
22
|
+
process.exit(0);
|
|
23
|
+
}
|
|
24
|
+
if (result.action === 'help') {
|
|
25
|
+
const version = getVersion();
|
|
26
|
+
process.stdout.write(`Synergy Design System MCP Server v${version}
|
|
27
|
+
|
|
28
|
+
USAGE:
|
|
29
|
+
syn-mcp [OPTIONS]
|
|
30
|
+
|
|
31
|
+
DESCRIPTION:
|
|
32
|
+
Model Context Protocol (MCP) server for the Synergy Design System.
|
|
33
|
+
Provides tools for LLMs to interact with Synergy components, design tokens,
|
|
34
|
+
styles, and framework-specific guidance.
|
|
35
|
+
|
|
36
|
+
OPTIONS:
|
|
37
|
+
-h, --help Show this help message and exit
|
|
38
|
+
-v, --version Show version information and exit
|
|
39
|
+
|
|
40
|
+
EXAMPLES:
|
|
41
|
+
syn-mcp # Start the MCP server
|
|
42
|
+
syn-mcp --version # Show version
|
|
43
|
+
syn-mcp --help # Show this help
|
|
44
|
+
|
|
45
|
+
ABOUT:
|
|
46
|
+
This server provides the following tools for LLMs:
|
|
47
|
+
• Component information and documentation
|
|
48
|
+
• Framework-specific guidance (React, Vue, Angular, Vanilla)
|
|
49
|
+
• Design tokens and styling information
|
|
50
|
+
• Asset and icon information
|
|
51
|
+
• Migration guides from DaVinci to Synergy
|
|
52
|
+
• Template and pattern information
|
|
53
|
+
|
|
54
|
+
For more information, visit:
|
|
55
|
+
https://github.com/synergy-design-system/synergy-design-system
|
|
56
|
+
|
|
57
|
+
`);
|
|
58
|
+
process.exit(0);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/* eslint-disable no-console */
|
|
3
|
+
import { runDocsScraper } from './docs-scraper.js';
|
|
4
|
+
import { StaticServerManager } from './storybook-manager.js';
|
|
5
|
+
// Parse command line arguments
|
|
6
|
+
const args = process.argv.slice(2);
|
|
7
|
+
const type = args[0] || 'all';
|
|
8
|
+
console.log(`Starting documentation scraping for: ${type}`);
|
|
9
|
+
const serverManager = new StaticServerManager();
|
|
10
|
+
async function main() {
|
|
11
|
+
try {
|
|
12
|
+
// Start the static server
|
|
13
|
+
console.log('Starting static file server...');
|
|
14
|
+
const server = await serverManager.start();
|
|
15
|
+
// Run the docs scraper
|
|
16
|
+
console.log('Starting documentation scraping...');
|
|
17
|
+
await runDocsScraper(type, server.url);
|
|
18
|
+
console.log('Documentation scraping completed successfully!');
|
|
19
|
+
process.exit(0);
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
console.error('Documentation scraping failed:', error);
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
finally {
|
|
26
|
+
// Always clean up the server
|
|
27
|
+
await serverManager.stop();
|
|
28
|
+
console.log('✓ Server stopped');
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
// Handle process termination to clean up server
|
|
32
|
+
process.on('SIGINT', async () => {
|
|
33
|
+
console.log('\nReceived SIGINT, cleaning up...');
|
|
34
|
+
await serverManager.stop();
|
|
35
|
+
process.exit(0);
|
|
36
|
+
});
|
|
37
|
+
process.on('SIGTERM', async () => {
|
|
38
|
+
console.log('\nReceived SIGTERM, cleaning up...');
|
|
39
|
+
await serverManager.stop();
|
|
40
|
+
process.exit(0);
|
|
41
|
+
});
|
|
42
|
+
main();
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ScrapingConfig } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for scraping component documentation
|
|
4
|
+
*/
|
|
5
|
+
export declare const componentScrapingConfig: ScrapingConfig;
|
|
6
|
+
/**
|
|
7
|
+
* Configuration for scraping styles documentation
|
|
8
|
+
*/
|
|
9
|
+
export declare const stylesScrapingConfig: ScrapingConfig;
|
|
10
|
+
/**
|
|
11
|
+
* Configuration for scraping template documentation
|
|
12
|
+
*/
|
|
13
|
+
export declare const templateScrapingConfig: ScrapingConfig;
|