From dca67d4da73259636c612e677d7d406903d7abd8 Mon Sep 17 00:00:00 2001 From: ziyi2 <18768107826@163.com> Date: Fri, 10 Jul 2020 09:09:36 +0800 Subject: [PATCH] =?UTF-8?q?feat(framework):=20=E6=96=B0=E5=A2=9E=20ESLint?= =?UTF-8?q?=20=E4=BB=A3=E7=A0=81=E6=A0=A1=E9=AA=8C=E8=83=BD=E5=8A=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.js | 6 + CHANGELOG.md | 2 + README.md | 96 +++++ images/ESLint Plugin.png | Bin 0 -> 91197 bytes package-lock.json | 735 +++++++++++++++++++++++++++++++++++++++ package.json | 4 + src/greet.ts | 4 +- 7 files changed, 845 insertions(+), 2 deletions(-) create mode 100644 .eslintrc.js create mode 100644 images/ESLint Plugin.png diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..fca472f --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,6 @@ +module.exports = { + root: true, + parser: "@typescript-eslint/parser", + plugins: ["@typescript-eslint"], + extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended"], +}; diff --git a/CHANGELOG.md b/CHANGELOG.md index 12a6b87..f66d7af 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,4 +2,6 @@ ### Features +- **framework:** 新增 Git Commit Message 规范提交能力 ([d04e259](https://github.com/ziyi2/algorithms/commit/d04e25977a7041b5e2d9d801934d554ab6815c42)) +- **framework:** 新增 TypeScript 编译能力 ([ebecee9](https://github.com/ziyi2/algorithms/commit/ebecee96551f8ed49a7b48c61be3da6b79ae3974)) - 项目初始化 ([afaa458](https://github.com/ziyi2/algorithms/commit/afaa4583009ea5ac3ead2f3bfc5c61103ce8533c)) diff --git a/README.md b/README.md index 83d5808..10ae0c0 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ - Init - Git Commit Message - TypeScript +- ESLint > 温馨提示:如果想知道各个配置的细节信息,可查看各个配置的 Commit 信息。 @@ -126,3 +127,98 @@ gulp.task("default", function () { ``` > 温馨提示: 对于工具包使用全量引入的方式并不是一个好的选择,可以通过具体的工具方法进行按需引入。 + +### ESLint + +#### 背景 + +TypeScript 的代码检查工具主要有 TSLint 和 ESLint 两种。早期的 TypeScript 项目一般采用 TSLint 进行检查,TSLint 和 TypeScript 采用同样的 AST 格式进行编译,但主要问题是对于 JavaScript 生态的项目支持不够友好,因此 TypeScript 团队在 2019 年宣布全面转向 ESLint,更多关于转向 ESLint 的原因可查看: + +- +- + +TypeScript 和 ESLint 使用不同的 AST 进行解析,因此为了在 ESLint 中支持 TypeScript 代码检查需要制作额外的[自定义解析器](https://cn.eslint.org/docs/developer-guide/working-with-custom-parsers)(Custom Parsers,ESLint 的自定义解析器功能需要基于 [ESTree](https://github.com/estree/estree)),目的是为了能够解析 TypeScript 语法并转成与 ESLint 兼容的 AST。[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint#getting-started--installation) 在这样的背景下诞生,它会处理所有 ESLint 特定的配置并调用 [@typescript-eslint/typescript-estree](https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/typescript-estree) 生成 ESTree-compatible AST(需要注意的是不仅仅兼容 ESLint,也能够兼容 Prettier)。 + +`@typescript-eslint` 是一个 Monorepo 体系结构的仓库,采用 [Learn](https://github.com/lerna/lerna) 进行设计,除了上述提到的 NPM 包之外,还包含以下两个重要的 NPM 包: + +- [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin): 配合 `@typescript-eslint/parser` 一起使用的 ESLint 插件,可以设置 TypeScript 的校验规则。 +- [@typescript-eslint/eslint-plugin-tslint](https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin-tslint): TSLint 向 ESLint 迁移的插件。 + +> 温馨提示:如果你正在使用 TSLint,并且你希望兼容 ESLint 或者向 ESLint 进行过渡(TSLint 和 ESLint 并存), 可查看 [Migrating from TSLint to ESLint](https://github.com/typescript-eslint/typescript-eslint#migrating-from-tslint-to-eslint)。除此之外,以上所介绍的这些包发布时版本一致(为了联合使用的适配性),如果还有什么需要注意的话你可能需要关心一下 `@typescript-eslint` 对于 TypeScript 和 ESLint 的版本支持性,更多可查看该库包的 @typescript-eslint/parser 的仓库信息。 + +#### 配置 + +从背景的介绍中可以理解,对于全新的 TypeScript 项目(直接抛弃 TSLint)需要包含解析 AST 的解析器 @typescript-eslint/parser 和使用校验规则的插件 @typescript-eslint/eslint-plugin,这里需要在项目中进行安装 + +```javascript +npm i --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin +``` + +在根目录新建 `.eslintrc.js` 配置文件,并设置以下配置: + +```javascript +module.exports = { + root: true, + parser: "@typescript-eslint/parser", + plugins: ["@typescript-eslint"], + extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended"], +}; +``` + +其中: + +- `parser: '@typescript-eslint/parser'`:使用 ESLint 解析 TypeScript 语法 +- `plugins: ['@typescript-eslint']`:在 ESLint 中加载插件 `@typescript-eslint/eslint-plugin`,该插件可用于配置 TypeScript 校验规则。 +- `extends: [ ... ]`:在 ESLint 中使用[共享规则配置](https://cn.eslint.org/docs/developer-guide/shareable-configs),其中 `eslint:recommended` 是 ESLint 内置的推荐校验规则配置(也被称作最佳规则实践),`plugin:@typescript-eslint/recommended` 是类似于 `eslint:recommended` 的 TypeScript 推荐校验规则配置。 + +> 温馨提示:如果你稍微阅读一下 recommanded 源码你会发现,其实内部可以理解为推荐校验规则的集合。因此如果想基于 `@typescript-eslint/eslint-plugin` 进行自定义规则,则可参考 [TypeScript Supported Rules](https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin#supported-rules)。 + +配置完成后在 `package.json` 中设置校验命令 + +```javascript +"lint": "eslint src", +``` + +此时如果在 `src` 目录下书写错误的语法,执行 `npm run lint` 就会输出错误信息: + +```javascript +> eslint src + + +C:\Code\Git\algorithms\src\greet.ts + 2:16 warning Missing return type on function @typescript-eslint/explicit-module-boundary-types + +✖ 1 problem (0 errors, 1 warning) +``` + +> 温馨提示:输出的错误信息是通过 [ESLint Formatters](https://cn.eslint.org/docs/user-guide/formatters/) 生成,查看 ESLint 源代码并调试可发现默认采用的是 [stylish](https://cn.eslint.org/docs/user-guide/formatters/#stylish) formatter。 + +#### ESLint 插件 + +如果不使用插件,很难发现写的代码可能存在 TypeScript 格式错误(除非手动 `npm run lint` 或监听代码的变更并实时运行 `npm run lint`),此时可以通过 VS Code 插件进行处理。安装 ESLint 插件后可进行代码的实时提示,具体如下图所示: + +ESLint Plugin.png + +此时可以发现之前执行 `lint` 命令的错误通过插件的形式可实时在 VS Code 编辑器中进行显示。除此之外,一些简单的 ESLint 格式错误(例如 多余的`;` 等)可通过配置 Save Auto Fix 进行保存自动格式化处理。具体 VS Code 的配置可参考 [ESLint 插件](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)的文档说明,这边应该需要进行如下配置: + +``` javascript +"editor.codeActionsOnSave": { + "source.fixAll": true, + "source.fixAll.eslint": true +} +``` + +> 温馨提示:VS Code 的配置分为两种类型(用户和工作区),针对上述通用的配置主要放在用户里,针对不同项目的不同配置则需要放入工作区进行处理。 + +## 文档 + +- [Npm 官方文档](https://docs.npmjs.com/) +- [使用 NPM 发布和使用 CLI 工具](https://juejin.im/post/5eb89053e51d454de54db501) +- [Cz 工具集使用介绍](https://juejin.im/post/5cc4694a6fb9a03238106eb9)(强烈推荐阅读) +- [TypeScript 中文网](https://www.tslang.cn/) +- [tsconfig.json 编译选项](https://www.tslang.cn/docs/handbook/compiler-options.html) +- [gulp-typescript](https://github.com/ivogabe/gulp-typescript) +- [ES modules: A cartoon deep-dive](https://hacks.mozilla.org/2018/03/es-modules-a-cartoon-deep-dive/)(强烈推荐阅读) +- [ESLint 中文网](https://cn.eslint.org/) +- [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint) +- [Getting Started - Linting your TypeScript Codebase](https://github.com/typescript-eslint/typescript-eslint/blob/master/docs/getting-started/linting/README.md) diff --git a/images/ESLint Plugin.png b/images/ESLint Plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..c56c9f69bfd91b3daf2ce94f39c0a06d2ccd25b6 GIT binary patch literal 91197 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
v)T5GEQL(r} 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
iq+p(G$R~l?atM3z>_k`C=2FIak;(C zVpe(^Tf;o^sTQjC?H58)KDRecQcg7&ZDN*F=e%U>$Fh=s>S*zD^br|zl)$P6v#lP~ zI)pr~H_h_oY9-XzeG{5oaby^}f&Sj&p94m9KuE=#s5Vn5{xm~Sp@^S|dbb%jrU#_#NM1`5U`88nRR0%$oXp6AIQ zIzCu7cD*Nkq{Ilw$-vn<(i}1KTbU5H&a3=^EN4qr{5FYbB>Tc4>3L)RQA?7aC6+SZ zk5`9GeLL4M3+E9+WY^MPwB2tGzY?UA!LBodx6(;t+*N@PbtbP$+3(k$=4o7Snk-VFns~RuW;a`NfEcPFSrzc`WJ1BRF*jQv$JevL&3i65gF8)SnWA~vE%7HffCFp>i>L#IKN zy9n=e`yb(*B}Lvzb-1qLZfs~!m92crfZXzd5G(FGzid%_Z3cFY#b_3b^jqCk>fe^1 z3jdoGR#^W{3d`Z3VoyuRCI&HU-?AsJEPwJHtHrH#BV4@fGrt%VV_Tg~VWd9b$loW^ zlRms$z>uJ1tW+-J{QjyMNnvLDJu9B$SGLur*Udg@jdih9W|~zNo_?d{isrSRC9%PC zBN&{SF9O{e7jw(Z7EC5vOrt+@aw?h;X`S!A>(Lo0r*c2d??wl^lpE|)dCJBXb9aJK zyR@6t&s?O4kmAud^V;|ksW0-nG~P6}9FDm}4@O07QIgAX#l$iRlM^PWQmgB?g)5F% z%Ca>md6Q~{xum^(UhtARE4$2cG?Js90YQu_6_RFRt88_#NK-)bF2(~VPC`SQxlGt) zfL7I#EFzbliMI^DX@v{rweqge8(E43lC(+EKbo8Mv_z90J}Txu`Jzq9la`5DM5f=4 zi0-T+M`!Vd8b1@GSm2}x_7K|KVMF^$I*d1XUGLrdB8s(&K0OytG@v!dmSXmct~{*< zr@wJ!q=>PF>L-FvM_s~m4JD7eAD4Z_Q)3!yK1t6f=1+Gk!lYlbS0E5{!ig^#kfY%i zXe8MSW8cB{7{{{-#1@ppLzCKOO0+^F?`cX>tYDr9Irf z20j%%mx$0q)5(9zeX)tZ1$mCd42}4LTNf1H<|h&ROJl;$lC$q6Xfif>33)c2yN`^! zv*RO*;#xLfh7Mr+hJQ@hKx`9-4I!>kg?5QzLx%^NKwv z-V+%Soh|q-GRPIawk%|zF zGpcJ#ZF#M(hF*IKZ+A?!@iZq`$^uT+`eUH;XHZ}?!MEw8DKzS$=Q+%nZ)-LYz@jg% z<${%9mesG4Xas!`(o75!^|B`qk=O9DRZBKSS<6ljt>$nz78Dyvvk{(D{aCK1i}!f* zpg6+HIz#knqY-xOB|sfe2D_vTqa6vpT$jrSNoOF093!+iCCk28Ob(BfVGo{y?n8X7 zGLJwGo#;<(0?FVTV@o2=zD1WwK?Oyw;Bb32asfV-RDb#nMw*w z3U&9)Y!*D2Nb)&}=9QeUwa_@^