Skip to content

A shared ESLint configuration providing a consistent linting standard across projects. Includes best practices for TypeScript, React, and modern JavaScript, ensuring maintainable and readable code

License

Notifications You must be signed in to change notification settings

Misterion96/eslint-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eslint configs by Maks Dolgikh

Installing

npm i -D @dolgikh-maks/eslint-config

Example of usage

For all cases - coreConfig

import configs from '@dolgikh-maks/eslint-config';

export default configs.coreConfig()

For Typescript Projects - typescriptConfig

eslint.config.mjs

import configs from '@dolgikh-maks/eslint-config';

export default [
    ...configEslint.coreConfig(),
    ...configs.typescriptConfig(),
    {
        settings: {
            'import/resolver': {
                node: true,
                typescript: {
                    alwaysTryTypes: true,
                    project: 'tsconfig.eslint.json',
                },
            },
        },
        languageOptions: {
            ecmaVersion: 'latest',
            parserOptions: {
                projectService: true,
                parser: '@typescript-eslint/parser',
                tsconfigRootDir: import.meta.dirname,
                project: 'tsconfig.eslint.json',
                createDefaultProgram: true,
            },
        },
    },
]

tsconfig.eslint.json

{
  "extends": "./tsconfig.base.json",
  "include": [
    "**/*.ts"
  ]
}

For React projects - reactConfig

eslint.config.mjs

import configs from '@dolgikh-maks/eslint-config';

export default [
    ...configEslint.coreConfig(),
    ...configs.typescriptConfig(),
    ...configs.reactConfig(),
    {
        settings: {
            'import/resolver': {
                node: true,
                typescript: {
                    alwaysTryTypes: true,
                    project: 'tsconfig.eslint.json',
                },
            },
        },
        languageOptions: {
            ecmaVersion: 'latest',
            parserOptions: {
                projectService: true,
                parser: '@typescript-eslint/parser',
                tsconfigRootDir: import.meta.dirname,
                project: 'tsconfig.eslint.json',
                createDefaultProgram: true,
            },
        },
    },
]

tsconfig.eslint.json

{
  "extends": "./tsconfig.base.json",
  "include": [
    "**/*.ts",
    "**/*.tsx"
  ]
}

About

A shared ESLint configuration providing a consistent linting standard across projects. Includes best practices for TypeScript, React, and modern JavaScript, ensuring maintainable and readable code

Topics

Resources

License

Stars

Watchers

Forks