Core functionality of CycloneDX for JavaScript (Node.js or WebBrowsers), written in TypeScript and compiled for the target.
AttachmentEncoding
ComponentScope
ComponentType
ExternalReferenceType
HashAlgorithm
Vulnerability
related: AffectStatus
AnalysisJustification
AnalysisResponse
AnalysisState
RatingMethod
Severity
Attachment
Bom
BomLink
, BomLinkDocument
, BomLinkElement
BomRef
, BomRefRepository
Component
, ComponentRepository
, ComponentEvidence
ExternalReference
, ExternalReferenceRepository
Hash
, HashContent
, HashDictionary
LicenseExpression
, NamedLicense
, SpdxLicense
, LicenseRepository
Metadata
OrganizationalContact
, OrganizationalContactRepository
OrganizationalEntity
, OrganizationalEntityRepository
Property
, PropertyRepository
SWID
Tool
, ToolRepository
Vulnerability
related:Advisory
, AdvisoryRepository
Affect
, AffectRepository
, AffectedSingleVersion
, AffectedVersionRange
, AffectedVersionRepository
Analysis
Credits
Rating
, RatingRepository
Reference
, ReferenceRepository
Source
Vulnerability
, VulnerabilityRepository
Bom.serialNumber
PackageURL
from Component
data modelsTool
or Component
from PackageJson-like data structures1.6
1.5
1.4
1.3
1.2
Bom
data models to JSON stringBom
data models to XML string:
This package and the build results are available for npm, pnpm and yarn:
npm i -S @cyclonedx/cyclonedx-library
pnpm add @cyclonedx/cyclonedx-library
yarn add @cyclonedx/cyclonedx-library
You can install the package from source, which will build automatically on installation:
npm i -S github:CycloneDX/cyclonedx-javascript-library
pnpm add github:CycloneDX/cyclonedx-javascript-library
yarn add @cyclonedx/cyclonedx-library@github:CycloneDX/cyclonedx-javascript-library # only with yarn-2
Some dependencies are optional.
See the shipped package.json
for version constraints.
See extended examples.
const CDX = require('@cyclonedx/cyclonedx-library')
const bom = new CDX.Models.Bom()
bom.metadata.component = new CDX.Models.Component(
CDX.Enums.ComponentType.Application,
'MyProject'
)
const componentA = new CDX.Models.Component(
CDX.Enums.ComponentType.Library,
'myComponentA',
)
bom.components.add(componentA)
bom.metadata.component.dependencies.add(componentA.bomRef)
<script src="https://github.com/CycloneDX/cyclonedx-javascript-library/raw/main/path-to-this-package/dist.web/lib.js"></script>
<script type="application/javascript">
const CDX = CycloneDX_library
let bom = new CDX.Models.Bom()
bom.metadata.component = new CDX.Models.Component(
CDX.Enums.ComponentType.Application,
'MyProject'
)
const componentA = new CDX.Models.Component(
CDX.Enums.ComponentType.Library,
'myComponentA',
)
bom.components.add(componentA)
bom.metadata.component.dependencies.add(componentA.bomRef)
</script>
We ship annotated type definitions, so that your IDE and tools may pick up the documentation when you use this library downstream.
There are also pre-rendered documentations hosted on readthedocs.
Feel free to open issues, bug reports or pull requests.
See the CONTRIBUTING file for details.
Permission to modify and redistribute is granted under the terms of the Apache 2.0 license.
See the LICENSE file for the full license.