@storm-software/eslint 0.122.8 → 0.122.9

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 (73) hide show
  1. package/README.md +1 -1
  2. package/dist/chunk-7NZUDX62.js +99 -0
  3. package/dist/{chunk-Y67QTC5U.js → chunk-K6KBWFPU.js} +1 -1
  4. package/dist/{chunk-LSG5T3ZK.js → chunk-W6QEP5VE.js} +7 -6
  5. package/dist/chunk-X3L37QNE.js +161 -0
  6. package/dist/preset.d.ts +23 -7048
  7. package/dist/preset.js +3590 -933
  8. package/dist/types-Drnq7vws.d.ts +14859 -0
  9. package/dist/utils/banner-plugin.js +3 -3
  10. package/dist/utils/combine.d.ts +14 -0
  11. package/dist/utils/combine.js +13 -0
  12. package/dist/utils/constants.d.ts +33 -22
  13. package/dist/utils/constants.js +65 -19
  14. package/dist/utils/get-file-banner.js +2 -2
  15. package/dist/utils/helpers.d.ts +55 -0
  16. package/dist/utils/helpers.js +19 -0
  17. package/dist/utils/index.d.ts +1 -1
  18. package/dist/utils/index.js +67 -21
  19. package/package.json +76 -50
  20. package/dist/chunk-723HQUNP.js +0 -14
  21. package/dist/chunk-ESFBJFNU.cjs +0 -149
  22. package/dist/chunk-GMT3V67N.cjs +0 -24
  23. package/dist/chunk-HMBBDY5L.cjs +0 -49
  24. package/dist/chunk-JS7W7LMD.cjs +0 -14
  25. package/dist/chunk-KISSHBCD.cjs +0 -1333
  26. package/dist/chunk-LFHG33FO.cjs +0 -313
  27. package/dist/chunk-QSFZU7HX.cjs +0 -47
  28. package/dist/chunk-RTM5LCEB.js +0 -149
  29. package/dist/chunk-USNT2KNT.cjs +0 -6
  30. package/dist/chunk-VIASOXKK.js +0 -1333
  31. package/dist/preset.cjs +0 -988
  32. package/dist/preset.d.cts +0 -7057
  33. package/dist/rules/import.cjs +0 -291
  34. package/dist/rules/import.d.cts +0 -5
  35. package/dist/rules/import.d.ts +0 -5
  36. package/dist/rules/import.js +0 -291
  37. package/dist/rules/jsx-a11y.cjs +0 -341
  38. package/dist/rules/jsx-a11y.d.cts +0 -5
  39. package/dist/rules/jsx-a11y.d.ts +0 -5
  40. package/dist/rules/jsx-a11y.js +0 -341
  41. package/dist/rules/react-hooks.cjs +0 -15
  42. package/dist/rules/react-hooks.d.cts +0 -5
  43. package/dist/rules/react-hooks.d.ts +0 -5
  44. package/dist/rules/react-hooks.js +0 -15
  45. package/dist/rules/react.cjs +0 -689
  46. package/dist/rules/react.d.cts +0 -5
  47. package/dist/rules/react.d.ts +0 -5
  48. package/dist/rules/react.js +0 -689
  49. package/dist/rules/storm.cjs +0 -7
  50. package/dist/rules/storm.d.cts +0 -11
  51. package/dist/rules/storm.d.ts +0 -11
  52. package/dist/rules/storm.js +0 -7
  53. package/dist/rules/ts-docs.cjs +0 -7
  54. package/dist/rules/ts-docs.d.cts +0 -5
  55. package/dist/rules/ts-docs.d.ts +0 -5
  56. package/dist/rules/ts-docs.js +0 -7
  57. package/dist/rules.d.ts +0 -7005
  58. package/dist/utils/banner-plugin.cjs +0 -9
  59. package/dist/utils/banner-plugin.d.cts +0 -6
  60. package/dist/utils/constants.cjs +0 -25
  61. package/dist/utils/constants.d.cts +0 -24
  62. package/dist/utils/create-flat-import-plugin.cjs +0 -20
  63. package/dist/utils/create-flat-import-plugin.d.cts +0 -11
  64. package/dist/utils/create-flat-import-plugin.d.ts +0 -11
  65. package/dist/utils/create-flat-import-plugin.js +0 -20
  66. package/dist/utils/format-config.cjs +0 -7
  67. package/dist/utils/format-config.d.cts +0 -5
  68. package/dist/utils/get-file-banner.cjs +0 -8
  69. package/dist/utils/get-file-banner.d.cts +0 -9
  70. package/dist/utils/ignores.cjs +0 -7
  71. package/dist/utils/ignores.d.cts +0 -3
  72. package/dist/utils/index.cjs +0 -33
  73. package/dist/utils/index.d.cts +0 -4
