eslint-config-setup 0.3.2 → 0.4.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.
- package/README.md +6 -0
- package/dist/configs/0b23ff88.js +138 -24
- package/dist/configs/12c62446.js +155 -9
- package/dist/configs/196d687e.js +281 -47
- package/dist/configs/1c3f743c.js +157 -9
- package/dist/configs/2f6f3a82.js +303 -39
- package/dist/configs/4eb62e57.js +140 -21
- package/dist/configs/52762a42.js +278 -34
- package/dist/configs/532f50a4.js +476 -49
- package/dist/configs/5a302873.js +301 -39
- package/dist/configs/6bc0d588.js +442 -57
- package/dist/configs/91e82988.js +478 -49
- package/dist/configs/c2fecd3d.js +280 -31
- package/dist/configs/cde010b4.js +309 -16
- package/dist/configs/d537b683.js +444 -54
- package/dist/configs/db69ebb6.js +283 -44
- package/dist/configs/e4b137fa.js +307 -16
- package/dist/index.d.ts +13 -13
- package/dist/index.js +65 -67
- package/dist/index.js.map +1 -1
- package/dist/modules.d.ts +39 -40
- package/dist/modules.js +1136 -1105
- package/dist/modules.js.map +1 -1
- package/dist/oxlint-configs/3047b7d6.json +243 -148
- package/dist/oxlint-configs/58d5e03b.json +242 -148
- package/dist/oxlint-configs/78b40daa.json +274 -158
- package/dist/oxlint-configs/7ff0d87e.json +326 -244
- package/dist/oxlint-configs/85912bf0.json +326 -243
- package/dist/oxlint-configs/9dc42dc3.json +273 -158
- package/dist/oxlint-configs/d46cb9b7.json +351 -246
- package/dist/oxlint-configs/ef643c60.json +352 -246
- package/dist/{types-CAUUIuJR.d.ts → types-CAO1PbsB.d.ts} +7 -7
- package/package.json +32 -31
package/dist/configs/196d687e.js
CHANGED
|
@@ -10,13 +10,11 @@ import importXPlugin from "eslint-plugin-import-x"
|
|
|
10
10
|
import jsdocPlugin from "eslint-plugin-jsdoc"
|
|
11
11
|
import jsonPlugin from "@eslint/json"
|
|
12
12
|
import jsxA11yPlugin from "eslint-plugin-jsx-a11y"
|
|
13
|
-
import nodePlugin from "eslint-plugin-n"
|
|
14
13
|
import oxlintPlugin from "eslint-plugin-oxlint"
|
|
15
14
|
import packageJsonPlugin from "eslint-plugin-package-json"
|
|
16
15
|
import perfectionistPlugin from "eslint-plugin-perfectionist"
|
|
17
16
|
import playwrightPlugin from "eslint-plugin-playwright"
|
|
18
17
|
import reactEffectPlugin from "eslint-plugin-react-you-might-not-need-an-effect"
|
|
19
|
-
import reactHooksPlugin from "eslint-plugin-react-hooks"
|
|
20
18
|
import regexpPlugin from "eslint-plugin-regexp"
|
|
21
19
|
import securityPlugin from "eslint-plugin-security"
|
|
22
20
|
import sonarjsPlugin from "eslint-plugin-sonarjs"
|
|
@@ -28,13 +26,100 @@ import unicornPlugin from "eslint-plugin-unicorn"
|
|
|
28
26
|
import unusedImportsPlugin from "eslint-plugin-unused-imports"
|
|
29
27
|
import vitestPlugin from "@vitest/eslint-plugin"
|
|
30
28
|
|
|
29
|
+
// React compat plugin — merges @eslint-react sub-plugins into a single `react/` namespace
|
|
30
|
+
// and aliases rules to legacy eslint-plugin-react names for OxLint compatibility.
|
|
31
|
+
const reactCompatPlugin = (() => {
|
|
32
|
+
const core = eslintReactPlugin.rules
|
|
33
|
+
const select = (prefix) => Object.fromEntries(
|
|
34
|
+
Object.entries(core)
|
|
35
|
+
.filter(([name]) => name.startsWith(prefix))
|
|
36
|
+
.map(([name, rule]) => [name.slice(prefix.length), rule]),
|
|
37
|
+
)
|
|
38
|
+
const dom = select("dom-")
|
|
39
|
+
const jsx = select("jsx-")
|
|
40
|
+
const naming = select("naming-convention-")
|
|
41
|
+
const rsc = select("rsc-")
|
|
42
|
+
const webApi = select("web-api-")
|
|
43
|
+
|
|
44
|
+
// Legacy aliases: legacy name → [source, original name]
|
|
45
|
+
const aliases = {
|
|
46
|
+
"jsx-key": [core, "no-missing-key"],
|
|
47
|
+
"jsx-key-before-spread": [jsx, "no-key-after-spread"],
|
|
48
|
+
"jsx-no-constructed-context-values": [core, "no-unstable-context-value"],
|
|
49
|
+
"jsx-no-leaked-render": [core, "no-leaked-conditional-rendering"],
|
|
50
|
+
"jsx-no-useless-fragment": [jsx, "no-useless-fragment"],
|
|
51
|
+
"no-object-type-as-default-prop": [core, "no-unstable-default-props"],
|
|
52
|
+
"no-unstable-nested-components": [core, "no-nested-component-definitions"],
|
|
53
|
+
"display-name": [core, "no-missing-component-display-name"],
|
|
54
|
+
"forward-ref-uses-ref": [core, "no-forward-ref"],
|
|
55
|
+
"destructuring-assignment": [core, "prefer-destructuring-assignment"],
|
|
56
|
+
"no-did-mount-set-state": [core, "no-set-state-in-component-did-mount"],
|
|
57
|
+
"no-did-update-set-state": [core, "no-set-state-in-component-did-update"],
|
|
58
|
+
"no-will-update-set-state": [core, "no-set-state-in-component-will-update"],
|
|
59
|
+
"hook-use-state": [core, "use-state"],
|
|
60
|
+
"no-danger": [dom, "no-dangerously-set-innerhtml"],
|
|
61
|
+
"no-danger-with-children": [dom, "no-dangerously-set-innerhtml-with-children"],
|
|
62
|
+
"no-find-dom-node": [dom, "no-find-dom-node"],
|
|
63
|
+
"no-namespace": [jsx, "no-namespace"],
|
|
64
|
+
"no-render-return-value": [dom, "no-render-return-value"],
|
|
65
|
+
"jsx-no-script-url": [dom, "no-script-url"],
|
|
66
|
+
"jsx-no-target-blank": [dom, "no-unsafe-target-blank"],
|
|
67
|
+
"no-unknown-property": [dom, "no-unknown-property"],
|
|
68
|
+
"void-dom-elements-no-children": [dom, "no-void-elements-with-children"],
|
|
69
|
+
"button-has-type": [dom, "no-missing-button-type"],
|
|
70
|
+
"iframe-missing-sandbox": [dom, "no-missing-iframe-sandbox"],
|
|
71
|
+
"style-prop-object": [dom, "no-string-style-prop"],
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// Identical-name aliases (core rules where legacy name = @eslint-react name)
|
|
75
|
+
const identicalCore = [
|
|
76
|
+
"no-access-state-in-setstate", "no-array-index-key",
|
|
77
|
+
"no-direct-mutation-state", "no-redundant-should-component-update",
|
|
78
|
+
"no-unused-class-component-members", "no-unused-state",
|
|
79
|
+
]
|
|
80
|
+
for (const n of identicalCore) aliases[n] = [core, n]
|
|
81
|
+
aliases["no-children-prop"] = [jsx, "no-children-prop"]
|
|
82
|
+
aliases["jsx-no-comment-textnodes"] = [jsx, "no-comment-textnodes"]
|
|
83
|
+
|
|
84
|
+
// Build aliased originals set
|
|
85
|
+
const aliasedCore = new Set()
|
|
86
|
+
for (const [src, name] of Object.values(aliases)) {
|
|
87
|
+
if (src === core) aliasedCore.add(name)
|
|
88
|
+
else if (src === dom) aliasedCore.add("dom-" + name)
|
|
89
|
+
else if (src === jsx) aliasedCore.add("jsx-" + name)
|
|
90
|
+
else if (src === naming) aliasedCore.add("naming-convention-" + name)
|
|
91
|
+
else if (src === rsc) aliasedCore.add("rsc-" + name)
|
|
92
|
+
else if (src === webApi) aliasedCore.add("web-api-" + name)
|
|
93
|
+
}
|
|
94
|
+
const rules = {}
|
|
95
|
+
|
|
96
|
+
// Core rules (skip aliased originals)
|
|
97
|
+
for (const [n, r] of Object.entries(core)) { if (!aliasedCore.has(n)) rules[n] = r }
|
|
98
|
+
|
|
99
|
+
// Sub-plugin rules (skip aliased + prefer-namespace-import collision)
|
|
100
|
+
const subs = [[dom, new Set(['prefer-namespace-import'])], [jsx], [webApi], [naming], [rsc]]
|
|
101
|
+
for (const [src, skip] of subs) {
|
|
102
|
+
for (const [n, r] of Object.entries(src)) {
|
|
103
|
+
if (skip && skip.has(n)) continue
|
|
104
|
+
if (Object.values(aliases).some(([s, o]) => s === src && o === n)) continue
|
|
105
|
+
rules[n] = r
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Add legacy aliases
|
|
110
|
+
for (const [legacy, [src, orig]] of Object.entries(aliases)) rules[legacy] = src[orig]
|
|
111
|
+
|
|
112
|
+
return { meta: { name: "react-compat", version: "1.0.0" }, rules }
|
|
113
|
+
})()
|
|
114
|
+
|
|
31
115
|
export default [
|
|
32
116
|
// TypeScript parser setup
|
|
33
117
|
...tseslint.configs.strictTypeChecked.slice(0, 2),
|
|
34
118
|
|
|
35
|
-
// Base rules — all effective rules for
|
|
119
|
+
// Base rules — all effective rules for TS plus shared JS/TS rules
|
|
36
120
|
{
|
|
37
121
|
name: "eslint-config-setup/base",
|
|
122
|
+
ignores: ["**/*.{md,mdx}"],
|
|
38
123
|
plugins: {
|
|
39
124
|
"@cspell": cspellPlugin,
|
|
40
125
|
"@stylistic": stylisticPlugin,
|
|
@@ -44,12 +129,8 @@ export default [
|
|
|
44
129
|
"import": importXPlugin,
|
|
45
130
|
"jsdoc": jsdocPlugin,
|
|
46
131
|
"jsx-a11y": jsxA11yPlugin,
|
|
47
|
-
"node": nodePlugin,
|
|
48
132
|
"perfectionist": perfectionistPlugin,
|
|
49
|
-
"react":
|
|
50
|
-
"react-dom": eslintReactPlugin.configs.dom.plugins["@eslint-react/dom"],
|
|
51
|
-
"react-hooks": reactHooksPlugin,
|
|
52
|
-
"react-web-api": eslintReactPlugin.configs["web-api"].plugins["@eslint-react/web-api"],
|
|
133
|
+
"react": reactCompatPlugin,
|
|
53
134
|
"react-you-might-not-need-an-effect": reactEffectPlugin,
|
|
54
135
|
"regexp": regexpPlugin,
|
|
55
136
|
"security": securityPlugin,
|
|
@@ -93,7 +174,6 @@ export default [
|
|
|
93
174
|
}
|
|
94
175
|
],
|
|
95
176
|
"@typescript-eslint/dot-notation": "error",
|
|
96
|
-
"@typescript-eslint/explicit-member-accessibility": "error",
|
|
97
177
|
"@typescript-eslint/member-ordering": [
|
|
98
178
|
"warn",
|
|
99
179
|
{
|
|
@@ -290,7 +370,12 @@ export default [
|
|
|
290
370
|
"@typescript-eslint/no-for-in-array": "error",
|
|
291
371
|
"@typescript-eslint/no-implied-eval": "error",
|
|
292
372
|
"@typescript-eslint/no-meaningless-void-operator": "error",
|
|
293
|
-
"@typescript-eslint/no-misused-promises":
|
|
373
|
+
"@typescript-eslint/no-misused-promises": [
|
|
374
|
+
"error",
|
|
375
|
+
{
|
|
376
|
+
"checksVoidReturn": false
|
|
377
|
+
}
|
|
378
|
+
],
|
|
294
379
|
"@typescript-eslint/no-misused-spread": "error",
|
|
295
380
|
"@typescript-eslint/no-mixed-enums": "error",
|
|
296
381
|
"@typescript-eslint/no-redundant-type-constituents": "error",
|
|
@@ -390,13 +475,22 @@ export default [
|
|
|
390
475
|
"de-morgan/no-negated-conjunction": "error",
|
|
391
476
|
"de-morgan/no-negated-disjunction": "error",
|
|
392
477
|
"default-case-last": "error",
|
|
393
|
-
"eqeqeq":
|
|
478
|
+
"eqeqeq": [
|
|
479
|
+
"error",
|
|
480
|
+
"smart"
|
|
481
|
+
],
|
|
394
482
|
"grouped-accessor-pairs": [
|
|
395
483
|
"error",
|
|
396
484
|
"getBeforeSet"
|
|
397
485
|
],
|
|
398
486
|
"guard-for-in": "error",
|
|
399
487
|
"import/newline-after-import": "error",
|
|
488
|
+
"import/no-extraneous-dependencies": [
|
|
489
|
+
"error",
|
|
490
|
+
{
|
|
491
|
+
"includeTypes": true
|
|
492
|
+
}
|
|
493
|
+
],
|
|
400
494
|
"import/no-useless-path-segments": "error",
|
|
401
495
|
"jsdoc/check-alignment": "error",
|
|
402
496
|
"jsdoc/check-param-names": "error",
|
|
@@ -441,7 +535,7 @@ export default [
|
|
|
441
535
|
"max-lines-per-function": [
|
|
442
536
|
"error",
|
|
443
537
|
{
|
|
444
|
-
"max":
|
|
538
|
+
"max": 100,
|
|
445
539
|
"skipBlankLines": true,
|
|
446
540
|
"skipComments": true
|
|
447
541
|
}
|
|
@@ -473,6 +567,7 @@ export default [
|
|
|
473
567
|
"no-extra-bind": "error",
|
|
474
568
|
"no-fallthrough": "error",
|
|
475
569
|
"no-implicit-coercion": "error",
|
|
570
|
+
"no-implicit-globals": "error",
|
|
476
571
|
"no-labels": "error",
|
|
477
572
|
"no-lone-blocks": "error",
|
|
478
573
|
"no-lonely-if": "error",
|
|
@@ -502,23 +597,33 @@ export default [
|
|
|
502
597
|
],
|
|
503
598
|
"no-script-url": "error",
|
|
504
599
|
"no-self-compare": "error",
|
|
505
|
-
"no-sequences":
|
|
600
|
+
"no-sequences": [
|
|
601
|
+
"error",
|
|
602
|
+
{
|
|
603
|
+
"allowInParentheses": false
|
|
604
|
+
}
|
|
605
|
+
],
|
|
506
606
|
"no-template-curly-in-string": "error",
|
|
507
607
|
"no-unmodified-loop-condition": "error",
|
|
508
608
|
"no-unneeded-ternary": "error",
|
|
509
609
|
"no-unreachable-loop": "error",
|
|
510
610
|
"no-useless-assignment": "error",
|
|
511
611
|
"no-useless-call": "error",
|
|
512
|
-
"no-useless-computed-key":
|
|
612
|
+
"no-useless-computed-key": [
|
|
613
|
+
"error",
|
|
614
|
+
{
|
|
615
|
+
"enforceForClassMembers": true
|
|
616
|
+
}
|
|
617
|
+
],
|
|
513
618
|
"no-useless-concat": "error",
|
|
514
619
|
"no-useless-return": "error",
|
|
515
620
|
"no-var": "error",
|
|
516
621
|
"no-warning-comments": "warn",
|
|
517
|
-
"node/no-unsupported-features/node-builtins": "error",
|
|
518
622
|
"object-shorthand": [
|
|
519
623
|
"error",
|
|
520
624
|
"always",
|
|
521
625
|
{
|
|
626
|
+
"avoidExplicitReturnArrows": true,
|
|
522
627
|
"avoidQuotes": true
|
|
523
628
|
}
|
|
524
629
|
],
|
|
@@ -553,14 +658,10 @@ export default [
|
|
|
553
658
|
"allowNamedFunctions": true
|
|
554
659
|
}
|
|
555
660
|
],
|
|
556
|
-
"prefer-const":
|
|
557
|
-
"error",
|
|
558
|
-
{
|
|
559
|
-
"destructuring": "all"
|
|
560
|
-
}
|
|
561
|
-
],
|
|
661
|
+
"prefer-const": "error",
|
|
562
662
|
"prefer-exponentiation-operator": "error",
|
|
563
663
|
"prefer-named-capture-group": "error",
|
|
664
|
+
"prefer-numeric-literals": "error",
|
|
564
665
|
"prefer-object-has-own": "error",
|
|
565
666
|
"prefer-object-spread": "error",
|
|
566
667
|
"prefer-regex-literals": "error",
|
|
@@ -569,19 +670,6 @@ export default [
|
|
|
569
670
|
"prefer-template": "error",
|
|
570
671
|
"preserve-caught-error": "error",
|
|
571
672
|
"radix": "error",
|
|
572
|
-
"react-dom/no-dangerously-set-innerhtml": "warn",
|
|
573
|
-
"react-dom/no-dangerously-set-innerhtml-with-children": "error",
|
|
574
|
-
"react-dom/no-missing-button-type": "error",
|
|
575
|
-
"react-dom/no-missing-iframe-sandbox": "error",
|
|
576
|
-
"react-dom/no-string-style-prop": "error",
|
|
577
|
-
"react-dom/no-unknown-property": "error",
|
|
578
|
-
"react-dom/no-unsafe-target-blank": "error",
|
|
579
|
-
"react-dom/no-void-elements-with-children": "error",
|
|
580
|
-
"react-hooks/rules-of-hooks": "error",
|
|
581
|
-
"react-web-api/no-leaked-event-listener": "error",
|
|
582
|
-
"react-web-api/no-leaked-interval": "error",
|
|
583
|
-
"react-web-api/no-leaked-resize-observer": "error",
|
|
584
|
-
"react-web-api/no-leaked-timeout": "error",
|
|
585
673
|
"react-you-might-not-need-an-effect/no-adjust-state-on-prop-change": "warn",
|
|
586
674
|
"react-you-might-not-need-an-effect/no-chain-state-updates": "error",
|
|
587
675
|
"react-you-might-not-need-an-effect/no-derived-state": "error",
|
|
@@ -591,19 +679,62 @@ export default [
|
|
|
591
679
|
"react-you-might-not-need-an-effect/no-pass-data-to-parent": "error",
|
|
592
680
|
"react-you-might-not-need-an-effect/no-pass-live-state-to-parent": "error",
|
|
593
681
|
"react-you-might-not-need-an-effect/no-reset-all-state-on-prop-change": "error",
|
|
594
|
-
"react/
|
|
682
|
+
"react/component-hook-factories": "error",
|
|
683
|
+
"react/context-name": "warn",
|
|
684
|
+
"react/destructuring-assignment": "warn",
|
|
685
|
+
"react/error-boundaries": "error",
|
|
686
|
+
"react/exhaustive-deps": "warn",
|
|
687
|
+
"react/function-definition": "error",
|
|
688
|
+
"react/id-name": "warn",
|
|
689
|
+
"react/jsx-key-before-spread": "error",
|
|
690
|
+
"react/jsx-no-children-prop-with-children": "error",
|
|
691
|
+
"react/jsx-no-leaked-render": "error",
|
|
692
|
+
"react/jsx-no-leaked-semicolon": "warn",
|
|
595
693
|
"react/no-access-state-in-setstate": "error",
|
|
694
|
+
"react/no-children-count": "warn",
|
|
695
|
+
"react/no-children-for-each": "warn",
|
|
696
|
+
"react/no-children-map": "warn",
|
|
697
|
+
"react/no-children-only": "warn",
|
|
698
|
+
"react/no-children-to-array": "warn",
|
|
699
|
+
"react/no-class-component": "error",
|
|
700
|
+
"react/no-component-will-mount": "error",
|
|
701
|
+
"react/no-component-will-receive-props": "error",
|
|
702
|
+
"react/no-component-will-update": "error",
|
|
596
703
|
"react/no-context-provider": "error",
|
|
704
|
+
"react/no-create-ref": "error",
|
|
705
|
+
"react/no-did-update-set-state": "warn",
|
|
597
706
|
"react/no-duplicate-key": "error",
|
|
598
|
-
"react/no-
|
|
599
|
-
"react/no-
|
|
600
|
-
"react/no-
|
|
601
|
-
"react/no-
|
|
602
|
-
"react/no-
|
|
603
|
-
"react/no-
|
|
707
|
+
"react/no-flush-sync": "error",
|
|
708
|
+
"react/no-hydrate": "error",
|
|
709
|
+
"react/no-implicit-key": "error",
|
|
710
|
+
"react/no-leaked-event-listener": "error",
|
|
711
|
+
"react/no-leaked-interval": "error",
|
|
712
|
+
"react/no-leaked-resize-observer": "error",
|
|
713
|
+
"react/no-leaked-timeout": "error",
|
|
714
|
+
"react/no-misused-capture-owner-stack": "error",
|
|
715
|
+
"react/no-nested-lazy-component-declarations": "error",
|
|
716
|
+
"react/no-object-type-as-default-prop": "error",
|
|
717
|
+
"react/no-render": "error",
|
|
718
|
+
"react/no-unnecessary-use-callback": "warn",
|
|
719
|
+
"react/no-unnecessary-use-memo": "warn",
|
|
720
|
+
"react/no-unnecessary-use-prefix": "warn",
|
|
721
|
+
"react/no-unsafe-component-will-mount": "warn",
|
|
722
|
+
"react/no-unsafe-component-will-receive-props": "warn",
|
|
723
|
+
"react/no-unsafe-component-will-update": "warn",
|
|
724
|
+
"react/no-unsafe-iframe-sandbox": "warn",
|
|
725
|
+
"react/no-unstable-nested-components": "error",
|
|
726
|
+
"react/no-unused-class-component-members": "warn",
|
|
727
|
+
"react/no-unused-props": "warn",
|
|
604
728
|
"react/no-unused-state": "error",
|
|
605
729
|
"react/no-use-context": "error",
|
|
606
|
-
"react/no-
|
|
730
|
+
"react/no-use-form-state": "error",
|
|
731
|
+
"react/purity": "warn",
|
|
732
|
+
"react/ref-name": "warn",
|
|
733
|
+
"react/rules-of-hooks": "error",
|
|
734
|
+
"react/set-state-in-effect": "warn",
|
|
735
|
+
"react/set-state-in-render": "error",
|
|
736
|
+
"react/unsupported-syntax": "error",
|
|
737
|
+
"react/use-memo": "error",
|
|
607
738
|
"regexp/confusing-quantifier": "warn",
|
|
608
739
|
"regexp/control-character-escape": "error",
|
|
609
740
|
"regexp/match-any": "error",
|
|
@@ -731,7 +862,6 @@ export default [
|
|
|
731
862
|
"sonarjs/public-static-readonly": "error",
|
|
732
863
|
"sonarjs/reduce-initial-value": "error",
|
|
733
864
|
"symbol-description": "error",
|
|
734
|
-
"unicorn/custom-error-definition": "error",
|
|
735
865
|
"unicorn/no-array-push-push": "error",
|
|
736
866
|
"unicorn/no-for-loop": "error",
|
|
737
867
|
"unicorn/prefer-export-from": [
|
|
@@ -740,7 +870,6 @@ export default [
|
|
|
740
870
|
"ignoreUsedVariables": true
|
|
741
871
|
}
|
|
742
872
|
],
|
|
743
|
-
"unicorn/prefer-import-meta-properties": "error",
|
|
744
873
|
"unicorn/prefer-switch": [
|
|
745
874
|
"error",
|
|
746
875
|
{
|
|
@@ -760,12 +889,17 @@ export default [
|
|
|
760
889
|
rules: {
|
|
761
890
|
"@typescript-eslint/await-thenable": "off",
|
|
762
891
|
"@typescript-eslint/consistent-return": "off",
|
|
892
|
+
"@typescript-eslint/consistent-type-exports": "off",
|
|
763
893
|
"@typescript-eslint/dot-notation": "off",
|
|
894
|
+
"@typescript-eslint/member-ordering": "off",
|
|
895
|
+
"@typescript-eslint/method-signature-style": "off",
|
|
896
|
+
"@typescript-eslint/naming-convention": "off",
|
|
764
897
|
"@typescript-eslint/no-array-delete": "off",
|
|
765
898
|
"@typescript-eslint/no-base-to-string": "off",
|
|
766
899
|
"@typescript-eslint/no-confusing-void-expression": "off",
|
|
767
900
|
"@typescript-eslint/no-deprecated": "off",
|
|
768
901
|
"@typescript-eslint/no-duplicate-type-constituents": "off",
|
|
902
|
+
"@typescript-eslint/no-floating-promises": "off",
|
|
769
903
|
"@typescript-eslint/no-for-in-array": "off",
|
|
770
904
|
"@typescript-eslint/no-implied-eval": "off",
|
|
771
905
|
"@typescript-eslint/no-meaningless-void-operator": "off",
|
|
@@ -787,6 +921,7 @@ export default [
|
|
|
787
921
|
"@typescript-eslint/no-unsafe-enum-comparison": "off",
|
|
788
922
|
"@typescript-eslint/no-unsafe-member-access": "off",
|
|
789
923
|
"@typescript-eslint/no-unsafe-return": "off",
|
|
924
|
+
"@typescript-eslint/no-unsafe-type-assertion": "off",
|
|
790
925
|
"@typescript-eslint/no-unsafe-unary-minus": "off",
|
|
791
926
|
"@typescript-eslint/no-useless-default-assignment": "off",
|
|
792
927
|
"@typescript-eslint/non-nullable-type-assertion-style": "off",
|
|
@@ -797,26 +932,46 @@ export default [
|
|
|
797
932
|
"@typescript-eslint/prefer-nullish-coalescing": "off",
|
|
798
933
|
"@typescript-eslint/prefer-optional-chain": "off",
|
|
799
934
|
"@typescript-eslint/prefer-promise-reject-errors": "off",
|
|
935
|
+
"@typescript-eslint/prefer-readonly": "off",
|
|
800
936
|
"@typescript-eslint/prefer-readonly-parameter-types": "off",
|
|
801
937
|
"@typescript-eslint/prefer-reduce-type-parameter": "off",
|
|
802
938
|
"@typescript-eslint/prefer-regexp-exec": "off",
|
|
803
939
|
"@typescript-eslint/prefer-return-this-type": "off",
|
|
804
940
|
"@typescript-eslint/prefer-string-starts-ends-with": "off",
|
|
941
|
+
"@typescript-eslint/promise-function-async": "off",
|
|
805
942
|
"@typescript-eslint/related-getter-setter-pairs": "off",
|
|
943
|
+
"@typescript-eslint/require-array-sort-compare": "off",
|
|
806
944
|
"@typescript-eslint/require-await": "off",
|
|
807
945
|
"@typescript-eslint/restrict-plus-operands": "off",
|
|
808
946
|
"@typescript-eslint/restrict-template-expressions": "off",
|
|
809
947
|
"@typescript-eslint/return-await": "off",
|
|
810
948
|
"@typescript-eslint/strict-boolean-expressions": "off",
|
|
811
949
|
"@typescript-eslint/strict-void-return": "off",
|
|
950
|
+
"@typescript-eslint/switch-exhaustiveness-check": "off",
|
|
812
951
|
"@typescript-eslint/unbound-method": "off",
|
|
813
952
|
"@typescript-eslint/use-unknown-in-catch-callback-variable": "off",
|
|
953
|
+
"dot-notation": "off",
|
|
814
954
|
"getter-return": "error",
|
|
955
|
+
"no-array-constructor": "off",
|
|
815
956
|
"no-dupe-args": "error",
|
|
957
|
+
"no-empty-function": "off",
|
|
958
|
+
"no-implied-eval": "off",
|
|
816
959
|
"no-new-symbol": "off",
|
|
817
960
|
"no-redeclare": "error",
|
|
961
|
+
"no-return-await": "off",
|
|
962
|
+
"no-shadow": "off",
|
|
963
|
+
"no-throw-literal": "off",
|
|
818
964
|
"no-undef": "error",
|
|
819
|
-
"no-unreachable": "error"
|
|
965
|
+
"no-unreachable": "error",
|
|
966
|
+
"no-useless-constructor": "off",
|
|
967
|
+
"prefer-const": [
|
|
968
|
+
"error",
|
|
969
|
+
{
|
|
970
|
+
"destructuring": "all"
|
|
971
|
+
}
|
|
972
|
+
],
|
|
973
|
+
"prefer-promise-reject-errors": "off",
|
|
974
|
+
"require-await": "off"
|
|
820
975
|
},
|
|
821
976
|
},
|
|
822
977
|
|
|
@@ -863,8 +1018,7 @@ export default [
|
|
|
863
1018
|
"vitest/prefer-strict-equal": "error",
|
|
864
1019
|
"vitest/prefer-to-be": "error",
|
|
865
1020
|
"vitest/prefer-to-have-length": "error",
|
|
866
|
-
"vitest/require-top-level-describe": "error"
|
|
867
|
-
"vitest/valid-title": "error"
|
|
1021
|
+
"vitest/require-top-level-describe": "error"
|
|
868
1022
|
},
|
|
869
1023
|
},
|
|
870
1024
|
|
|
@@ -1045,7 +1199,87 @@ export default [
|
|
|
1045
1199
|
// Markdown/MDX code block linting
|
|
1046
1200
|
{
|
|
1047
1201
|
...mdxPlugin.flatCodeBlocks,
|
|
1202
|
+
languageOptions: {
|
|
1203
|
+
...mdxPlugin.flatCodeBlocks.languageOptions,
|
|
1204
|
+
parserOptions: {
|
|
1205
|
+
...mdxPlugin.flatCodeBlocks.languageOptions?.parserOptions,
|
|
1206
|
+
projectService: false,
|
|
1207
|
+
},
|
|
1208
|
+
},
|
|
1048
1209
|
rules: {
|
|
1210
|
+
...{
|
|
1211
|
+
"@typescript-eslint/await-thenable": "off",
|
|
1212
|
+
"@typescript-eslint/consistent-type-exports": "off",
|
|
1213
|
+
"@typescript-eslint/dot-notation": "off",
|
|
1214
|
+
"@typescript-eslint/member-ordering": "off",
|
|
1215
|
+
"@typescript-eslint/method-signature-style": "off",
|
|
1216
|
+
"@typescript-eslint/naming-convention": "off",
|
|
1217
|
+
"@typescript-eslint/no-array-delete": "off",
|
|
1218
|
+
"@typescript-eslint/no-base-to-string": "off",
|
|
1219
|
+
"@typescript-eslint/no-confusing-void-expression": "off",
|
|
1220
|
+
"@typescript-eslint/no-deprecated": "off",
|
|
1221
|
+
"@typescript-eslint/no-duplicate-type-constituents": "off",
|
|
1222
|
+
"@typescript-eslint/no-floating-promises": "off",
|
|
1223
|
+
"@typescript-eslint/no-for-in-array": "off",
|
|
1224
|
+
"@typescript-eslint/no-implied-eval": "off",
|
|
1225
|
+
"@typescript-eslint/no-meaningless-void-operator": "off",
|
|
1226
|
+
"@typescript-eslint/no-misused-spread": "off",
|
|
1227
|
+
"@typescript-eslint/no-mixed-enums": "off",
|
|
1228
|
+
"@typescript-eslint/no-redundant-type-constituents": "off",
|
|
1229
|
+
"@typescript-eslint/no-unnecessary-boolean-literal-compare": "off",
|
|
1230
|
+
"@typescript-eslint/no-unnecessary-condition": "off",
|
|
1231
|
+
"@typescript-eslint/no-unnecessary-qualifier": "off",
|
|
1232
|
+
"@typescript-eslint/no-unnecessary-template-expression": "off",
|
|
1233
|
+
"@typescript-eslint/no-unnecessary-type-arguments": "off",
|
|
1234
|
+
"@typescript-eslint/no-unnecessary-type-assertion": "off",
|
|
1235
|
+
"@typescript-eslint/no-unnecessary-type-conversion": "off",
|
|
1236
|
+
"@typescript-eslint/no-unnecessary-type-parameters": "off",
|
|
1237
|
+
"@typescript-eslint/no-unsafe-argument": "off",
|
|
1238
|
+
"@typescript-eslint/no-unsafe-assignment": "off",
|
|
1239
|
+
"@typescript-eslint/no-unsafe-call": "off",
|
|
1240
|
+
"@typescript-eslint/no-unsafe-enum-comparison": "off",
|
|
1241
|
+
"@typescript-eslint/no-unsafe-member-access": "off",
|
|
1242
|
+
"@typescript-eslint/no-unsafe-return": "off",
|
|
1243
|
+
"@typescript-eslint/no-unsafe-type-assertion": "off",
|
|
1244
|
+
"@typescript-eslint/no-unsafe-unary-minus": "off",
|
|
1245
|
+
"@typescript-eslint/no-useless-default-assignment": "off",
|
|
1246
|
+
"@typescript-eslint/non-nullable-type-assertion-style": "off",
|
|
1247
|
+
"@typescript-eslint/only-throw-error": "off",
|
|
1248
|
+
"@typescript-eslint/prefer-find": "off",
|
|
1249
|
+
"@typescript-eslint/prefer-includes": "off",
|
|
1250
|
+
"@typescript-eslint/prefer-nullish-coalescing": "off",
|
|
1251
|
+
"@typescript-eslint/prefer-optional-chain": "off",
|
|
1252
|
+
"@typescript-eslint/prefer-promise-reject-errors": "off",
|
|
1253
|
+
"@typescript-eslint/prefer-readonly": "off",
|
|
1254
|
+
"@typescript-eslint/prefer-reduce-type-parameter": "off",
|
|
1255
|
+
"@typescript-eslint/prefer-regexp-exec": "off",
|
|
1256
|
+
"@typescript-eslint/prefer-return-this-type": "off",
|
|
1257
|
+
"@typescript-eslint/prefer-string-starts-ends-with": "off",
|
|
1258
|
+
"@typescript-eslint/promise-function-async": "off",
|
|
1259
|
+
"@typescript-eslint/related-getter-setter-pairs": "off",
|
|
1260
|
+
"@typescript-eslint/require-array-sort-compare": "off",
|
|
1261
|
+
"@typescript-eslint/require-await": "off",
|
|
1262
|
+
"@typescript-eslint/restrict-plus-operands": "off",
|
|
1263
|
+
"@typescript-eslint/restrict-template-expressions": "off",
|
|
1264
|
+
"@typescript-eslint/return-await": "off",
|
|
1265
|
+
"@typescript-eslint/strict-boolean-expressions": "off",
|
|
1266
|
+
"@typescript-eslint/strict-void-return": "off",
|
|
1267
|
+
"@typescript-eslint/switch-exhaustiveness-check": "off",
|
|
1268
|
+
"@typescript-eslint/unbound-method": "off",
|
|
1269
|
+
"@typescript-eslint/use-unknown-in-catch-callback-variable": "off",
|
|
1270
|
+
"dot-notation": "off",
|
|
1271
|
+
"no-array-constructor": "off",
|
|
1272
|
+
"no-empty-function": "off",
|
|
1273
|
+
"no-implied-eval": "off",
|
|
1274
|
+
"no-return-await": "off",
|
|
1275
|
+
"no-shadow": "off",
|
|
1276
|
+
"no-throw-literal": "off",
|
|
1277
|
+
"no-useless-constructor": "off",
|
|
1278
|
+
"prefer-promise-reject-errors": "off",
|
|
1279
|
+
"require-await": "off",
|
|
1280
|
+
"strict": "off",
|
|
1281
|
+
"unicode-bom": "off"
|
|
1282
|
+
},
|
|
1049
1283
|
...mdxPlugin.flatCodeBlocks.rules,
|
|
1050
1284
|
"eol-last": "off",
|
|
1051
1285
|
"no-undef": "off",
|