Skip to content

RingOfStorms/eslint-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eslint Config

Notable linting rules

  • No default exports
  • No relative imports from other modules, imports must be exported in an index file
  • Index files only contain imports/exports, no other code

Usage

base

Base is used for node/typescript and excludes react specific settings.

npm i @ringofstorms/eslint-config \
    @typescript-eslint/eslint-plugin \
    @typescript-eslint/parser \
    eslint \
    eslint-config-prettier \
    eslint-import-resolver-typescript \
    eslint-plugin-eslint-comments \
    eslint-plugin-filenames \
    eslint-plugin-import \
    eslint-plugin-new-with-error \
    eslint-plugin-prettier \
    prettier \
    --save-dev

In your .eslintrc

{
  extends: ["@ringofstorms/eslint-config/base"],
}

react

React is for react/typescript and is base + react specific settings.

npm i @ringofstorms/eslint-config \
    @typescript-eslint/eslint-plugin \
    @typescript-eslint/parser \
    eslint \
    eslint-config-prettier \
    eslint-config-react \
    eslint-import-resolver-typescript \
    eslint-plugin-css-modules \
    eslint-plugin-eslint-comments \
    eslint-plugin-filenames \
    eslint-plugin-import \
    eslint-plugin-new-with-error \
    eslint-plugin-prettier \
    eslint-plugin-react \
    eslint-plugin-react-hooks \
    prettier \
    --save-dev

In your .eslintrc

{
  extends: ["@ringofstorms/eslint-config/react"],
}

prettier settings

Create prettier.config.js file in root of project with this content:

module.exports = require('@ringofstorms/eslint-config').prettierConfig;

Common rule overrides

{
  rules: {
    // This will differ for every project and may not even need any settings
    "import/no-internal-modules": ["error", {
      allow: ["rxjs/**", "uuid/**", "@nestjs/**"]
    }],
  },
}

Updating package scripts

Add

    "test": "npm run lint:fix",
    "lint": "npm run lint:prettier && npm run lint:eslint",
    "lint:fix": "npm run lint:prettier -- --write && npm run lint:eslint -- --fix ",
    "lint:eslint": "eslint './**/*.{js,jsx,ts,tsx}'",
    "lint:prettier": "prettier . --check"

Contributing

Packing

npm pack

publishing

if not already done npm login

npm publish --access public

About

My preferred eslint configs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published