@bufbuild/cel

中文文档
0.6.2发布于 2026/11/04Apache-2.0TypeScriptESM + CJS构建来源已验证近 30 天下载 367.7万

ECMAScript的CEL评价员

中文使用文档

@bufbuilding/ cel (英语)

此软件包提供了 简历 eCMAScript评价员.

示例

让我们来评估一个 CEL 表达式的变量 name 并使用 strings 扩展函数 :

import { run } from "@bufbuild/cel";
import { strings } from "@bufbuild/cel/ext";

run(
  `name.indexOf('taco') == 0`, // CEL expression to run
  { name: "tacocat" }, // Bind a value to the variable `name`
  { funcs: strings }, // Register `indexOf` and other string extensions
); // true

就这样!

以创建可重复使用的评价人及更多评价人为例,参见: 实例.ts。 。 。 .

类型

下表将JS类型映射为CEL类型.

  • Input 栏是可传递给评估者作为输入值的任何值。 (CelInput(中文(简体) )
  • CEL Type 栏是运行时将代表的 CEL 类型。 (CelType(中文(简体) )
  • Output 栏是评估者返回的数值的类型,或者从 eval 或作为函数执行的参数。 ()CelValue(中文(简体) )
输入( JS 类型)CEL 类型( 运行时间)输出( JS 类型)
编号, {浮出水面, Double} 数值双编号
bigint, 所有签名的收件夹单位二进制
CelUint, 所有未签名的包装宾特塞卢特语Name
字符串, 字符串数值字符串字符串
Uint8 箭头, 字节Value字节Uint8 阵列
映射地图地图塞尔马普
任何[ ],反射列表列表凯尔利斯特语Name
布尔,布尔瓦卢嘘布尔
无效无效类型无效
凯尔特语Name类型凯尔特语Name
时间戳, 反射时间戳反思
持续时间, 反射会期反思
信件, 反射消息, 任意类型Name反思
(原始内容存档于2017-10-29). google.protobuf. 价值和朋友双/波尔/弦/列表/地图/null编号/布尔/字符串/CelList/CelMap

版本与发布记录

@bufbuild/cel 共发布 9 个版本,首次发布于 2025/04/30;过去 12 个月发布了 5 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.6.2latest2026/11/044 天前
0.6.12026/08/272 个月前
0.6.02026/06/015 个月前
0.5.02026/05/076 个月前
0.4.02026/01/219 个月前
0.3.02025/07/281.3 年前

关于 @bufbuild/cel 的常见问题

@bufbuild/cel 是什么?

ECMAScript的CEL评价员

如何安装 @bufbuild/cel?

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

@bufbuild/cel 支持 TypeScript 吗?

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

@bufbuild/cel 支持 ESM 还是 CommonJS?

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

@bufbuild/cel 可以商用吗?

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

@bufbuild/cel 的下载量有多少?

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

@bufbuild/cel 还在维护吗?

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