eslint-config-simplesense 4.0.6 → 5.0.0

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,312 +1,152 @@
1
- (() => {
2
- 'use strict';
3
1
 
4
- const PADDING_STATEMENT = {
5
- DIRECTIVES: ['directive'],
6
- EXPORTS: [ 'cjs-export', 'export' ],
7
- IMPORTS: [ 'cjs-import', 'import' ],
8
- VARIABLES: [ 'const', 'let' ],
9
- };
10
-
11
- module.exports = {
12
- 'array-bracket-newline': [
13
- 'error', {
14
- multiline: true,
15
- },
16
- ],
17
- 'array-bracket-spacing': [
18
- 'error', 'always', {
19
- arraysInArrays: false,
20
- objectsInArrays: false,
21
- singleValue: false,
22
- },
23
- ],
24
- 'array-callback-return': ['error'],
25
- 'array-element-newline': [ 'error', 'consistent' ],
26
- 'arrow-parens': [ 'error', 'always' ],
27
- 'arrow-spacing': [
28
- 'error', {
29
- after: true,
30
- before: true,
31
- },
32
- ],
33
- 'block-scoped-var': ['error'],
34
- 'block-spacing': [ 'error', 'always' ],
35
- 'brace-style': [ 'error', '1tbs' ],
36
- camelcase: [
37
- 'error', {
38
- properties: 'always',
39
- },
40
- ],
41
- 'comma-dangle': [ 'error', 'always-multiline' ],
42
- 'comma-spacing': ['error'],
43
- 'comma-style': ['error'],
44
- 'computed-property-spacing': [ 'error', 'never' ],
45
- 'consistent-return': [
46
- 'error', {
47
- treatUndefinedAsUnspecified: true,
48
- },
49
- ],
50
- curly: [ 'error', 'multi-line' ],
51
- 'default-case-last': ['error'],
52
- 'dot-location': [ 'error', 'property' ],
53
- 'dot-notation': ['error'],
54
- 'eol-last': [ 'error', 'always' ],
55
- eqeqeq: [ 'error', 'always' ],
56
- 'for-direction': ['error'],
57
- 'func-call-spacing': [ 'error', 'never' ],
58
- 'generator-star-spacing': [
59
- 'error', {
60
- after: false,
61
- before: true,
62
- },
63
- ],
64
- 'guard-for-in': ['error'],
65
- indent: [
66
- 'error', 2, {
67
- ArrayExpression: 1,
68
- CallExpression: {
69
- arguments: 1,
70
- },
71
- flatTernaryExpressions: true,
72
- FunctionDeclaration: {
73
- body: 1,
74
- parameters: 1,
75
- },
76
- FunctionExpression: {
77
- body: 1,
78
- parameters: 1,
79
- },
80
- ignoredNodes: ['ConditionalExpression'],
81
- ImportDeclaration: 1,
82
- ObjectExpression: 1,
83
- outerIIFEBody: 1,
84
- SwitchCase: 1,
85
- MemberExpression: 1,
86
- },
87
- ],
88
- 'key-spacing': [
89
- 'error', {
90
- afterColon: true,
91
- beforeColon: false,
92
- mode: 'strict',
93
- },
94
- ],
95
- 'keyword-spacing': [
96
- 'error', {
97
- after: true,
98
- before: true,
99
- },
100
- ],
101
- 'linebreak-style': [ 'error', 'unix' ],
102
- 'lines-between-class-members': [ 'error', 'always' ],
103
- 'max-classes-per-file': [ 'error', 1 ],
104
- 'max-len': ['off'],
105
- 'new-cap': ['error'],
106
- 'new-parens': ['error'],
107
- 'newline-per-chained-call': [
108
- 'error', {
109
- ignoreChainWithDepth: 2,
110
- },
111
- ],
112
- 'no-array-constructor': ['error'],
113
- 'no-async-promise-executor': ['error'],
114
- 'no-caller': ['error'],
115
- 'no-confusing-arrow': ['error'],
116
- 'no-constant-condition': ['error'],
117
- 'no-constructor-return': ['error'],
118
- 'no-continue': ['error'],
119
- 'no-duplicate-imports': ['error'],
120
- 'no-else-return': ['error'],
121
- 'no-empty-character-class': ['error'],
122
- 'no-empty-function': ['error'],
123
- 'no-eq-null': ['error'],
124
- 'no-eval': ['error'],
125
- 'no-extend-native': ['error'],
126
- 'no-extra-bind': ['error'],
127
- 'no-floating-decimal': ['error'],
128
- 'no-implicit-globals': ['error'],
129
- 'no-implied-eval': ['error'],
130
- 'no-invalid-this': ['error'],
131
- 'no-labels': ['error'],
132
- 'no-lone-blocks': ['error'],
133
- 'no-lonely-if': ['error'],
134
- 'no-loss-of-precision': ['error'],
135
- 'no-mixed-operators': ['error'],
136
- 'no-multi-assign': ['error'],
137
- 'no-multi-spaces': ['error'],
138
- 'no-multi-str': ['error'],
139
- 'no-multiple-empty-lines': ['error'],
140
- 'no-new-func': ['error'],
141
- 'no-new-object': ['error'],
142
- 'no-new-wrappers': ['error'],
143
- 'no-new': ['error'],
144
- 'no-nonoctal-decimal-escape': ['error'],
145
- 'no-octal-escape': ['error'],
146
- 'no-proto': ['error'],
147
- 'no-return-assign': ['error'],
148
- 'no-sequences': ['error'],
149
- 'no-shadow': ['error'],
150
- 'no-tabs': ['error'],
151
- 'no-template-curly-in-string': ['error'],
152
- 'no-throw-literal': ['error'],
153
- 'no-trailing-spaces': ['error'],
154
- 'no-undef-init': ['error'],
155
- 'no-underscore-dangle': [
156
- 'error', {
157
- allowAfterSuper: true,
158
- allowAfterThis: true,
159
- enforceInMethodNames: false,
160
- },
161
- ],
162
- 'no-unneeded-ternary': ['error'],
163
- 'no-unreachable-loop': ['error'],
164
- 'no-unsafe-negation': ['error'],
165
- 'no-unsafe-optional-chaining': ['error'],
166
- 'no-unused-vars': [
167
- 'error', {
168
- args: 'none',
169
- },
170
- ],
171
- 'no-useless-backreference': ['error'],
172
- 'no-useless-call': ['error'],
173
- 'no-useless-computed-key': ['error'],
174
- 'no-useless-concat': ['error'],
175
- 'no-useless-constructor': ['error'],
176
- 'no-useless-rename': ['error'],
177
- 'no-useless-return': ['error'],
178
- 'no-var': ['error'],
179
- 'no-void': ['error'],
180
- 'no-warning-comments': ['error'],
181
- 'no-whitespace-before-property': ['error'],
182
- 'no-with': ['error'],
183
- 'nonblock-statement-body-position': [ 'error', 'beside' ],
184
- 'object-curly-newline': [
185
- 'error',
186
- {
187
- ObjectExpression: {
188
- multiline: true,
189
- minProperties: 1,
190
- },
191
- ObjectPattern: {
192
- consistent: true,
193
- minProperties: 1,
194
- },
195
- ImportDeclaration: 'always',
196
- ExportDeclaration: 'always',
197
- },
198
- ],
199
- 'object-curly-spacing': [
200
- 'error', 'always', {
201
- arraysInObjects: false,
202
- objectsInObjects: false,
203
- },
204
- ],
205
- 'object-property-newline': ['error'],
206
- 'object-shorthand': ['error'],
207
- 'one-var-declaration-per-line': ['error'],
208
- 'one-var': [ 'error', 'never' ],
209
- 'operator-linebreak': [ 'error', 'before' ],
210
- 'padded-blocks': [ 'error', 'never' ],
211
- 'padding-line-between-statements': [
212
- 'error', {
213
- blankLine: 'always',
214
- prev: PADDING_STATEMENT.DIRECTIVES,
215
- next: '*',
216
- }, {
217
- blankLine: 'any',
218
- prev: PADDING_STATEMENT.DIRECTIVES,
219
- next: PADDING_STATEMENT.DIRECTIVES,
220
- }, {
221
- blankLine: 'always',
222
- prev: PADDING_STATEMENT.VARIABLES,
223
- next: '*',
224
- }, {
225
- blankLine: 'any',
226
- prev: PADDING_STATEMENT.VARIABLES,
227
- next: PADDING_STATEMENT.VARIABLES,
228
- }, {
229
- blankLine: 'always',
230
- prev: PADDING_STATEMENT.IMPORTS,
231
- next: '*',
232
- }, {
233
- blankLine: 'any',
234
- prev: PADDING_STATEMENT.IMPORTS,
235
- next: PADDING_STATEMENT.IMPORTS,
236
- }, {
237
- blankLine: 'always',
238
- prev: '*',
239
- next: PADDING_STATEMENT.EXPORTS,
240
- }, {
241
- blankLine: 'any',
242
- prev: PADDING_STATEMENT.EXPORTS,
243
- next: PADDING_STATEMENT.EXPORTS,
244
- },
245
- ],
246
- 'prefer-const': [
247
- 'error', {
248
- destructuring: 'all',
249
- },
250
- ],
251
- 'prefer-promise-reject-errors': ['error'],
252
- 'prefer-rest-params': ['error'],
253
- 'prefer-spread': ['error'],
254
- 'prefer-template': ['error'],
255
- 'quote-props': [ 'error', 'as-needed' ],
256
- quotes: [ 'error', 'single' ],
257
- radix: ['error'],
258
- 'require-yield': ['error'],
259
- 'rest-spread-spacing': [ 'error', 'never' ],
260
- 'semi-spacing': [
261
- 'error', {
262
- after: true,
263
- before: false,
264
- },
265
- ],
266
- 'semi-style': [ 'error', 'last' ],
267
- semi: [ 'error', 'always' ],
268
- 'sort-imports': 'off',
269
- 'sort-vars': [
270
- 'error', {
271
- ignoreCase: false,
272
- },
273
- ],
274
- 'space-before-blocks': [ 'error', 'always' ],
275
- 'space-before-function-paren': [ 'error', 'never' ],
276
- 'space-in-parens': [ 'error', 'never' ],
277
- 'space-infix-ops': ['error'],
278
- 'space-unary-ops': [
279
- 'error', {
280
- nonwords: true,
281
- words: true,
282
- overrides: {
283
- '!': false,
284
- '+': false,
285
- '-': false,
286
- '++': false,
287
- '--': false,
288
- },
289
- },
290
- ],
291
- 'spaced-comment': [ 'error', 'always' ],
292
- strict: [ 'error', 'function' ],
293
- 'switch-colon-spacing': [
294
- 'error', {
295
- after: true,
296
- before: false,
297
- },
298
- ],
299
- 'symbol-description': ['error'],
300
- 'template-curly-spacing': [ 'error', 'always' ],
301
- 'template-tag-spacing': [ 'error', 'always' ],
302
- 'valid-typeof': [
303
- 'error', {
304
- requireStringLiterals: true,
305
- },
306
- ],
307
- 'wrap-iife': [ 'error', 'outside' ],
308
- 'wrap-regex': ['error'],
309
- 'yield-star-spacing': [ 'error', 'after' ],
310
- yoda: ['off'],
311
- };
312
- })();
2
+ export default {
3
+ 'accessor-pairs': ['error'],
4
+ 'array-callback-return': ['error'],
5
+ 'block-scoped-var': ['error'],
6
+ camelcase: [
7
+ 'error',
8
+ {
9
+ properties: 'always',
10
+ },
11
+ ],
12
+ 'consistent-return': [
13
+ 'error',
14
+ {
15
+ treatUndefinedAsUnspecified: true,
16
+ },
17
+ ],
18
+ curly: [ 'error', 'multi-line' ],
19
+ 'default-case': ['error'],
20
+ 'default-case-last': ['error'],
21
+ 'dot-notation': ['error'],
22
+ eqeqeq: [ 'error', 'always' ],
23
+ 'for-direction': ['error'],
24
+ 'grouped-accessor-pairs': ['error'],
25
+ 'guard-for-in': ['error'],
26
+ 'new-cap': ['error'],
27
+ 'no-alert': ['error'],
28
+ 'no-array-constructor': ['error'],
29
+ 'no-async-promise-executor': ['error'],
30
+ 'no-caller': ['error'],
31
+ 'no-constant-condition': ['error'],
32
+ 'no-constructor-return': ['error'],
33
+ 'no-continue': ['error'],
34
+ 'no-duplicate-imports': ['error'],
35
+ 'no-else-return': ['error'],
36
+ 'no-empty-character-class': ['error'],
37
+ 'no-empty-function': ['error'],
38
+ 'no-eq-null': ['error'],
39
+ 'no-eval': ['error'],
40
+ 'no-extend-native': ['error'],
41
+ 'no-extra-bind': ['error'],
42
+ 'no-implicit-coercion': ['error'],
43
+ 'no-implicit-globals': ['error'],
44
+ 'no-implied-eval': ['error'],
45
+ 'no-inner-declarations': ['error'],
46
+ 'no-iterator': ['error'],
47
+ 'no-invalid-this': ['error'],
48
+ 'no-labels': ['error'],
49
+ 'no-lone-blocks': ['error'],
50
+ 'no-lonely-if': ['error'],
51
+ 'no-loss-of-precision': ['error'],
52
+ 'no-multi-assign': ['error'],
53
+ 'no-multi-str': ['error'],
54
+ 'no-new-func': ['error'],
55
+ 'no-new-wrappers': ['error'],
56
+ 'no-new': ['error'],
57
+ 'no-nonoctal-decimal-escape': ['error'],
58
+ 'no-object-constructor': ['error'],
59
+ 'no-octal-escape': ['error'],
60
+ 'no-promise-executor-return': ['error'],
61
+ 'no-proto': ['error'],
62
+ 'no-redeclare': ['error'],
63
+ 'no-regex-spaces': ['error'],
64
+ 'no-return-assign': ['error'],
65
+ 'no-script-url': ['error'],
66
+ 'no-self-compare': ['error'],
67
+ 'no-sequences': ['error'],
68
+ 'no-shadow': ['error'],
69
+ 'no-shadow-restricted-names': ['error'],
70
+ 'no-template-curly-in-string': ['error'],
71
+ 'no-throw-literal': ['error'],
72
+ 'no-undef-init': ['error'],
73
+ 'no-underscore-dangle': [
74
+ 'error',
75
+ {
76
+ allowAfterSuper: true,
77
+ allowAfterThis: true,
78
+ enforceInMethodNames: false,
79
+ },
80
+ ],
81
+ 'no-unneeded-ternary': ['error'],
82
+ 'no-unreachable-loop': ['error'],
83
+ 'no-unsafe-negation': ['error'],
84
+ 'no-unsafe-optional-chaining': ['error'],
85
+ 'no-unused-expressions': [
86
+ 'error',
87
+ {
88
+ allowShortCircuit: true,
89
+ allowTernary: true,
90
+ },
91
+ ],
92
+ 'no-unused-vars': [
93
+ 'error',
94
+ {
95
+ args: 'none',
96
+ },
97
+ ],
98
+ 'no-use-before-define': ['error'],
99
+ 'no-useless-backreference': ['error'],
100
+ 'no-useless-call': ['error'],
101
+ 'no-useless-catch': ['error'],
102
+ 'no-useless-computed-key': ['error'],
103
+ 'no-useless-concat': ['error'],
104
+ 'no-useless-constructor': ['error'],
105
+ 'no-useless-escape': ['error'],
106
+ 'no-useless-rename': ['error'],
107
+ 'no-useless-return': ['error'],
108
+ 'no-var': ['error'],
109
+ 'no-void': ['error'],
110
+ 'no-warning-comments': ['error'],
111
+ 'no-with': ['error'],
112
+ 'object-shorthand': ['error'],
113
+ 'one-var': [ 'error', 'never' ],
114
+ 'prefer-arrow-callback': [
115
+ 'error',
116
+ {
117
+ allowNamedFunctions: true,
118
+ },
119
+ ],
120
+ 'prefer-const': [
121
+ 'error',
122
+ {
123
+ destructuring: 'all',
124
+ },
125
+ ],
126
+ 'prefer-exponentiation-operator': ['error'],
127
+ 'prefer-object-has-own': ['error'],
128
+ 'prefer-object-spread': ['error'],
129
+ 'prefer-promise-reject-errors': ['error'],
130
+ 'prefer-regex-literals': ['error'],
131
+ 'prefer-rest-params': ['error'],
132
+ 'prefer-spread': ['error'],
133
+ 'prefer-template': ['error'],
134
+ radix: ['error'],
135
+ 'require-unicode-regexp': ['error'],
136
+ 'require-yield': ['error'],
137
+ 'sort-imports': 'off',
138
+ 'sort-vars': [
139
+ 'error',
140
+ {
141
+ ignoreCase: false,
142
+ },
143
+ ],
144
+ 'symbol-description': ['error'],
145
+ 'valid-typeof': [
146
+ 'error',
147
+ {
148
+ requireStringLiterals: true,
149
+ },
150
+ ],
151
+ yoda: ['off'],
152
+ };
package/rules/import.js CHANGED
@@ -1,59 +1,86 @@
1
- (() => {
2
- 'use strict';
3
-
4
- // const path = require('path');
5
-
6
- // const ROOT_DIR = path.resolve(__dirname, '../../../');
7
-
8
- module.exports = {
9
- 'import/default': ['error'],
10
- 'import/export': ['error'],
11
- 'import/exports-last': ['error'],
12
- 'import/first': ['error'],
13
- 'import/group-exports': ['error'],
14
- 'import/named': ['error'],
15
- 'import/namespace': ['error'],
16
- 'import/no-amd': ['error'],
17
- 'import/no-cycle': [
18
- 'error', {
19
- commonjs: true,
20
- },
21
- ],
22
- 'import/no-deprecated': ['error'],
23
- 'import/no-duplicates': ['error'],
24
- 'import/no-dynamic-require': ['error'],
25
- // There is an open merge that needs to happen before we can change this rule: https://github.com/import-js/eslint-plugin-import/pull/1954
26
- 'import/no-extraneous-dependencies': 'error', // [ 'error', { packageDir: [ ROOT_DIR, `${ ROOT_DIR }/lambda/layers/node-modules/nodejs` ]}],
27
- 'import/no-named-as-default-member': ['error'],
28
- 'import/no-named-default': ['error'],
29
- 'import/no-self-import': ['error'],
30
- 'import/no-unassigned-import': [
31
- 'error', {
32
- allow: [
33
- '**/*.css',
34
- '**/*.sass',
35
- '**/*.scss',
36
- ],
37
- },
38
- ],
39
- 'import/no-useless-path-segments': [
40
- 'error', {
41
- commonjs: true,
42
- },
43
- ],
44
- 'import/order': [
45
- 'error', {
46
- groups: [
47
- 'builtin',
48
- 'external',
49
- 'internal',
50
- 'unknown',
51
- 'parent',
52
- 'sibling',
53
- 'index',
54
- ],
55
- 'newlines-between': 'always',
56
- },
57
- ],
58
- };
59
- })();
1
+ export default {
2
+ 'import/default': ['error'],
3
+ 'import/export': ['error'],
4
+ 'import/exports-last': ['error'],
5
+ 'import/extensions': [ 'error', 'ignorePackages' ],
6
+ 'import/first': ['error'],
7
+ 'import/group-exports': ['error'],
8
+ 'import/named': ['error'],
9
+ 'import/namespace': ['error'],
10
+ 'import/no-amd': ['error'],
11
+ 'import/no-anonymous-default-export': [
12
+ 'error',
13
+ {
14
+ allowArray: true,
15
+ allowLiteral: true,
16
+ allowObject: true,
17
+ },
18
+ ],
19
+ 'import/no-commonjs': ['error'],
20
+ 'import/no-cycle': [
21
+ 'error',
22
+ {
23
+ ignoreExternal: true,
24
+ },
25
+ ],
26
+ 'import/no-deprecated': ['error'],
27
+ 'import/no-duplicates': ['error'],
28
+ 'import/no-dynamic-require': ['error'],
29
+ 'import/no-empty-named-blocks': ['error'],
30
+ 'import/no-extraneous-dependencies': [
31
+ 'error',
32
+ {
33
+ devDependencies: [
34
+ '**/*.spec.js',
35
+ 'eslint.config.js',
36
+ 'vitest.config.js',
37
+ ],
38
+ },
39
+ ],
40
+ 'import/no-import-module-exports': ['error'],
41
+ 'import/no-mutable-exports': ['error'],
42
+ 'import/no-named-as-default-member': ['error'],
43
+ 'import/no-named-default': ['error'],
44
+ 'import/no-self-import': ['error'],
45
+ 'import/no-unassigned-import': [
46
+ 'error',
47
+ {
48
+ allow: [
49
+ '*.css',
50
+ '**/*.css',
51
+ '*.sass',
52
+ '**/*.sass',
53
+ '*.scss',
54
+ '**/*.scss',
55
+ ],
56
+ },
57
+ ],
58
+ 'import/no-unresolved': [
59
+ 'error',
60
+ {
61
+ ignore: ['vitest/config'],
62
+ },
63
+ ],
64
+ 'import/no-useless-path-segments': ['error'],
65
+ 'import/order': [
66
+ 'error',
67
+ {
68
+ groups: [
69
+ 'builtin',
70
+ 'external',
71
+ 'internal',
72
+ 'unknown',
73
+ 'parent',
74
+ 'sibling',
75
+ 'index',
76
+ ],
77
+ 'newlines-between': 'always',
78
+ },
79
+ ],
80
+ 'import/prefer-default-export': [
81
+ 'error',
82
+ {
83
+ target: 'single',
84
+ },
85
+ ],
86
+ };