@sun-asterisk/sunlint 1.3.4 → 1.3.5
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 +32 -0
- package/config/presets/all.json +49 -48
- package/config/presets/beginner.json +7 -18
- package/config/presets/ci.json +63 -27
- package/config/presets/maintainability.json +6 -4
- package/config/presets/performance.json +4 -3
- package/config/presets/quality.json +11 -50
- package/config/presets/recommended.json +83 -10
- package/config/presets/security.json +20 -19
- package/config/presets/strict.json +6 -13
- package/config/rules/enhanced-rules-registry.json +64 -7
- package/core/config-preset-resolver.js +7 -2
- package/package.json +1 -1
- package/rules/common/C067_no_hardcoded_config/analyzer.js +95 -0
- package/rules/common/C067_no_hardcoded_config/config.json +81 -0
- package/rules/common/C067_no_hardcoded_config/symbol-based-analyzer.js +1000 -0
- package/rules/security/S024_xpath_xxe_protection/analyzer.js +242 -0
- package/rules/security/S024_xpath_xxe_protection/config.json +152 -0
- package/rules/security/S024_xpath_xxe_protection/regex-based-analyzer.js +338 -0
- package/rules/security/S024_xpath_xxe_protection/symbol-based-analyzer.js +474 -0
- package/rules/security/S025_server_side_validation/README.md +179 -0
- package/rules/security/S025_server_side_validation/analyzer.js +242 -0
- package/rules/security/S025_server_side_validation/config.json +111 -0
- package/rules/security/S025_server_side_validation/regex-based-analyzer.js +388 -0
- package/rules/security/S025_server_side_validation/symbol-based-analyzer.js +523 -0
- package/scripts/README.md +83 -0
- package/scripts/analyze-core-rules.js +151 -0
- package/scripts/generate-presets.js +202 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,38 @@
|
|
|
2
2
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
+
## 🔧 **v1.3.5 - Preset System Refactor (September 8, 2025)**
|
|
6
|
+
|
|
7
|
+
**Release Date**: September 8, 2025
|
|
8
|
+
**Type**: Feature Enhancement
|
|
9
|
+
|
|
10
|
+
### ✨ **New Features**
|
|
11
|
+
- **ENHANCED**: Complete preset system overhaul
|
|
12
|
+
- **Data-driven presets**: All presets now generated from actual rule sources
|
|
13
|
+
- **Accurate rule counting**: Presets contain only activated rules with tool support
|
|
14
|
+
- **New preset categories**: Added beginner, ci, strict, maintainability, performance presets
|
|
15
|
+
- **Comprehensive "all" preset**: 88 activated rules from common and security files
|
|
16
|
+
|
|
17
|
+
### 🔧 **Technical Improvements**
|
|
18
|
+
- **ADDED**: Automated preset generation scripts
|
|
19
|
+
- `scripts/generate-presets.js` - Generate all preset configurations
|
|
20
|
+
- `scripts/analyze-core-rules.js` - Analyze rules from markdown sources
|
|
21
|
+
- **UPDATED**: ConfigPresetResolver now supports all 9 presets
|
|
22
|
+
- **ORGANIZED**: Scripts directory with clear categorization and documentation
|
|
23
|
+
- **FIXED**: Preset-to-rule mapping accuracy
|
|
24
|
+
|
|
25
|
+
### 🎯 **Preset System**
|
|
26
|
+
- **9 total presets**: all, recommended, security, quality, beginner, ci, strict, maintainability, performance
|
|
27
|
+
- **Focus**: Only common-en.md and security-en.md rules (no language-specific rules)
|
|
28
|
+
- **Validation**: Tested with real demo project showing 135 violations detected
|
|
29
|
+
|
|
30
|
+
### 📦 **Upgrade Notes**
|
|
31
|
+
- **Zero breaking changes** - all existing configurations work
|
|
32
|
+
- **New presets available** - can now use @sun/sunlint/all and other new presets
|
|
33
|
+
- **Improved accuracy** - presets now contain only rules that actually work
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
5
37
|
## � **v1.3.4 - Engine Auto Hotfix (September 5, 2025)**
|
|
6
38
|
|
|
7
39
|
**Release Date**: September 5, 2025
|
package/config/presets/all.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sun/sunlint/all",
|
|
3
|
-
"description": "Comprehensive configuration with all
|
|
3
|
+
"description": "Comprehensive configuration with all activated rules from core files",
|
|
4
4
|
"rules": {
|
|
5
5
|
"C003": "warn",
|
|
6
6
|
"C006": "warn",
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
"C072": "warn",
|
|
33
33
|
"C073": "warn",
|
|
34
34
|
"C075": "warn",
|
|
35
|
+
"C076": "warn",
|
|
35
36
|
"S001": "error",
|
|
36
37
|
"S002": "error",
|
|
37
38
|
"S003": "warn",
|
|
@@ -41,56 +42,54 @@
|
|
|
41
42
|
"S007": "warn",
|
|
42
43
|
"S008": "warn",
|
|
43
44
|
"S009": "warn",
|
|
44
|
-
"S010": "
|
|
45
|
-
"S011": "
|
|
45
|
+
"S010": "warn",
|
|
46
|
+
"S011": "warn",
|
|
46
47
|
"S012": "warn",
|
|
47
|
-
"S013": "
|
|
48
|
+
"S013": "warn",
|
|
48
49
|
"S014": "warn",
|
|
49
50
|
"S015": "warn",
|
|
50
|
-
"S016": "
|
|
51
|
+
"S016": "warn",
|
|
51
52
|
"S017": "error",
|
|
52
|
-
"S018": "
|
|
53
|
-
"S019": "
|
|
54
|
-
"S020": "
|
|
55
|
-
"S021": "
|
|
56
|
-
"S022": "
|
|
57
|
-
"S023": "
|
|
58
|
-
"
|
|
59
|
-
"S025": "error",
|
|
53
|
+
"S018": "warn",
|
|
54
|
+
"S019": "warn",
|
|
55
|
+
"S020": "warn",
|
|
56
|
+
"S021": "warn",
|
|
57
|
+
"S022": "warn",
|
|
58
|
+
"S023": "warn",
|
|
59
|
+
"S025": "warn",
|
|
60
60
|
"S026": "warn",
|
|
61
|
-
"S027": "
|
|
62
|
-
"S028": "
|
|
63
|
-
"S029": "
|
|
64
|
-
"S030": "
|
|
65
|
-
"S031": "
|
|
66
|
-
"S032": "
|
|
67
|
-
"S033": "
|
|
68
|
-
"S034": "
|
|
69
|
-
"S035": "
|
|
70
|
-
"S036": "
|
|
71
|
-
"S037": "
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"S043": "error",
|
|
61
|
+
"S027": "warn",
|
|
62
|
+
"S028": "warn",
|
|
63
|
+
"S029": "warn",
|
|
64
|
+
"S030": "warn",
|
|
65
|
+
"S031": "warn",
|
|
66
|
+
"S032": "warn",
|
|
67
|
+
"S033": "warn",
|
|
68
|
+
"S034": "warn",
|
|
69
|
+
"S035": "warn",
|
|
70
|
+
"S036": "warn",
|
|
71
|
+
"S037": "warn",
|
|
72
|
+
"S039": "warn",
|
|
73
|
+
"S040": "warn",
|
|
74
|
+
"S041": "warn",
|
|
75
|
+
"S042": "warn",
|
|
76
|
+
"S043": "warn",
|
|
78
77
|
"S044": "warn",
|
|
79
|
-
"S045": "
|
|
80
|
-
"S046": "
|
|
81
|
-
"S047": "
|
|
82
|
-
"S048": "
|
|
83
|
-
"S049": "
|
|
84
|
-
"S050": "
|
|
85
|
-
"S051": "
|
|
86
|
-
"S052": "
|
|
87
|
-
"S053": "
|
|
88
|
-
"S054": "
|
|
89
|
-
"S055": "
|
|
90
|
-
"S056": "
|
|
91
|
-
"S057": "
|
|
92
|
-
"S058": "
|
|
93
|
-
"S059": "
|
|
78
|
+
"S045": "warn",
|
|
79
|
+
"S046": "warn",
|
|
80
|
+
"S047": "warn",
|
|
81
|
+
"S048": "warn",
|
|
82
|
+
"S049": "warn",
|
|
83
|
+
"S050": "warn",
|
|
84
|
+
"S051": "warn",
|
|
85
|
+
"S052": "warn",
|
|
86
|
+
"S053": "warn",
|
|
87
|
+
"S054": "warn",
|
|
88
|
+
"S055": "warn",
|
|
89
|
+
"S056": "warn",
|
|
90
|
+
"S057": "warn",
|
|
91
|
+
"S058": "warn",
|
|
92
|
+
"S059": "warn"
|
|
94
93
|
},
|
|
95
94
|
"categories": {
|
|
96
95
|
"quality": "warn",
|
|
@@ -116,9 +115,11 @@
|
|
|
116
115
|
"**/*.min.*"
|
|
117
116
|
],
|
|
118
117
|
"metadata": {
|
|
119
|
-
"totalRules":
|
|
118
|
+
"totalRules": 88,
|
|
120
119
|
"removedRules": 0,
|
|
121
|
-
"
|
|
122
|
-
"source": "
|
|
120
|
+
"approach": "comprehensive-activated-only",
|
|
121
|
+
"source": "common-en.md + security-en.md (activated only)",
|
|
122
|
+
"lastUpdated": "2025-09-08T04:34:12.590Z",
|
|
123
|
+
"version": "2.0.0"
|
|
123
124
|
}
|
|
124
125
|
}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"name": "@sun/sunlint/beginner",
|
|
3
3
|
"description": "Beginner-friendly configuration with warnings only",
|
|
4
4
|
"rules": {
|
|
5
|
+
"C006": "info",
|
|
5
6
|
"C019": "warn",
|
|
6
|
-
"C029": "warn"
|
|
7
|
-
"C006": "info"
|
|
7
|
+
"C029": "warn"
|
|
8
8
|
},
|
|
9
9
|
"categories": {
|
|
10
10
|
"quality": "warn",
|
|
@@ -21,24 +21,13 @@
|
|
|
21
21
|
"**/build/**",
|
|
22
22
|
"**/dist/**",
|
|
23
23
|
"**/*.generated.*",
|
|
24
|
-
"**/*.min.*"
|
|
25
|
-
"**/test/**",
|
|
26
|
-
"**/tests/**"
|
|
24
|
+
"**/*.min.*"
|
|
27
25
|
],
|
|
28
|
-
"ai": {
|
|
29
|
-
"enabled": false,
|
|
30
|
-
"fallbackToPattern": true
|
|
31
|
-
},
|
|
32
|
-
"reporting": {
|
|
33
|
-
"exitOnError": false,
|
|
34
|
-
"showProgress": true,
|
|
35
|
-
"includeContext": true,
|
|
36
|
-
"showFixSuggestions": true
|
|
37
|
-
},
|
|
38
26
|
"metadata": {
|
|
39
27
|
"totalRules": 3,
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
28
|
+
"approach": "beginner-friendly",
|
|
29
|
+
"source": "selected core rules",
|
|
30
|
+
"lastUpdated": "2025-09-08T04:34:12.590Z",
|
|
31
|
+
"version": "2.0.0"
|
|
43
32
|
}
|
|
44
33
|
}
|
package/config/presets/ci.json
CHANGED
|
@@ -4,6 +4,63 @@
|
|
|
4
4
|
"rules": {
|
|
5
5
|
"C019": "error",
|
|
6
6
|
"C029": "error",
|
|
7
|
+
"S001": "error",
|
|
8
|
+
"S002": "error",
|
|
9
|
+
"S003": "error",
|
|
10
|
+
"S004": "error",
|
|
11
|
+
"S005": "error",
|
|
12
|
+
"S006": "error",
|
|
13
|
+
"S007": "error",
|
|
14
|
+
"S008": "error",
|
|
15
|
+
"S009": "error",
|
|
16
|
+
"S010": "error",
|
|
17
|
+
"S011": "error",
|
|
18
|
+
"S012": "error",
|
|
19
|
+
"S013": "error",
|
|
20
|
+
"S014": "error",
|
|
21
|
+
"S015": "error",
|
|
22
|
+
"S016": "error",
|
|
23
|
+
"S017": "error",
|
|
24
|
+
"S018": "error",
|
|
25
|
+
"S019": "error",
|
|
26
|
+
"S020": "error",
|
|
27
|
+
"S021": "error",
|
|
28
|
+
"S022": "error",
|
|
29
|
+
"S023": "error",
|
|
30
|
+
"S025": "error",
|
|
31
|
+
"S026": "error",
|
|
32
|
+
"S027": "error",
|
|
33
|
+
"S028": "error",
|
|
34
|
+
"S029": "error",
|
|
35
|
+
"S030": "error",
|
|
36
|
+
"S031": "error",
|
|
37
|
+
"S032": "error",
|
|
38
|
+
"S033": "error",
|
|
39
|
+
"S034": "error",
|
|
40
|
+
"S035": "error",
|
|
41
|
+
"S036": "error",
|
|
42
|
+
"S037": "error",
|
|
43
|
+
"S039": "error",
|
|
44
|
+
"S040": "error",
|
|
45
|
+
"S041": "error",
|
|
46
|
+
"S042": "error",
|
|
47
|
+
"S043": "error",
|
|
48
|
+
"S044": "error",
|
|
49
|
+
"S045": "error",
|
|
50
|
+
"S046": "error",
|
|
51
|
+
"S047": "error",
|
|
52
|
+
"S048": "error",
|
|
53
|
+
"S049": "error",
|
|
54
|
+
"S050": "error",
|
|
55
|
+
"S051": "error",
|
|
56
|
+
"S052": "error",
|
|
57
|
+
"S053": "error",
|
|
58
|
+
"S054": "error",
|
|
59
|
+
"S055": "error",
|
|
60
|
+
"S056": "error",
|
|
61
|
+
"S057": "error",
|
|
62
|
+
"S058": "error",
|
|
63
|
+
"S059": "error",
|
|
7
64
|
"C006": "off"
|
|
8
65
|
},
|
|
9
66
|
"categories": {
|
|
@@ -22,34 +79,13 @@
|
|
|
22
79
|
"**/build/**",
|
|
23
80
|
"**/dist/**",
|
|
24
81
|
"**/*.generated.*",
|
|
25
|
-
"**/*.min.*"
|
|
26
|
-
"coverage/**"
|
|
82
|
+
"**/*.min.*"
|
|
27
83
|
],
|
|
28
|
-
"ai": {
|
|
29
|
-
"enabled": false,
|
|
30
|
-
"fallbackToPattern": true
|
|
31
|
-
},
|
|
32
|
-
"output": {
|
|
33
|
-
"format": "github",
|
|
34
|
-
"console": false,
|
|
35
|
-
"summary": true,
|
|
36
|
-
"file": "sunlint-report.json"
|
|
37
|
-
},
|
|
38
|
-
"performance": {
|
|
39
|
-
"maxConcurrentRules": 10,
|
|
40
|
-
"timeoutMs": 60000,
|
|
41
|
-
"cacheEnabled": true
|
|
42
|
-
},
|
|
43
|
-
"reporting": {
|
|
44
|
-
"exitOnError": true,
|
|
45
|
-
"showProgress": false,
|
|
46
|
-
"includeContext": false,
|
|
47
|
-
"showFixSuggestions": false
|
|
48
|
-
},
|
|
49
84
|
"metadata": {
|
|
50
|
-
"totalRules":
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
85
|
+
"totalRules": 60,
|
|
86
|
+
"approach": "ci-optimized",
|
|
87
|
+
"source": "critical rules only",
|
|
88
|
+
"lastUpdated": "2025-09-08T04:34:12.590Z",
|
|
89
|
+
"version": "2.0.0"
|
|
54
90
|
}
|
|
55
91
|
}
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
"S008": "warn"
|
|
13
13
|
},
|
|
14
14
|
"categories": {
|
|
15
|
-
"maintainability": "warn"
|
|
15
|
+
"maintainability": "warn",
|
|
16
|
+
"design": "warn"
|
|
16
17
|
},
|
|
17
18
|
"languages": [
|
|
18
19
|
"typescript",
|
|
@@ -31,8 +32,9 @@
|
|
|
31
32
|
],
|
|
32
33
|
"metadata": {
|
|
33
34
|
"totalRules": 8,
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
35
|
+
"approach": "maintainability-focused",
|
|
36
|
+
"source": "maintainability principle rules",
|
|
37
|
+
"lastUpdated": "2025-09-08T04:34:12.590Z",
|
|
38
|
+
"version": "2.0.0"
|
|
37
39
|
}
|
|
38
40
|
}
|
|
@@ -25,8 +25,9 @@
|
|
|
25
25
|
],
|
|
26
26
|
"metadata": {
|
|
27
27
|
"totalRules": 2,
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
28
|
+
"approach": "performance-focused",
|
|
29
|
+
"source": "performance principle rules",
|
|
30
|
+
"lastUpdated": "2025-09-08T04:34:12.590Z",
|
|
31
|
+
"version": "2.0.0"
|
|
31
32
|
}
|
|
32
33
|
}
|
|
@@ -20,7 +20,9 @@
|
|
|
20
20
|
"C042": "warn",
|
|
21
21
|
"C043": "warn",
|
|
22
22
|
"C047": "warn",
|
|
23
|
+
"C048": "warn",
|
|
23
24
|
"C052": "warn",
|
|
25
|
+
"C056": "warn",
|
|
24
26
|
"C060": "warn",
|
|
25
27
|
"C061": "warn",
|
|
26
28
|
"C065": "warn",
|
|
@@ -29,55 +31,12 @@
|
|
|
29
31
|
"C072": "warn",
|
|
30
32
|
"C073": "warn",
|
|
31
33
|
"C075": "warn",
|
|
32
|
-
"C076": "warn"
|
|
33
|
-
"S001": "error",
|
|
34
|
-
"S002": "error",
|
|
35
|
-
"S004": "warn",
|
|
36
|
-
"S005": "warn",
|
|
37
|
-
"S006": "warn",
|
|
38
|
-
"S007": "warn",
|
|
39
|
-
"S008": "warn",
|
|
40
|
-
"S009": "warn",
|
|
41
|
-
"S010": "error",
|
|
42
|
-
"S011": "error",
|
|
43
|
-
"S013": "error",
|
|
44
|
-
"S014": "warn",
|
|
45
|
-
"S017": "error",
|
|
46
|
-
"S021": "warn",
|
|
47
|
-
"S022": "warn",
|
|
48
|
-
"S023": "error",
|
|
49
|
-
"S025": "warn",
|
|
50
|
-
"S026": "warn",
|
|
51
|
-
"S027": "warn",
|
|
52
|
-
"S028": "warn",
|
|
53
|
-
"S029": "error",
|
|
54
|
-
"S030": "warn",
|
|
55
|
-
"S033": "warn",
|
|
56
|
-
"S034": "warn",
|
|
57
|
-
"S035": "warn",
|
|
58
|
-
"S036": "error",
|
|
59
|
-
"S041": "warn",
|
|
60
|
-
"S042": "warn",
|
|
61
|
-
"S043": "warn",
|
|
62
|
-
"S044": "warn",
|
|
63
|
-
"S045": "warn",
|
|
64
|
-
"S046": "warn",
|
|
65
|
-
"S047": "error",
|
|
66
|
-
"S048": "warn",
|
|
67
|
-
"S049": "warn",
|
|
68
|
-
"S050": "warn",
|
|
69
|
-
"S051": "warn",
|
|
70
|
-
"S052": "warn",
|
|
71
|
-
"S053": "warn",
|
|
72
|
-
"S054": "error",
|
|
73
|
-
"S055": "warn",
|
|
74
|
-
"S057": "warn",
|
|
75
|
-
"S058": "warn",
|
|
76
|
-
"S059": "warn"
|
|
34
|
+
"C076": "warn"
|
|
77
35
|
},
|
|
78
36
|
"categories": {
|
|
79
37
|
"quality": "warn",
|
|
80
|
-
"
|
|
38
|
+
"maintainability": "warn",
|
|
39
|
+
"testability": "warn"
|
|
81
40
|
},
|
|
82
41
|
"languages": [
|
|
83
42
|
"typescript",
|
|
@@ -95,9 +54,11 @@
|
|
|
95
54
|
"**/*.min.*"
|
|
96
55
|
],
|
|
97
56
|
"metadata": {
|
|
98
|
-
"totalRules":
|
|
99
|
-
"
|
|
100
|
-
"
|
|
101
|
-
"source": "
|
|
57
|
+
"totalRules": 30,
|
|
58
|
+
"qualityRules": 30,
|
|
59
|
+
"approach": "quality-focused",
|
|
60
|
+
"source": "common-en.md (non-security rules)",
|
|
61
|
+
"lastUpdated": "2025-09-08T04:33:23.247Z",
|
|
62
|
+
"version": "2.0.0"
|
|
102
63
|
}
|
|
103
64
|
}
|
|
@@ -4,19 +4,92 @@
|
|
|
4
4
|
"rules": {
|
|
5
5
|
"C003": "warn",
|
|
6
6
|
"C006": "warn",
|
|
7
|
-
"
|
|
7
|
+
"C013": "warn",
|
|
8
|
+
"C014": "warn",
|
|
9
|
+
"C017": "warn",
|
|
10
|
+
"C018": "warn",
|
|
8
11
|
"C019": "warn",
|
|
12
|
+
"C023": "warn",
|
|
13
|
+
"C024": "warn",
|
|
9
14
|
"C029": "warn",
|
|
15
|
+
"C030": "warn",
|
|
10
16
|
"C031": "warn",
|
|
11
|
-
"
|
|
12
|
-
"
|
|
17
|
+
"C033": "warn",
|
|
18
|
+
"C035": "warn",
|
|
19
|
+
"C040": "warn",
|
|
20
|
+
"C041": "warn",
|
|
21
|
+
"C042": "warn",
|
|
22
|
+
"C043": "warn",
|
|
23
|
+
"C047": "warn",
|
|
24
|
+
"C048": "warn",
|
|
25
|
+
"C052": "warn",
|
|
26
|
+
"C056": "warn",
|
|
27
|
+
"C060": "warn",
|
|
28
|
+
"C061": "warn",
|
|
29
|
+
"C065": "warn",
|
|
30
|
+
"C067": "warn",
|
|
31
|
+
"C070": "warn",
|
|
32
|
+
"C072": "warn",
|
|
33
|
+
"C073": "warn",
|
|
34
|
+
"C075": "warn",
|
|
35
|
+
"C076": "warn",
|
|
13
36
|
"S001": "error",
|
|
14
37
|
"S002": "error",
|
|
15
38
|
"S003": "warn",
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
39
|
+
"S004": "warn",
|
|
40
|
+
"S005": "warn",
|
|
41
|
+
"S006": "warn",
|
|
42
|
+
"S007": "warn",
|
|
43
|
+
"S008": "warn",
|
|
44
|
+
"S009": "warn",
|
|
45
|
+
"S010": "warn",
|
|
46
|
+
"S011": "warn",
|
|
47
|
+
"S012": "warn",
|
|
48
|
+
"S013": "warn",
|
|
49
|
+
"S014": "warn",
|
|
50
|
+
"S015": "warn",
|
|
51
|
+
"S016": "warn",
|
|
52
|
+
"S017": "error",
|
|
53
|
+
"S018": "warn",
|
|
54
|
+
"S019": "warn",
|
|
55
|
+
"S020": "warn",
|
|
56
|
+
"S021": "warn",
|
|
57
|
+
"S022": "warn",
|
|
58
|
+
"S023": "warn",
|
|
59
|
+
"S025": "warn",
|
|
60
|
+
"S026": "warn",
|
|
61
|
+
"S027": "warn",
|
|
62
|
+
"S028": "warn",
|
|
63
|
+
"S029": "warn",
|
|
64
|
+
"S030": "warn",
|
|
65
|
+
"S031": "warn",
|
|
66
|
+
"S032": "warn",
|
|
67
|
+
"S033": "warn",
|
|
68
|
+
"S034": "warn",
|
|
69
|
+
"S035": "warn",
|
|
70
|
+
"S036": "warn",
|
|
71
|
+
"S037": "warn",
|
|
72
|
+
"S039": "warn",
|
|
73
|
+
"S040": "warn",
|
|
74
|
+
"S041": "warn",
|
|
75
|
+
"S042": "warn",
|
|
76
|
+
"S043": "warn",
|
|
77
|
+
"S044": "warn",
|
|
78
|
+
"S045": "warn",
|
|
79
|
+
"S046": "warn",
|
|
80
|
+
"S047": "warn",
|
|
81
|
+
"S048": "warn",
|
|
82
|
+
"S049": "warn",
|
|
83
|
+
"S050": "warn",
|
|
84
|
+
"S051": "warn",
|
|
85
|
+
"S052": "warn",
|
|
86
|
+
"S053": "warn",
|
|
87
|
+
"S054": "warn",
|
|
88
|
+
"S055": "warn",
|
|
89
|
+
"S056": "warn",
|
|
90
|
+
"S057": "warn",
|
|
91
|
+
"S058": "warn",
|
|
92
|
+
"S059": "warn"
|
|
20
93
|
},
|
|
21
94
|
"categories": {
|
|
22
95
|
"quality": "warn",
|
|
@@ -38,11 +111,11 @@
|
|
|
38
111
|
"**/*.min.*"
|
|
39
112
|
],
|
|
40
113
|
"metadata": {
|
|
41
|
-
"totalRules":
|
|
42
|
-
"coreRules":
|
|
114
|
+
"totalRules": 88,
|
|
115
|
+
"coreRules": 88,
|
|
43
116
|
"approach": "core-files-only",
|
|
44
117
|
"source": "common-en.md + security-en.md",
|
|
45
|
-
"lastUpdated": "2025-
|
|
118
|
+
"lastUpdated": "2025-09-08T04:33:23.247Z",
|
|
46
119
|
"version": "2.0.0"
|
|
47
120
|
}
|
|
48
121
|
}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
"name": "@sun/sunlint/security",
|
|
3
3
|
"description": "Security-focused configuration with all security rules",
|
|
4
4
|
"rules": {
|
|
5
|
-
"C041": "warn",
|
|
6
5
|
"S001": "error",
|
|
7
6
|
"S002": "error",
|
|
8
7
|
"S003": "warn",
|
|
@@ -12,51 +11,51 @@
|
|
|
12
11
|
"S007": "warn",
|
|
13
12
|
"S008": "warn",
|
|
14
13
|
"S009": "warn",
|
|
15
|
-
"S010": "
|
|
16
|
-
"S011": "
|
|
14
|
+
"S010": "warn",
|
|
15
|
+
"S011": "warn",
|
|
17
16
|
"S012": "warn",
|
|
18
|
-
"S013": "
|
|
17
|
+
"S013": "warn",
|
|
19
18
|
"S014": "warn",
|
|
20
19
|
"S015": "warn",
|
|
21
|
-
"S016": "
|
|
20
|
+
"S016": "warn",
|
|
22
21
|
"S017": "error",
|
|
23
22
|
"S018": "warn",
|
|
24
23
|
"S019": "warn",
|
|
25
|
-
"S020": "
|
|
24
|
+
"S020": "warn",
|
|
26
25
|
"S021": "warn",
|
|
27
26
|
"S022": "warn",
|
|
28
|
-
"S023": "
|
|
27
|
+
"S023": "warn",
|
|
29
28
|
"S025": "warn",
|
|
30
29
|
"S026": "warn",
|
|
31
30
|
"S027": "warn",
|
|
32
31
|
"S028": "warn",
|
|
33
|
-
"S029": "
|
|
32
|
+
"S029": "warn",
|
|
34
33
|
"S030": "warn",
|
|
35
|
-
"S031": "
|
|
34
|
+
"S031": "warn",
|
|
36
35
|
"S032": "warn",
|
|
37
36
|
"S033": "warn",
|
|
38
37
|
"S034": "warn",
|
|
39
38
|
"S035": "warn",
|
|
40
|
-
"S036": "
|
|
39
|
+
"S036": "warn",
|
|
41
40
|
"S037": "warn",
|
|
42
|
-
"S039": "
|
|
43
|
-
"S040": "
|
|
41
|
+
"S039": "warn",
|
|
42
|
+
"S040": "warn",
|
|
44
43
|
"S041": "warn",
|
|
45
44
|
"S042": "warn",
|
|
46
45
|
"S043": "warn",
|
|
47
46
|
"S044": "warn",
|
|
48
47
|
"S045": "warn",
|
|
49
48
|
"S046": "warn",
|
|
50
|
-
"S047": "
|
|
49
|
+
"S047": "warn",
|
|
51
50
|
"S048": "warn",
|
|
52
51
|
"S049": "warn",
|
|
53
52
|
"S050": "warn",
|
|
54
53
|
"S051": "warn",
|
|
55
54
|
"S052": "warn",
|
|
56
55
|
"S053": "warn",
|
|
57
|
-
"S054": "
|
|
56
|
+
"S054": "warn",
|
|
58
57
|
"S055": "warn",
|
|
59
|
-
"S056": "
|
|
58
|
+
"S056": "warn",
|
|
60
59
|
"S057": "warn",
|
|
61
60
|
"S058": "warn",
|
|
62
61
|
"S059": "warn"
|
|
@@ -80,9 +79,11 @@
|
|
|
80
79
|
"**/*.min.*"
|
|
81
80
|
],
|
|
82
81
|
"metadata": {
|
|
83
|
-
"totalRules":
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"source": "
|
|
82
|
+
"totalRules": 57,
|
|
83
|
+
"securityRules": 57,
|
|
84
|
+
"approach": "security-focused",
|
|
85
|
+
"source": "security-en.md",
|
|
86
|
+
"lastUpdated": "2025-09-08T04:33:23.247Z",
|
|
87
|
+
"version": "2.0.0"
|
|
87
88
|
}
|
|
88
89
|
}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"name": "@sun/sunlint/strict",
|
|
3
3
|
"description": "Strict configuration for production projects",
|
|
4
4
|
"rules": {
|
|
5
|
+
"C006": "error",
|
|
5
6
|
"C019": "error",
|
|
6
|
-
"C029": "error"
|
|
7
|
-
"C006": "warn"
|
|
7
|
+
"C029": "error"
|
|
8
8
|
},
|
|
9
9
|
"categories": {
|
|
10
10
|
"quality": "error",
|
|
@@ -25,18 +25,11 @@
|
|
|
25
25
|
"**/*.generated.*",
|
|
26
26
|
"**/*.min.*"
|
|
27
27
|
],
|
|
28
|
-
"ai": {
|
|
29
|
-
"enabled": true,
|
|
30
|
-
"fallbackToPattern": false
|
|
31
|
-
},
|
|
32
|
-
"reporting": {
|
|
33
|
-
"exitOnError": true,
|
|
34
|
-
"showProgress": true
|
|
35
|
-
},
|
|
36
28
|
"metadata": {
|
|
37
29
|
"totalRules": 3,
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
30
|
+
"approach": "strict",
|
|
31
|
+
"source": "core rules as errors",
|
|
32
|
+
"lastUpdated": "2025-09-08T04:34:12.590Z",
|
|
33
|
+
"version": "2.0.0"
|
|
41
34
|
}
|
|
42
35
|
}
|