# @wyattades/eslint-config

> ESLint configuration for TypeScript projects

Latest version **0.20.0** (published 2025-01-07) · MIT license · 0 weekly downloads

## Install

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

## Health

**Score 30/100 (F)** — status: maintenance-mode.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types; pre 1.0.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.20.0 |
| Published | 2025-01-07 |
| First published | 2022-04-04 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 18 |
| Unpacked size | 12.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Wyatt Ades |
| Maintainers | wyattades |
| Keywords | typescript, eslint, eslintconfig, jest, airbnb, react.js |

## Links

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

## Dependencies (18)

- [globals](https://npm.io/package/globals.md) ^15.14.0
- [@eslint/js](https://npm.io/package/@eslint/js.md) ^9.17.0
- [@eslint/compat](https://npm.io/package/@eslint/compat.md) ^1.2.4
- [@eslint/eslintrc](https://npm.io/package/@eslint/eslintrc.md) ^3.2.0
- [eslint-plugin-jest](https://npm.io/package/eslint-plugin-jest.md) ^28.10.0
- [eslint-plugin-react](https://npm.io/package/eslint-plugin-react.md) ^7.37.3
- [eslint-config-airbnb](https://npm.io/package/eslint-config-airbnb.md) ^19.0.4
- [eslint-plugin-import](https://npm.io/package/eslint-plugin-import.md) ^2.31.0
- [eslint-config-prettier](https://npm.io/package/eslint-config-prettier.md) ^9.1.0
- [eslint-plugin-jsx-a11y](https://npm.io/package/eslint-plugin-jsx-a11y.md) ^6.10.2
- [eslint-plugin-prettier](https://npm.io/package/eslint-plugin-prettier.md) ^5.2.1
- [@typescript-eslint/parser](https://npm.io/package/@typescript-eslint/parser.md) 8.19.1
- [eslint-plugin-react-hooks](https://npm.io/package/eslint-plugin-react-hooks.md) ^5.1.0
- [eslint-import-resolver-node](https://npm.io/package/eslint-import-resolver-node.md) ^0.3.9
- [eslint-plugin-jest-formatting](https://npm.io/package/eslint-plugin-jest-formatting.md) ^3.1.0
- [eslint-config-airbnb-typescript](https://npm.io/package/eslint-config-airbnb-typescript.md) ^18.0.0
- [@typescript-eslint/eslint-plugin](https://npm.io/package/@typescript-eslint/eslint-plugin.md) 8.19.1
- [eslint-import-resolver-typescript](https://npm.io/package/eslint-import-resolver-typescript.md) ^3.7.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
- [@inrupt/eslint-config-base](https://npm.io/package/@inrupt/eslint-config-base.md) — 4.5K weekly downloads

## Recent versions

- 0.20.0 (latest) — 2025-01-07
- 0.19.0 — 2024-10-22
- 0.18.0 — 2024-06-22
- 0.17.0 — 2024-06-22
- 0.16.0 — 2024-03-29
- 0.15.0 — 2023-11-20
- 0.14.0 — 2023-10-29
- 0.13.0 — 2023-06-02
- 0.12.0 — 2023-01-03
- 0.11.0 — 2022-06-20
- 0.10.0 — 2022-06-20
- 0.9.0 — 2022-05-30
- 0.8.0 — 2022-04-04

## README

# @wyattades/eslint-config

> ESLint configuration for TypeScript, Prettier, React, Jest

This the base [ESLint](https://eslint.org) configuration I use in personal projects.

✔ Maximum _reasonable™️_ Typescript strictness

✔ Relying on [Prettier](https://prettier.io) as much as possible

✔ Supports [React](https://reactjs.org)

✔ Strict accessibility requirements via [JSX a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y)

✔ Supports [Jest](https://jestjs.io)

✔ Supports nested project directories with global imports

### Usage

1. Install the package and its minimum required peer dependencies:

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

   Additional packages are _optional_:

   ```bash
   pnpm add typescript react react-dom jest
   ```

2. Extend this package in your [ESLint configuration](https://eslint.org/docs/user-guide/configuring):

    eslint.config.mjs
    ```js
    import baseConfig from "@wyattades/eslint-config";
  
    export default [
      ...baseConfig,
      // ... your custom config here
    ];
    ```

   ⚠️ If you use a TS configuration file(s) other than the default (`tsconfig.json` under the project's root), you need to specify its path:

    ```js
    export default [
      ...baseConfig,
      {
        languageOptions: {
          parserOptions: {
            project: ["tsconfig.custom.json", "maybe-another/tsconfig.json"]
          },
        },
      }
    ];
    ```

3. (Optional) Auto-organize imports via [prettier-plugin-organize-imports](https://github.com/simonhaenisch/prettier-plugin-organize-imports)

   ```sh
   pnpm add prettier-plugin-organize-imports
   ```

   .prettierrc

   ```json
   {
     "plugins": ["prettier-plugin-organize-imports"]
   }
   ```

   If you don't want to use this plugin, you can rely on our `eslint-plugin-import` ordering rules:

    ```js
    import baseConfig from "@wyattades/eslint-config";
    import importOrderConfig from "@wyattades/eslint-config/import-order";

    export default [
      ...baseConfig,
      ...importOrderConfig,
      // ... your custom config here
    ];
    ```

## Disclaimer

This package is intended for my own projects. I tend to update the rules whenever I learn new best practices, so new minor versions may introduce breaking changes.

---

**Author:** Wyatt Ades https://wyattades.com

**Credit:** Based on a [similar package](https://github.com/kael89/eslint-config-kael89-ts) by [Kostas Karvounis](https://github.com/kael89)

**License:** [MIT](./LICENSE)

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