node热更新方案(ESLintv7.0.0发布)

node热更新方案(ESLintv7.0.0发布)(1)

作者:李俊辰

转发连接:https://mp.weixin.qq.com/s/mua0gNuOTUzxFUQ3cEl_zQ

前言

近日,ESLint 的主要升级版本 ESLint v7.0.0 正式发布。此次更新除了修复已知 bug 和增强特性外,还增加了一些新特性以及 bugfix。官方更新文档中提及,由于 Node.js 8 已于 2019 年 12 月达到 EOL,ESLint v7.0.0 将放弃对 Node.js v8 的支持。

ESLint 是一个用来识别 ECMAScript/JavaScript 代码并且按照规则给出报告的代码检测工具。代码检测是一种静态的分析,用于寻找代码中的错误,而且并不依赖于某样具体的编码风格,很多编程语言的代码检测工具都集成在编译程序中,但 JavaScript 由于易出错且没有编译程序,所以 ESLint 是一个不可或缺的工具。

近日,ESLint 官网正式发布了 ESLint v7.0.0,在版本更新的声明中,ESLint 重点强调了 ESLint v7.0.0 不再支持 Node.js v8 这件事,此外还表示此版本中进行了一些重大更改,并附上了一份迁移指南:

https://eslint.org/docs/user-guide/migrating-to-7.0.0

此次 ESLint v7.0.0 的重大更新包括:

核心规则变更
  • 弃用了核心中的 Node.js / CommonJS 十条规则,并移至 eslint-plugin-node 插件。
  • 更新一些规则,用来识别 bigint 文本,同时在默认情况下对更多情况发出警告。
  • eslint:recommended 更新了一些新的规则:no-dupe-else-if,no-import-assign,和 no-setter-return。
优化开发者体验
  • 默认的忽略模式(IgnorePatterns)已经更新。在默认情况下,ESLint 将不再忽略 .eslintrc.js 和 bower_components/*。此外,现在的默认情况下,它将忽略嵌套的 node_modules 目录。
  • 如果在 overrides [].files 中显式定义了扩展名不是.js 的文件,ESLint 现在将对它们进行整理,不再需使用 --ext 进行标记。
  • ESLint 将支持指令注释中的描述,因此可以清楚地记录禁用注释等内容。
  • 将附加验证添加到 RuleTester 类中,以改善对插件中自定义规则的测试。
  • ESLint 现在将解析与项目配置文件相关的插件,意味着位于项目外部的共享配置文件现在可以与所需的插件并置在一起。
  • 从 ESLint v7 开始,分别使用 --config path/to/a-config 和 --ignore-path path/to/a-ignore CLI 标志传递给 ESLint 的配置文件和忽略文件,同时也将从当前工作目录中解析, 而不是文件位置。带来的好处就是开发者可以使用共享插件,不必再在其项目中安装了。
新的 ESLint 类

在此次更新中,CLIEngine 类提供了一个同步的 API,该 API 阻碍了一些功能的实现,比如并行 lint、在可共享的 configs/parsers/plugins/formatter 中支持 ES 模块以及增加了可视化显示 lint 运行进度的功能。新的 ESLint 类提供了一个异步 API。目前来说,CLIEngine 将继续保持核心地位,但将来的版本中可能会被移除。

新特性
  • f9774ec New: 新增 default-case-last 规则(修复#12665)(#12668)(Milos Djermanovic)
  • a1d999c New: 新增 no-useless-backreference 规则(修复#12673)(#12690)(Milos Djermanovic)
  • 985dac3 New: 新增 no-restricted-exports 规则(修复#10428)(#12546)(Milos Djermanovic)
推荐JavaScript经典实例学习资料文章

《如何实现一个下载进度条/播放进度条「案例」》

《最全的 JavaScript 模块化方案和工具》

《「前端进阶」JS中的内存管理》

《JavaScript正则深入以及10个非常有意思的正则实战》

《前端面试者经常忽视的一道JavaScript 面试题》

《一行JS代码实现一个简单的模板字符串替换「实践」》

《JS代码是如何被压缩的「前端高级进阶」》

《前端开发规范:命名规范、html规范、css规范、js规范》

《【规范篇】前端团队代码规范最佳实践》

《100个原生JavaScript代码片段知识点详细汇总【实践】》

《关于前端174道 JavaScript知识点汇总(一)》

《关于前端174道 JavaScript知识点汇总(二)》

《关于前端174道 JavaScript知识点汇总(三)》

《几个非常有意思的javascript知识点总结【实践】》

《都2020年了,你还不会JavaScript 装饰器?》

《JavaScript实现图片合成下载》

《70个JavaScript知识点详细总结(上)【实践】》

《70个JavaScript知识点详细总结(下)【实践】》

《开源了一个 JavaScript 版敏感词过滤库》

《送你 43 道 JavaScript 面试题》

《3个很棒的小众JavaScript库,你值得拥有》

《手把手教你深入巩固JavaScript知识体系【思维导图】》

《推荐7个很棒的JavaScript产品步骤引导库》

《Echa哥教你彻底弄懂 JavaScript 执行机制》

《一个合格的中级前端工程师需要掌握的 28 个 JavaScript 技巧》

《深入解析高频项目中运用到的知识点汇总【JS篇】》

《JavaScript 工具函数大全【新】》

《从JavaScript中看设计模式(总结)》

《身份证号码的正则表达式及验证详解(JavaScript,Regex)》

《浏览器中实现JavaScript计时器的4种创新方式》

《Three.js 动效方案》

《手把手教你常用的59个JS类方法》

《127个常用的JS代码片段,每段代码花30秒就能看懂-【上】》

《深入浅出讲解 js 深拷贝 vs 浅拷贝》

《手把手教你JS开发H5游戏【消灭星星】》

《深入浅出讲解JS中this/apply/call/bind巧妙用法【实践】》

《手把手教你全方位解读JS中this真正含义【实践】》

《书到用时方恨少,一大波JS开发工具函数来了》

《干货满满!如何优雅简洁地实现时钟翻牌器(支持JS/Vue/React)》

《手把手教你JS 异步编程六种方案【实践】》

《让你减少加班的15条高效JS技巧知识点汇总【实践】》

《手把手教你JS开发H5游戏【黄金矿工】》

《手把手教你JS实现监控浏览器上下左右滚动》

《JS 经典实例知识点整理汇总【实践】》

《2.6万字JS干货分享,带你领略前端魅力【基础篇】》

《2.6万字JS干货分享,带你领略前端魅力【实践篇】》

《简单几步让你的 JS 写得更漂亮》

《恭喜你获得治疗JS this的详细药方》

《谈谈前端关于文件上传下载那些事【实践】》

《面试中教你绕过关于 JavaScript 作用域的 5 个坑》

《Jquery插件(常用的插件库)》

《【JS】如何防止重复发送ajax请求》

《JavaScript Canvas实现自定义画板》

《Continuation 在 JS 中的应用「前端篇」》

作者:李俊辰

转发连接:https://mp.weixin.qq.com/s/mua0gNuOTUzxFUQ3cEl_zQ

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页