Socket
Socket
Sign inDemoInstall

eslint-config-gev

Package Overview
Dependencies
293
Maintainers
1
Versions
129
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    eslint-config-gev

Curated ESLint configs for TS, JS, Next, React, and React Native projects


Version published
Weekly downloads
96
increased by405.26%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

npm npm

eslint-config-gev

Curated ESLint configs that I've been improving over the years. All my projects use this.

Since v4, this should be used together with Biome. Internally it uses my other package, the eslint-config-biome. If you want to stay without Biome, use v3 together with Prettier (I recommend prettier-config-gev)

💿 Install:

Automatically

Run npx eslint-config-gev <flavor>, being flavor one of the following: ts, next, react, react-native, js. This list and further options can be seen by running npx eslint-config-gev --help.

This command adds the required package to your package.json and sets up the .eslintrc.cjs.

Manually

npm i -D eslint-config-gev
  • Add the following to the top of your .eslintrc.js:
// This is a workaround for https://github.com/eslint/eslint/issues/3458
require('@rushstack/eslint-patch/modern-module-resolution');

With it, you won't need to install eslint and all the plugins we use!

Do one of the following

Typescript

  • Add 'eslint-config-gev' (or 'eslint-config-gev/ts') to the extends: [...] field in your eslintrc.

    .eslintrc.js example
    // https://github.com/SrBrahma/eslint-config-gev
    // This is a workaround for https://github.com/eslint/eslint/issues/3458
    require('@rushstack/eslint-patch/modern-module-resolution');
    
    module.exports = {
      root: true,
      env: {
        es2021: true,
        node: true,
      },
      extends: ['eslint-config-gev/js'],
      overrides: [
        {
          files: ['*.ts'],
          extends: ['eslint-config-gev/ts'],
          parser: '@typescript-eslint/parser',
          parserOptions: {
            tsconfigRootDir: __dirname,
            project: ['./tsconfig.json'],
            ecmaVersion: 12,
            sourceType: 'module',
          },
        },
      ],
      ignorePatterns: ['/lib/**/*', '/dist/**/*'],
      rules: {},
    };
    

Javascript

  • Add 'eslint-config-gev/js' to the extends: [...] field in your eslintrc.

    .eslintrc.js example
    // https://github.com/SrBrahma/eslint-config-gev
    // This is a workaround for https://github.com/eslint/eslint/issues/3458
    require('@rushstack/eslint-patch/modern-module-resolution');
    module.exports = {
      root: true,
      env: {
        es2021: true,
        node: true,
      },
      extends: ['eslint-config-gev/js'],
      ignorePatterns: [],
      rules: {},
    };
    

React

Typescript
  • Add 'eslint-config-gev/react' to the extends: [...] field in your eslintrc.

    .eslintrc.js example
    // https://github.com/SrBrahma/eslint-config-gev
    // This is a workaround for https://github.com/eslint/eslint/issues/3458
    require('@rushstack/eslint-patch/modern-module-resolution');
    
    module.exports = {
      root: true,
      env: {
        es2021: true,
        node: true,
      },
      extends: ['eslint-config-gev/react-js'],
      overrides: [
        {
          files: ['*.ts', '*.tsx'],
          extends: ['eslint-config-gev/react'],
          parser: '@typescript-eslint/parser',
          parserOptions: {
            tsconfigRootDir: __dirname,
            project: ['./tsconfig.json'],
            ecmaVersion: 12,
            sourceType: 'module',
            ecmaFeatures: {
              jsx: true,
            },
          },
        },
      ],
      ignorePatterns: ['/lib/**/*', '/dist/**/*'],
      rules: {},
    };
    
Javascript
  • Add 'eslint-config-gev/react-js' to the extends: [...] field in your eslintrc.

    .eslintrc.js example
    // https://github.com/SrBrahma/eslint-config-gev
    // This is a workaround for https://github.com/eslint/eslint/issues/3458
    require('@rushstack/eslint-patch/modern-module-resolution');
    
    module.exports = {
      root: true,
      env: {
        es2021: true,
        node: true,
      },
      extends: ['eslint-config-gev/react-js'],
      ignorePatterns: ['/lib/**/*', '/dist/**/*'],
      rules: {},
    };
    

React Native

Typescript
  • Add 'eslint-config-gev/react-native' to the extends: [...] field in your eslintrc.

    .eslintrc.js example
    // https://github.com/SrBrahma/eslint-config-gev
    // This is a workaround for https://github.com/eslint/eslint/issues/3458
    require('@rushstack/eslint-patch/modern-module-resolution');
    
    module.exports = {
      root: true,
      env: {
        es2021: true,
        node: true,
        'react-native/react-native': true, // *1
      },
      extends: ['eslint-config-gev/react-native-js'],
      overrides: [
        {
          files: ['*.ts', '*.tsx'],
          extends: ['eslint-config-gev/react-native'],
          parser: '@typescript-eslint/parser',
          parserOptions: {
            tsconfigRootDir: __dirname,
            project: ['./tsconfig.json'],
            ecmaVersion: 12,
            sourceType: 'module',
            ecmaFeatures: {
              // *1
              jsx: true,
            },
          },
        },
      ],
      rules: {},
    };
    
    // [*1]: https://github.com/Intellicode/eslint-plugin-react-native#configuration
    
Javascript
  • Add 'eslint-config-gev/react-native-js' to the extends: [...] field in your eslintrc.

    .eslintrc.js example
    // https://github.com/SrBrahma/eslint-config-gev
    // This is a workaround for https://github.com/eslint/eslint/issues/3458
    require('@rushstack/eslint-patch/modern-module-resolution');
    
    module.exports = {
      root: true,
      env: {
        es2021: true,
        node: true,
        'react-native/react-native': true, // *1
      },
      extends: ['eslint-config-gev/react-native-js'],
      rules: {},
    };
    
    // [*1]: https://github.com/Intellicode/eslint-plugin-react-native#configuration
    

📰 Changelog

Keywords

FAQs

Last updated on 24 Apr 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc