@@ -27,32 +27,34 @@ module.exports = {
27
27
'react/display-name' : 1 , // Prevent missing displayName in a React component definition
28
28
'react/forbid-component-props' : 0 , // Forbid certain props on Components
29
29
'react/forbid-prop-types' : 0 , // Forbid certain propTypes
30
- 'react/no-children-prop' : 0 , // Prevent passing children as props
31
- 'react/no-danger' : 0 , // Prevent usage of dangerous JSX properties
32
- 'react/no-danger-with-children' : 0 , // Prevent problem with children and props.dangerouslySetInnerHTML
30
+ 'react/no-array-index-key' : 1 , // Prevent using Array index in `key` props
31
+ 'react/no-children-prop' : 1 , // Prevent passing children as props
32
+ 'react/no-danger' : 1 , // Prevent usage of dangerous JSX properties
33
+ 'react/no-danger-with-children' : 1 , // Prevent problem with children and props.dangerouslySetInnerHTML
33
34
'react/no-deprecated' : 1 , // Prevent usage of deprecated methods
34
- 'react/no-did-mount-set-state' : 0 , // Prevent usage of setState in componentDidMount
35
- 'react/no-did-update-set-state' : 0 , // Prevent usage of setState in componentDidUpdate
36
- 'react/no-direct-mutation-state' : 1 , // Prevent direct mutation of this.state
35
+ 'react/no-did-mount-set-state' : 1 , // Prevent usage of setState in componentDidMount
36
+ 'react/no-did-update-set-state' : 1 , // Prevent usage of setState in componentDidUpdate
37
+ 'react/no-direct-mutation-state' : 2 , // Prevent direct mutation of this.state
37
38
'react/no-find-dom-node' : 1 , // Prevent usage of findDOMNode
38
39
'react/no-is-mounted' : 1 , // Prevent usage of isMounted
39
- 'react/no-multi-comp' : 0 , // Prevent multiple component definition per file
40
+ 'react/no-multi-comp' : [ 1 , { ignoreStateless : true } ] , // Prevent multiple component definition per file
40
41
'react/no-render-return-value' : 1 , // Prevent usage of the return value of React.render
41
42
'react/no-set-state' : 0 , // Prevent usage of setState
42
- 'react/no-string-refs' : 0 , // Prevent using string references in ref attribute.
43
+ 'react/no-string-refs' : 1 , // Prevent using string references in ref attribute.
43
44
'react/no-unescaped-entities' : 0 , // Prevent invalid characters from appearing in markup
44
45
'react/no-unknown-property' : 1 , // Prevent usage of unknown DOM property (fixable)
45
- 'react/no-unused-prop-types' : 0 , // Prevent definitions of unused prop types
46
+ 'react/no-unused-prop-types' : 1 , // Prevent definitions of unused prop types
46
47
'react/prefer-es6-class' : 0 , // Enforce ES5 or ES6 class for React Components
47
- 'react/prefer-stateless-function' : 0 , // Enforce stateless React Components to be written as a pure function
48
- 'react/prop-types' : 1 , // Prevent missing props validation in a React component definition
49
- 'react/react-in-jsx-scope' : 1 , // Prevent missing React when using JSX
48
+ 'react/prefer-stateless-function' : 1 , // Enforce stateless React Components to be written as a pure function
49
+ 'react/prop-types' : 0 , // Prevent missing props validation in a React component definition
50
+ 'react/react-in-jsx-scope' : 1 , // Prevent missing React when using JSX,
51
+ 'react/require-default-props' : 1 , // Enforce a defaultProps definition for every prop that is not a required prop
50
52
'react/require-optimization' : 0 , // Enforce React components to have a shouldComponentUpdate method
51
53
'react/require-render-return' : 1 , // Enforce ES5 or ES6 class for returning value in render function
52
- 'react/self-closing-comp' : 0 , // Prevent extra closing tags for components without children (fixable)
54
+ 'react/self-closing-comp' : 1 , // Prevent extra closing tags for components without children (fixable)
53
55
'react/sort-comp' : 0 , // Enforce component methods order
54
56
'react/sort-prop-types' : 0 , // Enforce propTypes declarations alphabetical sorting
55
- 'react/style-prop-object' : 0 , // Enforce style prop value being an object
57
+ 'react/style-prop-object' : 1 , // Enforce style prop value being an object
56
58
57
59
// JSX-specific rules
58
60
@@ -61,24 +63,24 @@ module.exports = {
61
63
'react/jsx-curly-spacing' : 0 , // Enforce or disallow spaces inside of curly braces in JSX attributes (fixable)
62
64
'react/jsx-equals-spacing' : 0 , // Enforce or disallow spaces around equal signs in JSX attributes (fixable)
63
65
'react/jsx-filename-extension' : 0 , // Restrict file extensions that may contain JSX
64
- 'react/jsx-first-prop-new-line' : 0 , // Enforce position of the first prop in JSX (fixable)
66
+ 'react/jsx-first-prop-new-line' : [ 1 , 'multiline-multiprop' ] , // Enforce position of the first prop in JSX (fixable)
65
67
'react/jsx-handler-names' : 0 , // Enforce event handler naming conventions in JSX
66
68
'react/jsx-indent' : 0 , // Validate JSX indentation (fixable)
67
69
'react/jsx-indent-props' : 0 , // Validate props indentation in JSX (fixable)
68
- 'react/jsx-key' : 0 , // Validate JSX has key prop when in array or iterator
70
+ 'react/jsx-key' : 1 , // Validate JSX has key prop when in array or iterator
69
71
'react/jsx-max-props-per-line' : 0 , // Limit maximum of props on a single line in JSX
70
72
'react/jsx-no-bind' : 0 , // Prevent usage of .bind() and arrow functions in JSX props
71
- 'react/jsx-no-comment-textnodes' : 0 , // Prevent comments from being inserted as text nodes
73
+ 'react/jsx-no-comment-textnodes' : 1 , // Prevent comments from being inserted as text nodes
72
74
'react/jsx-no-duplicate-props' : 1 , // Prevent duplicate props in JSX
73
75
'react/jsx-no-literals' : 0 , // Prevent usage of unwrapped JSX strings
74
- 'react/jsx-no-target-blank' : 0 , // Prevent usage of unsafe target='_blank'
76
+ 'react/jsx-no-target-blank' : 1 , // Prevent usage of unsafe target='_blank'
75
77
'react/jsx-no-undef' : 1 , // Disallow undeclared variables in JSX
76
- 'react/jsx-pascal-case' : 0 , // Enforce PascalCase for user-defined JSX components
78
+ 'react/jsx-pascal-case' : 1 , // Enforce PascalCase for user-defined JSX components
77
79
'react/jsx-sort-props' : 0 , // Enforce props alphabetical sorting
78
80
'react/jsx-space-before-closing' : 0 , // Validate spacing before closing bracket in JSX (fixable)
79
- 'react/jsx-tag-spacing' : 0 , // Validate whitespace in and around the JSX opening and closing brackets (fixable)
81
+ 'react/jsx-tag-spacing' : 1 , // Validate whitespace in and around the JSX opening and closing brackets (fixable)
80
82
'react/jsx-uses-react' : 1 , // Prevent React to be incorrectly marked as unused
81
83
'react/jsx-uses-vars' : 1 , // Prevent variables used in JSX to be incorrectly marked as unused
82
- 'react/jsx-wrap-multilines' : 0 , // Prevent missing parentheses around multilines JSX (fixable)
84
+ 'react/jsx-wrap-multilines' : 1 , // Prevent missing parentheses around multilines JSX (fixable)
83
85
}
84
86
} ;
0 commit comments