Skip to content

Latest commit

 

History

History

eslint

npm version PRs Welcome

Custom eslint configuration built on top of eslint-kit presets.
Adds eslint plugins like @nx , prefer-arrow and more. The config will be expanded in the future.

Eslint-kit is a library that provides ready-made eslint presets and it belongs to Evgeny Zakharov.

Installation

yarn add @grnx-utils/eslint eslint@^8.46.0 prettier@^3.0.0 typescript@^5.2.2 eslint-kit@10.0.0 -D

Usage

After installing, add the .eslintrc.js file in your project root:

module.exports = require('@grnx-utils/eslint')()

Configure API

grnx({
  /** project root
   * @type {string}
   * @example __dirname
   */
  root: __dirname,
  /** enables monorepo mode
   * @default false
   */
  monorepo: true,
  /** eslint ignore patterns
   * @default ['**//*'] (in monorepo mode)
   */
  ignore: ['**/*'],
  /** tsconfig path
   * @example tsconfig.base.json
   * @default tsconfig.json
   */
  tsconfig: 'tsconfig.json',
  /** extensions provided by eslint-kit
   * in the default configuration there
   * are only 5 presets
   * @default []
   */
  extensions: ['vue', 'solidJs'],
  /**
   * enables eslint-kit allowDebug
   * @default false
   */
  allowDebug: true,
  /** enables presets.imports() - unstable preset,
   * errors are possible.
   * @default true
   */
  enableImports: false,
  /** additional eslint rules
   * @default {}
   */
  ext: {
    'react-hooks/exhaustive-deps': 'warn'
  }
})

List of packages used by @grnx-utils/eslint

Will be expanded in the future.


Warning The package does not support the new eslint.config.js
file provided by the latest versions of eslint. Possible configuration errors

The package may not work with node 21 and higher.