# @zazen/eslint-config

> Lint JavaScript, free of weariness and confusion

Latest version **7.6.0** (published 2026-09-14) · ISC license · 0 weekly downloads

## Install

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

## Health

**Score 75/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; has provenance; recently updated; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 7.6.0 |
| Published | 2026-09-14 |
| First published | 2018-02-15 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | ESM |
| Node | ^20.10.0 |
| Dependencies | 16 |
| Unpacked size | 38.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 1 |
| Author | Jeff (https://tidaltheory.io) |
| Maintainers | stormwarning |
| Keywords | eslint-config, xo |

## Links

- npm: https://www.npmjs.com/package/@zazen/eslint-config
- Repository: https://github.com/stormwarning/zazen
- Homepage: https://github.com/stormwarning/zazen-eslint-config
- npm.io page: https://npm.io/package/@zazen/eslint-config

## Dependencies (16)

- [globals](https://npm.io/package/globals.md) 17.12.0
- [eslint-plugin-n](https://npm.io/package/eslint-plugin-n.md) 18.3.0
- [@eslint/eslintrc](https://npm.io/package/@eslint/eslintrc.md) 3.3.7
- [eslint-config-xo](https://npm.io/package/eslint-config-xo.md) 0.49.0
- [eslint-plugin-etc](https://npm.io/package/eslint-plugin-etc.md) 2.0.3
- [typescript-eslint](https://npm.io/package/typescript-eslint.md) 8.70.0
- [eslint-plugin-promise](https://npm.io/package/eslint-plugin-promise.md) 7.3.0
- [eslint-plugin-unicorn](https://npm.io/package/eslint-plugin-unicorn.md) 63.0.0
- [eslint-config-prettier](https://npm.io/package/eslint-config-prettier.md) 10.1.8
- [eslint-plugin-import-x](https://npm.io/package/eslint-plugin-import-x.md) 4.17.1
- [@stylistic/eslint-plugin](https://npm.io/package/@stylistic/eslint-plugin.md) 5.10.0
- [eslint-plugin-prefer-let](https://npm.io/package/eslint-plugin-prefer-let.md) 4.2.2
- [eslint-config-xo-typescript](https://npm.io/package/eslint-config-xo-typescript.md) 9.0.0
- [eslint-plugin-perfectionist](https://npm.io/package/eslint-plugin-perfectionist.md) 5.11.0
- [eslint-plugin-import-sorting](https://npm.io/package/eslint-plugin-import-sorting.md) 2.2.0
- [eslint-plugin-decorator-position](https://npm.io/package/eslint-plugin-decorator-position.md) 6.1.1

## 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

- 7.6.0 (latest) — 2026-09-14
- 7.5.0 — 2026-02-19
- 7.4.1 — 2026-01-24
- 7.4.0 — 2025-11-07
- 7.3.0 — 2025-09-16
- 7.2.0 — 2025-06-22
- 7.1.0 — 2025-06-21
- 7.0.1 — 2025-06-21
- 7.0.0 — 2025-06-19
- 6.10.0 — 2025-01-30
- 6.9.1 — 2024-12-19
- 6.9.0 — 2024-12-14
- 6.8.0 — 2024-02-08
- 6.7.0 — 2024-01-25
- 6.6.2 — 2024-01-23
- … 26 more at https://npm.io/package/@zazen/eslint-config/versions

## README

# zazen-eslint-config

[![npm version][npm-img]][npm-url]
[![npm downloads][npm-dls]][npm-url]

[ESLint] configuration for [zazen]-generated projects.

## Usage

Install the config by running:

```sh
npm install --save-dev eslint @zazen/eslint-config
```

Add the config to your `eslint.config.js`:

```js
import configZazen from '@zazen/eslint-config'
import configZazenStylistic from '@zazen/eslint-config/stylistic'
import { defineConfig } from 'eslint/config'

export default defineConfig([
	{
		extends: [configZazen, configZazenStylistic],
		rules: { /* … */ },
	}
])
```

The Stylistic config disables rules handled by Prettier. This config should come
*last*, either in the `extends` array of a general config object, or at the end
of the array of config objects.

### Node projects

Extend the base config as well as the Node-specific rules:

```js
import configZazen from '@zazen/eslint-config'
import configZazenNode from '@zazen/eslint-config/node'
import configZazenStylistic from '@zazen/eslint-config/stylistic'
import { defineConfig } from 'eslint/config'

export default defineConfig([
	{
		extends: [configZazen, configZazenNode, configZazenStylistic],
		rules: { /* … */ },
	}
])
```

### TypeScript projects

Extend the base config as well as the TypeScript-specific rules:

```js
import configZazen from '@zazen/eslint-config'
import configZazenStylistic from '@zazen/eslint-config/stylistic'
import configZazenTypeScript from '@zazen/eslint-config/typescript'
import { defineConfig } from 'eslint/config'

export default defineConfig([
	{
		extends: [configZazen, configZazenTypeScript, configZazenStylistic],
		rules: { /* … */ },
	}
])
```

The base config includes rules for both JavaScript and TypeScript and uses the
TypeScript parser. The `typescript` config adds extra rules that require type
checking, so a `tsconfig.json` file must be present.

### Vue.js projects

Removed for now until/unless I get more opinionated about Vue code. For now,
install `eslint-plugin-vue` per-project, and extend the recommended config in
addition to the base config here.

```js
{
    extends: [
        'plugin:vue/[vue3-]recommended',
        '@zazen',
        'prettier',
    ],
    rules: { /* … */ },
}
```

The TypeScript rules can be included as well, but remember to [set the `parser`
option correctly].

[npm-url]: https://www.npmjs.com/package/@zazen/eslint-config
[npm-img]: https://img.shields.io/npm/v/@zazen/eslint-config.svg?style=flat-square
[npm-dls]: https://img.shields.io/npm/dt/@zazen/eslint-config.svg?style=flat-square
[eslint]: https://eslint.org
[zazen]: https://github.com/stormwarning/zazen
[set the `parser` option correctly]: https://eslint.vuejs.org/user-guide/#what-is-the-use-the-latest-vue-eslint-parser-error

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