svger-cli 2.0.7 → 3.0.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 +259 -9
- package/README.md +383 -13
- package/dist/index.d.ts +30 -0
- package/dist/index.js +33 -0
- package/dist/integrations/babel.d.ts +58 -0
- package/dist/integrations/babel.js +221 -0
- package/dist/integrations/jest-preset.d.ts +44 -0
- package/dist/integrations/jest-preset.js +169 -0
- package/dist/integrations/nextjs.d.ts +56 -0
- package/dist/integrations/nextjs.js +140 -0
- package/dist/integrations/rollup.d.ts +29 -0
- package/dist/integrations/rollup.js +197 -0
- package/dist/integrations/vite.d.ts +29 -0
- package/dist/integrations/vite.js +221 -0
- package/dist/integrations/webpack.d.ts +84 -0
- package/dist/integrations/webpack.js +273 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.js +2 -1
- package/dist/types/integrations.d.ts +255 -0
- package/dist/types/integrations.js +4 -0
- package/docs/INTEGRATION-IMPLEMENTATION-SUMMARY.md +448 -0
- package/docs/INTEGRATIONS.md +543 -0
- package/examples/babel.config.example.js +182 -0
- package/examples/jest.config.example.js +158 -0
- package/examples/next.config.example.js +133 -0
- package/examples/rollup.config.example.js +129 -0
- package/examples/vite.config.example.js +98 -0
- package/examples/webpack.config.example.js +88 -0
- package/package.json +75 -5
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,151 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project
|
|
6
6
|
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.0.0] - 2025-11-26
|
|
9
|
+
|
|
10
|
+
### 🎉 Major Release - Official Build Tool Integrations
|
|
11
|
+
|
|
12
|
+
This major release introduces **official build tool integrations**, making SVGER-CLI the most
|
|
13
|
+
comprehensive SVG-to-component solution with first-class support for all major build tools and
|
|
14
|
+
frameworks.
|
|
15
|
+
|
|
16
|
+
### Added - Build Tool Integrations
|
|
17
|
+
|
|
18
|
+
#### **Webpack Integration** (`svger-cli/webpack`)
|
|
19
|
+
|
|
20
|
+
- ✅ Full webpack plugin with HMR (Hot Module Replacement) support
|
|
21
|
+
- ✅ Webpack loader for inline SVG transformation
|
|
22
|
+
- ✅ Watch mode with intelligent debouncing
|
|
23
|
+
- ✅ Asset emission directly to webpack compilation
|
|
24
|
+
- ✅ TypeScript support with full type definitions
|
|
25
|
+
- ✅ Multi-framework support (React, Vue, Angular, etc.)
|
|
26
|
+
|
|
27
|
+
#### **Vite Plugin** (`svger-cli/vite`)
|
|
28
|
+
|
|
29
|
+
- ✅ Native Vite plugin with lightning-fast HMR
|
|
30
|
+
- ✅ Virtual module support for dynamic imports
|
|
31
|
+
- ✅ Dev server integration with instant updates
|
|
32
|
+
- ✅ Build optimization and tree-shaking
|
|
33
|
+
- ✅ Named and default export options
|
|
34
|
+
- ✅ Source map generation
|
|
35
|
+
|
|
36
|
+
#### **Rollup Plugin** (`svger-cli/rollup`)
|
|
37
|
+
|
|
38
|
+
- ✅ Full Rollup plugin with tree-shaking support
|
|
39
|
+
- ✅ Load and transform hooks for SVG files
|
|
40
|
+
- ✅ Source map generation for debugging
|
|
41
|
+
- ✅ Bundle optimization for production
|
|
42
|
+
- ✅ Library-friendly named exports
|
|
43
|
+
- ✅ Zero runtime overhead
|
|
44
|
+
|
|
45
|
+
#### **Babel Plugin** (`svger-cli/babel`)
|
|
46
|
+
|
|
47
|
+
- ✅ Complete Babel plugin with visitor pattern
|
|
48
|
+
- ✅ Automatic import transformation (SVG → Component)
|
|
49
|
+
- ✅ Dynamic import support (`import('./icon.svg')`)
|
|
50
|
+
- ✅ Pre-build SVG processing
|
|
51
|
+
- ✅ Works with Create React App, Gatsby, Vue CLI
|
|
52
|
+
- ✅ Framework-agnostic with full TypeScript support
|
|
53
|
+
|
|
54
|
+
#### **Next.js Integration** (`svger-cli/nextjs`)
|
|
55
|
+
|
|
56
|
+
- ✅ `withSvger` wrapper for seamless Next.js integration
|
|
57
|
+
- ✅ Server-Side Rendering (SSR) support
|
|
58
|
+
- ✅ App Router and Pages Router compatibility
|
|
59
|
+
- ✅ Webpack configuration extension
|
|
60
|
+
- ✅ Hot Module Replacement for development
|
|
61
|
+
- ✅ TypeScript support out of the box
|
|
62
|
+
|
|
63
|
+
#### **Jest Preset** (`svger-cli/jest`)
|
|
64
|
+
|
|
65
|
+
- ✅ Complete Jest transformer for SVG files
|
|
66
|
+
- ✅ Jest preset configuration
|
|
67
|
+
- ✅ Custom transformer factory
|
|
68
|
+
- ✅ Mock mode for faster test execution
|
|
69
|
+
- ✅ CommonJS and ES module support
|
|
70
|
+
- ✅ Multi-framework compatibility
|
|
71
|
+
|
|
72
|
+
### Added - Package Infrastructure
|
|
73
|
+
|
|
74
|
+
- **11 New Export Paths**: Added dedicated exports for all integrations
|
|
75
|
+
- `./webpack`, `./webpack-loader`
|
|
76
|
+
- `./vite`
|
|
77
|
+
- `./rollup`
|
|
78
|
+
- `./babel`, `./babel-plugin`
|
|
79
|
+
- `./nextjs`
|
|
80
|
+
- `./jest`, `./jest-transformer`, `./jest-preset`
|
|
81
|
+
|
|
82
|
+
- **Comprehensive Documentation**:
|
|
83
|
+
- New `docs/INTEGRATIONS.md` - Complete integration guide (500+ lines)
|
|
84
|
+
- New `docs/INTEGRATION-IMPLEMENTATION-SUMMARY.md` - Implementation overview
|
|
85
|
+
- 6 example configuration files in `examples/` directory
|
|
86
|
+
- Updated API documentation with integration examples
|
|
87
|
+
|
|
88
|
+
- **Enhanced Testing**:
|
|
89
|
+
- New integration verification test suite
|
|
90
|
+
- 100% integration test coverage (7/7 passing)
|
|
91
|
+
- Automated testing for all build tool integrations
|
|
92
|
+
- New `test:integrations` npm script
|
|
93
|
+
|
|
94
|
+
- **Updated Keywords**: Added 18+ new npm keywords:
|
|
95
|
+
- Build tools: `webpack`, `webpack-plugin`, `webpack-loader`
|
|
96
|
+
- Bundlers: `vite`, `vite-plugin`, `rollup`, `rollup-plugin`
|
|
97
|
+
- Transpilers: `babel`, `babel-plugin`, `babel-transform`
|
|
98
|
+
- Frameworks: `nextjs`, `next-js`
|
|
99
|
+
- Testing: `jest`, `jest-preset`, `jest-transformer`
|
|
100
|
+
- General: `build-tools`, `bundler`, `hmr`, `hot-module-replacement`
|
|
101
|
+
|
|
102
|
+
### Changed
|
|
103
|
+
|
|
104
|
+
- **Package Description**: Updated to highlight official build tool integrations
|
|
105
|
+
- **Main Index**: Reorganized exports to include all integration plugins
|
|
106
|
+
- **Type Definitions**: Enhanced TypeScript types for all integrations
|
|
107
|
+
- **Documentation Structure**: Improved organization with dedicated integration docs
|
|
108
|
+
|
|
109
|
+
### Features Comparison
|
|
110
|
+
|
|
111
|
+
| Feature | Webpack | Vite | Rollup | Babel | Next.js | Jest |
|
|
112
|
+
| ------------------ | ------- | ---- | ------ | ----- | ------- | ---- |
|
|
113
|
+
| HMR Support | ✅ | ✅ | ❌ | ❌ | ✅ | N/A |
|
|
114
|
+
| Source Maps | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
|
|
115
|
+
| SSR Support | ❌ | ✅ | ❌ | ❌ | ✅ | N/A |
|
|
116
|
+
| Virtual Modules | ❌ | ✅ | ❌ | ❌ | ❌ | N/A |
|
|
117
|
+
| Watch Mode | ✅ | ✅ | ✅ | ✅ | ✅ | N/A |
|
|
118
|
+
| Import Transform | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
119
|
+
| Dynamic Imports | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
|
|
120
|
+
| Framework Agnostic | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
|
|
121
|
+
|
|
122
|
+
### Migration Guide from 2.x to 3.0
|
|
123
|
+
|
|
124
|
+
**No Breaking Changes for CLI Users**: If you're using the CLI (`svger-cli`), everything works
|
|
125
|
+
exactly as before.
|
|
126
|
+
|
|
127
|
+
**New Features for Build Tool Users**:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
# Install
|
|
131
|
+
npm install svger-cli@3.0.0 --save-dev
|
|
132
|
+
|
|
133
|
+
# Use with your build tool
|
|
134
|
+
# See docs/INTEGRATIONS.md for detailed examples
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Performance
|
|
138
|
+
|
|
139
|
+
- Zero runtime dependencies
|
|
140
|
+
- 85% faster than SVGR for batch processing
|
|
141
|
+
- Tree-shakeable exports - only bundle what you use
|
|
142
|
+
- Optimized build tool integrations with minimal overhead
|
|
143
|
+
|
|
144
|
+
### Documentation
|
|
145
|
+
|
|
146
|
+
- Complete integration guide in `docs/INTEGRATIONS.md`
|
|
147
|
+
- 6 working example configurations in `examples/` directory
|
|
148
|
+
- Updated README with integration quick-start
|
|
149
|
+
- Enhanced API documentation
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
8
153
|
## [2.0.7] - 2025-11-20
|
|
9
154
|
|
|
10
155
|
### Fixed
|
|
@@ -78,6 +223,83 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
78
223
|
- Enhanced comparison tables and installation instructions
|
|
79
224
|
- Included recent fixes section with technical details
|
|
80
225
|
|
|
226
|
+
## [Unreleased] - 2025-11-12
|
|
227
|
+
|
|
228
|
+
### Added
|
|
229
|
+
|
|
230
|
+
- Comprehensive performance analysis documentation with detailed technical breakdown
|
|
231
|
+
- Professional competitive analysis with fair tool comparisons
|
|
232
|
+
- Transparency section welcoming community feedback
|
|
233
|
+
- Use case recommendations for each tool in the ecosystem
|
|
234
|
+
- Detailed methodology for performance claims and benchmarking
|
|
235
|
+
- Research sources and feedback channels for documentation accuracy
|
|
236
|
+
|
|
237
|
+
### Changed
|
|
238
|
+
|
|
239
|
+
- Corrected SVGR description to acknowledge webpack ecosystem support (not React-only)
|
|
240
|
+
- Clarified 85% performance improvement claim with proper context and scope
|
|
241
|
+
- Enhanced "Advanced Props" definition vs standard SVG props
|
|
242
|
+
- Improved competitive analysis to be fair, accurate, and professional
|
|
243
|
+
- Removed misleading bundle size comparisons (dev dependencies vs runtime)
|
|
244
|
+
- Updated documentation tone to be educational rather than competitive
|
|
245
|
+
|
|
246
|
+
### Fixed
|
|
247
|
+
|
|
248
|
+
- Inaccurate claims about competitor tools' capabilities
|
|
249
|
+
- Misleading performance comparisons without proper context
|
|
250
|
+
- Unprofessional competitive analysis language
|
|
251
|
+
- Missing disclaimers and acknowledgments for ecosystem tools
|
|
252
|
+
|
|
253
|
+
## [2.0.5] - 2025-11-11
|
|
254
|
+
|
|
255
|
+
### Fixed
|
|
256
|
+
|
|
257
|
+
- **CRITICAL**: PascalCase component naming preservation
|
|
258
|
+
- Fixed issue where PascalCase filenames were incorrectly converted to lowercase
|
|
259
|
+
- ArrowBendDownLeft.svg → ArrowBendDownLeft.tsx (was: Arrowbenddownleft.tsx)
|
|
260
|
+
- MyCustomIcon.svg → MyCustomIcon.tsx (was: Mycustomicon.tsx)
|
|
261
|
+
- Enhanced regex pattern in toPascalCase() to properly detect existing PascalCase
|
|
262
|
+
- Maintained compatibility with all existing functionality
|
|
263
|
+
- All 28 framework tests continue passing
|
|
264
|
+
|
|
265
|
+
### Changed
|
|
266
|
+
|
|
267
|
+
- Updated package version to 2.0.5
|
|
268
|
+
- Enhanced toPascalCase utility function for better case detection
|
|
269
|
+
|
|
270
|
+
## [2.0.4] - 2025-11-11
|
|
271
|
+
|
|
272
|
+
### Added
|
|
273
|
+
|
|
274
|
+
- Complete 28-property configuration schema
|
|
275
|
+
- React/Vue/Angular specific configuration options
|
|
276
|
+
- Enhanced responsive design support with breakpoint configurations
|
|
277
|
+
- Comprehensive theme system with multiple design systems support
|
|
278
|
+
- Advanced performance optimization settings
|
|
279
|
+
- Professional error handling and validation system
|
|
280
|
+
- Enhanced TypeScript support with improved type definitions
|
|
281
|
+
|
|
282
|
+
### Changed
|
|
283
|
+
|
|
284
|
+
- Streamlined ESLint configuration (.eslintrc.js → .eslintrc.cjs)
|
|
285
|
+
- Enhanced component templates with new configuration support
|
|
286
|
+
- Improved configuration management across multiple files
|
|
287
|
+
- Updated README.md with comprehensive v2.0.4 feature documentation
|
|
288
|
+
- Enhanced comparison tables and installation instructions
|
|
289
|
+
|
|
290
|
+
### Fixed
|
|
291
|
+
|
|
292
|
+
- TypeScript duplicate export errors in index generation
|
|
293
|
+
- Simplified index.ts generation to prevent conflicts
|
|
294
|
+
- Improved configuration validation and error messages
|
|
295
|
+
- Enhanced toPascalCase to preserve existing PascalCase names
|
|
296
|
+
|
|
297
|
+
### Removed
|
|
298
|
+
|
|
299
|
+
- Redundant test documentation files (COMPLETE-TEST-REPORT.md, TEST-RESULTS.md, TESTING-SUMMARY.md)
|
|
300
|
+
- Deprecated ESLint configuration format
|
|
301
|
+
- Outdated package dependencies reducing bundle size
|
|
302
|
+
|
|
81
303
|
## [2.0.3] - 2024-11-11
|
|
82
304
|
|
|
83
305
|
### Added
|
|
@@ -89,6 +311,7 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
89
311
|
- Comprehensive export map for better module resolution
|
|
90
312
|
- Development scripts for testing, linting, and formatting
|
|
91
313
|
- Documentation generation scripts
|
|
314
|
+
- Comprehensive testing suite with unified export pattern
|
|
92
315
|
|
|
93
316
|
### Changed
|
|
94
317
|
|
|
@@ -103,29 +326,56 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
103
326
|
- Package metadata completeness
|
|
104
327
|
- Export definitions for better tree-shaking
|
|
105
328
|
- Module resolution issues
|
|
329
|
+
- Native module file path resolution error
|
|
330
|
+
|
|
331
|
+
### Removed
|
|
332
|
+
|
|
333
|
+
- Unnecessary test folders and configuration files
|
|
334
|
+
- Redundant package configurations
|
|
106
335
|
|
|
107
336
|
## [2.0.2] - 2024-11-01
|
|
108
337
|
|
|
109
338
|
### Added
|
|
110
339
|
|
|
111
340
|
- Multi-framework support (React, Vue, Angular, Svelte, Solid, Lit, Preact, Vanilla)
|
|
112
|
-
- Auto-generated index.ts exports
|
|
113
|
-
- Responsive design system
|
|
114
|
-
- Theme support (light/dark/auto)
|
|
115
|
-
- File locking mechanism
|
|
116
|
-
- Performance optimization engine
|
|
341
|
+
- Auto-generated index.ts exports with tree-shaking support
|
|
342
|
+
- Responsive design system with breakpoint configurations
|
|
343
|
+
- Theme support (light/dark/auto) with CSS variables
|
|
344
|
+
- File locking mechanism for protecting critical files
|
|
345
|
+
- Performance optimization engine with parallel processing
|
|
117
346
|
|
|
118
347
|
### Changed
|
|
119
348
|
|
|
120
349
|
- Complete rewrite for enterprise-grade performance
|
|
121
|
-
- Zero-dependency architecture
|
|
122
|
-
- 85% performance improvement over
|
|
123
|
-
- TypeScript-first approach
|
|
350
|
+
- Zero-dependency architecture implementation
|
|
351
|
+
- 85% performance improvement over traditional tools (SVG processing time)
|
|
352
|
+
- TypeScript-first approach with native type generation
|
|
124
353
|
|
|
125
354
|
### Removed
|
|
126
355
|
|
|
127
|
-
- Legacy dependencies
|
|
356
|
+
- Legacy dependencies reducing package size by 89%
|
|
128
357
|
- Single-framework limitation
|
|
358
|
+
- Dependency-heavy build processes
|
|
359
|
+
|
|
360
|
+
## [2.0.0] - 2024-10-30
|
|
361
|
+
|
|
362
|
+
### Added
|
|
363
|
+
|
|
364
|
+
- Complete multi-framework support for all 8 UI frameworks
|
|
365
|
+
- Enhanced CLI commands with comprehensive options
|
|
366
|
+
- Open source project files (CODE_OF_CONDUCT, LICENSE, CONTRIBUTING)
|
|
367
|
+
- Professional project structure and documentation
|
|
368
|
+
|
|
369
|
+
### Changed
|
|
370
|
+
|
|
371
|
+
- Major version release with breaking changes from 1.x
|
|
372
|
+
- Enhanced README with multi-framework guide and benchmarks
|
|
373
|
+
- Consolidated project structure and test organization
|
|
374
|
+
|
|
375
|
+
### Removed
|
|
376
|
+
|
|
377
|
+
- node_modules folder from repository
|
|
378
|
+
- Legacy 1.x architecture and dependencies
|
|
129
379
|
|
|
130
380
|
## [1.x.x] - Legacy Versions
|
|
131
381
|
|