@prowise/eslint-config-linting-rules
v2.1.4
Published
Default Prowise linting rules for npm packages.
Downloads
3,157
Readme
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.js
file 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 frontend
for 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-inspector
After 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