eslint-config-mlint
English | 简体中文
ESLint Config for JavaScript、Typescript、Vue、React、Prettier
Installation
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.
Typescript
$ npm install --save-dev @typescript-eslint/parser@^1.12.0 @typescript-eslint/eslint-plugin@^1.12.0 typescript@^3.5.3
Vue
$ npm install --save-dev eslint-plugin-vue@^5.2.3 vue-eslint-parser@^6.0.4
React
$ npm install --save-dev eslint-plugin-react@^7.4.0 eslint-plugin-react-hooks@^1.6.0
Prettier
$ npm install --save-dev prettier@^1.18.2 eslint-config-prettier@^6.0.0 eslint-plugin-prettier^3.1.0
Usage
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.
For Es5
'extends': 'eslint-config-mlint/es5'
This configuration is for older projects that use ES5 and previous versions of JS, all using ESLint native rules.
For Es6
'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.
For Typescript
'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.
For Vue
'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.
For React
'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.
For Typescript + Vue
'extends': 'eslint-config-mlint/ts-vue'
This configuration for Vue + Typescript projects inherits the above configuration for Vue projects and Typescript projects.
For Typescript + React
'extends': 'eslint-config-mlint/ts-react'
This configuration for React + Typescript projects inherits the above configuration for React projects and Typescript projects.
For Prettier + Typescript
'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.
For Prettier + Typescript + Vue
'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.
Editor integrations
See example:
- Es5
- Es6
- Typescript
- Vue
- React
- Typescript + Vue
- Typescript + React
- Prettier + Typescript
- Prettier + Typescript + Vue
- Prettier + Typescript + React
License
MIT License
Copyright (c) 2019 minfive