@atproto/lex-installer

中文文档
0.2.7发布于 2026/11/06MITTypeScriptES Module构建来源已验证近 30 天下载 17.8万

AT Lexicons 文档包管理器

中文使用文档
文档目录3 节
  1. 分辨率来源
  2. 连线
  3. 许可证

@atproto/lex-installer (英语)

软件包管理器 语法 文档。 这是背后的引擎 lex install 命令:它通过 国家统计数据库,将其写入本地目录,并跟踪其版本(CID) lexicons.json 显出.

import { install } from '@atproto/lex-installer'

await install({
  lexicons: './lexicons',
  manifest: './lexicons.json',
  add: ['app.bsky.feed.post'],
  save: true,
})

多数项目应使用 lex install 来自CLI @atproto/lex 而不是直接调用这个包.

分辨率来源

按优先顺序排列,每个Lexicon的解析方式如下:

  1. 明确 at:// URI 资源 ——从该回购中取出(并核实).

  2. 明确的本地文件 作为添加而通过 —— 作为 file:// URI 或 微调 内有斜线( a)./app.bsky.feed.post.json, (中文(简体) ), file://../shared/my.json从磁盘中读取 (与cwd有关);其NSID取自文档的 id。 。 。 .

  3. 名单 resolvers - 已订购的当地压倒性战略清单 网络之前的每个依赖 NSID 。 目前仅 directory 已支持:

    {
      "version": 1,
      "lexicons": ["com.example.foo"],
      "resolvers": [
        {
          "type": "directory",
          "path": "../../lexicons", // relative to this lexicons.json
          "include": ["com.example.*"], // optional NSID globs (default: all)
          "exclude": [], // optional NSID globs this resolver never answers for
        },
      ],
      "resolutions": {
        "com.example.foo": {
          "uri": "file://../../lexicons/com/example/foo.json",
          "cid": "...",
        },
      },
    }
    

    解析器是优先排序的(第一次比赛获胜),并且是 没有 按显示顺序重排 正常化。 A 类 directory 解析器映射 NSID 到 <path>/<a>/<b>/<c>.json。 。 。 .

  4. 网络 ——总是最后的倒计时:NSID DNS _lexicon.<authority> - 签了 com.atproto.lexicon.schema 记录.

[注] 一个未来 { "type": "repo", ... } 解析器(从特定 DDE 而不是 DNS 解析) 已计划但尚未执行.

从 a 解析出表单 本地文件 (上文来源2和3) 链接 输入输出 lexicons/ 目录而不是复制,所以编辑到源文件时不反映 重新开始。 符号链接是相对于其可移植性目的地所写. 作为例外, 如果已解析的目的地路径等于源路径,则文件将保持不变。 他们的仪表 锁定 uri 是一个 file:// 与清单相对的路径,保持其可移植的通关. 网络解析的 Lexicons 被写成普通的 JSON 文件并用其锁定 at:// URI (英语).

许可证

根据麻省理工学院和Apache 2.0条款,这个项目具有双重许可证:

下游项目和终端用户可自行选择单独或共同发放许可证。 这种双重许可的动机是Apache 2.0提供的额外软件专利保证.

版本与发布记录

@atproto/lex-installer 共发布 70 个版本,首次发布于 2025/11/25;过去 12 个月发布了 70 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.2.7latest2026/11/061 天前
0.0.0-spaces-alpha-20261105160032alpha2026/11/062 天前
0.0.0-spaces-alpha-202610291719132026/10/309 天前
0.2.42026/10/2810 天前
0.2.32026/10/2711 天前
0.0.0-spaces-alpha-202610221412282026/10/2216 天前

其他发布通道:next → 0.1.0-next.0,alpha → 0.0.0-spaces-alpha-20261105160032。

关于 @atproto/lex-installer 的常见问题

@atproto/lex-installer 是什么?

AT Lexicons 文档包管理器

如何安装 @atproto/lex-installer?

在项目目录运行 npm install @atproto/lex-installer,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 lex-installer,可以用 npx lex-installer 直接运行。

@atproto/lex-installer 支持 TypeScript 吗?

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

@atproto/lex-installer 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@atproto/lex-installer 需要什么版本的 Node.js?

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

@atproto/lex-installer 可以商用吗?

@atproto/lex-installer 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@atproto/lex-installer 的下载量有多少?

根据 npm 官方下载统计,@atproto/lex-installer 在 2026/10/07 – 2026/11/05 这 30 天内被下载 177,615 次,日均约 5,921 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@atproto/lex-installer 还在维护吗?

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