
亮点
这是您需要了解的此版本 ESLint 的主要更改摘要。
JSX/React 处理的变更
在这个版本中,我们决定停止支持 JSX 的 React 语义。我们之前一直在检查 JSX 中的标识符以应用我们的规则,并意识到只有通过内置 React 的工作方式知识才能正确地做到这一点。这种知识已经在语义发生变化时给我们带来了麻烦,而且我们真的不想再次陷入这种境地。
ESLint 将继续支持 JSX 语法,但将不再对该语法应用 React 语义。由于我们知道许多 ESLint 用户希望使用 React 语义,因此我们确保了优秀的 eslint-plugin-react 可以填补这一空白。具体来说,我们添加了一种新方法,规则可以使用该方法来指示变量已被使用。许多基于 React 的错误报告直接与解释变量何时被使用有关,此更改允许其他插件作者增强 ESLint 认为已被使用的内容。
更多 ECMAScript 6 修复
作为第一个完全支持 ECMAScript 6 的工具,我们在 ESLint 及其依赖项中发现了许多错误和问题。我们正在尽可能快地修复问题,并与其他项目合作以修复他们的问题。
降低新规则的优先级
由于我们专注于 ECMAScript 6 的支持,因此我们目前正在降低添加新规则的优先级。您仍然可以提交您希望添加的规则的问题,但它们可能不会在 1.0.0 版本发布之前得到 ESLint 团队的解决。我们仍然会接受新规则的拉取请求,但我们不会在 1.0.0 之后花费太多时间来实现新规则。
1.0.0 更新
我们希望下一个版本是 1.0.0,但我们还没有达到目标。最大的剩余任务是使用最终的 AST 节点结构来处理 rest 和默认参数,以及切换到使用 TryStatement 的新 handler 属性。在开始集成过程之前,Espree 需要使用新的节点进行更新。
我们正在准备一个即将到来的 v1.0.0 中的破坏性更改列表,并在 #1898 上跟踪它们。请关注该 issue,以便您了解预期情况。
破坏性更改
- 破坏性更新:停止检查 JSX 变量使用,改为暴露 API(修复 #1911)(Glen Mailer)
错误修复
- 修复:添加逗号悬挂 allow-multiline(修复 #1984)(Keith Cirkel)
- 修复:检查类方法的间距(修复 #1989)(Nicholas C. Zakas)
- 修复:解构的参数应该在块作用域变量中工作(修复 #1996)(Nicholas C. Zakas)
- 修复:不要在默认导出函数上爆炸(修复 #1985)(Nicholas C. Zakas)
- 修复:在 no-undef 中忽略 super(参考 #1968)(Nicholas C. Zakas)
- 修复:仅使用回车符换行(修复 #2005)(Nicholas C. Zakas)
- 修复:new-cap 错误消息的位置(修复 #2025)(Mathias Schreck)
- 修复:模块导入说明符应该被定义(参考 #1978)(Nicholas C. Zakas)
特性
- 新增:generator-star-spacing 规则(修复 #1680,修复 #1949)(Brandon Mills)
- 新增:no-duplicate-case 规则,禁止重复 case 标签(修复 #2015)(Dieter Oberkofler)
增强功能
- 更新:为 comma-style 添加 AST 节点异常。(修复 #1932)(Evan Simmons)
依赖项升级
- 升级:Espree 到 v0.12.0(参考 #1968)(Nicholas C. Zakas)
文档
- 澄清文档拉取请求的要求(Ian)
- 文档:将 spread 运算符添加到可用语言选项中(Nicholas C. Zakas)

