svger-cli 2.0.6 → 2.0.8

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.
@@ -1,119 +1,119 @@
1
- {
2
- "$schema": "https://raw.githubusercontent.com/faezemohades/svger-cli/main/schemas/config.schema.json",
3
-
4
- "_comment": "Complete Configuration Schema - This file demonstrates all available configuration options for svger-cli",
5
-
6
- "// Source & Output": "",
7
- "source": "./src/assets/svg",
8
- "output": "./src/components/icons",
9
-
10
- "// Framework Configuration": "",
11
- "framework": "react",
12
- "typescript": true,
13
- "componentType": "functional",
14
-
15
- "// Processing Options": "",
16
- "watch": false,
17
- "parallel": true,
18
- "batchSize": 10,
19
- "maxConcurrency": 4,
20
- "cache": true,
21
-
22
- "// Default Properties": "",
23
- "defaultWidth": 24,
24
- "defaultHeight": 24,
25
- "defaultFill": "currentColor",
26
- "defaultStroke": "none",
27
- "defaultStrokeWidth": 1,
28
-
29
- "// Styling Configuration": "",
30
- "styleRules": {
31
- "fill": "inherit",
32
- "stroke": "none",
33
- "strokeWidth": "1",
34
- "opacity": "1"
35
- },
36
-
37
- "// Responsive Design": "",
38
- "responsive": {
39
- "breakpoints": ["sm", "md", "lg", "xl"],
40
- "values": {
41
- "width": ["16px", "20px", "24px", "32px"],
42
- "height": ["16px", "20px", "24px", "32px"]
43
- }
44
- },
45
-
46
- "// Theme Configuration": "",
47
- "theme": {
48
- "mode": "auto",
49
- "variables": {
50
- "primary": "currentColor",
51
- "secondary": "#6b7280",
52
- "accent": "#3b82f6",
53
- "background": "#ffffff",
54
- "foreground": "#000000"
55
- }
56
- },
57
-
58
- "// Animation Effects": "",
59
- "animations": ["fadeIn", "slideIn", "bounce"],
60
-
61
- "// Advanced Options": "",
62
- "plugins": [
63
- {
64
- "name": "svg-optimizer",
65
- "options": {
66
- "removeComments": true,
67
- "removeMetadata": true
68
- }
69
- }
70
- ],
71
- "exclude": ["*.test.svg", "deprecated/**"],
72
- "include": ["icons/**", "illustrations/**"],
73
-
74
- "// Error Handling": "",
75
- "errorHandling": {
76
- "strategy": "continue",
77
- "maxRetries": 3,
78
- "timeout": 30000
79
- },
80
-
81
- "// Performance Settings": "",
82
- "performance": {
83
- "optimization": "balanced",
84
- "memoryLimit": 512,
85
- "cacheTimeout": 3600000
86
- },
87
-
88
- "// Output Customization": "",
89
- "outputConfig": {
90
- "naming": "pascal",
91
- "extension": "tsx",
92
- "directory": "./src/components/icons"
93
- },
94
-
95
- "// Framework-Specific Configurations": "",
96
- "react": {
97
- "componentType": "functional",
98
- "forwardRef": true,
99
- "memo": false,
100
- "propsInterface": "SVGProps",
101
- "styledComponents": false,
102
- "cssModules": false
103
- },
104
-
105
- "vue": {
106
- "api": "composition",
107
- "setup": true,
108
- "typescript": true,
109
- "scoped": true,
110
- "cssVariables": true
111
- },
112
-
113
- "angular": {
114
- "standalone": true,
115
- "signals": true,
116
- "changeDetection": "OnPush",
117
- "encapsulation": "Emulated"
118
- }
119
- }
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/faezemohades/svger-cli/main/schemas/config.schema.json",
3
+
4
+ "_comment": "Complete Configuration Schema - This file demonstrates all available configuration options for svger-cli",
5
+
6
+ "// Source & Output": "",
7
+ "source": "./src/assets/svg",
8
+ "output": "./src/components/icons",
9
+
10
+ "// Framework Configuration": "",
11
+ "framework": "react",
12
+ "typescript": true,
13
+ "componentType": "functional",
14
+
15
+ "// Processing Options": "",
16
+ "watch": false,
17
+ "parallel": true,
18
+ "batchSize": 10,
19
+ "maxConcurrency": 4,
20
+ "cache": true,
21
+
22
+ "// Default Properties": "",
23
+ "defaultWidth": 24,
24
+ "defaultHeight": 24,
25
+ "defaultFill": "currentColor",
26
+ "defaultStroke": "none",
27
+ "defaultStrokeWidth": 1,
28
+
29
+ "// Styling Configuration": "",
30
+ "styleRules": {
31
+ "fill": "inherit",
32
+ "stroke": "none",
33
+ "strokeWidth": "1",
34
+ "opacity": "1"
35
+ },
36
+
37
+ "// Responsive Design": "",
38
+ "responsive": {
39
+ "breakpoints": ["sm", "md", "lg", "xl"],
40
+ "values": {
41
+ "width": ["16px", "20px", "24px", "32px"],
42
+ "height": ["16px", "20px", "24px", "32px"]
43
+ }
44
+ },
45
+
46
+ "// Theme Configuration": "",
47
+ "theme": {
48
+ "mode": "auto",
49
+ "variables": {
50
+ "primary": "currentColor",
51
+ "secondary": "#6b7280",
52
+ "accent": "#3b82f6",
53
+ "background": "#ffffff",
54
+ "foreground": "#000000"
55
+ }
56
+ },
57
+
58
+ "// Animation Effects": "",
59
+ "animations": ["fadeIn", "slideIn", "bounce"],
60
+
61
+ "// Advanced Options": "",
62
+ "plugins": [
63
+ {
64
+ "name": "svg-optimizer",
65
+ "options": {
66
+ "removeComments": true,
67
+ "removeMetadata": true
68
+ }
69
+ }
70
+ ],
71
+ "exclude": ["*.test.svg", "deprecated/**"],
72
+ "include": ["icons/**", "illustrations/**"],
73
+
74
+ "// Error Handling": "",
75
+ "errorHandling": {
76
+ "strategy": "continue",
77
+ "maxRetries": 3,
78
+ "timeout": 30000
79
+ },
80
+
81
+ "// Performance Settings": "",
82
+ "performance": {
83
+ "optimization": "balanced",
84
+ "memoryLimit": 512,
85
+ "cacheTimeout": 3600000
86
+ },
87
+
88
+ "// Output Customization": "",
89
+ "outputConfig": {
90
+ "naming": "pascal",
91
+ "extension": "tsx",
92
+ "directory": "./src/components/icons"
93
+ },
94
+
95
+ "// Framework-Specific Configurations": "",
96
+ "react": {
97
+ "componentType": "functional",
98
+ "forwardRef": true,
99
+ "memo": false,
100
+ "propsInterface": "SVGProps",
101
+ "styledComponents": false,
102
+ "cssModules": false
103
+ },
104
+
105
+ "vue": {
106
+ "api": "composition",
107
+ "setup": true,
108
+ "typescript": true,
109
+ "scoped": true,
110
+ "cssVariables": true
111
+ },
112
+
113
+ "angular": {
114
+ "standalone": true,
115
+ "signals": true,
116
+ "changeDetection": "OnPush",
117
+ "encapsulation": "Emulated"
118
+ }
119
+ }
package/CHANGELOG.md CHANGED
@@ -1,156 +1,235 @@
1
- # Changelog
2
-
3
- All notable changes to this project will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ## [Unreleased] - 2025-11-12
9
-
10
- ### Added
11
- - Comprehensive performance analysis documentation with detailed technical breakdown
12
- - Professional competitive analysis with fair tool comparisons
13
- - Transparency section welcoming community feedback
14
- - Use case recommendations for each tool in the ecosystem
15
- - Detailed methodology for performance claims and benchmarking
16
- - Research sources and feedback channels for documentation accuracy
17
-
18
- ### Changed
19
- - Corrected SVGR description to acknowledge webpack ecosystem support (not React-only)
20
- - Clarified 85% performance improvement claim with proper context and scope
21
- - Enhanced "Advanced Props" definition vs standard SVG props
22
- - Improved competitive analysis to be fair, accurate, and professional
23
- - Removed misleading bundle size comparisons (dev dependencies vs runtime)
24
- - Updated documentation tone to be educational rather than competitive
25
-
26
- ### Fixed
27
- - Inaccurate claims about competitor tools' capabilities
28
- - Misleading performance comparisons without proper context
29
- - Unprofessional competitive analysis language
30
- - Missing disclaimers and acknowledgments for ecosystem tools
31
-
32
- ## [2.0.5] - 2025-11-11
33
-
34
- ### Fixed
35
- - **CRITICAL**: PascalCase component naming preservation
36
- - Fixed issue where PascalCase filenames were incorrectly converted to lowercase
37
- - ArrowBendDownLeft.svg → ArrowBendDownLeft.tsx (was: Arrowbenddownleft.tsx)
38
- - MyCustomIcon.svg MyCustomIcon.tsx (was: Mycustomicon.tsx)
39
- - Enhanced regex pattern in toPascalCase() to properly detect existing PascalCase
40
- - Maintained compatibility with all existing functionality
41
- - All 28 framework tests continue passing
42
-
43
- ### Changed
44
- - Updated package version to 2.0.5
45
- - Enhanced toPascalCase utility function for better case detection
46
-
47
- ## [2.0.4] - 2025-11-11
48
-
49
- ### Added
50
- - Complete 28-property configuration schema
51
- - React/Vue/Angular specific configuration options
52
- - Enhanced responsive design support with breakpoint configurations
53
- - Comprehensive theme system with multiple design systems support
54
- - Advanced performance optimization settings
55
- - Professional error handling and validation system
56
- - Enhanced TypeScript support with improved type definitions
57
-
58
- ### Changed
59
- - Streamlined ESLint configuration (.eslintrc.js → .eslintrc.cjs)
60
- - Enhanced component templates with new configuration support
61
- - Improved configuration management across multiple files
62
- - Updated README.md with comprehensive v2.0.4 feature documentation
63
- - Enhanced comparison tables and installation instructions
64
-
65
- ### Fixed
66
- - TypeScript duplicate export errors in index generation
67
- - Simplified index.ts generation to prevent conflicts
68
- - Improved configuration validation and error messages
69
- - Enhanced toPascalCase to preserve existing PascalCase names
70
-
71
- ### Removed
72
- - Redundant test documentation files (COMPLETE-TEST-REPORT.md, TEST-RESULTS.md, TESTING-SUMMARY.md)
73
- - Deprecated ESLint configuration format
74
- - Outdated package dependencies reducing bundle size
75
-
76
- ## [2.0.3] - 2024-11-11
77
-
78
- ### Added
79
- - Enhanced package.json with comprehensive metadata
80
- - Professional development tooling configuration
81
- - Extended TypeScript support and type definitions
82
- - Additional CLI aliases (`svger` shorthand)
83
- - Comprehensive export map for better module resolution
84
- - Development scripts for testing, linting, and formatting
85
- - Documentation generation scripts
86
- - Comprehensive testing suite with unified export pattern
87
-
88
- ### Changed
89
- - Improved package description with full feature list
90
- - Enhanced keywords for better discoverability
91
- - Updated contributor information with roles
92
- - Expanded file inclusion patterns
93
- - More comprehensive engine requirements
94
-
95
- ### Fixed
96
- - Package metadata completeness
97
- - Export definitions for better tree-shaking
98
- - Module resolution issues
99
- - Native module file path resolution error
100
-
101
- ### Removed
102
- - Unnecessary test folders and configuration files
103
- - Redundant package configurations
104
-
105
- ## [2.0.2] - 2024-11-01
106
-
107
- ### Added
108
- - Multi-framework support (React, Vue, Angular, Svelte, Solid, Lit, Preact, Vanilla)
109
- - Auto-generated index.ts exports with tree-shaking support
110
- - Responsive design system with breakpoint configurations
111
- - Theme support (light/dark/auto) with CSS variables
112
- - File locking mechanism for protecting critical files
113
- - Performance optimization engine with parallel processing
114
-
115
- ### Changed
116
- - Complete rewrite for enterprise-grade performance
117
- - Zero-dependency architecture implementation
118
- - 85% performance improvement over traditional tools (SVG processing time)
119
- - TypeScript-first approach with native type generation
120
-
121
- ### Removed
122
- - Legacy dependencies reducing package size by 89%
123
- - Single-framework limitation
124
- - Dependency-heavy build processes
125
-
126
- ## [2.0.0] - 2024-10-30
127
-
128
- ### Added
129
- - Complete multi-framework support for all 8 UI frameworks
130
- - Enhanced CLI commands with comprehensive options
131
- - Open source project files (CODE_OF_CONDUCT, LICENSE, CONTRIBUTING)
132
- - Professional project structure and documentation
133
-
134
- ### Changed
135
- - Major version release with breaking changes from 1.x
136
- - Enhanced README with multi-framework guide and benchmarks
137
- - Consolidated project structure and test organization
138
-
139
- ### Removed
140
- - node_modules folder from repository
141
- - Legacy 1.x architecture and dependencies
142
-
143
- ## [1.x.x] - Legacy Versions
144
-
145
- Please see the [releases page](https://github.com/faezemohades/svger-cli/releases) for information about 1.x versions.
146
-
147
- ---
148
-
149
- ## Legend
150
-
151
- - **Added** for new features
152
- - **Changed** for changes in existing functionality
153
- - **Deprecated** for soon-to-be removed features
154
- - **Removed** for now removed features
155
- - **Fixed** for any bug fixes
156
- - **Security** for vulnerability fixes
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project
6
+ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [2.0.7] - 2025-11-20
9
+
10
+ ### Fixed
11
+
12
+ - Version bump for npm publishing (2.0.6 was already published)
13
+
14
+ ## [2.0.6] - 2025-11-20
15
+
16
+ ### Added
17
+
18
+ - **🎉 React Native Support**: Full support for React Native with `react-native-svg`
19
+ - Automatic conversion of SVG elements to React Native SVG components
20
+ - Support for Path, Circle, Rect, Line, Polygon, Polyline, Ellipse, G, Defs, ClipPath, and
21
+ gradient components
22
+ - Proper prop conversion (strokeWidth, strokeLinecap, fillRule, etc.)
23
+ - TypeScript interfaces with SvgProps
24
+ - Size and color prop support
25
+ - ForwardRef implementation for React Native components
26
+ - Enhanced test suite with React Native validation
27
+ - Comprehensive React Native documentation
28
+
29
+ ### Changed
30
+
31
+ - Updated framework count from 8 to 9 supported frameworks
32
+ - Enhanced framework template engine to handle React Native SVG transformations
33
+ - Improved package description to include React Native
34
+ - Updated all documentation to reflect React Native support
35
+
36
+ ### Fixed
37
+
38
+ - Framework type definitions to include 'react-native'
39
+ - File extension handling for React Native (.tsx)
40
+ - Test validation for react-native-svg imports
41
+
42
+ ## [2.0.5] - 2025-11-11
43
+
44
+ ### Fixed
45
+
46
+ - **🔧 CRITICAL FIX: PascalCase Component Naming**: Fixed issue where files like
47
+ "ArrowBendDownLeft.svg" were incorrectly converted to "Arrowbenddownleft.tsx" instead of
48
+ preserving the correct "ArrowBendDownLeft.tsx" format
49
+ - Enhanced regex pattern in toPascalCase() to properly detect existing PascalCase names
50
+ - All existing PascalCase filenames now preserved correctly during component generation
51
+
52
+ ### Changed
53
+
54
+ - Updated README.md to v2.0.5 with critical fix details
55
+ - Updated all installation commands to new version
56
+
57
+ ## [2.0.4] - 2025-11-11
58
+
59
+ ### Added
60
+
61
+ - Complete 28-property configuration schema with React/Vue/Angular specific options
62
+ - Enhanced responsive design support with breakpoint configurations
63
+ - Comprehensive theme system with multiple design systems
64
+ - Advanced performance optimization settings
65
+ - Professional error handling and validation system
66
+
67
+ ### Fixed
68
+
69
+ - TypeScript duplicate export errors in index generation
70
+ - Enhanced toPascalCase to preserve existing PascalCase names
71
+ - Simplified index.ts generation to prevent conflicts
72
+ - Improved configuration validation and error messages
73
+
74
+ ### Documentation
75
+
76
+ - Updated README.md with comprehensive v2.0.4 feature documentation
77
+ - Added complete configuration schema documentation
78
+ - Enhanced comparison tables and installation instructions
79
+ - Included recent fixes section with technical details
80
+
81
+ ## [Unreleased] - 2025-11-12
82
+
83
+ ### Added
84
+ - Comprehensive performance analysis documentation with detailed technical breakdown
85
+ - Professional competitive analysis with fair tool comparisons
86
+ - Transparency section welcoming community feedback
87
+ - Use case recommendations for each tool in the ecosystem
88
+ - Detailed methodology for performance claims and benchmarking
89
+ - Research sources and feedback channels for documentation accuracy
90
+
91
+ ### Changed
92
+ - Corrected SVGR description to acknowledge webpack ecosystem support (not React-only)
93
+ - Clarified 85% performance improvement claim with proper context and scope
94
+ - Enhanced "Advanced Props" definition vs standard SVG props
95
+ - Improved competitive analysis to be fair, accurate, and professional
96
+ - Removed misleading bundle size comparisons (dev dependencies vs runtime)
97
+ - Updated documentation tone to be educational rather than competitive
98
+
99
+ ### Fixed
100
+ - Inaccurate claims about competitor tools' capabilities
101
+ - Misleading performance comparisons without proper context
102
+ - Unprofessional competitive analysis language
103
+ - Missing disclaimers and acknowledgments for ecosystem tools
104
+
105
+ ## [2.0.5] - 2025-11-11
106
+
107
+ ### Fixed
108
+ - **CRITICAL**: PascalCase component naming preservation
109
+ - Fixed issue where PascalCase filenames were incorrectly converted to lowercase
110
+ - ArrowBendDownLeft.svg ArrowBendDownLeft.tsx (was: Arrowbenddownleft.tsx)
111
+ - MyCustomIcon.svg MyCustomIcon.tsx (was: Mycustomicon.tsx)
112
+ - Enhanced regex pattern in toPascalCase() to properly detect existing PascalCase
113
+ - Maintained compatibility with all existing functionality
114
+ - All 28 framework tests continue passing
115
+
116
+ ### Changed
117
+ - Updated package version to 2.0.5
118
+ - Enhanced toPascalCase utility function for better case detection
119
+
120
+ ## [2.0.4] - 2025-11-11
121
+
122
+ ### Added
123
+ - Complete 28-property configuration schema
124
+ - React/Vue/Angular specific configuration options
125
+ - Enhanced responsive design support with breakpoint configurations
126
+ - Comprehensive theme system with multiple design systems support
127
+ - Advanced performance optimization settings
128
+ - Professional error handling and validation system
129
+ - Enhanced TypeScript support with improved type definitions
130
+
131
+ ### Changed
132
+ - Streamlined ESLint configuration (.eslintrc.js → .eslintrc.cjs)
133
+ - Enhanced component templates with new configuration support
134
+ - Improved configuration management across multiple files
135
+ - Updated README.md with comprehensive v2.0.4 feature documentation
136
+ - Enhanced comparison tables and installation instructions
137
+
138
+ ### Fixed
139
+ - TypeScript duplicate export errors in index generation
140
+ - Simplified index.ts generation to prevent conflicts
141
+ - Improved configuration validation and error messages
142
+ - Enhanced toPascalCase to preserve existing PascalCase names
143
+
144
+ ### Removed
145
+ - Redundant test documentation files (COMPLETE-TEST-REPORT.md, TEST-RESULTS.md, TESTING-SUMMARY.md)
146
+ - Deprecated ESLint configuration format
147
+ - Outdated package dependencies reducing bundle size
148
+
149
+ ## [2.0.3] - 2024-11-11
150
+
151
+ ### Added
152
+
153
+ - Enhanced package.json with comprehensive metadata
154
+ - Professional development tooling configuration
155
+ - Extended TypeScript support and type definitions
156
+ - Additional CLI aliases (`svger` shorthand)
157
+ - Comprehensive export map for better module resolution
158
+ - Development scripts for testing, linting, and formatting
159
+ - Documentation generation scripts
160
+ - Comprehensive testing suite with unified export pattern
161
+
162
+ ### Changed
163
+
164
+ - Improved package description with full feature list
165
+ - Enhanced keywords for better discoverability
166
+ - Updated contributor information with roles
167
+ - Expanded file inclusion patterns
168
+ - More comprehensive engine requirements
169
+
170
+ ### Fixed
171
+
172
+ - Package metadata completeness
173
+ - Export definitions for better tree-shaking
174
+ - Module resolution issues
175
+ - Native module file path resolution error
176
+
177
+ ### Removed
178
+ - Unnecessary test folders and configuration files
179
+ - Redundant package configurations
180
+
181
+ ## [2.0.2] - 2024-11-01
182
+
183
+ ### Added
184
+
185
+ - Multi-framework support (React, Vue, Angular, Svelte, Solid, Lit, Preact, Vanilla)
186
+ - Auto-generated index.ts exports with tree-shaking support
187
+ - Responsive design system with breakpoint configurations
188
+ - Theme support (light/dark/auto) with CSS variables
189
+ - File locking mechanism for protecting critical files
190
+ - Performance optimization engine with parallel processing
191
+
192
+ ### Changed
193
+
194
+ - Complete rewrite for enterprise-grade performance
195
+ - Zero-dependency architecture implementation
196
+ - 85% performance improvement over traditional tools (SVG processing time)
197
+ - TypeScript-first approach with native type generation
198
+
199
+ ### Removed
200
+ - Legacy dependencies reducing package size by 89%
201
+ - Single-framework limitation
202
+ - Dependency-heavy build processes
203
+
204
+ ## [2.0.0] - 2024-10-30
205
+
206
+ ### Added
207
+ - Complete multi-framework support for all 8 UI frameworks
208
+ - Enhanced CLI commands with comprehensive options
209
+ - Open source project files (CODE_OF_CONDUCT, LICENSE, CONTRIBUTING)
210
+ - Professional project structure and documentation
211
+
212
+ ### Changed
213
+ - Major version release with breaking changes from 1.x
214
+ - Enhanced README with multi-framework guide and benchmarks
215
+ - Consolidated project structure and test organization
216
+
217
+ ### Removed
218
+ - node_modules folder from repository
219
+ - Legacy 1.x architecture and dependencies
220
+
221
+ ## [1.x.x] - Legacy Versions
222
+
223
+ Please see the [releases page](https://github.com/faezemohades/svger-cli/releases) for information
224
+ about 1.x versions.
225
+
226
+ ---
227
+
228
+ ## Legend
229
+
230
+ - **Added** for new features
231
+ - **Changed** for changes in existing functionality
232
+ - **Deprecated** for soon-to-be removed features
233
+ - **Removed** for now removed features
234
+ - **Fixed** for any bug fixes
235
+ - **Security** for vulnerability fixes