2.2.1 • Published 8 months ago

@prowise/eslint-config-linting-rules v2.2.1

Weekly downloads
-
License
UNLICENSED
Repository
bitbucket
Last release
8 months ago

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"
  • 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

2.2.1

8 months ago

2.2.0

9 months ago

2.0.5

11 months ago

2.0.7

11 months ago

2.0.6

11 months ago

2.1.2

11 months ago

2.1.1

11 months ago

2.1.4

11 months ago

2.1.3

11 months ago

2.1.6

10 months ago

2.1.5

10 months ago

2.1.8

9 months ago

2.1.7

10 months ago

2.1.0

11 months ago

2.0.3

1 year ago

2.0.2

1 year ago

2.0.4

1 year ago

2.0.1

1 year ago

2.0.0

1 year ago

1.2.12

1 year ago

1.2.13

1 year ago

1.2.8

2 years ago

1.2.10

2 years ago

1.2.11

2 years ago

1.2.9

2 years ago

1.2.7

2 years ago

1.2.6

2 years ago

1.2.5

2 years ago

1.2.4

2 years ago

1.2.3

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.2.0

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.18

2 years ago

1.0.17

2 years ago

1.0.16

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.13

2 years ago

1.0.12

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago

0.0.14

3 years ago

0.0.12

3 years ago

0.0.11

3 years ago

0.0.10

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago