eslint 8 兑现顶级 await

eslint 8 to honor top-level await

我正在使用 top-level await in my nodejs module

You can use the await keyword on its own (outside of an async function) within a JavaScript module.

Files ending with .js are loaded as ES modules when the nearest parent package.json file contains a top-level field "type" with a value of "module"

$ jq -r '.type' package.json
module

$ node --version
v16.14.2

$ npm --version
8.7.0

$ jq -r '.devDependencies.eslint' package.json
8.12.0

当我 运行 eslint 应该有 a support for top-level await 时,我得到了错误

Parsing error: Cannot use keyword 'await' outside an async function

如何让 eslint 成为顶级 await

确保:

  • 您正在使用 ESLint >=8。
  • 你有正确的 parser optionsecmaVersion 应该是 2022"latest"sourceType 应该是 "module"(ESLint不遵守 package.json 文件中的 "type": "module" 设置)。

下次您有关于 ESLint 的问题时,请展示您的 ESLint 配置(通常是 .eslintrc.json.eslintrc.yml)以获得更具体的建议。