@ntnyq/eslint-config 4.0.0-beta.3 → 4.0.0-beta.4
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/dist/index.d.ts +23 -4
- package/dist/index.js +566 -494
- package/package.json +7 -7
package/dist/index.js
CHANGED
|
@@ -184,58 +184,45 @@ var sharedRules = {
|
|
|
184
184
|
...default3.configs["vue3-recommended"].rules
|
|
185
185
|
};
|
|
186
186
|
var disabledRules = {
|
|
187
|
-
"vue/no-v-html": "off",
|
|
188
|
-
"vue/require-prop-types": "off",
|
|
189
|
-
"vue/require-default-prop": "off",
|
|
190
187
|
"vue/multi-word-component-names": "off",
|
|
188
|
+
"vue/no-setup-props-reactivity-loss": "off",
|
|
189
|
+
"vue/no-v-html": "off",
|
|
191
190
|
"vue/no-v-text-v-html-on-component": "off",
|
|
192
|
-
"vue/
|
|
191
|
+
"vue/require-default-prop": "off",
|
|
192
|
+
"vue/require-prop-types": "off"
|
|
193
193
|
};
|
|
194
194
|
var extensionRules = {
|
|
195
|
-
"vue/prefer-template": "error",
|
|
196
|
-
"vue/no-sparse-arrays": "error",
|
|
197
|
-
"vue/no-empty-pattern": "error",
|
|
198
|
-
"vue/space-infix-ops": "error",
|
|
199
|
-
"vue/no-loss-of-precision": "error",
|
|
200
|
-
"vue/no-constant-condition": "error",
|
|
201
|
-
"vue/template-curly-spacing": "error",
|
|
202
|
-
"vue/eqeqeq": ["error", "smart"],
|
|
203
|
-
"vue/comma-style": ["error", "last"],
|
|
204
|
-
"vue/block-spacing": ["error", "always"],
|
|
205
|
-
"vue/dot-location": ["error", "property"],
|
|
206
|
-
"vue/space-in-parens": ["error", "never"],
|
|
207
|
-
"vue/operator-linebreak": ["error", "before"],
|
|
208
|
-
"vue/no-extra-parens": ["error", "functions"],
|
|
209
195
|
"vue/array-bracket-spacing": ["error", "never"],
|
|
210
|
-
"vue/
|
|
211
|
-
"vue/
|
|
212
|
-
"vue/quote-props": ["error", "consistent-as-needed"],
|
|
213
|
-
"vue/arrow-spacing": ["error", { before: true, after: true }],
|
|
196
|
+
"vue/arrow-spacing": ["error", { after: true, before: true }],
|
|
197
|
+
"vue/block-spacing": ["error", "always"],
|
|
214
198
|
"vue/brace-style": ["error", "stroustrup", { allowSingleLine: true }],
|
|
215
|
-
"vue/comma-
|
|
199
|
+
"vue/comma-dangle": ["error", "always-multiline"],
|
|
200
|
+
"vue/comma-spacing": ["error", { after: true, before: false }],
|
|
201
|
+
"vue/comma-style": ["error", "last"],
|
|
202
|
+
"vue/dot-location": ["error", "property"],
|
|
216
203
|
"vue/dot-notation": ["error", { allowKeywords: true }],
|
|
217
|
-
"vue/
|
|
218
|
-
"vue/
|
|
204
|
+
"vue/eqeqeq": ["error", "smart"],
|
|
205
|
+
"vue/key-spacing": ["error", { afterColon: true, beforeColon: false }],
|
|
206
|
+
"vue/keyword-spacing": ["error", { after: true, before: true }],
|
|
207
|
+
"vue/no-constant-condition": "error",
|
|
208
|
+
"vue/no-empty-pattern": "error",
|
|
209
|
+
"vue/no-extra-parens": ["error", "functions"],
|
|
210
|
+
"vue/no-loss-of-precision": "error",
|
|
219
211
|
"vue/no-restricted-syntax": [
|
|
220
212
|
"error",
|
|
221
213
|
"DebuggerStatement",
|
|
222
214
|
"LabeledStatement",
|
|
223
215
|
"WithStatement"
|
|
224
216
|
],
|
|
225
|
-
"vue/
|
|
226
|
-
"error",
|
|
227
|
-
{
|
|
228
|
-
words: true,
|
|
229
|
-
nonwords: false
|
|
230
|
-
}
|
|
231
|
-
],
|
|
217
|
+
"vue/no-sparse-arrays": "error",
|
|
232
218
|
"vue/object-curly-newline": [
|
|
233
219
|
"error",
|
|
234
220
|
{
|
|
235
|
-
|
|
236
|
-
|
|
221
|
+
consistent: true,
|
|
222
|
+
multiline: true
|
|
237
223
|
}
|
|
238
224
|
],
|
|
225
|
+
"vue/object-curly-spacing": ["error", "always"],
|
|
239
226
|
"vue/object-property-newline": [
|
|
240
227
|
"error",
|
|
241
228
|
{
|
|
@@ -246,139 +233,152 @@ var extensionRules = {
|
|
|
246
233
|
"error",
|
|
247
234
|
"always",
|
|
248
235
|
{
|
|
249
|
-
|
|
250
|
-
|
|
236
|
+
avoidQuotes: true,
|
|
237
|
+
ignoreConstructors: false
|
|
251
238
|
}
|
|
252
|
-
]
|
|
239
|
+
],
|
|
240
|
+
"vue/operator-linebreak": ["error", "before"],
|
|
241
|
+
"vue/prefer-template": "error",
|
|
242
|
+
"vue/quote-props": ["error", "consistent-as-needed"],
|
|
243
|
+
"vue/space-in-parens": ["error", "never"],
|
|
244
|
+
"vue/space-infix-ops": "error",
|
|
245
|
+
"vue/space-unary-ops": [
|
|
246
|
+
"error",
|
|
247
|
+
{
|
|
248
|
+
nonwords: false,
|
|
249
|
+
words: true
|
|
250
|
+
}
|
|
251
|
+
],
|
|
252
|
+
"vue/template-curly-spacing": "error"
|
|
253
253
|
};
|
|
254
254
|
var unCategorizedRules = {
|
|
255
|
-
"vue/
|
|
256
|
-
"vue/no-useless-v-bind": "error",
|
|
257
|
-
"vue/valid-define-options": "error",
|
|
258
|
-
"vue/prefer-define-options": "error",
|
|
259
|
-
"vue/prefer-use-template-ref": "error",
|
|
260
|
-
"vue/no-irregular-whitespace": "error",
|
|
261
|
-
"vue/no-use-v-else-with-v-for": "error",
|
|
262
|
-
"vue/no-deprecated-delete-set": "error",
|
|
263
|
-
"vue/no-empty-component-block": "error",
|
|
264
|
-
"vue/require-typed-object-prop": "error",
|
|
265
|
-
"vue/no-unused-emit-declarations": "error",
|
|
266
|
-
"vue/padding-line-between-blocks": "error",
|
|
267
|
-
"vue/no-multiple-objects-in-class": "error",
|
|
268
|
-
"vue/prefer-separate-static-class": "error",
|
|
269
|
-
"vue/no-ref-object-reactivity-loss": "error",
|
|
270
|
-
"vue/prefer-prop-type-boolean-first": "error",
|
|
271
|
-
"vue/html-comment-indent": ["error", 2],
|
|
272
|
-
"vue/next-tick-style": ["error", "promise"],
|
|
273
|
-
"vue/v-for-delimiter-style": ["error", "in"],
|
|
274
|
-
"vue/no-restricted-v-bind": ["error", "/^v-/"],
|
|
275
|
-
"vue/slot-name-casing": ["error", "kebab-case"],
|
|
276
|
-
"vue/custom-event-name-casing": ["error", "camelCase"],
|
|
277
|
-
"vue/define-props-declaration": ["error", "type-based"],
|
|
278
|
-
"vue/define-emits-declaration": ["error", "type-literal"],
|
|
279
|
-
"vue/prefer-true-attribute-shorthand": ["error", "always"],
|
|
280
|
-
"vue/component-options-name-casing": ["error", "PascalCase"],
|
|
281
|
-
"vue/component-api-style": ["error", ["script-setup", "composition"]],
|
|
282
|
-
"vue/html-button-has-type": [
|
|
255
|
+
"vue/block-order": [
|
|
283
256
|
"error",
|
|
284
257
|
{
|
|
285
|
-
|
|
286
|
-
submit: true,
|
|
287
|
-
reset: true
|
|
258
|
+
order: ["script", "template", "style"]
|
|
288
259
|
}
|
|
289
260
|
],
|
|
290
|
-
"vue/
|
|
261
|
+
"vue/block-tag-newline": [
|
|
291
262
|
"error",
|
|
292
263
|
{
|
|
293
|
-
|
|
264
|
+
multiline: "always",
|
|
265
|
+
singleline: "always"
|
|
294
266
|
}
|
|
295
267
|
],
|
|
296
|
-
"vue/
|
|
268
|
+
"vue/component-api-style": ["error", ["script-setup", "composition"]],
|
|
269
|
+
"vue/component-name-in-template-casing": [
|
|
297
270
|
"error",
|
|
271
|
+
"PascalCase",
|
|
298
272
|
{
|
|
299
|
-
|
|
273
|
+
ignores: ["slot", "component"],
|
|
274
|
+
// Force auto-import components to be PascalCase
|
|
275
|
+
registeredComponentsOnly: false
|
|
300
276
|
}
|
|
301
277
|
],
|
|
302
|
-
"vue/
|
|
278
|
+
"vue/component-options-name-casing": ["error", "PascalCase"],
|
|
279
|
+
"vue/custom-event-name-casing": ["error", "camelCase"],
|
|
280
|
+
"vue/define-emits-declaration": ["error", "type-literal"],
|
|
281
|
+
"vue/define-macros-order": [
|
|
303
282
|
"error",
|
|
304
283
|
{
|
|
305
|
-
|
|
284
|
+
defineExposeLast: true,
|
|
285
|
+
order: [
|
|
286
|
+
"defineProps",
|
|
287
|
+
"defineEmits",
|
|
288
|
+
"defineOptions",
|
|
289
|
+
"defineSlots",
|
|
290
|
+
"defineModel"
|
|
291
|
+
]
|
|
306
292
|
}
|
|
307
293
|
],
|
|
308
|
-
"vue/
|
|
294
|
+
"vue/define-props-declaration": ["error", "type-based"],
|
|
295
|
+
"vue/enforce-style-attribute": [
|
|
309
296
|
"error",
|
|
310
297
|
{
|
|
311
|
-
|
|
312
|
-
multiline: "always"
|
|
298
|
+
allow: ["scoped", "plain"]
|
|
313
299
|
}
|
|
314
300
|
],
|
|
315
|
-
"vue/
|
|
301
|
+
"vue/html-button-has-type": [
|
|
316
302
|
"error",
|
|
317
303
|
{
|
|
318
|
-
|
|
304
|
+
button: true,
|
|
305
|
+
reset: true,
|
|
306
|
+
submit: true
|
|
319
307
|
}
|
|
320
308
|
],
|
|
321
309
|
"vue/html-comment-content-newline": [
|
|
322
310
|
"error",
|
|
323
311
|
{
|
|
324
|
-
|
|
325
|
-
|
|
312
|
+
multiline: "always",
|
|
313
|
+
singleline: "ignore"
|
|
326
314
|
},
|
|
327
315
|
{
|
|
328
316
|
exceptions: ["*"]
|
|
329
317
|
}
|
|
330
318
|
],
|
|
331
|
-
"vue/
|
|
319
|
+
"vue/html-comment-content-spacing": [
|
|
332
320
|
"error",
|
|
321
|
+
"always",
|
|
333
322
|
{
|
|
334
|
-
|
|
323
|
+
exceptions: ["-"]
|
|
335
324
|
}
|
|
336
325
|
],
|
|
326
|
+
"vue/html-comment-indent": ["error", 2],
|
|
327
|
+
"vue/next-tick-style": ["error", "promise"],
|
|
328
|
+
"vue/no-deprecated-delete-set": "error",
|
|
337
329
|
"vue/no-deprecated-model-definition": [
|
|
338
330
|
"error",
|
|
339
331
|
{
|
|
340
332
|
allowVue3Compat: true
|
|
341
333
|
}
|
|
342
334
|
],
|
|
343
|
-
"vue/
|
|
335
|
+
"vue/no-duplicate-attr-inheritance": [
|
|
344
336
|
"error",
|
|
345
|
-
"PascalCase",
|
|
346
337
|
{
|
|
347
|
-
|
|
348
|
-
registeredComponentsOnly: false,
|
|
349
|
-
ignores: ["slot", "component"]
|
|
338
|
+
checkMultiRootNodes: true
|
|
350
339
|
}
|
|
351
340
|
],
|
|
352
|
-
"vue/
|
|
341
|
+
"vue/no-empty-component-block": "error",
|
|
342
|
+
"vue/no-irregular-whitespace": "error",
|
|
343
|
+
"vue/no-multiple-objects-in-class": "error",
|
|
344
|
+
"vue/no-ref-object-reactivity-loss": "error",
|
|
345
|
+
"vue/no-required-prop-with-default": [
|
|
353
346
|
"error",
|
|
354
347
|
{
|
|
355
|
-
|
|
356
|
-
"defineProps",
|
|
357
|
-
"defineEmits",
|
|
358
|
-
"defineOptions",
|
|
359
|
-
"defineSlots",
|
|
360
|
-
"defineModel"
|
|
361
|
-
],
|
|
362
|
-
defineExposeLast: true
|
|
348
|
+
autofix: true
|
|
363
349
|
}
|
|
364
350
|
],
|
|
365
|
-
"vue/
|
|
351
|
+
"vue/no-restricted-v-bind": ["error", "/^v-/"],
|
|
352
|
+
"vue/no-static-inline-styles": [
|
|
366
353
|
"error",
|
|
367
|
-
"always",
|
|
368
354
|
{
|
|
369
|
-
|
|
355
|
+
allowBinding: true
|
|
370
356
|
}
|
|
371
357
|
],
|
|
358
|
+
"vue/no-unused-emit-declarations": "error",
|
|
359
|
+
"vue/no-use-v-else-with-v-for": "error",
|
|
360
|
+
"vue/no-useless-v-bind": "error",
|
|
361
|
+
"vue/no-v-text": "error",
|
|
362
|
+
"vue/padding-line-between-blocks": "error",
|
|
363
|
+
"vue/prefer-define-options": "error",
|
|
364
|
+
"vue/prefer-prop-type-boolean-first": "error",
|
|
365
|
+
"vue/prefer-separate-static-class": "error",
|
|
366
|
+
"vue/prefer-true-attribute-shorthand": ["error", "always"],
|
|
367
|
+
"vue/prefer-use-template-ref": "error",
|
|
372
368
|
"vue/require-macro-variable-name": [
|
|
373
369
|
"error",
|
|
374
370
|
{
|
|
375
|
-
defineProps: "props",
|
|
376
371
|
defineEmits: "emits",
|
|
372
|
+
defineProps: "props",
|
|
377
373
|
defineSlots: "slots",
|
|
378
|
-
|
|
379
|
-
|
|
374
|
+
useAttrs: "attrs",
|
|
375
|
+
useSlots: "slots"
|
|
380
376
|
}
|
|
381
|
-
]
|
|
377
|
+
],
|
|
378
|
+
"vue/require-typed-object-prop": "error",
|
|
379
|
+
"vue/slot-name-casing": ["error", "kebab-case"],
|
|
380
|
+
"vue/v-for-delimiter-style": ["error", "in"],
|
|
381
|
+
"vue/valid-define-options": "error"
|
|
382
382
|
};
|
|
383
383
|
var configVue = (options = {}) => {
|
|
384
384
|
const { files = [GLOB_VUE] } = options;
|
|
@@ -401,45 +401,32 @@ var configVue = (options = {}) => {
|
|
|
401
401
|
{
|
|
402
402
|
name: "ntnyq/vue/setup",
|
|
403
403
|
plugins: {
|
|
404
|
-
|
|
405
|
-
|
|
404
|
+
"@typescript-eslint": plugin,
|
|
405
|
+
vue: default3
|
|
406
406
|
}
|
|
407
407
|
},
|
|
408
408
|
{
|
|
409
409
|
name: "ntnyq/vue/rules",
|
|
410
410
|
files,
|
|
411
|
+
processor: getVueProcessor(),
|
|
411
412
|
languageOptions: {
|
|
412
413
|
parser: parserVue,
|
|
413
414
|
parserOptions: {
|
|
414
|
-
sourceType: "module",
|
|
415
415
|
ecmaVersion: "latest",
|
|
416
416
|
extraFileExtensions: [".vue"],
|
|
417
417
|
parser: parserTypeScript,
|
|
418
|
+
sourceType: "module",
|
|
418
419
|
ecmaFeatures: {
|
|
419
420
|
jsx: true
|
|
420
421
|
}
|
|
421
422
|
}
|
|
422
423
|
},
|
|
423
|
-
processor: getVueProcessor(),
|
|
424
424
|
rules: {
|
|
425
425
|
...sharedRules,
|
|
426
|
-
"vue/html-self-closing": [
|
|
427
|
-
"error",
|
|
428
|
-
{
|
|
429
|
-
html: {
|
|
430
|
-
void: "always",
|
|
431
|
-
normal: "always",
|
|
432
|
-
component: "always"
|
|
433
|
-
},
|
|
434
|
-
svg: "always",
|
|
435
|
-
math: "always"
|
|
436
|
-
}
|
|
437
|
-
],
|
|
438
|
-
"vue/this-in-template": ["error", "never"],
|
|
439
|
-
"vue/prop-name-casing": ["error", "camelCase"],
|
|
440
426
|
"vue/attributes-order": [
|
|
441
427
|
"error",
|
|
442
428
|
{
|
|
429
|
+
alphabetical: false,
|
|
443
430
|
order: [
|
|
444
431
|
"EVENTS",
|
|
445
432
|
// `@click="functionCall"`, `v-on="event"`
|
|
@@ -470,8 +457,26 @@ var configVue = (options = {}) => {
|
|
|
470
457
|
// `prop="foo", `static attributes
|
|
471
458
|
"ATTR_SHORTHAND_BOOL"
|
|
472
459
|
// `disabled`, prop shorthand
|
|
473
|
-
]
|
|
474
|
-
|
|
460
|
+
]
|
|
461
|
+
}
|
|
462
|
+
],
|
|
463
|
+
"vue/html-self-closing": [
|
|
464
|
+
"error",
|
|
465
|
+
{
|
|
466
|
+
math: "always",
|
|
467
|
+
svg: "always",
|
|
468
|
+
html: {
|
|
469
|
+
component: "always",
|
|
470
|
+
normal: "always",
|
|
471
|
+
void: "always"
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
],
|
|
475
|
+
"vue/max-attributes-per-line": [
|
|
476
|
+
"error",
|
|
477
|
+
{
|
|
478
|
+
multiline: 1,
|
|
479
|
+
singleline: 1
|
|
475
480
|
}
|
|
476
481
|
],
|
|
477
482
|
"vue/order-in-components": [
|
|
@@ -514,13 +519,8 @@ var configVue = (options = {}) => {
|
|
|
514
519
|
]
|
|
515
520
|
}
|
|
516
521
|
],
|
|
517
|
-
"vue/
|
|
518
|
-
|
|
519
|
-
{
|
|
520
|
-
singleline: 1,
|
|
521
|
-
multiline: 1
|
|
522
|
-
}
|
|
523
|
-
],
|
|
522
|
+
"vue/prop-name-casing": ["error", "camelCase"],
|
|
523
|
+
"vue/this-in-template": ["error", "never"],
|
|
524
524
|
...disabledRules,
|
|
525
525
|
...extensionRules,
|
|
526
526
|
...unCategorizedRules,
|
|
@@ -536,12 +536,12 @@ var configYml = (options = {}) => [
|
|
|
536
536
|
{
|
|
537
537
|
name: "ntnyq/yml",
|
|
538
538
|
files: [GLOB_YAML],
|
|
539
|
-
languageOptions: {
|
|
540
|
-
parser: parserYaml
|
|
541
|
-
},
|
|
542
539
|
plugins: {
|
|
543
540
|
yml: default4
|
|
544
541
|
},
|
|
542
|
+
languageOptions: {
|
|
543
|
+
parser: parserYaml
|
|
544
|
+
},
|
|
545
545
|
rules: {
|
|
546
546
|
...default4.configs.standard.rules,
|
|
547
547
|
...default4.configs.prettier.rules,
|
|
@@ -579,10 +579,12 @@ var configNode = (options = {}) => [
|
|
|
579
579
|
var configSort = (options = {}) => {
|
|
580
580
|
const configs2 = [];
|
|
581
581
|
const {
|
|
582
|
-
|
|
583
|
-
|
|
582
|
+
additionalJsonFiles = [],
|
|
583
|
+
additionalYamlFiles = [],
|
|
584
584
|
i18nLocale: enableSortI18nLocale = true,
|
|
585
|
-
|
|
585
|
+
packageJson: enableSortPackageJson = true,
|
|
586
|
+
pnpmWorkspace: enableSortPnpmWorkspace = true,
|
|
587
|
+
tsconfig: enableSortTsconfig = true
|
|
586
588
|
} = options;
|
|
587
589
|
if (enableSortTsconfig) {
|
|
588
590
|
configs2.push({
|
|
@@ -592,17 +594,20 @@ var configSort = (options = {}) => {
|
|
|
592
594
|
"jsonc/sort-keys": [
|
|
593
595
|
"error",
|
|
594
596
|
{
|
|
597
|
+
pathPattern: "^$",
|
|
595
598
|
order: [
|
|
596
599
|
"extends",
|
|
597
600
|
"compilerOptions",
|
|
598
601
|
"references",
|
|
599
602
|
"files",
|
|
600
603
|
"include",
|
|
601
|
-
"exclude"
|
|
602
|
-
|
|
603
|
-
|
|
604
|
+
"exclude",
|
|
605
|
+
// vue.volar
|
|
606
|
+
"vueCompilerOptions"
|
|
607
|
+
]
|
|
604
608
|
},
|
|
605
609
|
{
|
|
610
|
+
pathPattern: "^compilerOptions$",
|
|
606
611
|
order: [
|
|
607
612
|
/* Projects */
|
|
608
613
|
"incremental",
|
|
@@ -700,8 +705,7 @@ var configSort = (options = {}) => {
|
|
|
700
705
|
/* Completeness */
|
|
701
706
|
"skipDefaultLibCheck",
|
|
702
707
|
"skipLibCheck"
|
|
703
|
-
]
|
|
704
|
-
pathPattern: "^compilerOptions$"
|
|
708
|
+
]
|
|
705
709
|
}
|
|
706
710
|
]
|
|
707
711
|
}
|
|
@@ -712,6 +716,25 @@ var configSort = (options = {}) => {
|
|
|
712
716
|
name: "ntnyq/sort/package-json",
|
|
713
717
|
files: ["**/package.json"],
|
|
714
718
|
rules: {
|
|
719
|
+
"jsonc/sort-array-values": [
|
|
720
|
+
"error",
|
|
721
|
+
{
|
|
722
|
+
order: { type: "asc" },
|
|
723
|
+
pathPattern: "^files$"
|
|
724
|
+
},
|
|
725
|
+
{
|
|
726
|
+
order: { type: "asc" },
|
|
727
|
+
pathPattern: "^keywords$"
|
|
728
|
+
},
|
|
729
|
+
{
|
|
730
|
+
order: { type: "asc" },
|
|
731
|
+
pathPattern: "^activationEvents$"
|
|
732
|
+
},
|
|
733
|
+
{
|
|
734
|
+
order: { type: "asc" },
|
|
735
|
+
pathPattern: "^contributes.*$"
|
|
736
|
+
}
|
|
737
|
+
],
|
|
715
738
|
"jsonc/sort-keys": [
|
|
716
739
|
"error",
|
|
717
740
|
{
|
|
@@ -807,8 +830,8 @@ var configSort = (options = {}) => {
|
|
|
807
830
|
]
|
|
808
831
|
},
|
|
809
832
|
{
|
|
810
|
-
|
|
811
|
-
|
|
833
|
+
order: { type: "asc" },
|
|
834
|
+
pathPattern: "^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$"
|
|
812
835
|
},
|
|
813
836
|
{
|
|
814
837
|
order: { type: "asc" },
|
|
@@ -816,7 +839,18 @@ var configSort = (options = {}) => {
|
|
|
816
839
|
},
|
|
817
840
|
{
|
|
818
841
|
pathPattern: "^exports.*$",
|
|
819
|
-
order: [
|
|
842
|
+
order: [
|
|
843
|
+
"./package.json",
|
|
844
|
+
"types",
|
|
845
|
+
"import",
|
|
846
|
+
"require",
|
|
847
|
+
"default",
|
|
848
|
+
{
|
|
849
|
+
order: {
|
|
850
|
+
type: "asc"
|
|
851
|
+
}
|
|
852
|
+
}
|
|
853
|
+
]
|
|
820
854
|
},
|
|
821
855
|
// VSCode extension
|
|
822
856
|
{
|
|
@@ -828,15 +862,27 @@ var configSort = (options = {}) => {
|
|
|
828
862
|
* @see {@link https://pnpm.io/package_json#publishconfig}
|
|
829
863
|
*/
|
|
830
864
|
{
|
|
831
|
-
|
|
832
|
-
|
|
865
|
+
pathPattern: "^publishConfig.*$",
|
|
866
|
+
order: [
|
|
867
|
+
"./package.json",
|
|
868
|
+
"types",
|
|
869
|
+
"import",
|
|
870
|
+
"require",
|
|
871
|
+
"default",
|
|
872
|
+
{
|
|
873
|
+
order: {
|
|
874
|
+
type: "asc"
|
|
875
|
+
}
|
|
876
|
+
}
|
|
877
|
+
]
|
|
833
878
|
},
|
|
834
879
|
// npm scripts
|
|
835
880
|
{
|
|
836
|
-
|
|
837
|
-
|
|
881
|
+
order: { type: "asc" },
|
|
882
|
+
pathPattern: "^scripts$"
|
|
838
883
|
},
|
|
839
884
|
{
|
|
885
|
+
pathPattern: "^(?:gitHooks|husky|simple-git-hooks)$",
|
|
840
886
|
order: [
|
|
841
887
|
// client hooks only
|
|
842
888
|
"pre-commit",
|
|
@@ -849,27 +895,7 @@ var configSort = (options = {}) => {
|
|
|
849
895
|
"post-merge",
|
|
850
896
|
"pre-push",
|
|
851
897
|
"pre-auto-gc"
|
|
852
|
-
]
|
|
853
|
-
pathPattern: "^(?:gitHooks|husky|simple-git-hooks)$"
|
|
854
|
-
}
|
|
855
|
-
],
|
|
856
|
-
"jsonc/sort-array-values": [
|
|
857
|
-
"error",
|
|
858
|
-
{
|
|
859
|
-
pathPattern: "^files$",
|
|
860
|
-
order: { type: "asc" }
|
|
861
|
-
},
|
|
862
|
-
{
|
|
863
|
-
pathPattern: "^keywords$",
|
|
864
|
-
order: { type: "asc" }
|
|
865
|
-
},
|
|
866
|
-
{
|
|
867
|
-
pathPattern: "^activationEvents$",
|
|
868
|
-
order: { type: "asc" }
|
|
869
|
-
},
|
|
870
|
-
{
|
|
871
|
-
pathPattern: "^contributes.*$",
|
|
872
|
-
order: { type: "asc" }
|
|
898
|
+
]
|
|
873
899
|
}
|
|
874
900
|
]
|
|
875
901
|
}
|
|
@@ -879,26 +905,26 @@ var configSort = (options = {}) => {
|
|
|
879
905
|
configs2.push(
|
|
880
906
|
{
|
|
881
907
|
name: "ntnyq/sort/i18n-locale/json",
|
|
882
|
-
files: ["**/{locales
|
|
908
|
+
files: ["**/{i18n,langs,locales}/*.json"],
|
|
883
909
|
rules: {
|
|
884
910
|
"jsonc/sort-keys": [
|
|
885
911
|
"error",
|
|
886
912
|
{
|
|
887
|
-
|
|
888
|
-
|
|
913
|
+
order: { type: "asc" },
|
|
914
|
+
pathPattern: ".*"
|
|
889
915
|
}
|
|
890
916
|
]
|
|
891
917
|
}
|
|
892
918
|
},
|
|
893
919
|
{
|
|
894
920
|
name: "ntnyq/sort/i18n-locale/yaml",
|
|
895
|
-
files: ["**/{locales
|
|
921
|
+
files: ["**/{i18n,langs,locales}/*.y?(a)ml"],
|
|
896
922
|
rules: {
|
|
897
923
|
"yml/sort-keys": [
|
|
898
924
|
"error",
|
|
899
925
|
{
|
|
900
|
-
|
|
901
|
-
|
|
926
|
+
order: { type: "asc" },
|
|
927
|
+
pathPattern: ".*"
|
|
902
928
|
}
|
|
903
929
|
]
|
|
904
930
|
}
|
|
@@ -913,8 +939,38 @@ var configSort = (options = {}) => {
|
|
|
913
939
|
"yml/sort-keys": [
|
|
914
940
|
"error",
|
|
915
941
|
{
|
|
916
|
-
|
|
917
|
-
|
|
942
|
+
order: { type: "asc" },
|
|
943
|
+
pathPattern: ".*"
|
|
944
|
+
}
|
|
945
|
+
]
|
|
946
|
+
}
|
|
947
|
+
});
|
|
948
|
+
}
|
|
949
|
+
if (additionalJsonFiles.length) {
|
|
950
|
+
configs2.push({
|
|
951
|
+
name: "ntnyq/sort/additional-json",
|
|
952
|
+
files: additionalJsonFiles,
|
|
953
|
+
rules: {
|
|
954
|
+
"jsonc/sort-keys": [
|
|
955
|
+
"error",
|
|
956
|
+
{
|
|
957
|
+
order: { type: "asc" },
|
|
958
|
+
pathPattern: ".*"
|
|
959
|
+
}
|
|
960
|
+
]
|
|
961
|
+
}
|
|
962
|
+
});
|
|
963
|
+
}
|
|
964
|
+
if (additionalYamlFiles.length) {
|
|
965
|
+
configs2.push({
|
|
966
|
+
name: "ntnyq/sort/additional-yaml",
|
|
967
|
+
files: additionalYamlFiles,
|
|
968
|
+
rules: {
|
|
969
|
+
"yml/sort-keys": [
|
|
970
|
+
"error",
|
|
971
|
+
{
|
|
972
|
+
order: { type: "asc" },
|
|
973
|
+
pathPattern: ".*"
|
|
918
974
|
}
|
|
919
975
|
]
|
|
920
976
|
}
|
|
@@ -928,32 +984,32 @@ var configToml = (options = {}) => [
|
|
|
928
984
|
{
|
|
929
985
|
name: "ntnyq/toml",
|
|
930
986
|
files: [GLOB_TOML],
|
|
931
|
-
languageOptions: {
|
|
932
|
-
parser: parserToml
|
|
933
|
-
},
|
|
934
987
|
plugins: {
|
|
935
988
|
toml: default6
|
|
936
989
|
},
|
|
990
|
+
languageOptions: {
|
|
991
|
+
parser: parserToml
|
|
992
|
+
},
|
|
937
993
|
rules: {
|
|
938
|
-
"toml/keys-order": "error",
|
|
939
|
-
"toml/key-spacing": "error",
|
|
940
|
-
"toml/quoted-keys": "error",
|
|
941
|
-
"toml/comma-style": "error",
|
|
942
|
-
"toml/tables-order": "error",
|
|
943
|
-
"toml/no-space-dots": "error",
|
|
944
|
-
"toml/spaced-comment": "error",
|
|
945
|
-
"toml/precision-of-integer": "error",
|
|
946
|
-
"toml/table-bracket-spacing": "error",
|
|
947
994
|
"toml/array-bracket-newline": "error",
|
|
995
|
+
"toml/array-bracket-spacing": ["error", "never"],
|
|
996
|
+
"toml/array-element-newline": ["error", "never"],
|
|
997
|
+
"toml/comma-style": "error",
|
|
998
|
+
"toml/indent": ["error", 2],
|
|
948
999
|
"toml/inline-table-curly-spacing": "error",
|
|
1000
|
+
"toml/key-spacing": "error",
|
|
1001
|
+
"toml/keys-order": "error",
|
|
1002
|
+
"toml/no-space-dots": "error",
|
|
1003
|
+
"toml/no-unreadable-number-separator": "error",
|
|
949
1004
|
"toml/padding-line-between-pairs": "error",
|
|
950
1005
|
"toml/padding-line-between-tables": "error",
|
|
951
|
-
"toml/no-unreadable-number-separator": "error",
|
|
952
1006
|
"toml/precision-of-fractional-seconds": "error",
|
|
1007
|
+
"toml/precision-of-integer": "error",
|
|
1008
|
+
"toml/quoted-keys": "error",
|
|
1009
|
+
"toml/spaced-comment": "error",
|
|
1010
|
+
"toml/table-bracket-spacing": "error",
|
|
1011
|
+
"toml/tables-order": "error",
|
|
953
1012
|
"toml/vue-custom-block/no-parsing-error": "error",
|
|
954
|
-
"toml/indent": ["error", 2],
|
|
955
|
-
"toml/array-bracket-spacing": ["error", "never"],
|
|
956
|
-
"toml/array-element-newline": ["error", "never"],
|
|
957
1013
|
// Overrides rules
|
|
958
1014
|
...options.overrides
|
|
959
1015
|
}
|
|
@@ -1081,8 +1137,8 @@ var configTest = (options = {}) => {
|
|
|
1081
1137
|
name: "ntnyq/test/base",
|
|
1082
1138
|
files,
|
|
1083
1139
|
rules: {
|
|
1084
|
-
"no-unused-expressions": "off",
|
|
1085
1140
|
"max-lines-per-function": "off",
|
|
1141
|
+
"no-unused-expressions": "off",
|
|
1086
1142
|
"no-only-tests/no-only-tests": "error",
|
|
1087
1143
|
// Overrides rules
|
|
1088
1144
|
...options.overrides
|
|
@@ -1133,8 +1189,8 @@ var configAntfu = (options = {}) => [
|
|
|
1133
1189
|
// required `object-curly-newline` to be disabled
|
|
1134
1190
|
// 'antfu/consistent-list-newline': 'error',
|
|
1135
1191
|
"antfu/import-dedupe": "error",
|
|
1136
|
-
"antfu/no-import-dist": "error",
|
|
1137
1192
|
"antfu/indent-unindent": "error",
|
|
1193
|
+
"antfu/no-import-dist": "error",
|
|
1138
1194
|
"antfu/no-import-node-modules-by-path": "error",
|
|
1139
1195
|
// Overrides rules
|
|
1140
1196
|
...options.overrides
|
|
@@ -1169,34 +1225,19 @@ var configJsdoc = (options = {}) => [
|
|
|
1169
1225
|
// Use `jsdoc/sort-tags`
|
|
1170
1226
|
"jsdoc/text-escaping": "off",
|
|
1171
1227
|
// No need
|
|
1172
|
-
|
|
1173
|
-
"jsdoc/
|
|
1174
|
-
"jsdoc/
|
|
1175
|
-
"jsdoc/
|
|
1176
|
-
"jsdoc/
|
|
1228
|
+
"jsdoc/check-access": "warn",
|
|
1229
|
+
"jsdoc/implements-on-classes": "warn",
|
|
1230
|
+
"jsdoc/require-param-name": "warn",
|
|
1231
|
+
"jsdoc/require-property": "warn",
|
|
1232
|
+
"jsdoc/require-property-description": "warn",
|
|
1233
|
+
"jsdoc/require-property-name": "warn",
|
|
1234
|
+
"jsdoc/require-returns-check": "warn",
|
|
1235
|
+
"jsdoc/require-returns-description": "warn",
|
|
1236
|
+
"jsdoc/require-yields-check": "warn",
|
|
1177
1237
|
"jsdoc/check-alignment": "error",
|
|
1178
|
-
"jsdoc/multiline-blocks": "error",
|
|
1179
|
-
"jsdoc/check-param-names": "error",
|
|
1180
|
-
"jsdoc/no-multi-asterisks": "error",
|
|
1181
1238
|
"jsdoc/check-line-alignment": "error",
|
|
1239
|
+
"jsdoc/check-param-names": "error",
|
|
1182
1240
|
"jsdoc/check-property-names": "error",
|
|
1183
|
-
"jsdoc/require-asterisk-prefix": "error",
|
|
1184
|
-
"jsdoc/no-blank-block-descriptions": "error",
|
|
1185
|
-
"jsdoc/require-hyphen-before-param-description": "error",
|
|
1186
|
-
"jsdoc/no-bad-blocks": [
|
|
1187
|
-
"error",
|
|
1188
|
-
{
|
|
1189
|
-
ignore: [
|
|
1190
|
-
// built-in default
|
|
1191
|
-
"ts-check",
|
|
1192
|
-
"ts-expect-error",
|
|
1193
|
-
"ts-ignore",
|
|
1194
|
-
"ts-nocheck",
|
|
1195
|
-
// useful
|
|
1196
|
-
"vite-ignore"
|
|
1197
|
-
]
|
|
1198
|
-
}
|
|
1199
|
-
],
|
|
1200
1241
|
"jsdoc/check-tag-names": [
|
|
1201
1242
|
"error",
|
|
1202
1243
|
{
|
|
@@ -1217,15 +1258,30 @@ var configJsdoc = (options = {}) => [
|
|
|
1217
1258
|
]
|
|
1218
1259
|
}
|
|
1219
1260
|
],
|
|
1220
|
-
"jsdoc/check-
|
|
1221
|
-
|
|
1222
|
-
"jsdoc/
|
|
1223
|
-
"jsdoc/
|
|
1224
|
-
"jsdoc/
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1261
|
+
"jsdoc/check-types": "error",
|
|
1262
|
+
// Fixable rules
|
|
1263
|
+
"jsdoc/empty-tags": "error",
|
|
1264
|
+
"jsdoc/multiline-blocks": "error",
|
|
1265
|
+
"jsdoc/no-bad-blocks": [
|
|
1266
|
+
"error",
|
|
1267
|
+
{
|
|
1268
|
+
ignore: [
|
|
1269
|
+
// built-in default
|
|
1270
|
+
"ts-check",
|
|
1271
|
+
"ts-expect-error",
|
|
1272
|
+
"ts-ignore",
|
|
1273
|
+
"ts-nocheck",
|
|
1274
|
+
// useful
|
|
1275
|
+
"vite-ignore"
|
|
1276
|
+
]
|
|
1277
|
+
}
|
|
1278
|
+
],
|
|
1279
|
+
"jsdoc/no-blank-block-descriptions": "error",
|
|
1280
|
+
"jsdoc/no-blank-blocks": "error",
|
|
1281
|
+
"jsdoc/no-defaults": "error",
|
|
1282
|
+
"jsdoc/no-multi-asterisks": "error",
|
|
1283
|
+
"jsdoc/require-asterisk-prefix": "error",
|
|
1284
|
+
"jsdoc/require-hyphen-before-param-description": "error",
|
|
1229
1285
|
// TypeScript rules overrides
|
|
1230
1286
|
...options.typescript ? typescriptRules : javscriptRules,
|
|
1231
1287
|
// Overrides rules
|
|
@@ -1247,26 +1303,26 @@ var configJsonc = (options = {}) => [
|
|
|
1247
1303
|
},
|
|
1248
1304
|
rules: {
|
|
1249
1305
|
...default11.configs["recommended-with-jsonc"].rules,
|
|
1250
|
-
"jsonc/no-octal-escape": "error",
|
|
1251
|
-
"jsonc/indent": ["error", 2],
|
|
1252
|
-
"jsonc/comma-style": ["error", "last"],
|
|
1253
|
-
"jsonc/comma-dangle": ["error", "never"],
|
|
1254
|
-
"jsonc/object-curly-spacing": ["error", "always"],
|
|
1255
1306
|
"jsonc/array-bracket-spacing": ["error", "never"],
|
|
1307
|
+
"jsonc/comma-dangle": ["error", "never"],
|
|
1308
|
+
"jsonc/comma-style": ["error", "last"],
|
|
1309
|
+
"jsonc/indent": ["error", 2],
|
|
1256
1310
|
"jsonc/key-spacing": [
|
|
1257
1311
|
"error",
|
|
1258
1312
|
{
|
|
1259
|
-
|
|
1260
|
-
|
|
1313
|
+
afterColon: true,
|
|
1314
|
+
beforeColon: false
|
|
1261
1315
|
}
|
|
1262
1316
|
],
|
|
1317
|
+
"jsonc/no-octal-escape": "error",
|
|
1263
1318
|
"jsonc/object-curly-newline": [
|
|
1264
1319
|
"error",
|
|
1265
1320
|
{
|
|
1266
|
-
|
|
1267
|
-
|
|
1321
|
+
consistent: true,
|
|
1322
|
+
multiline: true
|
|
1268
1323
|
}
|
|
1269
1324
|
],
|
|
1325
|
+
"jsonc/object-curly-spacing": ["error", "always"],
|
|
1270
1326
|
"jsonc/object-property-newline": [
|
|
1271
1327
|
"error",
|
|
1272
1328
|
{
|
|
@@ -1290,12 +1346,11 @@ var configPinia = (options = {}) => {
|
|
|
1290
1346
|
pinia: default7
|
|
1291
1347
|
},
|
|
1292
1348
|
rules: {
|
|
1293
|
-
"pinia/
|
|
1349
|
+
"pinia/never-export-initialized-store": "error",
|
|
1294
1350
|
"pinia/no-duplicate-store-ids": "error",
|
|
1295
1351
|
"pinia/no-return-global-properties": "error",
|
|
1296
1352
|
"pinia/no-store-to-refs-in-store": "error",
|
|
1297
|
-
"pinia/
|
|
1298
|
-
"pinia/require-setup-store-properties-export": "error",
|
|
1353
|
+
"pinia/prefer-single-store-per-file": "error",
|
|
1299
1354
|
"pinia/prefer-use-store-naming-convention": [
|
|
1300
1355
|
"error",
|
|
1301
1356
|
{
|
|
@@ -1303,6 +1358,7 @@ var configPinia = (options = {}) => {
|
|
|
1303
1358
|
storeSuffix: "Store"
|
|
1304
1359
|
}
|
|
1305
1360
|
],
|
|
1361
|
+
"pinia/require-setup-store-properties-export": "error",
|
|
1306
1362
|
// Overrides rules
|
|
1307
1363
|
...options.overrides
|
|
1308
1364
|
}
|
|
@@ -1400,8 +1456,8 @@ var configUnoCSS = (options = {}) => [
|
|
|
1400
1456
|
unocss: default13
|
|
1401
1457
|
},
|
|
1402
1458
|
rules: {
|
|
1403
|
-
"unocss/order": "error",
|
|
1404
1459
|
"unocss/order-attributify": options.attributify ? "error" : "off",
|
|
1460
|
+
"unocss/order": "error",
|
|
1405
1461
|
// Overrides rules
|
|
1406
1462
|
...options.overrides
|
|
1407
1463
|
}
|
|
@@ -1610,9 +1666,9 @@ var configIgnores = (customIgnores = []) => [
|
|
|
1610
1666
|
// src/configs/importX.ts
|
|
1611
1667
|
var configImportX = (options = {}) => {
|
|
1612
1668
|
const {
|
|
1613
|
-
typescript: enableTypeScript,
|
|
1614
1669
|
// use typescript resolve if possible
|
|
1615
|
-
preferTypeScriptResolver = true
|
|
1670
|
+
preferTypeScriptResolver = true,
|
|
1671
|
+
typescript: enableTypeScript
|
|
1616
1672
|
} = options;
|
|
1617
1673
|
return [
|
|
1618
1674
|
{
|
|
@@ -1638,22 +1694,22 @@ var configImportX = (options = {}) => {
|
|
|
1638
1694
|
]
|
|
1639
1695
|
},
|
|
1640
1696
|
rules: {
|
|
1641
|
-
"import-x/no-unresolved": "off",
|
|
1642
1697
|
"import-x/no-absolute-path": "off",
|
|
1643
1698
|
"import-x/no-named-as-default-member": "off",
|
|
1644
1699
|
"import-x/no-named-default": "off",
|
|
1700
|
+
"import-x/no-unresolved": "off",
|
|
1645
1701
|
// disabled in favor or `perfectionist/sort-imports`
|
|
1646
1702
|
"import-x/order": "off",
|
|
1647
|
-
"import-x/first": "error",
|
|
1648
|
-
"import-x/export": "error",
|
|
1649
|
-
"import-x/no-self-import": "error",
|
|
1650
|
-
"import-x/no-duplicates": "error",
|
|
1651
|
-
"import-x/no-mutable-exports": "error",
|
|
1652
|
-
"import-x/newline-after-import": "error",
|
|
1653
1703
|
"import-x/consistent-type-specifier-style": [
|
|
1654
1704
|
"error",
|
|
1655
1705
|
"prefer-top-level"
|
|
1656
1706
|
],
|
|
1707
|
+
"import-x/export": "error",
|
|
1708
|
+
"import-x/first": "error",
|
|
1709
|
+
"import-x/newline-after-import": "error",
|
|
1710
|
+
"import-x/no-duplicates": "error",
|
|
1711
|
+
"import-x/no-mutable-exports": "error",
|
|
1712
|
+
"import-x/no-self-import": "error",
|
|
1657
1713
|
// Overrides rules
|
|
1658
1714
|
...options.overrides
|
|
1659
1715
|
}
|
|
@@ -1665,12 +1721,12 @@ var configImportX = (options = {}) => {
|
|
|
1665
1721
|
var disabledRules2 = {
|
|
1666
1722
|
"unicorn/better-regex": "off",
|
|
1667
1723
|
"unicorn/explicit-length-check": "off",
|
|
1668
|
-
"unicorn/prefer-top-level-await": "off",
|
|
1669
1724
|
"unicorn/no-array-callback-reference": "off",
|
|
1670
1725
|
/**
|
|
1671
1726
|
* @see https://caniuse.com/?search=globalThis
|
|
1672
1727
|
*/
|
|
1673
|
-
"unicorn/prefer-global-this": "off"
|
|
1728
|
+
"unicorn/prefer-global-this": "off",
|
|
1729
|
+
"unicorn/prefer-top-level-await": "off"
|
|
1674
1730
|
};
|
|
1675
1731
|
var configUnicorn = (options = {}) => [
|
|
1676
1732
|
{
|
|
@@ -1679,70 +1735,78 @@ var configUnicorn = (options = {}) => [
|
|
|
1679
1735
|
unicorn: default15
|
|
1680
1736
|
},
|
|
1681
1737
|
rules: {
|
|
1738
|
+
"unicorn/catch-error-name": [
|
|
1739
|
+
"error",
|
|
1740
|
+
{
|
|
1741
|
+
name: "err",
|
|
1742
|
+
ignore: ["^_."]
|
|
1743
|
+
}
|
|
1744
|
+
],
|
|
1745
|
+
"unicorn/consistent-existence-index-check": "error",
|
|
1746
|
+
"unicorn/custom-error-definition": "error",
|
|
1747
|
+
"unicorn/error-message": "error",
|
|
1682
1748
|
"unicorn/escape-case": "error",
|
|
1749
|
+
"unicorn/new-for-builtins": "error",
|
|
1750
|
+
"unicorn/no-console-spaces": "error",
|
|
1683
1751
|
"unicorn/no-for-loop": "error",
|
|
1752
|
+
"unicorn/no-hex-escape": "error",
|
|
1684
1753
|
"unicorn/no-lonely-if": "error",
|
|
1685
|
-
"unicorn/error-message": "error",
|
|
1686
1754
|
"unicorn/no-new-buffer": "error",
|
|
1687
|
-
"unicorn/no-
|
|
1688
|
-
"unicorn/
|
|
1689
|
-
"unicorn/
|
|
1690
|
-
"unicorn/new-for-builtins": "error",
|
|
1691
|
-
"unicorn/prefer-type-error": "error",
|
|
1692
|
-
"unicorn/prefer-math-trunc": "error",
|
|
1693
|
-
"unicorn/no-console-spaces": "error",
|
|
1755
|
+
"unicorn/no-static-only-class": "error",
|
|
1756
|
+
"unicorn/no-typeof-undefined": "error",
|
|
1757
|
+
"unicorn/no-unnecessary-await": "error",
|
|
1694
1758
|
"unicorn/no-zero-fractions": "error",
|
|
1695
|
-
"unicorn/prefer-regexp-test": "error",
|
|
1696
1759
|
"unicorn/number-literal-case": "error",
|
|
1697
|
-
"unicorn/
|
|
1760
|
+
"unicorn/prefer-date-now": "error",
|
|
1761
|
+
"unicorn/prefer-includes": "error",
|
|
1762
|
+
"unicorn/prefer-keyboard-event-key": "error",
|
|
1698
1763
|
"unicorn/prefer-math-min-max": "error",
|
|
1699
|
-
"unicorn/prefer-
|
|
1700
|
-
"unicorn/no-unnecessary-await": "error",
|
|
1701
|
-
"unicorn/no-static-only-class": "error",
|
|
1702
|
-
"unicorn/prefer-reflect-apply": "error",
|
|
1703
|
-
"unicorn/prefer-negative-index": "error",
|
|
1704
|
-
"unicorn/prefer-structured-clone": "error",
|
|
1705
|
-
"unicorn/custom-error-definition": "error",
|
|
1764
|
+
"unicorn/prefer-math-trunc": "error",
|
|
1706
1765
|
"unicorn/prefer-modern-math-apis": "error",
|
|
1766
|
+
"unicorn/prefer-negative-index": "error",
|
|
1767
|
+
"unicorn/prefer-node-protocol": "error",
|
|
1707
1768
|
"unicorn/prefer-number-properties": "error",
|
|
1708
|
-
"unicorn/prefer-prototype-methods": "error",
|
|
1709
|
-
"unicorn/prefer-keyboard-event-key": "error",
|
|
1710
1769
|
"unicorn/prefer-optional-catch-binding": "error",
|
|
1711
|
-
"unicorn/
|
|
1770
|
+
"unicorn/prefer-prototype-methods": "error",
|
|
1771
|
+
"unicorn/prefer-reflect-apply": "error",
|
|
1772
|
+
"unicorn/prefer-regexp-test": "error",
|
|
1773
|
+
"unicorn/prefer-structured-clone": "error",
|
|
1774
|
+
"unicorn/prefer-type-error": "error",
|
|
1712
1775
|
"unicorn/switch-case-braces": ["error", "avoid"],
|
|
1713
|
-
"unicorn/
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
ignore: ["^_."]
|
|
1718
|
-
}
|
|
1719
|
-
],
|
|
1720
|
-
"unicorn/prefer-date-now": "error",
|
|
1721
|
-
// String
|
|
1776
|
+
"unicorn/throw-new-error": "error",
|
|
1777
|
+
/**
|
|
1778
|
+
* @pg String
|
|
1779
|
+
*/
|
|
1722
1780
|
"unicorn/prefer-code-point": "error",
|
|
1723
1781
|
"unicorn/prefer-string-slice": "error",
|
|
1724
|
-
"unicorn/prefer-string-trim-start-end": "error",
|
|
1725
1782
|
"unicorn/prefer-string-starts-ends-with": "error",
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1783
|
+
"unicorn/prefer-string-trim-start-end": "error",
|
|
1784
|
+
/**
|
|
1785
|
+
* @pg DOM
|
|
1786
|
+
*/
|
|
1787
|
+
"unicorn/no-invalid-remove-event-listener": "error",
|
|
1788
|
+
"unicorn/prefer-add-event-listener": "error",
|
|
1730
1789
|
"unicorn/prefer-dom-node-append": "error",
|
|
1731
1790
|
"unicorn/prefer-dom-node-dataset": "error",
|
|
1732
|
-
"unicorn/prefer-
|
|
1791
|
+
"unicorn/prefer-dom-node-remove": "error",
|
|
1733
1792
|
"unicorn/prefer-dom-node-text-content": "error",
|
|
1734
|
-
"unicorn/
|
|
1735
|
-
|
|
1736
|
-
|
|
1793
|
+
"unicorn/prefer-modern-dom-apis": "error",
|
|
1794
|
+
"unicorn/prefer-query-selector": "error",
|
|
1795
|
+
/**
|
|
1796
|
+
* @pg Array
|
|
1797
|
+
*/
|
|
1798
|
+
"unicorn/no-array-method-this-argument": "error",
|
|
1737
1799
|
"unicorn/no-array-push-push": "error",
|
|
1738
|
-
"unicorn/prefer-array-find": "error",
|
|
1739
|
-
"unicorn/prefer-array-some": "error",
|
|
1740
1800
|
"unicorn/no-instanceof-array": "error",
|
|
1801
|
+
"unicorn/no-new-array": "error",
|
|
1802
|
+
"unicorn/prefer-array-find": "error",
|
|
1741
1803
|
"unicorn/prefer-array-flat-map": "error",
|
|
1742
1804
|
"unicorn/prefer-array-index-of": "error",
|
|
1805
|
+
"unicorn/prefer-array-some": "error",
|
|
1743
1806
|
"unicorn/require-array-join-separator": "error",
|
|
1744
|
-
|
|
1745
|
-
|
|
1807
|
+
/**
|
|
1808
|
+
* @pg Set
|
|
1809
|
+
*/
|
|
1746
1810
|
"unicorn/prefer-set-has": "error",
|
|
1747
1811
|
"unicorn/prefer-set-size": "error",
|
|
1748
1812
|
...disabledRules2,
|
|
@@ -1764,8 +1828,8 @@ var configSpecials = (options = {}) => {
|
|
|
1764
1828
|
name: "ntnyq/specials/scripts",
|
|
1765
1829
|
files: [`**/scripts/${GLOB_SRC}`],
|
|
1766
1830
|
rules: {
|
|
1767
|
-
"no-console": "off",
|
|
1768
1831
|
"@typescript-eslint/explicit-function-return-type": "off",
|
|
1832
|
+
"no-console": "off",
|
|
1769
1833
|
// Overrides rules
|
|
1770
1834
|
...options.overridesScriptsRules
|
|
1771
1835
|
}
|
|
@@ -1774,8 +1838,8 @@ var configSpecials = (options = {}) => {
|
|
|
1774
1838
|
name: "ntnyq/specials/cli",
|
|
1775
1839
|
files: [`**/cli/${GLOB_SRC}`, `**/cli.${GLOB_SRC_EXT}`],
|
|
1776
1840
|
rules: {
|
|
1777
|
-
"no-console": "off",
|
|
1778
1841
|
"@typescript-eslint/explicit-function-return-type": "off",
|
|
1842
|
+
"no-console": "off",
|
|
1779
1843
|
// Overrides rules
|
|
1780
1844
|
...options.overridesCliRules
|
|
1781
1845
|
}
|
|
@@ -1807,16 +1871,24 @@ var configSpecials = (options = {}) => {
|
|
|
1807
1871
|
perfectionist: default20
|
|
1808
1872
|
},
|
|
1809
1873
|
rules: {
|
|
1810
|
-
"no-console": "off",
|
|
1811
|
-
"import-x/no-default-export": "off",
|
|
1812
1874
|
"@typescript-eslint/explicit-function-return-type": "off",
|
|
1875
|
+
"import-x/no-default-export": "off",
|
|
1876
|
+
"no-console": "off",
|
|
1813
1877
|
"perfectionist/sort-objects": [
|
|
1814
1878
|
"error",
|
|
1815
1879
|
{
|
|
1816
|
-
|
|
1880
|
+
ignoreCase: true,
|
|
1881
|
+
newlinesBetween: "ignore",
|
|
1817
1882
|
order: "asc",
|
|
1818
1883
|
partitionByComment: true,
|
|
1819
|
-
|
|
1884
|
+
type: "alphabetical",
|
|
1885
|
+
groups: [
|
|
1886
|
+
"property",
|
|
1887
|
+
"multiline-property",
|
|
1888
|
+
"method",
|
|
1889
|
+
"multiline-method",
|
|
1890
|
+
"unknown"
|
|
1891
|
+
]
|
|
1820
1892
|
}
|
|
1821
1893
|
],
|
|
1822
1894
|
...options.overridesConfigFileRules
|
|
@@ -1832,10 +1904,10 @@ var configSpecials = (options = {}) => {
|
|
|
1832
1904
|
"**/components/ui/**/*.vue"
|
|
1833
1905
|
],
|
|
1834
1906
|
rules: {
|
|
1835
|
-
"vue/define-emits-declaration": "off",
|
|
1836
|
-
"import-x/consistent-type-specifier-style": "off",
|
|
1837
|
-
"@typescript-eslint/no-unused-vars": "off",
|
|
1838
1907
|
"@typescript-eslint/consistent-type-imports": "off",
|
|
1908
|
+
"@typescript-eslint/no-unused-vars": "off",
|
|
1909
|
+
"import-x/consistent-type-specifier-style": "off",
|
|
1910
|
+
"vue/define-emits-declaration": "off",
|
|
1839
1911
|
// Overrides rules
|
|
1840
1912
|
...shadcnOptions.overridesRules
|
|
1841
1913
|
}
|
|
@@ -1896,35 +1968,35 @@ var configMarkdown = (options = {}) => {
|
|
|
1896
1968
|
],
|
|
1897
1969
|
languageOptions: {
|
|
1898
1970
|
parserOptions: {
|
|
1899
|
-
ecmaFeatures: {
|
|
1900
|
-
impliedStrict: true
|
|
1901
|
-
},
|
|
1902
1971
|
// type-aware lint related parserOptions
|
|
1903
1972
|
project: false,
|
|
1904
|
-
projectService: false
|
|
1973
|
+
projectService: false,
|
|
1974
|
+
ecmaFeatures: {
|
|
1975
|
+
impliedStrict: true
|
|
1976
|
+
}
|
|
1905
1977
|
}
|
|
1906
1978
|
},
|
|
1907
1979
|
rules: {
|
|
1908
|
-
"
|
|
1980
|
+
"@typescript-eslint/comma-dangle": "off",
|
|
1981
|
+
"@typescript-eslint/consistent-type-imports": "off",
|
|
1982
|
+
"@typescript-eslint/no-extraneous-class": "off",
|
|
1983
|
+
"@typescript-eslint/no-namespace": "off",
|
|
1984
|
+
"@typescript-eslint/no-redeclare": "off",
|
|
1985
|
+
"@typescript-eslint/no-require-imports": "off",
|
|
1986
|
+
"@typescript-eslint/no-unused-expressions": "off",
|
|
1987
|
+
"@typescript-eslint/no-unused-vars": "off",
|
|
1988
|
+
"@typescript-eslint/no-use-before-define": "off",
|
|
1989
|
+
"import-x/no-unresolved": "off",
|
|
1909
1990
|
"no-alert": "off",
|
|
1910
1991
|
"no-console": "off",
|
|
1911
|
-
"no-unused-vars": "off",
|
|
1912
|
-
"no-unused-expressions": "off",
|
|
1913
1992
|
"no-restricted-imports": "off",
|
|
1993
|
+
"no-undef": "off",
|
|
1994
|
+
"no-unused-expressions": "off",
|
|
1995
|
+
"no-unused-vars": "off",
|
|
1914
1996
|
"node/prefer-global/buffer": "off",
|
|
1915
1997
|
"node/prefer-global/process": "off",
|
|
1916
|
-
"import-x/no-unresolved": "off",
|
|
1917
1998
|
"unused-imports/no-unused-imports": "off",
|
|
1918
1999
|
"unused-imports/no-unused-vars": "off",
|
|
1919
|
-
"@typescript-eslint/comma-dangle": "off",
|
|
1920
|
-
"@typescript-eslint/no-redeclare": "off",
|
|
1921
|
-
"@typescript-eslint/no-namespace": "off",
|
|
1922
|
-
"@typescript-eslint/no-unused-vars": "off",
|
|
1923
|
-
"@typescript-eslint/no-require-imports": "off",
|
|
1924
|
-
"@typescript-eslint/no-extraneous-class": "off",
|
|
1925
|
-
"@typescript-eslint/no-use-before-define": "off",
|
|
1926
|
-
"@typescript-eslint/no-unused-expressions": "off",
|
|
1927
|
-
"@typescript-eslint/consistent-type-imports": "off",
|
|
1928
2000
|
// disable all type-aware rules of @typescript-eslint
|
|
1929
2001
|
...configs.disableTypeChecked.rules,
|
|
1930
2002
|
// Overrides rules
|
|
@@ -2025,25 +2097,25 @@ import jsConfig from "@eslint/js";
|
|
|
2025
2097
|
import globals2 from "globals";
|
|
2026
2098
|
var strictRules = {
|
|
2027
2099
|
complexity: ["error", { max: 30 }],
|
|
2028
|
-
"max-params": ["error", { max: 5 }],
|
|
2029
2100
|
"max-depth": ["error", { max: 5 }],
|
|
2030
|
-
"max-nested-callbacks": ["error", { max: 10 }],
|
|
2031
2101
|
"max-lines": [
|
|
2032
2102
|
"error",
|
|
2033
2103
|
{
|
|
2034
2104
|
max: 1e3,
|
|
2035
|
-
|
|
2036
|
-
|
|
2105
|
+
skipBlankLines: true,
|
|
2106
|
+
skipComments: true
|
|
2037
2107
|
}
|
|
2038
2108
|
],
|
|
2039
2109
|
"max-lines-per-function": [
|
|
2040
2110
|
"error",
|
|
2041
2111
|
{
|
|
2042
2112
|
max: 200,
|
|
2043
|
-
|
|
2044
|
-
|
|
2113
|
+
skipBlankLines: true,
|
|
2114
|
+
skipComments: true
|
|
2045
2115
|
}
|
|
2046
|
-
]
|
|
2116
|
+
],
|
|
2117
|
+
"max-nested-callbacks": ["error", { max: 10 }],
|
|
2118
|
+
"max-params": ["error", { max: 5 }]
|
|
2047
2119
|
};
|
|
2048
2120
|
var configJavaScript = (options = {}) => [
|
|
2049
2121
|
{
|
|
@@ -2053,44 +2125,50 @@ var configJavaScript = (options = {}) => [
|
|
|
2053
2125
|
{
|
|
2054
2126
|
name: "ntnyq/js/core",
|
|
2055
2127
|
languageOptions: {
|
|
2128
|
+
sourceType: "module",
|
|
2056
2129
|
globals: {
|
|
2057
2130
|
...globals2.browser,
|
|
2058
2131
|
...globals2.es2021,
|
|
2059
2132
|
...globals2.node
|
|
2060
|
-
}
|
|
2061
|
-
sourceType: "module"
|
|
2133
|
+
}
|
|
2062
2134
|
},
|
|
2063
2135
|
rules: {
|
|
2064
|
-
"
|
|
2136
|
+
"consistent-return": "off",
|
|
2065
2137
|
"no-return-assign": "off",
|
|
2066
2138
|
"no-useless-escape": "off",
|
|
2067
|
-
"
|
|
2139
|
+
"require-await": "off",
|
|
2068
2140
|
// disabled in favor of `perfectionist/sort-named-imports`
|
|
2069
2141
|
"sort-imports": "off",
|
|
2070
2142
|
// standard v17.0.0
|
|
2071
2143
|
"accessor-pairs": [
|
|
2072
2144
|
"error",
|
|
2073
|
-
{
|
|
2145
|
+
{ enforceForClassMembers: true, setWithoutGet: true }
|
|
2074
2146
|
],
|
|
2147
|
+
"array-callback-return": "error",
|
|
2148
|
+
"block-scoped-var": "error",
|
|
2075
2149
|
camelcase: [
|
|
2076
2150
|
"error",
|
|
2077
2151
|
{
|
|
2078
2152
|
allow: ["^UNSAFE_"],
|
|
2079
|
-
|
|
2080
|
-
|
|
2153
|
+
ignoreGlobals: true,
|
|
2154
|
+
properties: "never"
|
|
2081
2155
|
}
|
|
2082
2156
|
],
|
|
2083
2157
|
"constructor-super": "error",
|
|
2084
2158
|
curly: ["error", "multi-line"],
|
|
2085
2159
|
"default-case-last": "error",
|
|
2086
2160
|
"dot-notation": ["error", { allowKeywords: true }],
|
|
2161
|
+
// best-practice
|
|
2162
|
+
eqeqeq: ["error", "smart"],
|
|
2087
2163
|
"new-cap": [
|
|
2088
2164
|
"error",
|
|
2089
|
-
{
|
|
2165
|
+
{ capIsNew: false, newIsCap: true, properties: true }
|
|
2090
2166
|
],
|
|
2167
|
+
"no-alert": "error",
|
|
2091
2168
|
"no-array-constructor": "error",
|
|
2092
2169
|
"no-async-promise-executor": "error",
|
|
2093
2170
|
"no-caller": "error",
|
|
2171
|
+
"no-case-declarations": "error",
|
|
2094
2172
|
"no-class-assign": "error",
|
|
2095
2173
|
"no-compare-neg-zero": "error",
|
|
2096
2174
|
"no-cond-assign": "error",
|
|
@@ -2103,10 +2181,10 @@ var configJavaScript = (options = {}) => [
|
|
|
2103
2181
|
"no-dupe-class-members": "error",
|
|
2104
2182
|
"no-dupe-keys": "error",
|
|
2105
2183
|
"no-duplicate-case": "error",
|
|
2106
|
-
"no-useless-backreference": "error",
|
|
2107
2184
|
"no-empty": ["error", { allowEmptyCatch: true }],
|
|
2108
2185
|
"no-empty-character-class": "error",
|
|
2109
2186
|
"no-empty-pattern": "error",
|
|
2187
|
+
"no-empty-static-block": "error",
|
|
2110
2188
|
"no-eval": "error",
|
|
2111
2189
|
"no-ex-assign": "error",
|
|
2112
2190
|
"no-extend-native": "error",
|
|
@@ -2124,15 +2202,16 @@ var configJavaScript = (options = {}) => [
|
|
|
2124
2202
|
"no-lone-blocks": "error",
|
|
2125
2203
|
"no-loss-of-precision": "error",
|
|
2126
2204
|
"no-misleading-character-class": "error",
|
|
2127
|
-
"no-
|
|
2128
|
-
"no-useless-catch": "error",
|
|
2205
|
+
"no-multi-str": "error",
|
|
2129
2206
|
"no-new": "error",
|
|
2130
2207
|
"no-new-func": "error",
|
|
2208
|
+
"no-new-native-nonconstructor": "error",
|
|
2131
2209
|
"no-new-wrappers": "error",
|
|
2132
2210
|
"no-obj-calls": "error",
|
|
2133
2211
|
"no-octal": "error",
|
|
2134
2212
|
"no-octal-escape": "error",
|
|
2135
2213
|
"no-proto": "error",
|
|
2214
|
+
"no-prototype-builtins": "error",
|
|
2136
2215
|
"no-redeclare": ["error", { builtinGlobals: false }],
|
|
2137
2216
|
"no-regex-spaces": "error",
|
|
2138
2217
|
"no-self-assign": ["error", { props: true }],
|
|
@@ -2156,8 +2235,8 @@ var configJavaScript = (options = {}) => [
|
|
|
2156
2235
|
"error",
|
|
2157
2236
|
{
|
|
2158
2237
|
allowShortCircuit: true,
|
|
2159
|
-
|
|
2160
|
-
|
|
2238
|
+
allowTaggedTemplates: true,
|
|
2239
|
+
allowTernary: true
|
|
2161
2240
|
}
|
|
2162
2241
|
],
|
|
2163
2242
|
"no-unused-vars": [
|
|
@@ -2169,38 +2248,35 @@ var configJavaScript = (options = {}) => [
|
|
|
2169
2248
|
vars: "all"
|
|
2170
2249
|
}
|
|
2171
2250
|
],
|
|
2251
|
+
"no-use-before-define": [
|
|
2252
|
+
"error",
|
|
2253
|
+
{
|
|
2254
|
+
allowNamedExports: false,
|
|
2255
|
+
classes: false,
|
|
2256
|
+
functions: false,
|
|
2257
|
+
variables: true
|
|
2258
|
+
}
|
|
2259
|
+
],
|
|
2260
|
+
"no-useless-backreference": "error",
|
|
2172
2261
|
"no-useless-call": "error",
|
|
2262
|
+
"no-useless-catch": "error",
|
|
2173
2263
|
"no-useless-computed-key": "error",
|
|
2174
2264
|
"no-useless-constructor": "error",
|
|
2175
2265
|
"no-useless-rename": "error",
|
|
2176
2266
|
"no-useless-return": "error",
|
|
2177
|
-
"prefer-promise-reject-errors": "error",
|
|
2178
|
-
"prefer-regex-literals": ["error", { disallowRedundantWrapping: true }],
|
|
2179
|
-
"symbol-description": "error",
|
|
2180
|
-
"unicode-bom": ["error", "never"],
|
|
2181
|
-
"use-isnan": [
|
|
2182
|
-
"error",
|
|
2183
|
-
{
|
|
2184
|
-
enforceForSwitchCase: true,
|
|
2185
|
-
enforceForIndexOf: true
|
|
2186
|
-
}
|
|
2187
|
-
],
|
|
2188
|
-
"valid-typeof": ["error", { requireStringLiterals: true }],
|
|
2189
|
-
yoda: ["error", "never"],
|
|
2190
2267
|
// es6+
|
|
2191
2268
|
"no-var": "error",
|
|
2192
|
-
"
|
|
2193
|
-
"
|
|
2194
|
-
"
|
|
2195
|
-
"no-empty-static-block": "error",
|
|
2196
|
-
"no-new-native-nonconstructor": "error",
|
|
2197
|
-
"prefer-const": [
|
|
2269
|
+
"no-void": "error",
|
|
2270
|
+
"no-with": "error",
|
|
2271
|
+
"object-shorthand": [
|
|
2198
2272
|
"error",
|
|
2273
|
+
"always",
|
|
2199
2274
|
{
|
|
2200
|
-
|
|
2201
|
-
|
|
2275
|
+
avoidQuotes: true,
|
|
2276
|
+
ignoreConstructors: false
|
|
2202
2277
|
}
|
|
2203
2278
|
],
|
|
2279
|
+
"one-var": ["error", "never"],
|
|
2204
2280
|
"prefer-arrow-callback": [
|
|
2205
2281
|
"error",
|
|
2206
2282
|
{
|
|
@@ -2208,34 +2284,30 @@ var configJavaScript = (options = {}) => [
|
|
|
2208
2284
|
allowUnboundThis: true
|
|
2209
2285
|
}
|
|
2210
2286
|
],
|
|
2211
|
-
"
|
|
2287
|
+
"prefer-const": [
|
|
2212
2288
|
"error",
|
|
2213
|
-
"always",
|
|
2214
2289
|
{
|
|
2215
|
-
|
|
2216
|
-
|
|
2290
|
+
destructuring: "all",
|
|
2291
|
+
ignoreReadBeforeAssign: true
|
|
2217
2292
|
}
|
|
2218
2293
|
],
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
"
|
|
2222
|
-
"
|
|
2223
|
-
"
|
|
2224
|
-
"
|
|
2225
|
-
"
|
|
2226
|
-
"
|
|
2227
|
-
"no-void": "error",
|
|
2228
|
-
"vars-on-top": "error",
|
|
2229
|
-
"one-var": ["error", "never"],
|
|
2230
|
-
"no-use-before-define": [
|
|
2294
|
+
"prefer-promise-reject-errors": "error",
|
|
2295
|
+
"prefer-regex-literals": ["error", { disallowRedundantWrapping: true }],
|
|
2296
|
+
"prefer-rest-params": "error",
|
|
2297
|
+
"prefer-spread": "error",
|
|
2298
|
+
"prefer-template": "error",
|
|
2299
|
+
"symbol-description": "error",
|
|
2300
|
+
"unicode-bom": ["error", "never"],
|
|
2301
|
+
"use-isnan": [
|
|
2231
2302
|
"error",
|
|
2232
2303
|
{
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
variables: true,
|
|
2236
|
-
allowNamedExports: false
|
|
2304
|
+
enforceForIndexOf: true,
|
|
2305
|
+
enforceForSwitchCase: true
|
|
2237
2306
|
}
|
|
2238
2307
|
],
|
|
2308
|
+
"valid-typeof": ["error", { requireStringLiterals: true }],
|
|
2309
|
+
"vars-on-top": "error",
|
|
2310
|
+
yoda: ["error", "never"],
|
|
2239
2311
|
// Strict rules
|
|
2240
2312
|
...options.strict ? strictRules : {},
|
|
2241
2313
|
// Overrides rules
|
|
@@ -2260,36 +2332,36 @@ var configJSX = () => [
|
|
|
2260
2332
|
// src/configs/typescript.ts
|
|
2261
2333
|
import process4 from "node:process";
|
|
2262
2334
|
var typeAwareRules = {
|
|
2335
|
+
// too strict
|
|
2336
|
+
"@typescript-eslint/strict-boolean-expressions": "off",
|
|
2263
2337
|
"dot-notation": "off",
|
|
2264
|
-
"require-await": "off",
|
|
2265
2338
|
"no-implied-eval": "off",
|
|
2266
2339
|
"no-throw-literal": "off",
|
|
2267
|
-
|
|
2268
|
-
"@typescript-eslint/strict-boolean-expressions": "off",
|
|
2269
|
-
"@typescript-eslint/require-await": "error",
|
|
2270
|
-
"@typescript-eslint/unbound-method": "error",
|
|
2271
|
-
"@typescript-eslint/no-unsafe-call": "error",
|
|
2340
|
+
"require-await": "off",
|
|
2272
2341
|
"@typescript-eslint/await-thenable": "error",
|
|
2342
|
+
"@typescript-eslint/dot-notation": ["error", { allowKeywords: true }],
|
|
2343
|
+
"@typescript-eslint/no-duplicate-type-constituents": "error",
|
|
2344
|
+
"@typescript-eslint/no-floating-promises": "error",
|
|
2273
2345
|
"@typescript-eslint/no-for-in-array": "error",
|
|
2274
2346
|
"@typescript-eslint/no-implied-eval": "error",
|
|
2275
|
-
"@typescript-eslint/
|
|
2276
|
-
"@typescript-eslint/no-unsafe-return": "error",
|
|
2347
|
+
"@typescript-eslint/no-misused-promises": "error",
|
|
2277
2348
|
"@typescript-eslint/no-misused-spread": "error",
|
|
2349
|
+
"@typescript-eslint/no-redundant-type-constituents": "error",
|
|
2350
|
+
"@typescript-eslint/no-unnecessary-type-assertion": "error",
|
|
2278
2351
|
"@typescript-eslint/no-unsafe-argument": "error",
|
|
2279
|
-
"@typescript-eslint/no-misused-promises": "error",
|
|
2280
2352
|
"@typescript-eslint/no-unsafe-assignment": "error",
|
|
2281
|
-
"@typescript-eslint/no-
|
|
2353
|
+
"@typescript-eslint/no-unsafe-call": "error",
|
|
2354
|
+
"@typescript-eslint/no-unsafe-member-access": "error",
|
|
2355
|
+
"@typescript-eslint/no-unsafe-return": "error",
|
|
2356
|
+
"@typescript-eslint/only-throw-error": "error",
|
|
2282
2357
|
"@typescript-eslint/promise-function-async": "error",
|
|
2358
|
+
"@typescript-eslint/require-await": "error",
|
|
2283
2359
|
"@typescript-eslint/restrict-plus-operands": "error",
|
|
2284
|
-
"@typescript-eslint/triple-slash-reference": "error",
|
|
2285
|
-
"@typescript-eslint/no-unsafe-member-access": "error",
|
|
2286
|
-
"@typescript-eslint/switch-exhaustiveness-check": "error",
|
|
2287
|
-
"@typescript-eslint/no-unnecessary-type-assertion": "error",
|
|
2288
2360
|
"@typescript-eslint/restrict-template-expressions": "error",
|
|
2289
|
-
"@typescript-eslint/no-redundant-type-constituents": "error",
|
|
2290
|
-
"@typescript-eslint/no-duplicate-type-constituents": "error",
|
|
2291
2361
|
"@typescript-eslint/return-await": ["error", "in-try-catch"],
|
|
2292
|
-
"@typescript-eslint/
|
|
2362
|
+
"@typescript-eslint/switch-exhaustiveness-check": "error",
|
|
2363
|
+
"@typescript-eslint/triple-slash-reference": "error",
|
|
2364
|
+
"@typescript-eslint/unbound-method": "error"
|
|
2293
2365
|
};
|
|
2294
2366
|
var recommendedRules = configs.recommended.reduce(
|
|
2295
2367
|
(rules, config) => {
|
|
@@ -2317,11 +2389,11 @@ var configTypeScript = (options = {}) => {
|
|
|
2317
2389
|
extraFileExtensions: extensions.map((ext) => `.${ext}`),
|
|
2318
2390
|
sourceType: "module",
|
|
2319
2391
|
...enableTypeAware ? {
|
|
2392
|
+
tsconfigRootDir: process4.cwd(),
|
|
2320
2393
|
projectService: {
|
|
2321
2394
|
allowDefaultProject: ["./*.js"],
|
|
2322
2395
|
defaultProject: options.tsconfigPath
|
|
2323
|
-
}
|
|
2324
|
-
tsconfigRootDir: process4.cwd()
|
|
2396
|
+
}
|
|
2325
2397
|
} : {},
|
|
2326
2398
|
...parserOptions
|
|
2327
2399
|
};
|
|
@@ -2353,103 +2425,103 @@ var configTypeScript = (options = {}) => {
|
|
|
2353
2425
|
files,
|
|
2354
2426
|
rules: {
|
|
2355
2427
|
...recommendedRules,
|
|
2356
|
-
"@typescript-eslint/
|
|
2357
|
-
"@typescript-eslint/
|
|
2428
|
+
"@typescript-eslint/consistent-indexed-object-style": "off",
|
|
2429
|
+
"@typescript-eslint/explicit-function-return-type": "off",
|
|
2430
|
+
"@typescript-eslint/explicit-member-accessibility": "off",
|
|
2431
|
+
"@typescript-eslint/explicit-module-boundary-types": "off",
|
|
2358
2432
|
"@typescript-eslint/naming-convention": "off",
|
|
2359
2433
|
"@typescript-eslint/no-empty-function": "off",
|
|
2434
|
+
"@typescript-eslint/no-explicit-any": "off",
|
|
2435
|
+
"@typescript-eslint/no-namespace": "off",
|
|
2360
2436
|
"@typescript-eslint/no-non-null-assertion": "off",
|
|
2361
2437
|
"@typescript-eslint/triple-slash-reference": "off",
|
|
2362
|
-
"
|
|
2363
|
-
"@typescript-eslint/explicit-function-return-type": "off",
|
|
2364
|
-
"@typescript-eslint/explicit-module-boundary-types": "off",
|
|
2365
|
-
"@typescript-eslint/consistent-indexed-object-style": "off",
|
|
2366
|
-
"@typescript-eslint/prefer-as-const": "warn",
|
|
2438
|
+
"default-param-last": "off",
|
|
2367
2439
|
// Disabled in favor of enhanced ts rules
|
|
2368
2440
|
"no-redeclare": "off",
|
|
2369
2441
|
"no-unused-vars": "off",
|
|
2370
|
-
"default-param-last": "off",
|
|
2371
2442
|
"no-use-before-define": "off",
|
|
2372
2443
|
"no-useless-constructor": "off",
|
|
2373
|
-
"@typescript-eslint/
|
|
2374
|
-
"@typescript-eslint/
|
|
2375
|
-
"@typescript-eslint/no-redeclare": [
|
|
2444
|
+
"@typescript-eslint/prefer-as-const": "warn",
|
|
2445
|
+
"@typescript-eslint/ban-ts-comment": [
|
|
2376
2446
|
"error",
|
|
2377
2447
|
{
|
|
2378
|
-
|
|
2379
|
-
|
|
2448
|
+
minimumDescriptionLength: 1,
|
|
2449
|
+
"ts-check": false,
|
|
2450
|
+
"ts-expect-error": "allow-with-description",
|
|
2451
|
+
"ts-ignore": "allow-with-description",
|
|
2452
|
+
"ts-nocheck": "allow-with-description"
|
|
2380
2453
|
}
|
|
2381
2454
|
],
|
|
2382
|
-
|
|
2455
|
+
// Extra rules
|
|
2456
|
+
"@typescript-eslint/ban-tslint-comment": "error",
|
|
2457
|
+
"@typescript-eslint/consistent-generic-constructors": [
|
|
2383
2458
|
"error",
|
|
2384
|
-
|
|
2385
|
-
functions: false,
|
|
2386
|
-
classes: false,
|
|
2387
|
-
variables: true,
|
|
2388
|
-
allowNamedExports: false,
|
|
2389
|
-
enums: true,
|
|
2390
|
-
typedefs: false,
|
|
2391
|
-
ignoreTypeReferences: false
|
|
2392
|
-
}
|
|
2459
|
+
"constructor"
|
|
2393
2460
|
],
|
|
2394
|
-
"@typescript-eslint/
|
|
2461
|
+
"@typescript-eslint/consistent-type-assertions": [
|
|
2395
2462
|
"error",
|
|
2396
2463
|
{
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
argsIgnorePattern: "^_",
|
|
2400
|
-
caughtErrors: "all",
|
|
2401
|
-
caughtErrorsIgnorePattern: "^_",
|
|
2402
|
-
destructuredArrayIgnorePattern: "^_",
|
|
2403
|
-
varsIgnorePattern: "^_",
|
|
2404
|
-
ignoreRestSiblings: true
|
|
2464
|
+
assertionStyle: "as",
|
|
2465
|
+
objectLiteralTypeAssertions: "allow-as-parameter"
|
|
2405
2466
|
}
|
|
2406
2467
|
],
|
|
2407
|
-
|
|
2408
|
-
"@typescript-eslint/ban-tslint-comment": "error",
|
|
2409
|
-
"@typescript-eslint/consistent-generic-constructors": [
|
|
2468
|
+
"@typescript-eslint/consistent-type-imports": [
|
|
2410
2469
|
"error",
|
|
2411
|
-
|
|
2470
|
+
{
|
|
2471
|
+
disallowTypeAnnotations: false,
|
|
2472
|
+
fixStyle: "separate-type-imports",
|
|
2473
|
+
prefer: "type-imports"
|
|
2474
|
+
}
|
|
2412
2475
|
],
|
|
2413
|
-
"@typescript-eslint/
|
|
2476
|
+
"@typescript-eslint/default-param-last": "error",
|
|
2477
|
+
"@typescript-eslint/no-empty-object-type": [
|
|
2414
2478
|
"error",
|
|
2415
2479
|
{
|
|
2416
|
-
|
|
2417
|
-
"
|
|
2418
|
-
"ts-expect-error": "allow-with-description",
|
|
2419
|
-
"ts-ignore": "allow-with-description",
|
|
2420
|
-
"ts-nocheck": "allow-with-description"
|
|
2480
|
+
allowInterfaces: "always",
|
|
2481
|
+
allowObjectTypes: "always"
|
|
2421
2482
|
}
|
|
2422
2483
|
],
|
|
2423
|
-
"@typescript-eslint/no-
|
|
2484
|
+
"@typescript-eslint/no-redeclare": [
|
|
2424
2485
|
"error",
|
|
2425
2486
|
{
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
allowTaggedTemplates: true
|
|
2487
|
+
builtinGlobals: false,
|
|
2488
|
+
ignoreDeclarationMerge: true
|
|
2429
2489
|
}
|
|
2430
2490
|
],
|
|
2431
|
-
"@typescript-eslint/
|
|
2491
|
+
"@typescript-eslint/no-unused-expressions": [
|
|
2432
2492
|
"error",
|
|
2433
2493
|
{
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
|
|
2494
|
+
allowShortCircuit: true,
|
|
2495
|
+
allowTaggedTemplates: true,
|
|
2496
|
+
allowTernary: true
|
|
2437
2497
|
}
|
|
2438
2498
|
],
|
|
2439
|
-
"@typescript-eslint/no-
|
|
2499
|
+
"@typescript-eslint/no-unused-vars": [
|
|
2440
2500
|
"error",
|
|
2441
2501
|
{
|
|
2442
|
-
|
|
2443
|
-
|
|
2502
|
+
// Args after the last used will be reported
|
|
2503
|
+
args: "after-used",
|
|
2504
|
+
argsIgnorePattern: "^_",
|
|
2505
|
+
caughtErrors: "all",
|
|
2506
|
+
caughtErrorsIgnorePattern: "^_",
|
|
2507
|
+
destructuredArrayIgnorePattern: "^_",
|
|
2508
|
+
ignoreRestSiblings: true,
|
|
2509
|
+
varsIgnorePattern: "^_"
|
|
2444
2510
|
}
|
|
2445
2511
|
],
|
|
2446
|
-
"@typescript-eslint/
|
|
2512
|
+
"@typescript-eslint/no-use-before-define": [
|
|
2447
2513
|
"error",
|
|
2448
2514
|
{
|
|
2449
|
-
|
|
2450
|
-
|
|
2515
|
+
allowNamedExports: false,
|
|
2516
|
+
classes: false,
|
|
2517
|
+
enums: true,
|
|
2518
|
+
functions: false,
|
|
2519
|
+
ignoreTypeReferences: false,
|
|
2520
|
+
typedefs: false,
|
|
2521
|
+
variables: true
|
|
2451
2522
|
}
|
|
2452
2523
|
],
|
|
2524
|
+
"@typescript-eslint/no-useless-constructor": "error",
|
|
2453
2525
|
// Overrides rules
|
|
2454
2526
|
...options.overrides
|
|
2455
2527
|
}
|
|
@@ -2470,11 +2542,11 @@ var configTypeScript = (options = {}) => {
|
|
|
2470
2542
|
name: "ntnyq/ts/types",
|
|
2471
2543
|
files: [...GLOB_TYPES],
|
|
2472
2544
|
rules: {
|
|
2473
|
-
"no-use-before-define": "off",
|
|
2474
|
-
"no-restricted-syntax": "off",
|
|
2475
|
-
"import-x/no-duplicates": "off",
|
|
2545
|
+
"@typescript-eslint/no-use-before-define": "off",
|
|
2476
2546
|
"import-x/newline-after-import": "off",
|
|
2477
|
-
"
|
|
2547
|
+
"import-x/no-duplicates": "off",
|
|
2548
|
+
"no-restricted-syntax": "off",
|
|
2549
|
+
"no-use-before-define": "off"
|
|
2478
2550
|
}
|
|
2479
2551
|
}
|
|
2480
2552
|
];
|
|
@@ -2592,16 +2664,16 @@ var INTERSECTION_OR_UNION_TYPES_GROUPS = [
|
|
|
2592
2664
|
];
|
|
2593
2665
|
var configPerfectionist = (options = {}) => {
|
|
2594
2666
|
const {
|
|
2595
|
-
|
|
2596
|
-
sortTypes: enableSortTypes = true,
|
|
2667
|
+
partitionByComment = ["@pg", "@perfectionist-group"],
|
|
2597
2668
|
sortConstants: enableSortConstants = true,
|
|
2598
|
-
|
|
2669
|
+
sortEnums: enableSortEnums = true,
|
|
2670
|
+
sortTypes: enableSortTypes = true
|
|
2599
2671
|
} = options;
|
|
2600
2672
|
function getCommonRuleOptions(options2 = {}) {
|
|
2601
2673
|
const ruleOptions = {
|
|
2602
|
-
type: "alphabetical",
|
|
2603
|
-
order: "asc",
|
|
2604
2674
|
ignoreCase: true,
|
|
2675
|
+
order: "asc",
|
|
2676
|
+
type: "alphabetical",
|
|
2605
2677
|
...options2.disableNewlinesBetween ? {} : { newlinesBetween: "ignore" },
|
|
2606
2678
|
...options2.disableNewlinesBetween ? {} : { partitionByComment }
|
|
2607
2679
|
};
|
|
@@ -2614,10 +2686,21 @@ var configPerfectionist = (options = {}) => {
|
|
|
2614
2686
|
perfectionist: default20
|
|
2615
2687
|
},
|
|
2616
2688
|
rules: {
|
|
2689
|
+
"perfectionist/sort-exports": [
|
|
2690
|
+
"error",
|
|
2691
|
+
{
|
|
2692
|
+
...getCommonRuleOptions({
|
|
2693
|
+
disableNewlinesBetween: true
|
|
2694
|
+
}),
|
|
2695
|
+
groupKind: "values-first",
|
|
2696
|
+
type: "line-length"
|
|
2697
|
+
}
|
|
2698
|
+
],
|
|
2617
2699
|
"perfectionist/sort-imports": [
|
|
2618
2700
|
"error",
|
|
2619
2701
|
{
|
|
2620
2702
|
...getCommonRuleOptions(),
|
|
2703
|
+
internalPattern: ["^~/.+", "^@/.+", "^#.+"],
|
|
2621
2704
|
groups: [
|
|
2622
2705
|
// Side effect style imports (e.g. 'normalize.css')
|
|
2623
2706
|
"side-effect-style",
|
|
@@ -2653,18 +2736,7 @@ var configPerfectionist = (options = {}) => {
|
|
|
2653
2736
|
* Imports that don’t fit into any other group
|
|
2654
2737
|
*/
|
|
2655
2738
|
"unknown"
|
|
2656
|
-
]
|
|
2657
|
-
internalPattern: ["^~/.+", "^@/.+", "^#.+"]
|
|
2658
|
-
}
|
|
2659
|
-
],
|
|
2660
|
-
"perfectionist/sort-exports": [
|
|
2661
|
-
"error",
|
|
2662
|
-
{
|
|
2663
|
-
...getCommonRuleOptions({
|
|
2664
|
-
disableNewlinesBetween: true
|
|
2665
|
-
}),
|
|
2666
|
-
type: "line-length",
|
|
2667
|
-
groupKind: "values-first"
|
|
2739
|
+
]
|
|
2668
2740
|
}
|
|
2669
2741
|
],
|
|
2670
2742
|
"perfectionist/sort-named-exports": [
|
|
@@ -2673,8 +2745,8 @@ var configPerfectionist = (options = {}) => {
|
|
|
2673
2745
|
...getCommonRuleOptions({
|
|
2674
2746
|
disableNewlinesBetween: true
|
|
2675
2747
|
}),
|
|
2676
|
-
|
|
2677
|
-
|
|
2748
|
+
groupKind: "values-first",
|
|
2749
|
+
ignoreAlias: false
|
|
2678
2750
|
}
|
|
2679
2751
|
],
|
|
2680
2752
|
"perfectionist/sort-named-imports": [
|
|
@@ -2683,8 +2755,8 @@ var configPerfectionist = (options = {}) => {
|
|
|
2683
2755
|
...getCommonRuleOptions({
|
|
2684
2756
|
disableNewlinesBetween: true
|
|
2685
2757
|
}),
|
|
2686
|
-
|
|
2687
|
-
|
|
2758
|
+
groupKind: "values-first",
|
|
2759
|
+
ignoreAlias: false
|
|
2688
2760
|
}
|
|
2689
2761
|
],
|
|
2690
2762
|
// Overrides rules
|
|
@@ -2787,6 +2859,12 @@ var configPerfectionist = (options = {}) => {
|
|
|
2787
2859
|
...getCommonRuleOptions()
|
|
2788
2860
|
}
|
|
2789
2861
|
],
|
|
2862
|
+
"perfectionist/sort-modules": [
|
|
2863
|
+
"error",
|
|
2864
|
+
{
|
|
2865
|
+
...getCommonRuleOptions()
|
|
2866
|
+
}
|
|
2867
|
+
],
|
|
2790
2868
|
"perfectionist/sort-objects": [
|
|
2791
2869
|
"error",
|
|
2792
2870
|
{
|
|
@@ -2806,12 +2884,6 @@ var configPerfectionist = (options = {}) => {
|
|
|
2806
2884
|
...getCommonRuleOptions()
|
|
2807
2885
|
}
|
|
2808
2886
|
],
|
|
2809
|
-
"perfectionist/sort-modules": [
|
|
2810
|
-
"error",
|
|
2811
|
-
{
|
|
2812
|
-
...getCommonRuleOptions()
|
|
2813
|
-
}
|
|
2814
|
-
],
|
|
2815
2887
|
// Overrides rules
|
|
2816
2888
|
...options.overridesConstantsRules
|
|
2817
2889
|
}
|
|
@@ -2833,14 +2905,14 @@ var configUnusedImports = (options = {}) => [
|
|
|
2833
2905
|
"unused-imports/no-unused-vars": [
|
|
2834
2906
|
"error",
|
|
2835
2907
|
{
|
|
2836
|
-
vars: "all",
|
|
2837
|
-
varsIgnorePattern: "^_",
|
|
2838
2908
|
args: "after-used",
|
|
2839
2909
|
argsIgnorePattern: "^_",
|
|
2840
|
-
ignoreRestSiblings: true,
|
|
2841
|
-
destructuredArrayIgnorePattern: "^_",
|
|
2842
2910
|
caughtErrors: "all",
|
|
2843
|
-
caughtErrorsIgnorePattern: "^_"
|
|
2911
|
+
caughtErrorsIgnorePattern: "^_",
|
|
2912
|
+
destructuredArrayIgnorePattern: "^_",
|
|
2913
|
+
ignoreRestSiblings: true,
|
|
2914
|
+
vars: "all",
|
|
2915
|
+
varsIgnorePattern: "^_"
|
|
2844
2916
|
}
|
|
2845
2917
|
],
|
|
2846
2918
|
// Overrides rules
|