@sun-asterisk/sunlint 1.3.4 → 1.3.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.
- package/CHANGELOG.md +62 -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/rule-analysis-strategies.js +5 -0
- package/config/rules/enhanced-rules-registry.json +87 -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 +1034 -0
- package/rules/common/C070_no_real_time_tests/analyzer.js +320 -0
- package/rules/common/C070_no_real_time_tests/config.json +78 -0
- package/rules/common/C070_no_real_time_tests/regex-analyzer.js +424 -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,68 @@
|
|
|
2
2
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
+
## 🔧 **v1.3.6 - C067 False Positive Reduction (September 8, 2025)**
|
|
6
|
+
|
|
7
|
+
**Release Date**: September 8, 2025
|
|
8
|
+
**Type**: Bug Fix & Improvement
|
|
9
|
+
|
|
10
|
+
### 🐛 **Bug Fixes**
|
|
11
|
+
- **FIXED**: C067 "no hardcoded config" rule - Massive false positive reduction
|
|
12
|
+
- **replace-fe**: From 296 → 2 violations (-99.3%)
|
|
13
|
+
- **replace-be**: From 171 → 3 violations (-98.2%)
|
|
14
|
+
- **jmb-app-be**: From 121 → 5 violations (-95.9%)
|
|
15
|
+
- **mdx-cycle-hack**: From 8 → 6 violations (-25%)
|
|
16
|
+
|
|
17
|
+
### 🔧 **Technical Improvements**
|
|
18
|
+
- **ENHANCED**: C067 analyzer logic improvements
|
|
19
|
+
- Skip dummy/test files and entity files completely
|
|
20
|
+
- Exclude field mapping objects and ORM configurations
|
|
21
|
+
- Skip database constraint names (primaryKeyConstraintName, etc.)
|
|
22
|
+
- Focus only on truly environment-dependent configurations
|
|
23
|
+
- Exclude business logic constants and UI field mappings
|
|
24
|
+
- **IMPROVED**: Rule precision - Only flag real environment config issues
|
|
25
|
+
- API endpoints, AWS service URLs, application keys
|
|
26
|
+
- Credential values and connection strings
|
|
27
|
+
- Environment-dependent timeouts and ports
|
|
28
|
+
|
|
29
|
+
### 📊 **Performance**
|
|
30
|
+
- **OPTIMIZED**: Reduced analysis noise by 95%+ on large projects
|
|
31
|
+
- **ENHANCED**: Better developer experience with fewer false alarms
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 🔧 **v1.3.5 - Preset System Refactor (September 8, 2025)**
|
|
36
|
+
|
|
37
|
+
**Release Date**: September 8, 2025
|
|
38
|
+
**Type**: Feature Enhancement
|
|
39
|
+
|
|
40
|
+
### ✨ **New Features**
|
|
41
|
+
- **ENHANCED**: Complete preset system overhaul
|
|
42
|
+
- **Data-driven presets**: All presets now generated from actual rule sources
|
|
43
|
+
- **Accurate rule counting**: Presets contain only activated rules with tool support
|
|
44
|
+
- **New preset categories**: Added beginner, ci, strict, maintainability, performance presets
|
|
45
|
+
- **Comprehensive "all" preset**: 88 activated rules from common and security files
|
|
46
|
+
|
|
47
|
+
### 🔧 **Technical Improvements**
|
|
48
|
+
- **ADDED**: Automated preset generation scripts
|
|
49
|
+
- `scripts/generate-presets.js` - Generate all preset configurations
|
|
50
|
+
- `scripts/analyze-core-rules.js` - Analyze rules from markdown sources
|
|
51
|
+
- **UPDATED**: ConfigPresetResolver now supports all 9 presets
|
|
52
|
+
- **ORGANIZED**: Scripts directory with clear categorization and documentation
|
|
53
|
+
- **FIXED**: Preset-to-rule mapping accuracy
|
|
54
|
+
|
|
55
|
+
### 🎯 **Preset System**
|
|
56
|
+
- **9 total presets**: all, recommended, security, quality, beginner, ci, strict, maintainability, performance
|
|
57
|
+
- **Focus**: Only common-en.md and security-en.md rules (no language-specific rules)
|
|
58
|
+
- **Validation**: Tested with real demo project showing 135 violations detected
|
|
59
|
+
|
|
60
|
+
### 📦 **Upgrade Notes**
|
|
61
|
+
- **Zero breaking changes** - all existing configurations work
|
|
62
|
+
- **New presets available** - can now use @sun/sunlint/all and other new presets
|
|
63
|
+
- **Improved accuracy** - presets now contain only rules that actually work
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
5
67
|
## � **v1.3.4 - Engine Auto Hotfix (September 5, 2025)**
|
|
6
68
|
|
|
7
69
|
**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
|
}
|