# eslint-plugin-super-brothers

> ESLint in-house plugin with custom rules & configs.

Latest version **1.0.0-rc.1** (published 2024-05-10) · 0 weekly downloads

## Install

```sh
npm install eslint-plugin-super-brothers
pnpm add eslint-plugin-super-brothers
yarn add eslint-plugin-super-brothers
bun add eslint-plugin-super-brothers
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0-rc.1 |
| Published | 2024-05-10 |
| First published | 2024-05-10 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Node | ^16.0.0 \|\| >= 18.0.0 |
| Dependencies | 2 |
| Unpacked size | 31 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | @super-brothers |
| Maintainers | urbandevelopers |
| Keywords | eslint, eslintplugin, eslint-plugin |

## Links

- npm: https://www.npmjs.com/package/eslint-plugin-super-brothers
- npm.io page: https://npm.io/package/eslint-plugin-super-brothers

## Dependencies (2)

- [requireindex](https://npm.io/package/requireindex.md) ^1.2.0
- [eslint-config-love](https://npm.io/package/eslint-config-love.md) ^47.0.0

## Alternatives

- [eslint-plugin-sonarjs](https://npm.io/package/eslint-plugin-sonarjs.md) — 2.9M weekly downloads
- [eslint-config-expo](https://npm.io/package/eslint-config-expo.md) — 1.5M weekly downloads
- [@matter/protocol](https://npm.io/package/@matter/protocol.md) — 63.5K weekly downloads
- [@eventcatalog/linter](https://npm.io/package/@eventcatalog/linter.md) — 24.8K weekly downloads
- [@pandacss/eslint-plugin](https://npm.io/package/@pandacss/eslint-plugin.md) — 18.7K weekly downloads

## Recent versions

- 1.0.0-rc.1 (latest) — 2024-05-10

## README

# @super-brothers/eslint-plugin

Eslint in-house plugin to unify projects

## Installation 
Install [eslint](https://eslint.org/) and dependencies `@super-brothers/eslint-plugin`:

```sh
npm i eslint --save-dev
npm install @super-brothers/eslint-plugin --save-dev
# in case Vuejs 3 is used as UI framework
npm install @vue/eslint-config-typescript --save-dev
```

## Usage

Add `@super-brothers/eslint-plugin` to the plugins section of your `.eslintrc` configuration file.
There're several configs for different use
```js
module.exports = {
    extends: [
      'plugin:@super-brothers/eslint-plugin/base', // using mostly for js files
      'plugin:@super-brothers/eslint-plugin/ts-recommended', // using for ts files
      'plugin:@super-brothers/eslint-plugin/jest-recommended', // using for ts test files (*.spec.ts, *.test.ts)
      'plugin:@super-brothers/eslint-plugin/vue3-ui-recommended', // using for ui & component vue3 files
      'plugin:@super-brothers/eslint-plugin/vue3-ts-recommended' // using for vue3 files with ts
    ]
}
```

## Overriding rules
```js
const { commonRules } = require('@super-brothers/eslint-plugin')

module.exports = {
  overrides: [
    // overrding tests config & adding additional rules
    {
      extends: ['plugin:@super-brothers/eslint-plugin/jest-recommended'],
      files: ['tests/**/*.ts'],
      rules: {
        '@typescript-eslint/no-misused-promises': 'off'
      },
      parserOptions: {
        project: ['./tsconfig-tests.json']
      }
    },
    // overrding vue files with ts config & adding additional rules
    {
      extends: ['plugin:@super-brothers/eslint-plugin/vue3-ts-recommended'],
      files: ['ui/**/*.ts'],
      rules: {
        '@typescript-eslint/no-unsafe-argument': 'off'
      },
      parserOptions: {
        project: ['./tsconfig.json']
      }
    },
    // overrding js files with common ruleset
    {
      extends: ['plugin:@super-brothers/eslint-plugin/ts-recommended'],
      files: ['panelOS/**/*.*'],
      rules: {
        ...commonRules.js,
      }
    }
  ]
  
}
```

## Rules adding 

Then configure the custom plugin rules you want to use under the rules section.

```js
module.exports = {
    rules: {
        '@super-brothers/eslint-plugin/no-underscore': 'error'
    }
}
```

---
_Source: https://npm.io/package/eslint-plugin-super-brothers · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
