@brighte/platform-core-utils

中文文档
0.1.0发布于 2026/03/31UNLICENSEDTypeScriptESM + CJS近 30 天下载 4076

Brighte平台团队共享内部公用事业包

中文使用文档
文档目录11 节
  1. 模块
  2. 安装
  3. 契约模块
  4. 创建提供者
  5. 构建图QL 互动
  6. 虚拟配置
  7. 出版条约
  8. CI 部署检查
  9. 发展
  10. 版本和发行
  11. 出版工作流程

@ brighte/ platform- core- utils

布莱特平台团队共享内部公用设施包.

这个软件包提供多个存储库中常见的可重复使用的辅助器和公用事业. 它被设计成递增增长——每个模块都是轻量级的,可以独立测试,并且与无关的依赖性隔离. 目前包括契约合同测试公用事业,计划采用更多的模块.

模块

模块入境点状态说明
pact@brighte/platform-core-utils准备契约消费者合同测试帮助者
pact/config@brighte/platform-core-utils/config准备用于协议测试的虚拟配置工厂
pact/publish@brighte/platform-core-utils/publish准备向经纪人发布契约的脚本助手

新模块进入 src/<module>/ 并且从一个专用的子路径导出,如果它们具有不同的依赖性。 见 克劳德·姆德 捐款准则.

安装

npm install --save-dev @brighte/platform-core-utils

@pact-foundation/pact, (中文(简体) ), graphql,以及 @graphql-typed-document-node/core 作为依赖性自动安装.

为可选特性安装对等依赖 :

# For vitest config (createPactVitestConfig)
npm install --save-dev vitest vite-tsconfig-paths

# For publishing pacts (publishPacts)
npm install --save-dev @pact-foundation/pact-node

说明: 发布到 npm @brighte 范围。 确保您的项目 .npmrc 以正确的认证符号配置.


契约模块

创建提供者

import { createProvider } from '@brighte/platform-core-utils';

export const provider = createProvider({
  consumer: 'my-app',
  provider: 'api-service',
  logLevel: 'info', // optional, defaults to PACT_LOG_LEVEL env var or 'warn'
  dir: './generated-pacts', // optional, defaults to './generated-pacts'
});

构建图QL 互动

import { createGraphqlQueryInteraction } from '@brighte/platform-core-utils';
import { MatchersV3 } from '@pact-foundation/pact';
import { someQuery } from './queries.graphql';

const interaction = createGraphqlQueryInteraction({
  state: 'user with id 123 exists',
  uponReceiving: 'a request for user data',
  query: someQuery,
  variables: { id: '123' },
  responseBody: {
    user: MatchersV3.like({ id: '123', name: 'John Doe' }),
  },
});

虚拟配置

// pact/setup/config.ts
import tsconfigPaths from 'vite-tsconfig-paths';
import { defineConfig } from 'vitest/config';
import { createPactVitestConfig } from '@brighte/platform-core-utils/config';

export default defineConfig({ ...createPactVitestConfig(), plugins: [tsconfigPaths()] });

出版条约

// pact/setup/publish.pact.ts
import { publishPacts } from '@brighte/platform-core-utils/publish';

await publishPacts();

CI 部署检查

// pact/setup/can-i-deploy.ts
import { canIDeploy } from '@brighte/platform-core-utils';

const environment = process.env['ENVIRONMENT'];
if (!environment) { console.error('ENVIRONMENT is not set'); process.exit(1); }
canIDeploy({ pacticipant: 'my-app', toEnvironment: environment });
// pact/setup/record-deployment.ts
import { recordDeployment } from '@brighte/platform-core-utils';

const environment = process.env['ENVIRONMENT'];
if (!environment) { console.error('ENVIRONMENT is not set'); process.exit(1); }
recordDeployment({ pacticipant: 'my-app', environment });

完整的契约设置指南见 文件/邮编。 。 。 .


发展

npm install       # install deps
npm run build     # compile CJS + ESM to dist/
npm run lint      # eslint
npm test          # vitest
npm run clean     # remove dist/

版本和发行

此软件包使用 语义版本。每次合并到 npm 时自动发布到 npm main。 。 。 .

  1. 弹出 package.json 版本(例如:. 1.0.0 → 1.1.0(中文(简体) )
  2. 更新 CHANGELOG.md
  3. 提交并打开 PR 对 main
  4. 一旦合并, publish.yml 运行并发布到 npm

如果该版本在 package.json 未更改, 发布步骤会跳过( 没有重出已存在的版本 ) .

出版工作流程

工作流程触发目的
ci.yml将/ PR 推到 main建置、用意、测试、循环解析检查
publish.yml合并到 main发布稳定释放到 npm
beta.yml手动发送发布 beta 调值

版本与发布记录

@brighte/platform-core-utils 共发布 14 个版本,首次发布于 2026/03/26;过去 12 个月发布了 14 个版本。

版本发布日期距今
0.1.0latest2026/03/317 个月前
0.1.0-beta.a6e7ae3-beta.f2a1324beta2026/03/317 个月前
0.1.0-beta.8e759ff2026/03/277 个月前
0.1.0-beta.458247a2026/03/277 个月前
0.1.0-beta.6844e962026/03/277 个月前
0.1.0-beta.962de632026/03/277 个月前

关于 @brighte/platform-core-utils 的常见问题

@brighte/platform-core-utils 是什么?

Brighte平台团队共享内部公用事业包

如何安装 @brighte/platform-core-utils?

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

@brighte/platform-core-utils 支持 TypeScript 吗?

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

@brighte/platform-core-utils 支持 ESM 还是 CommonJS?

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

@brighte/platform-core-utils 可以商用吗?

@brighte/platform-core-utils 使用 UNLICENSED 许可。作者声明为 UNLICENSED,即不授予公开使用许可(与公共领域的 Unlicense 不同)。使用前需获得作者授权。以上为概括,不构成法律意见,请以许可原文为准。

@brighte/platform-core-utils 的下载量有多少?

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

@brighte/platform-core-utils 还在维护吗?

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