如何使用 ESLint 2 禁用某些 ES2015 功能?

How to disable usage of certain ES2015 features with ESLint 2?

在 ESLint 1 中,我可以使用 ecmaFeatures 选项来禁用或启用某些语言功能。例如

ecmaFeatures:
  defaultParams:  false

以上配置禁用 defaultParams

这非常有用,因为在像 Node 这样的运行时,并非所有功能都可用,我不想使用转译器。

但是在 ESLint 2 中,它被删除了。你只有 ecmaVersion,它根本不会提醒你使用 ES2015 特性,即使你给它一个 ecmaVersion 5。我想这是有道理的,因为 JavaScript 解释器会抱怨关于在解释时使用不受支持的语法,但是为具有不同级别的 ES2015 支持的浏览器开发呢?适用于 Chrome 的语法不适用于 IE9。

有什么方法可以检查语言特性的使用,例如禁用解构?

no-restricted-syntax rule disallows specific syntax. This "syntax" is meaning the types of AST nodes. The spec of AST is here: https://github.com/estree/estree

eslint-plugin-node 的 no-unsupported-features 规则不允许特定节点版本不支持的 ECMA 功能。不知道有没有类似的浏览器规则