亮点
这是您需要了解的此版本 ESLint 的主要更改摘要。
更多 ECMAScript 6 修复
此版本解决了与 ECMAScript 6 功能相关的几个问题的根本原因。 之前我们在模块、解构和解构参数相关的作用域问题上遇到了很多麻烦。 在此版本中,我们修复了大量此类错误,因此我们对 ES6 的支持应该非常稳定。
对默认参数和剩余参数的 ESTree 支持
支持 ESTree 格式的解析器升级已经完成,用于默认参数和剩余参数。 您可以随意使用这些功能创建自定义规则,并确信 AST 格式不会更改。
1.0.0 更新
随着 ESTree 的更改,在发布 1.0.0 之前,我们只有几个未解决的问题。 这些问题是
- #2284 - 我们是否应该切换到使用基于 1 的列号而不是基于 0 的列号?
- #2226 - 分割括号中的空格规则;实现数组字面量空格和计算属性空格规则。
- #2225 - 分割括号中的空格规则;实现花括号空格规则。
提醒:我们正在准备一个将在 v1.0.0 中出现的破坏性更改列表,并正在跟踪它们在 [#1898](https://github.com/eslint/eslint/issues/1898) 上。 请关注该 issue,以便您知道会发生什么。
错误修复
- 修复:
no-empty 规则应允许任何注释(修复 #2188)(Gyandeep Singh)
- 修复:允许在 newline-after-var 规则中内联注释(修复 #2229)(Casey Visco)
- 修复:使 block-scoped-var 适用于类(修复 #2280)(Nicholas C. Zakas)
- 修复:camelcase 规则在 {properties: never} 下不应检查赋值(修复 #2189)(Gyandeep Singh)
- 修复:考虑在 space-in-parens 规则中使用制表符(修复 #2191)(Josh Quintana)
- 修复:不要在 quote-props 中检查简洁方法(修复 #2251)(Nicholas C. Zakas)
- 修复:重复的分号和 no-extra-semi 错误(修复 #2207)(Brandon Mills)
- 修复:对于使用 ecmaFeature
modules 的 block-scoped-var 规则,父作用域中缺少函数 ID(修复 #2242)(Michael Ferris)
- 修复:处理 newline-after-var 中的注释行(修复 #2237)(Casey Visco)
- 修复:忽略垂直对齐的单行(修复 #2018)(Ian VanSchooten)
- 修复:no-undef 和 no-underscore-dangle 使用双引号(修复 #2258)(Gyandeep Singh)
- 修复:padded-blocks 与 ASI(修复 #2273)(Brandon Mills)
- 修复:报告 padded-blocks 错误的更好位置(修复 #2224)(Nicholas C. Zakas)
- 修复:需要导入/导出语句后的分号(修复 #2174)(Gyandeep Singh)
- 修复:导出声明上的分号错误(修复 #2194)(Brandon Mills)
特性
- 新增:允许修改基本配置(修复 #2143)(Meo)
- 新增:no-continue 规则(修复 #1945)(borislavjivkov)
- 新增:operator-linebreak 规则(修复 #1405)(Benoît Zugmeyer)
增强功能
- 更新:添加 no-undef 的测试(修复 #2214)(Nicholas C. Zakas)
- 构建:将 Markdown 文件的 linting 添加到“npm test”脚本(修复 #2182)(David Anson)
- 构建:修复 gensite 任务,使其即使在缺少文件时也能工作(Nicholas C. Zakas)
- 构建:修复站点生成(Ilya Volodin)
- 构建:删除 jshint 文件(修复 #2222)(Jeff Tan)
依赖项升级
- 升级:Espree 到 1.12.3(修复 #2195)(Gyandeep Singh)
- 升级:Espree 2.0.0 和 escope 3.0.0(修复 #2234,修复 #2201,修复)(Nicholas C. Zakas)
- 升级:Espree 到 2.0.1(Nicholas C. Zakas)
文档
- 文档:修复 camelcase 文档中的拼写错误(修复 #2190)(Gyandeep Singh)
- 文档:修复 command-line-interface.md 中的错别字(Nate Eagleson)
- 文档:修复 working-with-rules.md 中的错别字(Nate Eagleson)
- 文档:修复文档中的损坏链接(Ilya Volodin)
- 文档:改进 comma-dangle.md 中的语法和风格(Nate Eagleson)
- 文档:改进 padded-blocks.md 中的语法和风格(Nate Eagleson)
- 文档:no-empty 修复注释更改(参考 #2188)(Gyandeep Singh)
- 文档:删除 *.md 中的硬制表符,启用相应的 markdownlint 规则。(David Anson)
- 文档:删除尾随空格,启用相应的 markdownlint 规则。(David Anson)
- 文档:对无序列表使用“*”,启用相应的 markdownlint 规则。(David Anson)
- 文档:更新 --no-ignore 警告(Brandon Mills)
- 文档:更新 one-var 文档(修复 #2210)(Nicholas C. Zakas)
- 文档:更新处理器描述(Nicholas C. Zakas)
- 文档:更新 no-wrap-func.md 中的 URL 以解决 404(Nate Eagleson)