Giter Club home page Giter Club logo

eslint-config-wojtekmaj's Introduction

npm downloads CI

eslint-config-wojtekmaj

Set of default, recommended rules from:

  • ESLint itself,
  • @typescript-eslint
  • eslint-plugin-import,
  • eslint-plugin-jsx-a11y,
  • eslint-plugin-react,
  • eslint-plugin-react-hooks

with a few changes and enhancements:

  • Out-of-the-box TypeScript support: @typescript-eslint/parser will parse your TypeScript files.
  • No need to install any plugins manually: All required plugins and parsers are automatically installed so you don't need to install them on your own.
  • Certain rules were overwritten (details below).
  • Certain rules from eslint-plugin-import were turned off in TypeScript files, as they are already covered by TypeScript itself.
  • React flavor assumes JSX automatic runtime is turned on.
  • Better support for vite-plugin-pwa and other Vite plugins using virtual:* imports.

This config is designed to be run alongside Prettier.

Flavors

eslint-config-wojtekmaj comes in several flavors:

  • Basic - wojtekmaj
  • Node.js - wojtekmaj/node - Basic flavor + Node.js-specific rules.
  • Browser - wojtekmaj/browser - Basic flavor + Browser-specific rules.
  • React - wojtekmaj/react - Browser flavor + React-specific rules.
  • React (no automatic runtime) - wojtekmaj/react-no-automatic-runtime - Browser flavor + React-specific rules, for legacy projects with automatic runtime disabled.

Overwritten/added rules

Basic flavor

  • @typescript-eslint/consistent-type-definitions: Changed to prefer types over interfaces.
  • @typescript-eslint/no-unused-vars: ignoreRestSiblings flag set to true.
  • @typescript-eslint/no-use-before-define: Set to "error".
  • import/no-named-as-default: Turned off.
  • import/no-unresolved: Kept at "error", but ignoring virtual:* imports.
  • no-self-compare``: Set to "error"`.
  • no-template-curly-in-string: Set to "warn".
  • no-unused-vars: ignoreRestSiblings flag set to true.
  • no-use-before-define: Set to "error".
  • valid-typeof: Set to "error".

Node.js flavor

None

Browser flavor

  • no-alert: Set to "warn".
  • no-console: Set to "warn", with the exception of files only executed internally e.g. Webpack config files.

React flavor

  • react/jsx-no-leaked-render: Set to "error".
  • react/jsx-uses-react: Turned off (assumes JSX automatic runtime is turned on).
  • react/no-array-index-key: Set to "warn".
  • react/react-in-jsx-scope: Turned off (assumes JSX automatic runtime is turned on).
  • react/no-unused-prop-types: Set to "error".

License

The MIT License.

Author

Wojciech Maj Wojciech Maj

eslint-config-wojtekmaj's People

Contributors

dependabot[bot] avatar wojtekmaj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.