@marcalexiei/eslint-config
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
tsconfigoptions:
strict- replacetypedefrule and allows type-checking rule to work as expectednoImplicitAny- replacetypedefrulenoImplicitReturns- replacetypedefandconsistent-returnrulesallowUnreachableCode- replaceno-unreachablerule// 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
reactconfigs.
[!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',
},
},
});