@pro-vision/eslint-config-pv
v4.0.0
Published
pro!vision ESLint configuration. Can be adapted and adjusted in each project.
Downloads
2,939
Readme
@pro-vision/eslint-config-pv
This package provides pro!vision's ESLint configuration as an extensible shared config.
Inspired by Airbnb
Rules mostly follow:
- eslint:recommended
- @typescript-eslint/recommended
Versions
This is version >= 3.1. of eslint-config-pv, which is compatible with eslint >= 8.22. If you are using eslint 3, use eslint-config-pv 1.0.10
Installation
npm install --save-dev @pro-vision/eslint-config-pv eslint-plugin-import
# for the eslint 3 compatible version
npm install --save-dev [email protected] eslint-plugin-import
Usage
We export four ESLint configurations for usage in projects.
eslint-config-pv
Our default export contains all of our ESLint rules, including ECMAScript 6 / ES2015.
Add "extends": "@pro-vision/eslint-config-pv"
to your .eslintrc:
{
"extends": "@pro-vision/eslint-config-pv",
"rules": {
// additional rules here
},
"env": {
// ... add more environments
}
}
eslint-config-pv/legacy
Use the legacy sub package if you only want to lint ES5 and below.
{
"extends": "@pro-vision/eslint-config-pv/legacy",
"rules": {
// additional rules here
}
}
eslint-config-pv/prettier
You need to install additional plugins:
npm install --save-dev eslint-config-prettier eslint-plugin-prettier prettier
This allows you to use prettier with eslint integration
{
"extends": "@pro-vision/eslint-config-pv/prettier"
}
See the ESlint config docs for more information.
eslint-config-pv/typescript
You need to install typescript
and additional @typescript-eslint
plugins (>=v5.34):
npm install --save-dev typescript @typescript-eslint/parser @typescript-eslint/eslint-plugin
This allows you to eslint your typescript files
{
"extends": [
"@pro-vision/eslint-config-pv/typescript",
// "@pro-vision/eslint-config-pv/prettier" // in case you are using prettier as well
]
}
@pro-vision/eslint-config-pv/typescript
assumes your tsconfig.json
file is in the same directory as where you call eslint. For example your projects root directory. But you can also specify this with:
{
"extends": [
"@pro-vision/eslint-config-pv/typescript",
]
parserOptions: {
project: "./my-tsconfig.json",
tsconfigRootDir: "my-configs/",
},
}
WebStorm Integration
Ensure you are using node >= 4.5
and you have installed eslint
and eslint-plugin-import
globally:
# node version should be at least 4.5
node -v
# install necessary modules globally
npm install -g eslint eslint-plugin-import
Now you can follow the instructions here
Keep in mind that WebStorm pass all JavaScript files (starting from project root) to eslint
. To prevent directories
from being linted, mark them as Excluded. Go to project structure and right click on the directory to be excluded ->
Mark Directory as
-> Excluded
. Special directories, such as node_modules
are marked automatically as library root
and will be excluded by default.
Alternatively, you can define .eslintignore
as described here.