Detalhes do pacote

@marcalexiei/eslint-config

marcalexiei459MIT4.2.0

A custom ESLint config

eslint, config

readme (leia-me)

@marcalexiei/eslint-config

CI Code style: prettier Lint: eslint npm version issues

Provide ESLint sharable configurations. The following presets are available:

  • base"@marcalexiei/eslint-config/base"
  • typescript"@marcalexiei/eslint-config/typescript"
  • react"@marcalexiei/eslint-config/react"
  • react-hooks"@marcalexiei/eslint-config/react-hooks"
  • vitest"@marcalexiei/eslint-config/vitest"

Install

Typescript

[!WARNING] Be sure to enable the following tsconfig options:

  • strict - replace typedef rule and allows type-checking rule to work as expected
  • noImplicitAny - replace typedef rule
  • noImplicitReturns - replace typedef and consistent-return rules
  • allowUnreachableCode - replace no-unreachable rule
// tsconfig.json
{
  // ...
  "compilerOptions": {
    // ...
    "strict": true,
    "noImplicitAny": true,
    "noImplicitReturns": true,
    "allowUnreachableCode": false,
  },
}

If you don't do this some rules might not work as expected


[!TIP] Consider to enable also the following options:

// tsconfig.json
{
  // ...
  "compilerOptions": {
    // ...
    "noImplicitThis": true,
    "noImplicitOverride": true,
  },
}

Install instructions:

npm i --save-dev eslint @marcalexiei/eslint-config typescript typescript-eslint eslint-plugin-import-x eslint-import-resolver-typescript

Configuration:

// eslint.config.js
import { defineConfig } from 'eslint/config';
import base from '@marcalexiei/eslint-config/base';
import typescript from '@marcalexiei/eslint-config/typescript';

export default defineConfig(base, typescript, {
  languageOptions: {
    parserOptions: {
      project: './tsconfig.json',
    },
  },
});

Typescript + React

[!CAUTION] Only tsx files are supported by react configs.


[!WARNING] Refer to "Typescript" section for information about tsconfig.json

Install instructions:

npm i --save-dev eslint @marcalexiei/eslint-config typescript typescript-eslint eslint-plugin-import-x eslint-import-resolver-typescript eslint-plugin-react-x eslint-plugin-react-hooks eslint-plugin-react-hooks-extra

Configuration:

// eslint.config.js
import { defineConfig } from 'eslint/config';
import base from '@marcalexiei/eslint-config/base';
import typescript from '@marcalexiei/eslint-config/typescript';
import react from '@marcalexiei/eslint-config/react';
import reactHooks from '@marcalexiei/eslint-config/react-hooks';

export default defineConfig(base, typescript, react, reactHooks, {
  languageOptions: {
    parserOptions: {
      project: './tsconfig.json',
    },
  },
});