@getjerry/eslint-config
TypeScript icon, indicating that this package has built-in type declarations

0.9.6 • Public • Published

@getjerry/eslint-config

Usage

Install

pnpm i -D eslint @getjerry/eslint-config

Create config file

With ESM:

// eslint.config.js
import { getjerry } from '@getjerry/eslint-config';

export default getjerry({
  typescript: {
    tsconfigPath: './tsconfig.json',
  },
});

With CJS:

// eslint.config.js
const { getjerry } = require('@getjerry/eslint-config');

module.exports = getjerry({
  typescript: {
    tsconfigPath: './tsconfig.json',
  },
});

Add scripts for package.json

For example:

{
  "scripts": {
    "lint": "eslint .",
    "lint:fix": "eslint . --fix"
  }
}

Work together with prettier:

{
  "scripts": {
    "lint": "eslint . && prettier --check .",
    "lint:fix": "eslint --fix . && prettier --write ."
  }
}

Customizations

Override rules

// eslint.config.js
import { getjerry } from '@getjerry/eslint-config';

export default getjerry({
  typescript: {
    // override rules for typescript
    overrides: {
      '@typescript-eslint/no-explicit-any': 'off',
    },
  },
});
// eslint.config.js
import { getjerry } from '@getjerry/eslint-config';

export default getjerry(
  {
    javascript: {
      // override rules for javascript files
      overrides: {
        'no-console': 'off',
      },
    },
    typescript: {
      // override rules for typescript files
      overrides: {
        '@typescript-eslint/no-explicit-any': 'off',
      },
    },
  },
  // override rules with glob pattern
  {
    files: ['**/*.spec.ts'],
    rules: {
      '@typescript-eslint/no-explicit-any': 'off',
    },
  },
);

Ignore files

Notice that .eslintignore is no longer supported in flat config.

// eslint.config.js
import { getjerry } from '@getjerry/eslint-config';

export default getjerry({
  ignores: ['**/path/to/ignore'],
});

Disable react rules

// eslint.config.js
import { getjerry } from '@getjerry/eslint-config';

export default getjerry({
  react: false,
});

Set glob pattern for react rules

// eslint.config.js
import { getjerry } from '@getjerry/eslint-config';

export default getjerry({
  react: {
    files: ['app/signup/**/*.ts?(x)'],
  },
});

Editor Integration

VSCode settings

Add the following settings to your .vscode/settings.json:

{
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.formatOnSave": true,
  "editor.insertSpaces": true,
  "editor.tabSize": 2,

  // important to use the new flat config format
  "eslint.experimental.useFlatConfig": true,
  "eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact"],

  "files.encoding": "utf8",
  "files.eol": "\n",
  "files.trimFinalNewlines": true,
  "files.trimTrailingWhitespace": true,
  "[markdown]": {
    "files.trimTrailingWhitespace": false,
  },
}

Readme

Keywords

none

Package Sidebar

Install

npm i @getjerry/eslint-config

Weekly Downloads

595

Version

0.9.6

License

none

Unpacked Size

30 kB

Total Files

7

Last publish

Collaborators

  • meteorlxy
  • xinzhe.zhou
  • xahhy
  • depeng_meng
  • musawir
  • denisgrankin
  • zhangciwu
  • xiazhen