Package detail

@pplancq/eslint-config

pplancq1.7kMIT4.2.3

pplancq eslint config

eslint, config

readme

@pplancq/eslint-config

This package provides a simplified and customizable ESLint configuration for your React/Node.js applications. Whether you are a beginner or an experienced developer, this package helps you configure ESLint with strict rules to ensure better code structure. Based on Airbnb’s ESLint configuration, it includes additional rules for TypeScript files and test files.

Getting Started

Prerequisites

  • Node.js 18.18.0 or higher

Installation

npm install --save-dev eslint@9 @pplancq/eslint-config

Usage

Automatic Configuration

To enable the default configuration automatically, use the following command:

npx init-eslint-config

Manual Configuration

Alternatively, you can create an eslint.config.mjs file in the root of your project:

// eslint.config.mjs
import { defineConfig } from '@pplancq/eslint-config';

export default defineConfig({
  enableReact: true,
  enableVitest: true,
});

Options

The following options can be passed to the defineConfig function. All options are optional. By default, this configuration includes rules for base, import, and TypeScript files.

Option Default Description
tsFiles ['*/.ts?(x)'] Patterns for TypeScript files
unitTestFiles ['*/.{test,spec,steps}.{js,jsx,ts,tsx}'] Patterns for unit test files
unitE2eFiles ['tests/*/.{test,spec}.{js,jsx,ts,tsx}'] Patterns for end-to-end (E2E) test files (ex: Playwright)
enableReact false Enables rules for React and Testing Library files
enableVitest false Enables rules for Vitest files
enableJest false Enables rules for Jest files
enablePlaywright false Enables rules for Playwright E2E test files
enablePrettier 'off' 'off' disables Prettier rules
'on' enables Prettier rules
'disableStyleOnly' enables Prettier rules but disables the 'prettier/prettier' rule, not using Prettier CLI for formatting your code
extendConfig [] Extends the ESLint configuration

Prettier Configuration

If you set enablePrettier: 'on', you will need to install the following packages:

npm install --save-dev prettier eslint-plugin-prettier

Migration

If you are upgrading from version 3 to version 4 of @pplancq/eslint-config, please refer to the Migration Guide for detailed instructions.

changelog

@pplancq/eslint-config 4.2.3 (2025-07-07)

Bug Fixes

  • deps: update dependency @vitest/eslint-plugin to ^1.3.4 (9f16821)
  • deps: update dependency globals to ^16.3.0 (db81e94)
  • deps: update typescript-eslint mono repo to ^8.35.1 (dc66a3d)

@pplancq/eslint-config 4.2.2 (2025-06-30)

Bug Fixes

  • deps: update dependency @vitest/eslint-plugin to ^1.3.3 (8b57d87)
  • deps: update dependency eslint-import-resolver-typescript to ^4.4.4 (c0d7c62)
  • deps: update dependency eslint-plugin-import to ^2.32.0 (fd7e610)
  • deps: update typescript-eslint mono repo to ^8.35.0 (e13ecb8)

@pplancq/eslint-config 4.2.1 (2025-06-23)

Bug Fixes

  • deps: update dependency @vitest/eslint-plugin to ^1.2.7 (327299e)
  • deps: update dependency eslint-plugin-jest to ^28.14.0 (4cfeb00)
  • deps: update dependency eslint-plugin-testing-library to ^7.5.3 (b07bf55)
  • deps: update typescript-eslint mono repo to ^8.34.1 (a5ca6e3)

@pplancq/eslint-config 4.2.0 (2025-06-16)

Features

  • eslint-config: deprecate enableJest option and add warning message (c07d2b9)

Bug Fixes

  • deps: update dependency @vitest/eslint-plugin to ^1.2.4 (ea7ad02)
  • deps: update dependency eslint-plugin-jest to ^28.13.5 (2b5dee8)
  • deps: update dependency eslint-plugin-testing-library to ^7.5.2 (b316fda)
  • deps: update typescript-eslint mono repo to ^8.34.0 (e95b957)

@pplancq/eslint-config 4.1.0 (2025-06-09)

Features

  • eslint-config: integrate ESLint rules for Playwright testing (784121c)

Bug Fixes

  • deps: update dependency eslint-import-resolver-typescript to ^4.4.3 (1dfbb12)
  • deps: update dependency eslint-plugin-testing-library to ^7.4.0 (d81f9bf)
  • deps: update typescript-eslint mono repo to ^8.33.1 (8d7df0e)

@pplancq/eslint-config 4.0.25 (2025-06-02)

