# @lidofinance/eslint-config

> Automated, non-opinionated ESLint config foundation

Latest version **0.63.0** (published 2026-08-12) · MIT license · 0 weekly downloads

## Install

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

## Health

**Score 55/100 (C)** — status: active.

Positive: no vulnerabilities; recently updated; high maintenance score.

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

## Facts

| | |
|---|---|
| Version | 0.63.0 |
| Published | 2026-08-12 |
| First published | 2022-05-11 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 24.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | lidofinance-group, lidofinance-ui |

## Links

- npm: https://www.npmjs.com/package/@lidofinance/eslint-config
- Repository: https://github.com/lidofinance/warehouse.git
- Homepage: https://github.com/lidofinance/warehouse/tree/main/packages/config/eslint
- Issues: https://github.com/lidofinance/warehouse/issues
- npm.io page: https://npm.io/package/@lidofinance/eslint-config

## Dependencies (1)

- [typescript](https://npm.io/package/typescript.md) ^4.7

## Recent versions

- 0.63.0 (latest) — 2026-08-12
- 0.62.0 — 2026-08-05
- 0.61.0 — 2026-07-22
- 0.60.0 — 2026-07-15
- 0.59.0 — 2026-05-05
- 0.58.0 — 2026-03-31
- 0.57.0 — 2026-03-27
- 0.56.0 — 2025-10-22
- 0.55.0 — 2025-10-20
- 0.54.1 — 2025-08-20
- 0.54.0 — 2025-08-20
- 0.52.0 — 2025-07-10
- 0.51.0 — 2025-03-06
- 0.50.0 — 2025-03-05
- 0.49.0 — 2025-02-14
- … 44 more at https://npm.io/package/@lidofinance/eslint-config/versions

## README

# Lido ESint config
Automated, non-opinionated ESLint config foundation
> 
>❗ _Please note that this ESLint config is still 0.x and is subject to significant changes; it is mainly used by internal Lido teams._


### Installation
```bash
npm install --dev @lidofinance/eslint-config
# and plugins
npm install --dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin eslint-import-resolver-typescript eslint-plugin-eslint-comments eslint-plugin-import eslint-plugin-jest eslint-plugin-promise eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-sonarjs eslint-plugin-unicorn @next/eslint-plugin-next
```

If using TypeScript, alter `tsconfig.json` line `includes` to include everything, like that:
`"include": ["**/*","**/.*"]`

> ℹ️ Modern module resolution [ESLint patch](https://www.npmjs.com/package/@rushstack/eslint-patch) by Rush team is intentionally not used, as it conflicts with same patch in `@next/eslint-plugin`.

### Configuration
Style rules are intentionally not provided; bring your own code style, whatever it is - prettier, airbnb, xo or standard.

```json5
// .eslintrc.js.js
{
  "root": true,
  
  "extends": [
    // note: use every other config BEFORE @lidofinance config, 
    // EXCEPT prettier; prettier is bundled with multiple 
    // disable rules that should be turned off to avoid conflicts
    
    //"airbnb",
    "@lidofinance",
    //"prettier"
  ]
}
```

### What's inside

`@lidofinance/eslint-config` is feature-packed config that ships with some logic.

Following assumptions are done:
- ES version target is latest (2022); if you need other, change `env` in `.eslintrc`
- code is always server-ready
- code is client-ready if `react` package is present
- there is no magic resolution mechanism and usage of webpack loaders; only explicit file paths and `tsconfig.json` `paths` are considered
- latest version of TypeScript (4.6.x) and ESLint (^8.13) are used

For performance, developer experience and accuracy reasons some rules will turn on if following conditions will happen:

- `React` package is declared in `package.json`
  - `react`, `react-hooks` rules will be used
- `Next` package is declared in `package.json` 
  - `next` plugin rules will be used
  - react rule `react/react-in-jsx-scope` will turn off
- `Jest` package is declared in `package.json`
  - `jest` plugin rules will be used
  - some rules will be disabled (like "avoid code duplication" and "do not use any") for test-specific file patterns
- `Typescript` package is declared in `package.json`:
  - `typescript-eslint` rules will be enabled 
  - parser will be switched to typescript-eslint
  - if `tsconfig.json` is present, type-level lint rules will be enabled
  - if `compilerOptions.strict` is `true`, additional anti-any rules will be enabled

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