@solvro/config 1.0.2 → 1.0.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.
Files changed (51) hide show
  1. package/bin/index.js +2 -0
  2. package/dist/chunk-4C4AR77R.js +65 -0
  3. package/dist/chunk-SND5ODI2.js +20878 -0
  4. package/dist/dist-2ZVVVZXY.js +35994 -0
  5. package/dist/eslint-config/cli.cjs +538 -0
  6. package/dist/eslint-config/cli.d.cts +2 -0
  7. package/dist/eslint-config/cli.d.ts +2 -0
  8. package/dist/eslint-config/cli.js +504 -0
  9. package/dist/eslint-config/index.cjs +73016 -0
  10. package/dist/eslint-config/index.d.cts +9489 -0
  11. package/dist/eslint-config/index.d.ts +9489 -0
  12. package/dist/eslint-config/index.js +15604 -0
  13. package/dist/eslint-plugin-react-refresh-MJ7ZDK5R.js +258 -0
  14. package/dist/prettier-config/index.cjs +47 -0
  15. package/dist/prettier-config/index.d.cts +17 -0
  16. package/dist/prettier-config/index.d.ts +17 -0
  17. package/{prettier → dist/prettier-config}/index.js +21 -19
  18. package/package.json +76 -34
  19. package/eslint/_base.js +0 -39
  20. package/eslint/browser.js +0 -6
  21. package/eslint/comments.js +0 -6
  22. package/eslint/constants.js +0 -4
  23. package/eslint/jest-react.js +0 -9
  24. package/eslint/jest.js +0 -16
  25. package/eslint/next.js +0 -18
  26. package/eslint/node.js +0 -6
  27. package/eslint/playwright-test.js +0 -7
  28. package/eslint/react.js +0 -16
  29. package/eslint/rules/best-practice.js +0 -227
  30. package/eslint/rules/es6.js +0 -65
  31. package/eslint/rules/import.js +0 -58
  32. package/eslint/rules/jest.js +0 -16
  33. package/eslint/rules/jsx-a11y.js +0 -14
  34. package/eslint/rules/playwright-test.js +0 -46
  35. package/eslint/rules/possible-errors.js +0 -35
  36. package/eslint/rules/react.js +0 -97
  37. package/eslint/rules/stylistic.js +0 -74
  38. package/eslint/rules/tsdoc.js +0 -11
  39. package/eslint/rules/typescript/extension.js +0 -38
  40. package/eslint/rules/typescript/import.js +0 -16
  41. package/eslint/rules/typescript/index.js +0 -93
  42. package/eslint/rules/unicorn.js +0 -22
  43. package/eslint/rules/variables.js +0 -30
  44. package/eslint/rules/vitest.js +0 -16
  45. package/eslint/typescript.js +0 -23
  46. package/eslint/utils/require-package.js +0 -36
  47. package/eslint/vitest.js +0 -3
  48. package/typescript/tsconfig.base.json +0 -13
  49. package/typescript/tsconfig.node16.json +0 -12
  50. package/typescript/tsconfig.node18.json +0 -12
  51. package/typescript/tsconfig.node20.json +0 -12