Bug Fixes

  • deps: update dependency eslint-import-resolver-typescript to ^4.4.1 (49cd2e4)
  • deps: update dependency eslint-plugin-jest to ^28.12.0 (a77708f)
  • deps: update dependency eslint-plugin-testing-library to ^7.3.0 (7bc4778)
  • deps: update dependency globals to ^16.2.0 (f70262c)
  • deps: update typescript-eslint mono repo to ^8.33.0 (2db7f90)

@pplancq/eslint-config 4.0.24 (2025-05-26)

Bug Fixes

  • deps: update dependency @vitest/eslint-plugin to ^1.2.1 (4397d99)
  • deps: update dependency eslint-import-resolver-typescript to ^4.3.5 (8d0001a)
  • deps: update dependency eslint-plugin-testing-library to ^7.2.1 (77831d0)

@pplancq/eslint-config 4.0.23 (2025-05-19)

Bug Fixes

  • deps: update dependency eslint-plugin-testing-library to ^7.2.0 (cd90c5a)
  • deps: update typescript-eslint mono repo to ^8.32.1 (5828875)

@pplancq/eslint-config 4.0.22 (2025-05-13)

Bug Fixes

  • deps: update dependency globals to ^16.1.0 (511fed0)
  • deps: update typescript-eslint mono repo to ^8.32.0 (38efb32)

@pplancq/eslint-config 4.0.21 (2025-05-05)

Bug Fixes

  • deps: update dependency @vitest/eslint-plugin to ^1.1.44 (ebb8978)
  • deps: update dependency eslint-import-resolver-typescript to ^4.3.4 (4413474)
  • deps: update typescript-eslint mono repo to ^8.31.0 (5acc95a)
  • deps: update typescript-eslint mono repo to ^8.31.1 (8820cae)

@pplancq/eslint-config 4.0.20 (2025-04-23)

Bug Fixes

  • deps: update dependency @vitest/eslint-plugin to ^1.1.43 (17d5098)
  • deps: update typescript-eslint mono repo to ^8.30.1 (ea5e8e8)

@pplancq/eslint-config 4.0.19 (2025-04-14)

Bug Fixes

  • deps: update dependency @vitest/eslint-plugin to ^1.1.42 (c7f832c)
  • deps: update dependency eslint-import-resolver-typescript to ^4.3.2 (b451e5c)
  • deps: update typescript-eslint mono repo to ^8.29.1 (8c6e61a)

@pplancq/eslint-config 4.0.18 (2025-04-07)

Bug Fixes

  • deps: update dependency @vitest/eslint-plugin to ^1.1.39 (df91ab0)
  • deps: update dependency eslint-import-resolver-typescript to ^4.3.1 (ed64d39)
  • deps: update dependency eslint-plugin-react to ^7.37.5 (91d9b0f)

@pplancq/eslint-config 4.0.17 (2025-03-31)

Bug Fixes

  • deps: update dependency eslint-import-resolver-typescript to ^4.2.5 (cba9d10)
  • deps: update typescript-eslint mono repo to ^8.28.0 (dab5681)

@pplancq/eslint-config 4.0.16 (2025-03-24)

Bug Fixes

  • deps: update dependency @vitest/eslint-plugin to ^1.1.38 (071505d)
  • deps: update dependency eslint-import-resolver-typescript to ^3.9.1 (7aa62b5)
  • deps: update dependency eslint-import-resolver-typescript to v4 (3c13669)
  • deps: update typescript-eslint mono repo to ^8.27.0 (e06c953)

@pplancq/eslint-config 4.0.15 (2025-03-17)

Bug Fixes

  • deps: update dependency @vitest/eslint-plugin to ^1.1.37 (a695a66)
  • deps: update dependency eslint-import-resolver-typescript to ^3.8.7 (8132ae8)
  • deps: update typescript-eslint mono repo to ^8.26.1 (deb5050)

@pplancq/eslint-config 4.0.14 (2025-03-10)

Bug Fixes

  • deps: update typescript-eslint mono repo to ^8.26.0 (d7e0a01)

@pplancq/eslint-config 4.0.13 (2025-03-03)

Bug Fixes

  • deps: update dependency @vitest/eslint-plugin to ^1.1.36 (e7c9a2f)
  • deps: update dependency eslint-plugin-react-hooks to ^5.2.0 (bb54295)
  • deps: update typescript-eslint mono repo to ^8.25.0 (eb8158f)

@pplancq/eslint-config 4.0.12 (2025-02-24)

Bug Fixes

  • deps: update dependency eslint-import-resolver-typescript to ^3.8.3 (c52bd0d)
  • deps: update dependency globals to v16 (d8cb1d1)
  • deps: update typescript-eslint mono repo to ^8.24.1 (e45fb1d)

@pplancq/eslint-config 4.0.11 (2025-02-17)

