An eslint configuration for the astute
Quick start - npm install --save-dev eslint eslint-config-chatur
Eslint configuration: Simply define your .eslintrc.json
(or add a
eslintConfig
object to package.json
) like so:
{
"root": true,
"extends": "chatur"
}
If you prefer YAML:
# .eslintrc.yml
root: true
extends: chatur
Node.js 4 or above is required.
eslint-config-chatur
provides eslint configuration for three commonly used
environments:
Furthermore, it adapts to your usage automatically with minimal manual configuration. It does this by peeking at the modules and eslint plugins you have installed.
There are 2 types of plugins used for each configuration:
- Installed by default - These plugins are included as dependency for this modules and they are enabled depending on the environment. Installation of these should not be required.
- Optional - These plugins are optional and also depend on the libraries you
are using. For example, if
lodash
is installedeslint-plugin-lodash
can be installed to enable lodash specific rules. So if you do not want some plugin to be enabled, don't install it 😎.
Configuration for exlint-config-chatur
is handled through your dependencies
itself. Simply install the plugins you need. However, there is no harm in
installing extra plugins. For example, even if you install
eslint-plugin-lodash
, if you don't have lodash
as a dependency, the plugin
rules will not be activated.
Enabled by default:
Optional plugins:
Installation:
$ npm install --save-dev eslint eslint-config-chatur \
eslint-plugin-promise \
eslint-plugin-lodash \
eslint-plugin-prettier eslint-config-prettier
# Single line for windows
λ npm install --save-dev eslint eslint-config-chatur eslint-plugin-promise eslint-plugin-lodash eslint-plugin-prettier eslint-config-prettier
Eslint configuration:
# .eslintrc.yml
root: true
extends: chatur
Enabled by default:
Optional plugins:
eslint-plugin-babel
eslint-plugin-promise
eslint-plugin-lodash
eslint-plugin-prettier
(needseslint-config-prettier
)eslint-plugin-compat
eslint-plugin-import
Installation:
$ npm install --save-dev eslint babel-eslint eslint-config-chatur \
eslint-plugin-babel \
eslint-plugin-promise \
eslint-plugin-lodash \
eslint-plugin-prettier eslint-config-prettier \
eslint-plugin-compat \
eslint-plugin-import
# Single line for windows
λ npm install --save-dev eslint babel-eslint eslint-config-chatur eslint-plugin-babel eslint-plugin-promise eslint-plugin-lodash eslint-plugin-prettier eslint-config-prettier eslint-plugin-compat eslint-plugin-import
NOTE: Using the browser eslint configuration requires babel-eslint
(not
optional). This allows eslint to handle dynamic imports using
import('module-name')
.
Eslint configuration:
# .eslintrc.yml
root: true
extends: chatur/browser
Enabled by default:
Optional plugins:
eslint-plugin-promise
eslint-plugin-lodash
eslint-plugin-prettier
(needseslint-config-prettier
)eslint-plugin-jest
eslint-plugin-ava
Installation:
$ npm install --save-dev eslint eslint-config-chatur \
eslint-plugin-promise \
eslint-plugin-lodash \
eslint-plugin-prettier eslint-config-prettier \
eslint-plugin-jest \
eslint-plugin-ava
# Single line for windows
λ npm install --save-dev eslint eslint-config-chatur eslint-plugin-promise eslint-plugin-lodash eslint-plugin-prettier eslint-config-prettier eslint-plugin-jest eslint-plugin-ava
Eslint configuration:
# .eslintrc.yml
root: true
extends: chatur/test
Only checks whether eslint configurations are valid.
$ npm run lint
MIT © Suhas Karanth