@@ -1,689 +0,0 @@
1
- import "../chunk-SHUYVCID.js";
2
-
3
- // src/rules/react.ts
4
- var config = {
5
- // We recommend using TypeScript over `prop-types`, as `prop-types` can add
6
- // to a project's build size.
7
- "react/prop-types": "off",
8
- // Disable requiring React to be imported, as this is no longer required.
9
- "react/react-in-jsx-scope": "off",
10
- /**
11
- * Require an explicit type when using button elements.
12
- *
13
- * 🚫 Not fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/button-has-type.md
14
- */
15
- "react/button-has-type": [
16
- "error",
17
- {
18
- button: true,
19
- submit: true,
20
- reset: true
21
- }
22
- ],
23
- /**
24
- * Require consistent function type for function components.
25
- *
26
- * 🔧 Fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/HEAD/docs/rules/function-component-definition.md
27
- */
28
- "react/function-component-definition": "warn",
29
- /**
30
- * Require destructuring and symmetric naming of `useState` hook value and setter variables.
31
- *
32
- * 🚫 Not fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/hook-use-state.md
33
- */
34
- "react/hook-use-state": "warn",
35
- /**
36
- * Require consistent boolean attributes notation in JSX.
37
- *
38
- * 🔧 Fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-boolean-value.md
39
- */
40
- "react/jsx-boolean-value": "warn",
41
- /**
42
- * Disallow unnecessary curly braces in JSX props and children.
43
- *
44
- * 🔧 Fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-curly-brace-presence.md
45
- */
46
- "react/jsx-curly-brace-presence": "warn",
47
- /**
48
- * Require using shorthand form for React fragments, unless required.
49
- *
50
- * 🔧 Fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-fragments.md
51
- */
52
- "react/jsx-fragments": [
53
- "error",
54
- "syntax"
55
- ],
56
- /**
57
- * Prevent problematic leaked values from being rendered.
58
- *
59
- * 🔧 Fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-leaked-render.md
60
- */
61
- "react/jsx-no-leaked-render": "warn",
62
- /**
63
- * Prevents usage of unsafe `target='_blank'`.
64
- *
65
- * This rule is a part of `react/recommended`, but we've modified it to
66
- * allow referrer.
67
- *
68
- * 🔧 Fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-target-blank.md
69
- */
70
- "react/jsx-no-target-blank": [
71
- "error",
72
- {
73
- enforceDynamicLinks: "always",
74
- allowReferrer: true
75
- }
76
- ],
77
- /**
78
- * Disallow empty React fragments.
79
- *
80
- * 🔧 Fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-useless-fragment.md
81
- */
82
- "react/jsx-no-useless-fragment": [
83
- "warn",
84
- {
85
- allowExpressions: true
86
- }
87
- ],
88
- /**
89
- * Require the use of PascalCase for user-defined JSX components.
90
- *
91
- * 🚫 Not fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-pascal-case.md
92
- */
93
- "react/jsx-pascal-case": [
94
- "error",
95
- {
96
- allowAllCaps: true,
97
- ignore: []
98
- }
99
- ],
100
- /**
101
- * Disallow usage of Array index in keys.
102
- *
103
- * 🚫 Not fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-array-index-key.md
104
- */
105
- "react/no-array-index-key": "warn",
106
- /**
107
- * Disallow creating unstable components inside components.
108
- *
109
- * 🚫 Not fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unstable-nested-components.md
110
- */
111
- "react/no-unstable-nested-components": "error",
112
- /**
113
- * Disallow closing tags for components without children.
114
- *
115
- * 🔧 Fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/self-closing-comp.md
116
- */
117
- "react/self-closing-comp": "warn",
118
- // Specify whether double or single quotes should be used in JSX attributes
119
- // https://eslint.org/docs/rules/jsx-quotes
120
- "jsx-quotes": [
121
- "error",
122
- "prefer-double"
123
- ],
124
- "class-methods-use-this": [
125
- "error",
126
- {
127
- exceptMethods: [
128
- "render",
129
- "getInitialState",
130
- "getDefaultProps",
131
- "getChildContext",
132
- "componentWillMount",
133
- "UNSAFE_componentWillMount",
134
- "componentDidMount",
135
- "componentWillReceiveProps",
136
- "UNSAFE_componentWillReceiveProps",
137
- "shouldComponentUpdate",
138
- "componentWillUpdate",
139
- "UNSAFE_componentWillUpdate",
140
- "componentDidUpdate",
141
- "componentWillUnmount",
142
- "componentDidCatch",
143
- "getSnapshotBeforeUpdate"
144
- ]
145
- }
146
- ],
147
- // This rule enforces onChange or readonly attribute for checked property of input elements.
148
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/checked-requires-onchange-or-readonly.md
149
- "react/checked-requires-onchange-or-readonly": [
150
- "off",
151
- {
152
- ignoreMissingProperties: false,
153
- ignoreExclusiveCheckedAttribute: false
154
- }
155
- ],
156
- // Prevent missing displayName in a React component definition
157
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/display-name.md
158
- "react/display-name": [
159
- "off",
160
- {
161
- ignoreTranspilerName: false
162
- }
163
- ],
164
- // Forbid certain propTypes (any, array, object)
165
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/843d71a432baf0f01f598d7cf1eea75ad6896e4b/docs/rules/forbid-prop-types.md
166
- "react/forbid-prop-types": [
167
- "error",
168
- {
169
- forbid: [
170
- "any",
171
- "array",
172
- "object"
173
- ],
174
- checkContextTypes: true,
175
- checkChildContextTypes: true
176
- }
177
- ],
178
- // Forbid certain props on DOM Nodes
179
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/843d71a432baf0f01f598d7cf1eea75ad6896e4b/docs/rules/forbid-dom-props.md
180
- "react/forbid-dom-props": [
181
- "off",
182
- {
183
- forbid: []
184
- }
185
- ],
186
- // Validate closing bracket location in JSX
187
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-closing-bracket-location.md
188
- "react/jsx-closing-bracket-location": [
189
- "error",
190
- "after-props"
191
- ],
192
- // Validate closing tag location in JSX
193
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-closing-tag-location.md
194
- "react/jsx-closing-tag-location": "error",
195
- // Enforce or disallow spaces inside of curly braces in JSX attributes
196
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-curly-spacing.md
197
- "react/jsx-curly-spacing": [
198
- "error",
199
- "never",
200
- {
201
- allowMultiline: true
202
- }
203
- ],
204
- // Enforce event handler naming conventions in JSX
205
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-handler-names.md
206
- "react/jsx-handler-names": [
207
- "error",
208
- {
209
- eventHandlerPrefix: "on",
210
- eventHandlerPropPrefix: "on"
211
- }
212
- ],
213
- // Validate props indentation in JSX
214
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-indent-props.md
215
- "react/jsx-indent-props": [
216
- "error",
217
- 2
218
- ],
219
- // Validate JSX has key prop when in array or iterator
220
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-key.md
221
- // Turned off because it has too many false positives
222
- "react/jsx-key": "warn",
223
- // Limit maximum of props on a single line in JSX
224
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-max-props-per-line.md
225
- "react/jsx-max-props-per-line": [
226
- "error",
227
- {
228
- maximum: 1,
229
- when: "multiline"
230
- }
231
- ],
232
- // Prevent usage of .bind() in JSX props
233
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-bind.md
234
- "react/jsx-no-bind": [
235
- "error",
236
- {
237
- ignoreRefs: true,
238
- allowArrowFunctions: true,
239
- allowFunctions: false,
240
- allowBind: false,
241
- ignoreDOMComponents: true
242
- }
243
- ],
244
- // Prevent duplicate props in JSX
245
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-duplicate-props.md
246
- "react/jsx-no-duplicate-props": [
247
- "error",
248
- {
249
- ignoreCase: true
250
- }
251
- ],
252
- // Prevent usage of unwrapped JSX strings
253
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-literals.md
254
- "react/jsx-no-literals": [
255
- "off",
256
- {
257
- noStrings: true
258
- }
259
- ],
260
- // Disallow undeclared variables in JSX
261
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-undef.md
262
- "react/jsx-no-undef": "error",
263
- // Deprecated in favor of react/jsx-sort-props
264
- "react/jsx-sort-prop-types": "off",
265
- /**
266
- * Require props to be sorted alphabetically.
267
- *
268
- * 🔧 Fixable - https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-sort-props.md
269
- */
270
- "react/jsx-sort-props": [
271
- "warn",
272
- {
273
- ignoreCase: true,
274
- callbacksLast: false,
275
- shorthandFirst: false,
276
- shorthandLast: false,
277
- noSortAlphabetically: false,
278
- reservedFirst: true
279
- }
280
- ],
281
- // Enforce defaultProps declarations alphabetical sorting
282
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/843d71a432baf0f01f598d7cf1eea75ad6896e4b/docs/rules/jsx-sort-default-props.md
283
- "react/sort-default-props": [
284
- "warn",
285
- {
286
- ignoreCase: true
287
- }
288
- ],
289
- // Prevent React to be incorrectly marked as unused
290
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-uses-react.md
291
- "react/jsx-uses-react": [
292
- "error"
293
- ],
294
- // Prevent variables used in JSX to be incorrectly marked as unused
295
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-uses-vars.md
296
- "react/jsx-uses-vars": "error",
297
- // Prevent usage of dangerous JSX properties
298
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-danger.md
299
- "react/no-danger": "warn",
300
- // Prevent usage of deprecated methods
301
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-deprecated.md
302
- "react/no-deprecated": [
303
- "error"
304
- ],
305
- // Prevent usage of setState in componentDidMount
306
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-did-mount-set-state.md
307
- // this is necessary for server-rendering
308
- "react/no-did-mount-set-state": "off",
309
- // Prevent usage of setState in componentDidUpdate
310
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-did-update-set-state.md
311
- "react/no-did-update-set-state": "error",
312
- // Prevent usage of setState in componentWillUpdate
313
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-will-update-set-state.md
314
- "react/no-will-update-set-state": "error",
315
- // Prevent direct mutation of this.state
316
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-direct-mutation-state.md
317
- "react/no-direct-mutation-state": "off",
318
- // Prevent usage of isMounted
319
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-is-mounted.md
320
- "react/no-is-mounted": "error",
321
- // Prevent multiple component definition per file
322
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-multi-comp.md
323
- "react/no-multi-comp": "off",
324
- // Prevent usage of setState
325
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-set-state.md
326
- "react/no-set-state": "off",
327
- // Prevent using string references
328
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-string-refs.md
329
- "react/no-string-refs": "error",
330
- // Prevent usage of unknown DOM property
331
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unknown-property.md
332
- "react/no-unknown-property": "error",
333
- // Require ES6 class declarations over React.createClass
334
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/prefer-es6-class.md
335
- "react/prefer-es6-class": [
336
- "error",
337
- "always"
338
- ],
339
- // Require stateless functions when not using lifecycle methods, setState or ref
340
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/prefer-stateless-function.md
341
- "react/prefer-stateless-function": [
342
- "error",
343
- {
344
- ignorePureComponents: true
345
- }
346
- ],
347
- // Require render() methods to return something
348
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/require-render-return.md
349
- "react/require-render-return": "error",
350
- // Enforce component methods order
351
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/843d71a432baf0f01f598d7cf1eea75ad6896e4b/docs/rules/sort-comp.md
352
- "react/sort-comp": [
353
- "error",
354
- {
355
- order: [
356
- "static-variables",
357
- "static-methods",
358
- "instance-variables",
359
- "lifecycle",
360
- "/^handle.+$/",
361
- "/^on.+$/",
362
- "getters",
363
- "setters",
364
- "/^(get|set)(?!(InitialState$|DefaultProps$|ChildContext$)).+$/",
365
- "instance-methods",
366
- "everything-else",
367
- "rendering"
368
- ],
369
- groups: {
370
- lifecycle: [
371
- "displayName",
372
- "propTypes",
373
- "contextTypes",
374
- "childContextTypes",
375
- "mixins",
376
- "statics",
377
- "defaultProps",
378
- "constructor",
379
- "getDefaultProps",
380
- "getInitialState",
381
- "state",
382
- "getChildContext",
383
- "getDerivedStateFromProps",
384
- "componentWillMount",
385
- "UNSAFE_componentWillMount",
386
- "componentDidMount",
387
- "componentWillReceiveProps",
388
- "UNSAFE_componentWillReceiveProps",
389
- "shouldComponentUpdate",
390
- "componentWillUpdate",
391
- "UNSAFE_componentWillUpdate",
392
- "getSnapshotBeforeUpdate",
393
- "componentDidUpdate",
394
- "componentDidCatch",
395
- "componentWillUnmount"
396
- ],
397
- rendering: [
398
- "/^render.+$/",
399
- "render"
400
- ]
401
- }
402
- }
403
- ],
404
- // Prevent missing parentheses around multilines JSX
405
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/843d71a432baf0f01f598d7cf1eea75ad6896e4b/docs/rules/jsx-wrap-multilines.md
406
- "react/jsx-wrap-multilines": [
407
- "error",
408
- {
409
- declaration: "parens-new-line",
410
- assignment: "parens-new-line",
411
- return: "parens-new-line",
412
- arrow: "parens-new-line",
413
- condition: "parens-new-line",
414
- logical: "parens-new-line",
415
- prop: "parens-new-line"
416
- }
417
- ],
418
- // Require that the first prop in a JSX element be on a new line when the element is multiline
419
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-first-prop-new-line.md
420
- "react/jsx-first-prop-new-line": [
421
- "error",
422
- "multiline-multiprop"
423
- ],
424
- // Enforce spacing around jsx equals signs
425
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-equals-spacing.md
426
- "react/jsx-equals-spacing": [
427
- "error",
428
- "never"
429
- ],
430
- // Enforce JSX indentation
431
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-indent.md
432
- "react/jsx-indent": [
433
- "error",
434
- 2
435
- ],
436
- // only ".jsx", ".tsx", or ".mdx" files may have JSX
437
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-filename-extension.md
438
- "react/jsx-filename-extension": [
439
- "error",
440
- {
441
- extensions: [
442
- ".jsx",
443
- ".tsx",
444
- ".mdx"
445
- ]
446
- }
447
- ],
448
- // prevent accidental JS comments from being injected into JSX as text
449
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-comment-textnodes.md
450
- "react/jsx-no-comment-textnodes": "error",
451
- // disallow using React.render/ReactDOM.render's return value
452
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-render-return-value.md
453
- "react/no-render-return-value": "error",
454
- // require a shouldComponentUpdate method, or PureRenderMixin
455
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/require-optimization.md
456
- "react/require-optimization": [
457
- "off",
458
- {
459
- allowDecorators: []
460
- }
461
- ],
462
- // warn against using findDOMNode()
463
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-find-dom-node.md
464
- "react/no-find-dom-node": "error",
465
- // Forbid certain props on Components
466
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/forbid-component-props.md
467
- "react/forbid-component-props": [
468
- "off",
469
- {
470
- forbid: []
471
- }
472
- ],
473
- // Forbid certain elements
474
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/forbid-elements.md
475
- "react/forbid-elements": [
476
- "off",
477
- {
478
- forbid: []
479
- }
480
- ],
481
- // Prevent problem with children and props.dangerouslySetInnerHTML
482
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-danger-with-children.md
483
- "react/no-danger-with-children": "error",
484
- // Prevent unused propType definitions
485
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unused-prop-types.md
486
- "react/no-unused-prop-types": [
487
- "error",
488
- {
489
- customValidators: [],
490
- skipShapeProps: true
491
- }
492
- ],
493
- // Require style prop value be an object or var
494
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/style-prop-object.md
495
- "react/style-prop-object": "error",
496
- // Prevent invalid characters from appearing in markup
497
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unescaped-entities.md
498
- "react/no-unescaped-entities": "error",
499
- // Prevent passing of children as props
500
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-children-prop.md
501
- "react/no-children-prop": "error",
502
- // Validate whitespace in and around the JSX opening and closing brackets
503
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/843d71a432baf0f01f598d7cf1eea75ad6896e4b/docs/rules/jsx-tag-spacing.md
504
- "react/jsx-tag-spacing": [
505
- "error",
506
- {
507
- closingSlash: "never",
508
- beforeSelfClosing: "always",
509
- afterOpening: "never",
510
- beforeClosing: "never"
511
- }
512
- ],
513
- // Enforce spaces before the closing bracket of self-closing JSX elements
514
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-space-before-closing.md
515
- // Deprecated in favor of jsx-tag-spacing
516
- "react/jsx-space-before-closing": [
517
- "off",
518
- "always"
519
- ],
520
- // Enforce a defaultProps definition for every prop that is not a required prop
521
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/843d71a432baf0f01f598d7cf1eea75ad6896e4b/docs/rules/require-default-props.md
522
- "react/require-default-props": [
523
- "error",
524
- {
525
- forbidDefaultForRequired: true
526
- }
527
- ],
528
- // Forbids using non-exported propTypes
529
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/forbid-foreign-prop-types.md
530
- // this is intentionally set to "warn". it would be "error",
531
- // but it's only critical if you're stripping propTypes in production.
532
- "react/forbid-foreign-prop-types": [
533
- "warn",
534
- {
535
- allowInPropTypes: true
536
- }
537
- ],
538
- // Prevent void DOM elements from receiving children
539
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/void-dom-elements-no-children.md
540
- "react/void-dom-elements-no-children": "error",
541
- // Enforce all defaultProps have a corresponding non-required PropType
542
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/9e13ae2c51e44872b45cc15bf1ac3a72105bdd0e/docs/rules/default-props-match-prop-types.md
543
- "react/default-props-match-prop-types": [
544
- "error",
545
- {
546
- allowRequiredDefaults: false
547
- }
548
- ],
549
- // Prevent usage of shouldComponentUpdate when extending React.PureComponent
550
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/9e13ae2c51e44872b45cc15bf1ac3a72105bdd0e/docs/rules/no-redundant-should-component-update.md
551
- "react/no-redundant-should-component-update": "error",
552
- // Prevent unused state values
553
- // https://github.com/jsx-eslint/eslint-plugin-react/pull/1103/
554
- "react/no-unused-state": "error",
555
- // Enforces consistent naming for boolean props
556
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/843d71a432baf0f01f598d7cf1eea75ad6896e4b/docs/rules/boolean-prop-naming.md
557
- "react/boolean-prop-naming": [
558
- "off",
559
- {
560
- propTypeNames: [
561
- "bool",
562
- "mutuallyExclusiveTrueProps"
563
- ],
564
- rule: "^(is|has)[A-Z]([A-Za-z0-9]?)+",
565
- message: ""
566
- }
567
- ],
568
- // Prevents common casing typos
569
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/73abadb697034b5ccb514d79fb4689836fe61f91/docs/rules/no-typos.md
570
- "react/no-typos": "error",
571
- // One JSX Element Per Line
572
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/843d71a432baf0f01f598d7cf1eea75ad6896e4b/docs/rules/jsx-one-expression-per-line.md
573
- "react/jsx-one-expression-per-line": [
574
- "error",
575
- {
576
- allow: "single-child"
577
- }
578
- ],
579
- // Enforce consistent usage of destructuring assignment of props, state, and context
580
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/843d71a432baf0f01f598d7cf1eea75ad6896e4b/docs/rules/destructuring-assignment.md
581
- "react/destructuring-assignment": [
582
- "error",
583
- "always"
584
- ],
585
- // Prevent using this.state within a this.setState
586
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/843d71a432baf0f01f598d7cf1eea75ad6896e4b/docs/rules/no-access-state-in-setstate.md
587
- "react/no-access-state-in-setstate": "error",
588
- // Ensures inline tags are not rendered without spaces between them
589
- "react/jsx-child-element-spacing": "off",
590
- // Prevent this from being used in stateless functional components
591
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/843d71a432baf0f01f598d7cf1eea75ad6896e4b/docs/rules/no-this-in-sfc.md
592
- "react/no-this-in-sfc": "error",
593
- // Validate JSX maximum depth
594
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/abe8381c0d6748047224c430ce47f02e40160ed0/docs/rules/jsx-max-depth.md
595
- "react/jsx-max-depth": "off",
596
- // Disallow multiple spaces between inline JSX props
597
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/ac102885765be5ff37847a871f239c6703e1c7cc/docs/rules/jsx-props-no-multi-spaces.md
598
- "react/jsx-props-no-multi-spaces": "error",
599
- // Prevent usage of UNSAFE_ methods
600
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/157cc932be2cfaa56b3f5b45df6f6d4322a2f660/docs/rules/no-unsafe.md
601
- "react/no-unsafe": "off",
602
- // Enforce linebreaks in curly braces in JSX attributes and expressions.
603
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-curly-newline.md
604
- "react/jsx-curly-newline": [
605
- "error",
606
- {
607
- multiline: "consistent",
608
- singleline: "consistent"
609
- }
610
- ],
611
- // Enforce state initialization style
612
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/state-in-constructor.md
613
- // TODO: set to "never" once babel-preset-airbnb supports public class fields
614
- "react/state-in-constructor": [
615
- "error",
616
- "always"
617
- ],
618
- // Enforces where React component static properties should be positioned
619
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/static-property-placement.md
620
- // TODO: set to "static public field" once babel-preset-airbnb supports public class fields
621
- "react/static-property-placement": [
622
- "error",
623
- "property assignment"
624
- ],
625
- // Disallow JSX props spreading
626
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-props-no-spreading.md
627
- "react/jsx-props-no-spreading": [
628
- "off",
629
- {
630
- html: "enforce",
631
- custom: "enforce",
632
- explicitSpread: "ignore",
633
- exceptions: []
634
- }
635
- ],
636
- // Enforce that props are read-only
637
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/prefer-read-only-props.md
638
- "react/prefer-read-only-props": "off",
639
- // Prevent usage of `javascript:` URLs
640
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-script-url.md
641
- "react/jsx-no-script-url": [
642
- "error",
643
- [
644
- {
645
- name: "Link",
646
- props: [
647
- "to"
648
- ]
649
- }
650
- ]
651
- ],
652
- // Prevent adjacent inline elements not separated by whitespace
653
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-adjacent-inline-elements.md
654
- // TODO: enable? semver-major
655
- "react/no-adjacent-inline-elements": "off",
656
- // Enforce a new line after jsx elements and expressions
657
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/e2eaadae316f9506d163812a09424eb42698470a/docs/rules/jsx-newline.md
658
- "react/jsx-newline": "off",
659
- // Prevent react contexts from taking non-stable values
660
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/e2eaadae316f9506d163812a09424eb42698470a/docs/rules/jsx-no-constructed-context-values.md
661
- "react/jsx-no-constructed-context-values": "error",
662
- // Enforce that namespaces are not used in React elements
663
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/8785c169c25b09b33c95655bf508cf46263bc53f/docs/rules/no-namespace.md
664
- "react/no-namespace": "error",
665
- // Prefer exact proptype definitions
666
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/8785c169c25b09b33c95655bf508cf46263bc53f/docs/rules/prefer-exact-props.md
667
- "react/prefer-exact-props": "error",
668
- // Lifecycle methods should be methods on the prototype, not class fields
669
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/21e01b61af7a38fc86d94f27eb66cda8054582ed/docs/rules/no-arrow-function-lifecycle.md
670
- "react/no-arrow-function-lifecycle": "error",
671
- // Prevent usage of invalid attributes
672
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/21e01b61af7a38fc86d94f27eb66cda8054582ed/docs/rules/no-invalid-html-attribute.md
673
- "react/no-invalid-html-attribute": "error",
674
- // Prevent declaring unused methods of component class
675
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/21e01b61af7a38fc86d94f27eb66cda8054582ed/docs/rules/no-unused-class-component-methods.md
676
- "react/no-unused-class-component-methods": "error",
677
- // Enforce sandbox attribute on iframe elements
678
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/c8833f301314dab3e79ef7ac4cf863e4d5fa0019/docs/rules/iframe-missing-sandbox.md
679
- // TODO: semver-major, enable
680
- "react/iframe-missing-sandbox": "off",
681
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/66b58dd4864678eb869a7bf434c72ff7ac530eb1/docs/rules/no-object-type-as-default-prop.md
682
- // https://github.com/jsx-eslint/eslint-plugin-react/blob/66b58dd4864678eb869a7bf434c72ff7ac530eb1/docs/rules/no-object-type-as-default-prop.md
683
- // TODO: semver-major, enable
684
- "react/no-object-type-as-default-prop": "off"
685
- };
686
- var react_default = config;
687
- export {
688
- react_default as default
689
- };