npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

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