@midea-infra/eslint-config

0.1.17 • Public • Published

@midea-infra/eslint-config

Javascript 编码规范(ESLint 可共享配置)。

安装

npm install @midea-infra/eslint-config @babel/core @babel/eslint-parser --save-dev

or

yarn add @midea-infra/eslint-config @babel/core @babel/eslint-parser --dev

使用

JavaScript

// .eslintrc.js
module.exports = {
  extends: ['@midea-infra/eslint-config'],
};

JavaScript + React

// .eslintrc.js
module.exports = {
  extends: ['@midea-infra/eslint-config/react'],
};

JavaScript + Vue2

// .eslintrc.js
module.exports = {
  extends: ['@midea-infra/eslint-config/vue2'],
};

JavaScript + Vue3

// .eslintrc.js
module.exports = {
  extends: ['@midea-infra/eslint-config/vue3'],
};

配合 Prettier 使用

如果你的项目使用 Prettier 进行代码格式化,本包的一些规则可能会跟 Prettier 格式化结果有冲突。为了避免冲突,你需要手动安装 eslint-config-prettiereslint-plugin-prettier

npm install eslint-config-prettier eslint-plugin-prettier --save-dev

or

yarn add eslint-config-prettier eslint-plugin-prettier --dev

配置

// .eslintrc.js
module.exports = {
  extends: [
    '@midea-infra/eslint-config/vue3',
    // Turn on prettier rules
    /** ==== eslint-config-prettier ==== */
    'plugin:prettier/recommended',
  ],
};

了解更多

  • 如果你对 ESLint 还不熟悉,可以阅读官网的 Getting Started 快速入门。
  • 了解如何为 IDE 配置 ESLint,可以参考官网的 Integrations
  • 了解如何在继承本包的基础上对项目 ESLint 进行个性化配置,可参考官网的 Configuring ESLint。下面简介下 ESLint 配置中的几个常用字段:
    • extends: 继承一组规则集。"extends": "@midea-infra/eslint-config", 表示继承本包定义的规则配置。
    • rules: 配置规则,这里定义的规则会覆盖 extends 的规则。如果觉得本包开启的某条规则过于严格,你可以暂时在这里将其关闭。
    • parser: 设置 ESLint 的解析器。ESLint 使用 espree 作为默认的解析器,可以通过这个参数指定其他的解析器。比如指定为 @babel/eslint-parser,以解析 Babel 支持但 ESLint 默认解析器不支持的语法(本包不同配置文件使用的解析器可在简介表格中的「依赖 parser」一列查看)。
    • globals: 指定代码中可能用到的全局变量,以免全局变量被 no-undef 规则报错。
    • env: 指定代码的运行环境,每个环境预定义了一组对应的全局变量,本包已开启的环境有 browser、node、jquery、es6 及几个测试框架的环境。
  • 了解常用的 ESLint 命令,如 --fix--ext,可参考官网的 Command Line Interface

Package Sidebar

Install

npm i @midea-infra/eslint-config

Weekly Downloads

1

Version

0.1.17

License

MIT

Unpacked Size

15.9 kB

Total Files

7

Last publish

Collaborators

  • niefz