Skip to content

StefanoA1/eslint-plugin-sab

Repository files navigation

Multi purpose ESLint plugin

npm GitHub Actions License: MIT

Personal ESLint rules and configs (testing config).

Installation

npm install --save-dev eslint @stefanoa1/eslint-plugin-sab

It supports node >= v18 (by default, this repo runs on v20).

Usage

This package provides multiple configurations for different purposes, that you can apply together in your project as needed. To use them, set each needed extension on the extends key of your .eslintrc file (if you only need ava, set ava only) and add @stefanoa1/stefanoa1 to your list of plugins.

{
  "extends": [
    "plugin:@stefanoa1/sab/core",
    "plugin:@stefanoa1/sab/ava",
    "plugin:@stefanoa1/sab/es20-xx",
    "plugin:@stefanoa1/sab/lodash-fp",
    "plugin:@stefanoa1/sab/prettier",
    "plugin:@stefanoa1/sab/react",
    "..."
  ],
  "plugins": [
    "@stefanoa1/sab"
  ]
}

To overwrite rules (check the rule sets on the github repo):

{
  "rules": [
    "@stefanoa1/sab/no-overwriting-spread": "off",
    "n/no-missing-import": "off",
    "..."
  ]
}

Available rule sets are (code is minified on node_modules, checkout the repo or go to the project Github page to check the rules):

  • ava: when using AVA
  • core: Shared ESLint rules
  • es20-xx: when using ES2015+ syntax
  • lodash-fp: when using Lodash's FP flavor
  • prettier: Disables all stylistic rules but adds source code auto-formatting.
  • react: when using React

PR conventions

When creating a PR, use a title like release: patch - fix bug #123, release: minor - add new feature #456, or release: major - breaking changes #789. The release: ${VERSION} part of the title is used by Github Actions to detect to which version to bump.

About

Common ESLint config for personal projects

Resources

License

Stars

Watchers

Forks

Packages

No packages published