@aneuhold/eslint-config 1.3.2 → 1.3.3
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/package.json +12 -12
- package/src/angular-config.js +32 -32
- package/src/svelte-config.js +15 -15
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aneuhold/eslint-config",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.3",
|
|
4
4
|
"description": "Main ESLint Configuration for personal projects",
|
|
5
5
|
"main": "./src/ts-lib-config.js",
|
|
6
|
-
"packageManager": "pnpm@10.15.
|
|
6
|
+
"packageManager": "pnpm@10.15.1",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"dev": "nodemon -e js --exec \"local-npm publish\"",
|
|
9
9
|
"unpub": "local-npm unpublish",
|
|
@@ -31,34 +31,34 @@
|
|
|
31
31
|
"src/**/*"
|
|
32
32
|
],
|
|
33
33
|
"peerDependencies": {
|
|
34
|
-
"eslint": ">= 9.
|
|
34
|
+
"eslint": ">= 9.35.0",
|
|
35
35
|
"prettier": ">= 3.6.2"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@eslint/js": "^9.
|
|
38
|
+
"@eslint/js": "^9.35.0",
|
|
39
39
|
"@next/eslint-plugin-next": "^15.5.2",
|
|
40
40
|
"@stylistic/eslint-plugin-js": "^4.4.1",
|
|
41
41
|
"@stylistic/eslint-plugin-ts": "^4.4.1",
|
|
42
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
43
|
-
"@typescript-eslint/parser": "^8.
|
|
42
|
+
"@typescript-eslint/eslint-plugin": "^8.42.0",
|
|
43
|
+
"@typescript-eslint/parser": "^8.42.0",
|
|
44
44
|
"angular-eslint": "^20.2.0",
|
|
45
45
|
"eslint-config-prettier": "^10.1.8",
|
|
46
46
|
"eslint-plugin-import": "^2.32.0",
|
|
47
|
-
"eslint-plugin-jsdoc": "^54.
|
|
47
|
+
"eslint-plugin-jsdoc": "^54.5.0",
|
|
48
48
|
"eslint-plugin-prefer-arrow": "^1.2.3",
|
|
49
49
|
"eslint-plugin-prettier": "^5.5.4",
|
|
50
50
|
"eslint-plugin-react-hooks": "^5.2.0",
|
|
51
51
|
"eslint-plugin-react-refresh": "^0.4.20",
|
|
52
|
-
"eslint-plugin-svelte": "^3.
|
|
52
|
+
"eslint-plugin-svelte": "^3.12.2",
|
|
53
53
|
"eslint-plugin-unused-imports": "^4.2.0",
|
|
54
54
|
"globals": "^16.3.0",
|
|
55
55
|
"prettier-plugin-svelte": "^3.4.0",
|
|
56
|
-
"typescript-eslint": "^8.
|
|
56
|
+
"typescript-eslint": "^8.42.0"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
|
-
"@aneuhold/local-npm-registry": "^0.2.
|
|
60
|
-
"@types/node": "^22.18.
|
|
61
|
-
"eslint": "^9.
|
|
59
|
+
"@aneuhold/local-npm-registry": "^0.2.12",
|
|
60
|
+
"@types/node": "^22.18.1",
|
|
61
|
+
"eslint": "^9.35.0",
|
|
62
62
|
"prettier": "^3.6.2",
|
|
63
63
|
"svelte": "^5.38.3",
|
|
64
64
|
"typescript": "^5.9.2"
|
package/src/angular-config.js
CHANGED
|
@@ -30,7 +30,7 @@ export default tseslint.config(
|
|
|
30
30
|
// Apply the recommended Angular rules
|
|
31
31
|
...angular.configs.tsRecommended,
|
|
32
32
|
// Apply prettier styling rules last
|
|
33
|
-
eslintPluginPrettierRecommended
|
|
33
|
+
eslintPluginPrettierRecommended,
|
|
34
34
|
],
|
|
35
35
|
// Plugins are brought in using the name they use in the rule. So 'import/no-deprecated' needs 'import'
|
|
36
36
|
plugins: {
|
|
@@ -38,7 +38,7 @@ export default tseslint.config(
|
|
|
38
38
|
jsdoc: eslintPluginJsdoc,
|
|
39
39
|
'unused-imports': eslintPluginUnusedImports,
|
|
40
40
|
'@stylistic/js': stylisticJs,
|
|
41
|
-
'@stylistic/ts': stylisticTs
|
|
41
|
+
'@stylistic/ts': stylisticTs,
|
|
42
42
|
},
|
|
43
43
|
// Set the custom processor which will allow us to have our inline Component templates extracted
|
|
44
44
|
// and treated as if they are HTML files (and therefore have the .html config below applied to them)
|
|
@@ -49,8 +49,8 @@ export default tseslint.config(
|
|
|
49
49
|
'error',
|
|
50
50
|
{
|
|
51
51
|
type: 'element',
|
|
52
|
-
style: 'kebab-case'
|
|
53
|
-
}
|
|
52
|
+
style: 'kebab-case',
|
|
53
|
+
},
|
|
54
54
|
],
|
|
55
55
|
// The below rule should be set as an error but it happens in so many files
|
|
56
56
|
// it would take a lot of effort to convert and test everything.
|
|
@@ -58,8 +58,8 @@ export default tseslint.config(
|
|
|
58
58
|
'@angular-eslint/component-class-suffix': [
|
|
59
59
|
'warn',
|
|
60
60
|
{
|
|
61
|
-
suffixes: ['Component', 'Page']
|
|
62
|
-
}
|
|
61
|
+
suffixes: ['Component', 'Page'],
|
|
62
|
+
},
|
|
63
63
|
],
|
|
64
64
|
// Below rule was turned off to allow for member-ordering to take
|
|
65
65
|
// precedence.
|
|
@@ -71,13 +71,13 @@ export default tseslint.config(
|
|
|
71
71
|
{
|
|
72
72
|
multiline: {
|
|
73
73
|
delimiter: 'semi',
|
|
74
|
-
requireLast: true
|
|
74
|
+
requireLast: true,
|
|
75
75
|
},
|
|
76
76
|
singleline: {
|
|
77
77
|
delimiter: 'semi',
|
|
78
|
-
requireLast: false
|
|
79
|
-
}
|
|
80
|
-
}
|
|
78
|
+
requireLast: false,
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
81
|
],
|
|
82
82
|
'@typescript-eslint/member-ordering': 'warn',
|
|
83
83
|
'@typescript-eslint/no-empty-function': 'off',
|
|
@@ -89,8 +89,8 @@ export default tseslint.config(
|
|
|
89
89
|
'@typescript-eslint/no-shadow': [
|
|
90
90
|
'error',
|
|
91
91
|
{
|
|
92
|
-
hoist: 'all'
|
|
93
|
-
}
|
|
92
|
+
hoist: 'all',
|
|
93
|
+
},
|
|
94
94
|
],
|
|
95
95
|
'@typescript-eslint/no-var-requires': 'off',
|
|
96
96
|
'@typescript-eslint/no-inferrable-types': 'off',
|
|
@@ -101,8 +101,8 @@ export default tseslint.config(
|
|
|
101
101
|
{
|
|
102
102
|
path: 'always',
|
|
103
103
|
types: 'prefer-import',
|
|
104
|
-
lib: 'always'
|
|
105
|
-
}
|
|
104
|
+
lib: 'always',
|
|
105
|
+
},
|
|
106
106
|
],
|
|
107
107
|
'@stylistic/ts/type-annotation-spacing': 'error',
|
|
108
108
|
'@typescript-eslint/typedef': 'off',
|
|
@@ -123,10 +123,10 @@ export default tseslint.config(
|
|
|
123
123
|
{
|
|
124
124
|
alphabetize: {
|
|
125
125
|
order: 'asc' /* sort in ascending order. Options: ['ignore', 'asc', 'desc'] */,
|
|
126
|
-
caseInsensitive: true /* ignore case. Options: [true, false]
|
|
126
|
+
caseInsensitive: true /* ignore case. Options: [true, false] */,
|
|
127
127
|
},
|
|
128
|
-
'newlines-between': 'never'
|
|
129
|
-
}
|
|
128
|
+
'newlines-between': 'never',
|
|
129
|
+
},
|
|
130
130
|
],
|
|
131
131
|
'jsdoc/check-alignment': 'error',
|
|
132
132
|
'jsdoc/check-indentation': 'warn',
|
|
@@ -135,8 +135,8 @@ export default tseslint.config(
|
|
|
135
135
|
'warn',
|
|
136
136
|
{
|
|
137
137
|
code: 140,
|
|
138
|
-
ignoreStrings: true
|
|
139
|
-
}
|
|
138
|
+
ignoreStrings: true,
|
|
139
|
+
},
|
|
140
140
|
],
|
|
141
141
|
'@stylistic/js/new-parens': 'error',
|
|
142
142
|
'no-bitwise': 'error',
|
|
@@ -155,8 +155,8 @@ export default tseslint.config(
|
|
|
155
155
|
'warn',
|
|
156
156
|
{
|
|
157
157
|
enforceInMethodNames: true,
|
|
158
|
-
allowAfterThis: true
|
|
159
|
-
}
|
|
158
|
+
allowAfterThis: true,
|
|
159
|
+
},
|
|
160
160
|
],
|
|
161
161
|
'no-unsafe-finally': 'error',
|
|
162
162
|
'no-unused-expressions': 'error',
|
|
@@ -167,8 +167,8 @@ export default tseslint.config(
|
|
|
167
167
|
'error',
|
|
168
168
|
'always',
|
|
169
169
|
{
|
|
170
|
-
markers: ['/']
|
|
171
|
-
}
|
|
170
|
+
markers: ['/'],
|
|
171
|
+
},
|
|
172
172
|
],
|
|
173
173
|
'use-isnan': 'error',
|
|
174
174
|
//The following removes unused imports
|
|
@@ -180,10 +180,10 @@ export default tseslint.config(
|
|
|
180
180
|
vars: 'all',
|
|
181
181
|
varsIgnorePattern: '^_',
|
|
182
182
|
args: 'after-used',
|
|
183
|
-
argsIgnorePattern: '^_'
|
|
184
|
-
}
|
|
185
|
-
]
|
|
186
|
-
}
|
|
183
|
+
argsIgnorePattern: '^_',
|
|
184
|
+
},
|
|
185
|
+
],
|
|
186
|
+
},
|
|
187
187
|
},
|
|
188
188
|
{
|
|
189
189
|
// Everything in this config object targets our HTML files (external templates,
|
|
@@ -197,16 +197,16 @@ export default tseslint.config(
|
|
|
197
197
|
// the future.
|
|
198
198
|
// ...angular.configs.templateAccessibility,
|
|
199
199
|
// Apply the prettier config
|
|
200
|
-
eslintPluginPrettierRecommended
|
|
200
|
+
eslintPluginPrettierRecommended,
|
|
201
201
|
],
|
|
202
202
|
rules: {
|
|
203
203
|
'prettier/prettier': [
|
|
204
204
|
'error',
|
|
205
205
|
{
|
|
206
206
|
parser: 'angular',
|
|
207
|
-
endOfLine: 'auto'
|
|
208
|
-
}
|
|
209
|
-
]
|
|
210
|
-
}
|
|
207
|
+
endOfLine: 'auto',
|
|
208
|
+
},
|
|
209
|
+
],
|
|
210
|
+
},
|
|
211
211
|
}
|
|
212
212
|
);
|
package/src/svelte-config.js
CHANGED
|
@@ -13,16 +13,16 @@ const defaultConfig = tseslint.config(
|
|
|
13
13
|
eslint.configs.recommended,
|
|
14
14
|
...tseslint.configs.strictTypeChecked,
|
|
15
15
|
jsdoc.configs['flat/recommended-typescript'],
|
|
16
|
-
eslintPluginPrettierRecommended
|
|
16
|
+
eslintPluginPrettierRecommended,
|
|
17
17
|
],
|
|
18
18
|
languageOptions: {
|
|
19
19
|
parser: tseslint.parser,
|
|
20
20
|
parserOptions: {
|
|
21
21
|
sourceType: 'module',
|
|
22
22
|
extraFileExtensions: ['.svelte'],
|
|
23
|
-
project: true
|
|
23
|
+
project: true,
|
|
24
24
|
},
|
|
25
|
-
globals: { ...globals.browser, ...globals.node }
|
|
25
|
+
globals: { ...globals.browser, ...globals.node },
|
|
26
26
|
},
|
|
27
27
|
// Rules for js, and ts in ts files and svelte files
|
|
28
28
|
//don't set 'svelte/*' rules here
|
|
@@ -41,8 +41,8 @@ const defaultConfig = tseslint.config(
|
|
|
41
41
|
'error',
|
|
42
42
|
{
|
|
43
43
|
allowNumber: true,
|
|
44
|
-
allowBoolean: true
|
|
45
|
-
}
|
|
44
|
+
allowBoolean: true,
|
|
45
|
+
},
|
|
46
46
|
],
|
|
47
47
|
// ❗️ This should really be turned back on. It is turned off for now,
|
|
48
48
|
// because it seems that the type definitions on the backend are wrong.
|
|
@@ -67,18 +67,18 @@ const defaultConfig = tseslint.config(
|
|
|
67
67
|
argsIgnorePattern: '^_',
|
|
68
68
|
caughtErrorsIgnorePattern: '^_',
|
|
69
69
|
destructuredArrayIgnorePattern: '^_',
|
|
70
|
-
varsIgnorePattern: '^_'
|
|
71
|
-
}
|
|
70
|
+
varsIgnorePattern: '^_',
|
|
71
|
+
},
|
|
72
72
|
],
|
|
73
73
|
// Turned off because it doesn't seem too helpful, and it likes to error
|
|
74
74
|
// on things that seem to be just fine in generics.
|
|
75
|
-
'@typescript-eslint/no-unnecessary-type-parameters': 'off'
|
|
76
|
-
}
|
|
75
|
+
'@typescript-eslint/no-unnecessary-type-parameters': 'off',
|
|
76
|
+
},
|
|
77
77
|
},
|
|
78
78
|
{
|
|
79
79
|
// disable type-aware linting on JS files
|
|
80
80
|
files: ['**/*.js'],
|
|
81
|
-
extends: [tseslint.configs.disableTypeChecked]
|
|
81
|
+
extends: [tseslint.configs.disableTypeChecked],
|
|
82
82
|
}
|
|
83
83
|
);
|
|
84
84
|
|
|
@@ -87,7 +87,7 @@ const svelteConfig = tseslint.config({
|
|
|
87
87
|
// @ts-expect-error - eslint-plugin-svelte is not typed
|
|
88
88
|
extends: [
|
|
89
89
|
...eslintPluginSvelte.configs['flat/recommended'],
|
|
90
|
-
...eslintPluginSvelte.configs['flat/prettier']
|
|
90
|
+
...eslintPluginSvelte.configs['flat/prettier'],
|
|
91
91
|
],
|
|
92
92
|
languageOptions: {
|
|
93
93
|
parser: svelteParser,
|
|
@@ -95,13 +95,13 @@ const svelteConfig = tseslint.config({
|
|
|
95
95
|
parser: tseslint.parser,
|
|
96
96
|
sourceType: 'module',
|
|
97
97
|
extraFileExtensions: ['.svelte'],
|
|
98
|
-
project: true
|
|
99
|
-
}
|
|
98
|
+
project: true,
|
|
99
|
+
},
|
|
100
100
|
},
|
|
101
101
|
// Svelte Rules
|
|
102
102
|
rules: {
|
|
103
103
|
// 'svelte/valid-compile': ['warn']
|
|
104
|
-
}
|
|
104
|
+
},
|
|
105
105
|
});
|
|
106
106
|
|
|
107
107
|
export default tseslint.config(
|
|
@@ -111,6 +111,6 @@ export default tseslint.config(
|
|
|
111
111
|
// other override settings. e.g. for `files: ['**/*.test.*']`
|
|
112
112
|
},
|
|
113
113
|
{
|
|
114
|
-
ignores: ['.svelte-kit', '.yarn', 'build', 'node_modules', '**/.DS_Store', 'eslint.config.js']
|
|
114
|
+
ignores: ['.svelte-kit', '.yarn', 'build', 'node_modules', '**/.DS_Store', 'eslint.config.js'],
|
|
115
115
|
} // overrides global ignores
|
|
116
116
|
);
|