# @kapowaz/eslint-config

> Shared ESLint (flat) and Prettier config for @kapowaz React/TypeScript projects

Latest version **7.0.4** (published 2026-10-20) · UNLICENSED license · 0 weekly downloads

## Install

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

## Health

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

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

Warnings: low downloads; no types.

## Facts

| | |
|---|---|
| Version | 7.0.4 |
| Published | 2026-10-20 |
| First published | 2018-09-25 |
| Weekly downloads | 0 |
| License | UNLICENSED |
| TypeScript types | none |
| Module format | ESM |
| Dependencies | 7 |
| Unpacked size | 6.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | kapowaz |

## Links

- npm: https://www.npmjs.com/package/@kapowaz/eslint-config
- npm.io page: https://npm.io/package/@kapowaz/eslint-config

## Dependencies (7)

- [globals](https://npm.io/package/globals.md) 17.13.0
- [@eslint/js](https://npm.io/package/@eslint/js.md) 10.0.1
- [typescript-eslint](https://npm.io/package/typescript-eslint.md) 8.71.2
- [eslint-config-prettier](https://npm.io/package/eslint-config-prettier.md) 10.1.8
- [eslint-plugin-react-hooks](https://npm.io/package/eslint-plugin-react-hooks.md) 7.1.1
- [eslint-plugin-perfectionist](https://npm.io/package/eslint-plugin-perfectionist.md) 5.12.1
- [eslint-plugin-react-refresh](https://npm.io/package/eslint-plugin-react-refresh.md) 0.5.7

## Recent versions

- 7.0.4 (latest) — 2026-10-20
- 5.0.0-beta.11 (beta) — 2024-01-05
- 1.3.0-beta.0 (alpha) — 2022-04-18
- 7.0.3 — 2026-10-19
- 7.0.2 — 2026-07-24
- 7.0.1 — 2026-07-06
- 7.0.0 — 2026-06-28
- 6.0.1 — 2025-11-09
- 6.0.0 — 2025-11-09
- 5.0.0 — 2024-01-05
- 5.0.0-beta.10 — 2024-01-05
- 5.0.0-beta.9 — 2024-01-05
- 5.0.0-beta.8 — 2024-01-05
- 5.0.0-beta.7 — 2024-01-05
- 5.0.0-beta.6 — 2024-01-05
- … 23 more at https://npm.io/package/@kapowaz/eslint-config/versions

## README

# @kapowaz/eslint-config

Shared ESLint (flat config) and Prettier configuration for `@kapowaz`
React/TypeScript projects, inside and outside the monorepo.

The package bundles its own ESLint plugins as dependencies, so consumers only
install the package plus `eslint` and `prettier`:

```bash
pnpm add -D @kapowaz/eslint-config eslint prettier
```

## ESLint

Flat config only (ESLint ≥ 10). Two composable layers are exported:

- **`@kapowaz/eslint-config`** (default) — base: ESLint + typescript-eslint
  recommended rules, perfectionist import/export sorting, and
  `eslint-config-prettier` so Prettier owns all formatting.
- **`@kapowaz/eslint-config/react`** — React Hooks + React Refresh (Vite) rules
  and browser globals for `.ts`/`.tsx`, plus story/`vite.config.ts` overrides.

### A TypeScript library / non-React project

```js
// eslint.config.mjs
import base from '@kapowaz/eslint-config';

export default base;
```

### A React (Vite) app

```js
// eslint.config.mjs
import { defineConfig } from 'eslint/config';

import base from '@kapowaz/eslint-config';
import react from '@kapowaz/eslint-config/react';

export default defineConfig(base, react);
```

## Prettier

The canonical Prettier config ships from the same package. Reference it from
`package.json` rather than copying a `.prettierrc` around:

```jsonc
// package.json
{
  "prettier": "@kapowaz/eslint-config/prettier",
}
```

Run Prettier as its own tool — **not** through ESLint. There is no
`eslint-plugin-prettier` in this config by design: formatting belongs to
Prettier (`prettier --write` locally and in your editor, `prettier --check` in
CI), and `eslint-config-prettier` keeps ESLint from fighting it.

## Why no `eslint-plugin-prettier`?

Running Prettier as an ESLint rule reports every formatting nit as a lint error,
slows ESLint down, and couples the two tools. The modern convention — and
Prettier's own recommendation — is to run them separately and use
`eslint-config-prettier` (included here) to disable conflicting rules.

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