eslint-config-wojtekmaj
v1.0.2
Published
ESLint configuration by wojtekmaj
Readme
eslint-config-wojtekmaj
Set of default, recommended rules from:
- ESLint itself,
@typescript-eslinteslint-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/parserwill 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-importwere 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-pwaand other Vite plugins usingvirtual:*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:ignoreRestSiblingsflag set totrue.@typescript-eslint/no-use-before-define: Set to"error".import/no-named-as-default: Turned off.import/no-unresolved: Kept at"error", but ignoringvirtual:*imports.no-self-compare``: Set to"error"`.no-template-curly-in-string: Set to"warn".no-unused-vars:ignoreRestSiblingsflag set totrue.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.
