@canonical/token-types

中文文档
0.44.0发布于 2026/10/23LGPL-3.0TypeScriptES Module零依赖构建来源已验证近 30 天下载 5916

Canonical 设计标志工具的共享类型 .

中文使用文档
文档目录6 节
  1. 安装
  2. 使用量
  3. 出口
  4. 类型
  5. 运行时间
  6. 发展

@ canonical/ token 类型

用于Canonical设计符号工具的共享类型Script类型. 这个包定义了Terrazzo CSS插件(生产者)和LSP(消费者)之间的JSON合同—— tokens.json 工艺品格式.

安装

bun add -d @canonical/token-types

使用量

导入工作类型 tokens.json 文物:

import type { Artifact, ArtifactToken, ArtifactEnvelope } from "@canonical/token-types";

function loadTokens(json: ArtifactEnvelope): Artifact {
  if ("tokens" in json) return json.tokens; // wrapped envelope
  return json;                               // flat artifact
}

使用运行时守护以缩小 DTCG 类型字符串 :

import { isKnownDtcgTokenType } from "@canonical/token-types";

if (isKnownDtcgTokenType(token.type)) {
  // token.type is narrowed to KnownDtcgTokenType
}

出口

类型

类型说明
Artifact完整的文物:CSS可变名称为符元数据.
ArtifactToken将元数据、解析值、源位置、推导和登记字段合并在一起的单一符号条目.
ArtifactTokenInit建造由DTCG来源的文物代币的输入合同.
DerivedArtifactTokenInit构建一个衍生或插件生成的符号的输入合同 .
ArtifactEnvelope联邦制 Artifact 财务报告和审定财务报表 WrappedArtifactEnvelope ——插件也可能发出.
WrappedArtifactEnvelope人工载荷 version, (中文(简体) ), generator,以及 tokens 字段.
ArtifactDeclaration一个声明站点(选择器、文件、行、附加规则).
ArtifactAtRule规则上下文(名称+前奏).
DtcgTokenType技术合作组 $type 值 —— 已知的有字符串逃生舱门的文字,用于前向相容.
KnownDtcgTokenType已知的 DTCG 类型文字 (color, (中文(简体) ), dimension, (中文(简体) ), number(见a/c.5/49/70,附件).
TokenTier等级分类: "primitive", (中文(简体) ), "semantic",或 "derived"。 。 。 .
ArtifactTier由文物所携带的分级字符串——已知分级外加一串出逃舱.
DerivationKind衍生公式类型( :"hover", (中文(简体) ), "active", (中文(简体) ), "disabled", (中文(简体) ), "delta"(见a/c.5/49/70,附件).

运行时间

导出说明
KNOWN_DTCG_TOKEN_TYPESconst 数组所有识别的 DTCG 类型文字.
isKnownDtcgTokenType(value)将字符串缩小到 KnownDtcgTokenType。 。 。 .

发展

bun run build     # Compile (tsc)
bun run test      # Run type-level tests
bun run check     # Type check

版本与发布记录

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

版本发布日期距今
0.44.0latest2026/10/2317 天前
0.43.02026/10/011 个月前
0.43.0-experimental.0experimental2026/09/291 个月前
0.10.02026/09/092 个月前
0.9.02026/09/072 个月前
0.8.12026/07/203 个月前

关于 @canonical/token-types 的常见问题

@canonical/token-types 是什么?

Canonical 设计标志工具的共享类型 .

如何安装 @canonical/token-types?

在项目目录运行 npm install @canonical/token-types,或使用 pnpm add / yarn add / bun add。

@canonical/token-types 支持 TypeScript 吗?

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

@canonical/token-types 支持 ESM 还是 CommonJS?

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

@canonical/token-types 需要什么版本的 Node.js?

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

@canonical/token-types 可以商用吗?

@canonical/token-types 使用 LGPL-3.0 许可。弱 Copyleft:作为库被调用时通常不要求开源你自己的代码,但修改库本身需以 LGPL 开源;前端打包合并后的适用边界存在不同理解。以上为概括,不构成法律意见,请以许可原文为准。

@canonical/token-types 的下载量有多少?

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

@canonical/token-types 还在维护吗?

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