@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.
- package/CHANGELOG.md +77 -0
- package/ai-resources/componentMaterials.md +19 -0
- package/ai-resources/componentPrompt.md +381 -0
- package/ai-resources/componentWiki.md +13 -0
- package/bin/arguments.ts +168 -0
- package/bin/build-packages.ts +34 -3
- package/bin/build-publish-packages.ts +12 -2
- package/bin/design-component.ts +7 -1
- package/bin/design-constructor.ts +22 -3
- package/bin/design-figma.ts +26 -4
- package/bin/design-flags.ts +14 -2
- package/bin/design-library.ts +7 -1
- package/bin/design-package.ts +29 -5
- package/bin/design-prompt.ts +27 -3
- package/bin/design-screenshot.ts +12 -2
- package/bin/design-types-save.ts +32 -5
- package/bin/design-types.ts +32 -6
- package/bin/design-ui.ts +21 -3
- package/bin/design-wiki-storm.ts +11 -3
- package/dist/AiZAi-BiLAcdFy.js +232 -0
- package/dist/PropertiesConfig-BKZz_FWW.js +262 -0
- package/{src/config.ts → dist/config.d.ts} +185 -158
- package/dist/config.js +20 -0
- package/dist/figmaApiTypes-CArSsNW8.js +6 -0
- package/dist/library-ai.d.ts +482 -0
- package/dist/library-ai.js +2 -0
- package/dist/library-figma.d.ts +462 -0
- package/dist/library-figma.js +75 -0
- package/dist/library-ui.d.ts +586 -0
- package/dist/library-ui.js +3760 -0
- package/dist/library.d.ts +4910 -0
- package/dist/library.js +1568 -0
- package/dist/propertyTypes-C64u6rT3.js +236 -0
- package/package.json +76 -27
- package/bin/ai-doc.ts +0 -7
- package/bin/build-functional.ts +0 -5
- package/bin/design-component-wiki.ts +0 -11
- package/src/classes/Ai/AiAbstract.ts +0 -242
- package/src/classes/Ai/AiClaude.ts +0 -26
- package/src/classes/Ai/AiClaudeAgent.ts +0 -16
- package/src/classes/Ai/AiClaudeAgentLite.ts +0 -86
- package/src/classes/Ai/AiClaudeCli.ts +0 -24
- package/src/classes/Ai/AiClaudeCliLite.ts +0 -108
- package/src/classes/Ai/AiClaudeLite.ts +0 -112
- package/src/classes/Ai/AiDoc.ts +0 -81
- package/src/classes/Ai/AiDocItem.ts +0 -27
- package/src/classes/Ai/AiDocItemAbstract.ts +0 -209
- package/src/classes/Ai/AiDocItemClasses.ts +0 -27
- package/src/classes/Ai/AiDocItemComposables.ts +0 -20
- package/src/classes/Ai/AiDocType.ts +0 -45
- package/src/classes/Ai/AiGoogle.ts +0 -26
- package/src/classes/Ai/AiGoogleCli.ts +0 -24
- package/src/classes/Ai/AiGoogleCliLite.ts +0 -108
- package/src/classes/Ai/AiGoogleLite.ts +0 -78
- package/src/classes/Ai/AiOpenAi.ts +0 -26
- package/src/classes/Ai/AiOpenAiLite.ts +0 -107
- package/src/classes/Ai/AiZAi.ts +0 -17
- package/src/classes/Ai/AiZAiLite.ts +0 -77
- package/src/classes/Ai/ApiTmp.ts +0 -43
- package/src/classes/BrowserItem.ts +0 -408
- package/src/classes/Build/BuildFunctional.ts +0 -54
- package/src/classes/Build/BuildPackages.ts +0 -137
- package/src/classes/Build/BuildPublishPackages.ts +0 -105
- package/src/classes/BuildItem.ts +0 -187
- package/src/classes/Component/ComponentCreator.ts +0 -45
- package/src/classes/Component/ComponentItem.ts +0 -161
- package/src/classes/Component/ComponentWiki.ts +0 -258
- package/src/classes/Component/ComponentWikiFile.ts +0 -138
- package/src/classes/Design/DesignCommand.ts +0 -243
- package/src/classes/Design/DesignComponent.ts +0 -824
- package/src/classes/Design/DesignConstructor.ts +0 -222
- package/src/classes/Design/DesignConstructors.ts +0 -101
- package/src/classes/Design/DesignFigma.ts +0 -61
- package/src/classes/Design/DesignFlags.ts +0 -215
- package/src/classes/Design/DesignReplace.ts +0 -672
- package/src/classes/Design/DesignScreenshot.ts +0 -140
- package/src/classes/Design/DesignStructure.ts +0 -201
- package/src/classes/Design/DesignStructureClasses.ts +0 -105
- package/src/classes/Design/DesignStructureItemAbstract.ts +0 -52
- package/src/classes/Design/DesignStructureRead.ts +0 -349
- package/src/classes/Design/DesignStructureStyles.ts +0 -45
- package/src/classes/Design/DesignTypes.ts +0 -94
- package/src/classes/Design/DesignTypesAi.ts +0 -135
- package/src/classes/Design/DesignTypesDescription.ts +0 -121
- package/src/classes/Design/DesignTypesMake.ts +0 -460
- package/src/classes/Design/DesignTypesMcp.ts +0 -90
- package/src/classes/Design/DesignTypesPrompts.ts +0 -332
- package/src/classes/Design/DesignTypescript.ts +0 -244
- package/src/classes/Design/DesignUi.ts +0 -143
- package/src/classes/Design/DesignWiki.ts +0 -52
- package/src/classes/Design/DesignWikiStorm.ts +0 -95
- package/src/classes/Design/DesignWikiStormItem.ts +0 -316
- package/src/classes/FigmaApi.ts +0 -190
- package/src/classes/Git/GitRead.ts +0 -261
- package/src/classes/Library/LibraryAiMcpItem.ts +0 -67
- package/src/classes/Library/LibraryAiPrompt.ts +0 -268
- package/src/classes/Library/LibraryAiPromptItem.ts +0 -331
- package/src/classes/Library/LibraryAiWiki.ts +0 -127
- package/src/classes/Library/LibraryAiWikiItem.ts +0 -79
- package/src/classes/Library/LibraryExport.ts +0 -167
- package/src/classes/Library/LibraryFlags.ts +0 -62
- package/src/classes/Library/LibraryItems.ts +0 -138
- package/src/classes/Library/LibraryList.ts +0 -189
- package/src/classes/Library/LibraryMedia.ts +0 -139
- package/src/classes/Library/LibraryPlugin.ts +0 -73
- package/src/classes/Library/LibraryTypes.ts +0 -130
- package/src/classes/Package/PackageFile.ts +0 -154
- package/src/classes/Package/PackageInit.ts +0 -54
- package/src/classes/Package/PackageItem.ts +0 -329
- package/src/classes/Properties/Properties.ts +0 -175
- package/src/classes/Properties/PropertiesCache.ts +0 -248
- package/src/classes/Properties/PropertiesConfig.ts +0 -213
- package/src/classes/Properties/PropertiesConvector.ts +0 -52
- package/src/classes/Properties/PropertiesFile.ts +0 -522
- package/src/classes/Properties/PropertiesImport.ts +0 -182
- package/src/classes/Properties/PropertiesItems.ts +0 -605
- package/src/classes/Properties/PropertiesKeys.ts +0 -121
- package/src/classes/Properties/PropertiesMain.ts +0 -138
- package/src/classes/Properties/PropertiesPalette.ts +0 -149
- package/src/classes/Properties/PropertiesPath.ts +0 -193
- package/src/classes/Properties/PropertiesScss.ts +0 -261
- package/src/classes/Properties/PropertiesSeparator.ts +0 -118
- package/src/classes/Properties/PropertiesSettings.ts +0 -104
- package/src/classes/Properties/PropertiesStandard.ts +0 -180
- package/src/classes/Properties/PropertiesTool.ts +0 -80
- package/src/classes/Properties/PropertiesTypes.ts +0 -147
- package/src/classes/Properties/PropertiesValues.ts +0 -75
- package/src/classes/Properties/PropertiesWrap.ts +0 -187
- package/src/classes/Properties/convector/convectorColor.ts +0 -27
- package/src/classes/Properties/convector/convectorFontFamilies.ts +0 -18
- package/src/classes/Properties/convector/convectorShadow.ts +0 -61
- package/src/classes/Properties/convector/convectorTypography.ts +0 -19
- package/src/classes/Properties/to/PropertiesToAbstract.ts +0 -51
- package/src/classes/Properties/to/PropertiesToAnimate.ts +0 -59
- package/src/classes/Properties/to/PropertiesToClass.ts +0 -49
- package/src/classes/Properties/to/PropertiesToClone.ts +0 -114
- package/src/classes/Properties/to/PropertiesToComponent.ts +0 -52
- package/src/classes/Properties/to/PropertiesToDrag.ts +0 -231
- package/src/classes/Properties/to/PropertiesToDuplicate.ts +0 -165
- package/src/classes/Properties/to/PropertiesToFull.ts +0 -36
- package/src/classes/Properties/to/PropertiesToLink.ts +0 -259
- package/src/classes/Properties/to/PropertiesToMedia.ts +0 -187
- package/src/classes/Properties/to/PropertiesToMulti.ts +0 -101
- package/src/classes/Properties/to/PropertiesToNone.ts +0 -46
- package/src/classes/Properties/to/PropertiesToPalette.ts +0 -241
- package/src/classes/Properties/to/PropertiesToProperty.ts +0 -31
- package/src/classes/Properties/to/PropertiesToRemove.ts +0 -33
- package/src/classes/Properties/to/PropertiesToReplace.ts +0 -77
- package/src/classes/Properties/to/PropertiesToRoot.ts +0 -40
- package/src/classes/Properties/to/PropertiesToSimilar.ts +0 -128
- package/src/classes/Properties/to/PropertiesToSort.ts +0 -146
- package/src/classes/Properties/to/PropertiesToState.ts +0 -65
- package/src/classes/Properties/to/PropertiesToStyle.ts +0 -52
- package/src/classes/Properties/to/PropertiesToSub.ts +0 -95
- package/src/classes/Properties/to/PropertiesToSubclass.ts +0 -76
- package/src/classes/Properties/to/PropertiesToVar.ts +0 -194
- package/src/classes/Properties/to/PropertiesToVariable.ts +0 -176
- package/src/classes/Styles/Styles.ts +0 -247
- package/src/classes/Styles/StylesClasses.ts +0 -86
- package/src/classes/Styles/StylesProperties.ts +0 -197
- package/src/classes/Styles/StylesRoot.ts +0 -103
- package/src/classes/Styles/StylesTool.ts +0 -112
- package/src/classes/Styles/to/StylesToAbstract.ts +0 -93
- package/src/classes/Styles/to/StylesToAnimate.ts +0 -19
- package/src/classes/Styles/to/StylesToClass.ts +0 -25
- package/src/classes/Styles/to/StylesToClassFull.ts +0 -19
- package/src/classes/Styles/to/StylesToContainer.ts +0 -24
- package/src/classes/Styles/to/StylesToMedia.ts +0 -19
- package/src/classes/Styles/to/StylesToProperty.ts +0 -123
- package/src/classes/Styles/to/StylesToRoot.ts +0 -14
- package/src/classes/Styles/to/StylesToSelector.ts +0 -71
- package/src/classes/Styles/to/StylesToVar.ts +0 -105
- package/src/classes/Styles/to/StylesToVirtual.ts +0 -33
- package/src/composables/useAi.ts +0 -38
- package/src/demo/ai.ts +0 -10
- package/src/functions/getComponentPaths.ts +0 -13
- package/src/functions/getConfigAi.ts +0 -14
- package/src/functions/getConstructorProperties.ts +0 -54
- package/src/functions/getDirname.ts +0 -17
- package/src/functions/getNameDirByPaths.ts +0 -16
- package/src/functions/getPackageJson.ts +0 -19
- package/src/functions/hasNativeDirname.ts +0 -8
- package/src/functions/run.ts +0 -47
- package/src/functions/toPathStandardSep.ts +0 -14
- package/src/library-ai.ts +0 -10
- package/src/library.ts +0 -73
- package/src/media/ai/ai-doc-types.ts +0 -21
- package/src/media/properties/css.ts +0 -634
- package/src/media/properties/cssSelector.ts +0 -74
- package/src/media/properties/cssVirtual.ts +0 -12
- package/src/media/properties/listSort.ts +0 -113
- package/src/media/properties/style.ts +0 -81
- package/src/media/templates/component/DesignComponent.mdx +0 -30
- package/src/media/templates/component/DesignComponent.stories.ts +0 -34
- package/src/media/templates/component/DesignComponent.vue +0 -54
- package/src/media/templates/component/DesignComponentAiWiki.vue +0 -25
- package/src/media/templates/component/index.ts +0 -13
- package/src/media/templates/component/props.ts +0 -27
- package/src/media/templates/component/styleToken.scss +0 -17
- package/src/media/templates/component/wiki.ts +0 -13
- package/src/media/templates/component/wikiData.ts +0 -28
- package/src/media/templates/componentDoc/ComponentDoc.vue +0 -26
- package/src/media/templates/componentDoc/index.ts +0 -12
- package/src/media/templates/componentDoc/materials/README.md +0 -8
- package/src/media/templates/componentDoc/materials/prompt.md +0 -38
- package/src/media/templates/componentDoc/subcomponents/_.gitignore.txt +0 -0
- package/src/media/templates/componentDoc/types.ts +0 -15
- package/src/media/templates/componentDoc/wiki/ComponentDoc.mdx +0 -13
- package/src/media/templates/componentDoc/wiki/ComponentDoc.stories.ts +0 -24
- package/src/media/templates/componentDoc/wiki/prompt.md +0 -41
- package/src/media/templates/constructors/Constructors.ts +0 -33
- package/src/media/templates/constructors/ConstructorsDesign.tsx +0 -129
- package/src/media/templates/constructors/basicTypes.ts +0 -0
- package/src/media/templates/constructors/index.ts +0 -5
- package/src/media/templates/constructors/props.ts +0 -28
- package/src/media/templates/constructors/style.scss +0 -5
- package/src/media/templates/constructors/types.ts +0 -47
- package/src/media/templates/packages/figma/README.md +0 -1
- package/src/media/templates/packages/figma/_.gitignore.txt +0 -29
- package/src/media/templates/packages/figma/ai.sample.config.ts +0 -2
- package/src/media/templates/packages/figma/design.config.json +0 -3
- package/src/media/templates/packages/figma/index.html +0 -12
- package/src/media/templates/packages/figma/manifest.json +0 -25
- package/src/media/templates/packages/figma/package.json +0 -37
- package/src/media/templates/packages/figma/src/App.vue +0 -9
- package/src/media/templates/packages/figma/src/classes/_.gitignore.txt +0 -1
- package/src/media/templates/packages/figma/src/code.ts +0 -16
- package/src/media/templates/packages/figma/src/components/_.gitignore.txt +0 -1
- package/src/media/templates/packages/figma/src/composables/_.gitignore.txt +0 -1
- package/src/media/templates/packages/figma/src/config.ts +0 -0
- package/src/media/templates/packages/figma/src/functions/_.gitignore.txt +0 -1
- package/src/media/templates/packages/figma/src/library.ts +0 -0
- package/src/media/templates/packages/figma/src/main.ts +0 -4
- package/src/media/templates/packages/figma/src/media/_.gitignore.txt +0 -1
- package/src/media/templates/packages/figma/src/storybook/_.gitignore.txt +0 -1
- package/src/media/templates/packages/figma/src/types/_.gitignore.txt +0 -1
- package/src/media/templates/packages/figma/src/vite-env.d.ts +0 -1
- package/src/media/templates/packages/figma/tsconfig.app.json +0 -12
- package/src/media/templates/packages/figma/tsconfig.json +0 -7
- package/src/media/templates/packages/figma/tsconfig.node.json +0 -8
- package/src/media/templates/packages/figma/vite.config.ts +0 -7
- package/src/media/templates/packages/library/README.md +0 -1
- package/src/media/templates/packages/library/_.gitignore.txt +0 -27
- package/src/media/templates/packages/library/ai-description.md +0 -15
- package/src/media/templates/packages/library/design.config.json +0 -3
- package/src/media/templates/packages/library/index.html +0 -12
- package/src/media/templates/packages/library/materials/README.md +0 -8
- package/src/media/templates/packages/library/materials/prompt.md +0 -45
- package/src/media/templates/packages/library/package.json +0 -46
- package/src/media/templates/packages/library/src/App.vue +0 -8
- package/src/media/templates/packages/library/src/classes/_.gitignore.txt +0 -1
- package/src/media/templates/packages/library/src/components/_.gitignore.txt +0 -1
- package/src/media/templates/packages/library/src/composables/_.gitignore.txt +0 -1
- package/src/media/templates/packages/library/src/functions/_.gitignore.txt +0 -1
- package/src/media/templates/packages/library/src/library.ts +0 -0
- package/src/media/templates/packages/library/src/main.ts +0 -6
- package/src/media/templates/packages/library/src/style.scss +0 -0
- package/src/media/templates/packages/library/src/types/_.gitignore.txt +0 -1
- package/src/media/templates/packages/library/src/vite-env.d.ts +0 -1
- package/src/media/templates/packages/library/tsconfig.app.json +0 -11
- package/src/media/templates/packages/library/tsconfig.json +0 -7
- package/src/media/templates/packages/library/tsconfig.node.json +0 -7
- package/src/media/templates/packages/library/vite.config.ts +0 -14
- package/src/media/templates/packages/nitro/README.md +0 -1
- package/src/media/templates/packages/nitro/_.gitignore.txt +0 -28
- package/src/media/templates/packages/nitro/index.html +0 -2
- package/src/media/templates/packages/nitro/package.json +0 -25
- package/src/media/templates/packages/nitro/server/plugins/ui-plugin.ts +0 -7
- package/src/media/templates/packages/nitro/server/routes/api/hello.ts +0 -13
- package/src/media/templates/packages/nitro/src/App.vue +0 -10
- package/src/media/templates/packages/nitro/src/assets/_.gitignore.txt +0 -0
- package/src/media/templates/packages/nitro/src/components/_.gitignore.txt +0 -0
- package/src/media/templates/packages/nitro/src/composables/_.gitignore.txt +0 -0
- package/src/media/templates/packages/nitro/src/entry-client.ts +0 -13
- package/src/media/templates/packages/nitro/src/entry-server.ts +0 -29
- package/src/media/templates/packages/nitro/src/main.ts +0 -14
- package/src/media/templates/packages/nitro/src/pages/HomePage.vue +0 -8
- package/src/media/templates/packages/nitro/src/router.ts +0 -11
- package/src/media/templates/packages/nitro/src/style.scss +0 -0
- package/src/media/templates/packages/nitro/src/templates/main.html +0 -21
- package/src/media/templates/packages/nitro/src/vite-env.d.ts +0 -11
- package/src/media/templates/packages/nitro/tsconfig.app.json +0 -14
- package/src/media/templates/packages/nitro/tsconfig.json +0 -7
- package/src/media/templates/packages/nitro/tsconfig.node.json +0 -12
- package/src/media/templates/packages/nitro/vite.config.ts +0 -17
- package/src/media/templates/packages/project/README.md +0 -1
- package/src/media/templates/packages/project/_.gitignore.txt +0 -28
- package/src/media/templates/packages/project/design.config.json +0 -3
- package/src/media/templates/packages/project/index.html +0 -12
- package/src/media/templates/packages/project/materials/README.md +0 -8
- package/src/media/templates/packages/project/materials/prompt.md +0 -41
- package/src/media/templates/packages/project/package.json +0 -13
- package/src/media/templates/packages/project/public/_.gitignore.txt +0 -0
- package/src/media/templates/packages/project/src/App.vue +0 -12
- package/src/media/templates/packages/project/src/assets/_.gitignore.txt +0 -0
- package/src/media/templates/packages/project/src/components/_.gitignore.txt +0 -0
- package/src/media/templates/packages/project/src/composables/_.gitignore.txt +0 -0
- package/src/media/templates/packages/project/src/main.ts +0 -6
- package/src/media/templates/packages/project/src/style.scss +0 -0
- package/src/media/templates/packages/project/src/vite-env.d.ts +0 -1
- package/src/media/templates/packages/project/tsconfig.app.json +0 -11
- package/src/media/templates/packages/project/tsconfig.json +0 -7
- package/src/media/templates/packages/project/tsconfig.node.json +0 -7
- package/src/media/templates/packages/project/vite.config.ts +0 -7
- package/src/media/templates/prompts/aiCodeGlobalPrompt.en.md +0 -22
- package/src/media/templates/prompts/aiCodeGlobalPrompt.ru.md +0 -21
- package/src/media/templates/prompts/aiCodeVuePrompt.en.md +0 -17
- package/src/media/templates/prompts/aiCodeVuePrompt.ru.md +0 -17
- package/src/media/templates/prompts/aiDocClassPrompt.en.txt +0 -63
- package/src/media/templates/prompts/aiDocClassPrompt.ru.txt +0 -63
- package/src/media/templates/prompts/aiDocComposablePrompt.en.txt +0 -67
- package/src/media/templates/prompts/aiDocComposablePrompt.ru.txt +0 -67
- package/src/media/templates/prompts/aiDocFunctionPrompt.en.txt +0 -57
- package/src/media/templates/prompts/aiDocFunctionPrompt.ru.txt +0 -57
- package/src/media/templates/prompts/componentPrompt.en.txt +0 -182
- package/src/media/templates/prompts/componentPrompt.ru.txt +0 -182
- package/src/media/templates/prompts/demoClassEn.mdx +0 -111
- package/src/media/templates/prompts/demoClassRu.mdx +0 -111
- package/src/media/templates/prompts/demoComponentEn.mdx +0 -282
- package/src/media/templates/prompts/demoComponentRu.mdx +0 -282
- package/src/media/templates/prompts/demoComposableEn.mdx +0 -103
- package/src/media/templates/prompts/demoComposableRu.mdx +0 -103
- package/src/media/templates/prompts/demoDocEn.mdx +0 -30
- package/src/media/templates/prompts/demoDocRu.mdx +0 -30
- package/src/media/templates/viteComponentTemplateConfig.ts +0 -14
- package/src/types/aiTypes.ts +0 -19
- package/src/types/configTypes.ts +0 -69
- package/src/types/designTypes.ts +0 -167
- package/src/types/figmaApiTypes.ts +0 -337
- package/src/types/gitTypes.ts +0 -59
- package/src/types/libraryTypes.ts +0 -49
- package/src/types/propertyTypes.ts +0 -586
- package/src/types/screenshotTypes.ts +0 -55
- package/src/types/webTypes.ts +0 -134
- package/src/vite-env.d.ts +0 -1
package/src/classes/FigmaApi.ts
DELETED
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
FIGMA_API_URL,
|
|
3
|
-
FigmaApiEndpoint,
|
|
4
|
-
type FigmaFileImagesParams,
|
|
5
|
-
type FigmaFileImagesResult,
|
|
6
|
-
type FigmaFileNodesParams,
|
|
7
|
-
type FigmaFileNodesResult,
|
|
8
|
-
type FigmaFilesParams,
|
|
9
|
-
type FigmaFilesResult,
|
|
10
|
-
type FigmaFileStylesResult,
|
|
11
|
-
type FigmaStylesResult
|
|
12
|
-
} from '../types/figmaApiTypes'
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Class for interacting with the Figma REST API.
|
|
16
|
-
*
|
|
17
|
-
* Класс для взаимодействия с Figma REST API.
|
|
18
|
-
*/
|
|
19
|
-
export class FigmaApi {
|
|
20
|
-
constructor(
|
|
21
|
-
protected token: string,
|
|
22
|
-
protected fileKey: string,
|
|
23
|
-
protected nodeId?: string
|
|
24
|
-
) {
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Retrieves file content via the files endpoint.
|
|
29
|
-
*
|
|
30
|
-
* Получает содержимое файла через эндпоинт files.
|
|
31
|
-
* @param parameters query parameters / параметры запроса
|
|
32
|
-
* @returns file content or undefined / содержимое файла или undefined
|
|
33
|
-
*/
|
|
34
|
-
async files(parameters: FigmaFilesParams = {}): Promise<FigmaFilesResult | undefined> {
|
|
35
|
-
return await this.fetch(FigmaApiEndpoint.files, parameters)
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Retrieves specific nodes from the file via the fileNodes endpoint.
|
|
40
|
-
*
|
|
41
|
-
* Получает конкретные узлы из файла через эндпоинт fileNodes.
|
|
42
|
-
* @param parameters query parameters / параметры запроса
|
|
43
|
-
* @returns node data or undefined / данные узлов или undefined
|
|
44
|
-
*/
|
|
45
|
-
async fileNodes(parameters: FigmaFileNodesParams): Promise<FigmaFileNodesResult | undefined> {
|
|
46
|
-
return await this.fetch(FigmaApiEndpoint.fileNodes, parameters)
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Retrieves images for the file.
|
|
51
|
-
*
|
|
52
|
-
* Получает изображения для файла.
|
|
53
|
-
* @param parameters query parameters / параметры запроса
|
|
54
|
-
* @returns image data or undefined / данные изображения или undefined
|
|
55
|
-
*/
|
|
56
|
-
async fileImages(parameters: FigmaFileImagesParams): Promise<FigmaFileImagesResult | undefined> {
|
|
57
|
-
return await this.fetch(FigmaApiEndpoint.fileImages, parameters)
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Retrieves specific nodes from the file via the fileStyles endpoint.
|
|
62
|
-
*
|
|
63
|
-
* Получает конкретные узлы из файла через эндпоинт fileStyles.
|
|
64
|
-
* @returns file styles data or undefined / данные стилей файла или undefined
|
|
65
|
-
*/
|
|
66
|
-
async fileStyles(): Promise<FigmaFileStylesResult | undefined> {
|
|
67
|
-
return await this.fetch(FigmaApiEndpoint.fileStyles)
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Retrieves specific style by key via the styles endpoint.
|
|
72
|
-
*
|
|
73
|
-
* Получает конкретный стиль по ключу через эндпоинт styles.
|
|
74
|
-
* @param key the style key / ключ стиля
|
|
75
|
-
* @returns style data or undefined / данные стиля или undefined
|
|
76
|
-
*/
|
|
77
|
-
async styles(key: string): Promise<FigmaStylesResult | undefined> {
|
|
78
|
-
return await this.fetch(FigmaApiEndpoint.styles, undefined, key)
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Sets the API token.
|
|
83
|
-
*
|
|
84
|
-
* Устанавливает токен API.
|
|
85
|
-
* @param token the API token / токен API
|
|
86
|
-
* @returns this instance for chaining / этот экземпляр для цепочки вызовов
|
|
87
|
-
*/
|
|
88
|
-
setToken(token: string): this {
|
|
89
|
-
this.token = token
|
|
90
|
-
return this
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* Sets the file key.
|
|
95
|
-
*
|
|
96
|
-
* Устанавливает ключ файла.
|
|
97
|
-
* @param fileKey the file key / ключ файла
|
|
98
|
-
* @returns this instance for chaining / этот экземпляр для цепочки вызовов
|
|
99
|
-
*/
|
|
100
|
-
setFileKey(fileKey: string): this {
|
|
101
|
-
this.fileKey = fileKey
|
|
102
|
-
return this
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Sets the node ID.
|
|
107
|
-
*
|
|
108
|
-
* Устанавливает ID узла.
|
|
109
|
-
* @param nodeId the node ID (optional) / ID узла (необязательно)
|
|
110
|
-
* @returns this instance for chaining / этот экземпляр для цепочки вызовов
|
|
111
|
-
*/
|
|
112
|
-
setNodeId(nodeId?: string): this {
|
|
113
|
-
this.nodeId = nodeId
|
|
114
|
-
return this
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* Constructs the request URL for the Figma API.
|
|
119
|
-
*
|
|
120
|
-
* Конструирует URL-адрес запроса для Figma API.
|
|
121
|
-
* @param method the API endpoint method / метод конечной точки API
|
|
122
|
-
* @param parameters additional parameters for the request / дополнительные параметры для запроса
|
|
123
|
-
* @param key the key for specific endpoints (e.g., styles) / ключ для конкретных эндпоинтов (например, styles)
|
|
124
|
-
* @returns the constructed URL / сконструированный URL
|
|
125
|
-
*/
|
|
126
|
-
getUrl(
|
|
127
|
-
method: FigmaApiEndpoint,
|
|
128
|
-
parameters?: Record<string, any>,
|
|
129
|
-
key?: string
|
|
130
|
-
) {
|
|
131
|
-
const request = {}
|
|
132
|
-
const endpoint = method
|
|
133
|
-
.replace(':file_key', this.fileKey)
|
|
134
|
-
.replace(':key', key ?? '')
|
|
135
|
-
|
|
136
|
-
if (this.nodeId) {
|
|
137
|
-
Object.assign(request, { 'node-id': this.nodeId })
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
if (parameters) {
|
|
141
|
-
Object.assign(request, parameters)
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
console.log('request', request, Object.keys(request).length)
|
|
145
|
-
|
|
146
|
-
const queryParams = Object.keys(request).length > 0
|
|
147
|
-
? `?${new URLSearchParams(request).toString()}`
|
|
148
|
-
: ''
|
|
149
|
-
|
|
150
|
-
return `${FIGMA_API_URL}${endpoint}${queryParams}`
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* Generic fetch method for making API requests.
|
|
155
|
-
*
|
|
156
|
-
* Общий метод fetch для выполнения запросов к API.
|
|
157
|
-
* @param method the API endpoint method / метод конечной точки API
|
|
158
|
-
* @param parameters parameters for the request / параметры запроса
|
|
159
|
-
* @param key the key for specific endpoints (e.g., styles) / ключ для конкретных эндпоинтов (например, styles)
|
|
160
|
-
* @returns the response data or undefined / данные ответа или undefined
|
|
161
|
-
*/
|
|
162
|
-
protected async fetch(
|
|
163
|
-
method: FigmaApiEndpoint,
|
|
164
|
-
parameters: Record<string, any> = {},
|
|
165
|
-
key?: string
|
|
166
|
-
): Promise<any> {
|
|
167
|
-
const url = this.getUrl(method, parameters, key)
|
|
168
|
-
const headers = {
|
|
169
|
-
'X-Figma-Token': this.token,
|
|
170
|
-
'Content-Type': 'application/json'
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
console.log('url', url)
|
|
174
|
-
|
|
175
|
-
const response = await fetch(url, {
|
|
176
|
-
method: 'GET',
|
|
177
|
-
headers
|
|
178
|
-
})
|
|
179
|
-
|
|
180
|
-
console.log('response', response.ok)
|
|
181
|
-
|
|
182
|
-
if (response.ok) {
|
|
183
|
-
return response.json()
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
console.error(`Error fetching Figma API: ${response.status} ${response.statusText}`)
|
|
187
|
-
|
|
188
|
-
return undefined
|
|
189
|
-
}
|
|
190
|
-
}
|
|
@@ -1,261 +0,0 @@
|
|
|
1
|
-
import { execSync } from 'node:child_process'
|
|
2
|
-
import { Datetime, forEach, removeCommonPrefix } from '@dxtmisha/functional-basic'
|
|
3
|
-
|
|
4
|
-
import { PropertiesFile } from '../Properties/PropertiesFile'
|
|
5
|
-
|
|
6
|
-
import { type GitFileList, GitStatus } from '../../types/gitTypes'
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Class for reading information from Git repository.
|
|
10
|
-
*
|
|
11
|
-
* Класс для чтения информации из Git репозитория.
|
|
12
|
-
*/
|
|
13
|
-
export class GitRead {
|
|
14
|
-
/**
|
|
15
|
-
* Gets list of files with their metadata.
|
|
16
|
-
*
|
|
17
|
-
* Получает список файлов с их метаданными.
|
|
18
|
-
* @param filter - file filter function / функция фильтрации файлов
|
|
19
|
-
*/
|
|
20
|
-
static getList(
|
|
21
|
-
filter?: (file: string) => boolean
|
|
22
|
-
): GitFileList {
|
|
23
|
-
const dir = this.getDirPrefix()
|
|
24
|
-
|
|
25
|
-
return forEach(
|
|
26
|
-
this.getFilesPath(),
|
|
27
|
-
(file) => {
|
|
28
|
-
if (
|
|
29
|
-
filter
|
|
30
|
-
&& !filter(file)
|
|
31
|
-
) {
|
|
32
|
-
return
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const date = this.getDate(this.getFileDate(file))
|
|
36
|
-
|
|
37
|
-
return {
|
|
38
|
-
path: file,
|
|
39
|
-
pathByOS: this.splitPath(file),
|
|
40
|
-
pathFull: `${dir}${file}`,
|
|
41
|
-
date,
|
|
42
|
-
status: undefined
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
) as GitFileList
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Gets list of files in porcelain format with their metadata.
|
|
50
|
-
*
|
|
51
|
-
* Получает список файлов в формате porcelain с их метаданными.
|
|
52
|
-
* @param filter - file filter function / функция фильтрации файлов
|
|
53
|
-
*/
|
|
54
|
-
static getListPorcelain(
|
|
55
|
-
filter?: (file: string) => boolean
|
|
56
|
-
): GitFileList {
|
|
57
|
-
const date = this.getDate()
|
|
58
|
-
const prefix = this.getDirPrefix()
|
|
59
|
-
|
|
60
|
-
return forEach(
|
|
61
|
-
this.getFilesPorcelain(),
|
|
62
|
-
(file) => {
|
|
63
|
-
const data = file
|
|
64
|
-
.replace(/ {2,}/, ' ')
|
|
65
|
-
.split(' ', 2)
|
|
66
|
-
|
|
67
|
-
const status = data[0] as GitStatus
|
|
68
|
-
const path: string = data[1] ?? ''
|
|
69
|
-
|
|
70
|
-
if (
|
|
71
|
-
filter
|
|
72
|
-
&& !filter(path)
|
|
73
|
-
) {
|
|
74
|
-
return
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
const pathCommonPrefix = removeCommonPrefix(path, prefix)
|
|
78
|
-
const pathByOS = this.splitPath(pathCommonPrefix)
|
|
79
|
-
const fileDate = PropertiesFile.getTime(pathByOS)
|
|
80
|
-
|
|
81
|
-
return {
|
|
82
|
-
path: pathCommonPrefix,
|
|
83
|
-
pathByOS,
|
|
84
|
-
pathFull: path,
|
|
85
|
-
date: fileDate ?? date,
|
|
86
|
-
status
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
) as GitFileList
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Gets unique list of files from both standard and porcelain lists.
|
|
94
|
-
*
|
|
95
|
-
* Получает уникальный список файлов из обоих стандартных и porcelain списков.
|
|
96
|
-
* @param filter - file filter function / функция фильтрации файлов
|
|
97
|
-
*/
|
|
98
|
-
static getListUnique(
|
|
99
|
-
filter: (file: string) => boolean
|
|
100
|
-
): GitFileList {
|
|
101
|
-
return this.mergeUnique(
|
|
102
|
-
this.getListPorcelain(filter),
|
|
103
|
-
this.getList(filter)
|
|
104
|
-
)
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Gets list of files by directory with .ts extension, excluding test files.
|
|
109
|
-
*
|
|
110
|
-
* Получает список файлов по директории с расширением .ts, исключая тестовые файлы.
|
|
111
|
-
* @param directory - directory path or regex / путь к директории или регулярное выражение
|
|
112
|
-
*/
|
|
113
|
-
static getListByDirectory(
|
|
114
|
-
directory: string | RegExp
|
|
115
|
-
) {
|
|
116
|
-
return this.getListUnique(
|
|
117
|
-
(file: string) => Boolean(
|
|
118
|
-
file.match(directory)
|
|
119
|
-
&& file.endsWith('.ts')
|
|
120
|
-
&& !file.endsWith('.test.ts')
|
|
121
|
-
)
|
|
122
|
-
)
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* Gets list of class files (*.ts in /classes/ directory).
|
|
127
|
-
*
|
|
128
|
-
* Получает список файлов классов (*.ts в директории /classes/).
|
|
129
|
-
*/
|
|
130
|
-
static getClassesList(): GitFileList {
|
|
131
|
-
return this.getListByDirectory('/classes/')
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Gets list of class files (*.ts in /classes/ directory).
|
|
136
|
-
*
|
|
137
|
-
* Получает список файлов классов (*.ts в директории /classes/).
|
|
138
|
-
*/
|
|
139
|
-
static getFunctionsList(): GitFileList {
|
|
140
|
-
return this.getListByDirectory('/functions/')
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* Gets list of all file paths in repository.
|
|
145
|
-
*
|
|
146
|
-
* Получает список всех путей файлов в репозитории.
|
|
147
|
-
*/
|
|
148
|
-
static getFilesPath(): string[] {
|
|
149
|
-
return forEach(
|
|
150
|
-
this.exec('git ls-tree -r --name-only HEAD').split('\n'),
|
|
151
|
-
file => file.trim()
|
|
152
|
-
)
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* Gets list of files in porcelain format.
|
|
157
|
-
*
|
|
158
|
-
* Получает список файлов в формате porcelain.
|
|
159
|
-
*/
|
|
160
|
-
static getFilesPorcelain(): string[] {
|
|
161
|
-
return forEach(
|
|
162
|
-
this.exec('git status --porcelain').split('\n'),
|
|
163
|
-
file => file.trim()
|
|
164
|
-
)
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
* Gets the date of the last commit for a file.
|
|
169
|
-
*
|
|
170
|
-
* Получает дату последнего коммита для файла.
|
|
171
|
-
* @param filePath - path to file / путь к файлу
|
|
172
|
-
*/
|
|
173
|
-
static getFileDate(filePath: string): string {
|
|
174
|
-
return this.exec(`git log -1 --format="%ci" -- "${filePath}"`)
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
/**
|
|
178
|
-
* Gets the directory prefix of the current Git repository.
|
|
179
|
-
*
|
|
180
|
-
* Получает префикс директории текущего Git репозитория.
|
|
181
|
-
*/
|
|
182
|
-
static getDirPrefix(): string {
|
|
183
|
-
return this.exec('git rev-parse --show-prefix')
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
/**
|
|
187
|
-
* Formats a date string to standard full format.
|
|
188
|
-
*
|
|
189
|
-
* Форматирует строку даты в стандартный полный формат.
|
|
190
|
-
* @param date - date string / строка даты
|
|
191
|
-
*/
|
|
192
|
-
static getDate(date?: string): string {
|
|
193
|
-
return new Datetime(date)
|
|
194
|
-
.setType('full')
|
|
195
|
-
.standard()
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
/**
|
|
199
|
-
* Filters a list of Git files by the current directory prefix.
|
|
200
|
-
*
|
|
201
|
-
* Фильтрует список файлов Git по префиксу текущей директории.
|
|
202
|
-
* @param list - list of Git files / список файлов Git
|
|
203
|
-
*/
|
|
204
|
-
static filterByDirectory(
|
|
205
|
-
list: GitFileList
|
|
206
|
-
): GitFileList {
|
|
207
|
-
const dir = this.getDirPrefix()
|
|
208
|
-
|
|
209
|
-
return list.filter(item => item.pathFull.startsWith(dir))
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
/**
|
|
213
|
-
* Merges two lists of Git files, ensuring uniqueness by file path.
|
|
214
|
-
*
|
|
215
|
-
* Объединяет два списка файлов Git, обеспечивая уникальность по пути файла.
|
|
216
|
-
* @param listA - first list to merge / первый список для объединения
|
|
217
|
-
* @param listB - lists to merge / списки для объединения
|
|
218
|
-
*/
|
|
219
|
-
static mergeUnique(
|
|
220
|
-
listA: GitFileList,
|
|
221
|
-
listB: GitFileList
|
|
222
|
-
): GitFileList {
|
|
223
|
-
const list: GitFileList = [...listA]
|
|
224
|
-
|
|
225
|
-
forEach(
|
|
226
|
-
listB,
|
|
227
|
-
(itemB) => {
|
|
228
|
-
const exists = list.find(
|
|
229
|
-
itemA => itemA.pathFull === itemB.pathFull
|
|
230
|
-
)
|
|
231
|
-
|
|
232
|
-
if (!exists) {
|
|
233
|
-
list.push(itemB)
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
)
|
|
237
|
-
|
|
238
|
-
return list
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
/**
|
|
242
|
-
* Splits a file path into its components.
|
|
243
|
-
*
|
|
244
|
-
* Разбивает путь файла на его компоненты.
|
|
245
|
-
* @param path - file path / путь к файлу
|
|
246
|
-
*/
|
|
247
|
-
static splitPath(path: string): string[] {
|
|
248
|
-
return path.split('/').filter(part => part.length > 0)
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
/**
|
|
252
|
-
* Executes Git command and returns result.
|
|
253
|
-
*
|
|
254
|
-
* Выполняет Git команду и возвращает результат.
|
|
255
|
-
* @param command - command to execute / команда для выполнения
|
|
256
|
-
* @protected
|
|
257
|
-
*/
|
|
258
|
-
protected static exec(command: string): string {
|
|
259
|
-
return execSync(command, { encoding: 'utf8' }).trim()
|
|
260
|
-
}
|
|
261
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { PropertiesFile } from '../Properties/PropertiesFile'
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
UI_FILE_AI_MCP
|
|
5
|
-
} from '../../config'
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Class representing an MCP item in the AI prompt generation process.
|
|
9
|
-
* Handles reading `ai-mcp-resources.json` configuration files for a package directory.
|
|
10
|
-
*
|
|
11
|
-
* Класс, представляющий элемент MCP в процессе создания промпта для ИИ.
|
|
12
|
-
* Управляет чтением конфигурационных файлов `ai-mcp-resources.json` для директории пакета.
|
|
13
|
-
*/
|
|
14
|
-
export class LibraryAiMcpItem {
|
|
15
|
-
/**
|
|
16
|
-
* Constructor for LibraryAiMcpItem.
|
|
17
|
-
*
|
|
18
|
-
* Конструктор для LibraryAiMcpItem.
|
|
19
|
-
* @param dir Path segments to the directory / Сегменты пути к директории
|
|
20
|
-
*/
|
|
21
|
-
constructor(
|
|
22
|
-
protected readonly dir: string[] = []
|
|
23
|
-
) { }
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Checks if the ai-mcp-resources.json file exists in the directory.
|
|
27
|
-
*
|
|
28
|
-
* Проверяет, существует ли файл ai-mcp-resources.json в директории.
|
|
29
|
-
* @returns true if ai-mcp-resources.json file exists / true, если файл ai-mcp-resources.json существует
|
|
30
|
-
*/
|
|
31
|
-
isMcp(): boolean {
|
|
32
|
-
return PropertiesFile.is(this.getPath(UI_FILE_AI_MCP))
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Reads and returns the list of MCP resource definitions from ai-mcp-resources.json.
|
|
37
|
-
*
|
|
38
|
-
* Читает и возвращает список определений ресурсов MCP из ai-mcp-resources.json.
|
|
39
|
-
* @returns list of MCP resource items or undefined / список элементов ресурсов MCP или undefined
|
|
40
|
-
*/
|
|
41
|
-
make(): Record<string, any>[] | undefined {
|
|
42
|
-
if (this.isMcp()) {
|
|
43
|
-
const data = PropertiesFile.readFile<Record<string, any>[]>(this.getPath(UI_FILE_AI_MCP))
|
|
44
|
-
|
|
45
|
-
if (
|
|
46
|
-
Array.isArray(data)
|
|
47
|
-
&& data.length > 0
|
|
48
|
-
) {
|
|
49
|
-
return data
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return undefined
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Constructs a full path for a file within the item's directory.
|
|
58
|
-
*
|
|
59
|
-
* Создает полный путь к файлу внутри директории элемента.
|
|
60
|
-
* @param dirFile File name / Имя файла
|
|
61
|
-
* @returns path segments / сегменты пути
|
|
62
|
-
* @protected
|
|
63
|
-
*/
|
|
64
|
-
protected getPath(dirFile: string): string[] {
|
|
65
|
-
return [...this.dir, dirFile]
|
|
66
|
-
}
|
|
67
|
-
}
|