2.0.0 • Published 2 years ago

eslint-config-earlycross v2.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

eslint-config-earlycross

This is an ESLint shareable config that is intended for use within EarlyCross.

Currently, this package contains three presets.

PresetsDetails
earlycross/javascriptFor project written entirely in JavaScript
earlycross/typescriptFor project written in TypeScript (including JavaScript)
earlycross/typescript-reactFor react project written in TypeScript (including JavaScript)

Plus, earlycross/jest preset is provided for projects which use Jest. This preset is intended to be used along with presets above.

Dependent configs or plugins

JavaScript

  • eslint-config-prettier
  • eslint-plugin-import
  • eslint-plugin-jsdoc

TypeScript

In addition to JavaScript

  • @typescript-eslint/eslint-plugin
  • @typescript-eslint/parser

TypeScript React

In addition to TypeScript

  • eslint-plugin-jsx-a11y
  • eslint-plugin-react
  • eslint-plugin-react-hooks
  • eslint-plugin-testing-library

Jest

  • eslint-plugin-jest

Install

npm i -D eslint-config-earlycross

Configuration

Examples of .eslintrc.json:

JavaScript

{
  "extends": ["earlycross/javascript"],
  "plugins": [
    // additional plugins
  ],
  "env": { "node": true },
  "rules": {
    // javascript rules to override
  }
}

TypeScript

{
  "extends": ["earlycross/typescript"],
  "plugins": [
    // additional plugins
  ],
  "env": { "node": true },
  "overrides": [
    {
      "files": ["*.ts"],
      "parserOptions": { "project": ["./tsconfig.eslint.json"] },
      "rules": {
        // typescript rules to override
      }
    }
  ]
}

TypeScript React

{
  "extends": ["earlycross/typescript-react"],
  "plugins": [
    // additional plugins
  ],
  "env": { "node": true },
  "overrides": [
    {
      "files": ["*.ts", "*.tsx"],
      "parserOptions": { "project": ["./tsconfig.eslint.json"] },
      "rules": {
        // typescript rules to override
      }
    }
  ]
}

JavaScript + Jest

{
  "extends": ["earlycross/javascript", "earlycross/jest"],
  "plugins": [
    // additional plugins
  ],
  "env": { "node": true },
  "rules": {
    // javascript rules to override
  }
}