cdx-proto
    Preparing search index...

    cdx-proto

    cdx-proto

    Runtime library to serialize/deserialize CycloneDX BOM with protocol buffers. The project was generated using protoc-gen-es from the official proto specification.

    import { cdx_15, cdx_16 } from "@appthreat/cdx-proto";
    import {
    fromBinary,
    fromJsonString,
    toBinary,
    toJson,
    } from "@bufbuild/protobuf";

    // Create .proto files
    let bomSchema;
    if (+bomJson.specVersion === 1.6) {
    bomSchema = cdx_16.BomSchema;
    } else {
    bomSchema = cdx_15.BomSchema;
    }
    writeFileSync(
    binFile,
    toBinary(
    bomSchema,
    fromJsonString(bomSchema, stringifyIfNeeded(bomJson), {
    ignoreUnknownFields: true,
    }),
    ),
    {
    writeUnknownFields: true,
    },
    );

    // Read .proto files
    const bomObject = fromBinary(bomSchema, readFileSync(binFile), {
    readUnknownFields: true,
    });
    const jsonstr = toJson(bomSchema, bomObject, { emitDefaultValues: true });

    Apache-2.0