Bevry's ESLint configuration is an adaptive configuration that automatically configures ESLint based on the following:
- If you are using Editions, then make use of the information it provides
- If you are using Modules (import/export), then configure ESLint for it
- If you are using a ES5 or below, then configure ESLint for it
- Disables incompatible rules that require ES6+
- If you are using JSX, then configure ESLint for it
- If you are using React, then configure ESLint for it
- Enables the plugin
eslint-plugin-react
and configures it with its recommended rules and the react version you are using - Enables the plugin
eslint-plugin-react-hooks
and configures it with its recommended rules
- Enables the plugin
- If you are using TypeScript, then configure ESLint for it
- Enables the plugin
eslint-plugin-typescript
- Configures the parser as
typescript-eslint-parser
- Disables incompatible rules that require JavaScript
- Enables the plugin
- If you are using
eslint-plugin-babel
, then configure ESLint for it- Enables the plugin, and automatically configures the rule replacements
- If you are using
babel-eslint
, then configure ESLint for it - If you are using Prettier, the configure ESLint for it
- Enables the configuration
eslint-config-prettier
- Enables the plugin
eslint-plugin-prettier
and configures it with its recommended rules - Enables the other prettier configurations automatically based on feature/language usage
- Enables the configuration
To make use of it, you must first install it as a development dependency:
npm install --save-dev eslint-config-bevry
Then for full automatic usage, the only ESLint configuration you will need is to add the following to your package.json
file:
{
"eslintConfig": {
"extends": ["bevry"]
}
}
If you would like more control, rather than extending bevry
directly, you can extend the individual parts instead:
bevry/rules
contains the rules for our coding standard, you can use or not use this to your likingbevry/adapt
contains the adaptive configuration, this should be the last extension you apply
To ensure it is working, compare the results of the following command with what you would expect:
npx eslint --print-config .
Discover the release history by heading on over to the HISTORY.md
file.
Discover how to contribute via the CONTRIBUTING.md
file.
- Benjamin Lupton — Accelerating collaborative wisdom.
- Benjamin Lupton — Accelerating collaborative wisdom.
- Benjamin Lupton — view contributions
- Michael Duane Mooring — view contributions
- Rob Loach — view contributions
- Andrew Nesbitt — Software engineer and researcher
- Balsa — We're Balsa, and we're building tools for builders.
- Codecov — Empower developers with tools to improve code quality and testing.
- Poonacha Medappa
- Rob Morris
- Sentry — Real-time crash reporting for your web apps, mobile apps, and games.
- Syntax — Syntax Podcast
- Andrew Nesbitt
- Armen Mkrtchian
- Balsa
- Chad
- Codecov
- dr.dimitru
- Elliott Ditman
- entroniq
- GitHub
- Hunter Beast
- Jean-Luc Geering
- Michael Duane Mooring
- Michael Harry Scepaniak
- Mohammed Shah
- Mr. Henry
- Nermal
- Pleo
- Poonacha Medappa
- Rob Morris
- Robert de Forest
- Sentry
- ServieJS
- Skunk Team
- Syntax
- WriterJohnBuck
Unless stated otherwise all works are:
- Copyright © Benjamin Lupton
and licensed under: