/eslint-config

An opinionated TypeScript ESLlint config based on Rushstack

Primary LanguageJavaScript

Opinionated ESLint

An opinionated ESLint config rigging package based on Rushstack.

Base Config Setup

Modifies the base Rushstack ESLint config to:

  • Include import sorting.
  • Disable the demand for I interface prefixes.
  • Disables type specification for Zod schema folders.
  • Enforce no require imports.
  • Disabled no parameter properties to enforce public/protected/private.

Usage

To implement this config in your project, add it to your devDependencies and setup your package .eslintrc.js file as follows:

$ npm install -d opinionated-eslint
$ npm install -d @rushstack/eslint-config
$ npm install -d @typescript-eslint/parser
require("@rushstack/eslint-config/patch/modern-module-resolution")

module.exports = {
  extends: [
    "@rushstack/eslint-config/profile/node",
    "@rushstack/eslint-config/mixins/friendly-locals",
    "opinionated-eslint",
  ]
}

IDE Setup

Make sure to set up your IDE to auto-apply the rules it can easily fix by enabling "fix on save".

References