bump to eslint@4
4.x changes ship list
Engine
- support node >= 6 only (npm >= 3)
Dependencies
- drop unnecessary
dependencies
andpeerDenpendencies
likeeslint-plugin-react
, add them asoptionalDependencies
- bump up version of eslint as
4.1.1
- add
eslint-import-resolver-webpack
,eslint-plugin-vue
as optionalDependency
Features
- better support vuejs rules using
eslint-plugin-vue
- support no framework generic frontend config as
aftership/frontend
Docs
- v3 to v4 upgrade guide
- update
why-we-chose-those-rules
- update readme.md to indicate how to use in react projects
- update readme.md to indicate how to use in vue projects
Rules:
Errors:
- no-else-return:
'error'
- no-loop-func:
'error'
- no-unused-vars:
['error', {vars: 'all', args: 'after-used', ignoreRestSiblings: true}]
- no-throw-literal:
'error'
- no-path-concat:
'error'
- indent:
<default as eslint default>
- no-lonely-if:
'error'
- prefer-const:
'error'
- prefer-spread:
'error'
- prefer-rest-params:
'error'
- react/forbid-prop-types:
['error', {forbid: ['any', 'array']}]
- react/jsx-no-bind:
'react/jsx-no-bind': ['error', {ignoreRefs: true, allowArrowFunctions: true, allowBind: false}]
- react/require-default-pros:
'error'
- vue:
<enabled all rules there>
Warnings:
- max-params:
['warning', 4]
- max-lines:
['warning', {max: 400, skipBlankLines: true, skipComments: true}]
- prefer-destructing:
['warning', {array: true, object: true}, {enforceForRenamedProperties: false}]
- return-yield:
'warning'
- react/no-danger:
'warn'