namedComponents
option to match style guideeslint-plugin-react
whitespace
: update to support eslint 8 (#2517)eslint-plugin-react
tape
eslint
8; drop eslint
< 7react/jsx-key
is turned off (#2474)eslint-config-airbnb-base
, eslint-plugin-jsx-a11y
, eslint-plugin-react
, eslint-plugin-react-hooks
, safe-publish-latest
, eslint-plugin-import
, object.entries
--no-save
to link scriptsprepublishOnly
script for npm 7+@babel/runtime
, tape
jsx-a11y/accessible-emoji
rule (#2322)handle
and on
ordering in sort-comp
rule (#2287)eslint-plugin-jsx-a11y
, eslint-plugin-react
eslint-config-airbnb-base
, object.assign
@babel/runtime
, eslint-find-rules
, eslint-plugin-import
, eslint-plugin-jsx-a11y
, eslint-plugin-react
eslint
v7
(#2240)eslint-plugin-react-hooks
v3 and v4 (#2235, #2207)explicitSpread
to ignore for react/jsx-props-no-spreading
(#2237)eslint-plugin-react-hooks
down to v2.3, due to a controversial change in v2.5eslint-config-airbnb-base
, eslint-plugin-jsx-a11y
, eslint-plugin-import
, eslint-plugin-react
, babel-preset-airbnb
, eslint-find-rules
, in-publish
, tape
, object.entries
whitespace
: only set erroring rules to "warn"componentDidCatch
(#2108)static-variables
to sort-comp
rule (#2109)eslint
, eslint-plugin-react
, eslint-plugin-react-hooks
, eslint-config-airbnb-base
, eslint-plugin-import
, object.entries
@babel/runtime
, babel-preset-airbnb
, safe-publish-latest
, tape
prefer-destructuring
internally (#2110)c66cfc3
(#2112)react/state-in-constructor
: fix incorrect configurationeslint-config-airbnb-base
, eslint-plugin-react
, eslint-find-rules
, eslint-plugin-import
label-has-for
; enable control-has-associated-label
react/jsx-props-no-spreading
react/jsx-fragments
react/static-property-placement
react/state-in-constructor
react/jsx-curly-newline
react-hooks
plugin (#2022)eclint
instead of editorconfig-tools
react/no-multi-comp
(#2006)no-underscore-dangle
to allow for redux dev tools in the main config instead (#1996)jsx-fragments
ruleeslint-config-airbnb-base
, object.entries
, eslint-plugin-import
, eslint-plugin-react
, eslint-plugin-jsx-a11y
, babel-preset-airbnb
, tape
(#2005, etc)label-has-associated-control
rulejsx-one-expression-per-line
allowing single children, ignore DOM components on jsx-no-bind
eslint
, eslint-config-airbnb-base
, eslint-plugin-react
, eslint-plugin-import
, safe-publish-latest
, eslint-plugin-jsx-a11y
, eslint-find-rules
eslint-config-airbnb-base
to v13no-useless-path-segments
(#1743)eslint-plugin-react
to v7.6
; update rule configs (#1737)class-methods-use-this
's exceptMethods
to include componentDidCatch
(#1704)forbid-foreign-prop-types
to "warn"label-has-for
: Remove redundant component (#1802)no-did-mount-set-state
, since it’s necessary for server-rendering.eslint
, eslint-plugin-react
, eslint-plugin-import
,babel-preset-airbnb
, tape
, eslint-find-rules
npx
shortcut (#1694)eslint-config-airbnb-base
, eslint
to v4.9eslint
v4
, update eslint-config-airbnb-base
eslint-plugin-jsx-a11y
to v6
; enable more a11y rules (#1482)react/jsx-curly-brace-presence
, react/no-typos
, react/no-unused-state
, react/no-redundant-should-component-update
, react/default-props-match-prop-types
propWrapperFunctions
default settings for eslint-plugin-react
react/jsx-closing-tag-location
(#1533)eslint
v4, eslint-plugin-react
, tape
eslint-plugin-import
, eslint-config-airbnb-base
babel-preset-airbnb
, eslint-find-rules
, eslint-plugin-import
, eslint-plugin-jsx-a11y
, eslint-plugin-react
, tape
update eslint-plugin-jsx-a11y
to v5, enable new rulesupdate eslint-plugin-react
to v7, enable new rulesjsx-max-props-per-line
, void-dom-elements-no-children
ignorePureComponents
option on for react/prefer-stateless-function (#1378, #1398)eslint
, eslint-plugin-react
, eslint-config-airbnb-base
eslint-plugin-jsx-a11y
to be v3 or v4. Remove no-marquee
rule temporarily.eslint-config-airbnb-base
, babel-preset-airbnb
, eslint
react/no-array-index-key
, react/require-default-props
eslint
, eslint-plugin-import
, eslint-plugin-react
, eslint-config-airbnb-base
eslint-plugin-jsx-a11y
to v3 (#1166)install-peerdeps
(#1234)import/no-webpack-loader-syntax
rule (#1123)class-methods-use-this
: exempt React getChildContext
(#1094)react/no-unused-prop-types
skipShapeProps (#1099)eslint
, eslint-config-airbnb-base
, eslint-plugin-jsx-a11y
, eslint-plugin-react
, eslint-plugin-import
babel-preset-airbnb
, eslint
, eslint-find-rules
, tape
, safe-publish-latest
node
v7
react/no-unescaped-entities
, react/no-children-prop
eslint-config-airbnb-base
react/require-extension
rule (#978)ecmaVersion
to 2017; enable object rest/spread; update babel-preset-airbnb
eslint
, eslint-config-airbnb-base
, eslint-plugin-import
, eslint-plugin-jsx-a11y
, eslint-plugin-react
, eslint-find-rules
, safe-publish-latest
eslint-config-airbnb-base
, eslint
react
rules: react/no-danger-with-children
, react/no-unused-prop-types
, react/style-prop-object
, react/forbid-prop-types
, react/jsx-no-duplicate-props
; set react/no-danger
to “warn”jsx-a11y
rules: jsx-a11y/anchor-has-content
, jsx-a11y/tabindex-no-positive
, jsx-a11y/no-static-element-interactions
eslint
, eslint-plugin-react
, eslint-config-airbnb-base
, eslint-find-rules
, eslint-plugin-import
, eslint-plugin-jsx-a11y
ignoreCase
to true
in disabled rules.eslint
, eslint-find-rules
, eslint-plugin-jsx-a11y
, eslint-plugin-import
, eslint-config-airbnb-base
jsx-a11y/heading-has-content
jsx-a11y/html-has-lang
jsx-a11y/lang
jsx-a11y/no-marquee
jsx-a11y/scope
jsx-a11y/href-no-hash
jsx-a11y/label-has-for
jsx-a11y/aria-props
jsx-a11y/aria-proptypes
jsx-a11y/aria-unsupported-elements
jsx-a11y/role-has-required-aria-props
jsx-a11y/role-supports-aria-props
react/jsx-filename-extension
react/jsx-no-comment-textnodes
react/jsx-no-target-blank
react/require-extension
react/no-render-return-value
react/no-find-dom-node
react/no-deprecated
eslint
to v3, eslint-config-airbnb-base
to v5, eslint-find-rules
, eslint-plugin-import
, eslint-plugin-jsx-a11y
to v2, eslint-plugin-react
to v6, tape
. drop node < 4 support.eslint-config-airbnb-base
, eslint-plugin-react
, eslint-plugin-import
, eslint-plugin-jsx-a11y
, babel-tape-runner
, add babel-preset-airbnb
. ensure react is >=
0.13.0jsx-pascal-case
rule to allow all caps component namesin-publish
because coffeescript screwed up the prepublish script for everyoneeslint-find-rules
on prepublish, not in testsnpm link
the base package into the main one for the sake of travis-ci testssafe-publish-latest
to prepublish
eslint-config-airbnb-base
to v3.0.1eslint-config-airbnb-base
to v3eslint-find-rules
, eslint-plugin-import
, eslint-plugin-jsx-a11y
eslint-config-airbnb-base
)no-restricted-syntax
ruleglobal-require
rulereact/jsx-curly-spacing
rule (#693)react/jsx-first-prop-new-line
rulejsx-equals-spacing
rulejsx-indent
ruleno-underscore-dangle
no-useless-concat
rule which prefer-template
already covers== null
(#542)eslint
, eslint-plugin-react
, eslint-plugin-import
eslint-plugin-jsx-a11y
and rename rules (#838)eslint-find-rules
to prevent missing ruleseslint-plugin-a11y
react/require-render-return
no-dupe-class-members
rule + section (#785)no-useless-escape
ruleno-duplicate-imports
rulejsx-pascal-case
ruleeslint
, react
eslint
, eslint-plugin-react
no-confusing-arrow
rule, with allowParens
option enabled (#752, #791)tape
, eslint
, eslint-plugin-react
eslint
, eslint-plugin-react
react/prefer-stateless-function
react-plugin-eslint
, eslint
, tape
no-confusing-arrow
due to an eslint
bug (#752)newline-per-chained-call
due to an eslint
bug (#748)array-callback-return
no-confusing-arrow
no-new-symbol
no-restricted-imports
no-useless-constructor
prefer-rest-params
template-curly-spacing
newline-per-chained-call
one-var-declaration-per-line
no-self-assign
no-whitespace-before-property
react/jsx-space-before-closing
static-methods
at top of react/sort-comp
ignoreTranspilerName
for react/display-name
eslint
, eslint-plugin-react
(#730)eslint
peerDep should not include breaking changesbabel-tape-runner
, eslint-plugin-react
, react
, tape
arrow-body-style
, prefer-template
rules (#678)prefer-arrow-callback
to ES6 rules (to match the guide) (#677)npm run lint
as part of tests; fix errorsparallelshell
to parallelize npm run-scriptsquote-props
rule (#632)react/jsx-no-bind
(#619)react/no-is-mounted
rule (#635, #633)react/prefer-es6-class
alphabetically (#634)react/prefer-es6-class
ruleeslint-plugin-react
(enforcing where necessary) (#581)eslint-plugin-react
react/jsx-quotes
(#622)require.resolve
to allow nested extend
s (#582)object-shorthand
rule (#621)arrow-spacing
rule (#517)space-before-function-paren
: require function spacing: function <optional name>(
(#605)indent
: Fix switch statement indentation rule (#606)array-bracket-spacing
, computed-property-spacing
: disallow spacing inside brackets (#594)object-curly-spacing
: require padding inside curly braces (#594)space-in-parens
: disallow spaces in parens (#594)no-multiple-empty-lines
: only allow 1 blank line at EOF (#578)restParams
: enable rest params (#592)eslint
v1.0.0
or higherbabel-eslint
dependencyid-length
rule (#569)no-mixed-spaces-and-tabs
(#539)no-const-assign
(#560)space-before-keywords
(#554)eslint-config-airbnb/legacy
for ES5-only users. eslint-config-airbnb/legacy
does not require the babel-eslint
parser. PR