eslint-visitor-keys

中文文档
5.0.1发布于 2026/02/20Apache-2.0TypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 15.3亿

关于遍历AST的访问者键的常量和实用程序。

中文使用文档
文档目录15 节
  1. 💿安装
  2. 需求
  3. 📖用法
  4. evk。键
  5. evk.getKeys(节点)
  6. evk.unionWith (additionalKeys)
  7. 📰变更日志
  8. 🍻贡献
  9. 开发的命令
  10. 赞助商
  11. 白金赞助商
  12. 黄金赞助商
  13. 银赞助商
  14. 青铜赞助商
  15. 技术赞助商

eslint-visitor-keys

npm version Downloads/month Build Status

关于遍历AST的访问者键的常量和实用程序。

💿安装

使用 npm 安装。

$ npm install eslint-visitor-keys

需求

📖用法

在ESM文件中使用:

import * as evk from "eslint-visitor-keys";

在CommonJS文件中使用:

const evk = require("eslint-visitor-keys");

evk。键

类型: { [type: string]: string[] | undefined }

客人的钥匙。这些钥匙冻住了。

这是一个物体。键是的类型 ESTree 节点。它们的值是一个具有子节点的属性名数组。

例如:

console.log(evk.KEYS.AssignmentExpression) // → ["left", "right"]

evk.getKeys(节点)

类型: (node: object) => string[]

获取给定AST节点的访问者键。

这类似于 Object.keys(node) 的标准,但一些关键字被排除在外: parent, leadingComments, trailingComments,以及以。开头的名字 _。

这将用于遍历未知节点。

例如:

const node = {
    type: "AssignmentExpression",
    left: { type: "Identifier", name: "foo" },
    right: { type: "Literal", value: 0 },
};
console.log(evk.getKeys(node)); // → ["type", "left", "right"]

evk.unionWith (additionalKeys)

类型: (additionalKeys: object) => { [type: string]: string[] | undefined }

使联合集与 evk.KEYS 以及给定的键。

  • 键的顺序是, additionalKeys 那是刚开始吗 evk.KEYS 在此之后连接。
  • 它删除重复的键,保留第一个键。

例如:

console.log(
    evk.unionWith({
        MethodDefinition: ["decorators"],
    }),
); // → { ..., MethodDefinition: ["decorators", "key", "value"], ... }

📰变更日志

看到 GitHub版本。

🍻贡献

受欢迎的。看到 ESLint贡献指南。

开发的命令

  • npm test 运行测试并度量代码覆盖率。
  • npm run lint 用ESLint检查源代码。
  • npm run test:open-coverage 使用默认浏览器打开前一个测试的代码覆盖率报告。

赞助商

以下公司、组织和个人支持ESLint的持续维护和开发。 成为赞助商 把你的标志印在我们的自述上 网站。

白金赞助商

Automattic

黄金赞助商

Qlty Software Shopify

银赞助商

Vite Liftoff StackBlitz

青铜赞助商

Cybozu SAP CrawlJobs Depot N-iX Ltd Icons8 Discord GitBook HeroCoders TestMu AI Open Source Office (Formerly LambdaTest)

技术赞助商

技术赞助商允许我们免费使用他们的产品和服务,作为对开源生态系统和我们工作的贡献的一部分。

Netlify Algolia 1Password

版本与发布记录

eslint-visitor-keys 共发布 21 个版本,首次发布于 2017/11/17;过去 12 个月发布了 2 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
5.0.1latest2026/02/208 个月前
5.0.02025/11/1111 个月前
4.2.12025/06/091.4 年前
4.2.02024/10/302 年前
4.1.02024/09/272 年前
4.0.02024/02/102 年前

关于 eslint-visitor-keys 的常见问题

eslint-visitor-keys 是什么?

关于遍历AST的访问者键的常量和实用程序。

如何安装 eslint-visitor-keys?

在项目目录运行 npm install eslint-visitor-keys,或使用 pnpm add / yarn add / bun add。

eslint-visitor-keys 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

eslint-visitor-keys 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

eslint-visitor-keys 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js ^20.19.0 || ^22.13.0 || >=24。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

eslint-visitor-keys 可以商用吗?

eslint-visitor-keys 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

eslint-visitor-keys 的下载量有多少?

根据 npm 官方下载统计,eslint-visitor-keys 在 2026/10/04 – 2026/11/02 这 30 天内被下载 1,528,294,554 次,日均约 50,943,152 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

eslint-visitor-keys 还在维护吗?

最新版本 5.0.1 发布于 2026/02/20(8 个月前);至今共发布 21 个版本,其中过去 12 个月发布了 2 个;首次发布于 2017/11/17。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。