8.0.8 • Published 1 year ago
@anmiles/eslint-config v8.0.8
@anmiles/eslint-config
Base eslint config for all projects
Presets
Preset | Extends path |
---|---|
Base | ./node_modules/@anmiles/eslint-config/src/base.preset.js |
TS | ./node_modules/@anmiles/eslint-config/src/ts.preset.js |
React | ./node_modules/@anmiles/eslint-config/src/react.preset.js |
Jest | ./node_modules/@anmiles/eslint-config/src/jest.preset.js |
For JS-only projects (without TS, Jest, React) use base preset.
For more complex projects use combination of presets.
Note that base
preset is mandatory in all cases.
Usage
- Install this package
npm install --save-dev @anmiles/eslint-config
- Install required devDependencies
- Base dependencies for all files:
-
npm install --save-dev eslint eslint-plugin-align-assignments eslint-plugin-import eslint-plugin-jsonc eslint-plugin-n eslint-plugin-promise @stylistic/eslint-plugin
- Additional dependencies for TS:
-
npm install --save-dev @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-typescript
- Additional dependencies for React:
-
npm install --save-dev eslint-plugin-react-hooks eslint-plugin-react-redux eslint-plugin-react-refresh
- Additional dependencies for Jest:
-
npm install --save-dev eslint-plugin-jest
- Base dependencies for all files:
-
- Extend all needed presets
- For JS-only projects (without TS, React, Jest) use base preset:
```js extends : [ './node_modules/@anmiles/eslint-config/src/base.preset.js', ], ```
- For more complex projects use combination of presets
- Backend TS project with Jest:
```js extends : [ './node_modules/@anmiles/eslint-config/src/base.preset.js', './node_modules/@anmiles/eslint-config/src/ts.preset.js', './node_modules/@anmiles/eslint-config/src/jest.preset.js', ], ``` - Frontend TS project with React and Jest: ```js extends : [ './node_modules/@anmiles/eslint-config/src/base.preset.js', './node_modules/@anmiles/eslint-config/src/ts.preset.js', './node_modules/@anmiles/eslint-config/src/jest.preset.js', './node_modules/@anmiles/eslint-config/src/react.preset.js', ], ```
- For JS-only projects (without TS, React, Jest) use base preset:
- Specify npm command
--ext
parameter is redundant. According to documentation, default value is.js
and the files that match the specifiedoverrides
entries. This is the way this config is being built: it targets specific extensions by usingoverrides
entries and specifying particular extensions infiles
parameter. Therefore just including all needed presets in.eslintrc
will make ESLint automatically cover all needed extensions.
Example
package.json
:
"scripts": {
"lint": "eslint ."
}
.eslintrc.js
(with using base preset):
module.exports = {
root : true,
extends : [
'./node_modules/@anmiles/eslint-config/src/base.preset.js',
],
};
.eslintignore
:
someFile.js
/rootDir/anotherFile.js
**/someDir/
Notes
package-lock.json
doesn't have to be ignored. It's already ignored in configuration forjsonp
plugin insidebase
preset.node_modules
doesn't have to be ignored. It's implicitly ignored by ESLint.
8.0.8
1 year ago
8.0.7
1 year ago
8.0.6
1 year ago
8.0.5
1 year ago
8.0.4
1 year ago
8.0.3
1 year ago
8.0.2
1 year ago
8.0.1
1 year ago
8.0.0
1 year ago
7.1.2
1 year ago
7.1.1
1 year ago
7.0.2
1 year ago
7.1.0
1 year ago
6.0.1
1 year ago
6.0.2
1 year ago
7.0.0
1 year ago
7.0.1
1 year ago
6.0.0
1 year ago
5.0.2
2 years ago
5.0.1
2 years ago
5.0.0
2 years ago
3.0.0
2 years ago
4.0.1
2 years ago
4.0.0
2 years ago
2.0.2
2 years ago
2.0.1
2 years ago
2.0.0
2 years ago
1.0.6
2 years ago
1.0.5
2 years ago
1.0.4
2 years ago
1.0.3
2 years ago
1.0.2
2 years ago
1.0.1
2 years ago
1.0.0
2 years ago