0.0.1 • Published 9 months ago

@jianhunxia/eslint v0.0.1

Weekly downloads
-
License
-
Repository
github
Last release
9 months ago

eslint

ESLint 规则配置集。支持原生 js、Vue、React、TypeScript。

Install

只支持在内网环境下安装。如何设置 npm 源为内网环境,参考:http://192.168.180.66:8090/pages/viewpage.action?pageId=30871923

js

yarn add eslint @babel/core @babel/eslint-parser -D
yarn add @jianhunxia/eslint -D

vue

yarn add\
  eslint\
  @babel/core @babel/eslint-parser\
  eslint-plugin-vue\
  vue-eslint-parser\
  -D
yarn add @jianhunxia/eslint -D

react

yarn add\
  eslint\
  @babel/core @babel/eslint-parser\
  eslint-plugin-react\
  -D
yarn add @jianhunxia/eslint -D

typescript

yarn add\
  eslint\
  @babel/core @babel/eslint-parser\
  @typescript-eslint/parser\
  @typescript-eslint/eslint-plugin\
  -D
yarn add @jianhunxia/eslint -D

Usage

通过 .eslintrc 相关文件里的 extends 字段引入。

js

{
  extends: ["@jianhunxia/eslint"]
}

vue

{
  extends: ["@jianhunxia/eslint/vue"]
}

react

{
  extends: ["@jianhunxia/eslint/react"]
}

typescript

{
  extends: ["@jianhunxia/eslint/typescript"]
}

Integrating with Prettier

// 1. 安装 Prettier
yarn add prettier --dev --exact
yarn add eslint-plugin-prettier eslint-config-prettier --dev

// 2. 配置 .eslintrc 相关文件
{
  extends: [
    "@jianhunxia/eslint",
    "plugin:prettier/recommended"
  ]
}

// 3. 配置 .prettierrc 相关文件
// semi、singleQuote、trailingComma、endOfLine 这四项规则保持和 eslint 一致
{
  "semi": false,
  "singleQuote": true,
  "trailingComma": "none",
  "arrowParens": "avoid",
  "endOfLine": "auto"
}

// 4. 例子:react + typescript 项目

// 安装
yarn add\
  eslint\
  @babel/core @babel/eslint-parser\
  eslint-plugin-react\
  @typescript-eslint/parser\
  @typescript-eslint/eslint-plugin\
  eslint-plugin-prettier\
  eslint-config-prettier\
  -D
yarn add @jianhunxia/eslint -D
yarn add prettier --dev --exact

// .eslintrc
{
  "extends": [
    "@jianhunxia/eslint/react",
    "@jianhunxia/eslint/typescript",
    "plugin:prettier/recommended"
  ]
}

推荐插件

eslint-plugin-import  // import/no-duplicates   禁止重复引入  但是与引入type不冲突

eslint-plugin-simple-import-sort  // simple-import-sort/imports  import排序

Refers

https://eslint.org/

https://github.com/ElemeFE/eslint-config-elemefe

https://github.com/AlloyTeam/eslint-config-alloy

https://github.com/vuejs/eslint-plugin-vue

https://github.com/yannickcr/eslint-plugin-react

https://github.com/typescript-eslint/typescript-eslint

https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin

Environment

Node.js >= 8, TypeScript >=3.3.1