Skip to content

dipiash/eslint-plugin-nimbus-clean

Repository files navigation

GitHub CI npm version HitCount

README.md: EN | 日本語 | 繁體中文 | हिंदी

eslint-plugin-nimbus-clean

A comprehensive linting solution that sweeps your code clean. Fly through your codebase with ease and precision!

Table of Contents

Installation

Here you can find instructions how to install it via: npm, yarn, pnpm.

You'll first need to install ESLint and TypeScript:

npm i eslint --save-dev
npm i typescript

# Or run this to use yarn
yarn add eslint --dev
yarn add typescript

# Or run this to use pnpm
pnpm add eslint --save-dev
pnpm add typescript

Next, install eslint-plugin-nimbus-clean:

npm install eslint-plugin-nimbus-clean --save-dev

# Or run this to use yarn
yarn add eslint-plugin-nimbus-clean --dev

# Or run this to use pnpm
pnpm add eslint-plugin-nimbus-clean --save-dev

Next, install all peerDependencies for this plugin:

npx install-peerdeps eslint-plugin-nimbus-clean

# Or run this to use yarn
npx install-peerdeps eslint-plugin-nimbus-clean --yarn

# Or run this to use pnpm
npx install-peerdeps eslint-plugin-nimbus-clean --pnpm

Usage

Full config

It's recommended for new projects or if you want to see all ESLint errors and warnings for existing projects.

Add nimbus-clean to the extends or plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix:

{
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "ecmaVersion": 13,
    "sourceType": "module",
    "ecmaFeatures": {
      "jsx": true,
      "modules": true,
      "experimentalObjectRestSpread": true
    }
  },
  "ignorePatterns": [
    "**/*",
    "node_modules"
  ],
  "settings": {
    "react": {
      "pragma": "React",
      "fragment": "Fragment",
      "version": "detect"
    },
    "import/resolver": {
      "typescript": {
        "alwaysTryTypes": true
      }
    }
  },
  "extends": [
    "plugin:nimbus-clean/recommended"
  ],
  "plugins": [
    "nimbus-clean"
  ]
}

Incrementally improvements

If you have existing project big/old/etc. you can apply nimbus-clean config setting incrementally:

  • plugin:nimbus-clean/common
  • plugin:nimbus-clean/prettier
  • plugin:nimbus-clean/import
  • plugin:nimbus-clean/simpleImportSort
  • plugin:nimbus-clean/react
  • plugin:nimbus-clean/promise
  • plugin:nimbus-clean/unicorn
  • plugin:nimbus-clean/sonarjs
  • plugin:nimbus-clean/typescript
  • plugin:nimbus-clean/perfectionist
{
  ...
  "extends": [
    "plugin:nimbus-clean/common",
    "plugin:nimbus-clean/prettier",
    ...
  ],
  "plugins": [
    "nimbus-clean"
  ]
}

Prettier settings (optional)

If you don't have a .prettierrc config, please add it (for example):

{
   "singleQuote": true,
   "printWidth": 150,
   "useTabs": false,
   "tabWidth": 2,
   "trailingComma": "all",
   "semi": false
 }

License

This code is licensed under the MIT License.

Contributions

Before making any contributions, refer to here.

Show your support

Star (⭐️) this repository if it helped you!

Contributors

Thanks go to these wonderful people: