eslint-config-daun
v2.0.0
Published
ESLint rules base config
Downloads
7
Maintainers
Readme
ESLint and Prettier Setup
ESLint and prettier rules for my personal projects.
Installation
Install eslint and this module in your
project's devDependencies
:
npm install --save-dev eslint eslint-config-daun
Usage
Extend the main config from your .eslintrc.js
:
module.exports = {
extends: 'daun',
rules: {
// your overrides
}
}
Other configs
This config also exposes a few other configs that can be pulled in as needed.
You can use them standalone:
module.exports = {
extends: 'daun/<config-name>',
}
Or in combination with the base config (recommended):
module.exports = {
extends: ['daun', 'daun/<config-name>'],
}
Peer dependencies
We need to patch ESLint to recognize the associated plugins without having to install them as local dependencies. See this bug for details.
Add this to the top of your .eslintrc.js
:
// Patch ESLint module resolution to find shared configs' plugins
require('eslint-config-daun/eslint-patch/module-resolution')
module.exports = {
extends: ['daun']
}
babel-module
: babel-plugin-module-resolver for the import plugin to work with the module-resolver babel plugin (eslint-plugin-import and eslint-import-resolver-babel-module)jest
: jest testing frameworkvue
: Vue JS library (eslint-plugin-react)webpack
: Webpack for the import plugin to work with webpack overloaded imports/requires (eslint-plugin-import, eslint-import-resolver-alias and eslint-import-resolver-webpack)
Things to know
- The default config uses
babel-eslint
to support stage features that ESLint doesn't support and it opts to use theeslint-plugin-babel
rules over the ESLint rules to support rules for these features as well. - All plugins needed for rules used by these configs are dependencies of this module so you don't have to install anything on your own.
- The default config actually is composed of several configurations and you can
use those individually. These are the configs it's using:
possible-errors.js
,best-practices.js
,stylistic.js
,es6/index.js
, andimport/index.js
. Also, thees6
andimport
configs each have apossible-errors.js
,best-practices.js
, andstylistic.js
which they are composed of as well.
Example of customized config
module.exports = {
extends: [
'daun/possible-errors',
'daun/best-practices',
'daun/es6/possible-errors',
'daun/import',
'daun/jest',
'daun/vue'
],
rules: {
/* custom rules */
}
}