# @floydspace/eslint-config

> Shared ESLint configs to rule them all

Latest version **1.37.0** (published 2024-09-23) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @floydspace/eslint-config
pnpm add @floydspace/eslint-config
yarn add @floydspace/eslint-config
bun add @floydspace/eslint-config
```

## Health

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

Positive: no vulnerabilities.

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

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.37.0 |
| Published | 2024-09-23 |
| First published | 2022-07-24 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 19 |
| Unpacked size | 9.6 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Tinkoff Team |
| Maintainers | f1oyd |
| Keywords | eslint, eslintconfig, eslint-config |

## Links

- npm: https://www.npmjs.com/package/@floydspace/eslint-config
- Repository: https://github.com/floydspace/linters
- Homepage: https://github.com/floydspace/linters#readme
- Issues: https://github.com/floydspace/linters/issues
- npm.io page: https://npm.io/package/@floydspace/eslint-config

## Dependencies (19)

- [eslint](https://npm.io/package/eslint.md) ^8.56.0
- [prettier](https://npm.io/package/prettier.md) ^2.7.1
- [@babel/core](https://npm.io/package/@babel/core.md) ^7.24.7
- [eslint-plugin-jest](https://npm.io/package/eslint-plugin-jest.md) ^28.8.3
- [@babel/eslint-parser](https://npm.io/package/@babel/eslint-parser.md) ^7.24.7
- [@babel/eslint-plugin](https://npm.io/package/@babel/eslint-plugin.md) ^7.24.7
- [eslint-plugin-import](https://npm.io/package/eslint-plugin-import.md) ^2.30.0
- [eslint-plugin-promise](https://npm.io/package/eslint-plugin-promise.md) ^6.0.0
- [eslint-config-prettier](https://npm.io/package/eslint-config-prettier.md) ^7.2.0
- [eslint-plugin-prettier](https://npm.io/package/eslint-plugin-prettier.md) ^4.2.1
- [@floydspace/eslint-plugin](https://npm.io/package/@floydspace/eslint-plugin.md) ^1.37.0
- [@typescript-eslint/parser](https://npm.io/package/@typescript-eslint/parser.md) ^7.18.0
- [eslint-config-airbnb-base](https://npm.io/package/eslint-config-airbnb-base.md) ^15.0.0
- [eslint-plugin-eslint-comments](https://npm.io/package/eslint-plugin-eslint-comments.md) ^3.2.0
- [eslint-import-resolver-webpack](https://npm.io/package/eslint-import-resolver-webpack.md) ^0.13.2
- [@typescript-eslint/eslint-plugin](https://npm.io/package/@typescript-eslint/eslint-plugin.md) ^7.18.0
- [eslint-plugin-sort-class-members](https://npm.io/package/eslint-plugin-sort-class-members.md) ^1.14.1
- [eslint-import-resolver-typescript](https://npm.io/package/eslint-import-resolver-typescript.md) ^3.6.3
- [eslint-plugin-you-dont-need-momentjs](https://npm.io/package/eslint-plugin-you-dont-need-momentjs.md) ^1.6.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.37.0 (latest) — 2024-09-23
- 1.36.5 — 2022-07-28
- 1.36.4 — 2022-07-24
- 1.36.3 — 2022-07-24
- 1.36.2 — 2022-07-24

## README

# @floydspace/eslint-config

ESlint plugin includes shared opinionated rules for JS and TS codebase. Better to use with framework-oriented packages `@floydspace/eslint-config-react` or `@floydspace/eslint-config-angular`

## Usage

Install from npm

```bash
npm i --save-dev @floydspace/eslint-config
```

Then, need to include necessary configurations sets to `.eslintrc`. Wee need to choose base configuration, and any
necessary additional configs. Package include `eslint@7` and `prettier@2` dependencies, so you should remove `eslint`,
`prettier`, and `@floydspace/eslint-config` internal dependencies from your project `package.json`.

### Base configurations

#### For application

```bash
{
  "extends": ["@floydspace/eslint-config/app"]
}
```

#### For library

```bash
{
  "extends": ["@floydspace/eslint-config/lib"]
}
```

#### For Lambda functions

```bash
{
  "extends": ["@floydspace/eslint-config/lambda"]
}
```

### Additional configurations

#### If we use Jest

```bash
{
  "extends": ["@floydspace/eslint-config/lambda", "@floydspace/eslint-config/jest"]
}
```

## Configurations overview

Main configurations sets contains common rules

- `@floydspace/eslint-config/app` - common rules and specific rules for applications
- `@floydspace/eslint-config/lib` - common rules and specific rules for libraries
- `@floydspace/eslint-config/lambda` - common rules and specific rules for lambda functions

Additional configurations sets. This configs **not** contain common eslint rules, and must be included with main
configurations

- `@floydspace/eslint-config/jest` - rules for lint Jest test suits

## Internal used plugins

`@floydspace/eslint-config/app` and `@floydspace/eslint-config/lib` include:

- `eslint-config-airbnb` - common and popular configuration
- `eslint-plugin-eslint-comments` - validate `eslint` comments
- `eslint-plugin-import` - validate proper imports
- `eslint-plugin-promise` - enforce best practices for promises
- `eslint-plugin-jest` - validate jest tests
- `@typescript-eslint/eslint-plugin` - lint TypeScript files, adopt many eslint rules to TS code, and provide specific
  TS rules
- `eslint-plugin-prettier` - disable code formatting using eslint tools and transfers all the logic to a prettier, and
  report differences as eslint issues

## Troubleshooting

### Wrong or duplicated eslint or some eslint plugins versions

Try to remove `eslint`, `prettier`, and `@floydspace/eslint-config` internal dependencies from your project `package.json`,
then reinstall dependencies.

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