eslint-config-sensible v7.2.1
eslint-config-sensible
THIS PROJECT IS NOT MAINTAINED.
This package provides sensible shareable Eslint configs.
Usage
This package exports the following ESLint configurations for your usage.
- sensible - default config, ES6+
- sensible/babel - ES6+ and support for
async/await,class properties,decorators, etc - sensible/legacy - ES5+ config
- sensible/node - Node.js config
- sensible/react - React.js/JSX conifg
- sensible/lodash - lodash v4 config
sensible
Our default export contains all of our ESLint rules for ES6+.
It does not include rules for node, react or lodash.
You need to add those from
respectively, if you need.
It requires:
eslinteslint-plugin-import
You can extend/override the rules for this config. You can find the list of rules:
Installation:
npm install --save-dev eslint-config-sensible eslint-plugin-import eslint- add
"extends": ["sensible"]to your.eslintrc.*config.
sensible/babel
This config is like default sensible config, but it also supports:
async/awaitclass propertiesdecoratorstypes- and more (see https://github.com/babel/babel-eslint)
It does not include rules for node, react or lodash.
You need to add those from
respectively, if you need.
It requires:
eslintbabel-eslinteslint-plugin-babeleslint-plugin-import
You can extend/override the rules for this config. You can find the list of rules:
Installation:
npm install --save-dev eslint-config-sensible eslint-plugin-import eslint-plugin-babel babel-eslint eslint- add
"extends": ["sensible/babel"]to your.eslintrc.*config.
sensible/legacy
Lints ES5 and below.
It does not include rules for node, react or lodash.
You need to add those from
respectively, if you need.
It requires:
eslinteslint-plugin-import
You can extend/override the rules for this config. You can find the list of rules:
Installation:
npm install --save-dev eslint-config-sensible eslint-plugin-import eslint- add
"extends": ["sensible/legacy"]to your.eslintrc.*config.
sensible/node
Lints Node.js code.
It includes Node.js rules only.
It requires:
eslint
You can extend/override the rules for this config. You can find the list of rules here.
Installation:
npm install --save-dev eslint-config-sensible eslint- add
"extends": ["sensible/node"]to your.eslintrc.*config.
sensible/react
Lints React.js/JSX code.
It includes React/JSX rules only.
It requires:
eslinteslint-plugin-react
You can extend/override the rules for this config. You can find the list of rules here.
Installation:
npm install --save-dev eslint-config-sensible eslint-plugin-react eslint- add
"extends": ["sensible/react"]to your.eslintrc.*config.
sensible/lodash
Lints lodash v4 code.
It includes lodash rules only.
It requires:
eslinteslint-plugin-lodash
It only supports the default import of lodash, e.g.
var _ = require('lodash') or import _ from 'lodash'
It does not support the usage of:
lodash/fp- import of separate methods, like
var map = require('lodash/map')orvar map = require('lodash').map
- usage of a name, other than
_as yourlodashidentifier (can be changed, read below)
In your .eslintrc.* config you can change the lodash identifier, that this config
is going to look for, like this:
{
"extends": ["sensible/lodash"],
"settings": {
"lodash": {
"pragma": "_" // default
}
}
}You can extend/override the rules for this config. You can find the list of rules here.
Installation:
npm install --save-dev eslint-config-sensible eslint-plugin-lodash eslint- add
"extends": ["sensible/lodash"]to your.eslintrc.*config.
You should combine these configurations(order does matter) to get the desired rulesets. For example:
ES6+, node and react(with jsx):
{
"extends": ["sensible", "sensible/node" "sensible/react"]
}ES6+ and lodash:
{
"extends": ["sensible", sensible/lodash"]
}ES5, node and react(with jsx):
{
"extends": ["sensible/legacy", "sensible/node" "sensible/react]
}Override config rule:
Overrides quotes: [2, "single"]
{
"extends": ["sensible"],
"rules": {
"quotes": [2, "double"],
}
}Note for eslint-plugin-import rule, if you use default or legacy config.
It has import/no-unresolved rule enabled and by default uses Node.js resolver.
If you are going to use webpack with loaders specified in require/import, then you might want to install eslint-import-resolver-webpack.
If you use another module bundler, that lets you use custom paths in require/import, then you might
want to read this.
Or you can disable this rule entirely, although I find it very useful.
{
"extends": [
"sensible" // or "sensible/legacy"
],
"rules": {
"import/no-unresolved": 0
}
}License
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago