项目作者: FaustTobias

项目描述 :
:mag: General purpose ECMAScript and TypeScript eslint config
高级语言: JavaScript
项目地址: git://github.com/FaustTobias/eslint-config.git
创建时间: 2020-01-21T22:58:23Z
项目社区:https://github.com/FaustTobias/eslint-config

开源协议:MIT License

下载


@faustt/eslint-config


General purpose ECMAScript and TypeScript eslint config




NPM Version


Install Size


Introduction

This is a general purpose eslint config for ECMAScript and TypeScript projects. It enforces some coding standards I personally prefer over the default ones. Prettier is also included to allow advanced formatting. Feel free to peek into the index.js file to see the configuration. TODO: Document the rules used in this config, duh.

Getting started

Install the package

using npm:

  1. npm i -D @faustt/eslint-config

or using yarn:

  1. yarn add -D @faustt/eslint-config

Install all peer dependencies

using npm:

  1. npm i -D @typescript-eslint/eslint-plugin@2.x @typescript-eslint/parser@2.x eslint@6.x eslint-config-prettier@6.x eslint-plugin-prettier@3.x prettier@2.x typescript

or using yarn:

  1. yarn add -D @typescript-eslint/eslint-plugin@2.x @typescript-eslint/parser@2.x eslint@6.x eslint-config-prettier@6.x eslint-plugin-prettier@3.x prettier@2.x typescript

Add to eslint configuration

inside an .eslintrc file:

  1. {
  2. "extends": "@faustt"
  3. }

or inside package.json:

  1. {
  2. "devDependencies": {
  3. // ...
  4. },
  5. "eslintConfig": {
  6. "extends": "@faustt"
  7. }
  8. }

Configure Visual Studio Code

To configure Visual Studio Code to automatically fix on save install the eslint extension and enable it in the .vscode/settings.json files. Note: I recommend committing the following two files into your repository since contributors may or may not have eslint enabled at all in their user configs.

  1. {
  2. "eslint.enable": true,
  3. "eslint.validate": [
  4. "javascript",
  5. "typescript"
  6. ],
  7. "editor.codeActionsOnSave": {
  8. "source.fixAll": true
  9. },
  10. "[javascript]": {
  11. "editor.formatOnSave": false
  12. },
  13. "[typescript]": {
  14. "editor.formatOnSave": false
  15. }
  16. }

Add the eslint extension to the .vscode/extensions.json:

  1. {
  2. "recommendations": [
  3. "dbaeumer.vscode-eslint"
  4. ]
  5. }

Add a tsconfig.json

This config requires a tsconfig.json in the root directory of the project as its rules require type information to be present. You can use your own or this one, doesn’t really matter:

  1. {
  2. "compilerOptions": {
  3. "strict": true,
  4. "target": "ESNext",
  5. "module": "CommonJS",
  6. "moduleResolution": "node",
  7. "esModuleInterop": true,
  8. "allowSyntheticDefaultImports": true
  9. },
  10. "include": [
  11. "src/**/*"
  12. ]
  13. }

Contributing

Issues or pull requests are welcome! \o/

Maintainer

Tobias Faust