English | 简体中文
ESLint Config for JavaScript、Typescript、Vue、React、Prettier
Least dependence:
$ npm install --save-dev eslint eslint-config-mlint eslint-plugin-import@^2.18.0
For the following types of projects, you also need to install these dependencies.
$ npm install --save-dev @typescript-eslint/parser@^1.12.0 @typescript-eslint/eslint-plugin@^1.12.0 typescript@^3.5.3
$ npm install --save-dev eslint-plugin-vue@^5.2.3 vue-eslint-parser@^6.0.4
$ npm install --save-dev eslint-plugin-react@^7.4.0 eslint-plugin-react-hooks@^1.6.0
$ npm install --save-dev prettier@^1.18.2 eslint-config-prettier@^6.0.0 eslint-plugin-prettier^3.1.0
Once the eslint-config-mlint
package is installed, you can use it by specifying mlint
in the extends
section of your ESLint configuration.
{
'extends': 'eslint-config-mlint',
'rules': {
// Additional, per-project rules...
}
}
This package provides configuration for 9 different project types.
{
'extends': 'eslint-config-mlint/es5'
}
This configuration is for older projects that use ES5 and previous versions of JS, all using ESLint native rules.
{
'extends': 'eslint-config-mlint'
}
This configuration is for ES6 projects, using ESLint native rules and some of the rules of the eslint-plugin-import plugin.
{
'extends': 'eslint-config-mlint/ts'
}
This configuration for Typescript projects inherits the above configuration of the ES6 project and enables some of the rules for the @typescript-eslint/eslint-plugin plugin, using @typescript-eslint/parser as the parser.
{
'extends': 'eslint-config-mlint/vue'
}
This configuration is for Vue's project, inherits the above configuration of the ES6 project, and enables some of the rules of the eslint-plugin-vue plugin, using vue-eslint-parser as the parser.
{
'extends': 'eslint-config-mlint/react'
}
This configuration for React projects inherits the above configuration of the ES6 project and enables some of the rules for the eslint-plugin-react and eslint-plugin-react-hooks plugins.
{
'extends': 'eslint-config-mlint/ts-vue'
}
This configuration for Vue + Typescript projects inherits the above configuration for Vue projects and Typescript projects.
{
'extends': 'eslint-config-mlint/ts-react'
}
This configuration for React + Typescript projects inherits the above configuration for React projects and Typescript projects.
{
'extends': 'eslint-config-mlint/prettier-ts'
}
This configuration for Prettier + Typescript projects inherits the above configuration of the Typescript project and inherits eslint-config-prettier to disable partial conflict rules.
{
'extends': 'eslint-config-mlint/prettier-ts-vue'
}
This configuration for Prettier + Typescript + Vue projects inherits the above configuration of the Typescript + Vue project and inherits eslint-config-prettier to disable partial conflict rules.
See example:
- Es5
- Es6
- Typescript
- Vue
- React
- Typescript + Vue
- Typescript + React
- Prettier + Typescript
- Prettier + Typescript + Vue
- Prettier + Typescript + React
MIT License
Copyright (c) 2019 minfive