README
@vadisitc/eslint-config-base
Personal typescript eslint configs for node & react
- all-in-one
- grouped into nice presets
- easy to maintain
Installation
yarn add -D eslint
yarn add -D @vadistic/eslint-config
Base
@vadistic/eslint-config
or @vadistic/eslint-config/base
Includes:
/es2020
(project settings)/style
(basic eslint rules)/typescript
(basic typescript rules)/import
(plugin import)/jest
(plugin jest)/comments
(plugin eslint-comments)
Alternatively I can just import /es2020
or build config from scratch
All Presets
Presets are grouped configuration of plugins + recommended + my costom overrides
Basic:
@vadistic/eslint-config/es2020
=> configure parser for es2020@vadistic/eslint-config/base
=> basic default preset@vadistic/eslint-config/recommended
=> same as base but only recommended rules
Guidelines:
@vadistic/eslint-config/style
=>eslint
code style rules@vadistic/eslint-config/typescript
=>@typescript-eslint
code style rules
Formating:
@vadistic/eslint-config/prettier
=> enableeslint-plugin-prettier
&eslint-config-prettier
@vadistic/eslint-config/format
=> enable formatting rules (kinda prettier alternative)
Typechecking:
@vadistic/eslint-config/typecheck
=> enable@typescript-eslint
typechecking rules@vadistic/eslint-config/typecheck-off
=> disable all@typescript-eslint
typechecking rules
Plugins:
@vadistic/eslint-config/jsx-a11y
=> enableeslint-plugin-jsx-a11y
@vadistic/eslint-config/jsx-a11y-off
=> disable alleslint-plugin-jsx-a11y
(eg. for airbnb config)@vadistic/eslint-config/import
=> enableeslint-plugin-import
@vadistic/eslint-config/jest
=> enableeslint-plugin-jest
@vadistic/eslint-config/react
=> enableeslint-plugin-react
&eslint-plugin-react-hooks
@vadistic/eslint-config/preact
=> tweak react config for preact compatibility
Example
Default
// .eslintrc
{
"extends": ["@vadistic/eslint-config"]
}
With typechecking rules & prettier
// .eslintrc
{
"extends": [
"@vadistic/eslint-config",
"@vadistic/eslint-config/typecheck",
"@vadistic/eslint-config/prettier"
],
"parserOptions": {
"project": "./tsconfig.json"
}
}