svger-cli 2.0.5 → 2.0.6

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,64 +1,156 @@
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
- ## [2.0.3] - 2024-11-11
9
-
10
- ### Added
11
- - Enhanced package.json with comprehensive metadata
12
- - Professional development tooling configuration
13
- - Extended TypeScript support and type definitions
14
- - Additional CLI aliases (`svger` shorthand)
15
- - Comprehensive export map for better module resolution
16
- - Development scripts for testing, linting, and formatting
17
- - Documentation generation scripts
18
-
19
- ### Changed
20
- - Improved package description with full feature list
21
- - Enhanced keywords for better discoverability
22
- - Updated contributor information with roles
23
- - Expanded file inclusion patterns
24
- - More comprehensive engine requirements
25
-
26
- ### Fixed
27
- - Package metadata completeness
28
- - Export definitions for better tree-shaking
29
- - Module resolution issues
30
-
31
- ## [2.0.2] - 2024-11-01
32
-
33
- ### Added
34
- - Multi-framework support (React, Vue, Angular, Svelte, Solid, Lit, Preact, Vanilla)
35
- - Auto-generated index.ts exports
36
- - Responsive design system
37
- - Theme support (light/dark/auto)
38
- - File locking mechanism
39
- - Performance optimization engine
40
-
41
- ### Changed
42
- - Complete rewrite for enterprise-grade performance
43
- - Zero-dependency architecture
44
- - 85% performance improvement over SVGR
45
- - TypeScript-first approach
46
-
47
- ### Removed
48
- - Legacy dependencies
49
- - Single-framework limitation
50
-
51
- ## [1.x.x] - Legacy Versions
52
-
53
- Please see the [releases page](https://github.com/faezemohades/svger-cli/releases) for information about 1.x versions.
54
-
55
- ---
56
-
57
- ## Legend
58
-
59
- - **Added** for new features
60
- - **Changed** for changes in existing functionality
61
- - **Deprecated** for soon-to-be removed features
62
- - **Removed** for now removed features
63
- - **Fixed** for any bug 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/),
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
64
156
  - **Security** for vulnerability fixes