Skip to content

Bevry's ESLint configuration is an adaptive configuration that automatically configures ESLint

License

Notifications You must be signed in to change notification settings

bevry/eslint-config-bevry

Repository files navigation

eslint-config-bevry

Status of the GitHub Workflow: bevry NPM version NPM downloads
GitHub Sponsors donate button ThanksDev donate button Patreon donate button Liberapay donate button Buy Me A Coffee donate button Open Collective donate button crypto donate button PayPal donate button
Discord server badge Twitch community badge

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
  • 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
  • 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

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 liking
  • bevry/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 .

History

Discover the release history by heading on over to the HISTORY.md file.

Backers

Code

Discover how to contribute via the CONTRIBUTING.md file.

Authors

Maintainers

Contributors

Finances

GitHub Sponsors donate button ThanksDev donate button Patreon donate button Liberapay donate button Buy Me A Coffee donate button Open Collective donate button crypto donate button PayPal donate button

Sponsors

  • 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

Donors

License

Unless stated otherwise all works are:

and licensed under: