Skip to content

Commit 774971e

Browse files
authored
initial history (#76)
Signed-off-by: Jan Kowalleck <[email protected]>
1 parent 27714ed commit 774971e

File tree

2 files changed

+65
-0
lines changed

2 files changed

+65
-0
lines changed

.npmignore

+1
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ dist
147147
# project internals can be ignored
148148
/CODEOWNERS
149149
/CONTRIBUTING.*
150+
/HISTORY.md
150151

151152
# these files are part of the license
152153
!/LICENSE

HISTORY.md

+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
## unreleased
6+
7+
## 1.0.0 - 2022-06-20
8+
9+
Initial release.
10+
11+
* Responsibilities
12+
* Provide a general purpose _JavaScript_-implementation of [_CycloneDX_][CycloneDX] for _Node.js_ and _WebBrowsers_.
13+
* Provide typing for said implementation, so developers and dev-tools can rely on it.
14+
* Provide data models to work with _CycloneDX_.
15+
* Provide a JSON- and an XML-normalizer, that...
16+
* supports all shipped data models.
17+
* respects any injected [_CycloneDX_ Specification][CycloneDX-spec] and generates valid output according to it.
18+
* can be configured to generate reproducible/deterministic output.
19+
* can prepare data structures for JSON- and XML-serialization.
20+
* Serialization:
21+
* Provide a universal JSON-serializer for all target environments.
22+
* Provide an XML-serializer for all target environments.
23+
* Support the downstream implementation of custom XML-serializers tailored to specific environments
24+
by providing an abstract base class that takes care of normalization and BomRef-discrimination.
25+
This is done, because there is no universal XML support in _JavaScript_.
26+
* Capabilities & Features
27+
* Enums for the following use cases:
28+
* `AttachmentEncoding`
29+
* `ComponentScope`
30+
* `ComponentType`
31+
* `ExternalReferenceType`
32+
* `HashAlgorithm`
33+
* Data models for the following use cases:
34+
* `Attachment`
35+
* `Bom`
36+
* `BomRef`, `BomRefRepository`
37+
* `Component`, `ComponentRepository`
38+
* `ExternalReference`, `ExternalReferenceRepository`
39+
* `HashContent`, `Hash`, `HashRepository`
40+
* `LicenseExpression`, `NamedLicense`, `SpdxLicense`, `LicenseRepository`
41+
* `Metadata`
42+
* `OrganizationalContact`, `OrganizationalContactRepository`
43+
* `OrganizationalEntity`
44+
* `SWID`
45+
* `Tool`, `ToolRepository`
46+
* Factories for the following use cases:
47+
* Create data models from any license descriptor string
48+
* Specific to _Node.js_: create data models from PackageJson-like data structures
49+
* Builders for the following use cases:
50+
* Specific to _Node.js_: create deep data models from PackageJson-like data structures
51+
* Implementation of the [_CycloneDX_ Specification][CycloneDX-spec] for the following versions:
52+
* `1.4`
53+
* `1.3`
54+
* `1.2`
55+
* Normalizers that convert data models to JSON structures
56+
* Normalizers that convert data models to XML structures
57+
* Universal serializer that converts `Bom` data models to JSON string
58+
* Serializer that converts `Bom` data models to XML string:
59+
* Specific to _WebBrowsers_: implementation utilizes browser-specific document generators and printers.
60+
* Specific to _Node.js_: implementation plugs/requires/utilizes one of the following *optional* libraries
61+
* [xmlbuilder2](https://www.npmjs.com/package/xmlbuilder2)
62+
63+
[CycloneDX]: https://cyclonedx.org/
64+
[CycloneDX-spec]: https://github.com/CycloneDX/specification/tree/main/schema

0 commit comments

Comments
 (0)