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 +252 -0
- package/LICENSE.md +21 -0
- package/README.md +231 -0
- package/dist/extension.d.ts +6 -0
- package/dist/extension.js +104632 -0
- package/media/icon.png +0 -0
- package/package.json +289 -0
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!** 🎉
|