@dxtmisha/scripts 0.11.8 → 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.
Files changed (335) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/ai-resources/componentMaterials.md +19 -0
  3. package/ai-resources/componentPrompt.md +381 -0
  4. package/ai-resources/componentWiki.md +13 -0
  5. package/bin/arguments.ts +168 -0
  6. package/bin/build-packages.ts +34 -3
  7. package/bin/build-publish-packages.ts +12 -2
  8. package/bin/design-component.ts +7 -1
  9. package/bin/design-constructor.ts +22 -3
  10. package/bin/design-figma.ts +26 -4
  11. package/bin/design-flags.ts +14 -2
  12. package/bin/design-library.ts +7 -1
  13. package/bin/design-package.ts +29 -5
  14. package/bin/design-prompt.ts +27 -3
  15. package/bin/design-screenshot.ts +12 -2
  16. package/bin/design-types-save.ts +32 -5
  17. package/bin/design-types.ts +32 -6
  18. package/bin/design-ui.ts +21 -3
  19. package/bin/design-wiki-storm.ts +11 -3
  20. package/dist/AiZAi-BiLAcdFy.js +232 -0
  21. package/dist/PropertiesConfig-BKZz_FWW.js +262 -0
  22. package/{src/config.ts → dist/config.d.ts} +185 -158
  23. package/dist/config.js +20 -0
  24. package/dist/figmaApiTypes-CArSsNW8.js +6 -0
  25. package/dist/library-ai.d.ts +482 -0
  26. package/dist/library-ai.js +2 -0
  27. package/dist/library-figma.d.ts +462 -0
  28. package/dist/library-figma.js +75 -0
  29. package/dist/library-ui.d.ts +586 -0
  30. package/dist/library-ui.js +3760 -0
  31. package/dist/library.d.ts +4910 -0
  32. package/dist/library.js +1568 -0
  33. package/dist/propertyTypes-C64u6rT3.js +236 -0
  34. package/package.json +76 -27
  35. package/bin/ai-doc.ts +0 -7
  36. package/bin/build-functional.ts +0 -5
  37. package/bin/design-component-wiki.ts +0 -11
  38. package/src/classes/Ai/AiAbstract.ts +0 -242
  39. package/src/classes/Ai/AiClaude.ts +0 -26
  40. package/src/classes/Ai/AiClaudeAgent.ts +0 -16
  41. package/src/classes/Ai/AiClaudeAgentLite.ts +0 -86
  42. package/src/classes/Ai/AiClaudeCli.ts +0 -24
  43. package/src/classes/Ai/AiClaudeCliLite.ts +0 -108
  44. package/src/classes/Ai/AiClaudeLite.ts +0 -112
  45. package/src/classes/Ai/AiDoc.ts +0 -81
  46. package/src/classes/Ai/AiDocItem.ts +0 -27
  47. package/src/classes/Ai/AiDocItemAbstract.ts +0 -209
  48. package/src/classes/Ai/AiDocItemClasses.ts +0 -27
  49. package/src/classes/Ai/AiDocItemComposables.ts +0 -20
  50. package/src/classes/Ai/AiDocType.ts +0 -45
  51. package/src/classes/Ai/AiGoogle.ts +0 -26
  52. package/src/classes/Ai/AiGoogleCli.ts +0 -24
  53. package/src/classes/Ai/AiGoogleCliLite.ts +0 -108
  54. package/src/classes/Ai/AiGoogleLite.ts +0 -78
  55. package/src/classes/Ai/AiOpenAi.ts +0 -26
  56. package/src/classes/Ai/AiOpenAiLite.ts +0 -107
  57. package/src/classes/Ai/AiZAi.ts +0 -17
  58. package/src/classes/Ai/AiZAiLite.ts +0 -77
  59. package/src/classes/Ai/ApiTmp.ts +0 -43
  60. package/src/classes/BrowserItem.ts +0 -408
  61. package/src/classes/Build/BuildFunctional.ts +0 -54
  62. package/src/classes/Build/BuildPackages.ts +0 -137
  63. package/src/classes/Build/BuildPublishPackages.ts +0 -105
  64. package/src/classes/BuildItem.ts +0 -187
  65. package/src/classes/Component/ComponentCreator.ts +0 -45
  66. package/src/classes/Component/ComponentItem.ts +0 -161
  67. package/src/classes/Component/ComponentWiki.ts +0 -258
  68. package/src/classes/Component/ComponentWikiFile.ts +0 -138
  69. package/src/classes/Design/DesignCommand.ts +0 -243
  70. package/src/classes/Design/DesignComponent.ts +0 -824
  71. package/src/classes/Design/DesignConstructor.ts +0 -222
  72. package/src/classes/Design/DesignConstructors.ts +0 -101
  73. package/src/classes/Design/DesignFigma.ts +0 -61
  74. package/src/classes/Design/DesignFlags.ts +0 -215
  75. package/src/classes/Design/DesignReplace.ts +0 -672
  76. package/src/classes/Design/DesignScreenshot.ts +0 -140
  77. package/src/classes/Design/DesignStructure.ts +0 -201
  78. package/src/classes/Design/DesignStructureClasses.ts +0 -105
  79. package/src/classes/Design/DesignStructureItemAbstract.ts +0 -52
  80. package/src/classes/Design/DesignStructureRead.ts +0 -349
  81. package/src/classes/Design/DesignStructureStyles.ts +0 -45
  82. package/src/classes/Design/DesignTypes.ts +0 -94
  83. package/src/classes/Design/DesignTypesAi.ts +0 -135
  84. package/src/classes/Design/DesignTypesDescription.ts +0 -121
  85. package/src/classes/Design/DesignTypesMake.ts +0 -460
  86. package/src/classes/Design/DesignTypesMcp.ts +0 -90
  87. package/src/classes/Design/DesignTypesPrompts.ts +0 -332
  88. package/src/classes/Design/DesignTypescript.ts +0 -244
  89. package/src/classes/Design/DesignUi.ts +0 -143
  90. package/src/classes/Design/DesignWiki.ts +0 -52
  91. package/src/classes/Design/DesignWikiStorm.ts +0 -95
  92. package/src/classes/Design/DesignWikiStormItem.ts +0 -316
  93. package/src/classes/FigmaApi.ts +0 -190
  94. package/src/classes/Git/GitRead.ts +0 -261
  95. package/src/classes/Library/LibraryAiMcpItem.ts +0 -67
  96. package/src/classes/Library/LibraryAiPrompt.ts +0 -268
  97. package/src/classes/Library/LibraryAiPromptItem.ts +0 -331
  98. package/src/classes/Library/LibraryAiWiki.ts +0 -127
  99. package/src/classes/Library/LibraryAiWikiItem.ts +0 -79
  100. package/src/classes/Library/LibraryExport.ts +0 -167
  101. package/src/classes/Library/LibraryFlags.ts +0 -62
  102. package/src/classes/Library/LibraryItems.ts +0 -138
  103. package/src/classes/Library/LibraryList.ts +0 -189
  104. package/src/classes/Library/LibraryMedia.ts +0 -139
  105. package/src/classes/Library/LibraryPlugin.ts +0 -73
  106. package/src/classes/Library/LibraryTypes.ts +0 -130
  107. package/src/classes/Package/PackageFile.ts +0 -154
  108. package/src/classes/Package/PackageInit.ts +0 -54
  109. package/src/classes/Package/PackageItem.ts +0 -329
  110. package/src/classes/Properties/Properties.ts +0 -175
  111. package/src/classes/Properties/PropertiesCache.ts +0 -248
  112. package/src/classes/Properties/PropertiesConfig.ts +0 -213
  113. package/src/classes/Properties/PropertiesConvector.ts +0 -52
  114. package/src/classes/Properties/PropertiesFile.ts +0 -522
  115. package/src/classes/Properties/PropertiesImport.ts +0 -182
  116. package/src/classes/Properties/PropertiesItems.ts +0 -605
  117. package/src/classes/Properties/PropertiesKeys.ts +0 -121
  118. package/src/classes/Properties/PropertiesMain.ts +0 -138
  119. package/src/classes/Properties/PropertiesPalette.ts +0 -149
  120. package/src/classes/Properties/PropertiesPath.ts +0 -193
  121. package/src/classes/Properties/PropertiesScss.ts +0 -261
  122. package/src/classes/Properties/PropertiesSeparator.ts +0 -118
  123. package/src/classes/Properties/PropertiesSettings.ts +0 -104
  124. package/src/classes/Properties/PropertiesStandard.ts +0 -180
  125. package/src/classes/Properties/PropertiesTool.ts +0 -80
  126. package/src/classes/Properties/PropertiesTypes.ts +0 -147
  127. package/src/classes/Properties/PropertiesValues.ts +0 -75
  128. package/src/classes/Properties/PropertiesWrap.ts +0 -187
  129. package/src/classes/Properties/convector/convectorColor.ts +0 -27
  130. package/src/classes/Properties/convector/convectorFontFamilies.ts +0 -18
  131. package/src/classes/Properties/convector/convectorShadow.ts +0 -61
  132. package/src/classes/Properties/convector/convectorTypography.ts +0 -19
  133. package/src/classes/Properties/to/PropertiesToAbstract.ts +0 -51
  134. package/src/classes/Properties/to/PropertiesToAnimate.ts +0 -59
  135. package/src/classes/Properties/to/PropertiesToClass.ts +0 -49
  136. package/src/classes/Properties/to/PropertiesToClone.ts +0 -114
  137. package/src/classes/Properties/to/PropertiesToComponent.ts +0 -52
  138. package/src/classes/Properties/to/PropertiesToDrag.ts +0 -231
  139. package/src/classes/Properties/to/PropertiesToDuplicate.ts +0 -165
  140. package/src/classes/Properties/to/PropertiesToFull.ts +0 -36
  141. package/src/classes/Properties/to/PropertiesToLink.ts +0 -259
  142. package/src/classes/Properties/to/PropertiesToMedia.ts +0 -187
  143. package/src/classes/Properties/to/PropertiesToMulti.ts +0 -101
  144. package/src/classes/Properties/to/PropertiesToNone.ts +0 -46
  145. package/src/classes/Properties/to/PropertiesToPalette.ts +0 -241
  146. package/src/classes/Properties/to/PropertiesToProperty.ts +0 -31
  147. package/src/classes/Properties/to/PropertiesToRemove.ts +0 -33
  148. package/src/classes/Properties/to/PropertiesToReplace.ts +0 -77
  149. package/src/classes/Properties/to/PropertiesToRoot.ts +0 -40
  150. package/src/classes/Properties/to/PropertiesToSimilar.ts +0 -128
  151. package/src/classes/Properties/to/PropertiesToSort.ts +0 -146
  152. package/src/classes/Properties/to/PropertiesToState.ts +0 -65
  153. package/src/classes/Properties/to/PropertiesToStyle.ts +0 -52
  154. package/src/classes/Properties/to/PropertiesToSub.ts +0 -95
  155. package/src/classes/Properties/to/PropertiesToSubclass.ts +0 -76
  156. package/src/classes/Properties/to/PropertiesToVar.ts +0 -194
  157. package/src/classes/Properties/to/PropertiesToVariable.ts +0 -176
  158. package/src/classes/Styles/Styles.ts +0 -247
  159. package/src/classes/Styles/StylesClasses.ts +0 -86
  160. package/src/classes/Styles/StylesProperties.ts +0 -197
  161. package/src/classes/Styles/StylesRoot.ts +0 -103
  162. package/src/classes/Styles/StylesTool.ts +0 -112
  163. package/src/classes/Styles/to/StylesToAbstract.ts +0 -93
  164. package/src/classes/Styles/to/StylesToAnimate.ts +0 -19
  165. package/src/classes/Styles/to/StylesToClass.ts +0 -25
  166. package/src/classes/Styles/to/StylesToClassFull.ts +0 -19
  167. package/src/classes/Styles/to/StylesToContainer.ts +0 -24
  168. package/src/classes/Styles/to/StylesToMedia.ts +0 -19
  169. package/src/classes/Styles/to/StylesToProperty.ts +0 -123
  170. package/src/classes/Styles/to/StylesToRoot.ts +0 -14
  171. package/src/classes/Styles/to/StylesToSelector.ts +0 -71
  172. package/src/classes/Styles/to/StylesToVar.ts +0 -105
  173. package/src/classes/Styles/to/StylesToVirtual.ts +0 -33
  174. package/src/composables/useAi.ts +0 -38
  175. package/src/demo/ai.ts +0 -10
  176. package/src/functions/getComponentPaths.ts +0 -13
  177. package/src/functions/getConfigAi.ts +0 -14
  178. package/src/functions/getConstructorProperties.ts +0 -54
  179. package/src/functions/getDirname.ts +0 -17
  180. package/src/functions/getNameDirByPaths.ts +0 -16
  181. package/src/functions/getPackageJson.ts +0 -19
  182. package/src/functions/hasNativeDirname.ts +0 -8
  183. package/src/functions/run.ts +0 -47
  184. package/src/functions/toPathStandardSep.ts +0 -14
  185. package/src/library-ai.ts +0 -10
  186. package/src/library.ts +0 -73
  187. package/src/media/ai/ai-doc-types.ts +0 -21
  188. package/src/media/properties/css.ts +0 -634
  189. package/src/media/properties/cssSelector.ts +0 -74
  190. package/src/media/properties/cssVirtual.ts +0 -12
  191. package/src/media/properties/listSort.ts +0 -113
  192. package/src/media/properties/style.ts +0 -81
  193. package/src/media/templates/component/DesignComponent.mdx +0 -30
  194. package/src/media/templates/component/DesignComponent.stories.ts +0 -34
  195. package/src/media/templates/component/DesignComponent.vue +0 -54
  196. package/src/media/templates/component/DesignComponentAiWiki.vue +0 -25
  197. package/src/media/templates/component/index.ts +0 -13
  198. package/src/media/templates/component/props.ts +0 -27
  199. package/src/media/templates/component/styleToken.scss +0 -17
  200. package/src/media/templates/component/wiki.ts +0 -13
  201. package/src/media/templates/component/wikiData.ts +0 -28
  202. package/src/media/templates/componentDoc/ComponentDoc.vue +0 -26
  203. package/src/media/templates/componentDoc/index.ts +0 -12
  204. package/src/media/templates/componentDoc/materials/README.md +0 -8
  205. package/src/media/templates/componentDoc/materials/prompt.md +0 -38
  206. package/src/media/templates/componentDoc/subcomponents/_.gitignore.txt +0 -0
  207. package/src/media/templates/componentDoc/types.ts +0 -15
  208. package/src/media/templates/componentDoc/wiki/ComponentDoc.mdx +0 -13
  209. package/src/media/templates/componentDoc/wiki/ComponentDoc.stories.ts +0 -24
  210. package/src/media/templates/componentDoc/wiki/prompt.md +0 -41
  211. package/src/media/templates/constructors/Constructors.ts +0 -33
  212. package/src/media/templates/constructors/ConstructorsDesign.tsx +0 -129
  213. package/src/media/templates/constructors/basicTypes.ts +0 -0
  214. package/src/media/templates/constructors/index.ts +0 -5
  215. package/src/media/templates/constructors/props.ts +0 -28
  216. package/src/media/templates/constructors/style.scss +0 -5
  217. package/src/media/templates/constructors/types.ts +0 -47
  218. package/src/media/templates/packages/figma/README.md +0 -1
  219. package/src/media/templates/packages/figma/_.gitignore.txt +0 -29
  220. package/src/media/templates/packages/figma/ai.sample.config.ts +0 -2
  221. package/src/media/templates/packages/figma/design.config.json +0 -3
  222. package/src/media/templates/packages/figma/index.html +0 -12
  223. package/src/media/templates/packages/figma/manifest.json +0 -25
  224. package/src/media/templates/packages/figma/package.json +0 -37
  225. package/src/media/templates/packages/figma/src/App.vue +0 -9
  226. package/src/media/templates/packages/figma/src/classes/_.gitignore.txt +0 -1
  227. package/src/media/templates/packages/figma/src/code.ts +0 -16
  228. package/src/media/templates/packages/figma/src/components/_.gitignore.txt +0 -1
  229. package/src/media/templates/packages/figma/src/composables/_.gitignore.txt +0 -1
  230. package/src/media/templates/packages/figma/src/config.ts +0 -0
  231. package/src/media/templates/packages/figma/src/functions/_.gitignore.txt +0 -1
  232. package/src/media/templates/packages/figma/src/library.ts +0 -0
  233. package/src/media/templates/packages/figma/src/main.ts +0 -4
  234. package/src/media/templates/packages/figma/src/media/_.gitignore.txt +0 -1
  235. package/src/media/templates/packages/figma/src/storybook/_.gitignore.txt +0 -1
  236. package/src/media/templates/packages/figma/src/types/_.gitignore.txt +0 -1
  237. package/src/media/templates/packages/figma/src/vite-env.d.ts +0 -1
  238. package/src/media/templates/packages/figma/tsconfig.app.json +0 -12
  239. package/src/media/templates/packages/figma/tsconfig.json +0 -7
  240. package/src/media/templates/packages/figma/tsconfig.node.json +0 -8
  241. package/src/media/templates/packages/figma/vite.config.ts +0 -7
  242. package/src/media/templates/packages/library/README.md +0 -1
  243. package/src/media/templates/packages/library/_.gitignore.txt +0 -27
  244. package/src/media/templates/packages/library/ai-description.md +0 -15
  245. package/src/media/templates/packages/library/design.config.json +0 -3
  246. package/src/media/templates/packages/library/index.html +0 -12
  247. package/src/media/templates/packages/library/materials/README.md +0 -8
  248. package/src/media/templates/packages/library/materials/prompt.md +0 -45
  249. package/src/media/templates/packages/library/package.json +0 -46
  250. package/src/media/templates/packages/library/src/App.vue +0 -8
  251. package/src/media/templates/packages/library/src/classes/_.gitignore.txt +0 -1
  252. package/src/media/templates/packages/library/src/components/_.gitignore.txt +0 -1
  253. package/src/media/templates/packages/library/src/composables/_.gitignore.txt +0 -1
  254. package/src/media/templates/packages/library/src/functions/_.gitignore.txt +0 -1
  255. package/src/media/templates/packages/library/src/library.ts +0 -0
  256. package/src/media/templates/packages/library/src/main.ts +0 -6
  257. package/src/media/templates/packages/library/src/style.scss +0 -0
  258. package/src/media/templates/packages/library/src/types/_.gitignore.txt +0 -1
  259. package/src/media/templates/packages/library/src/vite-env.d.ts +0 -1
  260. package/src/media/templates/packages/library/tsconfig.app.json +0 -11
  261. package/src/media/templates/packages/library/tsconfig.json +0 -7
  262. package/src/media/templates/packages/library/tsconfig.node.json +0 -7
  263. package/src/media/templates/packages/library/vite.config.ts +0 -14
  264. package/src/media/templates/packages/nitro/README.md +0 -1
  265. package/src/media/templates/packages/nitro/_.gitignore.txt +0 -28
  266. package/src/media/templates/packages/nitro/index.html +0 -2
  267. package/src/media/templates/packages/nitro/package.json +0 -25
  268. package/src/media/templates/packages/nitro/server/plugins/ui-plugin.ts +0 -7
  269. package/src/media/templates/packages/nitro/server/routes/api/hello.ts +0 -13
  270. package/src/media/templates/packages/nitro/src/App.vue +0 -10
  271. package/src/media/templates/packages/nitro/src/assets/_.gitignore.txt +0 -0
  272. package/src/media/templates/packages/nitro/src/components/_.gitignore.txt +0 -0
  273. package/src/media/templates/packages/nitro/src/composables/_.gitignore.txt +0 -0
  274. package/src/media/templates/packages/nitro/src/entry-client.ts +0 -13
  275. package/src/media/templates/packages/nitro/src/entry-server.ts +0 -29
  276. package/src/media/templates/packages/nitro/src/main.ts +0 -14
  277. package/src/media/templates/packages/nitro/src/pages/HomePage.vue +0 -8
  278. package/src/media/templates/packages/nitro/src/router.ts +0 -11
  279. package/src/media/templates/packages/nitro/src/style.scss +0 -0
  280. package/src/media/templates/packages/nitro/src/templates/main.html +0 -21
  281. package/src/media/templates/packages/nitro/src/vite-env.d.ts +0 -11
  282. package/src/media/templates/packages/nitro/tsconfig.app.json +0 -14
  283. package/src/media/templates/packages/nitro/tsconfig.json +0 -7
  284. package/src/media/templates/packages/nitro/tsconfig.node.json +0 -12
  285. package/src/media/templates/packages/nitro/vite.config.ts +0 -17
  286. package/src/media/templates/packages/project/README.md +0 -1
  287. package/src/media/templates/packages/project/_.gitignore.txt +0 -28
  288. package/src/media/templates/packages/project/design.config.json +0 -3
  289. package/src/media/templates/packages/project/index.html +0 -12
  290. package/src/media/templates/packages/project/materials/README.md +0 -8
  291. package/src/media/templates/packages/project/materials/prompt.md +0 -41
  292. package/src/media/templates/packages/project/package.json +0 -13
  293. package/src/media/templates/packages/project/public/_.gitignore.txt +0 -0
  294. package/src/media/templates/packages/project/src/App.vue +0 -12
  295. package/src/media/templates/packages/project/src/assets/_.gitignore.txt +0 -0
  296. package/src/media/templates/packages/project/src/components/_.gitignore.txt +0 -0
  297. package/src/media/templates/packages/project/src/composables/_.gitignore.txt +0 -0
  298. package/src/media/templates/packages/project/src/main.ts +0 -6
  299. package/src/media/templates/packages/project/src/style.scss +0 -0
  300. package/src/media/templates/packages/project/src/vite-env.d.ts +0 -1
  301. package/src/media/templates/packages/project/tsconfig.app.json +0 -11
  302. package/src/media/templates/packages/project/tsconfig.json +0 -7
  303. package/src/media/templates/packages/project/tsconfig.node.json +0 -7
  304. package/src/media/templates/packages/project/vite.config.ts +0 -7
  305. package/src/media/templates/prompts/aiCodeGlobalPrompt.en.md +0 -22
  306. package/src/media/templates/prompts/aiCodeGlobalPrompt.ru.md +0 -21
  307. package/src/media/templates/prompts/aiCodeVuePrompt.en.md +0 -17
  308. package/src/media/templates/prompts/aiCodeVuePrompt.ru.md +0 -17
  309. package/src/media/templates/prompts/aiDocClassPrompt.en.txt +0 -63
  310. package/src/media/templates/prompts/aiDocClassPrompt.ru.txt +0 -63
  311. package/src/media/templates/prompts/aiDocComposablePrompt.en.txt +0 -67
  312. package/src/media/templates/prompts/aiDocComposablePrompt.ru.txt +0 -67
  313. package/src/media/templates/prompts/aiDocFunctionPrompt.en.txt +0 -57
  314. package/src/media/templates/prompts/aiDocFunctionPrompt.ru.txt +0 -57
  315. package/src/media/templates/prompts/componentPrompt.en.txt +0 -182
  316. package/src/media/templates/prompts/componentPrompt.ru.txt +0 -182
  317. package/src/media/templates/prompts/demoClassEn.mdx +0 -111
  318. package/src/media/templates/prompts/demoClassRu.mdx +0 -111
  319. package/src/media/templates/prompts/demoComponentEn.mdx +0 -282
  320. package/src/media/templates/prompts/demoComponentRu.mdx +0 -282
  321. package/src/media/templates/prompts/demoComposableEn.mdx +0 -103
  322. package/src/media/templates/prompts/demoComposableRu.mdx +0 -103
  323. package/src/media/templates/prompts/demoDocEn.mdx +0 -30
  324. package/src/media/templates/prompts/demoDocRu.mdx +0 -30
  325. package/src/media/templates/viteComponentTemplateConfig.ts +0 -14
  326. package/src/types/aiTypes.ts +0 -19
  327. package/src/types/configTypes.ts +0 -69
  328. package/src/types/designTypes.ts +0 -167
  329. package/src/types/figmaApiTypes.ts +0 -337
  330. package/src/types/gitTypes.ts +0 -59
  331. package/src/types/libraryTypes.ts +0 -49
  332. package/src/types/propertyTypes.ts +0 -586
  333. package/src/types/screenshotTypes.ts +0 -55
  334. package/src/types/webTypes.ts +0 -134
  335. package/src/vite-env.d.ts +0 -1
