@commercetools-test-data/commons

中文文档
10.18.2发布于 2025/05/08MITTypeScriptESM + CJS近 30 天下载 1.1万

商务工具平台通用类型数据模型

中文使用文档
文档目录7 节
  1. Address
  2. KeyReference
  3. LocalizedString
  4. Money
  5. Price
  6. Reference
  7. PriceTier

@ commercialtools- test-data/ commons (英语)

此软件包为商务工具平台提供了常见类型的数据模型

https://docs.com.com/api/types (中文(简体) )

安装

$ pnpm add -D @commercetools-test-data/commons

使用量

Address

import {
  Address,
  AddressDraft,
  type TAddress,
  type TAddressDraft,
} from '@commercetools-test-data/commons';

const address = Address.random().build<TAddress>();
const addressDraft = AddressDraft.random().build<TAddressDraft>();

精密货币

import {
  CentPrecisionMoney,
  CentPrecisionMoneyDraft,
  type TCentPrecisionMoney,
  type TCentPrecisionMoneyDraft,
} from '@commercetools-test-data/commons';

const centPrecisionMoney =
  CentPrecisionMoney.random().build<TCentPrecisionMoney>();
const centPrecisionMoneyDraft =
  CentPrecisionMoneyDraft.random().build<TCentPrecisionMoneyDraft>();

客户端日志

import {
  ClientLogging,
  type TClientLogging,
} from '@commercetools-test-data/commons';
const clientLogging = ClientLogging.random().build<TClientLogging>();

折扣线项目组合

import {
  DiscountedLineItemPortionRest,
  DiscountedLineItemPortionDraftRest,
  DiscountedLineItemPortionGraphql,
  DiscountedLineItemPortionDraftGraphql,
} from '@commercetools-test-data/commons';

const restDiscountedLineItemPortion = \
  DiscountedLineItemPortionRest.random().build();
const restDiscountedLineItemPortionDraft =
  DiscountedLineItemPortionDraftRest.random().build();

const graphqlDiscountedLineItemPortion =
  DiscountedLineItemPortionGraphql.random().build();
const graphqlDiscountedLineItemPortionDraft =
  DiscountedLineItemPortionDraftGraphql.random().build();

贴现 项目价格

import {
  DiscountedLineItemPriceRest,
  DiscountedLineItemPriceGraphql,
} from '@commercetools-test-data/commons';

const restDiscountedLineItemPrice = \
  DiscountedLineItemPriceRest.random().build();
const restDiscountedLineItemPriceDraft =
  DiscountedLineItemPriceDraftRest.random().build();

高精度货币

import {
  HighPrecisionMoney,
  HighPrecisionMoneyDraft,
  type THighPrecisionMoney,
  type THighPrecisionMoneyDraft,
} from '@commercetools-test-data/commons';

const highPrecisionMoney =
  HighPrecisionMoney.random().build<THighPrecisionMoney>();
const highPrecisionMoneyDraft =
  HighPrecisionMoneyDraft.random().build<THighPrecisionMoneyDraft>();

KeyReference

import {
  KeyReference,
  KeyReferenceDraft,
  type TKeyReference,
  type TKeyReferenceDraft,
} from '@commercetools-test-data/commons';

const productKeyRef = KeyReference.random()
  .typeId('product')
  .build<TKeyReference<'product'>>();
const productKeyRefDraft = KeyReferenceDraft.random()
  .typeId('product')
  .build<TKeyReferenceDraft<'product'>>();

LocalizedString

import {
  LocalizedString,
  LocalizedStringDraft,
  type TLocalizedString,
  type TLocalizedStringDraft,
} from '@commercetools-test-data/commons';

const name = LocalizedString.random().build<TLocalizedString>();
const nameDraft = LocalizedStringDraft.random().build<TLocalizedString>();

// Presets
const emptyName = LocalizedString.presets.empty().build<TLocalizedString>();
const emptyNameDraft = LocalizedStringDraft.presets
  .empty()
  .build<TLocalizedStringDraft>();

Money

import {
  Money,
  MoneyDraft,
  type TMoney,
  type TMoneyDraft,
} from '@commercetools-test-data/money';

const Money = Money.random().build<TMoney>();
const MoneyDraft = MoneyDraft.random().build<TMoneyDraft>();

Price

import {
  Price,
  PriceDraft,
  type TPrice,
  type TPriceDraft,
} from '@commercetools-test-data/commons';

const price = Price.random().build<TPrice>();
const priceDraft = PriceDraft.random().build<TPriceDraft>();

Reference

import {
  Reference,
  ReferenceRest,
  ReferenceGraphql,
  ReferenceDraft,
  ReferenceDraftRest,
  ReferenceDraftGraphql,
  type TReference,
  type TReferenceDraft,
} from '@commercetools-test-data/commons';

// DEPRECATED. Please use one of the methods below
const productRef = Reference.random()
  .typeId('product')
  .build<TReference<'product'>>();
const restProductRef = ReferenceRest.random().
  .typeId('product')
  .build();
const graphqlProductRef = ReferenceGraphql.random().
  .typeId('product')
  .build();

// DEPRECATED. Please use one of the methods below
const productRefDraft = ReferenceDraft.random()
  .typeId('product')
  .build<TReferenceDraft<'product'>>();
const restProductRefDraft = ReferenceDraftRest.random().
  .typeId('product')
  .build();
const graphqlProductRefDraft = ReferenceDraftGraphql.random().
  .typeId('product')
  .build();


// Presets
const restCategoryRef = ReferenceRest.presets
  .category()
  .build();
const graphqlCategoryRefDraft = ReferenceDraftGraphql.presets
  .category()
  .build();

PriceTier

import { PriceTier, type TPriceTier } from '@commercetools-test-data/commons';

const productRef = PriceTier.random().build<TPriceTier>();

// Presets
const categoryRef = PriceTier.presets.build<TPriceTier>();

版本与发布记录

@commercetools-test-data/commons 共发布 606 个版本,首次发布于 2020/10/08;过去 12 个月发布了 0 个版本。

版本发布日期距今
10.18.2latest2025/05/081.5 年前
0.0.0-canary-20250508100830canary2025/05/081.5 年前
10.18.12025/05/071.5 年前
0.0.0-canary-202505071304522025/05/071.5 年前
10.18.02025/05/071.5 年前
0.0.0-canary-202505070711342025/05/071.5 年前

关于 @commercetools-test-data/commons 的常见问题

@commercetools-test-data/commons 是什么?

商务工具平台通用类型数据模型

如何安装 @commercetools-test-data/commons?

在项目目录运行 npm install @commercetools-test-data/commons,或使用 pnpm add / yarn add / bun add。

@commercetools-test-data/commons 支持 TypeScript 吗?

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

@commercetools-test-data/commons 支持 ESM 还是 CommonJS?

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

@commercetools-test-data/commons 可以商用吗?

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

@commercetools-test-data/commons 的下载量有多少?

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

@commercetools-test-data/commons 还在维护吗?

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