Bug Fixes

  • deps: update dependency @vitest/eslint-plugin to ^1.1.31 (a0e2277)
  • deps: update dependency eslint-import-resolver-typescript to ^3.8.0 (be29404)
  • deps: update dependency globals to ^15.15.0 (3047039)
  • deps: update typescript-eslint mono repo to ^8.24.0 (58e6e06)

@pplancq/eslint-config 4.0.10 (2025-02-10)

Bug Fixes

  • deps: update typescript-eslint mono repo to ^8.23.0 (3ca5ee4)

@pplancq/eslint-config 4.0.9 (2025-01-27)

Bug Fixes

  • deps: update typescript-eslint mono repo to ^8.21.0 (2f9a22f)

@pplancq/eslint-config 4.0.8 (2025-01-20)

Bug Fixes

  • deps: update dependency @vitest/eslint-plugin to ^1.1.25 (3f0fcae)
  • deps: update dependency eslint-plugin-jest to ^28.11.0 (e5ac414)
  • deps: update dependency eslint-plugin-jest-extended to v3 (4e8fef3)
  • deps: update dependency eslint-plugin-react to ^7.37.4 (fb96451)
  • deps: update typescript-eslint mono repo to ^8.20.0 (2b9df09)

@pplancq/eslint-config 4.0.7 (2025-01-13)

Bug Fixes

  • deps: update typescript-eslint mono repo to ^8.19.1 (023a235)

@pplancq/eslint-config 4.0.6 (2025-01-06)

Bug Fixes

  • deps: update dependency @vitest/eslint-plugin to ^1.1.20 (aaacdf8)
  • deps: update dependency @vitest/eslint-plugin to ^1.1.23 (4c6d955)
  • deps: update dependency @vitest/eslint-plugin to ^1.1.24 (a836be3)
  • deps: update dependency eslint-plugin-jest to ^28.10.0 (34dcf0b)
  • deps: update dependency eslint-plugin-react to ^7.37.3 (b76fb8f)
  • deps: update dependency globals to ^15.14.0 (aee0c57)
  • deps: update typescript-eslint mono repo to ^8.18.1 (4e25e22)
  • deps: update typescript-eslint mono repo to ^8.18.2 (f9065f4)
  • deps: update typescript-eslint mono repo to ^8.19.0 (1d79b71)

@pplancq/eslint-config 4.0.5 (2024-12-16)

Bug Fixes

  • deps: update dependency @vitest/eslint-plugin to ^1.1.16 (2b6f3c7)
  • deps: update typescript-eslint mono repo to ^8.18.0 (8a04417)

@pplancq/eslint-config 4.0.4 (2024-12-09)

Bug Fixes

  • deps: update dependency @vitest/eslint-plugin to ^1.1.12 (9859057)
  • deps: update dependency @vitest/eslint-plugin to ^1.1.14 (fcd5aa9)
  • deps: update dependency eslint-import-resolver-typescript to ^3.7.0 (7deccdf)
  • deps: update dependency eslint-plugin-testing-library to ^7.1.1 (fec3bb9)
  • deps: update dependency eslint-plugin-testing-library to v7 (0127407)
  • deps: update dependency globals to v15 (93aa611)
  • deps: update typescript-eslint mono repo to ^8.16.0 (a8879e6)
  • deps: update typescript-eslint mono repo to ^8.17.0 (561b97a)

@pplancq/eslint-config 4.0.3 (2024-11-26)

Bug Fixes

  • deps: update dependency eslint-plugin-jest-dom to ^5.5.0 (37d04f3)
  • deps: update dependency eslint-plugin-testing-library to ^6.5.0 (5f17bcb)
  • deps: update typescript-eslint mono repo to ^8.15.0 (baf3c08)

@pplancq/eslint-config 4.0.2 (2024-11-18)

Bug Fixes

  • deps: update dependency @vitest/eslint-plugin to ^1.1.10 (a8996fe)
  • deps: update typescript-eslint mono repo to ^8.14.0 (31c4f8d)

@pplancq/eslint-config 4.0.1 (2024-11-11)

Bug Fixes

  • deps: update dependency eslint-plugin-jest to ^28.9.0 (db2bb8d)

@pplancq/eslint-config 4.0.0 (2024-11-08)

⚠ BREAKING CHANGES

  • eslint-config: this version support only eslint v9 with new flat configuration.\ Please refer to the Migration Guide for detailed instructions: Migration Guide

Features

  • eslint-config: make factory for define eslint flat config (4f5e261)
  • eslint-config: migrate rule to flat config (40fc36e)
  • eslint-config: update eslint v8 to v9 (5cf5721)
  • eslint-config: update script to set default config (16215da)

