@prowise/eslint-config-linting-rules v2.2.1
Prowise linting rules
This repository contains the Prowise basic linting rules Rules are based on:
- The Airbnb rule sets
- The recommended rules of Eslint and the different plugins
- Prowise Style Guide
What is this repository for?
- Easy setup to all linting rules on a code repository
How to use
- Install this package with
npm install @prowise/eslint-config-linting-rules -D - Create a
eslint.config.jsfile in the root folder of your project - Depending on the type of project import one of the predefined flavours:
- Plain javascript project:
import base from "@prowise/eslint-config-linting-rules" - Typescript project:
import typescript from "@prowise/eslint-config-linting-rules/typescript" - Node-typescript backend project:
import backend from "@prowise/eslint-config-linting-rules/backend" - React-typescript frontend project:
import frontend from "@prowise/eslint-config-linting-rules/frontend"
- Plain javascript project:
- Export the settings/rules, for example
export default frontendfor a frontend project.
If You want to add or overrule some settings you can add those by spreading the imported flavour and add the additions or overrides like the following examples.
NOTE: If you have a typescript project, you need to point to a tsconfig.json file which includes all the files which ESLint needs to check.
Sample of a eslint.config.js file for a backend project using node and typescript:
import backend from "@prowise/eslint-config-linting-rules/backend";
export default [
{ ignores: [ "**/reports", "**/dist/"] },
...backend,
{ languageOptions: {
parserOptions: { project: "./tsconfig.json" },
},
}];Sample of a eslint.config.js file for a frontend project using react and typescript:
import backend from "@prowise/eslint-config-linting-rules/frontend";
export default [
{ ignores: [ "**/reports", "**/dist/"] },
...frontend,
{ languageOptions: {
parserOptions: { project: "./tsconfig.json" },
},
}];Additional information can be found at: https://eslint.org/docs/latest/use/getting-started
Inspect your configuration
ESLint version 9 comes with a nice inspector to verify your settings. It can be opened by installing it as a global node app together with eslint:
npm i -g eslint @eslint/config-inspectorAfter this you can run it by eslint --inspect-config
Or just run it from the command line without installing it first by npx @eslint/config-inspector
Migrating from version 1 (eslint <= 8..)
Version 2 of this library uses ESlint >= 9... This version of ESLint uses flat configuration which means that it only reads 1 configuration file in the root folder of your project.
You need to remove all .eslintrc and .eslintignore files from all sub folders and add the configuration to the main eslint.config.js file.
If you want different configuration for the different folders yo can use the following config as example:
import frontend from "@prowise/eslint-config-linting-rules/frontend";
export default [
// IGNORES MUST BE ON TOP !
{ ignores: [ "**/reports", "**/dist/"] },
...frontend,
{ languageOptions: {
parserOptions: { project: "./tsconfig.json" },
},
},
{
files: ["tests/**/*],
rules: {
jsdoc/require-jsdoc: "off",
},
},
];As you can see, the overrides are applicable to the files given in the files attribute. When you leave it undefined it applies to all files selected by the run command.
For additional information see the official documentation on https://eslint.org/docs/latest/use/configure/migration-guide
8 months ago
9 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
10 months ago
10 months ago
9 months ago
10 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago