
亮点
这是您需要了解的此版本 ESLint 的主要更改摘要。
配置初始化
首次设置配置文件可能很困难,我们正在努力使其更容易。因此,我们添加了 --init 命令行标志。使用此标志,您将逐步完成一系列问题,以设置配置文件中的基本信息。例如
$ eslint --init
? What style of indentation do you use? Spaces
? What quotes do you use for strings? Double
? What line endings do you use? Unix
? Do you require semicolons? Yes
? Are you using ECMAScript 6 features? Yes
? Where will your code run? Browser
? Do you use JSX? No
? What format do you want your config file to be in? YAML
Successfully created .eslintrc file in c:\Users\Nicholas\projects\personal\tmp
我们希望这个新功能能帮助大家更快地开始使用 ESLint。
配置继承
我们添加的另一个功能是继承配置设置的能力。现在,您可以使用 extends 来指定另一个要继承设置的文件。例如
{
"extends": "../../config/myconfig.json"
}
更多信息请阅读 文档。
可共享的配置
完善我们的配置更改的是将您的配置信息打包并与他人共享的能力。可共享的配置只是导出包含您的配置首选项的对象 npm 包。然后,您可以使用 extends 将这些设置引入您的项目。有关更多信息,请参阅 文档。
1.0.0 更新
由于一些最后一刻的反馈,我们的一些 1.0.0 计划已经有所调整。1.0.0 的更改列表现在可用 在此处。
与前一个列表相比,最大的显著变化是 #2100,这将使 --reset 成为 ESLint 的默认行为。我们收到了很多反馈,默认规则是一个主要的痛点,因此在 1.0.0 中,我们将不会默认启用任何规则。有关更多讨论,请参阅该 issue。
提醒:我们正在准备一个将在 v1.0.0 中出现的破坏性更改列表,并正在跟踪它们在 #1898 上。请关注该 issue,以便您知道会发生什么。
破坏性更改
- 破坏性更改:不要检查未设置的声明类型(修复 #2448)(Ilya Volodin)
错误修复
- 修复对象简写箭头函数(修复 #2414)(Jamund Ferguson)
- 修复:
no-loop-func规则允许 init 部分的函数(修复 #2427)(Toru Nagashima) - 修复:为最后一行添加异常(参考 #2423)(Greg Cochard)
- 修复:brace-style 不应警告 curly ifStatements 的混合使用(修复 #1739)(Gyandeep Singh)
- 修复:检查 no-use-before-define 中的额外作用域(修复 #2372)(Nicholas C. Zakas)
- 修复:崩溃在 0 max(修复 #2423)(Greg Cochard)
- 修复:不要警告成员表达式函数(修复 #2402)(Nicholas C. Zakas)
- 修复:no-wrap-func 的边缘情况(修复 #2466)(Nicholas C. Zakas)
- 修复:确保 baseConfig 不会被更改(修复 #2380)(Nicholas C. Zakas)
- 修复:generator-star-spacing 与类方法(修复 #2351)(Brandon Mills)
- 修复:改进对自引用函数的检测(修复 #2363)(Jose Roberto Vidal)
- 修复:在对象简写中包含字符串文字键(修复 #2374)(Jamund Ferguson)
- 修复:no-irregular-whitespace 应该适用于不规则的换行符(修复 #2316)(Mathias Schreck)
- 修复:no-redeclare switch 作用域(修复 #2337)(Nicholas C. Zakas)
- 修复:npm run profile 脚本应使用 espree(修复 #2150)(Mathias Schreck)
- 修复:清理 Jekyll 插值在站点生成期间(修复 #2297)(Michael Ficarra)
- 修复:space-in-brackets 无法读取属性 ‘range’(修复 #2392)(Gyandeep Singh)
- 修复:space-in-brackets 导入声明(修复 #2378)(Gyandeep Singh)
特性
- 新增:向 CLI-engine 添加 addPlugin 方法(修复 #1971)(Ilya Volodin)
- 新增:添加 dot-location 规则。(修复 #1884)(Greg Cochard)
- 新增:添加 init 命令(修复 #2302)(Ilya Volodin)
- 新增:添加支持扩展配置(修复 #1637)(Espen Hovlandsdal)
- 新增:为 no-trailing-spaces 规则添加 skipBlankLines 选项(修复 #2303)(Andrew Vaughan)
- 新增:检查 --stdin-filename 是否被忽略设置(修复 #2432)(Aliaksei Shytkin)
- 新增:linebreak-style 规则(修复 #1255)(Erik Müller)
- 新增:no-unneeded-ternary 规则,禁止在条件表达式中使用布尔文字(修复 #2391)(Gyandeep Singh)
- 新增:可共享的配置(修复 #2415)(Nicholas C. Zakas)
增强功能
- 更新:为 operator-linebreak 规则添加“none”选项(修复 #2295)(Casey Visco)
- 更新:添加 uninitialized 和 initialized 选项(修复 #2206)(Ian VanSchooten)
- 更新:为
no-extend-native和no-native-reassign添加 exception 选项(修复 #2355)(Gyandeep Singh) - 更新:key-spacing 组必须是连续的行(修复 #1728)(Brandon Mills)
文档
- 文档:将
restParams添加到ecmaFeatures选项列表中(参考:#2346)(Bogdan Savluk) - 文档:修复 no-sync 中的语法错误(Tony Lukasavage)
- 文档:对规则进行排序(Lukas Böcker)
- 文档:为所有代码围栏指定语言,并启用相应的 markdownlint 规则。(David Anson)
- 文档:更新 configuring.md 以修复不正确的链接。(Ans)
- 文档:更新 ecmaFeatures 描述(Nicholas C. Zakas)