Bug Fixes

  • deps: update dependency eslint-plugin-jsx-a11y to ^6.10.1 (69f02a2)
  • deps: update dependency eslint-plugin-jsx-a11y to ^6.10.2 (cd2bf08)
  • deps: update dependency eslint-plugin-react to ^7.37.2 (c57c4a6)
  • deps: update dependency eslint-plugin-testing-library to ^6.4.0 (94274e0)

@pplancq/eslint-config 3.0.1 (2024-10-15)

Bug Fixes

  • deps: update dependency @vitest/eslint-plugin to ^1.1.6 (e17e044)
  • deps: update dependency @vitest/eslint-plugin to ^1.1.7 (c9eba23)
  • deps: update dependency eslint-plugin-import to ^2.31.0 (74e1c9f)
  • deps: update dependency eslint-plugin-react to ^7.37.1 (98e26d5)
  • deps: update typescript-eslint packages to ^8.8.0 (fc92bb3)
  • deps: update typescript-eslint packages to ^8.8.1 (23d9c82)

@pplancq/eslint-config 3.0.0 (2024-09-16)

⚠ BREAKING CHANGES

  • eslint-config: Node.js engine requirement to >=18.18.0 or >=20.9.0 or >=21.1.0

Features

  • eslint-config: bump @typescript-eslint/eslint-plugin and @typescript-eslint/parser 7.17.0 to 8.3.0 (61beba7)
  • eslint-config: bump eslint-plugin-vitest 0.5.4 to @vitest/eslint-plugin 1.1.4 (9a1af23)
  • eslint-config: update Node.js engine requirement to >=18.18.0 or >=20.9.0 or >=21.1.0 (4239b0d)

@pplancq/eslint-config 2.3.0 (2024-08-27)

Features

  • eslint-config: replace @typescript-eslint/eslint-plugin recommended config with specific rules (fc781a5)
  • eslint-config: replace eslint-config-airbnb config with specific rules (113d046)
  • eslint-config: replace eslint-plugin-import recommended config with specific rules (f425c62)
  • eslint-config: replace eslint-plugin-jest and eslint-plugin-jest-extended recommended config with specific rules (a1c0705)
  • eslint-config: replace eslint-plugin-jest-dom recommended config with specific rules (8ec4083)
  • eslint-config: replace eslint-plugin-jsx-a11y recommended config with specific rules (19f1994)
  • eslint-config: replace eslint-plugin-prettier recommended config with specific rules and remove eslint-config-prettier (46e36f3)
  • eslint-config: replace eslint-plugin-react recommended config with specific rules (ef29e01)
  • eslint-config: replace eslint-plugin-react-hooks recommended config with specific rules (237905e)
  • eslint-config: replace eslint-plugin-testing-library recommended config with specific rules (160e7bc)
  • eslint-config: replace eslint-plugin-vitest recommended config with specific rules (1c8cf9c)

@pplancq/eslint-config 2.2.0 (2024-05-06)

Features

  • dev-tools: add minimal nodejs versions for each package (0d8447a)

@pplancq/eslint-config 2.1.1 (2024-04-16)

@pplancq/eslint-config 2.1.0 (2024-03-23)

Features

  • eslint-config: steps suffix added for test-related overrides (937fe16)

@pplancq/eslint-config 2.0.1 (2024-03-20)

Reverts

  • dev-tool: add package-lock when execute npm postversion (1e83fe7)

@pplancq/eslint-config 2.0.0 (2024-03-12)

⚠ BREAKING CHANGES

  • eslint-config: The default configuration no longer supports the eslint-plugin-prettier plugin.\ You must now install prettier and eslint-plugin-prettier separately and use the alternative configuration.\ Use prettier configuration, add "eslintConfig": { "extends": ["@pplancq/eslint-config/prettier"] } to your package.json.
  • eslint-config: Bumps ESLint ^8.55.0 to ^8.57.0 the minimum requirements
  • eslint-config: Bumps Prettier ^3.1.1 to ^3.2.5 the minimum requirements

Features

  • eslint-config: bump ESLint and Prettier minimum version requirements (24f920f)
  • eslint-config: prettier made fully optional (dff82e3)

@pplancq/eslint-config 1.0.0 (2024-02-05)

Features

  • eslint-config: add base rule for react with jsx-a11y ans testing-library for test (c70823a)
  • eslint-config: add eslint base config for js (aca46cb)
  • eslint-config: add eslint base config for ts (22846cb)
  • eslint-config: add plugin prettier rule (2c2d3a0)
  • eslint-config: add rule for jest and vitest (714f323)
  • eslint-config: add script for init eslint config (56ccc72)