@datadog/flagging-core

中文文档
3.4.0发布于 2026/10/30Apache-2.0TypeScriptESM + CJS构建来源已验证近 30 天下载 2550.7万

用于 Datadog 标记的运行时间不可知旗帜评价逻辑

中文使用文档
文档目录4 节
  1. 配置解析切入点
  2. 准备激活时间戳
  3. 添加一个公共切入点
  4. 最终用户许可证协议

数据犬 OpenFeature 核心库

配置解析切入点

默认 @datadog/flagging-core 切入点解析没有预计算配置 装入原生起发解码器。 为了分析预先计算和基于规则的配置, 选择进入全解析器 :

import { configurationFromString, configurationToString } from '@datadog/flagging-core/rules-based'

这个 /rules-based 输入点通过两个软件包 exports 地图和a 物理状态 rules-based/package.json 对不支持一揽子出口的解析器:

  • 现代解析器使用现有的模块化通用JS/ESM执行.
  • 遗产解析器使用自成一体的 CommonJS/ESM 兼容捆绑 同一来源在 yarn build /包装准备. 包括所需的原生生物 代码,所以消费者不需要解决 /wire 或者说 /codegenv2 潜行道.
  • 两种路径都暴露出相同的API并再使用相同的TypeScript声明. 默认 入站点保持模块化,不导入相容捆绑或原生取出解码器.

兼容捆绑会增加 npm 软件包的大小, 但只使用 遗留的基于规则的切入点在应用程序包中包含它们。 他们继续依赖 版权/许可通知和源地图,未为应用程序捆绑程序指定 以优化.

包装包烟雾测试覆盖了Android和iOS捆绑,Metro包同时出口 已启用和已停用,包括遗留下来的通用JS和无害环境管理解决方案。 它执行这些捆绑 无节点 BigInt, (中文(简体) ), TextEncoder,或 TextDecoder; 此检查反向行为但确实 不在实际的赫尔墨斯或JavaScriptCore运行时替换执行测试 .

准备激活时间戳

规则配置是快照. 原生去编码器准备随机活化 时间戳一次,节点提供者准备 JSON 配置在 setConfiguration。 。 。 . 无效的激活只标记受影响的旗帜为剖析错误, 不管选择退出模式如何 . 评价对准备的秒和分数秒进行比较,而不解开时间戳; 使用 Java 脚本 Date 这里将失去选择停产时所需的纳秒精度.

直接JSON核心消费者可以打电话 prepareUniversalFlagConfiguration(configuration) 何时 正在接收配置。 现有的低级评价电话仍然接受原始配置 并准备每面国旗首次使用。 替换已更改的旗帜, 而不是已准备的变异 旗帜就位。 准备不会改变序列化配置.

添加一个公共切入点

packages/core/package.json exports 是真理的唯一来源 为公共道路. 添加 @datadog/flagging-core/foo数字 :

  1. 创建 src/foo.ts 与预期的出口。 在此保留任何所需的初始化 源入点,而不是添加到捆绑器特定列表中.

  2. 添加其现代映射到 exports数字 :

    {
      "./foo": {
        "types": "./cjs/foo.d.ts",
        "import": "./esm/foo.js",
        "require": "./cjs/foo.js",
        "default": "./esm/foo.js"
      }
    }
    
  3. 运行 yarn workspace @datadog/flagging-core build ,并将生成的元数据输入 来源改变。 照常添加该特征的行为测试.

构建生成物理回落表, 发布文件列表, 遗产声明 映射,和相容-捆绑副作用条目. 它发现并建立了CJS/ESM 每个公开的 JavaScript 子路径自动的兼容捆绑 。 不编辑这些 在Webpack配置或烟雾固定装置中显示或登记新路径.

支持混凝土嵌入子路径;通配符导出和不匹配 CJS/ESM/类型目标 失败时发生可操作错误。 删除路径 exports 并重建 拥有后退显示和生成的元数据,而不删除无关的文件.

yarn check:entrypoints 检查生成的元数据而不更改文件 。 线人以前开过 建筑物,以及 prepack 在打包前先检查一下,所以一个已失效的发布文件列表不能默默无闻 省略新的切入点。 包装测试发现每个已申报路径并生成 用于完整地铁矩阵的静态导入。 默认的切入点仍然单独而轻.

最终用户许可证协议

https://www.datadoghq.com/legal/eula 互联网档案馆的存檔,存档日期2013-12-02

版本与发布记录

@datadog/flagging-core 共发布 51 个版本,首次发布于 2025/07/15;过去 12 个月发布了 23 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
3.4.0latest2026/10/3012 天前
3.3.02026/10/2814 天前
3.2.02026/10/101 个月前
3.1.12026/09/261 个月前
3.1.02026/09/241 个月前
3.0.12026/09/221 个月前

其他发布通道:alpha → 0.1.0-preview.2,preview → 0.1.0-preview.14。

关于 @datadog/flagging-core 的常见问题

@datadog/flagging-core 是什么?

用于 Datadog 标记的运行时间不可知旗帜评价逻辑

如何安装 @datadog/flagging-core?

在项目目录运行 npm install @datadog/flagging-core,或使用 pnpm add / yarn add / bun add。

@datadog/flagging-core 支持 TypeScript 吗?

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

@datadog/flagging-core 支持 ESM 还是 CommonJS?

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

@datadog/flagging-core 可以商用吗?

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

@datadog/flagging-core 的下载量有多少?

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

@datadog/flagging-core 还在维护吗?

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