This package provides pro!vision's ESLint configuration as an extensible shared config.
Inspired by Airbnb
Rules mostly follow:
- eslint:recommended
- @typescript-eslint/recommended
This is version >= 3.1. of eslint-config-pv, which is compatible with eslint >= 8.45. If you are using eslint 3, use eslint-config-pv 1.0.10
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
We export four ESLint configurations for usage in projects.
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
}
}
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
}
}
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.
You need to install typescript
and additional @typescript-eslint
plugins (>=v6.1.0):
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/",
},
}
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.