Skip to content
8 changes: 8 additions & 0 deletions HISTORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@ All notable changes to this project will be documented in this file.

<!-- add unreleased items here -->

* BREAKING Changes
* Optional dependencies became optional peer dependencies (via [#1295])
* Added
* Give downstream users control over optional dependencies ([#1294] via [#1295])

[#1294]: https://github.com/CycloneDX/cyclonedx-javascript-library/issues/1294
[#1295]: https://github.com/CycloneDX/cyclonedx-javascript-library/pull/1295

## 8.6.0 -- 2025-09-09

* Changed
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,9 +120,9 @@ pnpm add github:CycloneDX/cyclonedx-javascript-library
yarn add @cyclonedx/cyclonedx-library@github:CycloneDX/cyclonedx-javascript-library # only with yarn-2
```

## Optional Dependencies
## Optional Peer Dependencies

Some dependencies are optional.
Some peer dependencies are optional.
See the shipped `package.json` for version constraints.

* Serialization to XML on _Node.js_ requires any of:
Expand Down
1 change: 1 addition & 0 deletions examples/node/javascript/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
!/example.mjs
!/example.cjs
!/package.json
!/.npmrc
5 changes: 5 additions & 0 deletions examples/node/javascript/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
; see the docs: https://docs.npmjs.com/cli/v11/using-npm/config

; our lib has some peer deps that need to be installed.
; due to how node module resolution works, we must not install the lib as a symlink!
install-links=true
6 changes: 6 additions & 0 deletions examples/node/javascript/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,11 @@
"dependencies": {
"@cyclonedx/cyclonedx-library": "file:../../..",
"xmlbuilder2": "^3.0.2"
},
"optionalDependencies": {
"ajv": "^8.12.0",
"ajv-formats": "^3.0.1",
"ajv-formats-draft2019": "^1.6.1",
"libxmljs2": "^0.35||^0.37"
}
}
1 change: 1 addition & 0 deletions examples/node/typescript/example.cjs/.gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
*
!/.gitignore
!/package.json
!/.npmrc
!/tsconfig.json
!/src
!/src/**
5 changes: 5 additions & 0 deletions examples/node/typescript/example.cjs/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
; see the docs: https://docs.npmjs.com/cli/v11/using-npm/config

; our lib has some peer deps that need to be installed.
; due to how node module resolution works, we must not install the lib as a symlink!
install-links=true
6 changes: 6 additions & 0 deletions examples/node/typescript/example.cjs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@
"@cyclonedx/cyclonedx-library": "file:../../../..",
"xmlbuilder2": "^3.0.2"
},
"optionalDependencies": {
"ajv": "^8.12.0",
"ajv-formats": "^3.0.1",
"ajv-formats-draft2019": "^1.6.1",
"libxmljs2": "^0.35||^0.37"
},
"devDependencies": {
"@types/node": "*",
"typescript": "^3.8 || ^4 || ^5"
Expand Down
1 change: 1 addition & 0 deletions examples/node/typescript/example.mjs/.gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
*
!/.gitignore
!/.npmrc
!/package.json
!/tsconfig.json
!/src
Expand Down
5 changes: 5 additions & 0 deletions examples/node/typescript/example.mjs/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
; see the docs: https://docs.npmjs.com/cli/v11/using-npm/config

; our lib has some peer deps that need to be installed.
; due to how node module resolution works, we must not install the lib as a symlink!
install-links=true
6 changes: 6 additions & 0 deletions examples/node/typescript/example.mjs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@
"@cyclonedx/cyclonedx-library": "file:../../../..",
"xmlbuilder2": "^3.0.2"
},
"optionalDependencies": {
"ajv": "^8.12.0",
"ajv-formats": "^3.0.1",
"ajv-formats-draft2019": "^1.6.1",
"libxmljs2": "^0.35||^0.37"
},
"devDependencies": {
"@types/node": "*",
"typescript": "^4 || ^5"
Expand Down
1 change: 1 addition & 0 deletions examples/web/parcel/.gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
*
!/.gitignore
!/package.json
!/.npmrc
!/src/
!/src/**
5 changes: 5 additions & 0 deletions examples/web/parcel/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
; see the docs: https://docs.npmjs.com/cli/v11/using-npm/config

; our lib has some peer deps that need to be installed.
; due to how node module resolution works, we must not install the lib as a symlink!
install-links=true
1 change: 1 addition & 0 deletions examples/web/webpack/.gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
*
!/.gitignore
!/package.json
!/.npmrc
!/webpack.json
!/src/
!/src/**
Expand Down
5 changes: 5 additions & 0 deletions examples/web/webpack/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
; see the docs: https://docs.npmjs.com/cli/v11/using-npm/config

; our lib has some peer deps that need to be installed.
; due to how node module resolution works, we must not install the lib as a symlink!
install-links=true
24 changes: 23 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -83,14 +83,36 @@
"packageurl-js": "^2.0.1",
"spdx-expression-parse": "^3.0.1 || ^4"
},
"optionalDependencies": {
"peerDependencies": {
"ajv": "^8.12.0",
"ajv-formats": "^3.0.1",
"ajv-formats-draft2019": "^1.6.1",
"libxmljs2": "^0.35||^0.37",
"xmlbuilder2": "^3.0.2"
},
"peerDependenciesMeta": {
"ajv": {
"optional": true
},
"ajv-formats": {
"optional": true
},
"ajv-formats-draft2019": {
"optional": true
},
"libxmljs2": {
"optional": true
},
"xmlbuilder2": {
"optional": true
}
},
"devDependencies": {
"ajv": "^8.12.0",
"ajv-formats": "^3.0.1",
"ajv-formats-draft2019": "^1.6.1",
"libxmljs2": "^0.35||^0.37",
"xmlbuilder2": "^3.0.2",
"@types/mocha": "^10",
"@types/node": "ts5.7",
"@types/spdx-expression-parse": "^3",
Expand Down
Loading