svgfusion-vscode 1.10.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 ADDED
@@ -0,0 +1,252 @@
1
+ # [1.10.0](https://github.com/lolvOid/svgfusion/compare/svgfusion-vscode@1.9.2...svgfusion-vscode@1.10.0) (2025-12-09)
2
+
3
+
4
+ ### Features
5
+
6
+ * for update package dependencies to use workspace references ([4145736](https://github.com/lolvOid/svgfusion/commit/414573657f7ce884708467e38801bf532c9dbfce))
7
+ * add display names to memoized components in snapshots ([5ce33a9](https://github.com/lolvOid/svgfusion/commit/5ce33a9b6da7e130a16cb537808dd2406d06c531))
8
+
9
+ ## [1.9.2](https://github.com/lolvOid/svgfusion/compare/svgfusion-vscode@1.9.1...svgfusion-vscode@1.9.2) (2025-12-01)
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * **svgfusion:** update svgfusion-react dependency to workspace references ([d82f33c](https://github.com/lolvOid/svgfusion/commit/d82f33c1a599e71b28306e94b0f5658c42a39b46))
15
+
16
+ ## [1.9.1](https://github.com/lolvOid/svgfusion/compare/svgfusion-vscode@1.9.0...svgfusion-vscode@1.9.1) (2025-12-01)
17
+
18
+
19
+ ### Bug Fixes
20
+
21
+ * **svgfusion:** update package dependencies and enhance Playground options ([0b4afad](https://github.com/lolvOid/svgfusion/commit/0b4afad7b6683388f4b5c186dd4b782f9a3c5849))
22
+
23
+ # [1.9.0](https://github.com/lolvOid/svgfusion/compare/svgfusion-vscode@1.8.0...svgfusion-vscode@1.9.0) (2025-08-14)
24
+
25
+
26
+ ### Features
27
+
28
+ * **svgfusion:** update dependencies to use workspace references and add filter removal feature ([882e9b9](https://github.com/lolvOid/svgfusion/commit/882e9b9877ee26ba863e5874d4b60125a37e0c24))
29
+
30
+ # [1.8.0](https://github.com/lolvOid/svgfusion/compare/svgfusion-vscode@1.7.0...svgfusion-vscode@1.8.0) (2025-08-13)
31
+
32
+
33
+ ### Bug Fixes
34
+
35
+ * **svgfusion:** update icon component size handling to default to '24' when not specified ([befd9bd](https://github.com/lolvOid/svgfusion/commit/befd9bdc4684e2adf9a896a9a79fafd87fd1bea4))
36
+
37
+
38
+ ### Features
39
+
40
+ * **svgfusion:** update package dependencies to use workspace references and enhance SVG parsing capabilities ([8864563](https://github.com/lolvOid/svgfusion/commit/8864563a8cf2ea6dd5233ce57fcb7d0f2049e1e0))
41
+
42
+ # [1.7.0](https://github.com/lolvOid/svgfusion/compare/svgfusion-vscode@1.6.3...svgfusion-vscode@1.7.0) (2025-07-20)
43
+
44
+
45
+ ### Features
46
+
47
+ * update README and documentation for improved clarity and usage examples ([8f4e026](https://github.com/lolvOid/svgfusion/commit/8f4e026dfc42140fde684862274a9ab66920a12f))
48
+
49
+ ## [1.6.3](https://github.com/lolvOid/svgfusion/compare/svgfusion-vscode@1.6.2...svgfusion-vscode@1.6.3) (2025-07-20)
50
+
51
+
52
+ ### Bug Fixes
53
+
54
+ * **svgfusion:** update dependencies to latest versions ([d44d0de](https://github.com/lolvOid/svgfusion/commit/d44d0de5491f8475fe9f49fe270216877a402074))
55
+
56
+ ## [1.6.2](https://github.com/lolvOid/svgfusion/compare/svgfusion-vscode@1.6.1...svgfusion-vscode@1.6.2) (2025-07-20)
57
+
58
+
59
+ ### Bug Fixes
60
+
61
+ * **ci:** adjust release sequence and sleep durations for better stability ([a0ce760](https://github.com/lolvOid/svgfusion/commit/a0ce7605f0a26288852592b4a67fb017d5f78358))
62
+ * update package dependencies to use workspace references ([31acbc3](https://github.com/lolvOid/svgfusion/commit/31acbc37214d3e97550b21beb274b116793610ae))
63
+ * update package versions in pnpm-lock.yaml and add banner to tsup.config.ts ([67fedb2](https://github.com/lolvOid/svgfusion/commit/67fedb2eb512213aebd527118c0334b3a2dbb785))
64
+
65
+ ## [1.6.1](https://github.com/lolvOid/svgfusion/compare/svgfusion-vscode@1.6.0...svgfusion-vscode@1.6.1) (2025-07-20)
66
+
67
+
68
+ ### Bug Fixes
69
+
70
+ * update package dependencies to use workspace references and adjust CI sleep durations ([31cc4e1](https://github.com/lolvOid/svgfusion/commit/31cc4e12997066fac8a196fcff97558407a76f9b))
71
+
72
+ # [1.6.0](https://github.com/lolvOid/svgfusion/compare/svgfusion-vscode@1.5.0...svgfusion-vscode@1.6.0) (2025-07-20)
73
+
74
+
75
+ ### Bug Fixes
76
+
77
+ * comment out build and release steps in CI workflow ([5ffa291](https://github.com/lolvOid/svgfusion/commit/5ffa2914a39f0a4d0543e0990dc8d307251037a3))
78
+ * improve package directory resolution in zip-asset script ([7604f85](https://github.com/lolvOid/svgfusion/commit/7604f85edc3df26d1157276cfc8336644e675417))
79
+ * pnpm packaege build steps ([fb6e1e8](https://github.com/lolvOid/svgfusion/commit/fb6e1e8e1f74f0ce208beb2cb53fcae61a3317f6))
80
+ * remove zip creation steps from CI workflow ([8b2bf6d](https://github.com/lolvOid/svgfusion/commit/8b2bf6db178bd5d888e62286d250bac5fa5e8c48))
81
+ * uncomment build and release steps in CI workflow ([37abc51](https://github.com/lolvOid/svgfusion/commit/37abc517fabccc871b348e3820c9290481ffad36))
82
+ * update path resolution for scripts in release configuration ([2136879](https://github.com/lolvOid/svgfusion/commit/2136879cae3cc04e9a00f42ca586f2363df9d797))
83
+ * update workspace dependency specifications and improve package handling in scripts ([c5f814c](https://github.com/lolvOid/svgfusion/commit/c5f814c9ec8dab66fbb33969c5a50ba146b2c729))
84
+
85
+
86
+ ### Features
87
+
88
+ * add restore workspace dependencies script and update package versions ([b4118ba](https://github.com/lolvOid/svgfusion/commit/b4118baf216fd52ea290d64a435b47c716d511b7))
89
+ * add zip-asset script for packaging project distributions ([5041b0e](https://github.com/lolvOid/svgfusion/commit/5041b0e8b1754f7717c9b2d9475a6b719a49f958))
90
+
91
+ # [1.5.0](https://github.com/lolvOid/svgfusion/compare/svgfusion-vscode@1.4.0...svgfusion-vscode@1.5.0) (2025-07-19)
92
+
93
+
94
+ ### Features
95
+
96
+ * update workspace dependency specifiers to use '*' for all packages ([e2ede29](https://github.com/lolvOid/svgfusion/commit/e2ede290e45397d58f1eaabd3400b5faf293be2b))
97
+
98
+ # [1.4.0](https://github.com/lolvOid/svgfusion/compare/svgfusion-vscode@1.3.0...svgfusion-vscode@1.4.0) (2025-07-19)
99
+
100
+
101
+ ### Features
102
+
103
+ * add release configuration for svgfusion-core, svgfusion-react, and svgfusion-vue with dual registry support ([3c7aab3](https://github.com/lolvOid/svgfusion/commit/3c7aab3ea2028aa6795b73adbbeb615558663567))
104
+ * update packages ([734b4b0](https://github.com/lolvOid/svgfusion/commit/734b4b0c66703402967326ba5a1ba8ffb556a7c4))
105
+
106
+ # [1.3.0](https://github.com/lolvOid/svgfusion/compare/svgfusion-vscode@1.2.0...svgfusion-vscode@1.3.0) (2025-07-19)
107
+
108
+
109
+ ### Features
110
+
111
+ * add semantic-release and related plugins to package.json for svgfusion packages ([09147a1](https://github.com/lolvOid/svgfusion/commit/09147a1ff83d23bcfb375f3a55375f16856fb3bc))
112
+ * add zip creation steps for svgfusion-react, svgfusion-vue, svgfusion-utils, and svgfusion-core distributions ([3dfa935](https://github.com/lolvOid/svgfusion/commit/3dfa93558424c45f928a367e1adb472f5b59aea9))
113
+ * **svgfusion-cmd:** implement CLI for converting SVG files to React/Vue components with TypeScript support ([5996f24](https://github.com/lolvOid/svgfusion/commit/5996f24ea547580bbab0a0638cc28f449d5eebc5))
114
+ * update release steps and package dependencies to use workspace versioning ([cd1edd9](https://github.com/lolvOid/svgfusion/commit/cd1edd994325eccde34e464e2f5bebc0cbc225ac))
115
+
116
+ # [1.2.0](https://github.com/lolvOid/svgfusion/compare/svgfusion-vscode@1.1.0...svgfusion-vscode@1.2.0) (2025-07-19)
117
+
118
+
119
+ ### Features
120
+
121
+ * update workspace dependency specifications to use caret (^) for versioning ([9aa74a9](https://github.com/lolvOid/svgfusion/commit/9aa74a916f1854709ec58e5507f87b7698e3bc0b))
122
+
123
+ # [1.1.0](https://github.com/lolvOid/svgfusion/compare/svgfusion-vscode@1.0.1...svgfusion-vscode@1.1.0) (2025-07-19)
124
+
125
+
126
+ ### Features
127
+
128
+ * **svgfusion-vscode:** implement batch conversion options and update playground UI ([abbb4ce](https://github.com/lolvOid/svgfusion/commit/abbb4ce336a81732d44588b8a20700109a761258))
129
+
130
+ # 1.0.0 (2025-07-19)
131
+
132
+
133
+ ### Bug Fixes
134
+
135
+ * add overrides for test files in ESLint configuration ([d01ffa5](https://github.com/lolvOid/svgfusion/commit/d01ffa50aa1de4da1d4def4fe45417fa1d110d13))
136
+ * change export syntax from ES6 to CommonJS in release.config.js ([54b216a](https://github.com/lolvOid/svgfusion/commit/54b216a8fc8725151d9c0745b16ee0f8119531f1))
137
+ * enhance SVG input handling to support both files and directories" ([a0e7000](https://github.com/lolvOid/svgfusion/commit/a0e7000c2b4d6f1f18c215173dd1eb1a4051eb23))
138
+ * improve postinstall script to check for docs directory before installation ([2d08dfb](https://github.com/lolvOid/svgfusion/commit/2d08dfb8b9f17cf2266ae599ffb176d4e4bf0d5f))
139
+ * migrate tests from Vitest to Jest and update tsconfig types ([27929a2](https://github.com/lolvOid/svgfusion/commit/27929a2600205851fcb4fd3984ee50166fe8297a))
140
+ * preserve SVG tag case in parser and add @types/jsdom ([8a51078](https://github.com/lolvOid/svgfusion/commit/8a510787fb1d461b2cef36081d4d43c50932b850))
141
+ * remove --frozen-lockfile option from pnpm install commands ([cdbbb16](https://github.com/lolvOid/svgfusion/commit/cdbbb1663755b77e275ae10fbf5f1972d4fa1f0b))
142
+ * remove unnecessary defineOptions call in Vue component snapshots ([b13e95c](https://github.com/lolvOid/svgfusion/commit/b13e95c70dd4ec37d53e0752dd085390eefbbd1f))
143
+ * reorganize CI workflow to build and upload documentation artifacts after release ([315347b](https://github.com/lolvOid/svgfusion/commit/315347b34d3443cc9605cd6ad12dd0d37e9e80d0))
144
+ * Set default isFixedStrokeWidth and update vectorEffect ([5e27e82](https://github.com/lolvOid/svgfusion/commit/5e27e827da8bfe4f10fbdb24346fe62016ff4f32))
145
+ * simplify semantic release branches configuration and clean up plugin options ([6ae59c7](https://github.com/lolvOid/svgfusion/commit/6ae59c7cd262996acfe24bfaec36121a0610aade))
146
+ * update build commands in netlify.toml to use pnpm for consistency ([1d9e87e](https://github.com/lolvOid/svgfusion/commit/1d9e87e04309534bcf6e4b8fd82bf38c5227b32e))
147
+ * update CI workflow to allow all branches and remove unnecessary build steps ([c30672b](https://github.com/lolvOid/svgfusion/commit/c30672b2d2a71b16a4a9c23c276419eed6f32a84))
148
+ * update CI workflow to use --no-frozen-lockfile for dependency installation ([f1c8a9c](https://github.com/lolvOid/svgfusion/commit/f1c8a9c3222425b5676ecb10e4ee430b2b79a1b1))
149
+ * update CI/CD workflow permissions and refine branch triggers ([#3](https://github.com/lolvOid/svgfusion/issues/3)) ([95a59f3](https://github.com/lolvOid/svgfusion/commit/95a59f34ca7a91a08c26dc95bb281291039c9bbe))
150
+ * update CLI image reference in README and CLI usage documentation ([83225ce](https://github.com/lolvOid/svgfusion/commit/83225ce877d4fb73475b9868469b1502cbe96789))
151
+ * Update component name formatting to follow Microsoft .NET guidelines for acronyms and casing ([9de11d1](https://github.com/lolvOid/svgfusion/commit/9de11d17c1b28a7257d822c100dd91a8dacd2b6e))
152
+ * Update documentation links and remove obsolete browser API documentation ([8b7136d](https://github.com/lolvOid/svgfusion/commit/8b7136d05e141ff0f281a484827fe354a89da260))
153
+ * update example directory paths in CLI integration tests ([5de5f04](https://github.com/lolvOid/svgfusion/commit/5de5f045953cafcd53e1c0da551d343fa583d296))
154
+ * update npm version badge in README to use shield style ([665349c](https://github.com/lolvOid/svgfusion/commit/665349c2bbd2e07203420ef958baf4ea77681d01))
155
+ * update npm version badge in README to use standard style ([1e4e4b7](https://github.com/lolvOid/svgfusion/commit/1e4e4b7b6e7ddd4f2f2b5d9c0f3a24d5de8f4124))
156
+ * update package versions for svgfusion-dom, svgfusion-bundle, and svgfusion-cmd ([3c299de](https://github.com/lolvOid/svgfusion/commit/3c299de4a5694ad80d8e16d23944590469fa62ab))
157
+ * update publishConfig to include registry URL and remove repository and bugs fields ([148eca3](https://github.com/lolvOid/svgfusion/commit/148eca38daecf47dbb85288524c5e519f609fed2))
158
+ * Update README and package description for clarity; remove obsolete browser API documentation ([189ffc7](https://github.com/lolvOid/svgfusion/commit/189ffc77eeb4d9ab6c7ad34e435e85e75366e110))
159
+ * update release:all script to only run release:bundle ([65a6195](https://github.com/lolvOid/svgfusion/commit/65a61952a7954916bd1972e358b82f75f3e25da1))
160
+
161
+
162
+ ### Features
163
+
164
+ * Add "none" to SVG paths in icon components ([367d87a](https://github.com/lolvOid/svgfusion/commit/367d87a80370d2f107d6e2b625d97b54cf0071fb))
165
+ * add accessibility and normalization options to CLI and generator ([24aad3f](https://github.com/lolvOid/svgfusion/commit/24aad3ff2845b4ae9d41f52034b434070f713b07))
166
+ * add advanced features with split colors, fixed stroke width, and duplicate validation ([2824b2a](https://github.com/lolvOid/svgfusion/commit/2824b2aa68d856d764ad320131aaa781b4f0abb4))
167
+ * add batch conversion for SVG files to React and Vue components ([b1ca079](https://github.com/lolvOid/svgfusion/commit/b1ca07925f331ce17184f196e23e24fab6b3f8d5))
168
+ * add CLI banner and color utilities; update README with CLI image ([3589580](https://github.com/lolvOid/svgfusion/commit/35895805ac127deea496b56ef23737ab52b310c3))
169
+ * add fill/stroke normalization feature to SVG transformer ([b2967fa](https://github.com/lolvOid/svgfusion/commit/b2967fa935111bd9189ed87e06e2c12fcfd1f4b0))
170
+ * Add fixed stroke width toggle ([6356380](https://github.com/lolvOid/svgfusion/commit/6356380054c00cef82c926971da50a374b48062a))
171
+ * Add HeartLine icon and improve color handling ([c9c3c80](https://github.com/lolvOid/svgfusion/commit/c9c3c80dad4f2c5d2b4d99ca43b247a8a27587a9))
172
+ * add just-pascal-case library for improved component name formatting ([9cb3fbd](https://github.com/lolvOid/svgfusion/commit/9cb3fbd7e30fe814e047d759dfa19d77103cfca7))
173
+ * add prefix and suffix options for component name formatting in CLI ([9cc67d0](https://github.com/lolvOid/svgfusion/commit/9cc67d07d8d9ccc144fc671ff58696859a8a1094))
174
+ * Add stroke width splitting to icon generators and demos ([729b6ae](https://github.com/lolvOid/svgfusion/commit/729b6ae84c70efb537171d41397d39225bb0a626))
175
+ * add support for semantic-release-monorepo in release configuration ([168a808](https://github.com/lolvOid/svgfusion/commit/168a8086cb49b1fde7b4699ac355ddde63c0d793))
176
+ * add watch script and enhance color gradients in CLI output ([a0e604c](https://github.com/lolvOid/svgfusion/commit/a0e604ceb5e2b94c4533f3acf839d67b2a71490c))
177
+ * Add width, height, and strokeWidth controls to icon demos ([29c0ae9](https://github.com/lolvOid/svgfusion/commit/29c0ae9f5a3f4d071f2b2a2d0328d6a894dadcfe))
178
+ * auto-deploy docs on main branch pushes ([97aaec0](https://github.com/lolvOid/svgfusion/commit/97aaec092f6aa47294748b81dbf0e58e9962a551))
179
+ * complete architecture refactor and enhance component generation ([409d979](https://github.com/lolvOid/svgfusion/commit/409d979be8f5b3f5de69fa7ed93ac4e52f408466))
180
+ * enhance React and Vue generators to support size prop and improve SVG attribute handling ([fb42c3d](https://github.com/lolvOid/svgfusion/commit/fb42c3d6a95abb77124c7015875ce71c2fa563ae))
181
+ * Enhance SEO with metadata, structured data, and robots.txt ([f006db0](https://github.com/lolvOid/svgfusion/commit/f006db040c1a748986303544858f3b0daef5aa51))
182
+ * export generateIndexFile and BatchConverter from respective modules ([5f6fbfa](https://github.com/lolvOid/svgfusion/commit/5f6fbfa47847be60089e015d5300640a98de7c31))
183
+ * Implement stroke width splitting feature for SVG components ([bfe3194](https://github.com/lolvOid/svgfusion/commit/bfe3194c9dd865029e8365918468053e951e33ea))
184
+ * initialize Vue demo project with Vite, Tailwind CSS, and TypeScript ([d301841](https://github.com/lolvOid/svgfusion/commit/d3018411eff881d25185533faea61b6e9bbef995))
185
+ * metdata ([1c27930](https://github.com/lolvOid/svgfusion/commit/1c279309ca005bb176aff600defa219c27abe3fb))
186
+ * **parser:** enhance SVG parsing with DOMParser and jsdom fallback ([bda8d60](https://github.com/lolvOid/svgfusion/commit/bda8d60269638607b9f94840677ed715d8b0aca0))
187
+ * svgfusion-extension ([8b301ff](https://github.com/lolvOid/svgfusion/commit/8b301ffcc68ac3d7609feff385dca8dd7500b8fc))
188
+ * **svgfusion-vscode:** enhance SVG conversion with prefix and suffix options, add release configuration ([5494feb](https://github.com/lolvOid/svgfusion/commit/5494feb641c76c2687718bff02d3c62c93d05739))
189
+ * update CLI and engine to improve performance and usability ([64131f4](https://github.com/lolvOid/svgfusion/commit/64131f4d0e0737278cf55825fbf92b4c58f842a4))
190
+ * update component naming and default props handling ([f1f1ff6](https://github.com/lolvOid/svgfusion/commit/f1f1ff67201cd3139463c9ccb34ec37217311125))
191
+ * update docs ([ee83a59](https://github.com/lolvOid/svgfusion/commit/ee83a595f5a1f5bcbc9f2523fb682da6f68166d3))
192
+ * Update README with improved feature list and intro ([736736b](https://github.com/lolvOid/svgfusion/commit/736736be0d15ed2a0050f94e8b603e1c487f56eb))
193
+ * version change ([a575f38](https://github.com/lolvOid/svgfusion/commit/a575f388daf67a947ca77cf337dd5ca8a2d40081))
194
+
195
+ # Changelog
196
+
197
+ All notable changes to the SVGFusion VSCode extension will be documented in this file.
198
+
199
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
200
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
201
+
202
+ ## [Unreleased]
203
+
204
+ ### Added
205
+
206
+ - Initial release of SVGFusion VSCode extension
207
+ - SVG to React/Vue component conversion
208
+ - Batch processing capabilities
209
+ - Interactive playground for testing conversions
210
+ - SVG preview with different sizes and backgrounds
211
+ - Automatic framework detection
212
+ - Smart configuration management
213
+ - Hover provider with SVG information
214
+ - Tree view for exploring SVG files
215
+ - Status bar integration
216
+ - Command palette integration
217
+ - Right-click context menu actions
218
+ - Keyboard shortcuts for quick conversion
219
+ - TypeScript support
220
+ - Framework-specific options (React memo/forwardRef, Vue SFC/script setup)
221
+ - Color and stroke width extraction
222
+ - SVG optimization before conversion
223
+
224
+ ### Features
225
+
226
+ #### Core Functionality
227
+
228
+ - **Convert Single SVG**: Right-click conversion with full option selection
229
+ - **Batch Convert**: Select and convert multiple SVGs with progress tracking
230
+ - **Interactive Playground**: Test conversions with real-time preview
231
+ - **SVG Preview**: View SVGs with different backgrounds and sizes
232
+
233
+ #### Smart Features
234
+
235
+ - **Framework Detection**: Automatically detects React/Vue projects
236
+ - **Component Naming**: Smart conversion from file names to component names
237
+ - **Output Management**: Configurable output directories
238
+ - **Error Handling**: Comprehensive error reporting and recovery
239
+
240
+ #### Developer Experience
241
+
242
+ - **Hover Information**: View SVG details on hover
243
+ - **Tree View**: Explore SVG files in workspace
244
+ - **Status Bar**: Quick access to conversion status
245
+ - **Keyboard Shortcuts**: Fast workflow integration
246
+
247
+ #### Customization
248
+
249
+ - **Framework Selection**: Choose React, Vue, or auto-detection
250
+ - **Language Support**: TypeScript and JavaScript output
251
+ - **Component Options**: Memo, forwardRef, SFC, script setup
252
+ - **Transformation**: Color extraction, stroke width handling, optimization
package/LICENSE.md ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 SVGFusion Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,231 @@
1
+ # SVGFusion VSCode Extension
2
+
3
+ Convert SVG files to React and Vue components with ease, directly from your VSCode editor.
4
+
5
+ ## Features
6
+
7
+ ### **SVG to Component Conversion**
8
+
9
+ - Convert individual SVG files to React or Vue components
10
+ - Supports both TypeScript and JavaScript output
11
+ - Automatic framework detection from your project
12
+
13
+ ### **Batch Processing**
14
+
15
+ - Convert multiple SVG files at once
16
+ - Progress tracking with detailed error reporting
17
+ - Smart file selection with preview
18
+
19
+ ### 🎮 **Interactive Playground**
20
+
21
+ - Built-in playground for testing conversions
22
+ - Real-time preview of generated components
23
+ - Experiment with different options
24
+
25
+ ### **SVG Preview**
26
+
27
+ - Preview SVG files with different sizes and backgrounds
28
+ - View source code and file information
29
+ - Quick access to conversion actions
30
+
31
+ ### **Smart Configuration**
32
+
33
+ - Auto-detects React/Vue projects
34
+ - Customizable output directories
35
+ - Framework-specific options (memo, forwardRef, SFC, script setup)
36
+
37
+ ## Quick Start
38
+
39
+ 1. **Install the extension**
40
+ 2. **Open a project** containing SVG files
41
+ 3. **Right-click any SVG file** and select "Convert to Component"
42
+ 4. **Choose your options** and let SVGFusion do the rest!
43
+
44
+ ## Usage
45
+
46
+ ### Convert Single SVG
47
+
48
+ - Right-click on an SVG file in the Explorer
49
+ - Select "Convert to Component"
50
+ - Choose framework, language, and component name
51
+ - The component will be created in your configured output directory
52
+
53
+ ### Batch Convert SVGs
54
+
55
+ - Open Command Palette (`Cmd+Shift+P`)
56
+ - Run "SVGFusion: Batch Convert SVGs"
57
+ - Select files to convert
58
+ - Choose conversion options
59
+
60
+ ### Interactive Playground
61
+
62
+ - Open Command Palette (`Cmd+Shift+P`)
63
+ - Run "SVGFusion: Open Playground"
64
+ - Paste your SVG code and experiment with options
65
+
66
+ ### Preview SVG
67
+
68
+ - Right-click on an SVG file
69
+ - Select "Preview Component"
70
+ - View with different sizes and backgrounds
71
+
72
+ ## Keyboard Shortcuts
73
+
74
+ - `Cmd+Shift+S` (Mac) / `Ctrl+Shift+S` (Windows/Linux) - Convert SVG (when SVG file is active)
75
+ - `Cmd+Shift+P` (Mac) / `Ctrl+Shift+P` (Windows/Linux) - Open Playground
76
+
77
+ ## Configuration
78
+
79
+ Configure SVGFusion through VSCode settings:
80
+
81
+ ```json
82
+ {
83
+ "svgfusion.framework": "auto", // "react" | "vue" | "auto"
84
+ "svgfusion.typescript": true,
85
+ "svgfusion.outputDirectory": "./src/components/icons",
86
+ "svgfusion.react.memo": false,
87
+ "svgfusion.react.forwardRef": false,
88
+ "svgfusion.vue.sfc": true,
89
+ "svgfusion.vue.scriptSetup": true,
90
+ "svgfusion.transformation.splitColors": true,
91
+ "svgfusion.transformation.splitStrokeWidths": false,
92
+ "svgfusion.transformation.optimize": true
93
+ }
94
+ ```
95
+
96
+ ## Features in Detail
97
+
98
+ ### Automatic Framework Detection
99
+
100
+ SVGFusion automatically detects whether you're working on a React or Vue project by analyzing:
101
+
102
+ - `package.json` dependencies
103
+ - Configuration files (`next.config.js`, `vue.config.js`, etc.)
104
+ - File extensions (`.jsx`, `.tsx`, `.vue`)
105
+
106
+ ### Smart Component Naming
107
+
108
+ - Converts kebab-case and snake_case to PascalCase
109
+ - Validates component names follow conventions
110
+ - Suggests appropriate names based on file names
111
+
112
+ ### Transformation Options
113
+
114
+ - **Split Colors**: Extract colors as props for easy theming
115
+ - **Split Stroke Widths**: Extract stroke widths as props
116
+ - **Optimization**: Automatically optimize SVG before conversion
117
+ - **TypeScript**: Generate type-safe components
118
+
119
+ ### Framework-Specific Features
120
+
121
+ #### React
122
+
123
+ - **React.memo**: Wrap components for performance optimization
124
+ - **forwardRef**: Add ref forwarding support
125
+ - **TypeScript**: Full type support with proper prop interfaces
126
+
127
+ #### Vue
128
+
129
+ - **Single File Components**: Generate `.vue` files
130
+ - **Script Setup**: Use modern `<script setup>` syntax
131
+ - **TypeScript**: Full type support with proper prop definitions
132
+
133
+ ## Examples
134
+
135
+ ### Generated React Component
136
+
137
+ ```tsx
138
+ import React from 'react';
139
+
140
+ interface MyIconProps {
141
+ color?: string;
142
+ size?: number;
143
+ className?: string;
144
+ }
145
+
146
+ const MyIcon: React.FC<MyIconProps> = ({
147
+ color = 'currentColor',
148
+ size = 24,
149
+ className,
150
+ }) => (
151
+ <svg
152
+ width={size}
153
+ height={size}
154
+ viewBox="0 0 24 24"
155
+ fill="none"
156
+ className={className}
157
+ >
158
+ <path d="..." fill={color} />
159
+ </svg>
160
+ );
161
+
162
+ export default MyIcon;
163
+ ```
164
+
165
+ ### Generated Vue Component
166
+
167
+ ```vue
168
+ <template>
169
+ <svg
170
+ :width="size"
171
+ :height="size"
172
+ viewBox="0 0 24 24"
173
+ fill="none"
174
+ :class="className"
175
+ >
176
+ <path d="..." :fill="color" />
177
+ </svg>
178
+ </template>
179
+
180
+ <script setup lang="ts">
181
+ interface Props {
182
+ color?: string;
183
+ size?: number;
184
+ className?: string;
185
+ }
186
+
187
+ withDefaults(defineProps<Props>(), {
188
+ color: 'currentColor',
189
+ size: 24,
190
+ });
191
+ </script>
192
+ ```
193
+
194
+ ## Troubleshooting
195
+
196
+ ### Extension Not Working
197
+
198
+ 1. Check that you have SVG files in your workspace
199
+ 2. Ensure you're using supported file extensions (`.svg`)
200
+ 3. Check the Output panel for error messages
201
+
202
+ ### Framework Detection Issues
203
+
204
+ 1. Ensure your `package.json` includes framework dependencies
205
+ 2. Check that configuration files are present
206
+ 3. Manually set the framework in settings if auto-detection fails
207
+
208
+ ### Conversion Errors
209
+
210
+ 1. Validate that your SVG syntax is correct
211
+ 2. Check the Output panel for detailed error messages
212
+ 3. Try using the playground to isolate the issue
213
+
214
+ ## Contributing
215
+
216
+ Found a bug or have a feature request? Visit our [GitHub repository](https://github.com/lolvOid/svgfusion) to:
217
+
218
+ - Report issues
219
+ - Request features
220
+ - Contribute code
221
+ - Review documentation
222
+
223
+ ## Links
224
+
225
+ - 📚 [Documentation](https://svgfusion.netlify.app)
226
+ - 🐙 [GitHub Repository](https://github.com/lolvOid/svgfusion)
227
+ - 🌐 [Website](https://svgfusion.netlify.app)
228
+
229
+ ---
230
+
231
+ **Enjoy using SVGFusion!** 🎉
@@ -0,0 +1,6 @@
1
+ import * as vscode from 'vscode';
2
+
3
+ declare function activate(context: vscode.ExtensionContext): void;
4
+ declare function deactivate(): void;
5
+
6
+ export { activate, deactivate };