ESLint 0.21.0 发布

我们刚刚发布了 ESLint 0.21.0,这是一个小版本升级。此版本包含新功能和错误修复。

亮点

这是您需要了解的此版本 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-nativeno-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)

最新的 ESLint 新闻、案例研究、教程和资源。

ESLint v10.0.0 released
9 分钟阅读

ESLint v10.0.0 发布

我们刚刚发布了 ESLint v10.0.0,这是 ESLint 的一个重大版本升级。此版本添加了一些新功能并修复了先前版本中发现的几个错误。此版本还包含一些破坏性更改,请仔细阅读以下内容。

ESLint v10.0.0-rc.2 released
1 分钟阅读

ESLint v10.0.0-rc.2 发布

我们刚刚发布了 ESLint v10.0.0-rc.2,这是 ESLint 的补丁版本升级。此版本修复了先前版本中发现的几个错误。

ESLint v10.0.0-rc.1 released
2 分钟阅读

ESLint v10.0.0-rc.1 发布

我们刚刚发布了 ESLint v10.0.0-rc.1,这是 ESLint 的次要版本升级。此版本添加了一些新功能并修复了先前版本中发现的几个错误。