# @koshikishi/eslint-config

> ESLint shareable config

Latest version **5.1.2** (published 2026-09-21) · MIT license · 0 weekly downloads

## Install

```sh
npm install @koshikishi/eslint-config
pnpm add @koshikishi/eslint-config
yarn add @koshikishi/eslint-config
bun add @koshikishi/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 | 5.1.2 |
| Published | 2026-09-21 |
| First published | 2024-01-12 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM |
| Node | >=24 |
| Dependencies | 6 |
| Unpacked size | 13.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Anton Northern |
| Maintainers | koshikishi |
| Keywords | eslint, eslintconfig |

## Links

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

## Dependencies (6)

- [globals](https://npm.io/package/globals.md) ^17.12.0
- [@eslint/js](https://npm.io/package/@eslint/js.md) ^10.0.1
- [eslint-plugin-n](https://npm.io/package/eslint-plugin-n.md) ^18.3.0
- [eslint-plugin-unicorn](https://npm.io/package/eslint-plugin-unicorn.md) ^76.0.0
- [@stylistic/eslint-plugin](https://npm.io/package/@stylistic/eslint-plugin.md) ^5.10.0
- [eslint-plugin-check-file](https://npm.io/package/eslint-plugin-check-file.md) ^3.3.2

## 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
- [@inrupt/eslint-config-base](https://npm.io/package/@inrupt/eslint-config-base.md) — 4.5K weekly downloads

## Recent versions

- 5.1.2 (latest) — 2026-09-21
- 5.1.1 — 2026-09-21
- 5.1.0 — 2026-06-04
- 5.0.0 — 2026-06-04
- 4.0.0 — 2025-07-01
- 3.0.0 — 2024-05-21
- 2.0.0 — 2024-02-12
- 1.1.0 — 2024-01-18
- 1.0.1 — 2024-01-15
- 1.0.0 — 2024-01-12

## README

# @koshikishi/eslint-config

[![NPM Version][npm-image]][npm-url]
[![GitHub License][license-image]][license-url]
[![Check Workflow Status][workflow-image]][workflow-url]

The ESLint shareable config designed for my personal projects.

Use it as is or as a foundation for your own configuration file.

## Prerequisites

This package requires:

- Node.js >= 24
- ESLint >= 10

## Installation

Install the package and `eslint` in your project:

```sh
npm i -D eslint @koshikishi/eslint-config
```

### Plugins

This config bundles the following plugins and uses additional rules from them:

- [@stylistic/eslint-plugin](https://www.npmjs.com/package/@stylistic/eslint-plugin) to replace deprecated formatting rules
- [eslint-plugin-check-file](https://www.npmjs.com/package/eslint-plugin-check-file) to enforce a consistent naming pattern
- [eslint-plugin-n](https://www.npmjs.com/package/eslint-plugin-n) and [eslint-plugin-unicorn](https://www.npmjs.com/package/eslint-plugin-unicorn) for Node.js related rules

All plugins are direct dependencies and will be installed automatically.

## Usage

This config is designed to validate **Vanilla JS** and **Node.js** projects and only supports flat (`eslint.config.js`) configuration files.

For validating your **Vanilla JS** project use the default config:

```js
import {defineConfig} from 'eslint/config';
import config from '@koshikishi/eslint-config';

export default defineConfig([
  {
    extends: [config],
  },
]);
```

For validating your **Node.js** project use the `node` config:

```js
import {defineConfig} from 'eslint/config';
import config from '@koshikishi/eslint-config/node';

export default defineConfig([
  {
    extends: [config],
  },
]);
```

### Extending the config

Add a `rules` key to your config, then add your overrides and additions there.

For example, to add the `no-eq-null` rule and turn off the `no-console` rule:

```js
import {defineConfig} from 'eslint/config';
import config from '@koshikishi/eslint-config';

export default defineConfig([
  {
    extends: [config],
    rules: {
      'no-eq-null': 'error',
      'no-console': 'off',
    },
  },
]);
```

You can also override the additional rules from plugins:

```js
import {defineConfig} from 'eslint/config';
import config from '@koshikishi/eslint-config/node';

export default defineConfig([
  {
    extends: [config],
    rules: {
      '@stylistic/quotes': ['error', 'double'],
      'n/file-extension-in-import': 'off',
    },
  },
]);
```

## Integration with VS Code

1. Install the ESLint [extension](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) for VS Code.
2. Install `eslint` and this config in your project following the [Installation](#installation) section.
3. Add an ESLint configuration file (`eslint.config.js`) and extend it with this shareable config following the [Usage](#usage) section.

## Useful links

- [Changelog](CHANGELOG.md)
- [ESLint documentation](https://eslint.org/docs/latest/)
- [ESLint Stylistic](https://eslint.style/)

[npm-image]: https://img.shields.io/npm/v/@koshikishi/eslint-config
[npm-url]: https://www.npmjs.com/package/@koshikishi/eslint-config
[license-image]: https://img.shields.io/github/license/koshikishi/eslint-config
[license-url]: https://github.com/koshikishi/eslint-config/blob/main/LICENSE
[workflow-image]: https://github.com/koshikishi/eslint-config/actions/workflows/check.yml/badge.svg
[workflow-url]: https://github.com/koshikishi/eslint-config/actions

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