1.0.2 • Published 16 days ago

@code-shaper/eslint-config v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
16 days ago

eslint-config

This package publishes 4 shared ESLint configurations from which all other .eslintrc.js's inherit.

  1. @code-shaper/eslint-config: This is the default configuration and points to @code-shaper/eslint-config-lenient.
  2. @code-shaper/eslint-config-lenient: A rather lenient configuration which can be used with code bases that don't follow very opinionated coding conventions.
  3. @code-shaper/eslint-config-strict: A stricter configuration intended for code bases that follow very opinionated coding conventions.
  4. @code-shaper/eslint-config/strict-react: The same as @code-shaper/eslint-config/strict, but with added rules specifically for React.

To switch from lenient to strict configuration, simply change line 1 in ./index.js to module.exports = require('./strict');. This will change the entire repo to enforce strict coding conventions. You can also opt to switch over gradually by specifying strict mode one workspace at a time. To do this, change the .eslintrc.js file of the desired workspace to extend @code-shaper/eslint-config/strict instead of @code-shaper/eslint-config.

Plugins

This config pulls in the following eslint rules/plugins. In addition to these plugins, there are a few customizations that have been made to select individual rules. These customizations and all rules used are clearly marked in the package's lenient.js & strict.js.

eslint

Applies the following rules to all JavaScript and TypeScript files:

  • all recommended rules
  • all automatically fixable rules

eslint-plugin-typescript

Applies the following rules to all Typescript files:

  • all recommended rules
  • all recommended-requiring-type-checking rules
  • all strict rules
  • all automatically fixable rules

eslint-plugin-import

Applies the following rules to all JavaScript and TypeScript files:

  • all recommended rules
  • all typescript rules (only applied to TypeScript files)
  • all react rules (only applied to TypeScript files)
  • all automatically fixable rules

eslint-plugin-promise

Applies the following rules to all JavaScript and TypeScript files:

  • all recommended rules
  • all automatically fixable rules

eslint-plugin-regexp

Applies the following rules to all JavaScript and TypeScript files:

  • all recommended rules
  • all automatically fixable rules

eslint-plugin-eslint-comments

Applies the following rules to all JavaScript and TypeScript files:

  • all recommended rules
  • all automatically fixable rules

eslint-plugin-jsx-a11y

Applies the following rules to all TypeScript files:

  • all recommended rules
  • all automatically fixable rules

eslint-plugin-react

Applies the following rules to all TypeScript files:

  • all recommended rules
  • all jsx-runtime rules
  • all automatically fixable rules

eslint-plugin-react-hooks

Applies the following rules to all TypeScript files:

  • all recommended rules
  • all automatically fixable rules

eslint-plugin-jest

Applies the following rules to all JavaScript and TypeScript test files:

  • all recommended rules
  • all style rules
  • all automatically fixable rules

eslint-plugin-jest-dom

Applies the following rules to all JavaScript and TypeScript test files:

  • all recommended rules
  • all automatically fixable rules

eslint-plugin-testing-library

Applies the following rules to all JavaScript and TypeScript test files:

  • all react rules
  • all automatically fixable rules

eslint-plugin-tailwindcss

Applies the following rules to all TypeScript files:

  • all recommended rules
  • all automatically fixable rules

eslint-config-prettier

Applies the eslint-config-prettier plugin to disable all rules that would be covered by or would conflict with prettier. It is recommended to run prettier separately, after running eslint.

eslint-plugin-only-error

Applies the only-error plugin to treat all lint warnings as errors.