@contentauth/toolkit

中文文档
0.13.14发布于 2025/10/01MITTypeScriptES Module零依赖近 30 天下载 1.3万

WebAssembly binary and bindings for the c2pa-rs library

原始使用文档
文档目录6 节
  1. Setup
  2. Apple M1 on Monterey note
  3. Updating the toolkit
  4. Development
  5. Building
  6. Packaging

@contentauth/toolkit

This package houses the WebAssembly code that the SDK uses.

You probably do not want to use this package directly. To integrate with the WebAssembly code, please do so through c2pa.

Note: To run or build this package, you will need access to the cai-toolkit and cms-parser Rust libraries, which are private for now.

Setup

Install the dependencies if you haven't already:

yarn install

Install wasm-pack. You can do this easily by running the shell script on their page or via Cargo (the NPM route is not currently recommended because of M1 incompatibility):

cargo install wasm-pack

Apple M1 on Monterey note

For cargo install wasm-pack to compile properly on macOS Monterey, you'll have to export an environment variable for now, as well as install a currently-unreleased version of wasm-pack (as of 16 Nov 2021):

export MACOSX_DEPLOYMENT_TARGET=10.7
cargo install wasm-pack --git https://github.com/rustwasm/wasm-pack --rev ae10c23cc14b79ed37a7be222daf5fd851b9cd0d

Updating the toolkit

When new versions of cai-toolkit are released, you will have to update the @contentauth/toolkit to bring those in. To update, locate the [dependencies.cai_toolkit] section in Cargo.toml and update the rev value to the SHA that you want to update to. In most cases this should be the current SHA that HEAD points to in the main branch of cai-toolkit.

After this, running yarn dev or yarn build will pull in the new dependencies. Please make a PR with the updated Cargo.lock file, and then follow the instructions under "Packaging" below to publish new package versions.

Development

Run yarn dev to watch the cai-toolkit directory for changes and rebuild if necessary.

Building

Run yarn build to build a production-optimized build of the WebAssembly module.

Packaging

Note: You need to be a member of the contentauth organization to publish packages.

Before packaging, you'll have to open up a PR, get it approved, and merge it into main. To package, go into the root of this git repository and run yarn run publish. This will go through all of the changed packages and ask you what versions you'd like to increment to. After following the steps, lerna should update all versions in package.json as well as create new tags and package versions.

Please be sure to add release notes and an overview of changes to the releases page.

版本与发布记录

@contentauth/toolkit 共发布 72 个版本,首次发布于 2021/10/14;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.13.14latest2025/10/011.1 年前
0.13.132025/09/171.1 年前
0.13.122025/09/121.2 年前
0.13.112025/09/071.2 年前
0.13.102025/08/221.2 年前
0.13.92025/08/161.2 年前

其他发布通道:canary → 0.11.0-fmp4-alpha.1。

关于 @contentauth/toolkit 的常见问题

@contentauth/toolkit 是什么?

WebAssembly binary and bindings for the c2pa-rs library

如何安装 @contentauth/toolkit?

在项目目录运行 npm install @contentauth/toolkit,或使用 pnpm add / yarn add / bun add。

@contentauth/toolkit 支持 TypeScript 吗?

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

@contentauth/toolkit 支持 ESM 还是 CommonJS?

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

@contentauth/toolkit 需要什么版本的 Node.js?

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

@contentauth/toolkit 可以商用吗?

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

@contentauth/toolkit 的下载量有多少?

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

@contentauth/toolkit 还在维护吗?

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