0.15.3 • Published 10 months ago

@getjerry/eslint-config v0.15.3

Weekly downloads
-
License
-
Repository
-
Last release
10 months ago

@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,
  },
}
0.15.3

10 months ago

0.15.2

10 months ago

0.15.1

10 months ago

0.15.0

11 months ago

0.14.1

12 months ago

0.14.0

12 months ago

0.13.2

12 months ago

0.13.3

12 months ago

0.10.0

1 year ago

0.11.0

1 year ago

0.12.0

1 year ago

0.13.0

1 year ago

0.12.1

1 year ago

0.13.1

1 year ago

0.9.6

1 year ago

0.9.5

1 year ago

0.9.4

1 year ago

0.9.3

1 year ago

0.9.2

1 year ago

0.9.1

1 year ago

0.9.0

1 year ago

0.8.0

2 years ago

0.7.0

2 years ago

0.5.0

2 years ago

0.6.0

2 years ago

0.3.0

2 years ago

0.4.0

2 years ago

0.2.0

2 years ago

0.1.0

2 years ago