@frontmcp/lazy-zod

中文文档
1.12.2发布于 2026/11/15Apache-2.0TypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 1.3万

Zod 4's z 有先用后制成的复合化学剂,用于更快的起动. 出口z(懒惰)、渴望Z(佐德自己的)和懒惰Z

中文使用文档
文档目录7 节
  1. 安装
  2. 使用量
  3. 业绩
  4. 文档
  5. 相关软件包
  6. 捐款
  7. 许可证

@frontmcp/lazy-zod (英语)

佐德四号 z和复合计划一样 z.object() 建造它们第一次被使用,而不是模块加载时. 一个过程定义了许多计划,但每跑很少使用它们,如CLI,无服务器功能或边工,开始得更快. 这是一个内部包: @frontmcp/sdk 全部重新导出, 因此在 FrontMCP 服务器导入中 z, (中文(简体) ), eagerZ 财务报告和审定财务报表 lazyZ 从 @frontmcp/sdk. 它不依赖于FrontMCP的其他部分,因此也可以自行使用.

npm License

安装

npm install @frontmcp/lazy-zod zod

zod ^4.0.0 是一个对等依赖: 包包您安装的 Zod 。 Zod 3没有支持。 它需要节点.js 24或后.

使用量

导入 z 从这里而不是从 zod数字 :

import { eagerZ, lazyZ, toJSONSchema, z } from '@frontmcp/lazy-zod';

const Ticket = z.object({
  title: z.string().min(5),
  customer: z.object({ email: z.string().email() }).optional(),
});

type Ticket = z.infer<typeof Ticket>;

const ticket: Ticket = Ticket.parse({ title: 'Cannot log in' });

const jsonSchema = toJSONSchema(Ticket);

const Built = eagerZ.object({ id: eagerZ.string() });

const Deferred = lazyZ(() => eagerZ.object({ id: eagerZ.string() }));

z.object(), (中文(简体) ), z.strictObject(), (中文(简体) ), z.looseObject(), (中文(简体) ), z.union(), (中文(简体) ), z.discriminatedUnion(), (中文(简体) ), z.intersection(), (中文(简体) ), z.record() 财务报告和审定财务报表 z.tuple() 返回一个待命。 真正的"Zod"计划是第一次使用站台时建造的,通过剖析或读取像"地"这样的地物 .shape,和方法你 链上,喜欢 .optional()临Τ return 在第一次分析之后, parse, (中文(简体) ), safeParse, (中文(简体) ), parseAsync 财务报告和审定财务报表 safeParseAsync 直接给Zod打电话 其他工厂一样 z.string() 财务报告和审定财务报表 z.enum()这是Zod的自已.

一个站着的行为就像它所代表的计划: 它把同样的, instanceof ZodObject 实值 true,以及 z.infer 给出相同的类型.

导出这是什么
z (也是默认导出)佐德四号 z上面的工厂被推迟了.
eagerZ佐德自己来的 z用它来做一个计划,只要它被定义,它就会读出来.
lazyZ(build)一个叫 build() 第一次使用,只有那时.
internalZFrontMCP的软件包是用什么打造他们的计划. 每个工厂,包括叶子, 返回站台,一个站台建起它的叶子。 佐德的循环检查没有附着在他们身上,所以一个递归式计划是用 z。它不是公共API的一部分,可以在任何发布中更改:使用 z。 。 。 .
isLazy(schema)true 一个站立,从 z 或从 lazyZ()。 。 。 .
forceMaterialize(schema)真正的"Zod"计划 里面的每个站点都在里面.
hasTransform(schema)true 当计谋在树上转动的时候.transform(), (中文(简体) ), z.preprocess(), (中文(简体) ), .pipe(),一个编码器),所以它描述的可以与其输入的形状不同.
toJSONSchema(schema)Zod的 JSON Schema 转换器,运行在 forceMaterialize(schema)用它来代替Zod自己的 z.toJSONSchema(),该投出 TypeError: Cannot set properties of undefined (setting 'ref') 当计划中的物体或结合是 .optional() 或有一个 .default()。 。 。 .
ZodObject, (中文(简体) ), ZodError,, , , , , , , , 佐德的班级和类型(ZodTypeAny, (中文(简体) ), infer, (中文(简体) ), input, (中文(简体) ), output),所以您的代码不需要导入 zod。 。 。 .

业绩

这个包的原型是在1,515个生成的计程器上测出,被捆绑成一个文件,在Node.js 24(30跑的medians)上:

度量衡Zod's (Zod's) (美国英语) z懒惰 z
启动387分钟7.1毫秒(每秒)
一个计划的第一个解析0.45 分钟1.47分钟
每个计划的第一个解析235分钟616分钟
每个方案第二段31.0毫秒31.0毫秒
套装大小1.69 甲基溴1.70 甲基溴

作品没有被删除,而是被移动了:每个计划在第一次解析时成本更高. 当一个过程经常开始时,懒惰的作案方法会有所回报,只使用其中的一些作案方法. 基准及其方法和全部结果为: apps/poc-lazy-zod。 。 。 .

文档

  • @frontmcp/sdk:再出口此软件包。 在FrontMCP服务器中使用.
  • zod: 此套件的图案库 .

捐款

资料来源: libs/lazy-zod欢迎提出问题和拉动请求;见 捐款额。 。 。 .

许可证

阿帕奇2.0 (英语). 见 自由主义。 。 。 .

版本与发布记录

@frontmcp/lazy-zod 共发布 78 个版本,首次发布于 2026/04/19;过去 12 个月发布了 78 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.12.2latest2026/11/151 天前
1.12.12026/11/132 天前
1.12.02026/11/114 天前
1.12.0-rc.1rc2026/11/114 天前
1.11.32026/11/106 天前
1.11.22026/11/096 天前

其他发布通道:beta → 1.1.2-beta.1,rc → 1.12.0-rc.1。

关于 @frontmcp/lazy-zod 的常见问题

@frontmcp/lazy-zod 是什么?

Zod 4's z 有先用后制成的复合化学剂,用于更快的起动. 出口z(懒惰)、渴望Z(佐德自己的)和懒惰Z

如何安装 @frontmcp/lazy-zod?

在项目目录运行 npm install @frontmcp/lazy-zod,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:zod(^4.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@frontmcp/lazy-zod 支持 TypeScript 吗?

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

@frontmcp/lazy-zod 支持 ESM 还是 CommonJS?

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

@frontmcp/lazy-zod 需要什么版本的 Node.js?

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

@frontmcp/lazy-zod 可以商用吗?

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

@frontmcp/lazy-zod 的下载量有多少?

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

@frontmcp/lazy-zod 还在维护吗?

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