cdx- proto (英语)
以协议缓冲器来串行化/去串行化 CyproneDX BOM 的运行时库. 该项目是利用 原生基因( 原生基因) 从官方 原型 规格.
2.0.0 要点
- 版本特定子路径导出 :
@appthreat/cdx-proto/v1.5, (中文(简体) ),v1.6,以及v1.7 - 用于计划选择和BOM编码/解码工作流程的助手 API
- 已生成的更精简 npm 包内容
docs/
样本使用情况
import {
createBom,
decodeBomBinary,
encodeBomBinary,
encodeBomJson,
getBomSchema,
parseBomJson,
} from "@appthreat/cdx-proto";
import { BomSchema as BomSchema16 } from "@appthreat/cdx-proto/v1.6";
import { fromJson } from "@bufbuild/protobuf";
// Use version-specific entrypoints when you only need one schema version.
const bom16 = fromJson(BomSchema16, {
specVersion: "1.6",
version: 1,
});
// Or use the helper API to auto-select schemas and encode/decode BOMs.
const bom = createBom("1.7", {
version: 1,
serialNumber: "urn:uuid:11111111-1111-1111-1111-111111111111",
});
const binary = encodeBomBinary(bom, {
writeUnknownFields: true,
});
const decoded = decodeBomBinary("1.7", binary, {
readUnknownFields: true,
});
const json = encodeBomJson(decoded, {
alwaysEmitImplicit: true,
});
const parsed = parseBomJson({
specVersion: "1.6",
version: 1,
});
const schema = getBomSchema(parsed.specVersion);
帮助 API
getBomSchema(specVersion)返回匹配BomSchema用于气旋DX1.5, (中文(简体) ),1.6,或1.7。 。 。 .createBom(specVersion, init)创建 BOM 信件并自动设定specVersion。 。 。 .parseBomJson(json)财务报告和审定财务报表parseBomJsonString(json)自动从specVersion编号 :spec_version。 。 。 .decodeBomBinary(specVersion, bytes)当已知 schema 版本时解码出一个 protobuf BOM.encodeBomBinary(bom), (中文(简体) ),encodeBomJson(bom),以及encodeBomJsonString(bom)从BOM中选择正确的方案.
JSON担保
助推层被设计为与犬科气旋DX JSON相配合,而不是与原生出活泼的JSON相配合.
parseBomJson()财务报告和审定财务报表decodeBomJson()接受冠状气旋DX输入,例如:- 根字段类
bomFormat财务报告和审定财务报表specVersion - 破碎的别名, 如
bom-ref, (中文(简体) ),mime-type,以及x-trust-boundary - 犬科散列内容字段
hashes[].content - 犬类标准/声明对象,而不是原生取材清单包装
- 根字段类
- 未定义的对象属性和未定义的数组条目在原地取出解析之前进行静态化,这样调用者就可以通过普通的JavaScript对象而无需手动取出
undefined数值第一. encodeBomJson()财务报告和审定财务报表encodeBomJsonString()在输出时恢复犬形气旋DX JSON,包括:bomFormat: "CycloneDX"- 管理局
specVersion - 粗体铝值而不是原生的铝名称,例如
CLASSIFICATION_*, (中文(简体) ),HASH_ALG_*,或EXTERNAL_REFERENCE_TYPE_* - 犬形对象形状
definitions财务报告和审定财务报表declarations
parseBomBinary()自动检测嵌入式支持的计划版本(1.5, (中文(简体) ),1.6,或1.7)和可以配对encodeBomJson()读取原生的 BOMs 回作为犬科气旋DX JSON.
简言之:如果向帮助者API提供犬形气旋DX JSON,在二进制后或消息回转后,应当得到犬形气旋DX JSON.
特定版本进口
使用子路径导出来避免装入您不需要的计划版本 :
import { BomSchema as BomSchema15 } from "@appthreat/cdx-proto/v1.5";
import { BomSchema as BomSchema16 } from "@appthreat/cdx-proto/v1.6";
import { BomSchema as BomSchema17 } from "@appthreat/cdx-proto/v1.7";
许可证
阿帕奇 - 2.0