@12-apps/feature-flags

中文文档
2.4.1发布于 2026/08/25MITTypeScriptES Module零依赖构建来源已验证近 30 天下载 3.2万

用户级特征旗帜:每个用户的β赠款由租户轴上的一个VEIL组成——从来没有经过它们的关键. 核心读取器(.),框架中性超admin管理端点(./服务器),管理屏幕(./反应),接线表(./明显*),以及

中文使用文档
文档目录5 节
  1. 一条规则:一面旗帜是面纱,从来不是钥匙
  2. 何所住处
  3. 表面
  4. 收养草图(服务器)
  5. 普里斯马

@ 12- 应用程序/ 地标

用户级功能旗:一个超级admin将一个功能赋予个人的β 人员 ——一地主和一地一地一地的几个用户——只看到.

一条规则:一面旗帜是面纱,从来不是钥匙

国旗由 和 在主机的每个轴上 只能这样 缩窄 可见度;它从未开启一个特征 租户的计划, 生命周期状态,自设设置或RBAC关闭. 有两个后果:

  • 赠款是全球用户的,是安全的. 补助金按个人发放,以及 在一个店里,租客斧头否认这个特征, 赠款灯光什么也没有—— 这正是为什么不需要每十年补助金一栏.
  • 面纱没有关闭. 缺失、 停滞或卸载失败的旗帜 隐藏特性 。 这是 相对 b. 减少应享待遇 规则(未解锁 qq), 故意解锁 : stale 客户端绝对不能 不得泄露未释放的.

在源主机中,服务器侧顺序是 401 auth → 403 RBAC → flag veil → 402 entitlements - 面纱坐在权利堆放之前 所以没有人是 提升一个尚不能购买的特性.

何所住处

  • 赠款 生活在数据库中 : user_feature_grants,每行一行 (用户,旗帜),无行 = 该旗帜默认(关闭), enabled: false = 一个 明确的选择退出,在未来的默认推出中存活下来. user_id 是一个 by-value scalar——没有将FK输入主机表格(支付后端学说).
  • 目录 是HOST CODE,作为配置提交。 没有代码的旗帜 它的后方却一无所为——每艘旗舰都有部署。 补助金 他的钥匙留下目录 孤儿:管理层报告 表面,读者看不见.
  • 每言为主. 银幕 copy (单位:千美元)FeatureFlagsCopy和 路线的拒绝判决FeatureFlagsServerCopy)为需要配置 没有默认的 — 软件包没有沉默语言, 服务器 组装失败, 无法命名每个缺失的密钥 。 pt-BR 仍为舰只,作为命名包 (单位:千美元)PT_BR_FEATURE_FLAGS_COPY 从 ./react, (中文(简体) ), PT_BR_FEATURE_FLAGS_SERVER_COPY 从 ./server: 主机导入一个和 因此,选择语言是可审查的行。 这个 机器 error 代码( e)unknown_flag, (中文(简体) ), user_not_found)是马厩 半个客户端可以切入 旁边的句子是主机的.

表面

子路径导出这是什么
.createFlagReader执行部分 flagsFor(userId) 用于主机门
./servercreateApiFeatureFlags超admin管理表面的6个框架中立路由描述符(线形)
./reactcreateWebFeatureFlags管理屏幕, { page }
./manifest, (中文(简体) ), ./manifest/server, (中文(简体) ), ./manifest/web线条清单通过 @12-apps/wiring/consumer

名单中故意缺席: 没有 mcp (表面仅为浏览器) ——超级持卡人已经继承了跨租户对共享工具的接触) 财务报告和审定财务报表 没有 permissions (原主机中的平台权威是一个掩体) 许可列表 id 无法表达).

收养草图(服务器)

import { createWiringHost } from '@12-apps/wiring/consumer';
import { featureFlagsManifest } from '@12-apps/feature-flags/manifest';
import { featureFlagsServerManifest } from '@12-apps/feature-flags/manifest/server';

const host = createWiringHost({ name: 'my-host', kind: 'server' });
host.adoptServer({
  manifest: featureFlagsManifest,
  server: featureFlagsServerManifest,
  bindings: {
    http: {
      mountPath: '/api/platform/feature-flags',
      // `copy` is every denial sentence — required; pass a named pack or
      // your own object.
      config: { db, catalog, directory, copy, audit },
    },
  },
});
const wired = host.assemble();

主机在任何操作员运行前解决演员(其超守门员); 演员是 { email } ——审计身份,不是授权输入. 路由订单为有载量的订单调度器(/users/:userId 在此之前 /:key/…),以及 assertCatalog 拒绝命名的旗帜 users 这么说 静态部分永远无法被吞噬.

普里斯马

prisma/feature-flags.prisma 被复制到主机中 —— 永远不能对齐 —— 计划文件夹由 pnpm --filter @12-apps/feature-flags prisma:sync (单位:千美元)--check 船闸漂移). 迁移是由宿主发现的 插件同步从 prisma/migrations/。 。 。 .

版本与发布记录

@12-apps/feature-flags 共发布 11 个版本,首次发布于 2026/08/21;过去 12 个月发布了 11 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2.4.1latest2026/08/252 个月前
2.4.02026/08/252 个月前
2.3.02026/08/252 个月前
2.2.02026/08/242 个月前
2.1.12026/08/212 个月前
2.1.02026/08/212 个月前

关于 @12-apps/feature-flags 的常见问题

@12-apps/feature-flags 是什么?

用户级特征旗帜:每个用户的β赠款由租户轴上的一个VEIL组成——从来没有经过它们的关键. 核心读取器(.),框架中性超admin管理端点(./服务器),管理屏幕(./反应),接线表(./明显*),以及

如何安装 @12-apps/feature-flags?

在项目目录运行 npm install @12-apps/feature-flags,或使用 pnpm add / yarn add / bun add。

@12-apps/feature-flags 支持 TypeScript 吗?

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

@12-apps/feature-flags 支持 ESM 还是 CommonJS?

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

@12-apps/feature-flags 需要什么版本的 Node.js?

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

@12-apps/feature-flags 可以商用吗?

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

@12-apps/feature-flags 的下载量有多少?

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

@12-apps/feature-flags 还在维护吗?

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