package/eslint/next.js DELETED
@@ -1,18 +0,0 @@
1
- const requirePackage = require("./utils/require-package");
2
-
3
- requirePackage("next", "@next/eslint-plugin-next");
4
-
5
- module.exports = {
6
- extends: ["plugin:@next/next/recommended"],
7
- overrides: [
8
- {
9
- files: [
10
- "**/pages/**/*.{js,ts,jsx,tsx}",
11
- "**/app/**/{loading,layout,page,template}.{js,ts,jsx,tsx}",
12
- ],
13
- rules: {
14
- "import/no-default-export": "off",
15
- },
16
- },
17
- ],
18
- };
package/eslint/node.js DELETED
@@ -1,6 +0,0 @@
1
- module.exports = {
2
- extends: require.resolve("./_base"),
3
- env: {
4
- node: true,
5
- },
6
- };
@@ -1,7 +0,0 @@
1
- module.exports = {
2
- plugins: ["playwright"],
3
- extends: [require.resolve("./rules/playwright-test.js")],
4
- env: {
5
- "shared-node-browser": true,
6
- },
7
- };
package/eslint/react.js DELETED
@@ -1,16 +0,0 @@
1
- module.exports = {
2
- extends: [
3
- "plugin:react/recommended",
4
- "plugin:react-hooks/recommended",
5
- "plugin:jsx-a11y/recommended",
6
- "plugin:import/react",
7
- "prettier",
8
- require.resolve("./rules/react"),
9
- require.resolve("./rules/jsx-a11y"),
10
- ],
11
- settings: {
12
- react: {
13
- version: "detect",
14
- },
15
- },
16
- };
@@ -1,227 +0,0 @@
1
- module.exports = {
2
- rules: {
3
- /**
4
- * Require return statements in array methods callbacks.
5
- *
6
- * 🚫 Not fixable -https://eslint.org/docs/rules/array-callback-return
7
- */
8
- "array-callback-return": ["error", { allowImplicit: true }],
9
- /**
10
- * Treat `var` statements as if they were block scoped.
11
- *
12
- * 🚫 Not fixable - https://eslint.org/docs/rules/block-scoped-var
13
- */
14
- "block-scoped-var": "error",
15
- /**
16
- * Require curly braces for multiline blocks.
17
- *
18
- * 🔧 Fixable - https://eslint.org/docs/rules/curly
19
- */
20
- curly: ["warn", "multi-line"],
21
- /**
22
- * Require default clauses in switch statements to be last (if used).
23
- *
24
- * 🚫 Not fixable - https://eslint.org/docs/rules/default-case-last
25
- */
26
- "default-case-last": "error",
27
- /**
28
- * Require triple equals (`===` and `!==`).
29
- *
30
- * 🔧 Fixable - https://eslint.org/docs/rules/eqeqeq
31
- */
32
- eqeqeq: "error",
33
- /**
34
- * Require grouped accessor pairs in object literals and classes.
35
- *
36
- * 🚫 Not fixable - https://eslint.org/docs/rules/grouped-accessor-pairs
37
- */
38
- "grouped-accessor-pairs": "error",
39
- /**
40
- * Disallow use of `alert()`.
41
- *
42
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-alert
43
- */
44
- "no-alert": "error",
45
- /**
46
- * Disallow use of `caller`/`callee`.
47
- *
48
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-caller
49
- */
50
- "no-caller": "error",
51
- /**
52
- * Disallow returning value in constructor.
53
- *
54
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-constructor-return
55
- */
56
- "no-constructor-return": "error",
57
- /**
58
- * Disallow using an `else` if the `if` block contains a return.
59
- *
60
- * 🔧 Fixable - https://eslint.org/docs/rules/no-else-return
61
- */
62
- "no-else-return": "warn",
63
- /**
64
- * Disallow `eval()`.
65
- *
66
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-eval
67
- */
68
- "no-eval": "error",
69
- /**
70
- * Disallow extending native objects.
71
- *
72
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-extend-native
73
- */
74
- "no-extend-native": "error",
75
- /**
76
- * Disallow unnecessary function binding.
77
- *
78
- * 🔧 Fixable - https://eslint.org/docs/rules/no-extra-bind
79
- */
80
- "no-extra-bind": "error",
81
- /**
82
- * Disallow unnecessary labels.
83
- *
84
- * 🔧 Fixable - https://eslint.org/docs/rules/no-extra-label
85
- */
86
- "no-extra-label": "error",
87
- /**
88
- * Disallow floating decimals.
89
- *
90
- * 🔧 Fixable - https://eslint.org/docs/rules/no-floating-decimal
91
- */
92
- "no-floating-decimal": "error",
93
- /**
94
- * Make people convert types explicitly e.g. `Boolean(foo)` instead of `!!foo`.
95
- *
96
- * 🔧 Partially Fixable - https://eslint.org/docs/rules/no-implicit-coercion
97
- */
98
- "no-implicit-coercion": "error",
99
- /**
100
- * Disallow use of `eval()`-like methods.
101
- *
102
- * https://eslint.org/docs/rules/no-implied-eval
103
- */
104
- "no-implied-eval": "error",
105
- /**
106
- * Disallow usage of `__iterator__` property.
107
- *
108
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-iterator
109
- */
110
- "no-iterator": "error",
111
- /**
112
- * Disallow use of labels for anything other than loops and switches.
113
- *
114
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-labels
115
- */
116
- "no-labels": ["error"],
117
- /**
118
- * Disallow unnecessary nested blocks.
119
- *
120
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-lone-blocks
121
- */
122
- "no-lone-blocks": "error",
123
- /**
124
- * Disallow `new` for side effects.
125
- *
126
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-new
127
- */
128
- "no-new": "error",
129
- /**
130
- * Disallow function constructors.
131
- *
132
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-new-func
133
- */
134
- "no-new-func": "error",
135
- /**
136
- * Disallow primitive wrapper instances, such as `new String('foo')`.
137
- *
138
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-new-wrappers
139
- */
140
- "no-new-wrappers": "error",
141
- /**
142
- * Disallow use of octal escape sequences in string literals.
143
- *
144
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-octal-escape
145
- */
146
- "no-octal-escape": "error",
147
- /**
148
- * Disallow reassignment of function parameters.
149
- *
150
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-param-reassign
151
- */
152
- "no-param-reassign": "error",
153
- /**
154
- * Disallow usage of the deprecated `__proto__` property.
155
- *
156
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-proto
157
- */
158
- "no-proto": "error",
159
- /**
160
- * Disallow assignment in `return` statement.
161
- *
162
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-return-assign
163
- */
164
- "no-return-assign": "error",
165
- /**
166
- * Disallow use of `javascript:` urls.
167
- *
168
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-script-url
169
- */
170
- "no-script-url": "error",
171
- /**
172
- * Disallow comparisons where both sides are exactly the same.
173
- *
174
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-self-compare
175
- */
176
- "no-self-compare": "error",
177
- /**
178
- * Disallow use of comma operator.
179
- *
180
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-sequences
181
- */
182
- "no-sequences": "error",
183
- /**
184
- * Disallow unnecessary `.call()` and `.apply()`.
185
- *
186
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-useless-call
187
- */
188
- "no-useless-call": "error",
189
- /**
190
- * Disallow unnecessary concatenation of strings.
191
- *
192
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-useless-concat
193
- */
194
- "no-useless-concat": "error",
195
- /**
196
- * Disallow redundant return statements.
197
- *
198
- * 🔧 Fixable - https://eslint.org/docs/rules/no-useless-return
199
- */
200
- "no-useless-return": "warn",
201
- /**
202
- * Require using named capture groups in regular expressions.
203
- *
204
- * 🚫 Not fixable - https://eslint.org/docs/rules/prefer-named-capture-group
205
- */
206
- "prefer-named-capture-group": "error",
207
- /**
208
- * Require using Error objects as Promise rejection reasons.
209
- *
210
- * 🚫 Not fixable - https://eslint.org/docs/rules/prefer-promise-reject-errors
211
- */
212
- "prefer-promise-reject-errors": ["error", { allowEmptyReject: true }],
213
- /**
214
- * Disallow use of the RegExp constructor in favor of regular expression
215
- * literals.
216
- *
217
- * 🚫 Not fixable - https://eslint.org/docs/rules/prefer-regex-literals
218
- */
219
- "prefer-regex-literals": "error",
220
- /**
221
- * Disallow "Yoda conditions", ensuring the comparison.
222
- *
223
- * 🔧 Fixable - https://eslint.org/docs/rules/yoda
224
- */
225
- yoda: "warn",
226
- },
227
- };
@@ -1,65 +0,0 @@
1
- module.exports = {
2
- rules: {
3
- /**
4
- * Disallow useless computed property keys.
5
- *
6
- * 🔧 Fixable - https://eslint.org/docs/rules/no-useless-computed-key
7
- */
8
- "no-useless-computed-key": "warn",
9
- /**
10
- * Disallow renaming import, export, and destructured assignments to the
11
- * same name.
12
- *
13
- * 🔧 Fixable - https://eslint.org/docs/rules/no-useless-rename
14
- */
15
- "no-useless-rename": "warn",
16
- /**
17
- * Require `let` or `const` instead of `var`.
18
- *
19
- * 🔧 Fixable - https://eslint.org/docs/rules/no-var
20
- */
21
- "no-var": "error",
22
- /**
23
- * Require object literal shorthand syntax.
24
- *
25
- * 🔧 Fixable - https://eslint.org/docs/rules/object-shorthand
26
- */
27
- "object-shorthand": "warn",
28
- /**
29
- * Require default to `const` instead of `let`.
30
- *
31
- * 🔧 Fixable - https://eslint.org/docs/rules/prefer-const
32
- */
33
- "prefer-const": "warn",
34
- /**
35
- * Disallow parseInt() in favor of binary, octal, and hexadecimal literals.
36
- *
37
- * 🔧 Fixable - https://eslint.org/docs/rules/prefer-numeric-literals
38
- */
39
- "prefer-numeric-literals": "error",
40
- /**
41
- * Require using rest parameters instead of `arguments`.
42
- *
43
- * 🚫 Not fixable - https://eslint.org/docs/rules/prefer-rest-params
44
- */
45
- "prefer-rest-params": "error",
46
- /**
47
- * Require using spread syntax instead of `.apply()`.
48
- *
49
- * 🚫 Not fixable - https://eslint.org/docs/rules/prefer-spread
50
- */
51
- "prefer-spread": "error",
52
- /**
53
- * Require using template literals instead of string concatenation.
54
- *
55
- * 🔧 Fixable - https://eslint.org/docs/rules/prefer-template
56
- */
57
- "prefer-template": "warn",
58
- /**
59
- * Require a `Symbol` description.
60
- *
61
- * 🚫 Not fixable - https://eslint.org/docs/rules/symbol-description
62
- */
63
- "symbol-description": "error",
64
- },
65
- };
@@ -1,58 +0,0 @@
1
- module.exports = {
2
- rules: {
3
- /**
4
- * Disallow non-import statements appearing before import statements.
5
- *
6
- * 🚫 Not fixable - https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/first.md
7
- */
8
- "import/first": "error",
9
- /**
10
- * Require a newline after the last import/require.
11
- *
12
- * 🔧 Fixable - https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/newline-after-import.md
13
- */
14
- "import/newline-after-import": "warn",
15
- /**
16
- * Disallow import of modules using absolute paths.
17
- *
18
- * 🚫 Not fixable - https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-absolute-path.md
19
- */
20
- "import/no-absolute-path": "error",
21
- /**
22
- * Disallow cyclical dependencies between modules.
23
- *
24
- * 🚫 Not fixable - https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-cycle.md
25
- */
26
- "import/no-cycle": "error",
27
- /**
28
- * Disallow default exports.
29
- *
30
- * 🚫 Not fixable - https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-default-export.md
31
- */
32
- "import/no-default-export": "error",
33
- /**
34
- * Disallow the use of extraneous packages.
35
- *
36
- * 🚫 Not fixable - https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-extraneous-dependencies.md
37
- */
38
- "import/no-extraneous-dependencies": ["error", { includeTypes: true }],
39
- /**
40
- * Disallow mutable exports.
41
- *
42
- * 🚫 Not fixable - https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-mutable-exports.md
43
- */
44
- "import/no-mutable-exports": "error",
45
- /**
46
- * Disallow a module from importing itself.
47
- *
48
- * 🚫 Not fixable - https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-self-import.md
49
- */
50
- "import/no-self-import": "error",
51
- /**
52
- * Ensures that there are no useless path segments.
53
- *
54
- * 🚫 Not fixable - https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-useless-path-segments.md
55
- */
56
- "import/no-useless-path-segments": ["error"],
57
- },
58
- };
@@ -1,16 +0,0 @@
1
- module.exports = {
2
- rules: {
3
- /**
4
- * Disallow duplicate setup and teardown hooks.
5
- *
6
- * 🚫 Not fixable - https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/no-duplicate-hooks.md
7
- */
8
- "jest/no-duplicate-hooks": "error",
9
- /**
10
- * Require lowercase test names.
11
- *
12
- * 🔧 Fixable - https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/prefer-lowercase-title.md
13
- */
14
- "jest/prefer-lowercase-title": "warn",
15
- },
16
- };
@@ -1,14 +0,0 @@
1
- /**
2
- * These are enabled by `jsx-a11y/recommended`, but we've made the decision to
3
- * disable them.
4
- */
5
- const disabledRules = {
6
- // This rule has been deprecated, but not yet removed.
7
- "jsx-a11y/no-onchange": "off",
8
- };
9
-
10
- module.exports = {
11
- rules: {
12
- ...disabledRules,
13
- },
14
- };
@@ -1,46 +0,0 @@
1
- // Source: https://github.com/playwright-community/eslint-plugin-playwright/blob/v1.5.1/src/index.ts#L101-L129
2
- const recommended = {
3
- "no-empty-pattern": "off",
4
- "playwright/expect-expect": "warn",
5
- "playwright/max-nested-describe": "warn",
6
- "playwright/missing-playwright-await": "error",
7
- "playwright/no-conditional-expect": "warn",
8
- "playwright/no-conditional-in-test": "warn",
9
- "playwright/no-element-handle": "warn",
10
- "playwright/no-eval": "warn",
11
- "playwright/no-focused-test": "error",
12
- "playwright/no-force-option": "warn",
13
- "playwright/no-nested-step": "warn",
14
- "playwright/no-networkidle": "error",
15
- "playwright/no-page-pause": "warn",
16
- "playwright/no-skipped-test": "warn",
17
- "playwright/no-standalone-expect": "error",
18
- "playwright/no-unsafe-references": "error",
19
- "playwright/no-useless-await": "warn",
20
- "playwright/no-useless-not": "warn",
21
- "playwright/no-wait-for-selector": "warn",
22
- "playwright/no-wait-for-timeout": "warn",
23
- "playwright/prefer-web-first-assertions": "error",
24
- "playwright/valid-describe-callback": "error",
25
- "playwright/valid-expect": "error",
26
- "playwright/valid-expect-in-promise": "error",
27
- "playwright/valid-title": "error",
28
- };
29
-
30
- module.exports = {
31
- rules: {
32
- ...recommended,
33
- /**
34
- * Require lowercase test names.
35
- *
36
- * 🔧 Fixable - https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/prefer-lowercase-title.md
37
- */
38
- "playwright/prefer-lowercase-title": "warn",
39
- /**
40
- * Require using `toHaveLength` over explicitly checking lengths.
41
- *
42
- * 🔧 Fixable - https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/prefer-lowercase-title.md
43
- */
44
- "playwright/prefer-to-have-length": "warn",
45
- },
46
- };
@@ -1,35 +0,0 @@
1
- module.exports = {
2
- rules: {
3
- /**
4
- * Disallow the use of console.
5
- *
6
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-console
7
- */
8
- "no-console": "error",
9
- /**
10
- * Disallow expressions where the operation doesn't affect the value.
11
- *
12
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-console
13
- */
14
- "no-constant-binary-expression": "error",
15
- /**
16
- * Disallow returning values from Promise executor functions.
17
- *
18
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-promise-executor-return
19
- */
20
- "no-promise-executor-return": "error",
21
- /**
22
- * Disallow template literal placeholder syntax in regular strings, as
23
- * these are likely errors.
24
- *
25
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-template-curly-in-string
26
- */
27
- "no-template-curly-in-string": "error",
28
- /**
29
- * Disallow loops with a body that allows only one iteration.
30
- *
31
- * 🚫 Not fixable - https://eslint.org/docs/rules/no-unreachable-loop
32
- */
33
- "no-unreachable-loop": "error",
34
- },
35
- };
@@ -1,97 +0,0 @@
1
- /**
2
- * These are enabled by `react/recommended`, but we've made the decision to
3
- * disable them.
4
- */
5
- const disabledRules = {
6
- // We recommend using TypeScript over `prop-types`, as `prop-types` can add
7
- // to a project's build size.
8
- "react/prop-types": "off",
9
- // Disable requiring React to be imported, as this is no longer required.
10
- "react/react-in-jsx-scope": "off",
11
- };
12
-
13
- module.exports = {
14
- rules: {
15
- ...disabledRules,
16
- /**
17
- * Require consistent function type for function components.
18
- *
19
- * 🔧 Fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/HEAD/docs/rules/function-component-definition.md
20
- */
21
- "react/function-component-definition": "warn",
22
- /**
23
- * Require destructuring and symmetric naming of `useState` hook value and setter variables.
24
- *
25
- * 🚫 Not fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/hook-use-state.md
26
- */
27
- "react/hook-use-state": "warn",
28
- /**
29
- * Require consistent boolean attributes notation in JSX.
30
- *
31
- * 🔧 Fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-boolean-value.md
32
- */
33
- "react/jsx-boolean-value": "warn",
34
- /**
35
- * Disallow unnecessary curly braces in JSX props and children.
36
- *
37
- * 🔧 Fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-curly-brace-presence.md
38
- */
39
- "react/jsx-curly-brace-presence": "warn",
40
- /**
41
- * Require using shorthand form for React fragments, unless required.
42
- *
43
- * 🔧 Fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-fragments.md
44
- */
45
- "react/jsx-fragments": "warn",
46
- /**
47
- * Prevent problematic leaked values from being rendered.
48
- *
49
- * 🔧 Fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-leaked-render.md
50
- */
51
- "react/jsx-no-leaked-render": "warn",
52
- /**
53
- * Prevents usage of unsafe `target='_blank'`.
54
- *
55
- * This rule is a part of `react/recommended`, but we've modified it to
56
- * allow referrer.
57
- *
58
- * 🔧 Fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-target-blank.md
59
- */
60
- "react/jsx-no-target-blank": [
61
- "error",
62
- {
63
- allowReferrer: true,
64
- },
65
- ],
66
- /**
67
- * Disallow empty React fragments.
68
- *
69
- * 🔧 Fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-useless-fragment.md
70
- */
71
- "react/jsx-no-useless-fragment": ["warn", { allowExpressions: true }],
72
- /**
73
- * Require the use of PascalCase for user-defined JSX components.
74
- *
75
- * 🚫 Not fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-pascal-case.md
76
- */
77
- "react/jsx-pascal-case": "warn",
78
- /**
79
- * Disallow usage of Array index in keys.
80
- *
81
- * 🚫 Not fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-array-index-key.md
82
- */
83
- "react/no-array-index-key": "warn",
84
- /**
85
- * Disallow creating unstable components inside components.
86
- *
87
- * 🚫 Not fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unstable-nested-components.md
88
- */
89
- "react/no-unstable-nested-components": "error",
90
- /**
91
- * Disallow closing tags for components without children.
92
- *
93
- * 🔧 Fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/self-closing-comp.md
94
- */
95
- "react/self-closing-comp": "warn",
96
- },
97
- };