@@ -1,54 +0,0 @@
1
- // export:none
2
-
3
- import { PropertiesFile } from '../Properties/PropertiesFile'
4
- import { PackageInitItem } from './PackageItem'
5
-
6
- import { UI_DIR_PACKAGES } from '../../config'
7
-
8
- /**
9
- * Class for initializing the package structure and development environment based on templates.
10
- *
11
- * Класс для инициализации структуры пакета и среды разработки на основе шаблонов.
12
- */
13
- export class PackageInit {
14
- /**
15
- * Constructor for PackageInit.
16
- *
17
- * Конструктор для PackageInit.
18
- * @param type package type identifier / идентификатор типа пакета
19
- * @param templates optional list of templates to apply / необязательный список шаблонов для применения
20
- * @param dir base directory for packages / базовая директория для пакетов
21
- */
22
- constructor(
23
- protected readonly type: string,
24
- protected readonly templates?: string,
25
- protected readonly dir: string = UI_DIR_PACKAGES
26
- ) {
27
- }
28
-
29
- /**
30
- * Triggers the package creation process and initializes required files.
31
- *
32
- * Запускает процесс создания пакета и инициализирует необходимые файлы.
33
- */
34
- make() {
35
- console.log(`Initializing package of type: ${this.type} with templates: ${this.templates}`)
36
-
37
- this.getDirs()
38
- .forEach((dir) => {
39
- new PackageInitItem(dir, [this.dir, dir], this.type, this.templates).make()
40
- })
41
- }
42
-
43
- /**
44
- * Returns an array of directory names for package initialization.
45
- *
46
- * Возвращает массив имен директорий для инициализации пакета.
47
- */
48
- protected getDirs(): string[] {
49
- return PropertiesFile.readDir(this.dir)
50
- .filter(
51
- path => PropertiesFile.readDir([this.dir, path]).length === 0
52
- )
53
- }
54
- }
@@ -1,329 +0,0 @@
1
- // export:none
2
-
3
- import requirePath from 'node:path'
4
- import { fileURLToPath } from 'node:url'
5
- import { isFilled } from '@dxtmisha/functional-basic'
6
- import { hasNativeDirname } from '../../functions/hasNativeDirname'
7
-
8
- import { PropertiesConfig } from '../Properties/PropertiesConfig'
9
- import { PropertiesFile } from '../Properties/PropertiesFile'
10
-
11
- import { UI_DIR_PACKAGES, UI_DIRS_LIBRARY, UI_FILE_PACKAGE } from '../../config'
12
-
13
- const dirnamePath = hasNativeDirname()
14
- ? __dirname
15
- : requirePath.dirname(fileURLToPath(import.meta.url))
16
-
17
- const DIR_SAMPLE = [dirnamePath, '..', '..', 'media', 'templates', 'packages']
18
- const DIR_STORYBOOK = [
19
- UI_DIR_PACKAGES,
20
- 'storybook',
21
- '.storybook',
22
- 'main.ts'
23
- ]
24
-
25
- type PackageInitItemFile = {
26
- file: string
27
- path: string
28
- content: string
29
- }
30
-
31
- /**
32
- * Class for initializing a single package component, managing its files, dependencies, and integration.
33
- *
34
- * Класс для инициализации отдельного компонента пакета, управления его файлами, зависимостями и интеграцией.
35
- */
36
- export class PackageInitItem {
37
- /**
38
- * Constructor for PackageInitItem.
39
- *
40
- * Конструктор для PackageInitItem.
41
- * @param name unique name of the component / уникальное имя компонента
42
- * @param dir path to the component directory / путь к директории компонента
43
- * @param type package type identifier / идентификатор типа пакета
44
- * @param templates optional list of templates to apply / необязательный список шаблонов для применения
45
- */
46
- constructor(
47
- protected readonly name: string,
48
- protected readonly dir: string[],
49
- protected readonly type: string,
50
- protected readonly templates?: string
51
- ) {
52
- }
53
-
54
- /**
55
- * Performs the full initialization cycle for the package item, including file creation and integration updates.
56
- *
57
- * Выполняет полный цикл инициализации элемента пакета, включая создание файлов и обновление интеграций.
58
- */
59
- make() {
60
- console.log('Package init in:', this.dir)
61
-
62
- ;[
63
- ...this.getSample(),
64
- ...this.getTemplates()
65
- ]
66
- .forEach((item) => {
67
- this.writeFile(
68
- this.getFileName(item.file),
69
- item.content
70
- )
71
-
72
- if (item.path.endsWith('library.ts')) {
73
- this.makeLibrary()
74
- .makePackage()
75
- .makeStorybook()
76
- }
77
- })
78
- }
79
-
80
- /**
81
- * Gets the original file name by replacing placeholders.
82
- *
83
- * Получает оригинальное имя файла, заменяя заполнители.
84
- * @param filePath file path with placeholders / путь к файлу с заполнителями
85
- */
86
- protected getFileName(filePath: string): string {
87
- return filePath.replace('_.gitignore.txt', '.gitignore')
88
- }
89
-
90
- /**
91
- * Gets sample files for the specified package type.
92
- *
93
- * Получает файлы-образцы для указанного типа пакета.
94
- */
95
- protected getSample(): PackageInitItemFile[] {
96
- return this.getFileByList([...DIR_SAMPLE, this.type])
97
- }
98
-
99
- /**
100
- * Gets template files if templates path is specified.
101
- *
102
- * Получает файлы шаблонов, если указан путь к шаблонам.
103
- */
104
- protected getTemplates(): PackageInitItemFile[] {
105
- if (isFilled(this.templates)) {
106
- return this.getFileByList([this.templates])
107
- }
108
-
109
- return []
110
- }
111
-
112
- /**
113
- * Creates a package file object with content from the specified path.
114
- *
115
- * Создает объект файла пакета с содержимым из указанного пути.
116
- * @param file file name / имя файла
117
- * @param path file path array / массив пути к файлу
118
- */
119
- protected getFile(
120
- file: string,
121
- path: string[]
122
- ): PackageInitItemFile {
123
- return {
124
- file: PropertiesFile.joinPath([...this.dir, file]),
125
- path: PropertiesFile.joinPath(path),
126
- content: String(PropertiesFile.readFileOnly(path))
127
- }
128
- }
129
-
130
- /**
131
- * Gets all files from directory and converts them to PackageInitItemFile objects.
132
- *
133
- * Получает все файлы из директории и преобразует их в объекты PackageInitItemFile.
134
- * @param dir directory path array / массив пути к директории
135
- */
136
- protected getFileByList(dir: string[]): PackageInitItemFile[] {
137
- const list = PropertiesFile.readDirRecursive(dir)
138
-
139
- const data: PackageInitItemFile[] = []
140
-
141
- list.forEach((item) => {
142
- data.push(this.getFile(item, [...dir, item]))
143
- })
144
-
145
- return data
146
- }
147
-
148
- /**
149
- * Gets normalized package name by replacing path separators.
150
- *
151
- * Получает нормализованное имя пакета, заменяя разделители путей.
152
- */
153
- protected getName(): string {
154
- return this.name.replace(requirePath.sep, '/')
155
- }
156
-
157
- /**
158
- * Gets package code by replacing path separators with hyphens.
159
- *
160
- * Получает код пакета, заменяя разделители путей на дефисы.
161
- */
162
- protected getCode(): string {
163
- return this.getName().replace('/', '-')
164
- }
165
-
166
- /**
167
- * Reads project name from package.json.
168
- *
169
- * Читает имя проекта из package.json.
170
- */
171
- protected getProjectName(): string {
172
- const name = this.getName()
173
- const packagePrefix = PropertiesConfig.getPackagePrefix()
174
-
175
- if (packagePrefix) {
176
- return `${packagePrefix}/${name}`
177
- }
178
-
179
- const mainName = String(this.readPackage()?.name)
180
- const code = mainName.split('/')?.[0] ?? mainName
181
-
182
- return `${code}/${name}`
183
- }
184
-
185
- /**
186
- * Reads package.json data or returns empty object.
187
- *
188
- * Читает данные package.json или возвращает пустой объект.
189
- */
190
- protected readPackage(): Record<string, any> {
191
- return PropertiesFile.readFile(UI_FILE_PACKAGE) ?? {}
192
- }
193
-
194
- /**
195
- * Writes file with content replacement and sets permissions.
196
- *
197
- * Записывает файл с заменой содержимого и устанавливает права доступа.
198
- * @param path file path / путь к файлу
199
- * @param content file content / содержимое файла
200
- */
201
- protected writeFile(path: string, content: string): void {
202
- const contentEdit = content
203
- .replace(/@packages\/library/g, this.getProjectName())
204
- .replace(/\[name]/g, this.getName())
205
-
206
- PropertiesFile.writeByPath(path, contentEdit)
207
- PropertiesFile.chmod(path)
208
- }
209
-
210
- /**
211
- * Generates a library file for the package.
212
- *
213
- * Генерирует файл библиотеки для пакета.
214
- */
215
- protected makeLibrary(): this {
216
- const name = this.getCode() + '.ts'
217
- const path: string[] = [...UI_DIRS_LIBRARY, name]
218
-
219
- if (
220
- PropertiesFile.is(UI_DIRS_LIBRARY)
221
- && !PropertiesFile.is(path)
222
- ) {
223
- console.log('Generate library...')
224
-
225
- PropertiesFile.writeByPath(path, `import '${this.getProjectName()}/style.css'
226
- export * from '${this.getProjectName()}'
227
- `
228
- )
229
- }
230
-
231
- return this
232
- }
233
-
234
- /**
235
- * Updates package.json to include the new package.
236
- *
237
- * Обновляет package.json для включения нового пакета.
238
- */
239
- protected makePackage(): this {
240
- let packageFile = PropertiesFile.readFileOnly(UI_FILE_PACKAGE)
241
- const name = this.getCode()
242
-
243
- if (
244
- packageFile
245
- && !packageFile.match(new RegExp(`["']${this.getProjectName()}["']`))
246
- ) {
247
- let edit = false
248
-
249
- if (
250
- packageFile.match(/["']dependencies["']/)
251
- ) {
252
- console.log('Update package.json: dependencies...')
253
-
254
- edit = true
255
- packageFile = packageFile.replace(
256
- /(["']dependencies["']:[^{]+{)/,
257
- `$1
258
- "${this.getProjectName()}": "workspace:*",`
259
- )
260
- }
261
-
262
- if (
263
- packageFile.match(/["']exports["']/)
264
- ) {
265
- console.log('Update package.json: exports...')
266
-
267
- edit = true
268
- packageFile = packageFile.replace(
269
- /(["']exports["']:[^{]+{)/,
270
- `$1
271
- "./${name}": {
272
- "import": "./dist/${name}.js",
273
- "types": "./dist/${name}.d.ts"
274
- },`
275
- )
276
- }
277
-
278
- if (
279
- packageFile.match(/["']files["']/)
280
- ) {
281
- console.log('Update package.json: files...')
282
-
283
- edit = true
284
- packageFile = packageFile.replace(
285
- /(["']files["']:[^[]+\[)/,
286
- `$1
287
- "packages/${name}/dist",
288
- "packages/${name}/package.json",`
289
- )
290
- }
291
-
292
- if (edit) {
293
- PropertiesFile.writeByPath(UI_FILE_PACKAGE, packageFile)
294
- }
295
- }
296
-
297
- return this
298
- }
299
-
300
- /**
301
- * Updates Storybook configuration to include the new package stories.
302
- *
303
- * Обновляет конфигурацию Storybook для включения историй нового пакета.
304
- */
305
- makeStorybook(): this {
306
- if (PropertiesFile.is(DIR_STORYBOOK)) {
307
- let storybook = PropertiesFile.readFileOnly(DIR_STORYBOOK)
308
- const name = this.getCode()
309
-
310
- if (
311
- storybook
312
- && !storybook.match(`/${name}/src/`)
313
- ) {
314
- console.log('Update storybook...')
315
-
316
- storybook = storybook.replace(
317
- /(stories: \[)/,
318
- `$1
319
- '../../${name}/src/**/*.mdx',
320
- '../../${name}/src/**/*.stories.@(js|jsx|mjs|ts|tsx)',`
321
- )
322
-
323
- PropertiesFile.writeByPath(DIR_STORYBOOK, storybook)
324
- }
325
- }
326
-
327
- return this
328
- }
329
- }
@@ -1,175 +0,0 @@
1
- // export:none
2
-
3
- import { replaceRecursive } from '@dxtmisha/functional-basic'
4
-
5
- import { PropertiesCache } from './PropertiesCache'
6
- import { PropertiesPath } from './PropertiesPath'
7
- import { PropertiesTool } from './PropertiesTool'
8
- import { PropertiesItems } from './PropertiesItems'
9
-
10
- import { PropertiesSettings } from './PropertiesSettings'
11
- import { PropertiesMain } from './PropertiesMain'
12
-
13
- import { PropertiesToReplace } from './to/PropertiesToReplace'
14
- import { PropertiesToPalette } from './to/PropertiesToPalette'
15
- import { PropertiesToLink } from './to/PropertiesToLink'
16
- import { PropertiesToSub } from './to/PropertiesToSub'
17
- import { PropertiesToClone } from './to/PropertiesToClone'
18
- import { PropertiesToDrag } from './to/PropertiesToDrag'
19
- import { PropertiesToRemove } from './to/PropertiesToRemove'
20
- import { PropertiesToVariable } from './to/PropertiesToVariable'
21
-
22
- import { PropertiesToSimilar } from './to/PropertiesToSimilar'
23
- import { PropertiesToMulti } from './to/PropertiesToMulti'
24
- import { PropertiesToStyle } from './to/PropertiesToStyle'
25
-
26
- import { PropertiesToFull } from './to/PropertiesToFull'
27
- import { PropertiesToVar } from './to/PropertiesToVar'
28
- import { PropertiesToProperty } from './to/PropertiesToProperty'
29
- import { PropertiesToComponent } from './to/PropertiesToComponent'
30
- import { PropertiesToClass } from './to/PropertiesToClass'
31
- import { PropertiesToState } from './to/PropertiesToState'
32
- import { PropertiesToSubclass } from './to/PropertiesToSubclass'
33
- import { PropertiesToRoot } from './to/PropertiesToRoot'
34
- import { PropertiesToMedia } from './to/PropertiesToMedia'
35
- import { PropertiesToAnimate } from './to/PropertiesToAnimate'
36
-
37
- import { PropertiesToSort } from './to/PropertiesToSort'
38
- import { PropertiesToNone } from './to/PropertiesToNone'
39
- import { PropertiesToDuplicate } from './to/PropertiesToDuplicate'
40
-
41
- import { PropertiesScss } from './PropertiesScss'
42
-
43
- import { type PropertyList } from '../../types/propertyTypes'
44
-
45
- const FILE_CACHE = 'properties'
46
-
47
- /**
48
- * Central orchestrator for the design system's token management.
49
- * Responsible for loading, merging, and executing a multi-stage transformation pipeline to convert raw property definitions into structured, resolved data for various output formats.
50
- *
51
- * Центральный оркестратор для управления токенами дизайн-системы.
52
- * Отвечает за загрузку, слияние и выполнение многоэтапного конвейера преобразований для конвертации необработанных определений свойств в структурированные, разрешенные данные для различных выходных форматов.
53
- */
54
- export class Properties {
55
- private readonly designs: string[]
56
- private readonly items: PropertiesItems
57
-
58
- /**
59
- * Constructor for Properties.
60
- * Initializes the list of designs and triggers the token processing pipeline.
61
- *
62
- * Конструктор для Properties.
63
- * Инициализирует список дизайнов и запускает конвейер обработки токенов.
64
- */
65
- constructor() {
66
- this.designs = PropertiesTool.getDesigns()
67
- this.items = new PropertiesItems(this.read())
68
- }
69
-
70
- /**
71
- * Returns the processed collection of design tokens.
72
- *
73
- * Возвращает обработанную коллекцию токенов дизайна.
74
- */
75
- get() {
76
- return this.items
77
- }
78
-
79
- /**
80
- * Getting structured data for use in an SCSS file.
81
- *
82
- * Получение структурированных данных для работы в SCSS файле.
83
- */
84
- getScss(): string {
85
- return PropertiesCache.get([], this.getPathName(), () => {
86
- const properties = new PropertiesScss(this.items).get()
87
-
88
- console.info('[Scss]', 'init')
89
-
90
- return properties
91
- }, 'scss')
92
- }
93
-
94
- /**
95
- * Processing of basic data.
96
- *
97
- * Обработка базовых данных.
98
- */
99
- protected read(): PropertyList {
100
- return PropertiesCache.get<PropertyList>([], this.getPathName(), () => {
101
- console.info('[Properties]', 'start')
102
-
103
- const properties = this.readFiles()
104
-
105
- this.toBasic(properties)
106
-
107
- new PropertiesToSimilar(properties).to()
108
- new PropertiesToMulti(properties).to()
109
- new PropertiesToStyle(properties).to()
110
-
111
- new PropertiesToFull(properties).to()
112
- new PropertiesToVar(properties).to()
113
- new PropertiesToProperty(properties).to()
114
- new PropertiesToComponent(properties).to()
115
- new PropertiesToClass(properties).to()
116
- new PropertiesToState(properties).to()
117
- new PropertiesToSubclass(properties).to()
118
- new PropertiesToRoot(properties).to()
119
- new PropertiesToMedia(properties).to()
120
- new PropertiesToAnimate(properties).to()
121
-
122
- new PropertiesToSort(properties).to()
123
- new PropertiesToNone(properties).to()
124
- new PropertiesToDuplicate(properties).to()
125
-
126
- console.info('[Properties]', 'init')
127
-
128
- return properties.get()
129
- })
130
- }
131
-
132
- /**
133
- * Returns the name of the cache file. It contains all processed properties.
134
- *
135
- * Возвращает название файла для кэша.
136
- * Это полный массив со всеми обработанными свойствами.
137
- */
138
- private getPathName(): string {
139
- return `${this.designs.join('-')}-${FILE_CACHE}`
140
- }
141
-
142
- /**
143
- * Reads the content from the file and merges all records into a single object.
144
- *
145
- * Читает содержимое из файла и объединяет все записи в один объект.
146
- */
147
- private readFiles(): PropertiesItems {
148
- const path = new PropertiesPath(this.designs)
149
- const settings = new PropertiesSettings(path).get()
150
-
151
- return new PropertiesItems(
152
- replaceRecursive(
153
- settings,
154
- new PropertiesMain(path).getBySettings(settings)
155
- )
156
- )
157
- }
158
-
159
- /**
160
- * Basic transformations.
161
- *
162
- * Базовые преобразования.
163
- * @param properties a class that contains all data/ класс со всеми данными
164
- */
165
- private toBasic(properties: PropertiesItems) {
166
- new PropertiesToReplace(properties).to()
167
- new PropertiesToPalette(properties).to()
168
- new PropertiesToLink(properties).to()
169
- new PropertiesToSub(properties).to()
170
- new PropertiesToClone(properties).to()
171
- new PropertiesToRemove(properties).to()
172
- new PropertiesToDrag(properties).to()
173
- new PropertiesToVariable(properties).to()
174
- }
175
- }