diff --git a/HISTORY.md b/HISTORY.md
index e8ac074c9..e01f9e5f4 100644
--- a/HISTORY.md
+++ b/HISTORY.md
@@ -4,10 +4,17 @@ All notable changes to this project will be documented in this file.
## unreleased
+* Added
+ * SBOM result might have `component.scope=optional` populated for OptionalDependencies ([#645] via [#657])
+* Fixed
+ * DevDependencies that are also required by OptionalDependencies correctly have the property [`cdx:npm:package:development`](https://github.com/CycloneDX/cyclonedx-property-taxonomy/blob/main/cdx/npm.md) populated in SBOM results ([#645] via [#657])
+ * DevDependencies that are also required by OptionalDependencies are correctly omitted from SBOM results, when the CLI switch for omitting "dev" and "optional" are set ([#645] via [#657])
* Docs
* Describe internal `npm` executable detection in README (via [#647])
+[#645]: https://github.com/CycloneDX/cyclonedx-node-npm/issues/645
[#647]: https://github.com/CycloneDX/cyclonedx-node-npm/pull/647
+[#657]: https://github.com/CycloneDX/cyclonedx-node-npm/pull/657
## 1.9.2 - 2023-03-30
diff --git a/demo/bundled-dependencies/example-results/bare/bom.1.2.json b/demo/bundled-dependencies/example-results/bare/bom.1.2.json
index cddf778fd..1aea1e488 100644
--- a/demo/bundled-dependencies/example-results/bare/bom.1.2.json
+++ b/demo/bundled-dependencies/example-results/bare/bom.1.2.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0"
+ "version": "1.9.2"
}
],
"component": {
diff --git a/demo/bundled-dependencies/example-results/bare/bom.1.2.xml b/demo/bundled-dependencies/example-results/bare/bom.1.2.xml
index 5e50adad7..124ac71cf 100644
--- a/demo/bundled-dependencies/example-results/bare/bom.1.2.xml
+++ b/demo/bundled-dependencies/example-results/bare/bom.1.2.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
diff --git a/demo/bundled-dependencies/example-results/bare/bom.1.3.json b/demo/bundled-dependencies/example-results/bare/bom.1.3.json
index 5fdec5a30..8596fd524 100644
--- a/demo/bundled-dependencies/example-results/bare/bom.1.3.json
+++ b/demo/bundled-dependencies/example-results/bare/bom.1.3.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0"
+ "version": "1.9.2"
}
],
"component": {
diff --git a/demo/bundled-dependencies/example-results/bare/bom.1.3.xml b/demo/bundled-dependencies/example-results/bare/bom.1.3.xml
index e8eda1d14..0a89df7a0 100644
--- a/demo/bundled-dependencies/example-results/bare/bom.1.3.xml
+++ b/demo/bundled-dependencies/example-results/bare/bom.1.3.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
diff --git a/demo/bundled-dependencies/example-results/bare/bom.1.4.json b/demo/bundled-dependencies/example-results/bare/bom.1.4.json
index 37ffab520..5e01b7187 100644
--- a/demo/bundled-dependencies/example-results/bare/bom.1.4.json
+++ b/demo/bundled-dependencies/example-results/bare/bom.1.4.json
@@ -8,7 +8,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0",
+ "version": "1.13.3",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
@@ -30,7 +30,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0",
+ "version": "1.9.2",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
diff --git a/demo/bundled-dependencies/example-results/bare/bom.1.4.xml b/demo/bundled-dependencies/example-results/bare/bom.1.4.xml
index 19ffe2015..8918bae21 100644
--- a/demo/bundled-dependencies/example-results/bare/bom.1.4.xml
+++ b/demo/bundled-dependencies/example-results/bare/bom.1.4.xml
@@ -5,7 +5,7 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
https://github.com/CycloneDX/cyclonedx-javascript-library/issues
@@ -24,7 +24,7 @@
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
https://github.com/CycloneDX/cyclonedx-node-npm/issues
diff --git a/demo/bundled-dependencies/example-results/flat/bom.1.2.json b/demo/bundled-dependencies/example-results/flat/bom.1.2.json
index 7f8aa3df6..4a1446667 100644
--- a/demo/bundled-dependencies/example-results/flat/bom.1.2.json
+++ b/demo/bundled-dependencies/example-results/flat/bom.1.2.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0"
+ "version": "1.9.2"
}
],
"component": {
diff --git a/demo/bundled-dependencies/example-results/flat/bom.1.2.xml b/demo/bundled-dependencies/example-results/flat/bom.1.2.xml
index 7abc579b1..bc940ad94 100644
--- a/demo/bundled-dependencies/example-results/flat/bom.1.2.xml
+++ b/demo/bundled-dependencies/example-results/flat/bom.1.2.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
diff --git a/demo/bundled-dependencies/example-results/flat/bom.1.3.json b/demo/bundled-dependencies/example-results/flat/bom.1.3.json
index 764dee2c8..acd4bd498 100644
--- a/demo/bundled-dependencies/example-results/flat/bom.1.3.json
+++ b/demo/bundled-dependencies/example-results/flat/bom.1.3.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0"
+ "version": "1.9.2"
}
],
"component": {
diff --git a/demo/bundled-dependencies/example-results/flat/bom.1.3.xml b/demo/bundled-dependencies/example-results/flat/bom.1.3.xml
index de65700b5..667a3b1ff 100644
--- a/demo/bundled-dependencies/example-results/flat/bom.1.3.xml
+++ b/demo/bundled-dependencies/example-results/flat/bom.1.3.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
diff --git a/demo/bundled-dependencies/example-results/flat/bom.1.4.json b/demo/bundled-dependencies/example-results/flat/bom.1.4.json
index 22581dd1e..5adad1849 100644
--- a/demo/bundled-dependencies/example-results/flat/bom.1.4.json
+++ b/demo/bundled-dependencies/example-results/flat/bom.1.4.json
@@ -8,7 +8,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0",
+ "version": "1.13.3",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
@@ -30,7 +30,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0",
+ "version": "1.9.2",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
diff --git a/demo/bundled-dependencies/example-results/flat/bom.1.4.xml b/demo/bundled-dependencies/example-results/flat/bom.1.4.xml
index 0e814d8f2..3029a35ef 100644
--- a/demo/bundled-dependencies/example-results/flat/bom.1.4.xml
+++ b/demo/bundled-dependencies/example-results/flat/bom.1.4.xml
@@ -5,7 +5,7 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
https://github.com/CycloneDX/cyclonedx-javascript-library/issues
@@ -24,7 +24,7 @@
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
https://github.com/CycloneDX/cyclonedx-node-npm/issues
diff --git a/demo/dev-dependencies/README.md b/demo/dev-dependencies/README.md
index c6a910271..6eec64a52 100644
--- a/demo/dev-dependencies/README.md
+++ b/demo/dev-dependencies/README.md
@@ -10,9 +10,13 @@ and see how they behave different from
## remarks
+* The `optional` is `true` for optionalDependencies.
+* The `optional` is absent for non-optionalDependencies.
* The `dev` is `true` for devDependencies.
* The `dev` is absent for non-devDependencies.
+* The `devOptional` is `true` for devDependencies that are also transitive dependencies from optionalDependencies.
* npm6: `_development` instead of `dev`.
+* npm6: `_optional` instead of `optional`.
## output
@@ -24,17 +28,46 @@ Output of `npm ls --json -a -l` look like this:
{
"name": "demo-dev-dependencies",
"description": "demo: demo-dev-dependencies -- showcase how workspaces look like",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
- "path": "/home/flow/Documents/Coding/node/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "path": ".../cyclonedx-node-npm/demo/dev-dependencies/project",
// other properties
"dependencies": {
"@types/node": {
"name": "@types/node",
"dev": true,
- "path": "/home/flow/Documents/Coding/node/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
+ "path": ".../demo/dev-dependencies/project/node_modules/@types/node",
+ // other properties
+ },
+ "@types/uuid": {
+ // ...
+ },
+ "uuid": {
+ "name": "uuid",
+ "devOptional": true,
+ "path": ".../demo/dev-dependencies/project/node_modules/uuid",
+ // other properties
+ },
+ "uuidv4": {
+ "name": "uuidv4",
+ "optional": true,
+ "path": ".../demo/dev-dependencies/project/node_modules/uuidv4",
// other properties
+ "dependencies": {
+ "uuid": {
+ "name": "uuid",
+ "devOptional": true,
+ "path": ".../demo/dev-dependencies/project/node_modules/uuid",
+ // other properties
+ },
+ // ...
+ }
}
}
}
diff --git a/demo/dev-dependencies/example-results/bare/bom.1.2.json b/demo/dev-dependencies/example-results/bare/bom.1.2.json
index 554716db6..d5c385ab3 100644
--- a/demo/dev-dependencies/example-results/bare/bom.1.2.json
+++ b/demo/dev-dependencies/example-results/bare/bom.1.2.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0"
+ "version": "1.9.2"
}
],
"component": {
@@ -37,13 +37,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.14.1",
- "bom-ref": "@types/node@18.14.1",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "407fb7ed076cdc4d1e0e545e79ba01c5f1db5fda2601c0425c4cecc02bba8f248feb8da388cddc61222453f444ab084252a5dda271c5b817c90e2009c4c36169"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -53,10 +53,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.14.1#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.14.1.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -76,16 +76,165 @@
"comment": "as detected from PackageJson property \"homepage\""
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.14.1"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.14.1"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/demo/dev-dependencies/example-results/bare/bom.1.2.xml b/demo/dev-dependencies/example-results/bare/bom.1.2.xml
index 822f2a54e..19e13779b 100644
--- a/demo/dev-dependencies/example-results/bare/bom.1.2.xml
+++ b/demo/dev-dependencies/example-results/bare/bom.1.2.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
@@ -26,23 +26,23 @@
-
+
@types
node
- 18.14.1
+ 18.15.11
TypeScript definitions for Node.js
- 407fb7ed076cdc4d1e0e545e79ba01c5f1db5fda2601c0425c4cecc02bba8f248feb8da388cddc61222453f444ab084252a5dda271c5b817c90e2009c4c36169
+ 1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd
MIT
- pkg:npm/%40types/node@18.14.1#types/node
+ pkg:npm/%40types/node@18.15.11#types/node
- https://registry.npmjs.org/@types/node/-/node-18.14.1.tgz
+ https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz
as detected from npm-ls property "resolved"
@@ -59,11 +59,120 @@
+
+ @types
+ uuid
+ 8.3.4
+ TypeScript definitions for uuid
+ optional
+
+ 73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287
+
+
+
+ MIT
+
+
+ pkg:npm/%40types/uuid@8.3.4#types/uuid
+
+
+ https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz
+ as detected from npm-ls property "resolved"
+
+
+ https://github.com/DefinitelyTyped/DefinitelyTyped/issues
+ as detected from PackageJson property "bugs.url"
+
+
+ git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid
+ as detected from PackageJson property "repository.url" and "repository.directory"
+
+
+ https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid
+ as detected from PackageJson property "homepage"
+
+
+
+
+ uuid
+ 8.3.2
+ RFC4122 (v1, v4, and v5) UUIDs
+ optional
+
+ f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a
+
+
+
+ MIT
+
+
+ pkg:npm/uuid@8.3.2
+
+
+ https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz
+ as detected from npm-ls property "resolved"
+
+
+ https://github.com/uuidjs/uuid/issues
+ as detected from PackageJson property "bugs.url"
+
+
+ git+https://github.com/uuidjs/uuid.git
+ as detected from PackageJson property "repository.url"
+
+
+ https://github.com/uuidjs/uuid#readme
+ as detected from PackageJson property "homepage"
+
+
+
+
+ uuidv4
+ 6.2.13
+ uuidv4 creates v4 UUIDs.
+ optional
+
+ 017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d
+
+
+
+ MIT
+
+
+ pkg:npm/uuidv4@6.2.13
+
+
+ https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz
+ as detected from npm-ls property "resolved"
+
+
+ https://github.com/thenativeweb/uuidv4/issues
+ as detected from PackageJson property "bugs.url"
+
+
+ git://github.com/thenativeweb/uuidv4.git
+ as detected from PackageJson property "repository.url"
+
+
+ https://github.com/thenativeweb/uuidv4#readme
+ as detected from PackageJson property "homepage"
+
+
+
-
+
+
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/demo/dev-dependencies/example-results/bare/bom.1.3.json b/demo/dev-dependencies/example-results/bare/bom.1.3.json
index ea0ea0c66..ce13168c3 100644
--- a/demo/dev-dependencies/example-results/bare/bom.1.3.json
+++ b/demo/dev-dependencies/example-results/bare/bom.1.3.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0"
+ "version": "1.9.2"
}
],
"component": {
@@ -47,13 +47,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.14.1",
- "bom-ref": "@types/node@18.14.1",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "407fb7ed076cdc4d1e0e545e79ba01c5f1db5fda2601c0425c4cecc02bba8f248feb8da388cddc61222453f444ab084252a5dda271c5b817c90e2009c4c36169"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -63,10 +63,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.14.1#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.14.1.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -96,16 +96,191 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.14.1"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.14.1"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/demo/dev-dependencies/example-results/bare/bom.1.3.xml b/demo/dev-dependencies/example-results/bare/bom.1.3.xml
index b3e78e556..5f84801fe 100644
--- a/demo/dev-dependencies/example-results/bare/bom.1.3.xml
+++ b/demo/dev-dependencies/example-results/bare/bom.1.3.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
@@ -30,23 +30,23 @@
-
+
@types
node
- 18.14.1
+ 18.15.11
TypeScript definitions for Node.js
- 407fb7ed076cdc4d1e0e545e79ba01c5f1db5fda2601c0425c4cecc02bba8f248feb8da388cddc61222453f444ab084252a5dda271c5b817c90e2009c4c36169
+ 1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd
MIT
- pkg:npm/%40types/node@18.14.1#types/node
+ pkg:npm/%40types/node@18.15.11#types/node
- https://registry.npmjs.org/@types/node/-/node-18.14.1.tgz
+ https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz
as detected from npm-ls property "resolved"
@@ -67,11 +67,131 @@
node_modules/@types/node
+
+ @types
+ uuid
+ 8.3.4
+ TypeScript definitions for uuid
+ optional
+
+ 73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287
+
+
+
+ MIT
+
+
+ pkg:npm/%40types/uuid@8.3.4#types/uuid
+
+
+ https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz
+ as detected from npm-ls property "resolved"
+
+
+ https://github.com/DefinitelyTyped/DefinitelyTyped/issues
+ as detected from PackageJson property "bugs.url"
+
+
+ git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid
+ as detected from PackageJson property "repository.url" and "repository.directory"
+
+
+ https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid
+ as detected from PackageJson property "homepage"
+
+
+
+ true
+ node_modules/@types/uuid
+
+
+
+ uuid
+ 8.3.2
+ RFC4122 (v1, v4, and v5) UUIDs
+ optional
+
+ f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a
+
+
+
+ MIT
+
+
+ pkg:npm/uuid@8.3.2
+
+
+ https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz
+ as detected from npm-ls property "resolved"
+
+
+ https://github.com/uuidjs/uuid/issues
+ as detected from PackageJson property "bugs.url"
+
+
+ git+https://github.com/uuidjs/uuid.git
+ as detected from PackageJson property "repository.url"
+
+
+ https://github.com/uuidjs/uuid#readme
+ as detected from PackageJson property "homepage"
+
+
+
+ true
+ node_modules/uuid
+
+
+
+ uuidv4
+ 6.2.13
+ uuidv4 creates v4 UUIDs.
+ optional
+
+ 017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d
+
+
+
+ MIT
+
+
+ pkg:npm/uuidv4@6.2.13
+
+
+ https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz
+ as detected from npm-ls property "resolved"
+
+
+ https://github.com/thenativeweb/uuidv4/issues
+ as detected from PackageJson property "bugs.url"
+
+
+ git://github.com/thenativeweb/uuidv4.git
+ as detected from PackageJson property "repository.url"
+
+
+ https://github.com/thenativeweb/uuidv4#readme
+ as detected from PackageJson property "homepage"
+
+
+
+ node_modules/uuidv4
+
+
-
+
+
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/demo/dev-dependencies/example-results/bare/bom.1.4.json b/demo/dev-dependencies/example-results/bare/bom.1.4.json
index a7a66f5a6..9a6216876 100644
--- a/demo/dev-dependencies/example-results/bare/bom.1.4.json
+++ b/demo/dev-dependencies/example-results/bare/bom.1.4.json
@@ -8,7 +8,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0",
+ "version": "1.13.3",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
@@ -30,7 +30,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0",
+ "version": "1.9.2",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
@@ -81,13 +81,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.14.1",
- "bom-ref": "@types/node@18.14.1",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "407fb7ed076cdc4d1e0e545e79ba01c5f1db5fda2601c0425c4cecc02bba8f248feb8da388cddc61222453f444ab084252a5dda271c5b817c90e2009c4c36169"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -97,10 +97,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.14.1#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.14.1.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -130,16 +130,191 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.14.1"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.14.1"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/demo/dev-dependencies/example-results/bare/bom.1.4.xml b/demo/dev-dependencies/example-results/bare/bom.1.4.xml
index 8794a6ef2..58794038b 100644
--- a/demo/dev-dependencies/example-results/bare/bom.1.4.xml
+++ b/demo/dev-dependencies/example-results/bare/bom.1.4.xml
@@ -5,7 +5,7 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
https://github.com/CycloneDX/cyclonedx-javascript-library/issues
@@ -24,7 +24,7 @@
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
https://github.com/CycloneDX/cyclonedx-node-npm/issues
@@ -58,23 +58,23 @@
-
+
@types
node
- 18.14.1
+ 18.15.11
TypeScript definitions for Node.js
- 407fb7ed076cdc4d1e0e545e79ba01c5f1db5fda2601c0425c4cecc02bba8f248feb8da388cddc61222453f444ab084252a5dda271c5b817c90e2009c4c36169
+ 1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd
MIT
- pkg:npm/%40types/node@18.14.1#types/node
+ pkg:npm/%40types/node@18.15.11#types/node
- https://registry.npmjs.org/@types/node/-/node-18.14.1.tgz
+ https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz
as detected from npm-ls property "resolved"
@@ -95,11 +95,131 @@
node_modules/@types/node
+
+ @types
+ uuid
+ 8.3.4
+ TypeScript definitions for uuid
+ optional
+
+ 73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287
+
+
+
+ MIT
+
+
+ pkg:npm/%40types/uuid@8.3.4#types/uuid
+
+
+ https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz
+ as detected from npm-ls property "resolved"
+
+
+ https://github.com/DefinitelyTyped/DefinitelyTyped/issues
+ as detected from PackageJson property "bugs.url"
+
+
+ git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid
+ as detected from PackageJson property "repository.url" and "repository.directory"
+
+
+ https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid
+ as detected from PackageJson property "homepage"
+
+
+
+ true
+ node_modules/@types/uuid
+
+
+
+ uuid
+ 8.3.2
+ RFC4122 (v1, v4, and v5) UUIDs
+ optional
+
+ f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a
+
+
+
+ MIT
+
+
+ pkg:npm/uuid@8.3.2
+
+
+ https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz
+ as detected from npm-ls property "resolved"
+
+
+ https://github.com/uuidjs/uuid/issues
+ as detected from PackageJson property "bugs.url"
+
+
+ git+https://github.com/uuidjs/uuid.git
+ as detected from PackageJson property "repository.url"
+
+
+ https://github.com/uuidjs/uuid#readme
+ as detected from PackageJson property "homepage"
+
+
+
+ true
+ node_modules/uuid
+
+
+
+ uuidv4
+ 6.2.13
+ uuidv4 creates v4 UUIDs.
+ optional
+
+ 017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d
+
+
+
+ MIT
+
+
+ pkg:npm/uuidv4@6.2.13
+
+
+ https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz
+ as detected from npm-ls property "resolved"
+
+
+ https://github.com/thenativeweb/uuidv4/issues
+ as detected from PackageJson property "bugs.url"
+
+
+ git://github.com/thenativeweb/uuidv4.git
+ as detected from PackageJson property "repository.url"
+
+
+ https://github.com/thenativeweb/uuidv4#readme
+ as detected from PackageJson property "homepage"
+
+
+
+ node_modules/uuidv4
+
+
-
+
+
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/demo/dev-dependencies/example-results/flat/bom.1.2.json b/demo/dev-dependencies/example-results/flat/bom.1.2.json
index 554716db6..d5c385ab3 100644
--- a/demo/dev-dependencies/example-results/flat/bom.1.2.json
+++ b/demo/dev-dependencies/example-results/flat/bom.1.2.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0"
+ "version": "1.9.2"
}
],
"component": {
@@ -37,13 +37,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.14.1",
- "bom-ref": "@types/node@18.14.1",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "407fb7ed076cdc4d1e0e545e79ba01c5f1db5fda2601c0425c4cecc02bba8f248feb8da388cddc61222453f444ab084252a5dda271c5b817c90e2009c4c36169"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -53,10 +53,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.14.1#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.14.1.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -76,16 +76,165 @@
"comment": "as detected from PackageJson property \"homepage\""
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.14.1"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.14.1"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/demo/dev-dependencies/example-results/flat/bom.1.2.xml b/demo/dev-dependencies/example-results/flat/bom.1.2.xml
index 822f2a54e..19e13779b 100644
--- a/demo/dev-dependencies/example-results/flat/bom.1.2.xml
+++ b/demo/dev-dependencies/example-results/flat/bom.1.2.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
@@ -26,23 +26,23 @@
-
+
@types
node
- 18.14.1
+ 18.15.11
TypeScript definitions for Node.js
- 407fb7ed076cdc4d1e0e545e79ba01c5f1db5fda2601c0425c4cecc02bba8f248feb8da388cddc61222453f444ab084252a5dda271c5b817c90e2009c4c36169
+ 1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd
MIT
- pkg:npm/%40types/node@18.14.1#types/node
+ pkg:npm/%40types/node@18.15.11#types/node
- https://registry.npmjs.org/@types/node/-/node-18.14.1.tgz
+ https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz
as detected from npm-ls property "resolved"
@@ -59,11 +59,120 @@
+
+ @types
+ uuid
+ 8.3.4
+ TypeScript definitions for uuid
+ optional
+
+ 73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287
+
+
+
+ MIT
+
+
+ pkg:npm/%40types/uuid@8.3.4#types/uuid
+
+
+ https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz
+ as detected from npm-ls property "resolved"
+
+
+ https://github.com/DefinitelyTyped/DefinitelyTyped/issues
+ as detected from PackageJson property "bugs.url"
+
+
+ git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid
+ as detected from PackageJson property "repository.url" and "repository.directory"
+
+
+ https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid
+ as detected from PackageJson property "homepage"
+
+
+
+
+ uuid
+ 8.3.2
+ RFC4122 (v1, v4, and v5) UUIDs
+ optional
+
+ f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a
+
+
+
+ MIT
+
+
+ pkg:npm/uuid@8.3.2
+
+
+ https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz
+ as detected from npm-ls property "resolved"
+
+
+ https://github.com/uuidjs/uuid/issues
+ as detected from PackageJson property "bugs.url"
+
+
+ git+https://github.com/uuidjs/uuid.git
+ as detected from PackageJson property "repository.url"
+
+
+ https://github.com/uuidjs/uuid#readme
+ as detected from PackageJson property "homepage"
+
+
+
+
+ uuidv4
+ 6.2.13
+ uuidv4 creates v4 UUIDs.
+ optional
+
+ 017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d
+
+
+
+ MIT
+
+
+ pkg:npm/uuidv4@6.2.13
+
+
+ https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz
+ as detected from npm-ls property "resolved"
+
+
+ https://github.com/thenativeweb/uuidv4/issues
+ as detected from PackageJson property "bugs.url"
+
+
+ git://github.com/thenativeweb/uuidv4.git
+ as detected from PackageJson property "repository.url"
+
+
+ https://github.com/thenativeweb/uuidv4#readme
+ as detected from PackageJson property "homepage"
+
+
+
-
+
+
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/demo/dev-dependencies/example-results/flat/bom.1.3.json b/demo/dev-dependencies/example-results/flat/bom.1.3.json
index ea0ea0c66..ce13168c3 100644
--- a/demo/dev-dependencies/example-results/flat/bom.1.3.json
+++ b/demo/dev-dependencies/example-results/flat/bom.1.3.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0"
+ "version": "1.9.2"
}
],
"component": {
@@ -47,13 +47,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.14.1",
- "bom-ref": "@types/node@18.14.1",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "407fb7ed076cdc4d1e0e545e79ba01c5f1db5fda2601c0425c4cecc02bba8f248feb8da388cddc61222453f444ab084252a5dda271c5b817c90e2009c4c36169"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -63,10 +63,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.14.1#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.14.1.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -96,16 +96,191 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.14.1"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.14.1"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/demo/dev-dependencies/example-results/flat/bom.1.3.xml b/demo/dev-dependencies/example-results/flat/bom.1.3.xml
index b3e78e556..5f84801fe 100644
--- a/demo/dev-dependencies/example-results/flat/bom.1.3.xml
+++ b/demo/dev-dependencies/example-results/flat/bom.1.3.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
@@ -30,23 +30,23 @@
-
+
@types
node
- 18.14.1
+ 18.15.11
TypeScript definitions for Node.js
- 407fb7ed076cdc4d1e0e545e79ba01c5f1db5fda2601c0425c4cecc02bba8f248feb8da388cddc61222453f444ab084252a5dda271c5b817c90e2009c4c36169
+ 1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd
MIT
- pkg:npm/%40types/node@18.14.1#types/node
+ pkg:npm/%40types/node@18.15.11#types/node
- https://registry.npmjs.org/@types/node/-/node-18.14.1.tgz
+ https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz
as detected from npm-ls property "resolved"
@@ -67,11 +67,131 @@
node_modules/@types/node
+
+ @types
+ uuid
+ 8.3.4
+ TypeScript definitions for uuid
+ optional
+
+ 73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287
+
+
+
+ MIT
+
+
+ pkg:npm/%40types/uuid@8.3.4#types/uuid
+
+
+ https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz
+ as detected from npm-ls property "resolved"
+
+
+ https://github.com/DefinitelyTyped/DefinitelyTyped/issues
+ as detected from PackageJson property "bugs.url"
+
+
+ git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid
+ as detected from PackageJson property "repository.url" and "repository.directory"
+
+
+ https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid
+ as detected from PackageJson property "homepage"
+
+
+
+ true
+ node_modules/@types/uuid
+
+
+
+ uuid
+ 8.3.2
+ RFC4122 (v1, v4, and v5) UUIDs
+ optional
+
+ f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a
+
+
+
+ MIT
+
+
+ pkg:npm/uuid@8.3.2
+
+
+ https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz
+ as detected from npm-ls property "resolved"
+
+
+ https://github.com/uuidjs/uuid/issues
+ as detected from PackageJson property "bugs.url"
+
+
+ git+https://github.com/uuidjs/uuid.git
+ as detected from PackageJson property "repository.url"
+
+
+ https://github.com/uuidjs/uuid#readme
+ as detected from PackageJson property "homepage"
+
+
+
+ true
+ node_modules/uuid
+
+
+
+ uuidv4
+ 6.2.13
+ uuidv4 creates v4 UUIDs.
+ optional
+
+ 017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d
+
+
+
+ MIT
+
+
+ pkg:npm/uuidv4@6.2.13
+
+
+ https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz
+ as detected from npm-ls property "resolved"
+
+
+ https://github.com/thenativeweb/uuidv4/issues
+ as detected from PackageJson property "bugs.url"
+
+
+ git://github.com/thenativeweb/uuidv4.git
+ as detected from PackageJson property "repository.url"
+
+
+ https://github.com/thenativeweb/uuidv4#readme
+ as detected from PackageJson property "homepage"
+
+
+
+ node_modules/uuidv4
+
+
-
+
+
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/demo/dev-dependencies/example-results/flat/bom.1.4.json b/demo/dev-dependencies/example-results/flat/bom.1.4.json
index a7a66f5a6..9a6216876 100644
--- a/demo/dev-dependencies/example-results/flat/bom.1.4.json
+++ b/demo/dev-dependencies/example-results/flat/bom.1.4.json
@@ -8,7 +8,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0",
+ "version": "1.13.3",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
@@ -30,7 +30,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0",
+ "version": "1.9.2",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
@@ -81,13 +81,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.14.1",
- "bom-ref": "@types/node@18.14.1",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "407fb7ed076cdc4d1e0e545e79ba01c5f1db5fda2601c0425c4cecc02bba8f248feb8da388cddc61222453f444ab084252a5dda271c5b817c90e2009c4c36169"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -97,10 +97,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.14.1#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.14.1.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -130,16 +130,191 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.14.1"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.14.1"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/demo/dev-dependencies/example-results/flat/bom.1.4.xml b/demo/dev-dependencies/example-results/flat/bom.1.4.xml
index 8794a6ef2..58794038b 100644
--- a/demo/dev-dependencies/example-results/flat/bom.1.4.xml
+++ b/demo/dev-dependencies/example-results/flat/bom.1.4.xml
@@ -5,7 +5,7 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
https://github.com/CycloneDX/cyclonedx-javascript-library/issues
@@ -24,7 +24,7 @@
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
https://github.com/CycloneDX/cyclonedx-node-npm/issues
@@ -58,23 +58,23 @@
-
+
@types
node
- 18.14.1
+ 18.15.11
TypeScript definitions for Node.js
- 407fb7ed076cdc4d1e0e545e79ba01c5f1db5fda2601c0425c4cecc02bba8f248feb8da388cddc61222453f444ab084252a5dda271c5b817c90e2009c4c36169
+ 1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd
MIT
- pkg:npm/%40types/node@18.14.1#types/node
+ pkg:npm/%40types/node@18.15.11#types/node
- https://registry.npmjs.org/@types/node/-/node-18.14.1.tgz
+ https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz
as detected from npm-ls property "resolved"
@@ -95,11 +95,131 @@
node_modules/@types/node
+
+ @types
+ uuid
+ 8.3.4
+ TypeScript definitions for uuid
+ optional
+
+ 73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287
+
+
+
+ MIT
+
+
+ pkg:npm/%40types/uuid@8.3.4#types/uuid
+
+
+ https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz
+ as detected from npm-ls property "resolved"
+
+
+ https://github.com/DefinitelyTyped/DefinitelyTyped/issues
+ as detected from PackageJson property "bugs.url"
+
+
+ git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid
+ as detected from PackageJson property "repository.url" and "repository.directory"
+
+
+ https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid
+ as detected from PackageJson property "homepage"
+
+
+
+ true
+ node_modules/@types/uuid
+
+
+
+ uuid
+ 8.3.2
+ RFC4122 (v1, v4, and v5) UUIDs
+ optional
+
+ f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a
+
+
+
+ MIT
+
+
+ pkg:npm/uuid@8.3.2
+
+
+ https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz
+ as detected from npm-ls property "resolved"
+
+
+ https://github.com/uuidjs/uuid/issues
+ as detected from PackageJson property "bugs.url"
+
+
+ git+https://github.com/uuidjs/uuid.git
+ as detected from PackageJson property "repository.url"
+
+
+ https://github.com/uuidjs/uuid#readme
+ as detected from PackageJson property "homepage"
+
+
+
+ true
+ node_modules/uuid
+
+
+
+ uuidv4
+ 6.2.13
+ uuidv4 creates v4 UUIDs.
+ optional
+
+ 017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d
+
+
+
+ MIT
+
+
+ pkg:npm/uuidv4@6.2.13
+
+
+ https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz
+ as detected from npm-ls property "resolved"
+
+
+ https://github.com/thenativeweb/uuidv4/issues
+ as detected from PackageJson property "bugs.url"
+
+
+ git://github.com/thenativeweb/uuidv4.git
+ as detected from PackageJson property "repository.url"
+
+
+ https://github.com/thenativeweb/uuidv4#readme
+ as detected from PackageJson property "homepage"
+
+
+
+ node_modules/uuidv4
+
+
-
+
+
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/demo/dev-dependencies/project/package.json b/demo/dev-dependencies/project/package.json
index 255a1f510..133e273b1 100644
--- a/demo/dev-dependencies/project/package.json
+++ b/demo/dev-dependencies/project/package.json
@@ -4,7 +4,12 @@
"private": true,
"version": "0.0.0",
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
}
}
diff --git a/demo/juice-shop/example-results/bare/bom.1.2.json b/demo/juice-shop/example-results/bare/bom.1.2.json
index fa8486fd5..7c0b0fa9d 100644
--- a/demo/juice-shop/example-results/bare/bom.1.2.json
+++ b/demo/juice-shop/example-results/bare/bom.1.2.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0"
+ "version": "1.9.2"
}
],
"component": {
@@ -329,6 +329,7 @@
"bom-ref": "@gar/promisify@1.1.3",
"author": "Gar",
"description": "Promisify an entire class or object",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -3469,6 +3470,7 @@
"bom-ref": "@npmcli/fs@1.1.1",
"author": "GitHub Inc.",
"description": "filesystem utilities for the npm cli",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -3498,6 +3500,7 @@
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
"description": "move a file (fork of move-file)",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -3541,6 +3544,7 @@
"version": "1.0.4",
"bom-ref": "@npmcli/move-file@1.1.2|mkdirp@1.0.4",
"description": "Recursively mkdir, like `mkdir -p`",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4739,6 +4743,7 @@
"bom-ref": "agentkeepalive@4.2.1",
"author": "fengmk2",
"description": "Missing keepalive http.Agent",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4783,6 +4788,7 @@
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
"author": "Josh Junon",
"description": "Lightweight debugging utility for Node.js and the browser",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4827,6 +4833,7 @@
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
"author": "Douglas Christopher Wilson",
"description": "Deprecate all the things",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4870,6 +4877,7 @@
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
"description": "Tiny millisecond conversion utility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4916,6 +4924,7 @@
"bom-ref": "aggregate-error@3.1.0",
"author": "Sindre Sorhus",
"description": "Create an error from multiple errors",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8207,6 +8216,7 @@
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
"description": "Fast, fault-tolerant, cross-platform, disk-based, data-agnostic, content-addressable cache.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8250,6 +8260,7 @@
"version": "1.0.4",
"bom-ref": "cacache@15.3.0|mkdirp@1.0.4",
"description": "Recursively mkdir, like `mkdir -p`",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9626,6 +9637,7 @@
"bom-ref": "clean-stack@2.2.0",
"author": "Sindre Sorhus",
"description": "Clean up error stack traces",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14110,6 +14122,7 @@
"bom-ref": "encoding@0.1.13",
"author": "Andris Reinman",
"description": "Convert encodings, uses iconv-lite",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14154,6 +14167,7 @@
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
"author": "Alexander Shtuchkin",
"description": "Convert character encodings in pure javascript.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14420,6 +14434,7 @@
"bom-ref": "env-paths@2.2.1",
"author": "Sindre Sorhus",
"description": "Get paths for storing things like data, config, cache, etc",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -15556,6 +15571,7 @@
"bom-ref": "expand-template@2.0.3",
"author": "LM",
"description": "Expand placeholders in a template string",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19035,6 +19051,7 @@
"bom-ref": "github-from-package@0.0.0",
"author": "James Halliday",
"description": "return the github url from a package.json file",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -22808,6 +22825,7 @@
"bom-ref": "humanize-ms@1.2.1",
"author": "dead-horse",
"description": "transform humanize time to ms",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23117,6 +23135,7 @@
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
"description": "Brotli compression/decompression with native bindings",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23161,6 +23180,7 @@
"bom-ref": "imurmurhash@0.1.4",
"author": "Jens Taylor",
"description": "An incremental implementation of MurmurHash3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23205,6 +23225,7 @@
"bom-ref": "indent-string@4.0.0",
"author": "Sindre Sorhus",
"description": "Indent each line in a string",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23249,6 +23270,7 @@
"bom-ref": "infer-owner@1.0.4",
"author": "Isaac Z. Schlueter",
"description": "Infer the owner of a path based on the owner of its nearest existing parent",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24743,6 +24765,7 @@
"bom-ref": "is-lambda@1.0.1",
"author": "Thomas Watson Steen",
"description": "Detect if your code is running on an AWS Lambda server",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28319,6 +28342,7 @@
"bom-ref": "make-fetch-happen@9.1.0",
"author": "Kat Marchán",
"description": "Opinionated, caching, retrying fetch client",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28364,6 +28388,7 @@
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
"author": "Nathan Rajlich",
"description": "Creates a Promise that waits for a single event",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28408,6 +28433,7 @@
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
"author": "Josh Junon",
"description": "Lightweight debugging utility for Node.js and the browser",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28452,6 +28478,7 @@
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.1",
"author": "Kornel Lesiński",
"description": "Parses Cache-Control and other headers. Helps building correct HTTP caches and proxies",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28496,6 +28523,7 @@
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
"author": "Nathan Rajlich",
"description": "An HTTP(s) proxy `http.Agent` implementation for HTTP",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28539,6 +28567,7 @@
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
"description": "Tiny millisecond conversion utility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -29463,6 +29492,7 @@
"bom-ref": "minipass-collect@1.0.2",
"author": "Isaac Z. Schlueter",
"description": "A Minipass stream that collects all the data into a single chunk",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -29491,6 +29521,7 @@
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
"description": "An implementation of window.fetch in Node.js using Minipass streams",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -29535,6 +29566,7 @@
"bom-ref": "minipass-flush@1.0.5",
"author": "Isaac Z. Schlueter",
"description": "A Minipass stream that calls a flush function before emitting 'end'",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -29579,6 +29611,7 @@
"bom-ref": "minipass-pipeline@1.2.4",
"author": "Isaac Z. Schlueter",
"description": "create a pipeline of streams using Minipass",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -29608,6 +29641,7 @@
"bom-ref": "minipass-sized@1.0.3",
"author": "Isaac Z. Schlueter",
"description": "A Minipass stream that raises an error if you get a different number of bytes than expected",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -29784,6 +29818,7 @@
"bom-ref": "mkdirp-classic@0.5.3",
"author": "Mathias Buus",
"description": "Mirror of mkdirp 0.5.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -30221,6 +30256,7 @@
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
"description": "Native Abstractions for Node.js: C++ header for Node 0.8 -> 18 compatibility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -30309,6 +30345,7 @@
"bom-ref": "napi-build-utils@1.0.2",
"author": "Jim Schlight",
"description": "A set of utilities to assist developers of tools that build N-API native add-ons",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -30572,6 +30609,7 @@
"bom-ref": "node-abi@2.30.1",
"author": "Lukas Geiger",
"description": "Get the Node ABI for a given target and runtime, and vice versa.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -30615,6 +30653,7 @@
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
"description": "The semantic version parser used by npm.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -30748,6 +30787,7 @@
"bom-ref": "node-gyp@8.4.1",
"author": "Nathan Rajlich",
"description": "Node.js native addon build tool",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -30792,6 +30832,7 @@
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
"author": "Sindre Sorhus",
"description": "Regular expression for matching ANSI escape codes",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -30836,6 +30877,7 @@
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
"author": "GitHub Inc.",
"description": "Keep track of the overall completion of many disparate processes",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -30880,6 +30922,7 @@
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
"author": "GitHub Inc.",
"description": "A terminal based horizontal gauge",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -30924,6 +30967,7 @@
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
"author": "Sindre Sorhus",
"description": "Check if the character represented by a given Unicode code point is fullwidth",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -30968,6 +31012,7 @@
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
"author": "Isaac Z. Schlueter",
"description": "Option parsing for Node, supporting types, shorthands, etc. Used by npm.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -31012,6 +31057,7 @@
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
"author": "GitHub Inc.",
"description": "logger for npm",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -31055,6 +31101,7 @@
"version": "3.6.1",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.1",
"description": "Streams3, a user-land copy of the stream library from Node.js",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -31099,6 +31146,7 @@
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
"author": "Sindre Sorhus",
"description": "Get the visual width of a string - the number of columns required to display it",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -31143,6 +31191,7 @@
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
"author": "Sindre Sorhus",
"description": "Strip ANSI escape codes from a string",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -31673,6 +31722,7 @@
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
"description": "A logger that does exactly nothing.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33703,6 +33753,7 @@
"bom-ref": "p-map@4.0.0",
"author": "Sindre Sorhus",
"description": "Map over promises concurrently",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34880,6 +34931,7 @@
"bom-ref": "prebuild-install@5.3.6",
"author": "Mathias Buus",
"description": "A command line tool to easily install prebuilt binaries for multiple version of node/iojs on a specific platform",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35144,6 +35196,7 @@
"bom-ref": "promise-inflight@1.0.1",
"author": "Rebecca Turner",
"description": "One promise for multiple requests in flight to avoid async duplication",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35188,6 +35241,7 @@
"bom-ref": "promise-retry@2.0.1",
"author": "IndigoUnited",
"description": "Retries a function that returns a promise, leveraging the power of the retry module.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35232,6 +35286,7 @@
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
"author": "IndigoUnited",
"description": "Create an error with a code",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35276,6 +35331,7 @@
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
"author": "Tim Koschützki",
"description": "Abstraction for exponential and custom retry strategies for failed operations.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39855,6 +39911,7 @@
"bom-ref": "simple-concat@1.0.1",
"author": "Feross Aboukhadijeh",
"description": "Super-minimalist version of `concat-stream`. Less than 15 lines!",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39899,6 +39956,7 @@
"bom-ref": "simple-get@3.1.1",
"author": "Feross Aboukhadijeh",
"description": "Simplest way to make http get requests. Supports HTTPS, redirects, gzip/deflate, streams in < 100 lines.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39943,6 +40001,7 @@
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
"author": "Sindre Sorhus",
"description": "Decompress a HTTP response if needed",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39987,6 +40046,7 @@
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
"author": "Sindre Sorhus",
"description": "Mimic a Node.js HTTP response stream",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -40167,6 +40227,7 @@
"bom-ref": "smart-buffer@4.2.0",
"author": "Josh Glazebrook",
"description": "smart-buffer is a Buffer wrapper that adds automatic read & write offset tracking, string operations, data insertions, and more.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -41188,6 +41249,7 @@
"bom-ref": "socks-proxy-agent@6.2.1",
"author": "Nathan Rajlich",
"description": "A SOCKS proxy `http.Agent` implementation for HTTP and HTTPS",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -41232,6 +41294,7 @@
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
"author": "Josh Junon",
"description": "Lightweight debugging utility for Node.js and the browser",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -41275,6 +41338,7 @@
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
"description": "Tiny millisecond conversion utility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -41321,6 +41385,7 @@
"bom-ref": "socks@2.7.1",
"author": "Josh Glazebrook",
"description": "Fully featured SOCKS proxy client supporting SOCKSv4, SOCKSv4a, and SOCKSv5. Includes Bind and Associate functionality.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -41364,6 +41429,7 @@
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
"author": "Fedor Indutny",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -42115,6 +42181,7 @@
"bom-ref": "ssri@8.0.1",
"author": "Kat Marchán",
"description": "Standard Subresource Integrity library -- parses, serializes, generates, and verifies integrity metadata according to the SRI spec.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -43439,6 +43506,7 @@
"bom-ref": "tar-fs@2.1.1",
"author": "Mathias Buus",
"description": "filesystem bindings for tar-stream",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -43482,6 +43550,7 @@
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
"description": "Buffer List: collect buffers and access with a standard readable Buffer interface, streamable too!",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -43526,6 +43595,7 @@
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
"author": "Isaac Z. Schlueter",
"description": "like `chown -R`",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -43569,6 +43639,7 @@
"version": "3.6.1",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.1",
"description": "Streams3, a user-land copy of the stream library from Node.js",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -43613,6 +43684,7 @@
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
"author": "Mathias Buus",
"description": "tar-stream is a streaming tar parser and generator and nothing else. It is streams2 and operates purely using streams which means you can easily extract/parse tarballs without ever hitting the file system.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45412,6 +45484,7 @@
"bom-ref": "uglify-js@3.17.4",
"author": "Mihai Bazon",
"description": "JavaScript parser, mangler/compressor and beautifier toolkit",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45765,6 +45838,7 @@
"bom-ref": "unique-filename@1.1.1",
"author": "Rebecca Turner",
"description": "Generate a unique filename for use in temporary directories or caches.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45809,6 +45883,7 @@
"bom-ref": "unique-slug@2.0.2",
"author": "Rebecca Turner",
"description": "Generate a unique character string suitible for use in files and URLs.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -47536,6 +47611,7 @@
"bom-ref": "which-pm-runs@1.1.0",
"author": "Zoltan Kochan",
"description": "Detects what package manager executes the process",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/demo/juice-shop/example-results/bare/bom.1.2.xml b/demo/juice-shop/example-results/bare/bom.1.2.xml
index b38f13ffa..29027318d 100644
--- a/demo/juice-shop/example-results/bare/bom.1.2.xml
+++ b/demo/juice-shop/example-results/bare/bom.1.2.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
@@ -251,6 +251,7 @@
promisify
1.1.3
Promisify an entire class or object
+ optional
9364f2d49715a238c9170ae0fd384a8b6ba327b5cd2d868518d07f6d64fdc0647ea123091cc6b9c3e094abaa7fa55aca78d36003ba42a847234a71d5a2a25017
@@ -2621,6 +2622,7 @@
fs
1.1.1
filesystem utilities for the npm cli
+ optional
f0a1b9443d0654fe32744cd19ff23804d0eec43b6a55b39d9bcebbe53e3d3881bf34685a2b4a633d7ed970396f2986c0fae96f54adf3b5f705e2e05d3b1b896d
@@ -2642,6 +2644,7 @@
move-file
1.1.2
move a file (fork of move-file)
+ optional
d5251ffc28361b3183c9a7f5e5a47d4adf535a56fe5ef6d95d6a43c7c60ab3b30bccc1ff0427a8a6ffb2f6fcebce091fca4086b963a54aede66618f6f8541cae
@@ -2674,6 +2677,7 @@
mkdirp
1.0.4
Recursively mkdir, like `mkdir -p`
+ optional
bd5a95650c9fdd62f1d9285dd2a27dc6ebea800c8a3cb022a884c4b6a5b4a08523ce8dcf78f0dde9f5bd885cf7d1e7fb62ca7fa225aa6e1b33786596d93e86cf
@@ -3575,6 +3579,7 @@
agentkeepalive
4.2.1
Missing keepalive http.Agent
+ optional
667e1cc36344a9dfbd7e249558cb1c9e3c90d5af187e8739a016a32dea39c3e6011e00d4704058da14b86294f3ea23797ffdb342292d72e33ab52f31d69f5da4
@@ -3608,6 +3613,7 @@
debug
4.3.4
Lightweight debugging utility for Node.js and the browser
+ optional
3d15851ee494dde0ed4093ef9cd63b25c91eb758f4b793ae3ac1733cfcec7a40f9d9997ca947c520f122b305ea22f1d61951ce817fbb1bfbc234d85e870c5f91
@@ -3641,6 +3647,7 @@
depd
1.1.2
Deprecate all the things
+ optional
ede98f4e5e83a68e894573978cb471724f8594b457e7ce3b70b2849f4d0f2c081cde0da14d9660afe7b8736bfa4294a62de14fde7e72528edfb7a6af04aff98d
@@ -3673,6 +3680,7 @@
ms
2.1.2
Tiny millisecond conversion utility
+ optional
b0690fc7e56332d980e8c5f6ee80381411442c50996784b85ea7863970afebcb53fa36f7be4fd1c9a2963f43d32b25ad98b48cd1bf9a7544c4bdbb353c4687db
@@ -3708,6 +3716,7 @@
aggregate-error
3.1.0
Create an error from multiple errors
+ optional
e08ed3774d6ab96fd1a6871f35ac85745564d6a4aea21d04ec9adb449d7a9c7d351e128543cf0836af5277e9ddef6cea4724a5afd0660c0f3194427abc932b60
@@ -6175,6 +6184,7 @@
cacache
15.3.0
Fast, fault-tolerant, cross-platform, disk-based, data-agnostic, content-addressable cache.
+ optional
555758cd7127f9c9db5e91605ace614d3ece49c7a01d598b849211f147ea9378850fa03a8f98925f52ae0537cd12fe2d749584d8fcc0e88545b5c2c2edf37dc1
@@ -6207,6 +6217,7 @@
mkdirp
1.0.4
Recursively mkdir, like `mkdir -p`
+ optional
bd5a95650c9fdd62f1d9285dd2a27dc6ebea800c8a3cb022a884c4b6a5b4a08523ce8dcf78f0dde9f5bd885cf7d1e7fb62ca7fa225aa6e1b33786596d93e86cf
@@ -7242,6 +7253,7 @@
clean-stack
2.2.0
Clean up error stack traces
+ optional
e1d882f4769313e29100c5a10e1ac63840a0599c687af31ce5396439b32a352b1553ad8f6335d9fd23138f3c8600517562eb20c46712593117061a7408fc10d4
@@ -10608,6 +10620,7 @@
encoding
0.1.13
Convert encodings, uses iconv-lite
+ optional
11305aba8c354f7e58fd664c922a3d8e2334679c631c7989e179a364eab597f757cf796bdac467f3b9c9cb6d11ba9a928751769b71c73d2a7c4a120f409ac9dc
@@ -10641,6 +10654,7 @@
iconv-lite
0.6.3
Convert character encodings in pure javascript.
+ optional
e1f0a4efdc2c84c773329dab1f4eaa5ab244e22a25a8b842507f8e8ae22053ef91074fbde0d9432fcd5ab4eec65f9e6e50ab9ea34b711cdb6f13223a0fb59d33
@@ -10841,6 +10855,7 @@
env-paths
2.2.1
Get paths for storing things like data, config, cache, etc
+ optional
fa1d6590b2a164c4d88e8835544a49346ecd64959cb9cd830e4feab2a49345108e5e22e3790d5dd7fb9dad41a1a8cc5480097028d67471fdaea9a9f918bb92d8
@@ -11693,6 +11708,7 @@
expand-template
2.0.3
Expand placeholders in a template string
+ optional
5d87ee28cbe3e0edf97ffa4e5cb39b9dd211bf243effee8084e0e1f8e2968fd4bde3df291c79ff20cb331fe82dd1f04245630d7e4d594a9e71dc089f9a7236be
@@ -14303,6 +14319,7 @@
github-from-package
0.0.0
return the github url from a package.json file
+ optional
4b21f2dd3d6fd8d5179f6f4eb1677198ae91c070febe48f7bfc7a7f00381675c0143f842010e5b0104c3d36916e16f6d529ff7421e89f2bf44be7b62c8298e3b
@@ -17139,6 +17156,7 @@
humanize-ms
1.2.1
transform humanize time to ms
+ optional
165ef4bd8b6c0056ff0b4e8f4d2f5d641a3b8a16aef93bbf0cd0a4fcec8785e6b4ed2f9a78c5a914591469745af1f23e49c65b108f1d7d2c7063b83167d48055
@@ -17371,6 +17389,7 @@
iltorb
2.4.5
Brotli compression/decompression with native bindings
+ optional
10c08c9772e79cd499252e50af1c9998c4da002e3e4c990ce70a03fb16e99bd441fa61580abec2d391851374c4182b154125479a35fedec7f9022c2cca53489d
@@ -17404,6 +17423,7 @@
imurmurhash
0.1.4
An incremental implementation of MurmurHash3
+ optional
2665cc67ac2ebc398b88712697dca4cea3ba97015ba1fd061b822470668435d0910c398c5679f2eece47b0880709b6aad30d8cc8f843aa48535204b62d4d8f1c
@@ -17437,6 +17457,7 @@
indent-string
4.0.0
Indent each line in a string
+ optional
11d0c366ee00d8ec882bb2ebff6cc6fb0e6399bba4d435419c4c11110bc1ceca412640846d16bc1b153596085871a1890a745689b8c35e5abbefd5f5ff2e71c2
@@ -17470,6 +17491,7 @@
infer-owner
1.0.4
Infer the owner of a path based on the owner of its nearest existing parent
+ optional
202963f97cfde3e77b8ab1f9a91c9f2689ce75f4f3b836a27c4e993d67f1d0dd3efc04d909bb933eada9ac5979dbabab91077dd16c942888750df050da1333f4
@@ -18590,6 +18612,7 @@
is-lambda
1.0.1
Detect if your code is running on an AWS Lambda server
+ optional
cfb08c14636b10dab988507d06aa3ae1793a63db20f9ea6ad66c8871d1da1a76cc4d83b1bf3b04b5d62a414ca507b2f17e4be0aeb8cfdf64fa6307228a8f5421
@@ -21273,6 +21296,7 @@
make-fetch-happen
9.1.0
Opinionated, caching, retrying fetch client
+ optional
fb3a29c03cbb0cd9279b03d0a657a6e650195ff7823b34af48d35c48a9b9795c1390e073a24b447d7b1af4bdb727f188461c51b1ac7390f121ac91291361781a
@@ -21307,6 +21331,7 @@
once
1.1.2
Creates a Promise that waits for a single event
+ optional
45bcc9be5373991ab97373b4f548a97ae5e7a38b40d4513a8a43a3c592b4b6ec55bf7e35da5eb8979b755b9a63e3eac9abdbe9926fe4c22474eda6579ec28fc7
@@ -21340,6 +21365,7 @@
debug
4.3.4
Lightweight debugging utility for Node.js and the browser
+ optional
3d15851ee494dde0ed4093ef9cd63b25c91eb758f4b793ae3ac1733cfcec7a40f9d9997ca947c520f122b305ea22f1d61951ce817fbb1bfbc234d85e870c5f91
@@ -21373,6 +21399,7 @@
http-cache-semantics
4.1.1
Parses Cache-Control and other headers. Helps building correct HTTP caches and proxies
+ optional
7abdbde4328f56c57cda3e64c351a3b7e00303f5d81ec6a397cd9c18d406d9eca83e4be05215fe9c32327a5ce12166dbb173f7f441dc23a979b58b36158a985d
@@ -21406,6 +21433,7 @@
http-proxy-agent
4.0.1
An HTTP(s) proxy `http.Agent` implementation for HTTP
+ optional
934cdd360a964c603a69e211569bdf5686f87cbe767537da7a1ca583463852f4b24af3aafd8f813b23eb82952b03b1f296abd4f2f2191ac46e5e6b29b245744e
@@ -21438,6 +21466,7 @@
ms
2.1.2
Tiny millisecond conversion utility
+ optional
b0690fc7e56332d980e8c5f6ee80381411442c50996784b85ea7863970afebcb53fa36f7be4fd1c9a2963f43d32b25ad98b48cd1bf9a7544c4bdbb353c4687db
@@ -22131,6 +22160,7 @@
minipass-collect
1.0.2
A Minipass stream that collects all the data into a single chunk
+ optional
e93ea51f41fc386f642139bf266ead768a086e8806f5ed2d2e0a58ea6a615d29bf03dbbc36ad6bc811be42ca62b9bf4b8d69413ec3d2ded590fc1a2dab815dc4
@@ -22151,6 +22181,7 @@
minipass-fetch
1.4.1
An implementation of window.fetch in Node.js using Minipass streams
+ optional
0861f579b94bab6e98d79f80ce4edecb8c61d09fd77c97eb0a8c792c32622aa2364368b038b38aae598868e0e24904bc775f236a517acb62b678f526d0299287
@@ -22184,6 +22215,7 @@
minipass-flush
1.0.5
A Minipass stream that calls a flush function before emitting 'end'
+ optional
266412618a4f52a5f92729f5997691c0e75ad6e43c1cfe4a013fe80d22c2cedd41611850534fe10edb01d6e7d97c4133319f5a0159ac070f3e156b085e50a55b
@@ -22217,6 +22249,7 @@
minipass-pipeline
1.2.4
create a pipeline of streams using Minipass
+ optional
c6e22aedc20eb74f513d1275f60762e1bf9188dbc31587b9247fa080dbc1a86aa941772bbb73dc466399b8704a58ad53c5ff7e710f8731537877acf8e8b64fec
@@ -22238,6 +22271,7 @@
minipass-sized
1.0.3
A Minipass stream that raises an error if you get a different number of bytes than expected
+ optional
31b9104360938813250360e6ff9718fbd49614437ca73cce5e2eab94ce57c6ad18a9b75ae59432f6c53be5aebbdc513d64ad19b1bafa63988feaef6792d7e0da
@@ -22370,6 +22404,7 @@
mkdirp-classic
0.5.3
Mirror of mkdirp 0.5.2
+ optional
80a2dc444321b6e651c1101fa8fdd1156f932b826a029541b4e21fb55823b8006902da7184f19a0dc7ef6e136f0f407c883d6852bfedc57df936371a63a36cfc
@@ -22697,6 +22732,7 @@
nan
2.17.0
Native Abstractions for Node.js: C++ header for Node 0.8 -> 18 compatibility
+ optional
d994e0b65d2726c3b42900a3129c5c22be43f98bfdd299538ad66df4905f42f5490d2e6c78c97714ebec877fbd0a86165dfff597939a673cc5ea70e6e1c6a069
@@ -22763,6 +22799,7 @@
napi-build-utils
1.0.2
A set of utilities to assist developers of tools that build N-API native add-ons
+ optional
38d99152a2bbce3ec3597d03f400ded37c1bc0e059c4d01f176d0f9467c2590703dfefcc6a44a1207accab1f58c0f4dfc43745d732de2fe44666247d90630b76
@@ -22960,6 +22997,7 @@
node-abi
2.30.1
Get the Node ABI for a given target and runtime, and vice versa.
+ optional
ff60f4c0e40f81a516cd5495811331fadaca2510b6506e1251ce28089a17c7d5318eda74572dff92def371bc4717cf99fe92b7525a0b5b30484a0ef66eb7f2d7
@@ -22992,6 +23030,7 @@
semver
5.7.1
The semantic version parser used by npm.
+ optional
b1ab9a0dffcf65d560acb4cd60746da576b589188a71a79b88a435049769425587da50af7b141d5f9e6c9cf1722bb433a6e76a6c2234a9715f39ab0777234319
@@ -23092,6 +23131,7 @@
node-gyp
8.4.1
Node.js native addon build tool
+ optional
a254c946052d01bfe13971b413ddf0643b3962226581b5f14f0400147c8d951b1742763351a17668682e8d96f0fa147c685e191bfad24f9edb58c583d7a8ebf7
@@ -23125,6 +23165,7 @@
ansi-regex
5.0.1
Regular expression for matching ANSI escape codes
+ optional
aae2505e54d25062f62c7f52517a3c570b18e2ca1a9e1828e8b3529bce04d4b05c13cb373b4c29762473c91f73fd9649325316bf7eea38e6fda5d26531410a15
@@ -23158,6 +23199,7 @@
are-we-there-yet
3.0.1
Keep track of the overall completion of many disparate processes
+ optional
4195b8103986c2562eaf46327ff6f6b86b9c1d031af1a1543fb7aef5d751ef7bef845cade15d159774073dc4cd27c97aa9838177181776705742b1e295f45006
@@ -23191,6 +23233,7 @@
gauge
4.0.4
A terminal based horizontal gauge
+ optional
7fd9be0443798e483a6b47d98e57a2763379d551355fe98f150d83274bafd55dfda022c26ec19eeb28db067a7b78aef3ffe180a27f7d6b79c7baa6eebad8723e
@@ -23224,6 +23267,7 @@
is-fullwidth-code-point
3.0.0
Check if the character represented by a given Unicode code point is fullwidth
+ optional
cf29a6e7ebbeb02b125b20fda8d69e8d5dc316f84229c94a762cd868952e1c0f3744b8dbee74ae1a775d0871afd2193e298ec130096c59e2b851e83a115e9742
@@ -23257,6 +23301,7 @@
nopt
5.0.0
Option parsing for Node, supporting types, shorthands, etc. Used by npm.
+ optional
4db8faeeb7dfa9c79e2e97115eb4fbbca00df02c1f3de20180cec4ea206498a2d5edb10cc291a060b1afd2300252c10269afefbb13f42231289edeae99d320b5
@@ -23290,6 +23335,7 @@
npmlog
6.0.2
logger for npm
+ optional
fef06fcf925fafd753fda15677414845ff93fd0d9606c2c437281468552ab2daacc9c99900ffede41bc52532b4be2166494c6250a4d4a655b2e6fb7eaef288c6
@@ -23322,6 +23368,7 @@
readable-stream
3.6.1
Streams3, a user-land copy of the stream library from Node.js
+ optional
fab426ad6318180f74c9e9e14d8b0b580b0bb2a542f28b0ec3a3ca1351c36223b481d3de29eff10c7373200227e02f75610ea87a71217d8aaa735f3cdea1db8d
@@ -23355,6 +23402,7 @@
string-width
4.2.3
Get the visual width of a string - the number of columns required to display it
+ optional
c0ac90450a63274b08a7ad84ad265d1ac8cc256b1aa79a1136284786ee86ec954effd8c807a5327af2feb57b8eaab9e0f23fdcc4a4d6c96530bd24eb8a2673fe
@@ -23388,6 +23436,7 @@
strip-ansi
6.0.1
Strip ANSI escape codes from a string
+ optional
637f153d21dcaa416b0a916743dbee4979aabaebf9a1738aa46793e9a1abaf7a3719cf409556ba2417d448e0a76f1186645fbfd28a08ecaacfb944b3b54754e4
@@ -23786,6 +23835,7 @@
noop-logger
0.1.1
A logger that does exactly nothing.
+ optional
ea433c08b5efb96e5cad3c6c02dbdad982eb46b0da89322421e3d6b3d9a82c7a9b1564fde16a4d163c12ff975f2df1028398bf9649b0ddaa2a562771b76dd311
@@ -25310,6 +25360,7 @@
p-map
4.0.0
Map over promises concurrently
+ optional
fdb8ceaa68044c1601e41a0478655e6bc766bc76f69bd18bcb513d5b8df27b27cfe9040264614d6be5d171e244b8307aceaafe80aa4802694b79b329ca4c3f31
@@ -26192,6 +26243,7 @@
prebuild-install
5.3.6
A command line tool to easily install prebuilt binaries for multiple version of node/iojs on a specific platform
+ optional
b3c01a8bcfbe4101a2e2c49bb3f335424bbad8f14ae3d266d426e05e4946cf89e61ef783ab4c3326483b35ae506e73b5b8d1fc2bb8aac76110fe65743191263a
@@ -26390,6 +26442,7 @@
promise-inflight
1.0.1
One promise for multiple requests in flight to avoid async duplication
+ optional
eb358fc8438569004961c18c1c1293289deee9306c9cc14e21949ae9c7b57bf66baec3a59c74476da6cc8cb88160aa7e9f8e17f5e508e9550f6ae9025c7b86e2
@@ -26423,6 +26476,7 @@
promise-retry
2.0.1
Retries a function that returns a promise, leveraging the power of the retry module.
+ optional
cbe58a165051f011979ec3652071463d99b20dfdc314ca0b85a7e5027c99815eab1bac6ef89c1eb13a3643d47a5f0626b66c001429009377b7e6311da1e87fde
@@ -26456,6 +26510,7 @@
err-code
2.0.3
Create an error with a code
+ optional
d9b9a546934a0714ff09198f3a5c88490a4d8fea92798bdcca6fee4f4271d9b30e94a2ed4b2d5998bb95c5210a2b2a2bfcde7286fa7f6621b5a04dc311831214
@@ -26489,6 +26544,7 @@
retry
0.12.0
Abstraction for exponential and custom retry strategies for failed operations.
+ optional
f4b9224f08d487aad3e79e43b44f6b4d7f81281c8f7eb333100b67944b5d130af73647dfc228a1a9ed9b5800e0f8e4118edf6097a20276607f6450c2180b52a3
@@ -29926,6 +29982,7 @@
simple-concat
1.0.1
Super-minimalist version of `concat-stream`. Less than 15 lines!
+ optional
71216d00fb518658efebd20ad214d5650f8e7c4f6778f8bfaed266c395231de57256ba04a895cfd6c173b4a532d6a53ec6fcf7bbfb1f6092daf78edbee700dd9
@@ -29959,6 +30016,7 @@
simple-get
3.1.1
Simplest way to make http get requests. Supports HTTPS, redirects, gzip/deflate, streams in < 100 lines.
+ optional
090e4b4ca19f0a9bc4d4ad27daeb3e92e30f6e4fead042a5f36b386a1795f685e3144cfa5bf63ba1015526e53a406efb8514f81a16f945446d785e6f9d68eea4
@@ -29992,6 +30050,7 @@
decompress-response
4.2.1
Decompress a HTTP response if needed
+ optional
8ce4a77b6a9bc84fbfafc1b5554f86ffcd8b06cd85b382c0b1388b48738238c65097638a67a8bc8b82321de9937beff22173ad4dc4503333dc832868165a8f93
@@ -30025,6 +30084,7 @@
mimic-response
2.1.0
Mimic a Node.js HTTP response stream
+ optional
c17aa3493f922eded1d34f72482825581085a635328260887c3efdd3f9156e21a65207d81ae075e0f8937790f0571495e0d7181e3ccc9288f92e3419c1340b10
@@ -30161,6 +30221,7 @@
smart-buffer
4.2.0
smart-buffer is a Buffer wrapper that adds automatic read & write offset tracking, string operations, data insertions, and more.
+ optional
f7884ad0787cacfa90976c577371ec681a0e5ca576d0c4e83e4717bf06c84962c4b3eeb8b01ab9905827da42431dbd4faf2f72acfd1dc6b088f5145c8bb4572a
@@ -30929,6 +30990,7 @@
socks-proxy-agent
6.2.1
A SOCKS proxy `http.Agent` implementation for HTTP and HTTPS
+ optional
6ba296f46fba0779d6675c81f06ee92702f78202f2d6e4f32808026fbb6d6e5c2a773f5f306254b93cb7b85cc43f8f0502cf452c82e59b30e513624985541a5d
@@ -30962,6 +31024,7 @@
debug
4.3.4
Lightweight debugging utility for Node.js and the browser
+ optional
3d15851ee494dde0ed4093ef9cd63b25c91eb758f4b793ae3ac1733cfcec7a40f9d9997ca947c520f122b305ea22f1d61951ce817fbb1bfbc234d85e870c5f91
@@ -30994,6 +31057,7 @@
ms
2.1.2
Tiny millisecond conversion utility
+ optional
b0690fc7e56332d980e8c5f6ee80381411442c50996784b85ea7863970afebcb53fa36f7be4fd1c9a2963f43d32b25ad98b48cd1bf9a7544c4bdbb353c4687db
@@ -31029,6 +31093,7 @@
socks
2.7.1
Fully featured SOCKS proxy client supporting SOCKSv4, SOCKSv4a, and SOCKSv5. Includes Bind and Associate functionality.
+ optional
ee6694672d4deeea3af965445faa6c012c6d36529a3553251902a41bfeb79c40dd2ce58d6e250ca0b2bb5f8b98a0b850b2d6aeef698b81f116717730b1a1db61
@@ -31061,6 +31126,7 @@
Fedor Indutny
ip
2.0.0
+ optional
58a6be5ee2c6d40d51d145a1976fb55d04a2f9f65632c60a7df3194d362c8996940fc936c83023e5ab62993503d93664c8290d11e604e4d845666ba9386b6361
@@ -31625,6 +31691,7 @@
ssri
8.0.1
Standard Subresource Integrity library -- parses, serializes, generates, and verifies integrity metadata according to the SRI spec.
+ optional
f7ba92873cb5022cb1bcf34890b5a81ae6bbc68433ccf8d0d07007e01d2b58aa3b499e944ae3dcad488016bc2cd141fc46b6d69a0ab72cc4ce6e13c81db6c179
@@ -32619,6 +32686,7 @@
tar-fs
2.1.1
filesystem bindings for tar-stream
+ optional
574af663db1c99b0d12c235ec7ffa1633be9ff3c988ef15b1cf36055329f42f56b6fa82e884fdfc4ff976e50cd474d75bada296e47b1da7338747355e860ec9e
@@ -32651,6 +32719,7 @@
bl
4.1.0
Buffer List: collect buffers and access with a standard readable Buffer interface, streamable too!
+ optional
d56d3b70cf604ba0dc2e97ab65f1528fe6d62ed68f1923875a13e21b35e6bd525b44b746f36b07fca9fc12d5b556a595039e0029fda1e64e416e721bc05de1eb
@@ -32684,6 +32753,7 @@
chownr
1.1.4
like `chown -R`
+ optional
8c9d1bab36b296626d567360cd37923acf033dabe96d8804aff6f460bf3fd863b7c4912122716684a3149c42508d9ba62bb297185854cbcf4faec25695a90156
@@ -32716,6 +32786,7 @@
readable-stream
3.6.1
Streams3, a user-land copy of the stream library from Node.js
+ optional
fab426ad6318180f74c9e9e14d8b0b580b0bb2a542f28b0ec3a3ca1351c36223b481d3de29eff10c7373200227e02f75610ea87a71217d8aaa735f3cdea1db8d
@@ -32749,6 +32820,7 @@
tar-stream
2.2.0
tar-stream is a streaming tar parser and generator and nothing else. It is streams2 and operates purely using streams which means you can easily extract/parse tarballs without ever hitting the file system.
+ optional
ba37aa6dc780060c0c6711099e4d870d8d83967519fbda0471bd4acd355f6078a8d1413a746ef59fad1df03d88e2a36f95e5abad7a668e9b7bbd9785d4b9cc65
@@ -34099,6 +34171,7 @@
uglify-js
3.17.4
JavaScript parser, mangler/compressor and beautifier toolkit
+ optional
4fdabcd93248f5efc2d5303162f7dbd7ac4ed76d2d315159ac60377fdfcfe38db80cdbbaca92b5d37cb418f1556b5ef2a2dc12c995b98985e08d81e41ab256fe
@@ -34364,6 +34437,7 @@
unique-filename
1.1.1
Generate a unique filename for use in temporary directories or caches.
+ optional
566a748c8a76967df95135eeaf2be3ce48c6751c9ff5bda54d7b9261488f9b345c977143b58a80c0e9d3264027803f525a19e82730db4cac1a3ab67e493b7135
@@ -34397,6 +34471,7 @@
unique-slug
2.0.2
Generate a unique character string suitible for use in files and URLs.
+ optional
ce85abf4e6dac402c3dc338f7e33d2ab1b787e766259b9711c881e5aa5bcc7b52a0f312d1c440bce38b672e258405094e8a9a826290e600665ad31c779b8f1db
@@ -35693,6 +35768,7 @@
which-pm-runs
1.1.0
Detects what package manager executes the process
+ optional
9f56eb0aea829717c57eafd16f420283d822499a824bea4bb5c71d6a0e82d87cae7c1ae1ddf04e8b2f676fa82044cbd63951f91ab749b248f98864d937177b48
diff --git a/demo/juice-shop/example-results/bare/bom.1.3.json b/demo/juice-shop/example-results/bare/bom.1.3.json
index f30e21786..17e64022d 100644
--- a/demo/juice-shop/example-results/bare/bom.1.3.json
+++ b/demo/juice-shop/example-results/bare/bom.1.3.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0"
+ "version": "1.9.2"
}
],
"component": {
@@ -375,6 +375,7 @@
"bom-ref": "@gar/promisify@1.1.3",
"author": "Gar",
"description": "Promisify an entire class or object",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -3935,6 +3936,7 @@
"bom-ref": "@npmcli/fs@1.1.1",
"author": "GitHub Inc.",
"description": "filesystem utilities for the npm cli",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -3970,6 +3972,7 @@
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
"description": "move a file (fork of move-file)",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4019,6 +4022,7 @@
"version": "1.0.4",
"bom-ref": "@npmcli/move-file@1.1.2|mkdirp@1.0.4",
"description": "Recursively mkdir, like `mkdir -p`",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5379,6 +5383,7 @@
"bom-ref": "agentkeepalive@4.2.1",
"author": "fengmk2",
"description": "Missing keepalive http.Agent",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5429,6 +5434,7 @@
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
"author": "Josh Junon",
"description": "Lightweight debugging utility for Node.js and the browser",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5479,6 +5485,7 @@
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
"author": "Douglas Christopher Wilson",
"description": "Deprecate all the things",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5528,6 +5535,7 @@
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
"description": "Tiny millisecond conversion utility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5580,6 +5588,7 @@
"bom-ref": "aggregate-error@3.1.0",
"author": "Sindre Sorhus",
"description": "Create an error from multiple errors",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9321,6 +9330,7 @@
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
"description": "Fast, fault-tolerant, cross-platform, disk-based, data-agnostic, content-addressable cache.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9370,6 +9380,7 @@
"version": "1.0.4",
"bom-ref": "cacache@15.3.0|mkdirp@1.0.4",
"description": "Recursively mkdir, like `mkdir -p`",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -10932,6 +10943,7 @@
"bom-ref": "clean-stack@2.2.0",
"author": "Sindre Sorhus",
"description": "Clean up error stack traces",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16028,6 +16040,7 @@
"bom-ref": "encoding@0.1.13",
"author": "Andris Reinman",
"description": "Convert encodings, uses iconv-lite",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16078,6 +16091,7 @@
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
"author": "Alexander Shtuchkin",
"description": "Convert character encodings in pure javascript.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16380,6 +16394,7 @@
"bom-ref": "env-paths@2.2.1",
"author": "Sindre Sorhus",
"description": "Get paths for storing things like data, config, cache, etc",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17672,6 +17687,7 @@
"bom-ref": "expand-template@2.0.3",
"author": "LM",
"description": "Expand placeholders in a template string",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -21625,6 +21641,7 @@
"bom-ref": "github-from-package@0.0.0",
"author": "James Halliday",
"description": "return the github url from a package.json file",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25908,6 +25925,7 @@
"bom-ref": "humanize-ms@1.2.1",
"author": "dead-horse",
"description": "transform humanize time to ms",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26259,6 +26277,7 @@
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
"description": "Brotli compression/decompression with native bindings",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26309,6 +26328,7 @@
"bom-ref": "imurmurhash@0.1.4",
"author": "Jens Taylor",
"description": "An incremental implementation of MurmurHash3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26359,6 +26379,7 @@
"bom-ref": "indent-string@4.0.0",
"author": "Sindre Sorhus",
"description": "Indent each line in a string",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26409,6 +26430,7 @@
"bom-ref": "infer-owner@1.0.4",
"author": "Isaac Z. Schlueter",
"description": "Infer the owner of a path based on the owner of its nearest existing parent",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28107,6 +28129,7 @@
"bom-ref": "is-lambda@1.0.1",
"author": "Thomas Watson Steen",
"description": "Detect if your code is running on an AWS Lambda server",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32169,6 +32192,7 @@
"bom-ref": "make-fetch-happen@9.1.0",
"author": "Kat Marchán",
"description": "Opinionated, caching, retrying fetch client",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32220,6 +32244,7 @@
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
"author": "Nathan Rajlich",
"description": "Creates a Promise that waits for a single event",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32270,6 +32295,7 @@
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
"author": "Josh Junon",
"description": "Lightweight debugging utility for Node.js and the browser",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32320,6 +32346,7 @@
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.1",
"author": "Kornel Lesiński",
"description": "Parses Cache-Control and other headers. Helps building correct HTTP caches and proxies",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32370,6 +32397,7 @@
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
"author": "Nathan Rajlich",
"description": "An HTTP(s) proxy `http.Agent` implementation for HTTP",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32419,6 +32447,7 @@
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
"description": "Tiny millisecond conversion utility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33469,6 +33498,7 @@
"bom-ref": "minipass-collect@1.0.2",
"author": "Isaac Z. Schlueter",
"description": "A Minipass stream that collects all the data into a single chunk",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33503,6 +33533,7 @@
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
"description": "An implementation of window.fetch in Node.js using Minipass streams",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33553,6 +33584,7 @@
"bom-ref": "minipass-flush@1.0.5",
"author": "Isaac Z. Schlueter",
"description": "A Minipass stream that calls a flush function before emitting 'end'",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33603,6 +33635,7 @@
"bom-ref": "minipass-pipeline@1.2.4",
"author": "Isaac Z. Schlueter",
"description": "create a pipeline of streams using Minipass",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33638,6 +33671,7 @@
"bom-ref": "minipass-sized@1.0.3",
"author": "Isaac Z. Schlueter",
"description": "A Minipass stream that raises an error if you get a different number of bytes than expected",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33838,6 +33872,7 @@
"bom-ref": "mkdirp-classic@0.5.3",
"author": "Mathias Buus",
"description": "Mirror of mkdirp 0.5.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34335,6 +34370,7 @@
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
"description": "Native Abstractions for Node.js: C++ header for Node 0.8 -> 18 compatibility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34435,6 +34471,7 @@
"bom-ref": "napi-build-utils@1.0.2",
"author": "Jim Schlight",
"description": "A set of utilities to assist developers of tools that build N-API native add-ons",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34734,6 +34771,7 @@
"bom-ref": "node-abi@2.30.1",
"author": "Lukas Geiger",
"description": "Get the Node ABI for a given target and runtime, and vice versa.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34783,6 +34821,7 @@
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
"description": "The semantic version parser used by npm.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34934,6 +34973,7 @@
"bom-ref": "node-gyp@8.4.1",
"author": "Nathan Rajlich",
"description": "Node.js native addon build tool",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34984,6 +35024,7 @@
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
"author": "Sindre Sorhus",
"description": "Regular expression for matching ANSI escape codes",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35034,6 +35075,7 @@
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
"author": "GitHub Inc.",
"description": "Keep track of the overall completion of many disparate processes",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35084,6 +35126,7 @@
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
"author": "GitHub Inc.",
"description": "A terminal based horizontal gauge",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35134,6 +35177,7 @@
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
"author": "Sindre Sorhus",
"description": "Check if the character represented by a given Unicode code point is fullwidth",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35184,6 +35228,7 @@
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
"author": "Isaac Z. Schlueter",
"description": "Option parsing for Node, supporting types, shorthands, etc. Used by npm.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35234,6 +35279,7 @@
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
"author": "GitHub Inc.",
"description": "logger for npm",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35283,6 +35329,7 @@
"version": "3.6.1",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.1",
"description": "Streams3, a user-land copy of the stream library from Node.js",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35333,6 +35380,7 @@
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
"author": "Sindre Sorhus",
"description": "Get the visual width of a string - the number of columns required to display it",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35383,6 +35431,7 @@
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
"author": "Sindre Sorhus",
"description": "Strip ANSI escape codes from a string",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35985,6 +36034,7 @@
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
"description": "A logger that does exactly nothing.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -38291,6 +38341,7 @@
"bom-ref": "p-map@4.0.0",
"author": "Sindre Sorhus",
"description": "Map over promises concurrently",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39630,6 +39681,7 @@
"bom-ref": "prebuild-install@5.3.6",
"author": "Mathias Buus",
"description": "A command line tool to easily install prebuilt binaries for multiple version of node/iojs on a specific platform",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39930,6 +39982,7 @@
"bom-ref": "promise-inflight@1.0.1",
"author": "Rebecca Turner",
"description": "One promise for multiple requests in flight to avoid async duplication",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39980,6 +40033,7 @@
"bom-ref": "promise-retry@2.0.1",
"author": "IndigoUnited",
"description": "Retries a function that returns a promise, leveraging the power of the retry module.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -40030,6 +40084,7 @@
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
"author": "IndigoUnited",
"description": "Create an error with a code",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -40080,6 +40135,7 @@
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
"author": "Tim Koschützki",
"description": "Abstraction for exponential and custom retry strategies for failed operations.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45283,6 +45339,7 @@
"bom-ref": "simple-concat@1.0.1",
"author": "Feross Aboukhadijeh",
"description": "Super-minimalist version of `concat-stream`. Less than 15 lines!",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45333,6 +45390,7 @@
"bom-ref": "simple-get@3.1.1",
"author": "Feross Aboukhadijeh",
"description": "Simplest way to make http get requests. Supports HTTPS, redirects, gzip/deflate, streams in < 100 lines.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45383,6 +45441,7 @@
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
"author": "Sindre Sorhus",
"description": "Decompress a HTTP response if needed",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45433,6 +45492,7 @@
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
"author": "Sindre Sorhus",
"description": "Mimic a Node.js HTTP response stream",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45637,6 +45697,7 @@
"bom-ref": "smart-buffer@4.2.0",
"author": "Josh Glazebrook",
"description": "smart-buffer is a Buffer wrapper that adds automatic read & write offset tracking, string operations, data insertions, and more.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -46796,6 +46857,7 @@
"bom-ref": "socks-proxy-agent@6.2.1",
"author": "Nathan Rajlich",
"description": "A SOCKS proxy `http.Agent` implementation for HTTP and HTTPS",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -46846,6 +46908,7 @@
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
"author": "Josh Junon",
"description": "Lightweight debugging utility for Node.js and the browser",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -46895,6 +46958,7 @@
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
"description": "Tiny millisecond conversion utility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -46947,6 +47011,7 @@
"bom-ref": "socks@2.7.1",
"author": "Josh Glazebrook",
"description": "Fully featured SOCKS proxy client supporting SOCKSv4, SOCKSv4a, and SOCKSv5. Includes Bind and Associate functionality.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -46996,6 +47061,7 @@
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
"author": "Fedor Indutny",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -47849,6 +47915,7 @@
"bom-ref": "ssri@8.0.1",
"author": "Kat Marchán",
"description": "Standard Subresource Integrity library -- parses, serializes, generates, and verifies integrity metadata according to the SRI spec.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -49353,6 +49420,7 @@
"bom-ref": "tar-fs@2.1.1",
"author": "Mathias Buus",
"description": "filesystem bindings for tar-stream",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -49402,6 +49470,7 @@
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
"description": "Buffer List: collect buffers and access with a standard readable Buffer interface, streamable too!",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -49452,6 +49521,7 @@
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
"author": "Isaac Z. Schlueter",
"description": "like `chown -R`",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -49501,6 +49571,7 @@
"version": "3.6.1",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.1",
"description": "Streams3, a user-land copy of the stream library from Node.js",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -49551,6 +49622,7 @@
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
"author": "Mathias Buus",
"description": "tar-stream is a streaming tar parser and generator and nothing else. It is streams2 and operates purely using streams which means you can easily extract/parse tarballs without ever hitting the file system.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -51596,6 +51668,7 @@
"bom-ref": "uglify-js@3.17.4",
"author": "Mihai Bazon",
"description": "JavaScript parser, mangler/compressor and beautifier toolkit",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -51997,6 +52070,7 @@
"bom-ref": "unique-filename@1.1.1",
"author": "Rebecca Turner",
"description": "Generate a unique filename for use in temporary directories or caches.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -52047,6 +52121,7 @@
"bom-ref": "unique-slug@2.0.2",
"author": "Rebecca Turner",
"description": "Generate a unique character string suitible for use in files and URLs.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -54008,6 +54083,7 @@
"bom-ref": "which-pm-runs@1.1.0",
"author": "Zoltan Kochan",
"description": "Detects what package manager executes the process",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/demo/juice-shop/example-results/bare/bom.1.3.xml b/demo/juice-shop/example-results/bare/bom.1.3.xml
index a5c79d374..409b921bd 100644
--- a/demo/juice-shop/example-results/bare/bom.1.3.xml
+++ b/demo/juice-shop/example-results/bare/bom.1.3.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
@@ -273,6 +273,7 @@
promisify
1.1.3
Promisify an entire class or object
+ optional
9364f2d49715a238c9170ae0fd384a8b6ba327b5cd2d868518d07f6d64fdc0647ea123091cc6b9c3e094abaa7fa55aca78d36003ba42a847234a71d5a2a25017
@@ -2853,6 +2854,7 @@
fs
1.1.1
filesystem utilities for the npm cli
+ optional
f0a1b9443d0654fe32744cd19ff23804d0eec43b6a55b39d9bcebbe53e3d3881bf34685a2b4a633d7ed970396f2986c0fae96f54adf3b5f705e2e05d3b1b896d
@@ -2877,6 +2879,7 @@
move-file
1.1.2
move a file (fork of move-file)
+ optional
d5251ffc28361b3183c9a7f5e5a47d4adf535a56fe5ef6d95d6a43c7c60ab3b30bccc1ff0427a8a6ffb2f6fcebce091fca4086b963a54aede66618f6f8541cae
@@ -2912,6 +2915,7 @@
mkdirp
1.0.4
Recursively mkdir, like `mkdir -p`
+ optional
bd5a95650c9fdd62f1d9285dd2a27dc6ebea800c8a3cb022a884c4b6a5b4a08523ce8dcf78f0dde9f5bd885cf7d1e7fb62ca7fa225aa6e1b33786596d93e86cf
@@ -3894,6 +3898,7 @@
agentkeepalive
4.2.1
Missing keepalive http.Agent
+ optional
667e1cc36344a9dfbd7e249558cb1c9e3c90d5af187e8739a016a32dea39c3e6011e00d4704058da14b86294f3ea23797ffdb342292d72e33ab52f31d69f5da4
@@ -3930,6 +3935,7 @@
debug
4.3.4
Lightweight debugging utility for Node.js and the browser
+ optional
3d15851ee494dde0ed4093ef9cd63b25c91eb758f4b793ae3ac1733cfcec7a40f9d9997ca947c520f122b305ea22f1d61951ce817fbb1bfbc234d85e870c5f91
@@ -3966,6 +3972,7 @@
depd
1.1.2
Deprecate all the things
+ optional
ede98f4e5e83a68e894573978cb471724f8594b457e7ce3b70b2849f4d0f2c081cde0da14d9660afe7b8736bfa4294a62de14fde7e72528edfb7a6af04aff98d
@@ -4001,6 +4008,7 @@
ms
2.1.2
Tiny millisecond conversion utility
+ optional
b0690fc7e56332d980e8c5f6ee80381411442c50996784b85ea7863970afebcb53fa36f7be4fd1c9a2963f43d32b25ad98b48cd1bf9a7544c4bdbb353c4687db
@@ -4039,6 +4047,7 @@
aggregate-error
3.1.0
Create an error from multiple errors
+ optional
e08ed3774d6ab96fd1a6871f35ac85745564d6a4aea21d04ec9adb449d7a9c7d351e128543cf0836af5277e9ddef6cea4724a5afd0660c0f3194427abc932b60
@@ -6731,6 +6740,7 @@
cacache
15.3.0
Fast, fault-tolerant, cross-platform, disk-based, data-agnostic, content-addressable cache.
+ optional
555758cd7127f9c9db5e91605ace614d3ece49c7a01d598b849211f147ea9378850fa03a8f98925f52ae0537cd12fe2d749584d8fcc0e88545b5c2c2edf37dc1
@@ -6766,6 +6776,7 @@
mkdirp
1.0.4
Recursively mkdir, like `mkdir -p`
+ optional
bd5a95650c9fdd62f1d9285dd2a27dc6ebea800c8a3cb022a884c4b6a5b4a08523ce8dcf78f0dde9f5bd885cf7d1e7fb62ca7fa225aa6e1b33786596d93e86cf
@@ -7894,6 +7905,7 @@
clean-stack
2.2.0
Clean up error stack traces
+ optional
e1d882f4769313e29100c5a10e1ac63840a0599c687af31ce5396439b32a352b1553ad8f6335d9fd23138f3c8600517562eb20c46712593117061a7408fc10d4
@@ -11566,6 +11578,7 @@
encoding
0.1.13
Convert encodings, uses iconv-lite
+ optional
11305aba8c354f7e58fd664c922a3d8e2334679c631c7989e179a364eab597f757cf796bdac467f3b9c9cb6d11ba9a928751769b71c73d2a7c4a120f409ac9dc
@@ -11602,6 +11615,7 @@
iconv-lite
0.6.3
Convert character encodings in pure javascript.
+ optional
e1f0a4efdc2c84c773329dab1f4eaa5ab244e22a25a8b842507f8e8ae22053ef91074fbde0d9432fcd5ab4eec65f9e6e50ab9ea34b711cdb6f13223a0fb59d33
@@ -11820,6 +11834,7 @@
env-paths
2.2.1
Get paths for storing things like data, config, cache, etc
+ optional
fa1d6590b2a164c4d88e8835544a49346ecd64959cb9cd830e4feab2a49345108e5e22e3790d5dd7fb9dad41a1a8cc5480097028d67471fdaea9a9f918bb92d8
@@ -12750,6 +12765,7 @@
expand-template
2.0.3
Expand placeholders in a template string
+ optional
5d87ee28cbe3e0edf97ffa4e5cb39b9dd211bf243effee8084e0e1f8e2968fd4bde3df291c79ff20cb331fe82dd1f04245630d7e4d594a9e71dc089f9a7236be
@@ -15597,6 +15613,7 @@
github-from-package
0.0.0
return the github url from a package.json file
+ optional
4b21f2dd3d6fd8d5179f6f4eb1677198ae91c070febe48f7bfc7a7f00381675c0143f842010e5b0104c3d36916e16f6d529ff7421e89f2bf44be7b62c8298e3b
@@ -18688,6 +18705,7 @@
humanize-ms
1.2.1
transform humanize time to ms
+ optional
165ef4bd8b6c0056ff0b4e8f4d2f5d641a3b8a16aef93bbf0cd0a4fcec8785e6b4ed2f9a78c5a914591469745af1f23e49c65b108f1d7d2c7063b83167d48055
@@ -18941,6 +18959,7 @@
iltorb
2.4.5
Brotli compression/decompression with native bindings
+ optional
10c08c9772e79cd499252e50af1c9998c4da002e3e4c990ce70a03fb16e99bd441fa61580abec2d391851374c4182b154125479a35fedec7f9022c2cca53489d
@@ -18977,6 +18996,7 @@
imurmurhash
0.1.4
An incremental implementation of MurmurHash3
+ optional
2665cc67ac2ebc398b88712697dca4cea3ba97015ba1fd061b822470668435d0910c398c5679f2eece47b0880709b6aad30d8cc8f843aa48535204b62d4d8f1c
@@ -19013,6 +19033,7 @@
indent-string
4.0.0
Indent each line in a string
+ optional
11d0c366ee00d8ec882bb2ebff6cc6fb0e6399bba4d435419c4c11110bc1ceca412640846d16bc1b153596085871a1890a745689b8c35e5abbefd5f5ff2e71c2
@@ -19049,6 +19070,7 @@
infer-owner
1.0.4
Infer the owner of a path based on the owner of its nearest existing parent
+ optional
202963f97cfde3e77b8ab1f9a91c9f2689ce75f4f3b836a27c4e993d67f1d0dd3efc04d909bb933eada9ac5979dbabab91077dd16c942888750df050da1333f4
@@ -20271,6 +20293,7 @@
is-lambda
1.0.1
Detect if your code is running on an AWS Lambda server
+ optional
cfb08c14636b10dab988507d06aa3ae1793a63db20f9ea6ad66c8871d1da1a76cc4d83b1bf3b04b5d62a414ca507b2f17e4be0aeb8cfdf64fa6307228a8f5421
@@ -23197,6 +23220,7 @@
make-fetch-happen
9.1.0
Opinionated, caching, retrying fetch client
+ optional
fb3a29c03cbb0cd9279b03d0a657a6e650195ff7823b34af48d35c48a9b9795c1390e073a24b447d7b1af4bdb727f188461c51b1ac7390f121ac91291361781a
@@ -23234,6 +23258,7 @@
once
1.1.2
Creates a Promise that waits for a single event
+ optional
45bcc9be5373991ab97373b4f548a97ae5e7a38b40d4513a8a43a3c592b4b6ec55bf7e35da5eb8979b755b9a63e3eac9abdbe9926fe4c22474eda6579ec28fc7
@@ -23270,6 +23295,7 @@
debug
4.3.4
Lightweight debugging utility for Node.js and the browser
+ optional
3d15851ee494dde0ed4093ef9cd63b25c91eb758f4b793ae3ac1733cfcec7a40f9d9997ca947c520f122b305ea22f1d61951ce817fbb1bfbc234d85e870c5f91
@@ -23306,6 +23332,7 @@
http-cache-semantics
4.1.1
Parses Cache-Control and other headers. Helps building correct HTTP caches and proxies
+ optional
7abdbde4328f56c57cda3e64c351a3b7e00303f5d81ec6a397cd9c18d406d9eca83e4be05215fe9c32327a5ce12166dbb173f7f441dc23a979b58b36158a985d
@@ -23342,6 +23369,7 @@
http-proxy-agent
4.0.1
An HTTP(s) proxy `http.Agent` implementation for HTTP
+ optional
934cdd360a964c603a69e211569bdf5686f87cbe767537da7a1ca583463852f4b24af3aafd8f813b23eb82952b03b1f296abd4f2f2191ac46e5e6b29b245744e
@@ -23377,6 +23405,7 @@
ms
2.1.2
Tiny millisecond conversion utility
+ optional
b0690fc7e56332d980e8c5f6ee80381411442c50996784b85ea7863970afebcb53fa36f7be4fd1c9a2963f43d32b25ad98b48cd1bf9a7544c4bdbb353c4687db
@@ -24133,6 +24162,7 @@
minipass-collect
1.0.2
A Minipass stream that collects all the data into a single chunk
+ optional
e93ea51f41fc386f642139bf266ead768a086e8806f5ed2d2e0a58ea6a615d29bf03dbbc36ad6bc811be42ca62b9bf4b8d69413ec3d2ded590fc1a2dab815dc4
@@ -24156,6 +24186,7 @@
minipass-fetch
1.4.1
An implementation of window.fetch in Node.js using Minipass streams
+ optional
0861f579b94bab6e98d79f80ce4edecb8c61d09fd77c97eb0a8c792c32622aa2364368b038b38aae598868e0e24904bc775f236a517acb62b678f526d0299287
@@ -24192,6 +24223,7 @@
minipass-flush
1.0.5
A Minipass stream that calls a flush function before emitting 'end'
+ optional
266412618a4f52a5f92729f5997691c0e75ad6e43c1cfe4a013fe80d22c2cedd41611850534fe10edb01d6e7d97c4133319f5a0159ac070f3e156b085e50a55b
@@ -24228,6 +24260,7 @@
minipass-pipeline
1.2.4
create a pipeline of streams using Minipass
+ optional
c6e22aedc20eb74f513d1275f60762e1bf9188dbc31587b9247fa080dbc1a86aa941772bbb73dc466399b8704a58ad53c5ff7e710f8731537877acf8e8b64fec
@@ -24252,6 +24285,7 @@
minipass-sized
1.0.3
A Minipass stream that raises an error if you get a different number of bytes than expected
+ optional
31b9104360938813250360e6ff9718fbd49614437ca73cce5e2eab94ce57c6ad18a9b75ae59432f6c53be5aebbdc513d64ad19b1bafa63988feaef6792d7e0da
@@ -24396,6 +24430,7 @@
mkdirp-classic
0.5.3
Mirror of mkdirp 0.5.2
+ optional
80a2dc444321b6e651c1101fa8fdd1156f932b826a029541b4e21fb55823b8006902da7184f19a0dc7ef6e136f0f407c883d6852bfedc57df936371a63a36cfc
@@ -24753,6 +24788,7 @@
nan
2.17.0
Native Abstractions for Node.js: C++ header for Node 0.8 -> 18 compatibility
+ optional
d994e0b65d2726c3b42900a3129c5c22be43f98bfdd299538ad66df4905f42f5490d2e6c78c97714ebec877fbd0a86165dfff597939a673cc5ea70e6e1c6a069
@@ -24825,6 +24861,7 @@
napi-build-utils
1.0.2
A set of utilities to assist developers of tools that build N-API native add-ons
+ optional
38d99152a2bbce3ec3597d03f400ded37c1bc0e059c4d01f176d0f9467c2590703dfefcc6a44a1207accab1f58c0f4dfc43745d732de2fe44666247d90630b76
@@ -25040,6 +25077,7 @@
node-abi
2.30.1
Get the Node ABI for a given target and runtime, and vice versa.
+ optional
ff60f4c0e40f81a516cd5495811331fadaca2510b6506e1251ce28089a17c7d5318eda74572dff92def371bc4717cf99fe92b7525a0b5b30484a0ef66eb7f2d7
@@ -25075,6 +25113,7 @@
semver
5.7.1
The semantic version parser used by npm.
+ optional
b1ab9a0dffcf65d560acb4cd60746da576b589188a71a79b88a435049769425587da50af7b141d5f9e6c9cf1722bb433a6e76a6c2234a9715f39ab0777234319
@@ -25184,6 +25223,7 @@
node-gyp
8.4.1
Node.js native addon build tool
+ optional
a254c946052d01bfe13971b413ddf0643b3962226581b5f14f0400147c8d951b1742763351a17668682e8d96f0fa147c685e191bfad24f9edb58c583d7a8ebf7
@@ -25220,6 +25260,7 @@
ansi-regex
5.0.1
Regular expression for matching ANSI escape codes
+ optional
aae2505e54d25062f62c7f52517a3c570b18e2ca1a9e1828e8b3529bce04d4b05c13cb373b4c29762473c91f73fd9649325316bf7eea38e6fda5d26531410a15
@@ -25256,6 +25297,7 @@
are-we-there-yet
3.0.1
Keep track of the overall completion of many disparate processes
+ optional
4195b8103986c2562eaf46327ff6f6b86b9c1d031af1a1543fb7aef5d751ef7bef845cade15d159774073dc4cd27c97aa9838177181776705742b1e295f45006
@@ -25292,6 +25334,7 @@
gauge
4.0.4
A terminal based horizontal gauge
+ optional
7fd9be0443798e483a6b47d98e57a2763379d551355fe98f150d83274bafd55dfda022c26ec19eeb28db067a7b78aef3ffe180a27f7d6b79c7baa6eebad8723e
@@ -25328,6 +25371,7 @@
is-fullwidth-code-point
3.0.0
Check if the character represented by a given Unicode code point is fullwidth
+ optional
cf29a6e7ebbeb02b125b20fda8d69e8d5dc316f84229c94a762cd868952e1c0f3744b8dbee74ae1a775d0871afd2193e298ec130096c59e2b851e83a115e9742
@@ -25364,6 +25408,7 @@
nopt
5.0.0
Option parsing for Node, supporting types, shorthands, etc. Used by npm.
+ optional
4db8faeeb7dfa9c79e2e97115eb4fbbca00df02c1f3de20180cec4ea206498a2d5edb10cc291a060b1afd2300252c10269afefbb13f42231289edeae99d320b5
@@ -25400,6 +25445,7 @@
npmlog
6.0.2
logger for npm
+ optional
fef06fcf925fafd753fda15677414845ff93fd0d9606c2c437281468552ab2daacc9c99900ffede41bc52532b4be2166494c6250a4d4a655b2e6fb7eaef288c6
@@ -25435,6 +25481,7 @@
readable-stream
3.6.1
Streams3, a user-land copy of the stream library from Node.js
+ optional
fab426ad6318180f74c9e9e14d8b0b580b0bb2a542f28b0ec3a3ca1351c36223b481d3de29eff10c7373200227e02f75610ea87a71217d8aaa735f3cdea1db8d
@@ -25471,6 +25518,7 @@
string-width
4.2.3
Get the visual width of a string - the number of columns required to display it
+ optional
c0ac90450a63274b08a7ad84ad265d1ac8cc256b1aa79a1136284786ee86ec954effd8c807a5327af2feb57b8eaab9e0f23fdcc4a4d6c96530bd24eb8a2673fe
@@ -25507,6 +25555,7 @@
strip-ansi
6.0.1
Strip ANSI escape codes from a string
+ optional
637f153d21dcaa416b0a916743dbee4979aabaebf9a1738aa46793e9a1abaf7a3719cf409556ba2417d448e0a76f1186645fbfd28a08ecaacfb944b3b54754e4
@@ -25941,6 +25990,7 @@
noop-logger
0.1.1
A logger that does exactly nothing.
+ optional
ea433c08b5efb96e5cad3c6c02dbdad982eb46b0da89322421e3d6b3d9a82c7a9b1564fde16a4d163c12ff975f2df1028398bf9649b0ddaa2a562771b76dd311
@@ -27603,6 +27653,7 @@
p-map
4.0.0
Map over promises concurrently
+ optional
fdb8ceaa68044c1601e41a0478655e6bc766bc76f69bd18bcb513d5b8df27b27cfe9040264614d6be5d171e244b8307aceaafe80aa4802694b79b329ca4c3f31
@@ -28566,6 +28617,7 @@
prebuild-install
5.3.6
A command line tool to easily install prebuilt binaries for multiple version of node/iojs on a specific platform
+ optional
b3c01a8bcfbe4101a2e2c49bb3f335424bbad8f14ae3d266d426e05e4946cf89e61ef783ab4c3326483b35ae506e73b5b8d1fc2bb8aac76110fe65743191263a
@@ -28782,6 +28834,7 @@
promise-inflight
1.0.1
One promise for multiple requests in flight to avoid async duplication
+ optional
eb358fc8438569004961c18c1c1293289deee9306c9cc14e21949ae9c7b57bf66baec3a59c74476da6cc8cb88160aa7e9f8e17f5e508e9550f6ae9025c7b86e2
@@ -28818,6 +28871,7 @@
promise-retry
2.0.1
Retries a function that returns a promise, leveraging the power of the retry module.
+ optional
cbe58a165051f011979ec3652071463d99b20dfdc314ca0b85a7e5027c99815eab1bac6ef89c1eb13a3643d47a5f0626b66c001429009377b7e6311da1e87fde
@@ -28854,6 +28908,7 @@
err-code
2.0.3
Create an error with a code
+ optional
d9b9a546934a0714ff09198f3a5c88490a4d8fea92798bdcca6fee4f4271d9b30e94a2ed4b2d5998bb95c5210a2b2a2bfcde7286fa7f6621b5a04dc311831214
@@ -28890,6 +28945,7 @@
retry
0.12.0
Abstraction for exponential and custom retry strategies for failed operations.
+ optional
f4b9224f08d487aad3e79e43b44f6b4d7f81281c8f7eb333100b67944b5d130af73647dfc228a1a9ed9b5800e0f8e4118edf6097a20276607f6450c2180b52a3
@@ -32639,6 +32695,7 @@
simple-concat
1.0.1
Super-minimalist version of `concat-stream`. Less than 15 lines!
+ optional
71216d00fb518658efebd20ad214d5650f8e7c4f6778f8bfaed266c395231de57256ba04a895cfd6c173b4a532d6a53ec6fcf7bbfb1f6092daf78edbee700dd9
@@ -32675,6 +32732,7 @@
simple-get
3.1.1
Simplest way to make http get requests. Supports HTTPS, redirects, gzip/deflate, streams in < 100 lines.
+ optional
090e4b4ca19f0a9bc4d4ad27daeb3e92e30f6e4fead042a5f36b386a1795f685e3144cfa5bf63ba1015526e53a406efb8514f81a16f945446d785e6f9d68eea4
@@ -32711,6 +32769,7 @@
decompress-response
4.2.1
Decompress a HTTP response if needed
+ optional
8ce4a77b6a9bc84fbfafc1b5554f86ffcd8b06cd85b382c0b1388b48738238c65097638a67a8bc8b82321de9937beff22173ad4dc4503333dc832868165a8f93
@@ -32747,6 +32806,7 @@
mimic-response
2.1.0
Mimic a Node.js HTTP response stream
+ optional
c17aa3493f922eded1d34f72482825581085a635328260887c3efdd3f9156e21a65207d81ae075e0f8937790f0571495e0d7181e3ccc9288f92e3419c1340b10
@@ -32895,6 +32955,7 @@
smart-buffer
4.2.0
smart-buffer is a Buffer wrapper that adds automatic read & write offset tracking, string operations, data insertions, and more.
+ optional
f7884ad0787cacfa90976c577371ec681a0e5ca576d0c4e83e4717bf06c84962c4b3eeb8b01ab9905827da42431dbd4faf2f72acfd1dc6b088f5145c8bb4572a
@@ -33732,6 +33793,7 @@
socks-proxy-agent
6.2.1
A SOCKS proxy `http.Agent` implementation for HTTP and HTTPS
+ optional
6ba296f46fba0779d6675c81f06ee92702f78202f2d6e4f32808026fbb6d6e5c2a773f5f306254b93cb7b85cc43f8f0502cf452c82e59b30e513624985541a5d
@@ -33768,6 +33830,7 @@
debug
4.3.4
Lightweight debugging utility for Node.js and the browser
+ optional
3d15851ee494dde0ed4093ef9cd63b25c91eb758f4b793ae3ac1733cfcec7a40f9d9997ca947c520f122b305ea22f1d61951ce817fbb1bfbc234d85e870c5f91
@@ -33803,6 +33866,7 @@
ms
2.1.2
Tiny millisecond conversion utility
+ optional
b0690fc7e56332d980e8c5f6ee80381411442c50996784b85ea7863970afebcb53fa36f7be4fd1c9a2963f43d32b25ad98b48cd1bf9a7544c4bdbb353c4687db
@@ -33841,6 +33905,7 @@
socks
2.7.1
Fully featured SOCKS proxy client supporting SOCKSv4, SOCKSv4a, and SOCKSv5. Includes Bind and Associate functionality.
+ optional
ee6694672d4deeea3af965445faa6c012c6d36529a3553251902a41bfeb79c40dd2ce58d6e250ca0b2bb5f8b98a0b850b2d6aeef698b81f116717730b1a1db61
@@ -33876,6 +33941,7 @@
Fedor Indutny
ip
2.0.0
+ optional
58a6be5ee2c6d40d51d145a1976fb55d04a2f9f65632c60a7df3194d362c8996940fc936c83023e5ab62993503d93664c8290d11e604e4d845666ba9386b6361
@@ -34491,6 +34557,7 @@
ssri
8.0.1
Standard Subresource Integrity library -- parses, serializes, generates, and verifies integrity metadata according to the SRI spec.
+ optional
f7ba92873cb5022cb1bcf34890b5a81ae6bbc68433ccf8d0d07007e01d2b58aa3b499e944ae3dcad488016bc2cd141fc46b6d69a0ab72cc4ce6e13c81db6c179
@@ -35575,6 +35642,7 @@
tar-fs
2.1.1
filesystem bindings for tar-stream
+ optional
574af663db1c99b0d12c235ec7ffa1633be9ff3c988ef15b1cf36055329f42f56b6fa82e884fdfc4ff976e50cd474d75bada296e47b1da7338747355e860ec9e
@@ -35610,6 +35678,7 @@
bl
4.1.0
Buffer List: collect buffers and access with a standard readable Buffer interface, streamable too!
+ optional
d56d3b70cf604ba0dc2e97ab65f1528fe6d62ed68f1923875a13e21b35e6bd525b44b746f36b07fca9fc12d5b556a595039e0029fda1e64e416e721bc05de1eb
@@ -35646,6 +35715,7 @@
chownr
1.1.4
like `chown -R`
+ optional
8c9d1bab36b296626d567360cd37923acf033dabe96d8804aff6f460bf3fd863b7c4912122716684a3149c42508d9ba62bb297185854cbcf4faec25695a90156
@@ -35681,6 +35751,7 @@
readable-stream
3.6.1
Streams3, a user-land copy of the stream library from Node.js
+ optional
fab426ad6318180f74c9e9e14d8b0b580b0bb2a542f28b0ec3a3ca1351c36223b481d3de29eff10c7373200227e02f75610ea87a71217d8aaa735f3cdea1db8d
@@ -35717,6 +35788,7 @@
tar-stream
2.2.0
tar-stream is a streaming tar parser and generator and nothing else. It is streams2 and operates purely using streams which means you can easily extract/parse tarballs without ever hitting the file system.
+ optional
ba37aa6dc780060c0c6711099e4d870d8d83967519fbda0471bd4acd355f6078a8d1413a746ef59fad1df03d88e2a36f95e5abad7a668e9b7bbd9785d4b9cc65
@@ -37190,6 +37262,7 @@
uglify-js
3.17.4
JavaScript parser, mangler/compressor and beautifier toolkit
+ optional
4fdabcd93248f5efc2d5303162f7dbd7ac4ed76d2d315159ac60377fdfcfe38db80cdbbaca92b5d37cb418f1556b5ef2a2dc12c995b98985e08d81e41ab256fe
@@ -37479,6 +37552,7 @@
unique-filename
1.1.1
Generate a unique filename for use in temporary directories or caches.
+ optional
566a748c8a76967df95135eeaf2be3ce48c6751c9ff5bda54d7b9261488f9b345c977143b58a80c0e9d3264027803f525a19e82730db4cac1a3ab67e493b7135
@@ -37515,6 +37589,7 @@
unique-slug
2.0.2
Generate a unique character string suitible for use in files and URLs.
+ optional
ce85abf4e6dac402c3dc338f7e33d2ab1b787e766259b9711c881e5aa5bcc7b52a0f312d1c440bce38b672e258405094e8a9a826290e600665ad31c779b8f1db
@@ -38928,6 +39003,7 @@
which-pm-runs
1.1.0
Detects what package manager executes the process
+ optional
9f56eb0aea829717c57eafd16f420283d822499a824bea4bb5c71d6a0e82d87cae7c1ae1ddf04e8b2f676fa82044cbd63951f91ab749b248f98864d937177b48
diff --git a/demo/juice-shop/example-results/bare/bom.1.4.json b/demo/juice-shop/example-results/bare/bom.1.4.json
index d7e14d85f..45823d5b1 100644
--- a/demo/juice-shop/example-results/bare/bom.1.4.json
+++ b/demo/juice-shop/example-results/bare/bom.1.4.json
@@ -8,7 +8,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0",
+ "version": "1.13.3",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
@@ -30,7 +30,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0",
+ "version": "1.9.2",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
@@ -409,6 +409,7 @@
"bom-ref": "@gar/promisify@1.1.3",
"author": "Gar",
"description": "Promisify an entire class or object",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -3969,6 +3970,7 @@
"bom-ref": "@npmcli/fs@1.1.1",
"author": "GitHub Inc.",
"description": "filesystem utilities for the npm cli",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4004,6 +4006,7 @@
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
"description": "move a file (fork of move-file)",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4053,6 +4056,7 @@
"version": "1.0.4",
"bom-ref": "@npmcli/move-file@1.1.2|mkdirp@1.0.4",
"description": "Recursively mkdir, like `mkdir -p`",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5413,6 +5417,7 @@
"bom-ref": "agentkeepalive@4.2.1",
"author": "fengmk2",
"description": "Missing keepalive http.Agent",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5463,6 +5468,7 @@
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
"author": "Josh Junon",
"description": "Lightweight debugging utility for Node.js and the browser",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5513,6 +5519,7 @@
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
"author": "Douglas Christopher Wilson",
"description": "Deprecate all the things",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5562,6 +5569,7 @@
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
"description": "Tiny millisecond conversion utility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5614,6 +5622,7 @@
"bom-ref": "aggregate-error@3.1.0",
"author": "Sindre Sorhus",
"description": "Create an error from multiple errors",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9355,6 +9364,7 @@
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
"description": "Fast, fault-tolerant, cross-platform, disk-based, data-agnostic, content-addressable cache.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9404,6 +9414,7 @@
"version": "1.0.4",
"bom-ref": "cacache@15.3.0|mkdirp@1.0.4",
"description": "Recursively mkdir, like `mkdir -p`",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -10966,6 +10977,7 @@
"bom-ref": "clean-stack@2.2.0",
"author": "Sindre Sorhus",
"description": "Clean up error stack traces",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16062,6 +16074,7 @@
"bom-ref": "encoding@0.1.13",
"author": "Andris Reinman",
"description": "Convert encodings, uses iconv-lite",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16112,6 +16125,7 @@
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
"author": "Alexander Shtuchkin",
"description": "Convert character encodings in pure javascript.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16414,6 +16428,7 @@
"bom-ref": "env-paths@2.2.1",
"author": "Sindre Sorhus",
"description": "Get paths for storing things like data, config, cache, etc",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17706,6 +17721,7 @@
"bom-ref": "expand-template@2.0.3",
"author": "LM",
"description": "Expand placeholders in a template string",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -21659,6 +21675,7 @@
"bom-ref": "github-from-package@0.0.0",
"author": "James Halliday",
"description": "return the github url from a package.json file",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25942,6 +25959,7 @@
"bom-ref": "humanize-ms@1.2.1",
"author": "dead-horse",
"description": "transform humanize time to ms",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26293,6 +26311,7 @@
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
"description": "Brotli compression/decompression with native bindings",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26343,6 +26362,7 @@
"bom-ref": "imurmurhash@0.1.4",
"author": "Jens Taylor",
"description": "An incremental implementation of MurmurHash3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26393,6 +26413,7 @@
"bom-ref": "indent-string@4.0.0",
"author": "Sindre Sorhus",
"description": "Indent each line in a string",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26443,6 +26464,7 @@
"bom-ref": "infer-owner@1.0.4",
"author": "Isaac Z. Schlueter",
"description": "Infer the owner of a path based on the owner of its nearest existing parent",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28141,6 +28163,7 @@
"bom-ref": "is-lambda@1.0.1",
"author": "Thomas Watson Steen",
"description": "Detect if your code is running on an AWS Lambda server",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32203,6 +32226,7 @@
"bom-ref": "make-fetch-happen@9.1.0",
"author": "Kat Marchán",
"description": "Opinionated, caching, retrying fetch client",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32254,6 +32278,7 @@
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
"author": "Nathan Rajlich",
"description": "Creates a Promise that waits for a single event",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32304,6 +32329,7 @@
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
"author": "Josh Junon",
"description": "Lightweight debugging utility for Node.js and the browser",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32354,6 +32380,7 @@
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.1",
"author": "Kornel Lesiński",
"description": "Parses Cache-Control and other headers. Helps building correct HTTP caches and proxies",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32404,6 +32431,7 @@
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
"author": "Nathan Rajlich",
"description": "An HTTP(s) proxy `http.Agent` implementation for HTTP",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32453,6 +32481,7 @@
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
"description": "Tiny millisecond conversion utility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33503,6 +33532,7 @@
"bom-ref": "minipass-collect@1.0.2",
"author": "Isaac Z. Schlueter",
"description": "A Minipass stream that collects all the data into a single chunk",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33537,6 +33567,7 @@
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
"description": "An implementation of window.fetch in Node.js using Minipass streams",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33587,6 +33618,7 @@
"bom-ref": "minipass-flush@1.0.5",
"author": "Isaac Z. Schlueter",
"description": "A Minipass stream that calls a flush function before emitting 'end'",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33637,6 +33669,7 @@
"bom-ref": "minipass-pipeline@1.2.4",
"author": "Isaac Z. Schlueter",
"description": "create a pipeline of streams using Minipass",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33672,6 +33705,7 @@
"bom-ref": "minipass-sized@1.0.3",
"author": "Isaac Z. Schlueter",
"description": "A Minipass stream that raises an error if you get a different number of bytes than expected",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33872,6 +33906,7 @@
"bom-ref": "mkdirp-classic@0.5.3",
"author": "Mathias Buus",
"description": "Mirror of mkdirp 0.5.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34369,6 +34404,7 @@
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
"description": "Native Abstractions for Node.js: C++ header for Node 0.8 -> 18 compatibility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34469,6 +34505,7 @@
"bom-ref": "napi-build-utils@1.0.2",
"author": "Jim Schlight",
"description": "A set of utilities to assist developers of tools that build N-API native add-ons",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34768,6 +34805,7 @@
"bom-ref": "node-abi@2.30.1",
"author": "Lukas Geiger",
"description": "Get the Node ABI for a given target and runtime, and vice versa.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34817,6 +34855,7 @@
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
"description": "The semantic version parser used by npm.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34968,6 +35007,7 @@
"bom-ref": "node-gyp@8.4.1",
"author": "Nathan Rajlich",
"description": "Node.js native addon build tool",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35018,6 +35058,7 @@
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
"author": "Sindre Sorhus",
"description": "Regular expression for matching ANSI escape codes",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35068,6 +35109,7 @@
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
"author": "GitHub Inc.",
"description": "Keep track of the overall completion of many disparate processes",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35118,6 +35160,7 @@
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
"author": "GitHub Inc.",
"description": "A terminal based horizontal gauge",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35168,6 +35211,7 @@
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
"author": "Sindre Sorhus",
"description": "Check if the character represented by a given Unicode code point is fullwidth",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35218,6 +35262,7 @@
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
"author": "Isaac Z. Schlueter",
"description": "Option parsing for Node, supporting types, shorthands, etc. Used by npm.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35268,6 +35313,7 @@
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
"author": "GitHub Inc.",
"description": "logger for npm",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35317,6 +35363,7 @@
"version": "3.6.1",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.1",
"description": "Streams3, a user-land copy of the stream library from Node.js",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35367,6 +35414,7 @@
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
"author": "Sindre Sorhus",
"description": "Get the visual width of a string - the number of columns required to display it",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35417,6 +35465,7 @@
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
"author": "Sindre Sorhus",
"description": "Strip ANSI escape codes from a string",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -36019,6 +36068,7 @@
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
"description": "A logger that does exactly nothing.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -38325,6 +38375,7 @@
"bom-ref": "p-map@4.0.0",
"author": "Sindre Sorhus",
"description": "Map over promises concurrently",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39664,6 +39715,7 @@
"bom-ref": "prebuild-install@5.3.6",
"author": "Mathias Buus",
"description": "A command line tool to easily install prebuilt binaries for multiple version of node/iojs on a specific platform",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39964,6 +40016,7 @@
"bom-ref": "promise-inflight@1.0.1",
"author": "Rebecca Turner",
"description": "One promise for multiple requests in flight to avoid async duplication",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -40014,6 +40067,7 @@
"bom-ref": "promise-retry@2.0.1",
"author": "IndigoUnited",
"description": "Retries a function that returns a promise, leveraging the power of the retry module.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -40064,6 +40118,7 @@
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
"author": "IndigoUnited",
"description": "Create an error with a code",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -40114,6 +40169,7 @@
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
"author": "Tim Koschützki",
"description": "Abstraction for exponential and custom retry strategies for failed operations.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45317,6 +45373,7 @@
"bom-ref": "simple-concat@1.0.1",
"author": "Feross Aboukhadijeh",
"description": "Super-minimalist version of `concat-stream`. Less than 15 lines!",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45367,6 +45424,7 @@
"bom-ref": "simple-get@3.1.1",
"author": "Feross Aboukhadijeh",
"description": "Simplest way to make http get requests. Supports HTTPS, redirects, gzip/deflate, streams in < 100 lines.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45417,6 +45475,7 @@
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
"author": "Sindre Sorhus",
"description": "Decompress a HTTP response if needed",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45467,6 +45526,7 @@
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
"author": "Sindre Sorhus",
"description": "Mimic a Node.js HTTP response stream",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45671,6 +45731,7 @@
"bom-ref": "smart-buffer@4.2.0",
"author": "Josh Glazebrook",
"description": "smart-buffer is a Buffer wrapper that adds automatic read & write offset tracking, string operations, data insertions, and more.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -46830,6 +46891,7 @@
"bom-ref": "socks-proxy-agent@6.2.1",
"author": "Nathan Rajlich",
"description": "A SOCKS proxy `http.Agent` implementation for HTTP and HTTPS",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -46880,6 +46942,7 @@
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
"author": "Josh Junon",
"description": "Lightweight debugging utility for Node.js and the browser",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -46929,6 +46992,7 @@
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
"description": "Tiny millisecond conversion utility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -46981,6 +47045,7 @@
"bom-ref": "socks@2.7.1",
"author": "Josh Glazebrook",
"description": "Fully featured SOCKS proxy client supporting SOCKSv4, SOCKSv4a, and SOCKSv5. Includes Bind and Associate functionality.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -47030,6 +47095,7 @@
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
"author": "Fedor Indutny",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -47883,6 +47949,7 @@
"bom-ref": "ssri@8.0.1",
"author": "Kat Marchán",
"description": "Standard Subresource Integrity library -- parses, serializes, generates, and verifies integrity metadata according to the SRI spec.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -49387,6 +49454,7 @@
"bom-ref": "tar-fs@2.1.1",
"author": "Mathias Buus",
"description": "filesystem bindings for tar-stream",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -49436,6 +49504,7 @@
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
"description": "Buffer List: collect buffers and access with a standard readable Buffer interface, streamable too!",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -49486,6 +49555,7 @@
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
"author": "Isaac Z. Schlueter",
"description": "like `chown -R`",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -49535,6 +49605,7 @@
"version": "3.6.1",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.1",
"description": "Streams3, a user-land copy of the stream library from Node.js",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -49585,6 +49656,7 @@
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
"author": "Mathias Buus",
"description": "tar-stream is a streaming tar parser and generator and nothing else. It is streams2 and operates purely using streams which means you can easily extract/parse tarballs without ever hitting the file system.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -51630,6 +51702,7 @@
"bom-ref": "uglify-js@3.17.4",
"author": "Mihai Bazon",
"description": "JavaScript parser, mangler/compressor and beautifier toolkit",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -52031,6 +52104,7 @@
"bom-ref": "unique-filename@1.1.1",
"author": "Rebecca Turner",
"description": "Generate a unique filename for use in temporary directories or caches.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -52081,6 +52155,7 @@
"bom-ref": "unique-slug@2.0.2",
"author": "Rebecca Turner",
"description": "Generate a unique character string suitible for use in files and URLs.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -54042,6 +54117,7 @@
"bom-ref": "which-pm-runs@1.1.0",
"author": "Zoltan Kochan",
"description": "Detects what package manager executes the process",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/demo/juice-shop/example-results/bare/bom.1.4.xml b/demo/juice-shop/example-results/bare/bom.1.4.xml
index 6bcc1651c..ea85931a6 100644
--- a/demo/juice-shop/example-results/bare/bom.1.4.xml
+++ b/demo/juice-shop/example-results/bare/bom.1.4.xml
@@ -5,7 +5,7 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
https://github.com/CycloneDX/cyclonedx-javascript-library/issues
@@ -24,7 +24,7 @@
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
https://github.com/CycloneDX/cyclonedx-node-npm/issues
@@ -301,6 +301,7 @@
promisify
1.1.3
Promisify an entire class or object
+ optional
9364f2d49715a238c9170ae0fd384a8b6ba327b5cd2d868518d07f6d64fdc0647ea123091cc6b9c3e094abaa7fa55aca78d36003ba42a847234a71d5a2a25017
@@ -2881,6 +2882,7 @@
fs
1.1.1
filesystem utilities for the npm cli
+ optional
f0a1b9443d0654fe32744cd19ff23804d0eec43b6a55b39d9bcebbe53e3d3881bf34685a2b4a633d7ed970396f2986c0fae96f54adf3b5f705e2e05d3b1b896d
@@ -2905,6 +2907,7 @@
move-file
1.1.2
move a file (fork of move-file)
+ optional
d5251ffc28361b3183c9a7f5e5a47d4adf535a56fe5ef6d95d6a43c7c60ab3b30bccc1ff0427a8a6ffb2f6fcebce091fca4086b963a54aede66618f6f8541cae
@@ -2940,6 +2943,7 @@
mkdirp
1.0.4
Recursively mkdir, like `mkdir -p`
+ optional
bd5a95650c9fdd62f1d9285dd2a27dc6ebea800c8a3cb022a884c4b6a5b4a08523ce8dcf78f0dde9f5bd885cf7d1e7fb62ca7fa225aa6e1b33786596d93e86cf
@@ -3922,6 +3926,7 @@
agentkeepalive
4.2.1
Missing keepalive http.Agent
+ optional
667e1cc36344a9dfbd7e249558cb1c9e3c90d5af187e8739a016a32dea39c3e6011e00d4704058da14b86294f3ea23797ffdb342292d72e33ab52f31d69f5da4
@@ -3958,6 +3963,7 @@
debug
4.3.4
Lightweight debugging utility for Node.js and the browser
+ optional
3d15851ee494dde0ed4093ef9cd63b25c91eb758f4b793ae3ac1733cfcec7a40f9d9997ca947c520f122b305ea22f1d61951ce817fbb1bfbc234d85e870c5f91
@@ -3994,6 +4000,7 @@
depd
1.1.2
Deprecate all the things
+ optional
ede98f4e5e83a68e894573978cb471724f8594b457e7ce3b70b2849f4d0f2c081cde0da14d9660afe7b8736bfa4294a62de14fde7e72528edfb7a6af04aff98d
@@ -4029,6 +4036,7 @@
ms
2.1.2
Tiny millisecond conversion utility
+ optional
b0690fc7e56332d980e8c5f6ee80381411442c50996784b85ea7863970afebcb53fa36f7be4fd1c9a2963f43d32b25ad98b48cd1bf9a7544c4bdbb353c4687db
@@ -4067,6 +4075,7 @@
aggregate-error
3.1.0
Create an error from multiple errors
+ optional
e08ed3774d6ab96fd1a6871f35ac85745564d6a4aea21d04ec9adb449d7a9c7d351e128543cf0836af5277e9ddef6cea4724a5afd0660c0f3194427abc932b60
@@ -6759,6 +6768,7 @@
cacache
15.3.0
Fast, fault-tolerant, cross-platform, disk-based, data-agnostic, content-addressable cache.
+ optional
555758cd7127f9c9db5e91605ace614d3ece49c7a01d598b849211f147ea9378850fa03a8f98925f52ae0537cd12fe2d749584d8fcc0e88545b5c2c2edf37dc1
@@ -6794,6 +6804,7 @@
mkdirp
1.0.4
Recursively mkdir, like `mkdir -p`
+ optional
bd5a95650c9fdd62f1d9285dd2a27dc6ebea800c8a3cb022a884c4b6a5b4a08523ce8dcf78f0dde9f5bd885cf7d1e7fb62ca7fa225aa6e1b33786596d93e86cf
@@ -7922,6 +7933,7 @@
clean-stack
2.2.0
Clean up error stack traces
+ optional
e1d882f4769313e29100c5a10e1ac63840a0599c687af31ce5396439b32a352b1553ad8f6335d9fd23138f3c8600517562eb20c46712593117061a7408fc10d4
@@ -11594,6 +11606,7 @@
encoding
0.1.13
Convert encodings, uses iconv-lite
+ optional
11305aba8c354f7e58fd664c922a3d8e2334679c631c7989e179a364eab597f757cf796bdac467f3b9c9cb6d11ba9a928751769b71c73d2a7c4a120f409ac9dc
@@ -11630,6 +11643,7 @@
iconv-lite
0.6.3
Convert character encodings in pure javascript.
+ optional
e1f0a4efdc2c84c773329dab1f4eaa5ab244e22a25a8b842507f8e8ae22053ef91074fbde0d9432fcd5ab4eec65f9e6e50ab9ea34b711cdb6f13223a0fb59d33
@@ -11848,6 +11862,7 @@
env-paths
2.2.1
Get paths for storing things like data, config, cache, etc
+ optional
fa1d6590b2a164c4d88e8835544a49346ecd64959cb9cd830e4feab2a49345108e5e22e3790d5dd7fb9dad41a1a8cc5480097028d67471fdaea9a9f918bb92d8
@@ -12778,6 +12793,7 @@
expand-template
2.0.3
Expand placeholders in a template string
+ optional
5d87ee28cbe3e0edf97ffa4e5cb39b9dd211bf243effee8084e0e1f8e2968fd4bde3df291c79ff20cb331fe82dd1f04245630d7e4d594a9e71dc089f9a7236be
@@ -15625,6 +15641,7 @@
github-from-package
0.0.0
return the github url from a package.json file
+ optional
4b21f2dd3d6fd8d5179f6f4eb1677198ae91c070febe48f7bfc7a7f00381675c0143f842010e5b0104c3d36916e16f6d529ff7421e89f2bf44be7b62c8298e3b
@@ -18716,6 +18733,7 @@
humanize-ms
1.2.1
transform humanize time to ms
+ optional
165ef4bd8b6c0056ff0b4e8f4d2f5d641a3b8a16aef93bbf0cd0a4fcec8785e6b4ed2f9a78c5a914591469745af1f23e49c65b108f1d7d2c7063b83167d48055
@@ -18969,6 +18987,7 @@
iltorb
2.4.5
Brotli compression/decompression with native bindings
+ optional
10c08c9772e79cd499252e50af1c9998c4da002e3e4c990ce70a03fb16e99bd441fa61580abec2d391851374c4182b154125479a35fedec7f9022c2cca53489d
@@ -19005,6 +19024,7 @@
imurmurhash
0.1.4
An incremental implementation of MurmurHash3
+ optional
2665cc67ac2ebc398b88712697dca4cea3ba97015ba1fd061b822470668435d0910c398c5679f2eece47b0880709b6aad30d8cc8f843aa48535204b62d4d8f1c
@@ -19041,6 +19061,7 @@
indent-string
4.0.0
Indent each line in a string
+ optional
11d0c366ee00d8ec882bb2ebff6cc6fb0e6399bba4d435419c4c11110bc1ceca412640846d16bc1b153596085871a1890a745689b8c35e5abbefd5f5ff2e71c2
@@ -19077,6 +19098,7 @@
infer-owner
1.0.4
Infer the owner of a path based on the owner of its nearest existing parent
+ optional
202963f97cfde3e77b8ab1f9a91c9f2689ce75f4f3b836a27c4e993d67f1d0dd3efc04d909bb933eada9ac5979dbabab91077dd16c942888750df050da1333f4
@@ -20299,6 +20321,7 @@
is-lambda
1.0.1
Detect if your code is running on an AWS Lambda server
+ optional
cfb08c14636b10dab988507d06aa3ae1793a63db20f9ea6ad66c8871d1da1a76cc4d83b1bf3b04b5d62a414ca507b2f17e4be0aeb8cfdf64fa6307228a8f5421
@@ -23225,6 +23248,7 @@
make-fetch-happen
9.1.0
Opinionated, caching, retrying fetch client
+ optional
fb3a29c03cbb0cd9279b03d0a657a6e650195ff7823b34af48d35c48a9b9795c1390e073a24b447d7b1af4bdb727f188461c51b1ac7390f121ac91291361781a
@@ -23262,6 +23286,7 @@
once
1.1.2
Creates a Promise that waits for a single event
+ optional
45bcc9be5373991ab97373b4f548a97ae5e7a38b40d4513a8a43a3c592b4b6ec55bf7e35da5eb8979b755b9a63e3eac9abdbe9926fe4c22474eda6579ec28fc7
@@ -23298,6 +23323,7 @@
debug
4.3.4
Lightweight debugging utility for Node.js and the browser
+ optional
3d15851ee494dde0ed4093ef9cd63b25c91eb758f4b793ae3ac1733cfcec7a40f9d9997ca947c520f122b305ea22f1d61951ce817fbb1bfbc234d85e870c5f91
@@ -23334,6 +23360,7 @@
http-cache-semantics
4.1.1
Parses Cache-Control and other headers. Helps building correct HTTP caches and proxies
+ optional
7abdbde4328f56c57cda3e64c351a3b7e00303f5d81ec6a397cd9c18d406d9eca83e4be05215fe9c32327a5ce12166dbb173f7f441dc23a979b58b36158a985d
@@ -23370,6 +23397,7 @@
http-proxy-agent
4.0.1
An HTTP(s) proxy `http.Agent` implementation for HTTP
+ optional
934cdd360a964c603a69e211569bdf5686f87cbe767537da7a1ca583463852f4b24af3aafd8f813b23eb82952b03b1f296abd4f2f2191ac46e5e6b29b245744e
@@ -23405,6 +23433,7 @@
ms
2.1.2
Tiny millisecond conversion utility
+ optional
b0690fc7e56332d980e8c5f6ee80381411442c50996784b85ea7863970afebcb53fa36f7be4fd1c9a2963f43d32b25ad98b48cd1bf9a7544c4bdbb353c4687db
@@ -24161,6 +24190,7 @@
minipass-collect
1.0.2
A Minipass stream that collects all the data into a single chunk
+ optional
e93ea51f41fc386f642139bf266ead768a086e8806f5ed2d2e0a58ea6a615d29bf03dbbc36ad6bc811be42ca62b9bf4b8d69413ec3d2ded590fc1a2dab815dc4
@@ -24184,6 +24214,7 @@
minipass-fetch
1.4.1
An implementation of window.fetch in Node.js using Minipass streams
+ optional
0861f579b94bab6e98d79f80ce4edecb8c61d09fd77c97eb0a8c792c32622aa2364368b038b38aae598868e0e24904bc775f236a517acb62b678f526d0299287
@@ -24220,6 +24251,7 @@
minipass-flush
1.0.5
A Minipass stream that calls a flush function before emitting 'end'
+ optional
266412618a4f52a5f92729f5997691c0e75ad6e43c1cfe4a013fe80d22c2cedd41611850534fe10edb01d6e7d97c4133319f5a0159ac070f3e156b085e50a55b
@@ -24256,6 +24288,7 @@
minipass-pipeline
1.2.4
create a pipeline of streams using Minipass
+ optional
c6e22aedc20eb74f513d1275f60762e1bf9188dbc31587b9247fa080dbc1a86aa941772bbb73dc466399b8704a58ad53c5ff7e710f8731537877acf8e8b64fec
@@ -24280,6 +24313,7 @@
minipass-sized
1.0.3
A Minipass stream that raises an error if you get a different number of bytes than expected
+ optional
31b9104360938813250360e6ff9718fbd49614437ca73cce5e2eab94ce57c6ad18a9b75ae59432f6c53be5aebbdc513d64ad19b1bafa63988feaef6792d7e0da
@@ -24424,6 +24458,7 @@
mkdirp-classic
0.5.3
Mirror of mkdirp 0.5.2
+ optional
80a2dc444321b6e651c1101fa8fdd1156f932b826a029541b4e21fb55823b8006902da7184f19a0dc7ef6e136f0f407c883d6852bfedc57df936371a63a36cfc
@@ -24781,6 +24816,7 @@
nan
2.17.0
Native Abstractions for Node.js: C++ header for Node 0.8 -> 18 compatibility
+ optional
d994e0b65d2726c3b42900a3129c5c22be43f98bfdd299538ad66df4905f42f5490d2e6c78c97714ebec877fbd0a86165dfff597939a673cc5ea70e6e1c6a069
@@ -24853,6 +24889,7 @@
napi-build-utils
1.0.2
A set of utilities to assist developers of tools that build N-API native add-ons
+ optional
38d99152a2bbce3ec3597d03f400ded37c1bc0e059c4d01f176d0f9467c2590703dfefcc6a44a1207accab1f58c0f4dfc43745d732de2fe44666247d90630b76
@@ -25068,6 +25105,7 @@
node-abi
2.30.1
Get the Node ABI for a given target and runtime, and vice versa.
+ optional
ff60f4c0e40f81a516cd5495811331fadaca2510b6506e1251ce28089a17c7d5318eda74572dff92def371bc4717cf99fe92b7525a0b5b30484a0ef66eb7f2d7
@@ -25103,6 +25141,7 @@
semver
5.7.1
The semantic version parser used by npm.
+ optional
b1ab9a0dffcf65d560acb4cd60746da576b589188a71a79b88a435049769425587da50af7b141d5f9e6c9cf1722bb433a6e76a6c2234a9715f39ab0777234319
@@ -25212,6 +25251,7 @@
node-gyp
8.4.1
Node.js native addon build tool
+ optional
a254c946052d01bfe13971b413ddf0643b3962226581b5f14f0400147c8d951b1742763351a17668682e8d96f0fa147c685e191bfad24f9edb58c583d7a8ebf7
@@ -25248,6 +25288,7 @@
ansi-regex
5.0.1
Regular expression for matching ANSI escape codes
+ optional
aae2505e54d25062f62c7f52517a3c570b18e2ca1a9e1828e8b3529bce04d4b05c13cb373b4c29762473c91f73fd9649325316bf7eea38e6fda5d26531410a15
@@ -25284,6 +25325,7 @@
are-we-there-yet
3.0.1
Keep track of the overall completion of many disparate processes
+ optional
4195b8103986c2562eaf46327ff6f6b86b9c1d031af1a1543fb7aef5d751ef7bef845cade15d159774073dc4cd27c97aa9838177181776705742b1e295f45006
@@ -25320,6 +25362,7 @@
gauge
4.0.4
A terminal based horizontal gauge
+ optional
7fd9be0443798e483a6b47d98e57a2763379d551355fe98f150d83274bafd55dfda022c26ec19eeb28db067a7b78aef3ffe180a27f7d6b79c7baa6eebad8723e
@@ -25356,6 +25399,7 @@
is-fullwidth-code-point
3.0.0
Check if the character represented by a given Unicode code point is fullwidth
+ optional
cf29a6e7ebbeb02b125b20fda8d69e8d5dc316f84229c94a762cd868952e1c0f3744b8dbee74ae1a775d0871afd2193e298ec130096c59e2b851e83a115e9742
@@ -25392,6 +25436,7 @@
nopt
5.0.0
Option parsing for Node, supporting types, shorthands, etc. Used by npm.
+ optional
4db8faeeb7dfa9c79e2e97115eb4fbbca00df02c1f3de20180cec4ea206498a2d5edb10cc291a060b1afd2300252c10269afefbb13f42231289edeae99d320b5
@@ -25428,6 +25473,7 @@
npmlog
6.0.2
logger for npm
+ optional
fef06fcf925fafd753fda15677414845ff93fd0d9606c2c437281468552ab2daacc9c99900ffede41bc52532b4be2166494c6250a4d4a655b2e6fb7eaef288c6
@@ -25463,6 +25509,7 @@
readable-stream
3.6.1
Streams3, a user-land copy of the stream library from Node.js
+ optional
fab426ad6318180f74c9e9e14d8b0b580b0bb2a542f28b0ec3a3ca1351c36223b481d3de29eff10c7373200227e02f75610ea87a71217d8aaa735f3cdea1db8d
@@ -25499,6 +25546,7 @@
string-width
4.2.3
Get the visual width of a string - the number of columns required to display it
+ optional
c0ac90450a63274b08a7ad84ad265d1ac8cc256b1aa79a1136284786ee86ec954effd8c807a5327af2feb57b8eaab9e0f23fdcc4a4d6c96530bd24eb8a2673fe
@@ -25535,6 +25583,7 @@
strip-ansi
6.0.1
Strip ANSI escape codes from a string
+ optional
637f153d21dcaa416b0a916743dbee4979aabaebf9a1738aa46793e9a1abaf7a3719cf409556ba2417d448e0a76f1186645fbfd28a08ecaacfb944b3b54754e4
@@ -25969,6 +26018,7 @@
noop-logger
0.1.1
A logger that does exactly nothing.
+ optional
ea433c08b5efb96e5cad3c6c02dbdad982eb46b0da89322421e3d6b3d9a82c7a9b1564fde16a4d163c12ff975f2df1028398bf9649b0ddaa2a562771b76dd311
@@ -27631,6 +27681,7 @@
p-map
4.0.0
Map over promises concurrently
+ optional
fdb8ceaa68044c1601e41a0478655e6bc766bc76f69bd18bcb513d5b8df27b27cfe9040264614d6be5d171e244b8307aceaafe80aa4802694b79b329ca4c3f31
@@ -28594,6 +28645,7 @@
prebuild-install
5.3.6
A command line tool to easily install prebuilt binaries for multiple version of node/iojs on a specific platform
+ optional
b3c01a8bcfbe4101a2e2c49bb3f335424bbad8f14ae3d266d426e05e4946cf89e61ef783ab4c3326483b35ae506e73b5b8d1fc2bb8aac76110fe65743191263a
@@ -28810,6 +28862,7 @@
promise-inflight
1.0.1
One promise for multiple requests in flight to avoid async duplication
+ optional
eb358fc8438569004961c18c1c1293289deee9306c9cc14e21949ae9c7b57bf66baec3a59c74476da6cc8cb88160aa7e9f8e17f5e508e9550f6ae9025c7b86e2
@@ -28846,6 +28899,7 @@
promise-retry
2.0.1
Retries a function that returns a promise, leveraging the power of the retry module.
+ optional
cbe58a165051f011979ec3652071463d99b20dfdc314ca0b85a7e5027c99815eab1bac6ef89c1eb13a3643d47a5f0626b66c001429009377b7e6311da1e87fde
@@ -28882,6 +28936,7 @@
err-code
2.0.3
Create an error with a code
+ optional
d9b9a546934a0714ff09198f3a5c88490a4d8fea92798bdcca6fee4f4271d9b30e94a2ed4b2d5998bb95c5210a2b2a2bfcde7286fa7f6621b5a04dc311831214
@@ -28918,6 +28973,7 @@
retry
0.12.0
Abstraction for exponential and custom retry strategies for failed operations.
+ optional
f4b9224f08d487aad3e79e43b44f6b4d7f81281c8f7eb333100b67944b5d130af73647dfc228a1a9ed9b5800e0f8e4118edf6097a20276607f6450c2180b52a3
@@ -32667,6 +32723,7 @@
simple-concat
1.0.1
Super-minimalist version of `concat-stream`. Less than 15 lines!
+ optional
71216d00fb518658efebd20ad214d5650f8e7c4f6778f8bfaed266c395231de57256ba04a895cfd6c173b4a532d6a53ec6fcf7bbfb1f6092daf78edbee700dd9
@@ -32703,6 +32760,7 @@
simple-get
3.1.1
Simplest way to make http get requests. Supports HTTPS, redirects, gzip/deflate, streams in < 100 lines.
+ optional
090e4b4ca19f0a9bc4d4ad27daeb3e92e30f6e4fead042a5f36b386a1795f685e3144cfa5bf63ba1015526e53a406efb8514f81a16f945446d785e6f9d68eea4
@@ -32739,6 +32797,7 @@
decompress-response
4.2.1
Decompress a HTTP response if needed
+ optional
8ce4a77b6a9bc84fbfafc1b5554f86ffcd8b06cd85b382c0b1388b48738238c65097638a67a8bc8b82321de9937beff22173ad4dc4503333dc832868165a8f93
@@ -32775,6 +32834,7 @@
mimic-response
2.1.0
Mimic a Node.js HTTP response stream
+ optional
c17aa3493f922eded1d34f72482825581085a635328260887c3efdd3f9156e21a65207d81ae075e0f8937790f0571495e0d7181e3ccc9288f92e3419c1340b10
@@ -32923,6 +32983,7 @@
smart-buffer
4.2.0
smart-buffer is a Buffer wrapper that adds automatic read & write offset tracking, string operations, data insertions, and more.
+ optional
f7884ad0787cacfa90976c577371ec681a0e5ca576d0c4e83e4717bf06c84962c4b3eeb8b01ab9905827da42431dbd4faf2f72acfd1dc6b088f5145c8bb4572a
@@ -33760,6 +33821,7 @@
socks-proxy-agent
6.2.1
A SOCKS proxy `http.Agent` implementation for HTTP and HTTPS
+ optional
6ba296f46fba0779d6675c81f06ee92702f78202f2d6e4f32808026fbb6d6e5c2a773f5f306254b93cb7b85cc43f8f0502cf452c82e59b30e513624985541a5d
@@ -33796,6 +33858,7 @@
debug
4.3.4
Lightweight debugging utility for Node.js and the browser
+ optional
3d15851ee494dde0ed4093ef9cd63b25c91eb758f4b793ae3ac1733cfcec7a40f9d9997ca947c520f122b305ea22f1d61951ce817fbb1bfbc234d85e870c5f91
@@ -33831,6 +33894,7 @@
ms
2.1.2
Tiny millisecond conversion utility
+ optional
b0690fc7e56332d980e8c5f6ee80381411442c50996784b85ea7863970afebcb53fa36f7be4fd1c9a2963f43d32b25ad98b48cd1bf9a7544c4bdbb353c4687db
@@ -33869,6 +33933,7 @@
socks
2.7.1
Fully featured SOCKS proxy client supporting SOCKSv4, SOCKSv4a, and SOCKSv5. Includes Bind and Associate functionality.
+ optional
ee6694672d4deeea3af965445faa6c012c6d36529a3553251902a41bfeb79c40dd2ce58d6e250ca0b2bb5f8b98a0b850b2d6aeef698b81f116717730b1a1db61
@@ -33904,6 +33969,7 @@
Fedor Indutny
ip
2.0.0
+ optional
58a6be5ee2c6d40d51d145a1976fb55d04a2f9f65632c60a7df3194d362c8996940fc936c83023e5ab62993503d93664c8290d11e604e4d845666ba9386b6361
@@ -34519,6 +34585,7 @@
ssri
8.0.1
Standard Subresource Integrity library -- parses, serializes, generates, and verifies integrity metadata according to the SRI spec.
+ optional
f7ba92873cb5022cb1bcf34890b5a81ae6bbc68433ccf8d0d07007e01d2b58aa3b499e944ae3dcad488016bc2cd141fc46b6d69a0ab72cc4ce6e13c81db6c179
@@ -35603,6 +35670,7 @@
tar-fs
2.1.1
filesystem bindings for tar-stream
+ optional
574af663db1c99b0d12c235ec7ffa1633be9ff3c988ef15b1cf36055329f42f56b6fa82e884fdfc4ff976e50cd474d75bada296e47b1da7338747355e860ec9e
@@ -35638,6 +35706,7 @@
bl
4.1.0
Buffer List: collect buffers and access with a standard readable Buffer interface, streamable too!
+ optional
d56d3b70cf604ba0dc2e97ab65f1528fe6d62ed68f1923875a13e21b35e6bd525b44b746f36b07fca9fc12d5b556a595039e0029fda1e64e416e721bc05de1eb
@@ -35674,6 +35743,7 @@
chownr
1.1.4
like `chown -R`
+ optional
8c9d1bab36b296626d567360cd37923acf033dabe96d8804aff6f460bf3fd863b7c4912122716684a3149c42508d9ba62bb297185854cbcf4faec25695a90156
@@ -35709,6 +35779,7 @@
readable-stream
3.6.1
Streams3, a user-land copy of the stream library from Node.js
+ optional
fab426ad6318180f74c9e9e14d8b0b580b0bb2a542f28b0ec3a3ca1351c36223b481d3de29eff10c7373200227e02f75610ea87a71217d8aaa735f3cdea1db8d
@@ -35745,6 +35816,7 @@
tar-stream
2.2.0
tar-stream is a streaming tar parser and generator and nothing else. It is streams2 and operates purely using streams which means you can easily extract/parse tarballs without ever hitting the file system.
+ optional
ba37aa6dc780060c0c6711099e4d870d8d83967519fbda0471bd4acd355f6078a8d1413a746ef59fad1df03d88e2a36f95e5abad7a668e9b7bbd9785d4b9cc65
@@ -37218,6 +37290,7 @@
uglify-js
3.17.4
JavaScript parser, mangler/compressor and beautifier toolkit
+ optional
4fdabcd93248f5efc2d5303162f7dbd7ac4ed76d2d315159ac60377fdfcfe38db80cdbbaca92b5d37cb418f1556b5ef2a2dc12c995b98985e08d81e41ab256fe
@@ -37507,6 +37580,7 @@
unique-filename
1.1.1
Generate a unique filename for use in temporary directories or caches.
+ optional
566a748c8a76967df95135eeaf2be3ce48c6751c9ff5bda54d7b9261488f9b345c977143b58a80c0e9d3264027803f525a19e82730db4cac1a3ab67e493b7135
@@ -37543,6 +37617,7 @@
unique-slug
2.0.2
Generate a unique character string suitible for use in files and URLs.
+ optional
ce85abf4e6dac402c3dc338f7e33d2ab1b787e766259b9711c881e5aa5bcc7b52a0f312d1c440bce38b672e258405094e8a9a826290e600665ad31c779b8f1db
@@ -38956,6 +39031,7 @@
which-pm-runs
1.1.0
Detects what package manager executes the process
+ optional
9f56eb0aea829717c57eafd16f420283d822499a824bea4bb5c71d6a0e82d87cae7c1ae1ddf04e8b2f676fa82044cbd63951f91ab749b248f98864d937177b48
diff --git a/demo/juice-shop/example-results/flat/bom.1.2.json b/demo/juice-shop/example-results/flat/bom.1.2.json
index 99c0f7153..24c8b7a15 100644
--- a/demo/juice-shop/example-results/flat/bom.1.2.json
+++ b/demo/juice-shop/example-results/flat/bom.1.2.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0"
+ "version": "1.9.2"
}
],
"component": {
@@ -329,6 +329,7 @@
"bom-ref": "@gar/promisify@1.1.3",
"author": "Gar",
"description": "Promisify an entire class or object",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -3465,6 +3466,7 @@
"bom-ref": "@npmcli/fs@1.1.1",
"author": "GitHub Inc.",
"description": "filesystem utilities for the npm cli",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -3494,6 +3496,7 @@
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
"description": "move a file (fork of move-file)",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -3537,6 +3540,7 @@
"version": "1.0.4",
"bom-ref": "@npmcli/move-file@1.1.2|mkdirp@1.0.4",
"description": "Recursively mkdir, like `mkdir -p`",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4731,6 +4735,7 @@
"bom-ref": "agentkeepalive@4.2.1",
"author": "fengmk2",
"description": "Missing keepalive http.Agent",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4775,6 +4780,7 @@
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
"author": "Josh Junon",
"description": "Lightweight debugging utility for Node.js and the browser",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4819,6 +4825,7 @@
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
"author": "Douglas Christopher Wilson",
"description": "Deprecate all the things",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4862,6 +4869,7 @@
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
"description": "Tiny millisecond conversion utility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4906,6 +4914,7 @@
"bom-ref": "aggregate-error@3.1.0",
"author": "Sindre Sorhus",
"description": "Create an error from multiple errors",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8183,6 +8192,7 @@
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
"description": "Fast, fault-tolerant, cross-platform, disk-based, data-agnostic, content-addressable cache.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8226,6 +8236,7 @@
"version": "1.0.4",
"bom-ref": "cacache@15.3.0|mkdirp@1.0.4",
"description": "Recursively mkdir, like `mkdir -p`",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9588,6 +9599,7 @@
"bom-ref": "clean-stack@2.2.0",
"author": "Sindre Sorhus",
"description": "Clean up error stack traces",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14048,6 +14060,7 @@
"bom-ref": "encoding@0.1.13",
"author": "Andris Reinman",
"description": "Convert encodings, uses iconv-lite",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14092,6 +14105,7 @@
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
"author": "Alexander Shtuchkin",
"description": "Convert character encodings in pure javascript.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14354,6 +14368,7 @@
"bom-ref": "env-paths@2.2.1",
"author": "Sindre Sorhus",
"description": "Get paths for storing things like data, config, cache, etc",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -15484,6 +15499,7 @@
"bom-ref": "expand-template@2.0.3",
"author": "LM",
"description": "Expand placeholders in a template string",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18951,6 +18967,7 @@
"bom-ref": "github-from-package@0.0.0",
"author": "James Halliday",
"description": "return the github url from a package.json file",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -22694,6 +22711,7 @@
"bom-ref": "humanize-ms@1.2.1",
"author": "dead-horse",
"description": "transform humanize time to ms",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23001,6 +23019,7 @@
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
"description": "Brotli compression/decompression with native bindings",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23045,6 +23064,7 @@
"bom-ref": "imurmurhash@0.1.4",
"author": "Jens Taylor",
"description": "An incremental implementation of MurmurHash3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23089,6 +23109,7 @@
"bom-ref": "indent-string@4.0.0",
"author": "Sindre Sorhus",
"description": "Indent each line in a string",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23133,6 +23154,7 @@
"bom-ref": "infer-owner@1.0.4",
"author": "Isaac Z. Schlueter",
"description": "Infer the owner of a path based on the owner of its nearest existing parent",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24627,6 +24649,7 @@
"bom-ref": "is-lambda@1.0.1",
"author": "Thomas Watson Steen",
"description": "Detect if your code is running on an AWS Lambda server",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28191,6 +28214,7 @@
"bom-ref": "make-fetch-happen@9.1.0",
"author": "Kat Marchán",
"description": "Opinionated, caching, retrying fetch client",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28236,6 +28260,7 @@
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
"author": "Nathan Rajlich",
"description": "Creates a Promise that waits for a single event",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28280,6 +28305,7 @@
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
"author": "Josh Junon",
"description": "Lightweight debugging utility for Node.js and the browser",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28324,6 +28350,7 @@
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.1",
"author": "Kornel Lesiński",
"description": "Parses Cache-Control and other headers. Helps building correct HTTP caches and proxies",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28368,6 +28395,7 @@
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
"author": "Nathan Rajlich",
"description": "An HTTP(s) proxy `http.Agent` implementation for HTTP",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28411,6 +28439,7 @@
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
"description": "Tiny millisecond conversion utility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -29331,6 +29360,7 @@
"bom-ref": "minipass-collect@1.0.2",
"author": "Isaac Z. Schlueter",
"description": "A Minipass stream that collects all the data into a single chunk",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -29359,6 +29389,7 @@
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
"description": "An implementation of window.fetch in Node.js using Minipass streams",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -29403,6 +29434,7 @@
"bom-ref": "minipass-flush@1.0.5",
"author": "Isaac Z. Schlueter",
"description": "A Minipass stream that calls a flush function before emitting 'end'",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -29447,6 +29479,7 @@
"bom-ref": "minipass-pipeline@1.2.4",
"author": "Isaac Z. Schlueter",
"description": "create a pipeline of streams using Minipass",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -29476,6 +29509,7 @@
"bom-ref": "minipass-sized@1.0.3",
"author": "Isaac Z. Schlueter",
"description": "A Minipass stream that raises an error if you get a different number of bytes than expected",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -29652,6 +29686,7 @@
"bom-ref": "mkdirp-classic@0.5.3",
"author": "Mathias Buus",
"description": "Mirror of mkdirp 0.5.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -30087,6 +30122,7 @@
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
"description": "Native Abstractions for Node.js: C++ header for Node 0.8 -> 18 compatibility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -30175,6 +30211,7 @@
"bom-ref": "napi-build-utils@1.0.2",
"author": "Jim Schlight",
"description": "A set of utilities to assist developers of tools that build N-API native add-ons",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -30436,6 +30473,7 @@
"bom-ref": "node-abi@2.30.1",
"author": "Lukas Geiger",
"description": "Get the Node ABI for a given target and runtime, and vice versa.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -30479,6 +30517,7 @@
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
"description": "The semantic version parser used by npm.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -30610,6 +30649,7 @@
"bom-ref": "node-gyp@8.4.1",
"author": "Nathan Rajlich",
"description": "Node.js native addon build tool",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -30654,6 +30694,7 @@
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
"author": "Sindre Sorhus",
"description": "Regular expression for matching ANSI escape codes",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -30698,6 +30739,7 @@
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
"author": "GitHub Inc.",
"description": "Keep track of the overall completion of many disparate processes",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -30742,6 +30784,7 @@
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
"author": "GitHub Inc.",
"description": "A terminal based horizontal gauge",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -30786,6 +30829,7 @@
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
"author": "Sindre Sorhus",
"description": "Check if the character represented by a given Unicode code point is fullwidth",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -30830,6 +30874,7 @@
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
"author": "Isaac Z. Schlueter",
"description": "Option parsing for Node, supporting types, shorthands, etc. Used by npm.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -30874,6 +30919,7 @@
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
"author": "GitHub Inc.",
"description": "logger for npm",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -30917,6 +30963,7 @@
"version": "3.6.1",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.1",
"description": "Streams3, a user-land copy of the stream library from Node.js",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -30961,6 +31008,7 @@
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
"author": "Sindre Sorhus",
"description": "Get the visual width of a string - the number of columns required to display it",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -31005,6 +31053,7 @@
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
"author": "Sindre Sorhus",
"description": "Strip ANSI escape codes from a string",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -31531,6 +31580,7 @@
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
"description": "A logger that does exactly nothing.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33553,6 +33603,7 @@
"bom-ref": "p-map@4.0.0",
"author": "Sindre Sorhus",
"description": "Map over promises concurrently",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34730,6 +34781,7 @@
"bom-ref": "prebuild-install@5.3.6",
"author": "Mathias Buus",
"description": "A command line tool to easily install prebuilt binaries for multiple version of node/iojs on a specific platform",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34994,6 +35046,7 @@
"bom-ref": "promise-inflight@1.0.1",
"author": "Rebecca Turner",
"description": "One promise for multiple requests in flight to avoid async duplication",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35038,6 +35091,7 @@
"bom-ref": "promise-retry@2.0.1",
"author": "IndigoUnited",
"description": "Retries a function that returns a promise, leveraging the power of the retry module.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35082,6 +35136,7 @@
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
"author": "IndigoUnited",
"description": "Create an error with a code",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35126,6 +35181,7 @@
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
"author": "Tim Koschützki",
"description": "Abstraction for exponential and custom retry strategies for failed operations.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39681,6 +39737,7 @@
"bom-ref": "simple-concat@1.0.1",
"author": "Feross Aboukhadijeh",
"description": "Super-minimalist version of `concat-stream`. Less than 15 lines!",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39725,6 +39782,7 @@
"bom-ref": "simple-get@3.1.1",
"author": "Feross Aboukhadijeh",
"description": "Simplest way to make http get requests. Supports HTTPS, redirects, gzip/deflate, streams in < 100 lines.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39769,6 +39827,7 @@
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
"author": "Sindre Sorhus",
"description": "Decompress a HTTP response if needed",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39813,6 +39872,7 @@
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
"author": "Sindre Sorhus",
"description": "Mimic a Node.js HTTP response stream",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39989,6 +40049,7 @@
"bom-ref": "smart-buffer@4.2.0",
"author": "Josh Glazebrook",
"description": "smart-buffer is a Buffer wrapper that adds automatic read & write offset tracking, string operations, data insertions, and more.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -40996,6 +41057,7 @@
"bom-ref": "socks-proxy-agent@6.2.1",
"author": "Nathan Rajlich",
"description": "A SOCKS proxy `http.Agent` implementation for HTTP and HTTPS",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -41040,6 +41102,7 @@
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
"author": "Josh Junon",
"description": "Lightweight debugging utility for Node.js and the browser",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -41083,6 +41146,7 @@
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
"description": "Tiny millisecond conversion utility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -41127,6 +41191,7 @@
"bom-ref": "socks@2.7.1",
"author": "Josh Glazebrook",
"description": "Fully featured SOCKS proxy client supporting SOCKSv4, SOCKSv4a, and SOCKSv5. Includes Bind and Associate functionality.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -41170,6 +41235,7 @@
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
"author": "Fedor Indutny",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -41917,6 +41983,7 @@
"bom-ref": "ssri@8.0.1",
"author": "Kat Marchán",
"description": "Standard Subresource Integrity library -- parses, serializes, generates, and verifies integrity metadata according to the SRI spec.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -43235,6 +43302,7 @@
"bom-ref": "tar-fs@2.1.1",
"author": "Mathias Buus",
"description": "filesystem bindings for tar-stream",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -43278,6 +43346,7 @@
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
"description": "Buffer List: collect buffers and access with a standard readable Buffer interface, streamable too!",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -43322,6 +43391,7 @@
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
"author": "Isaac Z. Schlueter",
"description": "like `chown -R`",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -43365,6 +43435,7 @@
"version": "3.6.1",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.1",
"description": "Streams3, a user-land copy of the stream library from Node.js",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -43409,6 +43480,7 @@
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
"author": "Mathias Buus",
"description": "tar-stream is a streaming tar parser and generator and nothing else. It is streams2 and operates purely using streams which means you can easily extract/parse tarballs without ever hitting the file system.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45200,6 +45272,7 @@
"bom-ref": "uglify-js@3.17.4",
"author": "Mihai Bazon",
"description": "JavaScript parser, mangler/compressor and beautifier toolkit",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45551,6 +45624,7 @@
"bom-ref": "unique-filename@1.1.1",
"author": "Rebecca Turner",
"description": "Generate a unique filename for use in temporary directories or caches.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45595,6 +45669,7 @@
"bom-ref": "unique-slug@2.0.2",
"author": "Rebecca Turner",
"description": "Generate a unique character string suitible for use in files and URLs.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -47312,6 +47387,7 @@
"bom-ref": "which-pm-runs@1.1.0",
"author": "Zoltan Kochan",
"description": "Detects what package manager executes the process",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/demo/juice-shop/example-results/flat/bom.1.2.xml b/demo/juice-shop/example-results/flat/bom.1.2.xml
index b6dcca91d..d441fb478 100644
--- a/demo/juice-shop/example-results/flat/bom.1.2.xml
+++ b/demo/juice-shop/example-results/flat/bom.1.2.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
@@ -251,6 +251,7 @@
promisify
1.1.3
Promisify an entire class or object
+ optional
9364f2d49715a238c9170ae0fd384a8b6ba327b5cd2d868518d07f6d64fdc0647ea123091cc6b9c3e094abaa7fa55aca78d36003ba42a847234a71d5a2a25017
@@ -2617,6 +2618,7 @@
fs
1.1.1
filesystem utilities for the npm cli
+ optional
f0a1b9443d0654fe32744cd19ff23804d0eec43b6a55b39d9bcebbe53e3d3881bf34685a2b4a633d7ed970396f2986c0fae96f54adf3b5f705e2e05d3b1b896d
@@ -2638,6 +2640,7 @@
move-file
1.1.2
move a file (fork of move-file)
+ optional
d5251ffc28361b3183c9a7f5e5a47d4adf535a56fe5ef6d95d6a43c7c60ab3b30bccc1ff0427a8a6ffb2f6fcebce091fca4086b963a54aede66618f6f8541cae
@@ -2670,6 +2673,7 @@
mkdirp
1.0.4
Recursively mkdir, like `mkdir -p`
+ optional
bd5a95650c9fdd62f1d9285dd2a27dc6ebea800c8a3cb022a884c4b6a5b4a08523ce8dcf78f0dde9f5bd885cf7d1e7fb62ca7fa225aa6e1b33786596d93e86cf
@@ -3567,6 +3571,7 @@
agentkeepalive
4.2.1
Missing keepalive http.Agent
+ optional
667e1cc36344a9dfbd7e249558cb1c9e3c90d5af187e8739a016a32dea39c3e6011e00d4704058da14b86294f3ea23797ffdb342292d72e33ab52f31d69f5da4
@@ -3600,6 +3605,7 @@
debug
4.3.4
Lightweight debugging utility for Node.js and the browser
+ optional
3d15851ee494dde0ed4093ef9cd63b25c91eb758f4b793ae3ac1733cfcec7a40f9d9997ca947c520f122b305ea22f1d61951ce817fbb1bfbc234d85e870c5f91
@@ -3633,6 +3639,7 @@
depd
1.1.2
Deprecate all the things
+ optional
ede98f4e5e83a68e894573978cb471724f8594b457e7ce3b70b2849f4d0f2c081cde0da14d9660afe7b8736bfa4294a62de14fde7e72528edfb7a6af04aff98d
@@ -3665,6 +3672,7 @@
ms
2.1.2
Tiny millisecond conversion utility
+ optional
b0690fc7e56332d980e8c5f6ee80381411442c50996784b85ea7863970afebcb53fa36f7be4fd1c9a2963f43d32b25ad98b48cd1bf9a7544c4bdbb353c4687db
@@ -3698,6 +3706,7 @@
aggregate-error
3.1.0
Create an error from multiple errors
+ optional
e08ed3774d6ab96fd1a6871f35ac85745564d6a4aea21d04ec9adb449d7a9c7d351e128543cf0836af5277e9ddef6cea4724a5afd0660c0f3194427abc932b60
@@ -6151,6 +6160,7 @@
cacache
15.3.0
Fast, fault-tolerant, cross-platform, disk-based, data-agnostic, content-addressable cache.
+ optional
555758cd7127f9c9db5e91605ace614d3ece49c7a01d598b849211f147ea9378850fa03a8f98925f52ae0537cd12fe2d749584d8fcc0e88545b5c2c2edf37dc1
@@ -6183,6 +6193,7 @@
mkdirp
1.0.4
Recursively mkdir, like `mkdir -p`
+ optional
bd5a95650c9fdd62f1d9285dd2a27dc6ebea800c8a3cb022a884c4b6a5b4a08523ce8dcf78f0dde9f5bd885cf7d1e7fb62ca7fa225aa6e1b33786596d93e86cf
@@ -7204,6 +7215,7 @@
clean-stack
2.2.0
Clean up error stack traces
+ optional
e1d882f4769313e29100c5a10e1ac63840a0599c687af31ce5396439b32a352b1553ad8f6335d9fd23138f3c8600517562eb20c46712593117061a7408fc10d4
@@ -10546,6 +10558,7 @@
encoding
0.1.13
Convert encodings, uses iconv-lite
+ optional
11305aba8c354f7e58fd664c922a3d8e2334679c631c7989e179a364eab597f757cf796bdac467f3b9c9cb6d11ba9a928751769b71c73d2a7c4a120f409ac9dc
@@ -10579,6 +10592,7 @@
iconv-lite
0.6.3
Convert character encodings in pure javascript.
+ optional
e1f0a4efdc2c84c773329dab1f4eaa5ab244e22a25a8b842507f8e8ae22053ef91074fbde0d9432fcd5ab4eec65f9e6e50ab9ea34b711cdb6f13223a0fb59d33
@@ -10775,6 +10789,7 @@
env-paths
2.2.1
Get paths for storing things like data, config, cache, etc
+ optional
fa1d6590b2a164c4d88e8835544a49346ecd64959cb9cd830e4feab2a49345108e5e22e3790d5dd7fb9dad41a1a8cc5480097028d67471fdaea9a9f918bb92d8
@@ -11621,6 +11636,7 @@
expand-template
2.0.3
Expand placeholders in a template string
+ optional
5d87ee28cbe3e0edf97ffa4e5cb39b9dd211bf243effee8084e0e1f8e2968fd4bde3df291c79ff20cb331fe82dd1f04245630d7e4d594a9e71dc089f9a7236be
@@ -14219,6 +14235,7 @@
github-from-package
0.0.0
return the github url from a package.json file
+ optional
4b21f2dd3d6fd8d5179f6f4eb1677198ae91c070febe48f7bfc7a7f00381675c0143f842010e5b0104c3d36916e16f6d529ff7421e89f2bf44be7b62c8298e3b
@@ -17025,6 +17042,7 @@
humanize-ms
1.2.1
transform humanize time to ms
+ optional
165ef4bd8b6c0056ff0b4e8f4d2f5d641a3b8a16aef93bbf0cd0a4fcec8785e6b4ed2f9a78c5a914591469745af1f23e49c65b108f1d7d2c7063b83167d48055
@@ -17255,6 +17273,7 @@
iltorb
2.4.5
Brotli compression/decompression with native bindings
+ optional
10c08c9772e79cd499252e50af1c9998c4da002e3e4c990ce70a03fb16e99bd441fa61580abec2d391851374c4182b154125479a35fedec7f9022c2cca53489d
@@ -17288,6 +17307,7 @@
imurmurhash
0.1.4
An incremental implementation of MurmurHash3
+ optional
2665cc67ac2ebc398b88712697dca4cea3ba97015ba1fd061b822470668435d0910c398c5679f2eece47b0880709b6aad30d8cc8f843aa48535204b62d4d8f1c
@@ -17321,6 +17341,7 @@
indent-string
4.0.0
Indent each line in a string
+ optional
11d0c366ee00d8ec882bb2ebff6cc6fb0e6399bba4d435419c4c11110bc1ceca412640846d16bc1b153596085871a1890a745689b8c35e5abbefd5f5ff2e71c2
@@ -17354,6 +17375,7 @@
infer-owner
1.0.4
Infer the owner of a path based on the owner of its nearest existing parent
+ optional
202963f97cfde3e77b8ab1f9a91c9f2689ce75f4f3b836a27c4e993d67f1d0dd3efc04d909bb933eada9ac5979dbabab91077dd16c942888750df050da1333f4
@@ -18474,6 +18496,7 @@
is-lambda
1.0.1
Detect if your code is running on an AWS Lambda server
+ optional
cfb08c14636b10dab988507d06aa3ae1793a63db20f9ea6ad66c8871d1da1a76cc4d83b1bf3b04b5d62a414ca507b2f17e4be0aeb8cfdf64fa6307228a8f5421
@@ -21145,6 +21168,7 @@
make-fetch-happen
9.1.0
Opinionated, caching, retrying fetch client
+ optional
fb3a29c03cbb0cd9279b03d0a657a6e650195ff7823b34af48d35c48a9b9795c1390e073a24b447d7b1af4bdb727f188461c51b1ac7390f121ac91291361781a
@@ -21179,6 +21203,7 @@
once
1.1.2
Creates a Promise that waits for a single event
+ optional
45bcc9be5373991ab97373b4f548a97ae5e7a38b40d4513a8a43a3c592b4b6ec55bf7e35da5eb8979b755b9a63e3eac9abdbe9926fe4c22474eda6579ec28fc7
@@ -21212,6 +21237,7 @@
debug
4.3.4
Lightweight debugging utility for Node.js and the browser
+ optional
3d15851ee494dde0ed4093ef9cd63b25c91eb758f4b793ae3ac1733cfcec7a40f9d9997ca947c520f122b305ea22f1d61951ce817fbb1bfbc234d85e870c5f91
@@ -21245,6 +21271,7 @@
http-cache-semantics
4.1.1
Parses Cache-Control and other headers. Helps building correct HTTP caches and proxies
+ optional
7abdbde4328f56c57cda3e64c351a3b7e00303f5d81ec6a397cd9c18d406d9eca83e4be05215fe9c32327a5ce12166dbb173f7f441dc23a979b58b36158a985d
@@ -21278,6 +21305,7 @@
http-proxy-agent
4.0.1
An HTTP(s) proxy `http.Agent` implementation for HTTP
+ optional
934cdd360a964c603a69e211569bdf5686f87cbe767537da7a1ca583463852f4b24af3aafd8f813b23eb82952b03b1f296abd4f2f2191ac46e5e6b29b245744e
@@ -21310,6 +21338,7 @@
ms
2.1.2
Tiny millisecond conversion utility
+ optional
b0690fc7e56332d980e8c5f6ee80381411442c50996784b85ea7863970afebcb53fa36f7be4fd1c9a2963f43d32b25ad98b48cd1bf9a7544c4bdbb353c4687db
@@ -21999,6 +22028,7 @@
minipass-collect
1.0.2
A Minipass stream that collects all the data into a single chunk
+ optional
e93ea51f41fc386f642139bf266ead768a086e8806f5ed2d2e0a58ea6a615d29bf03dbbc36ad6bc811be42ca62b9bf4b8d69413ec3d2ded590fc1a2dab815dc4
@@ -22019,6 +22049,7 @@
minipass-fetch
1.4.1
An implementation of window.fetch in Node.js using Minipass streams
+ optional
0861f579b94bab6e98d79f80ce4edecb8c61d09fd77c97eb0a8c792c32622aa2364368b038b38aae598868e0e24904bc775f236a517acb62b678f526d0299287
@@ -22052,6 +22083,7 @@
minipass-flush
1.0.5
A Minipass stream that calls a flush function before emitting 'end'
+ optional
266412618a4f52a5f92729f5997691c0e75ad6e43c1cfe4a013fe80d22c2cedd41611850534fe10edb01d6e7d97c4133319f5a0159ac070f3e156b085e50a55b
@@ -22085,6 +22117,7 @@
minipass-pipeline
1.2.4
create a pipeline of streams using Minipass
+ optional
c6e22aedc20eb74f513d1275f60762e1bf9188dbc31587b9247fa080dbc1a86aa941772bbb73dc466399b8704a58ad53c5ff7e710f8731537877acf8e8b64fec
@@ -22106,6 +22139,7 @@
minipass-sized
1.0.3
A Minipass stream that raises an error if you get a different number of bytes than expected
+ optional
31b9104360938813250360e6ff9718fbd49614437ca73cce5e2eab94ce57c6ad18a9b75ae59432f6c53be5aebbdc513d64ad19b1bafa63988feaef6792d7e0da
@@ -22238,6 +22272,7 @@
mkdirp-classic
0.5.3
Mirror of mkdirp 0.5.2
+ optional
80a2dc444321b6e651c1101fa8fdd1156f932b826a029541b4e21fb55823b8006902da7184f19a0dc7ef6e136f0f407c883d6852bfedc57df936371a63a36cfc
@@ -22563,6 +22598,7 @@
nan
2.17.0
Native Abstractions for Node.js: C++ header for Node 0.8 -> 18 compatibility
+ optional
d994e0b65d2726c3b42900a3129c5c22be43f98bfdd299538ad66df4905f42f5490d2e6c78c97714ebec877fbd0a86165dfff597939a673cc5ea70e6e1c6a069
@@ -22629,6 +22665,7 @@
napi-build-utils
1.0.2
A set of utilities to assist developers of tools that build N-API native add-ons
+ optional
38d99152a2bbce3ec3597d03f400ded37c1bc0e059c4d01f176d0f9467c2590703dfefcc6a44a1207accab1f58c0f4dfc43745d732de2fe44666247d90630b76
@@ -22824,6 +22861,7 @@
node-abi
2.30.1
Get the Node ABI for a given target and runtime, and vice versa.
+ optional
ff60f4c0e40f81a516cd5495811331fadaca2510b6506e1251ce28089a17c7d5318eda74572dff92def371bc4717cf99fe92b7525a0b5b30484a0ef66eb7f2d7
@@ -22856,6 +22894,7 @@
semver
5.7.1
The semantic version parser used by npm.
+ optional
b1ab9a0dffcf65d560acb4cd60746da576b589188a71a79b88a435049769425587da50af7b141d5f9e6c9cf1722bb433a6e76a6c2234a9715f39ab0777234319
@@ -22954,6 +22993,7 @@
node-gyp
8.4.1
Node.js native addon build tool
+ optional
a254c946052d01bfe13971b413ddf0643b3962226581b5f14f0400147c8d951b1742763351a17668682e8d96f0fa147c685e191bfad24f9edb58c583d7a8ebf7
@@ -22987,6 +23027,7 @@
ansi-regex
5.0.1
Regular expression for matching ANSI escape codes
+ optional
aae2505e54d25062f62c7f52517a3c570b18e2ca1a9e1828e8b3529bce04d4b05c13cb373b4c29762473c91f73fd9649325316bf7eea38e6fda5d26531410a15
@@ -23020,6 +23061,7 @@
are-we-there-yet
3.0.1
Keep track of the overall completion of many disparate processes
+ optional
4195b8103986c2562eaf46327ff6f6b86b9c1d031af1a1543fb7aef5d751ef7bef845cade15d159774073dc4cd27c97aa9838177181776705742b1e295f45006
@@ -23053,6 +23095,7 @@
gauge
4.0.4
A terminal based horizontal gauge
+ optional
7fd9be0443798e483a6b47d98e57a2763379d551355fe98f150d83274bafd55dfda022c26ec19eeb28db067a7b78aef3ffe180a27f7d6b79c7baa6eebad8723e
@@ -23086,6 +23129,7 @@
is-fullwidth-code-point
3.0.0
Check if the character represented by a given Unicode code point is fullwidth
+ optional
cf29a6e7ebbeb02b125b20fda8d69e8d5dc316f84229c94a762cd868952e1c0f3744b8dbee74ae1a775d0871afd2193e298ec130096c59e2b851e83a115e9742
@@ -23119,6 +23163,7 @@
nopt
5.0.0
Option parsing for Node, supporting types, shorthands, etc. Used by npm.
+ optional
4db8faeeb7dfa9c79e2e97115eb4fbbca00df02c1f3de20180cec4ea206498a2d5edb10cc291a060b1afd2300252c10269afefbb13f42231289edeae99d320b5
@@ -23152,6 +23197,7 @@
npmlog
6.0.2
logger for npm
+ optional
fef06fcf925fafd753fda15677414845ff93fd0d9606c2c437281468552ab2daacc9c99900ffede41bc52532b4be2166494c6250a4d4a655b2e6fb7eaef288c6
@@ -23184,6 +23230,7 @@
readable-stream
3.6.1
Streams3, a user-land copy of the stream library from Node.js
+ optional
fab426ad6318180f74c9e9e14d8b0b580b0bb2a542f28b0ec3a3ca1351c36223b481d3de29eff10c7373200227e02f75610ea87a71217d8aaa735f3cdea1db8d
@@ -23217,6 +23264,7 @@
string-width
4.2.3
Get the visual width of a string - the number of columns required to display it
+ optional
c0ac90450a63274b08a7ad84ad265d1ac8cc256b1aa79a1136284786ee86ec954effd8c807a5327af2feb57b8eaab9e0f23fdcc4a4d6c96530bd24eb8a2673fe
@@ -23250,6 +23298,7 @@
strip-ansi
6.0.1
Strip ANSI escape codes from a string
+ optional
637f153d21dcaa416b0a916743dbee4979aabaebf9a1738aa46793e9a1abaf7a3719cf409556ba2417d448e0a76f1186645fbfd28a08ecaacfb944b3b54754e4
@@ -23644,6 +23693,7 @@
noop-logger
0.1.1
A logger that does exactly nothing.
+ optional
ea433c08b5efb96e5cad3c6c02dbdad982eb46b0da89322421e3d6b3d9a82c7a9b1564fde16a4d163c12ff975f2df1028398bf9649b0ddaa2a562771b76dd311
@@ -25160,6 +25210,7 @@
p-map
4.0.0
Map over promises concurrently
+ optional
fdb8ceaa68044c1601e41a0478655e6bc766bc76f69bd18bcb513d5b8df27b27cfe9040264614d6be5d171e244b8307aceaafe80aa4802694b79b329ca4c3f31
@@ -26042,6 +26093,7 @@
prebuild-install
5.3.6
A command line tool to easily install prebuilt binaries for multiple version of node/iojs on a specific platform
+ optional
b3c01a8bcfbe4101a2e2c49bb3f335424bbad8f14ae3d266d426e05e4946cf89e61ef783ab4c3326483b35ae506e73b5b8d1fc2bb8aac76110fe65743191263a
@@ -26240,6 +26292,7 @@
promise-inflight
1.0.1
One promise for multiple requests in flight to avoid async duplication
+ optional
eb358fc8438569004961c18c1c1293289deee9306c9cc14e21949ae9c7b57bf66baec3a59c74476da6cc8cb88160aa7e9f8e17f5e508e9550f6ae9025c7b86e2
@@ -26273,6 +26326,7 @@
promise-retry
2.0.1
Retries a function that returns a promise, leveraging the power of the retry module.
+ optional
cbe58a165051f011979ec3652071463d99b20dfdc314ca0b85a7e5027c99815eab1bac6ef89c1eb13a3643d47a5f0626b66c001429009377b7e6311da1e87fde
@@ -26306,6 +26360,7 @@
err-code
2.0.3
Create an error with a code
+ optional
d9b9a546934a0714ff09198f3a5c88490a4d8fea92798bdcca6fee4f4271d9b30e94a2ed4b2d5998bb95c5210a2b2a2bfcde7286fa7f6621b5a04dc311831214
@@ -26339,6 +26394,7 @@
retry
0.12.0
Abstraction for exponential and custom retry strategies for failed operations.
+ optional
f4b9224f08d487aad3e79e43b44f6b4d7f81281c8f7eb333100b67944b5d130af73647dfc228a1a9ed9b5800e0f8e4118edf6097a20276607f6450c2180b52a3
@@ -29752,6 +29808,7 @@
simple-concat
1.0.1
Super-minimalist version of `concat-stream`. Less than 15 lines!
+ optional
71216d00fb518658efebd20ad214d5650f8e7c4f6778f8bfaed266c395231de57256ba04a895cfd6c173b4a532d6a53ec6fcf7bbfb1f6092daf78edbee700dd9
@@ -29785,6 +29842,7 @@
simple-get
3.1.1
Simplest way to make http get requests. Supports HTTPS, redirects, gzip/deflate, streams in < 100 lines.
+ optional
090e4b4ca19f0a9bc4d4ad27daeb3e92e30f6e4fead042a5f36b386a1795f685e3144cfa5bf63ba1015526e53a406efb8514f81a16f945446d785e6f9d68eea4
@@ -29818,6 +29876,7 @@
decompress-response
4.2.1
Decompress a HTTP response if needed
+ optional
8ce4a77b6a9bc84fbfafc1b5554f86ffcd8b06cd85b382c0b1388b48738238c65097638a67a8bc8b82321de9937beff22173ad4dc4503333dc832868165a8f93
@@ -29851,6 +29910,7 @@
mimic-response
2.1.0
Mimic a Node.js HTTP response stream
+ optional
c17aa3493f922eded1d34f72482825581085a635328260887c3efdd3f9156e21a65207d81ae075e0f8937790f0571495e0d7181e3ccc9288f92e3419c1340b10
@@ -29983,6 +30043,7 @@
smart-buffer
4.2.0
smart-buffer is a Buffer wrapper that adds automatic read & write offset tracking, string operations, data insertions, and more.
+ optional
f7884ad0787cacfa90976c577371ec681a0e5ca576d0c4e83e4717bf06c84962c4b3eeb8b01ab9905827da42431dbd4faf2f72acfd1dc6b088f5145c8bb4572a
@@ -30737,6 +30798,7 @@
socks-proxy-agent
6.2.1
A SOCKS proxy `http.Agent` implementation for HTTP and HTTPS
+ optional
6ba296f46fba0779d6675c81f06ee92702f78202f2d6e4f32808026fbb6d6e5c2a773f5f306254b93cb7b85cc43f8f0502cf452c82e59b30e513624985541a5d
@@ -30770,6 +30832,7 @@
debug
4.3.4
Lightweight debugging utility for Node.js and the browser
+ optional
3d15851ee494dde0ed4093ef9cd63b25c91eb758f4b793ae3ac1733cfcec7a40f9d9997ca947c520f122b305ea22f1d61951ce817fbb1bfbc234d85e870c5f91
@@ -30802,6 +30865,7 @@
ms
2.1.2
Tiny millisecond conversion utility
+ optional
b0690fc7e56332d980e8c5f6ee80381411442c50996784b85ea7863970afebcb53fa36f7be4fd1c9a2963f43d32b25ad98b48cd1bf9a7544c4bdbb353c4687db
@@ -30835,6 +30899,7 @@
socks
2.7.1
Fully featured SOCKS proxy client supporting SOCKSv4, SOCKSv4a, and SOCKSv5. Includes Bind and Associate functionality.
+ optional
ee6694672d4deeea3af965445faa6c012c6d36529a3553251902a41bfeb79c40dd2ce58d6e250ca0b2bb5f8b98a0b850b2d6aeef698b81f116717730b1a1db61
@@ -30867,6 +30932,7 @@
Fedor Indutny
ip
2.0.0
+ optional
58a6be5ee2c6d40d51d145a1976fb55d04a2f9f65632c60a7df3194d362c8996940fc936c83023e5ab62993503d93664c8290d11e604e4d845666ba9386b6361
@@ -31427,6 +31493,7 @@
ssri
8.0.1
Standard Subresource Integrity library -- parses, serializes, generates, and verifies integrity metadata according to the SRI spec.
+ optional
f7ba92873cb5022cb1bcf34890b5a81ae6bbc68433ccf8d0d07007e01d2b58aa3b499e944ae3dcad488016bc2cd141fc46b6d69a0ab72cc4ce6e13c81db6c179
@@ -32415,6 +32482,7 @@
tar-fs
2.1.1
filesystem bindings for tar-stream
+ optional
574af663db1c99b0d12c235ec7ffa1633be9ff3c988ef15b1cf36055329f42f56b6fa82e884fdfc4ff976e50cd474d75bada296e47b1da7338747355e860ec9e
@@ -32447,6 +32515,7 @@
bl
4.1.0
Buffer List: collect buffers and access with a standard readable Buffer interface, streamable too!
+ optional
d56d3b70cf604ba0dc2e97ab65f1528fe6d62ed68f1923875a13e21b35e6bd525b44b746f36b07fca9fc12d5b556a595039e0029fda1e64e416e721bc05de1eb
@@ -32480,6 +32549,7 @@
chownr
1.1.4
like `chown -R`
+ optional
8c9d1bab36b296626d567360cd37923acf033dabe96d8804aff6f460bf3fd863b7c4912122716684a3149c42508d9ba62bb297185854cbcf4faec25695a90156
@@ -32512,6 +32582,7 @@
readable-stream
3.6.1
Streams3, a user-land copy of the stream library from Node.js
+ optional
fab426ad6318180f74c9e9e14d8b0b580b0bb2a542f28b0ec3a3ca1351c36223b481d3de29eff10c7373200227e02f75610ea87a71217d8aaa735f3cdea1db8d
@@ -32545,6 +32616,7 @@
tar-stream
2.2.0
tar-stream is a streaming tar parser and generator and nothing else. It is streams2 and operates purely using streams which means you can easily extract/parse tarballs without ever hitting the file system.
+ optional
ba37aa6dc780060c0c6711099e4d870d8d83967519fbda0471bd4acd355f6078a8d1413a746ef59fad1df03d88e2a36f95e5abad7a668e9b7bbd9785d4b9cc65
@@ -33887,6 +33959,7 @@
uglify-js
3.17.4
JavaScript parser, mangler/compressor and beautifier toolkit
+ optional
4fdabcd93248f5efc2d5303162f7dbd7ac4ed76d2d315159ac60377fdfcfe38db80cdbbaca92b5d37cb418f1556b5ef2a2dc12c995b98985e08d81e41ab256fe
@@ -34150,6 +34223,7 @@
unique-filename
1.1.1
Generate a unique filename for use in temporary directories or caches.
+ optional
566a748c8a76967df95135eeaf2be3ce48c6751c9ff5bda54d7b9261488f9b345c977143b58a80c0e9d3264027803f525a19e82730db4cac1a3ab67e493b7135
@@ -34183,6 +34257,7 @@
unique-slug
2.0.2
Generate a unique character string suitible for use in files and URLs.
+ optional
ce85abf4e6dac402c3dc338f7e33d2ab1b787e766259b9711c881e5aa5bcc7b52a0f312d1c440bce38b672e258405094e8a9a826290e600665ad31c779b8f1db
@@ -35469,6 +35544,7 @@
which-pm-runs
1.1.0
Detects what package manager executes the process
+ optional
9f56eb0aea829717c57eafd16f420283d822499a824bea4bb5c71d6a0e82d87cae7c1ae1ddf04e8b2f676fa82044cbd63951f91ab749b248f98864d937177b48
diff --git a/demo/juice-shop/example-results/flat/bom.1.3.json b/demo/juice-shop/example-results/flat/bom.1.3.json
index 4e870bc3b..7e01b4e2f 100644
--- a/demo/juice-shop/example-results/flat/bom.1.3.json
+++ b/demo/juice-shop/example-results/flat/bom.1.3.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0"
+ "version": "1.9.2"
}
],
"component": {
@@ -375,6 +375,7 @@
"bom-ref": "@gar/promisify@1.1.3",
"author": "Gar",
"description": "Promisify an entire class or object",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -3931,6 +3932,7 @@
"bom-ref": "@npmcli/fs@1.1.1",
"author": "GitHub Inc.",
"description": "filesystem utilities for the npm cli",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -3966,6 +3968,7 @@
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
"description": "move a file (fork of move-file)",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4015,6 +4018,7 @@
"version": "1.0.4",
"bom-ref": "@npmcli/move-file@1.1.2|mkdirp@1.0.4",
"description": "Recursively mkdir, like `mkdir -p`",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5371,6 +5375,7 @@
"bom-ref": "agentkeepalive@4.2.1",
"author": "fengmk2",
"description": "Missing keepalive http.Agent",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5421,6 +5426,7 @@
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
"author": "Josh Junon",
"description": "Lightweight debugging utility for Node.js and the browser",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5471,6 +5477,7 @@
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
"author": "Douglas Christopher Wilson",
"description": "Deprecate all the things",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5520,6 +5527,7 @@
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
"description": "Tiny millisecond conversion utility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5570,6 +5578,7 @@
"bom-ref": "aggregate-error@3.1.0",
"author": "Sindre Sorhus",
"description": "Create an error from multiple errors",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9297,6 +9306,7 @@
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
"description": "Fast, fault-tolerant, cross-platform, disk-based, data-agnostic, content-addressable cache.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9346,6 +9356,7 @@
"version": "1.0.4",
"bom-ref": "cacache@15.3.0|mkdirp@1.0.4",
"description": "Recursively mkdir, like `mkdir -p`",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -10894,6 +10905,7 @@
"bom-ref": "clean-stack@2.2.0",
"author": "Sindre Sorhus",
"description": "Clean up error stack traces",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -15966,6 +15978,7 @@
"bom-ref": "encoding@0.1.13",
"author": "Andris Reinman",
"description": "Convert encodings, uses iconv-lite",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16016,6 +16029,7 @@
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
"author": "Alexander Shtuchkin",
"description": "Convert character encodings in pure javascript.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16314,6 +16328,7 @@
"bom-ref": "env-paths@2.2.1",
"author": "Sindre Sorhus",
"description": "Get paths for storing things like data, config, cache, etc",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17600,6 +17615,7 @@
"bom-ref": "expand-template@2.0.3",
"author": "LM",
"description": "Expand placeholders in a template string",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -21541,6 +21557,7 @@
"bom-ref": "github-from-package@0.0.0",
"author": "James Halliday",
"description": "return the github url from a package.json file",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25794,6 +25811,7 @@
"bom-ref": "humanize-ms@1.2.1",
"author": "dead-horse",
"description": "transform humanize time to ms",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26143,6 +26161,7 @@
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
"description": "Brotli compression/decompression with native bindings",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26193,6 +26212,7 @@
"bom-ref": "imurmurhash@0.1.4",
"author": "Jens Taylor",
"description": "An incremental implementation of MurmurHash3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26243,6 +26263,7 @@
"bom-ref": "indent-string@4.0.0",
"author": "Sindre Sorhus",
"description": "Indent each line in a string",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26293,6 +26314,7 @@
"bom-ref": "infer-owner@1.0.4",
"author": "Isaac Z. Schlueter",
"description": "Infer the owner of a path based on the owner of its nearest existing parent",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27991,6 +28013,7 @@
"bom-ref": "is-lambda@1.0.1",
"author": "Thomas Watson Steen",
"description": "Detect if your code is running on an AWS Lambda server",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32041,6 +32064,7 @@
"bom-ref": "make-fetch-happen@9.1.0",
"author": "Kat Marchán",
"description": "Opinionated, caching, retrying fetch client",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32092,6 +32116,7 @@
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
"author": "Nathan Rajlich",
"description": "Creates a Promise that waits for a single event",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32142,6 +32167,7 @@
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
"author": "Josh Junon",
"description": "Lightweight debugging utility for Node.js and the browser",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32192,6 +32218,7 @@
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.1",
"author": "Kornel Lesiński",
"description": "Parses Cache-Control and other headers. Helps building correct HTTP caches and proxies",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32242,6 +32269,7 @@
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
"author": "Nathan Rajlich",
"description": "An HTTP(s) proxy `http.Agent` implementation for HTTP",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32291,6 +32319,7 @@
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
"description": "Tiny millisecond conversion utility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33337,6 +33366,7 @@
"bom-ref": "minipass-collect@1.0.2",
"author": "Isaac Z. Schlueter",
"description": "A Minipass stream that collects all the data into a single chunk",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33371,6 +33401,7 @@
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
"description": "An implementation of window.fetch in Node.js using Minipass streams",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33421,6 +33452,7 @@
"bom-ref": "minipass-flush@1.0.5",
"author": "Isaac Z. Schlueter",
"description": "A Minipass stream that calls a flush function before emitting 'end'",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33471,6 +33503,7 @@
"bom-ref": "minipass-pipeline@1.2.4",
"author": "Isaac Z. Schlueter",
"description": "create a pipeline of streams using Minipass",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33506,6 +33539,7 @@
"bom-ref": "minipass-sized@1.0.3",
"author": "Isaac Z. Schlueter",
"description": "A Minipass stream that raises an error if you get a different number of bytes than expected",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33706,6 +33740,7 @@
"bom-ref": "mkdirp-classic@0.5.3",
"author": "Mathias Buus",
"description": "Mirror of mkdirp 0.5.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34201,6 +34236,7 @@
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
"description": "Native Abstractions for Node.js: C++ header for Node 0.8 -> 18 compatibility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34301,6 +34337,7 @@
"bom-ref": "napi-build-utils@1.0.2",
"author": "Jim Schlight",
"description": "A set of utilities to assist developers of tools that build N-API native add-ons",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34598,6 +34635,7 @@
"bom-ref": "node-abi@2.30.1",
"author": "Lukas Geiger",
"description": "Get the Node ABI for a given target and runtime, and vice versa.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34647,6 +34685,7 @@
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
"description": "The semantic version parser used by npm.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34796,6 +34835,7 @@
"bom-ref": "node-gyp@8.4.1",
"author": "Nathan Rajlich",
"description": "Node.js native addon build tool",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34846,6 +34886,7 @@
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
"author": "Sindre Sorhus",
"description": "Regular expression for matching ANSI escape codes",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34896,6 +34937,7 @@
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
"author": "GitHub Inc.",
"description": "Keep track of the overall completion of many disparate processes",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34946,6 +34988,7 @@
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
"author": "GitHub Inc.",
"description": "A terminal based horizontal gauge",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34996,6 +35039,7 @@
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
"author": "Sindre Sorhus",
"description": "Check if the character represented by a given Unicode code point is fullwidth",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35046,6 +35090,7 @@
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
"author": "Isaac Z. Schlueter",
"description": "Option parsing for Node, supporting types, shorthands, etc. Used by npm.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35096,6 +35141,7 @@
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
"author": "GitHub Inc.",
"description": "logger for npm",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35145,6 +35191,7 @@
"version": "3.6.1",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.1",
"description": "Streams3, a user-land copy of the stream library from Node.js",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35195,6 +35242,7 @@
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
"author": "Sindre Sorhus",
"description": "Get the visual width of a string - the number of columns required to display it",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35245,6 +35293,7 @@
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
"author": "Sindre Sorhus",
"description": "Strip ANSI escape codes from a string",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35843,6 +35892,7 @@
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
"description": "A logger that does exactly nothing.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -38141,6 +38191,7 @@
"bom-ref": "p-map@4.0.0",
"author": "Sindre Sorhus",
"description": "Map over promises concurrently",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39480,6 +39531,7 @@
"bom-ref": "prebuild-install@5.3.6",
"author": "Mathias Buus",
"description": "A command line tool to easily install prebuilt binaries for multiple version of node/iojs on a specific platform",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39780,6 +39832,7 @@
"bom-ref": "promise-inflight@1.0.1",
"author": "Rebecca Turner",
"description": "One promise for multiple requests in flight to avoid async duplication",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39830,6 +39883,7 @@
"bom-ref": "promise-retry@2.0.1",
"author": "IndigoUnited",
"description": "Retries a function that returns a promise, leveraging the power of the retry module.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39880,6 +39934,7 @@
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
"author": "IndigoUnited",
"description": "Create an error with a code",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39930,6 +39985,7 @@
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
"author": "Tim Koschützki",
"description": "Abstraction for exponential and custom retry strategies for failed operations.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45109,6 +45165,7 @@
"bom-ref": "simple-concat@1.0.1",
"author": "Feross Aboukhadijeh",
"description": "Super-minimalist version of `concat-stream`. Less than 15 lines!",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45159,6 +45216,7 @@
"bom-ref": "simple-get@3.1.1",
"author": "Feross Aboukhadijeh",
"description": "Simplest way to make http get requests. Supports HTTPS, redirects, gzip/deflate, streams in < 100 lines.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45209,6 +45267,7 @@
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
"author": "Sindre Sorhus",
"description": "Decompress a HTTP response if needed",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45259,6 +45318,7 @@
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
"author": "Sindre Sorhus",
"description": "Mimic a Node.js HTTP response stream",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45459,6 +45519,7 @@
"bom-ref": "smart-buffer@4.2.0",
"author": "Josh Glazebrook",
"description": "smart-buffer is a Buffer wrapper that adds automatic read & write offset tracking, string operations, data insertions, and more.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -46604,6 +46665,7 @@
"bom-ref": "socks-proxy-agent@6.2.1",
"author": "Nathan Rajlich",
"description": "A SOCKS proxy `http.Agent` implementation for HTTP and HTTPS",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -46654,6 +46716,7 @@
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
"author": "Josh Junon",
"description": "Lightweight debugging utility for Node.js and the browser",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -46703,6 +46766,7 @@
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
"description": "Tiny millisecond conversion utility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -46753,6 +46817,7 @@
"bom-ref": "socks@2.7.1",
"author": "Josh Glazebrook",
"description": "Fully featured SOCKS proxy client supporting SOCKSv4, SOCKSv4a, and SOCKSv5. Includes Bind and Associate functionality.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -46802,6 +46867,7 @@
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
"author": "Fedor Indutny",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -47651,6 +47717,7 @@
"bom-ref": "ssri@8.0.1",
"author": "Kat Marchán",
"description": "Standard Subresource Integrity library -- parses, serializes, generates, and verifies integrity metadata according to the SRI spec.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -49149,6 +49216,7 @@
"bom-ref": "tar-fs@2.1.1",
"author": "Mathias Buus",
"description": "filesystem bindings for tar-stream",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -49198,6 +49266,7 @@
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
"description": "Buffer List: collect buffers and access with a standard readable Buffer interface, streamable too!",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -49248,6 +49317,7 @@
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
"author": "Isaac Z. Schlueter",
"description": "like `chown -R`",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -49297,6 +49367,7 @@
"version": "3.6.1",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.1",
"description": "Streams3, a user-land copy of the stream library from Node.js",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -49347,6 +49418,7 @@
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
"author": "Mathias Buus",
"description": "tar-stream is a streaming tar parser and generator and nothing else. It is streams2 and operates purely using streams which means you can easily extract/parse tarballs without ever hitting the file system.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -51384,6 +51456,7 @@
"bom-ref": "uglify-js@3.17.4",
"author": "Mihai Bazon",
"description": "JavaScript parser, mangler/compressor and beautifier toolkit",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -51783,6 +51856,7 @@
"bom-ref": "unique-filename@1.1.1",
"author": "Rebecca Turner",
"description": "Generate a unique filename for use in temporary directories or caches.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -51833,6 +51907,7 @@
"bom-ref": "unique-slug@2.0.2",
"author": "Rebecca Turner",
"description": "Generate a unique character string suitible for use in files and URLs.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -53784,6 +53859,7 @@
"bom-ref": "which-pm-runs@1.1.0",
"author": "Zoltan Kochan",
"description": "Detects what package manager executes the process",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/demo/juice-shop/example-results/flat/bom.1.3.xml b/demo/juice-shop/example-results/flat/bom.1.3.xml
index 94a19ce76..fadfc219c 100644
--- a/demo/juice-shop/example-results/flat/bom.1.3.xml
+++ b/demo/juice-shop/example-results/flat/bom.1.3.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
@@ -273,6 +273,7 @@
promisify
1.1.3
Promisify an entire class or object
+ optional
9364f2d49715a238c9170ae0fd384a8b6ba327b5cd2d868518d07f6d64fdc0647ea123091cc6b9c3e094abaa7fa55aca78d36003ba42a847234a71d5a2a25017
@@ -2849,6 +2850,7 @@
fs
1.1.1
filesystem utilities for the npm cli
+ optional
f0a1b9443d0654fe32744cd19ff23804d0eec43b6a55b39d9bcebbe53e3d3881bf34685a2b4a633d7ed970396f2986c0fae96f54adf3b5f705e2e05d3b1b896d
@@ -2873,6 +2875,7 @@
move-file
1.1.2
move a file (fork of move-file)
+ optional
d5251ffc28361b3183c9a7f5e5a47d4adf535a56fe5ef6d95d6a43c7c60ab3b30bccc1ff0427a8a6ffb2f6fcebce091fca4086b963a54aede66618f6f8541cae
@@ -2908,6 +2911,7 @@
mkdirp
1.0.4
Recursively mkdir, like `mkdir -p`
+ optional
bd5a95650c9fdd62f1d9285dd2a27dc6ebea800c8a3cb022a884c4b6a5b4a08523ce8dcf78f0dde9f5bd885cf7d1e7fb62ca7fa225aa6e1b33786596d93e86cf
@@ -3886,6 +3890,7 @@
agentkeepalive
4.2.1
Missing keepalive http.Agent
+ optional
667e1cc36344a9dfbd7e249558cb1c9e3c90d5af187e8739a016a32dea39c3e6011e00d4704058da14b86294f3ea23797ffdb342292d72e33ab52f31d69f5da4
@@ -3922,6 +3927,7 @@
debug
4.3.4
Lightweight debugging utility for Node.js and the browser
+ optional
3d15851ee494dde0ed4093ef9cd63b25c91eb758f4b793ae3ac1733cfcec7a40f9d9997ca947c520f122b305ea22f1d61951ce817fbb1bfbc234d85e870c5f91
@@ -3958,6 +3964,7 @@
depd
1.1.2
Deprecate all the things
+ optional
ede98f4e5e83a68e894573978cb471724f8594b457e7ce3b70b2849f4d0f2c081cde0da14d9660afe7b8736bfa4294a62de14fde7e72528edfb7a6af04aff98d
@@ -3993,6 +4000,7 @@
ms
2.1.2
Tiny millisecond conversion utility
+ optional
b0690fc7e56332d980e8c5f6ee80381411442c50996784b85ea7863970afebcb53fa36f7be4fd1c9a2963f43d32b25ad98b48cd1bf9a7544c4bdbb353c4687db
@@ -4029,6 +4037,7 @@
aggregate-error
3.1.0
Create an error from multiple errors
+ optional
e08ed3774d6ab96fd1a6871f35ac85745564d6a4aea21d04ec9adb449d7a9c7d351e128543cf0836af5277e9ddef6cea4724a5afd0660c0f3194427abc932b60
@@ -6707,6 +6716,7 @@
cacache
15.3.0
Fast, fault-tolerant, cross-platform, disk-based, data-agnostic, content-addressable cache.
+ optional
555758cd7127f9c9db5e91605ace614d3ece49c7a01d598b849211f147ea9378850fa03a8f98925f52ae0537cd12fe2d749584d8fcc0e88545b5c2c2edf37dc1
@@ -6742,6 +6752,7 @@
mkdirp
1.0.4
Recursively mkdir, like `mkdir -p`
+ optional
bd5a95650c9fdd62f1d9285dd2a27dc6ebea800c8a3cb022a884c4b6a5b4a08523ce8dcf78f0dde9f5bd885cf7d1e7fb62ca7fa225aa6e1b33786596d93e86cf
@@ -7856,6 +7867,7 @@
clean-stack
2.2.0
Clean up error stack traces
+ optional
e1d882f4769313e29100c5a10e1ac63840a0599c687af31ce5396439b32a352b1553ad8f6335d9fd23138f3c8600517562eb20c46712593117061a7408fc10d4
@@ -11504,6 +11516,7 @@
encoding
0.1.13
Convert encodings, uses iconv-lite
+ optional
11305aba8c354f7e58fd664c922a3d8e2334679c631c7989e179a364eab597f757cf796bdac467f3b9c9cb6d11ba9a928751769b71c73d2a7c4a120f409ac9dc
@@ -11540,6 +11553,7 @@
iconv-lite
0.6.3
Convert character encodings in pure javascript.
+ optional
e1f0a4efdc2c84c773329dab1f4eaa5ab244e22a25a8b842507f8e8ae22053ef91074fbde0d9432fcd5ab4eec65f9e6e50ab9ea34b711cdb6f13223a0fb59d33
@@ -11754,6 +11768,7 @@
env-paths
2.2.1
Get paths for storing things like data, config, cache, etc
+ optional
fa1d6590b2a164c4d88e8835544a49346ecd64959cb9cd830e4feab2a49345108e5e22e3790d5dd7fb9dad41a1a8cc5480097028d67471fdaea9a9f918bb92d8
@@ -12678,6 +12693,7 @@
expand-template
2.0.3
Expand placeholders in a template string
+ optional
5d87ee28cbe3e0edf97ffa4e5cb39b9dd211bf243effee8084e0e1f8e2968fd4bde3df291c79ff20cb331fe82dd1f04245630d7e4d594a9e71dc089f9a7236be
@@ -15513,6 +15529,7 @@
github-from-package
0.0.0
return the github url from a package.json file
+ optional
4b21f2dd3d6fd8d5179f6f4eb1677198ae91c070febe48f7bfc7a7f00381675c0143f842010e5b0104c3d36916e16f6d529ff7421e89f2bf44be7b62c8298e3b
@@ -18574,6 +18591,7 @@
humanize-ms
1.2.1
transform humanize time to ms
+ optional
165ef4bd8b6c0056ff0b4e8f4d2f5d641a3b8a16aef93bbf0cd0a4fcec8785e6b4ed2f9a78c5a914591469745af1f23e49c65b108f1d7d2c7063b83167d48055
@@ -18825,6 +18843,7 @@
iltorb
2.4.5
Brotli compression/decompression with native bindings
+ optional
10c08c9772e79cd499252e50af1c9998c4da002e3e4c990ce70a03fb16e99bd441fa61580abec2d391851374c4182b154125479a35fedec7f9022c2cca53489d
@@ -18861,6 +18880,7 @@
imurmurhash
0.1.4
An incremental implementation of MurmurHash3
+ optional
2665cc67ac2ebc398b88712697dca4cea3ba97015ba1fd061b822470668435d0910c398c5679f2eece47b0880709b6aad30d8cc8f843aa48535204b62d4d8f1c
@@ -18897,6 +18917,7 @@
indent-string
4.0.0
Indent each line in a string
+ optional
11d0c366ee00d8ec882bb2ebff6cc6fb0e6399bba4d435419c4c11110bc1ceca412640846d16bc1b153596085871a1890a745689b8c35e5abbefd5f5ff2e71c2
@@ -18933,6 +18954,7 @@
infer-owner
1.0.4
Infer the owner of a path based on the owner of its nearest existing parent
+ optional
202963f97cfde3e77b8ab1f9a91c9f2689ce75f4f3b836a27c4e993d67f1d0dd3efc04d909bb933eada9ac5979dbabab91077dd16c942888750df050da1333f4
@@ -20155,6 +20177,7 @@
is-lambda
1.0.1
Detect if your code is running on an AWS Lambda server
+ optional
cfb08c14636b10dab988507d06aa3ae1793a63db20f9ea6ad66c8871d1da1a76cc4d83b1bf3b04b5d62a414ca507b2f17e4be0aeb8cfdf64fa6307228a8f5421
@@ -23069,6 +23092,7 @@
make-fetch-happen
9.1.0
Opinionated, caching, retrying fetch client
+ optional
fb3a29c03cbb0cd9279b03d0a657a6e650195ff7823b34af48d35c48a9b9795c1390e073a24b447d7b1af4bdb727f188461c51b1ac7390f121ac91291361781a
@@ -23106,6 +23130,7 @@
once
1.1.2
Creates a Promise that waits for a single event
+ optional
45bcc9be5373991ab97373b4f548a97ae5e7a38b40d4513a8a43a3c592b4b6ec55bf7e35da5eb8979b755b9a63e3eac9abdbe9926fe4c22474eda6579ec28fc7
@@ -23142,6 +23167,7 @@
debug
4.3.4
Lightweight debugging utility for Node.js and the browser
+ optional
3d15851ee494dde0ed4093ef9cd63b25c91eb758f4b793ae3ac1733cfcec7a40f9d9997ca947c520f122b305ea22f1d61951ce817fbb1bfbc234d85e870c5f91
@@ -23178,6 +23204,7 @@
http-cache-semantics
4.1.1
Parses Cache-Control and other headers. Helps building correct HTTP caches and proxies
+ optional
7abdbde4328f56c57cda3e64c351a3b7e00303f5d81ec6a397cd9c18d406d9eca83e4be05215fe9c32327a5ce12166dbb173f7f441dc23a979b58b36158a985d
@@ -23214,6 +23241,7 @@
http-proxy-agent
4.0.1
An HTTP(s) proxy `http.Agent` implementation for HTTP
+ optional
934cdd360a964c603a69e211569bdf5686f87cbe767537da7a1ca583463852f4b24af3aafd8f813b23eb82952b03b1f296abd4f2f2191ac46e5e6b29b245744e
@@ -23249,6 +23277,7 @@
ms
2.1.2
Tiny millisecond conversion utility
+ optional
b0690fc7e56332d980e8c5f6ee80381411442c50996784b85ea7863970afebcb53fa36f7be4fd1c9a2963f43d32b25ad98b48cd1bf9a7544c4bdbb353c4687db
@@ -24001,6 +24030,7 @@
minipass-collect
1.0.2
A Minipass stream that collects all the data into a single chunk
+ optional
e93ea51f41fc386f642139bf266ead768a086e8806f5ed2d2e0a58ea6a615d29bf03dbbc36ad6bc811be42ca62b9bf4b8d69413ec3d2ded590fc1a2dab815dc4
@@ -24024,6 +24054,7 @@
minipass-fetch
1.4.1
An implementation of window.fetch in Node.js using Minipass streams
+ optional
0861f579b94bab6e98d79f80ce4edecb8c61d09fd77c97eb0a8c792c32622aa2364368b038b38aae598868e0e24904bc775f236a517acb62b678f526d0299287
@@ -24060,6 +24091,7 @@
minipass-flush
1.0.5
A Minipass stream that calls a flush function before emitting 'end'
+ optional
266412618a4f52a5f92729f5997691c0e75ad6e43c1cfe4a013fe80d22c2cedd41611850534fe10edb01d6e7d97c4133319f5a0159ac070f3e156b085e50a55b
@@ -24096,6 +24128,7 @@
minipass-pipeline
1.2.4
create a pipeline of streams using Minipass
+ optional
c6e22aedc20eb74f513d1275f60762e1bf9188dbc31587b9247fa080dbc1a86aa941772bbb73dc466399b8704a58ad53c5ff7e710f8731537877acf8e8b64fec
@@ -24120,6 +24153,7 @@
minipass-sized
1.0.3
A Minipass stream that raises an error if you get a different number of bytes than expected
+ optional
31b9104360938813250360e6ff9718fbd49614437ca73cce5e2eab94ce57c6ad18a9b75ae59432f6c53be5aebbdc513d64ad19b1bafa63988feaef6792d7e0da
@@ -24264,6 +24298,7 @@
mkdirp-classic
0.5.3
Mirror of mkdirp 0.5.2
+ optional
80a2dc444321b6e651c1101fa8fdd1156f932b826a029541b4e21fb55823b8006902da7184f19a0dc7ef6e136f0f407c883d6852bfedc57df936371a63a36cfc
@@ -24619,6 +24654,7 @@
nan
2.17.0
Native Abstractions for Node.js: C++ header for Node 0.8 -> 18 compatibility
+ optional
d994e0b65d2726c3b42900a3129c5c22be43f98bfdd299538ad66df4905f42f5490d2e6c78c97714ebec877fbd0a86165dfff597939a673cc5ea70e6e1c6a069
@@ -24691,6 +24727,7 @@
napi-build-utils
1.0.2
A set of utilities to assist developers of tools that build N-API native add-ons
+ optional
38d99152a2bbce3ec3597d03f400ded37c1bc0e059c4d01f176d0f9467c2590703dfefcc6a44a1207accab1f58c0f4dfc43745d732de2fe44666247d90630b76
@@ -24904,6 +24941,7 @@
node-abi
2.30.1
Get the Node ABI for a given target and runtime, and vice versa.
+ optional
ff60f4c0e40f81a516cd5495811331fadaca2510b6506e1251ce28089a17c7d5318eda74572dff92def371bc4717cf99fe92b7525a0b5b30484a0ef66eb7f2d7
@@ -24939,6 +24977,7 @@
semver
5.7.1
The semantic version parser used by npm.
+ optional
b1ab9a0dffcf65d560acb4cd60746da576b589188a71a79b88a435049769425587da50af7b141d5f9e6c9cf1722bb433a6e76a6c2234a9715f39ab0777234319
@@ -25046,6 +25085,7 @@
node-gyp
8.4.1
Node.js native addon build tool
+ optional
a254c946052d01bfe13971b413ddf0643b3962226581b5f14f0400147c8d951b1742763351a17668682e8d96f0fa147c685e191bfad24f9edb58c583d7a8ebf7
@@ -25082,6 +25122,7 @@
ansi-regex
5.0.1
Regular expression for matching ANSI escape codes
+ optional
aae2505e54d25062f62c7f52517a3c570b18e2ca1a9e1828e8b3529bce04d4b05c13cb373b4c29762473c91f73fd9649325316bf7eea38e6fda5d26531410a15
@@ -25118,6 +25159,7 @@
are-we-there-yet
3.0.1
Keep track of the overall completion of many disparate processes
+ optional
4195b8103986c2562eaf46327ff6f6b86b9c1d031af1a1543fb7aef5d751ef7bef845cade15d159774073dc4cd27c97aa9838177181776705742b1e295f45006
@@ -25154,6 +25196,7 @@
gauge
4.0.4
A terminal based horizontal gauge
+ optional
7fd9be0443798e483a6b47d98e57a2763379d551355fe98f150d83274bafd55dfda022c26ec19eeb28db067a7b78aef3ffe180a27f7d6b79c7baa6eebad8723e
@@ -25190,6 +25233,7 @@
is-fullwidth-code-point
3.0.0
Check if the character represented by a given Unicode code point is fullwidth
+ optional
cf29a6e7ebbeb02b125b20fda8d69e8d5dc316f84229c94a762cd868952e1c0f3744b8dbee74ae1a775d0871afd2193e298ec130096c59e2b851e83a115e9742
@@ -25226,6 +25270,7 @@
nopt
5.0.0
Option parsing for Node, supporting types, shorthands, etc. Used by npm.
+ optional
4db8faeeb7dfa9c79e2e97115eb4fbbca00df02c1f3de20180cec4ea206498a2d5edb10cc291a060b1afd2300252c10269afefbb13f42231289edeae99d320b5
@@ -25262,6 +25307,7 @@
npmlog
6.0.2
logger for npm
+ optional
fef06fcf925fafd753fda15677414845ff93fd0d9606c2c437281468552ab2daacc9c99900ffede41bc52532b4be2166494c6250a4d4a655b2e6fb7eaef288c6
@@ -25297,6 +25343,7 @@
readable-stream
3.6.1
Streams3, a user-land copy of the stream library from Node.js
+ optional
fab426ad6318180f74c9e9e14d8b0b580b0bb2a542f28b0ec3a3ca1351c36223b481d3de29eff10c7373200227e02f75610ea87a71217d8aaa735f3cdea1db8d
@@ -25333,6 +25380,7 @@
string-width
4.2.3
Get the visual width of a string - the number of columns required to display it
+ optional
c0ac90450a63274b08a7ad84ad265d1ac8cc256b1aa79a1136284786ee86ec954effd8c807a5327af2feb57b8eaab9e0f23fdcc4a4d6c96530bd24eb8a2673fe
@@ -25369,6 +25417,7 @@
strip-ansi
6.0.1
Strip ANSI escape codes from a string
+ optional
637f153d21dcaa416b0a916743dbee4979aabaebf9a1738aa46793e9a1abaf7a3719cf409556ba2417d448e0a76f1186645fbfd28a08ecaacfb944b3b54754e4
@@ -25799,6 +25848,7 @@
noop-logger
0.1.1
A logger that does exactly nothing.
+ optional
ea433c08b5efb96e5cad3c6c02dbdad982eb46b0da89322421e3d6b3d9a82c7a9b1564fde16a4d163c12ff975f2df1028398bf9649b0ddaa2a562771b76dd311
@@ -27453,6 +27503,7 @@
p-map
4.0.0
Map over promises concurrently
+ optional
fdb8ceaa68044c1601e41a0478655e6bc766bc76f69bd18bcb513d5b8df27b27cfe9040264614d6be5d171e244b8307aceaafe80aa4802694b79b329ca4c3f31
@@ -28416,6 +28467,7 @@
prebuild-install
5.3.6
A command line tool to easily install prebuilt binaries for multiple version of node/iojs on a specific platform
+ optional
b3c01a8bcfbe4101a2e2c49bb3f335424bbad8f14ae3d266d426e05e4946cf89e61ef783ab4c3326483b35ae506e73b5b8d1fc2bb8aac76110fe65743191263a
@@ -28632,6 +28684,7 @@
promise-inflight
1.0.1
One promise for multiple requests in flight to avoid async duplication
+ optional
eb358fc8438569004961c18c1c1293289deee9306c9cc14e21949ae9c7b57bf66baec3a59c74476da6cc8cb88160aa7e9f8e17f5e508e9550f6ae9025c7b86e2
@@ -28668,6 +28721,7 @@
promise-retry
2.0.1
Retries a function that returns a promise, leveraging the power of the retry module.
+ optional
cbe58a165051f011979ec3652071463d99b20dfdc314ca0b85a7e5027c99815eab1bac6ef89c1eb13a3643d47a5f0626b66c001429009377b7e6311da1e87fde
@@ -28704,6 +28758,7 @@
err-code
2.0.3
Create an error with a code
+ optional
d9b9a546934a0714ff09198f3a5c88490a4d8fea92798bdcca6fee4f4271d9b30e94a2ed4b2d5998bb95c5210a2b2a2bfcde7286fa7f6621b5a04dc311831214
@@ -28740,6 +28795,7 @@
retry
0.12.0
Abstraction for exponential and custom retry strategies for failed operations.
+ optional
f4b9224f08d487aad3e79e43b44f6b4d7f81281c8f7eb333100b67944b5d130af73647dfc228a1a9ed9b5800e0f8e4118edf6097a20276607f6450c2180b52a3
@@ -32465,6 +32521,7 @@
simple-concat
1.0.1
Super-minimalist version of `concat-stream`. Less than 15 lines!
+ optional
71216d00fb518658efebd20ad214d5650f8e7c4f6778f8bfaed266c395231de57256ba04a895cfd6c173b4a532d6a53ec6fcf7bbfb1f6092daf78edbee700dd9
@@ -32501,6 +32558,7 @@
simple-get
3.1.1
Simplest way to make http get requests. Supports HTTPS, redirects, gzip/deflate, streams in < 100 lines.
+ optional
090e4b4ca19f0a9bc4d4ad27daeb3e92e30f6e4fead042a5f36b386a1795f685e3144cfa5bf63ba1015526e53a406efb8514f81a16f945446d785e6f9d68eea4
@@ -32537,6 +32595,7 @@
decompress-response
4.2.1
Decompress a HTTP response if needed
+ optional
8ce4a77b6a9bc84fbfafc1b5554f86ffcd8b06cd85b382c0b1388b48738238c65097638a67a8bc8b82321de9937beff22173ad4dc4503333dc832868165a8f93
@@ -32573,6 +32632,7 @@
mimic-response
2.1.0
Mimic a Node.js HTTP response stream
+ optional
c17aa3493f922eded1d34f72482825581085a635328260887c3efdd3f9156e21a65207d81ae075e0f8937790f0571495e0d7181e3ccc9288f92e3419c1340b10
@@ -32717,6 +32777,7 @@
smart-buffer
4.2.0
smart-buffer is a Buffer wrapper that adds automatic read & write offset tracking, string operations, data insertions, and more.
+ optional
f7884ad0787cacfa90976c577371ec681a0e5ca576d0c4e83e4717bf06c84962c4b3eeb8b01ab9905827da42431dbd4faf2f72acfd1dc6b088f5145c8bb4572a
@@ -33540,6 +33601,7 @@
socks-proxy-agent
6.2.1
A SOCKS proxy `http.Agent` implementation for HTTP and HTTPS
+ optional
6ba296f46fba0779d6675c81f06ee92702f78202f2d6e4f32808026fbb6d6e5c2a773f5f306254b93cb7b85cc43f8f0502cf452c82e59b30e513624985541a5d
@@ -33576,6 +33638,7 @@
debug
4.3.4
Lightweight debugging utility for Node.js and the browser
+ optional
3d15851ee494dde0ed4093ef9cd63b25c91eb758f4b793ae3ac1733cfcec7a40f9d9997ca947c520f122b305ea22f1d61951ce817fbb1bfbc234d85e870c5f91
@@ -33611,6 +33674,7 @@
ms
2.1.2
Tiny millisecond conversion utility
+ optional
b0690fc7e56332d980e8c5f6ee80381411442c50996784b85ea7863970afebcb53fa36f7be4fd1c9a2963f43d32b25ad98b48cd1bf9a7544c4bdbb353c4687db
@@ -33647,6 +33711,7 @@
socks
2.7.1
Fully featured SOCKS proxy client supporting SOCKSv4, SOCKSv4a, and SOCKSv5. Includes Bind and Associate functionality.
+ optional
ee6694672d4deeea3af965445faa6c012c6d36529a3553251902a41bfeb79c40dd2ce58d6e250ca0b2bb5f8b98a0b850b2d6aeef698b81f116717730b1a1db61
@@ -33682,6 +33747,7 @@
Fedor Indutny
ip
2.0.0
+ optional
58a6be5ee2c6d40d51d145a1976fb55d04a2f9f65632c60a7df3194d362c8996940fc936c83023e5ab62993503d93664c8290d11e604e4d845666ba9386b6361
@@ -34293,6 +34359,7 @@
ssri
8.0.1
Standard Subresource Integrity library -- parses, serializes, generates, and verifies integrity metadata according to the SRI spec.
+ optional
f7ba92873cb5022cb1bcf34890b5a81ae6bbc68433ccf8d0d07007e01d2b58aa3b499e944ae3dcad488016bc2cd141fc46b6d69a0ab72cc4ce6e13c81db6c179
@@ -35371,6 +35438,7 @@
tar-fs
2.1.1
filesystem bindings for tar-stream
+ optional
574af663db1c99b0d12c235ec7ffa1633be9ff3c988ef15b1cf36055329f42f56b6fa82e884fdfc4ff976e50cd474d75bada296e47b1da7338747355e860ec9e
@@ -35406,6 +35474,7 @@
bl
4.1.0
Buffer List: collect buffers and access with a standard readable Buffer interface, streamable too!
+ optional
d56d3b70cf604ba0dc2e97ab65f1528fe6d62ed68f1923875a13e21b35e6bd525b44b746f36b07fca9fc12d5b556a595039e0029fda1e64e416e721bc05de1eb
@@ -35442,6 +35511,7 @@
chownr
1.1.4
like `chown -R`
+ optional
8c9d1bab36b296626d567360cd37923acf033dabe96d8804aff6f460bf3fd863b7c4912122716684a3149c42508d9ba62bb297185854cbcf4faec25695a90156
@@ -35477,6 +35547,7 @@
readable-stream
3.6.1
Streams3, a user-land copy of the stream library from Node.js
+ optional
fab426ad6318180f74c9e9e14d8b0b580b0bb2a542f28b0ec3a3ca1351c36223b481d3de29eff10c7373200227e02f75610ea87a71217d8aaa735f3cdea1db8d
@@ -35513,6 +35584,7 @@
tar-stream
2.2.0
tar-stream is a streaming tar parser and generator and nothing else. It is streams2 and operates purely using streams which means you can easily extract/parse tarballs without ever hitting the file system.
+ optional
ba37aa6dc780060c0c6711099e4d870d8d83967519fbda0471bd4acd355f6078a8d1413a746ef59fad1df03d88e2a36f95e5abad7a668e9b7bbd9785d4b9cc65
@@ -36978,6 +37050,7 @@
uglify-js
3.17.4
JavaScript parser, mangler/compressor and beautifier toolkit
+ optional
4fdabcd93248f5efc2d5303162f7dbd7ac4ed76d2d315159ac60377fdfcfe38db80cdbbaca92b5d37cb418f1556b5ef2a2dc12c995b98985e08d81e41ab256fe
@@ -37265,6 +37338,7 @@
unique-filename
1.1.1
Generate a unique filename for use in temporary directories or caches.
+ optional
566a748c8a76967df95135eeaf2be3ce48c6751c9ff5bda54d7b9261488f9b345c977143b58a80c0e9d3264027803f525a19e82730db4cac1a3ab67e493b7135
@@ -37301,6 +37375,7 @@
unique-slug
2.0.2
Generate a unique character string suitible for use in files and URLs.
+ optional
ce85abf4e6dac402c3dc338f7e33d2ab1b787e766259b9711c881e5aa5bcc7b52a0f312d1c440bce38b672e258405094e8a9a826290e600665ad31c779b8f1db
@@ -38704,6 +38779,7 @@
which-pm-runs
1.1.0
Detects what package manager executes the process
+ optional
9f56eb0aea829717c57eafd16f420283d822499a824bea4bb5c71d6a0e82d87cae7c1ae1ddf04e8b2f676fa82044cbd63951f91ab749b248f98864d937177b48
diff --git a/demo/juice-shop/example-results/flat/bom.1.4.json b/demo/juice-shop/example-results/flat/bom.1.4.json
index 810b939a9..6dc92eac0 100644
--- a/demo/juice-shop/example-results/flat/bom.1.4.json
+++ b/demo/juice-shop/example-results/flat/bom.1.4.json
@@ -8,7 +8,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0",
+ "version": "1.13.3",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
@@ -30,7 +30,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0",
+ "version": "1.9.2",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
@@ -409,6 +409,7 @@
"bom-ref": "@gar/promisify@1.1.3",
"author": "Gar",
"description": "Promisify an entire class or object",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -3965,6 +3966,7 @@
"bom-ref": "@npmcli/fs@1.1.1",
"author": "GitHub Inc.",
"description": "filesystem utilities for the npm cli",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4000,6 +4002,7 @@
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
"description": "move a file (fork of move-file)",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4049,6 +4052,7 @@
"version": "1.0.4",
"bom-ref": "@npmcli/move-file@1.1.2|mkdirp@1.0.4",
"description": "Recursively mkdir, like `mkdir -p`",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5405,6 +5409,7 @@
"bom-ref": "agentkeepalive@4.2.1",
"author": "fengmk2",
"description": "Missing keepalive http.Agent",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5455,6 +5460,7 @@
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
"author": "Josh Junon",
"description": "Lightweight debugging utility for Node.js and the browser",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5505,6 +5511,7 @@
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
"author": "Douglas Christopher Wilson",
"description": "Deprecate all the things",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5554,6 +5561,7 @@
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
"description": "Tiny millisecond conversion utility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5604,6 +5612,7 @@
"bom-ref": "aggregate-error@3.1.0",
"author": "Sindre Sorhus",
"description": "Create an error from multiple errors",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9331,6 +9340,7 @@
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
"description": "Fast, fault-tolerant, cross-platform, disk-based, data-agnostic, content-addressable cache.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9380,6 +9390,7 @@
"version": "1.0.4",
"bom-ref": "cacache@15.3.0|mkdirp@1.0.4",
"description": "Recursively mkdir, like `mkdir -p`",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -10928,6 +10939,7 @@
"bom-ref": "clean-stack@2.2.0",
"author": "Sindre Sorhus",
"description": "Clean up error stack traces",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16000,6 +16012,7 @@
"bom-ref": "encoding@0.1.13",
"author": "Andris Reinman",
"description": "Convert encodings, uses iconv-lite",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16050,6 +16063,7 @@
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
"author": "Alexander Shtuchkin",
"description": "Convert character encodings in pure javascript.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16348,6 +16362,7 @@
"bom-ref": "env-paths@2.2.1",
"author": "Sindre Sorhus",
"description": "Get paths for storing things like data, config, cache, etc",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17634,6 +17649,7 @@
"bom-ref": "expand-template@2.0.3",
"author": "LM",
"description": "Expand placeholders in a template string",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -21575,6 +21591,7 @@
"bom-ref": "github-from-package@0.0.0",
"author": "James Halliday",
"description": "return the github url from a package.json file",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25828,6 +25845,7 @@
"bom-ref": "humanize-ms@1.2.1",
"author": "dead-horse",
"description": "transform humanize time to ms",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26177,6 +26195,7 @@
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
"description": "Brotli compression/decompression with native bindings",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26227,6 +26246,7 @@
"bom-ref": "imurmurhash@0.1.4",
"author": "Jens Taylor",
"description": "An incremental implementation of MurmurHash3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26277,6 +26297,7 @@
"bom-ref": "indent-string@4.0.0",
"author": "Sindre Sorhus",
"description": "Indent each line in a string",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26327,6 +26348,7 @@
"bom-ref": "infer-owner@1.0.4",
"author": "Isaac Z. Schlueter",
"description": "Infer the owner of a path based on the owner of its nearest existing parent",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28025,6 +28047,7 @@
"bom-ref": "is-lambda@1.0.1",
"author": "Thomas Watson Steen",
"description": "Detect if your code is running on an AWS Lambda server",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32075,6 +32098,7 @@
"bom-ref": "make-fetch-happen@9.1.0",
"author": "Kat Marchán",
"description": "Opinionated, caching, retrying fetch client",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32126,6 +32150,7 @@
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
"author": "Nathan Rajlich",
"description": "Creates a Promise that waits for a single event",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32176,6 +32201,7 @@
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
"author": "Josh Junon",
"description": "Lightweight debugging utility for Node.js and the browser",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32226,6 +32252,7 @@
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.1",
"author": "Kornel Lesiński",
"description": "Parses Cache-Control and other headers. Helps building correct HTTP caches and proxies",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32276,6 +32303,7 @@
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
"author": "Nathan Rajlich",
"description": "An HTTP(s) proxy `http.Agent` implementation for HTTP",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -32325,6 +32353,7 @@
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
"description": "Tiny millisecond conversion utility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33371,6 +33400,7 @@
"bom-ref": "minipass-collect@1.0.2",
"author": "Isaac Z. Schlueter",
"description": "A Minipass stream that collects all the data into a single chunk",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33405,6 +33435,7 @@
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
"description": "An implementation of window.fetch in Node.js using Minipass streams",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33455,6 +33486,7 @@
"bom-ref": "minipass-flush@1.0.5",
"author": "Isaac Z. Schlueter",
"description": "A Minipass stream that calls a flush function before emitting 'end'",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33505,6 +33537,7 @@
"bom-ref": "minipass-pipeline@1.2.4",
"author": "Isaac Z. Schlueter",
"description": "create a pipeline of streams using Minipass",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33540,6 +33573,7 @@
"bom-ref": "minipass-sized@1.0.3",
"author": "Isaac Z. Schlueter",
"description": "A Minipass stream that raises an error if you get a different number of bytes than expected",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -33740,6 +33774,7 @@
"bom-ref": "mkdirp-classic@0.5.3",
"author": "Mathias Buus",
"description": "Mirror of mkdirp 0.5.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34235,6 +34270,7 @@
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
"description": "Native Abstractions for Node.js: C++ header for Node 0.8 -> 18 compatibility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34335,6 +34371,7 @@
"bom-ref": "napi-build-utils@1.0.2",
"author": "Jim Schlight",
"description": "A set of utilities to assist developers of tools that build N-API native add-ons",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34632,6 +34669,7 @@
"bom-ref": "node-abi@2.30.1",
"author": "Lukas Geiger",
"description": "Get the Node ABI for a given target and runtime, and vice versa.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34681,6 +34719,7 @@
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
"description": "The semantic version parser used by npm.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34830,6 +34869,7 @@
"bom-ref": "node-gyp@8.4.1",
"author": "Nathan Rajlich",
"description": "Node.js native addon build tool",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34880,6 +34920,7 @@
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
"author": "Sindre Sorhus",
"description": "Regular expression for matching ANSI escape codes",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34930,6 +34971,7 @@
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
"author": "GitHub Inc.",
"description": "Keep track of the overall completion of many disparate processes",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -34980,6 +35022,7 @@
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
"author": "GitHub Inc.",
"description": "A terminal based horizontal gauge",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35030,6 +35073,7 @@
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
"author": "Sindre Sorhus",
"description": "Check if the character represented by a given Unicode code point is fullwidth",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35080,6 +35124,7 @@
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
"author": "Isaac Z. Schlueter",
"description": "Option parsing for Node, supporting types, shorthands, etc. Used by npm.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35130,6 +35175,7 @@
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
"author": "GitHub Inc.",
"description": "logger for npm",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35179,6 +35225,7 @@
"version": "3.6.1",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.1",
"description": "Streams3, a user-land copy of the stream library from Node.js",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35229,6 +35276,7 @@
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
"author": "Sindre Sorhus",
"description": "Get the visual width of a string - the number of columns required to display it",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35279,6 +35327,7 @@
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
"author": "Sindre Sorhus",
"description": "Strip ANSI escape codes from a string",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -35877,6 +35926,7 @@
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
"description": "A logger that does exactly nothing.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -38175,6 +38225,7 @@
"bom-ref": "p-map@4.0.0",
"author": "Sindre Sorhus",
"description": "Map over promises concurrently",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39514,6 +39565,7 @@
"bom-ref": "prebuild-install@5.3.6",
"author": "Mathias Buus",
"description": "A command line tool to easily install prebuilt binaries for multiple version of node/iojs on a specific platform",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39814,6 +39866,7 @@
"bom-ref": "promise-inflight@1.0.1",
"author": "Rebecca Turner",
"description": "One promise for multiple requests in flight to avoid async duplication",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39864,6 +39917,7 @@
"bom-ref": "promise-retry@2.0.1",
"author": "IndigoUnited",
"description": "Retries a function that returns a promise, leveraging the power of the retry module.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39914,6 +39968,7 @@
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
"author": "IndigoUnited",
"description": "Create an error with a code",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -39964,6 +40019,7 @@
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
"author": "Tim Koschützki",
"description": "Abstraction for exponential and custom retry strategies for failed operations.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45143,6 +45199,7 @@
"bom-ref": "simple-concat@1.0.1",
"author": "Feross Aboukhadijeh",
"description": "Super-minimalist version of `concat-stream`. Less than 15 lines!",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45193,6 +45250,7 @@
"bom-ref": "simple-get@3.1.1",
"author": "Feross Aboukhadijeh",
"description": "Simplest way to make http get requests. Supports HTTPS, redirects, gzip/deflate, streams in < 100 lines.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45243,6 +45301,7 @@
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
"author": "Sindre Sorhus",
"description": "Decompress a HTTP response if needed",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45293,6 +45352,7 @@
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
"author": "Sindre Sorhus",
"description": "Mimic a Node.js HTTP response stream",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -45493,6 +45553,7 @@
"bom-ref": "smart-buffer@4.2.0",
"author": "Josh Glazebrook",
"description": "smart-buffer is a Buffer wrapper that adds automatic read & write offset tracking, string operations, data insertions, and more.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -46638,6 +46699,7 @@
"bom-ref": "socks-proxy-agent@6.2.1",
"author": "Nathan Rajlich",
"description": "A SOCKS proxy `http.Agent` implementation for HTTP and HTTPS",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -46688,6 +46750,7 @@
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
"author": "Josh Junon",
"description": "Lightweight debugging utility for Node.js and the browser",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -46737,6 +46800,7 @@
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
"description": "Tiny millisecond conversion utility",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -46787,6 +46851,7 @@
"bom-ref": "socks@2.7.1",
"author": "Josh Glazebrook",
"description": "Fully featured SOCKS proxy client supporting SOCKSv4, SOCKSv4a, and SOCKSv5. Includes Bind and Associate functionality.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -46836,6 +46901,7 @@
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
"author": "Fedor Indutny",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -47685,6 +47751,7 @@
"bom-ref": "ssri@8.0.1",
"author": "Kat Marchán",
"description": "Standard Subresource Integrity library -- parses, serializes, generates, and verifies integrity metadata according to the SRI spec.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -49183,6 +49250,7 @@
"bom-ref": "tar-fs@2.1.1",
"author": "Mathias Buus",
"description": "filesystem bindings for tar-stream",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -49232,6 +49300,7 @@
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
"description": "Buffer List: collect buffers and access with a standard readable Buffer interface, streamable too!",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -49282,6 +49351,7 @@
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
"author": "Isaac Z. Schlueter",
"description": "like `chown -R`",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -49331,6 +49401,7 @@
"version": "3.6.1",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.1",
"description": "Streams3, a user-land copy of the stream library from Node.js",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -49381,6 +49452,7 @@
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
"author": "Mathias Buus",
"description": "tar-stream is a streaming tar parser and generator and nothing else. It is streams2 and operates purely using streams which means you can easily extract/parse tarballs without ever hitting the file system.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -51418,6 +51490,7 @@
"bom-ref": "uglify-js@3.17.4",
"author": "Mihai Bazon",
"description": "JavaScript parser, mangler/compressor and beautifier toolkit",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -51817,6 +51890,7 @@
"bom-ref": "unique-filename@1.1.1",
"author": "Rebecca Turner",
"description": "Generate a unique filename for use in temporary directories or caches.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -51867,6 +51941,7 @@
"bom-ref": "unique-slug@2.0.2",
"author": "Rebecca Turner",
"description": "Generate a unique character string suitible for use in files and URLs.",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -53818,6 +53893,7 @@
"bom-ref": "which-pm-runs@1.1.0",
"author": "Zoltan Kochan",
"description": "Detects what package manager executes the process",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/demo/juice-shop/example-results/flat/bom.1.4.xml b/demo/juice-shop/example-results/flat/bom.1.4.xml
index 2fed96cf7..40f5a6570 100644
--- a/demo/juice-shop/example-results/flat/bom.1.4.xml
+++ b/demo/juice-shop/example-results/flat/bom.1.4.xml
@@ -5,7 +5,7 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
https://github.com/CycloneDX/cyclonedx-javascript-library/issues
@@ -24,7 +24,7 @@
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
https://github.com/CycloneDX/cyclonedx-node-npm/issues
@@ -301,6 +301,7 @@
promisify
1.1.3
Promisify an entire class or object
+ optional
9364f2d49715a238c9170ae0fd384a8b6ba327b5cd2d868518d07f6d64fdc0647ea123091cc6b9c3e094abaa7fa55aca78d36003ba42a847234a71d5a2a25017
@@ -2877,6 +2878,7 @@
fs
1.1.1
filesystem utilities for the npm cli
+ optional
f0a1b9443d0654fe32744cd19ff23804d0eec43b6a55b39d9bcebbe53e3d3881bf34685a2b4a633d7ed970396f2986c0fae96f54adf3b5f705e2e05d3b1b896d
@@ -2901,6 +2903,7 @@
move-file
1.1.2
move a file (fork of move-file)
+ optional
d5251ffc28361b3183c9a7f5e5a47d4adf535a56fe5ef6d95d6a43c7c60ab3b30bccc1ff0427a8a6ffb2f6fcebce091fca4086b963a54aede66618f6f8541cae
@@ -2936,6 +2939,7 @@
mkdirp
1.0.4
Recursively mkdir, like `mkdir -p`
+ optional
bd5a95650c9fdd62f1d9285dd2a27dc6ebea800c8a3cb022a884c4b6a5b4a08523ce8dcf78f0dde9f5bd885cf7d1e7fb62ca7fa225aa6e1b33786596d93e86cf
@@ -3914,6 +3918,7 @@
agentkeepalive
4.2.1
Missing keepalive http.Agent
+ optional
667e1cc36344a9dfbd7e249558cb1c9e3c90d5af187e8739a016a32dea39c3e6011e00d4704058da14b86294f3ea23797ffdb342292d72e33ab52f31d69f5da4
@@ -3950,6 +3955,7 @@
debug
4.3.4
Lightweight debugging utility for Node.js and the browser
+ optional
3d15851ee494dde0ed4093ef9cd63b25c91eb758f4b793ae3ac1733cfcec7a40f9d9997ca947c520f122b305ea22f1d61951ce817fbb1bfbc234d85e870c5f91
@@ -3986,6 +3992,7 @@
depd
1.1.2
Deprecate all the things
+ optional
ede98f4e5e83a68e894573978cb471724f8594b457e7ce3b70b2849f4d0f2c081cde0da14d9660afe7b8736bfa4294a62de14fde7e72528edfb7a6af04aff98d
@@ -4021,6 +4028,7 @@
ms
2.1.2
Tiny millisecond conversion utility
+ optional
b0690fc7e56332d980e8c5f6ee80381411442c50996784b85ea7863970afebcb53fa36f7be4fd1c9a2963f43d32b25ad98b48cd1bf9a7544c4bdbb353c4687db
@@ -4057,6 +4065,7 @@
aggregate-error
3.1.0
Create an error from multiple errors
+ optional
e08ed3774d6ab96fd1a6871f35ac85745564d6a4aea21d04ec9adb449d7a9c7d351e128543cf0836af5277e9ddef6cea4724a5afd0660c0f3194427abc932b60
@@ -6735,6 +6744,7 @@
cacache
15.3.0
Fast, fault-tolerant, cross-platform, disk-based, data-agnostic, content-addressable cache.
+ optional
555758cd7127f9c9db5e91605ace614d3ece49c7a01d598b849211f147ea9378850fa03a8f98925f52ae0537cd12fe2d749584d8fcc0e88545b5c2c2edf37dc1
@@ -6770,6 +6780,7 @@
mkdirp
1.0.4
Recursively mkdir, like `mkdir -p`
+ optional
bd5a95650c9fdd62f1d9285dd2a27dc6ebea800c8a3cb022a884c4b6a5b4a08523ce8dcf78f0dde9f5bd885cf7d1e7fb62ca7fa225aa6e1b33786596d93e86cf
@@ -7884,6 +7895,7 @@
clean-stack
2.2.0
Clean up error stack traces
+ optional
e1d882f4769313e29100c5a10e1ac63840a0599c687af31ce5396439b32a352b1553ad8f6335d9fd23138f3c8600517562eb20c46712593117061a7408fc10d4
@@ -11532,6 +11544,7 @@
encoding
0.1.13
Convert encodings, uses iconv-lite
+ optional
11305aba8c354f7e58fd664c922a3d8e2334679c631c7989e179a364eab597f757cf796bdac467f3b9c9cb6d11ba9a928751769b71c73d2a7c4a120f409ac9dc
@@ -11568,6 +11581,7 @@
iconv-lite
0.6.3
Convert character encodings in pure javascript.
+ optional
e1f0a4efdc2c84c773329dab1f4eaa5ab244e22a25a8b842507f8e8ae22053ef91074fbde0d9432fcd5ab4eec65f9e6e50ab9ea34b711cdb6f13223a0fb59d33
@@ -11782,6 +11796,7 @@
env-paths
2.2.1
Get paths for storing things like data, config, cache, etc
+ optional
fa1d6590b2a164c4d88e8835544a49346ecd64959cb9cd830e4feab2a49345108e5e22e3790d5dd7fb9dad41a1a8cc5480097028d67471fdaea9a9f918bb92d8
@@ -12706,6 +12721,7 @@
expand-template
2.0.3
Expand placeholders in a template string
+ optional
5d87ee28cbe3e0edf97ffa4e5cb39b9dd211bf243effee8084e0e1f8e2968fd4bde3df291c79ff20cb331fe82dd1f04245630d7e4d594a9e71dc089f9a7236be
@@ -15541,6 +15557,7 @@
github-from-package
0.0.0
return the github url from a package.json file
+ optional
4b21f2dd3d6fd8d5179f6f4eb1677198ae91c070febe48f7bfc7a7f00381675c0143f842010e5b0104c3d36916e16f6d529ff7421e89f2bf44be7b62c8298e3b
@@ -18602,6 +18619,7 @@
humanize-ms
1.2.1
transform humanize time to ms
+ optional
165ef4bd8b6c0056ff0b4e8f4d2f5d641a3b8a16aef93bbf0cd0a4fcec8785e6b4ed2f9a78c5a914591469745af1f23e49c65b108f1d7d2c7063b83167d48055
@@ -18853,6 +18871,7 @@
iltorb
2.4.5
Brotli compression/decompression with native bindings
+ optional
10c08c9772e79cd499252e50af1c9998c4da002e3e4c990ce70a03fb16e99bd441fa61580abec2d391851374c4182b154125479a35fedec7f9022c2cca53489d
@@ -18889,6 +18908,7 @@
imurmurhash
0.1.4
An incremental implementation of MurmurHash3
+ optional
2665cc67ac2ebc398b88712697dca4cea3ba97015ba1fd061b822470668435d0910c398c5679f2eece47b0880709b6aad30d8cc8f843aa48535204b62d4d8f1c
@@ -18925,6 +18945,7 @@
indent-string
4.0.0
Indent each line in a string
+ optional
11d0c366ee00d8ec882bb2ebff6cc6fb0e6399bba4d435419c4c11110bc1ceca412640846d16bc1b153596085871a1890a745689b8c35e5abbefd5f5ff2e71c2
@@ -18961,6 +18982,7 @@
infer-owner
1.0.4
Infer the owner of a path based on the owner of its nearest existing parent
+ optional
202963f97cfde3e77b8ab1f9a91c9f2689ce75f4f3b836a27c4e993d67f1d0dd3efc04d909bb933eada9ac5979dbabab91077dd16c942888750df050da1333f4
@@ -20183,6 +20205,7 @@
is-lambda
1.0.1
Detect if your code is running on an AWS Lambda server
+ optional
cfb08c14636b10dab988507d06aa3ae1793a63db20f9ea6ad66c8871d1da1a76cc4d83b1bf3b04b5d62a414ca507b2f17e4be0aeb8cfdf64fa6307228a8f5421
@@ -23097,6 +23120,7 @@
make-fetch-happen
9.1.0
Opinionated, caching, retrying fetch client
+ optional
fb3a29c03cbb0cd9279b03d0a657a6e650195ff7823b34af48d35c48a9b9795c1390e073a24b447d7b1af4bdb727f188461c51b1ac7390f121ac91291361781a
@@ -23134,6 +23158,7 @@
once
1.1.2
Creates a Promise that waits for a single event
+ optional
45bcc9be5373991ab97373b4f548a97ae5e7a38b40d4513a8a43a3c592b4b6ec55bf7e35da5eb8979b755b9a63e3eac9abdbe9926fe4c22474eda6579ec28fc7
@@ -23170,6 +23195,7 @@
debug
4.3.4
Lightweight debugging utility for Node.js and the browser
+ optional
3d15851ee494dde0ed4093ef9cd63b25c91eb758f4b793ae3ac1733cfcec7a40f9d9997ca947c520f122b305ea22f1d61951ce817fbb1bfbc234d85e870c5f91
@@ -23206,6 +23232,7 @@
http-cache-semantics
4.1.1
Parses Cache-Control and other headers. Helps building correct HTTP caches and proxies
+ optional
7abdbde4328f56c57cda3e64c351a3b7e00303f5d81ec6a397cd9c18d406d9eca83e4be05215fe9c32327a5ce12166dbb173f7f441dc23a979b58b36158a985d
@@ -23242,6 +23269,7 @@
http-proxy-agent
4.0.1
An HTTP(s) proxy `http.Agent` implementation for HTTP
+ optional
934cdd360a964c603a69e211569bdf5686f87cbe767537da7a1ca583463852f4b24af3aafd8f813b23eb82952b03b1f296abd4f2f2191ac46e5e6b29b245744e
@@ -23277,6 +23305,7 @@
ms
2.1.2
Tiny millisecond conversion utility
+ optional
b0690fc7e56332d980e8c5f6ee80381411442c50996784b85ea7863970afebcb53fa36f7be4fd1c9a2963f43d32b25ad98b48cd1bf9a7544c4bdbb353c4687db
@@ -24029,6 +24058,7 @@
minipass-collect
1.0.2
A Minipass stream that collects all the data into a single chunk
+ optional
e93ea51f41fc386f642139bf266ead768a086e8806f5ed2d2e0a58ea6a615d29bf03dbbc36ad6bc811be42ca62b9bf4b8d69413ec3d2ded590fc1a2dab815dc4
@@ -24052,6 +24082,7 @@
minipass-fetch
1.4.1
An implementation of window.fetch in Node.js using Minipass streams
+ optional
0861f579b94bab6e98d79f80ce4edecb8c61d09fd77c97eb0a8c792c32622aa2364368b038b38aae598868e0e24904bc775f236a517acb62b678f526d0299287
@@ -24088,6 +24119,7 @@
minipass-flush
1.0.5
A Minipass stream that calls a flush function before emitting 'end'
+ optional
266412618a4f52a5f92729f5997691c0e75ad6e43c1cfe4a013fe80d22c2cedd41611850534fe10edb01d6e7d97c4133319f5a0159ac070f3e156b085e50a55b
@@ -24124,6 +24156,7 @@
minipass-pipeline
1.2.4
create a pipeline of streams using Minipass
+ optional
c6e22aedc20eb74f513d1275f60762e1bf9188dbc31587b9247fa080dbc1a86aa941772bbb73dc466399b8704a58ad53c5ff7e710f8731537877acf8e8b64fec
@@ -24148,6 +24181,7 @@
minipass-sized
1.0.3
A Minipass stream that raises an error if you get a different number of bytes than expected
+ optional
31b9104360938813250360e6ff9718fbd49614437ca73cce5e2eab94ce57c6ad18a9b75ae59432f6c53be5aebbdc513d64ad19b1bafa63988feaef6792d7e0da
@@ -24292,6 +24326,7 @@
mkdirp-classic
0.5.3
Mirror of mkdirp 0.5.2
+ optional
80a2dc444321b6e651c1101fa8fdd1156f932b826a029541b4e21fb55823b8006902da7184f19a0dc7ef6e136f0f407c883d6852bfedc57df936371a63a36cfc
@@ -24647,6 +24682,7 @@
nan
2.17.0
Native Abstractions for Node.js: C++ header for Node 0.8 -> 18 compatibility
+ optional
d994e0b65d2726c3b42900a3129c5c22be43f98bfdd299538ad66df4905f42f5490d2e6c78c97714ebec877fbd0a86165dfff597939a673cc5ea70e6e1c6a069
@@ -24719,6 +24755,7 @@
napi-build-utils
1.0.2
A set of utilities to assist developers of tools that build N-API native add-ons
+ optional
38d99152a2bbce3ec3597d03f400ded37c1bc0e059c4d01f176d0f9467c2590703dfefcc6a44a1207accab1f58c0f4dfc43745d732de2fe44666247d90630b76
@@ -24932,6 +24969,7 @@
node-abi
2.30.1
Get the Node ABI for a given target and runtime, and vice versa.
+ optional
ff60f4c0e40f81a516cd5495811331fadaca2510b6506e1251ce28089a17c7d5318eda74572dff92def371bc4717cf99fe92b7525a0b5b30484a0ef66eb7f2d7
@@ -24967,6 +25005,7 @@
semver
5.7.1
The semantic version parser used by npm.
+ optional
b1ab9a0dffcf65d560acb4cd60746da576b589188a71a79b88a435049769425587da50af7b141d5f9e6c9cf1722bb433a6e76a6c2234a9715f39ab0777234319
@@ -25074,6 +25113,7 @@
node-gyp
8.4.1
Node.js native addon build tool
+ optional
a254c946052d01bfe13971b413ddf0643b3962226581b5f14f0400147c8d951b1742763351a17668682e8d96f0fa147c685e191bfad24f9edb58c583d7a8ebf7
@@ -25110,6 +25150,7 @@
ansi-regex
5.0.1
Regular expression for matching ANSI escape codes
+ optional
aae2505e54d25062f62c7f52517a3c570b18e2ca1a9e1828e8b3529bce04d4b05c13cb373b4c29762473c91f73fd9649325316bf7eea38e6fda5d26531410a15
@@ -25146,6 +25187,7 @@
are-we-there-yet
3.0.1
Keep track of the overall completion of many disparate processes
+ optional
4195b8103986c2562eaf46327ff6f6b86b9c1d031af1a1543fb7aef5d751ef7bef845cade15d159774073dc4cd27c97aa9838177181776705742b1e295f45006
@@ -25182,6 +25224,7 @@
gauge
4.0.4
A terminal based horizontal gauge
+ optional
7fd9be0443798e483a6b47d98e57a2763379d551355fe98f150d83274bafd55dfda022c26ec19eeb28db067a7b78aef3ffe180a27f7d6b79c7baa6eebad8723e
@@ -25218,6 +25261,7 @@
is-fullwidth-code-point
3.0.0
Check if the character represented by a given Unicode code point is fullwidth
+ optional
cf29a6e7ebbeb02b125b20fda8d69e8d5dc316f84229c94a762cd868952e1c0f3744b8dbee74ae1a775d0871afd2193e298ec130096c59e2b851e83a115e9742
@@ -25254,6 +25298,7 @@
nopt
5.0.0
Option parsing for Node, supporting types, shorthands, etc. Used by npm.
+ optional
4db8faeeb7dfa9c79e2e97115eb4fbbca00df02c1f3de20180cec4ea206498a2d5edb10cc291a060b1afd2300252c10269afefbb13f42231289edeae99d320b5
@@ -25290,6 +25335,7 @@
npmlog
6.0.2
logger for npm
+ optional
fef06fcf925fafd753fda15677414845ff93fd0d9606c2c437281468552ab2daacc9c99900ffede41bc52532b4be2166494c6250a4d4a655b2e6fb7eaef288c6
@@ -25325,6 +25371,7 @@
readable-stream
3.6.1
Streams3, a user-land copy of the stream library from Node.js
+ optional
fab426ad6318180f74c9e9e14d8b0b580b0bb2a542f28b0ec3a3ca1351c36223b481d3de29eff10c7373200227e02f75610ea87a71217d8aaa735f3cdea1db8d
@@ -25361,6 +25408,7 @@
string-width
4.2.3
Get the visual width of a string - the number of columns required to display it
+ optional
c0ac90450a63274b08a7ad84ad265d1ac8cc256b1aa79a1136284786ee86ec954effd8c807a5327af2feb57b8eaab9e0f23fdcc4a4d6c96530bd24eb8a2673fe
@@ -25397,6 +25445,7 @@
strip-ansi
6.0.1
Strip ANSI escape codes from a string
+ optional
637f153d21dcaa416b0a916743dbee4979aabaebf9a1738aa46793e9a1abaf7a3719cf409556ba2417d448e0a76f1186645fbfd28a08ecaacfb944b3b54754e4
@@ -25827,6 +25876,7 @@
noop-logger
0.1.1
A logger that does exactly nothing.
+ optional
ea433c08b5efb96e5cad3c6c02dbdad982eb46b0da89322421e3d6b3d9a82c7a9b1564fde16a4d163c12ff975f2df1028398bf9649b0ddaa2a562771b76dd311
@@ -27481,6 +27531,7 @@
p-map
4.0.0
Map over promises concurrently
+ optional
fdb8ceaa68044c1601e41a0478655e6bc766bc76f69bd18bcb513d5b8df27b27cfe9040264614d6be5d171e244b8307aceaafe80aa4802694b79b329ca4c3f31
@@ -28444,6 +28495,7 @@
prebuild-install
5.3.6
A command line tool to easily install prebuilt binaries for multiple version of node/iojs on a specific platform
+ optional
b3c01a8bcfbe4101a2e2c49bb3f335424bbad8f14ae3d266d426e05e4946cf89e61ef783ab4c3326483b35ae506e73b5b8d1fc2bb8aac76110fe65743191263a
@@ -28660,6 +28712,7 @@
promise-inflight
1.0.1
One promise for multiple requests in flight to avoid async duplication
+ optional
eb358fc8438569004961c18c1c1293289deee9306c9cc14e21949ae9c7b57bf66baec3a59c74476da6cc8cb88160aa7e9f8e17f5e508e9550f6ae9025c7b86e2
@@ -28696,6 +28749,7 @@
promise-retry
2.0.1
Retries a function that returns a promise, leveraging the power of the retry module.
+ optional
cbe58a165051f011979ec3652071463d99b20dfdc314ca0b85a7e5027c99815eab1bac6ef89c1eb13a3643d47a5f0626b66c001429009377b7e6311da1e87fde
@@ -28732,6 +28786,7 @@
err-code
2.0.3
Create an error with a code
+ optional
d9b9a546934a0714ff09198f3a5c88490a4d8fea92798bdcca6fee4f4271d9b30e94a2ed4b2d5998bb95c5210a2b2a2bfcde7286fa7f6621b5a04dc311831214
@@ -28768,6 +28823,7 @@
retry
0.12.0
Abstraction for exponential and custom retry strategies for failed operations.
+ optional
f4b9224f08d487aad3e79e43b44f6b4d7f81281c8f7eb333100b67944b5d130af73647dfc228a1a9ed9b5800e0f8e4118edf6097a20276607f6450c2180b52a3
@@ -32493,6 +32549,7 @@
simple-concat
1.0.1
Super-minimalist version of `concat-stream`. Less than 15 lines!
+ optional
71216d00fb518658efebd20ad214d5650f8e7c4f6778f8bfaed266c395231de57256ba04a895cfd6c173b4a532d6a53ec6fcf7bbfb1f6092daf78edbee700dd9
@@ -32529,6 +32586,7 @@
simple-get
3.1.1
Simplest way to make http get requests. Supports HTTPS, redirects, gzip/deflate, streams in < 100 lines.
+ optional
090e4b4ca19f0a9bc4d4ad27daeb3e92e30f6e4fead042a5f36b386a1795f685e3144cfa5bf63ba1015526e53a406efb8514f81a16f945446d785e6f9d68eea4
@@ -32565,6 +32623,7 @@
decompress-response
4.2.1
Decompress a HTTP response if needed
+ optional
8ce4a77b6a9bc84fbfafc1b5554f86ffcd8b06cd85b382c0b1388b48738238c65097638a67a8bc8b82321de9937beff22173ad4dc4503333dc832868165a8f93
@@ -32601,6 +32660,7 @@
mimic-response
2.1.0
Mimic a Node.js HTTP response stream
+ optional
c17aa3493f922eded1d34f72482825581085a635328260887c3efdd3f9156e21a65207d81ae075e0f8937790f0571495e0d7181e3ccc9288f92e3419c1340b10
@@ -32745,6 +32805,7 @@
smart-buffer
4.2.0
smart-buffer is a Buffer wrapper that adds automatic read & write offset tracking, string operations, data insertions, and more.
+ optional
f7884ad0787cacfa90976c577371ec681a0e5ca576d0c4e83e4717bf06c84962c4b3eeb8b01ab9905827da42431dbd4faf2f72acfd1dc6b088f5145c8bb4572a
@@ -33568,6 +33629,7 @@
socks-proxy-agent
6.2.1
A SOCKS proxy `http.Agent` implementation for HTTP and HTTPS
+ optional
6ba296f46fba0779d6675c81f06ee92702f78202f2d6e4f32808026fbb6d6e5c2a773f5f306254b93cb7b85cc43f8f0502cf452c82e59b30e513624985541a5d
@@ -33604,6 +33666,7 @@
debug
4.3.4
Lightweight debugging utility for Node.js and the browser
+ optional
3d15851ee494dde0ed4093ef9cd63b25c91eb758f4b793ae3ac1733cfcec7a40f9d9997ca947c520f122b305ea22f1d61951ce817fbb1bfbc234d85e870c5f91
@@ -33639,6 +33702,7 @@
ms
2.1.2
Tiny millisecond conversion utility
+ optional
b0690fc7e56332d980e8c5f6ee80381411442c50996784b85ea7863970afebcb53fa36f7be4fd1c9a2963f43d32b25ad98b48cd1bf9a7544c4bdbb353c4687db
@@ -33675,6 +33739,7 @@
socks
2.7.1
Fully featured SOCKS proxy client supporting SOCKSv4, SOCKSv4a, and SOCKSv5. Includes Bind and Associate functionality.
+ optional
ee6694672d4deeea3af965445faa6c012c6d36529a3553251902a41bfeb79c40dd2ce58d6e250ca0b2bb5f8b98a0b850b2d6aeef698b81f116717730b1a1db61
@@ -33710,6 +33775,7 @@
Fedor Indutny
ip
2.0.0
+ optional
58a6be5ee2c6d40d51d145a1976fb55d04a2f9f65632c60a7df3194d362c8996940fc936c83023e5ab62993503d93664c8290d11e604e4d845666ba9386b6361
@@ -34321,6 +34387,7 @@
ssri
8.0.1
Standard Subresource Integrity library -- parses, serializes, generates, and verifies integrity metadata according to the SRI spec.
+ optional
f7ba92873cb5022cb1bcf34890b5a81ae6bbc68433ccf8d0d07007e01d2b58aa3b499e944ae3dcad488016bc2cd141fc46b6d69a0ab72cc4ce6e13c81db6c179
@@ -35399,6 +35466,7 @@
tar-fs
2.1.1
filesystem bindings for tar-stream
+ optional
574af663db1c99b0d12c235ec7ffa1633be9ff3c988ef15b1cf36055329f42f56b6fa82e884fdfc4ff976e50cd474d75bada296e47b1da7338747355e860ec9e
@@ -35434,6 +35502,7 @@
bl
4.1.0
Buffer List: collect buffers and access with a standard readable Buffer interface, streamable too!
+ optional
d56d3b70cf604ba0dc2e97ab65f1528fe6d62ed68f1923875a13e21b35e6bd525b44b746f36b07fca9fc12d5b556a595039e0029fda1e64e416e721bc05de1eb
@@ -35470,6 +35539,7 @@
chownr
1.1.4
like `chown -R`
+ optional
8c9d1bab36b296626d567360cd37923acf033dabe96d8804aff6f460bf3fd863b7c4912122716684a3149c42508d9ba62bb297185854cbcf4faec25695a90156
@@ -35505,6 +35575,7 @@
readable-stream
3.6.1
Streams3, a user-land copy of the stream library from Node.js
+ optional
fab426ad6318180f74c9e9e14d8b0b580b0bb2a542f28b0ec3a3ca1351c36223b481d3de29eff10c7373200227e02f75610ea87a71217d8aaa735f3cdea1db8d
@@ -35541,6 +35612,7 @@
tar-stream
2.2.0
tar-stream is a streaming tar parser and generator and nothing else. It is streams2 and operates purely using streams which means you can easily extract/parse tarballs without ever hitting the file system.
+ optional
ba37aa6dc780060c0c6711099e4d870d8d83967519fbda0471bd4acd355f6078a8d1413a746ef59fad1df03d88e2a36f95e5abad7a668e9b7bbd9785d4b9cc65
@@ -37006,6 +37078,7 @@
uglify-js
3.17.4
JavaScript parser, mangler/compressor and beautifier toolkit
+ optional
4fdabcd93248f5efc2d5303162f7dbd7ac4ed76d2d315159ac60377fdfcfe38db80cdbbaca92b5d37cb418f1556b5ef2a2dc12c995b98985e08d81e41ab256fe
@@ -37293,6 +37366,7 @@
unique-filename
1.1.1
Generate a unique filename for use in temporary directories or caches.
+ optional
566a748c8a76967df95135eeaf2be3ce48c6751c9ff5bda54d7b9261488f9b345c977143b58a80c0e9d3264027803f525a19e82730db4cac1a3ab67e493b7135
@@ -37329,6 +37403,7 @@
unique-slug
2.0.2
Generate a unique character string suitible for use in files and URLs.
+ optional
ce85abf4e6dac402c3dc338f7e33d2ab1b787e766259b9711c881e5aa5bcc7b52a0f312d1c440bce38b672e258405094e8a9a826290e600665ad31c779b8f1db
@@ -38732,6 +38807,7 @@
which-pm-runs
1.1.0
Detects what package manager executes the process
+ optional
9f56eb0aea829717c57eafd16f420283d822499a824bea4bb5c71d6a0e82d87cae7c1ae1ddf04e8b2f676fa82044cbd63951f91ab749b248f98864d937177b48
diff --git a/demo/local-dependencies/example-results/bare/bom.1.2.json b/demo/local-dependencies/example-results/bare/bom.1.2.json
index bc060ccb1..7498bb4ca 100644
--- a/demo/local-dependencies/example-results/bare/bom.1.2.json
+++ b/demo/local-dependencies/example-results/bare/bom.1.2.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0"
+ "version": "1.9.2"
}
],
"component": {
diff --git a/demo/local-dependencies/example-results/bare/bom.1.2.xml b/demo/local-dependencies/example-results/bare/bom.1.2.xml
index 2711fef0d..d02c6e26a 100644
--- a/demo/local-dependencies/example-results/bare/bom.1.2.xml
+++ b/demo/local-dependencies/example-results/bare/bom.1.2.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
diff --git a/demo/local-dependencies/example-results/bare/bom.1.3.json b/demo/local-dependencies/example-results/bare/bom.1.3.json
index d507f277f..15455ff7f 100644
--- a/demo/local-dependencies/example-results/bare/bom.1.3.json
+++ b/demo/local-dependencies/example-results/bare/bom.1.3.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0"
+ "version": "1.9.2"
}
],
"component": {
diff --git a/demo/local-dependencies/example-results/bare/bom.1.3.xml b/demo/local-dependencies/example-results/bare/bom.1.3.xml
index 0de26edd8..cef1a9da1 100644
--- a/demo/local-dependencies/example-results/bare/bom.1.3.xml
+++ b/demo/local-dependencies/example-results/bare/bom.1.3.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
diff --git a/demo/local-dependencies/example-results/bare/bom.1.4.json b/demo/local-dependencies/example-results/bare/bom.1.4.json
index b6740c4ea..51946b582 100644
--- a/demo/local-dependencies/example-results/bare/bom.1.4.json
+++ b/demo/local-dependencies/example-results/bare/bom.1.4.json
@@ -8,7 +8,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0",
+ "version": "1.13.3",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
@@ -30,7 +30,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0",
+ "version": "1.9.2",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
diff --git a/demo/local-dependencies/example-results/bare/bom.1.4.xml b/demo/local-dependencies/example-results/bare/bom.1.4.xml
index f340acfd1..dbbbe4287 100644
--- a/demo/local-dependencies/example-results/bare/bom.1.4.xml
+++ b/demo/local-dependencies/example-results/bare/bom.1.4.xml
@@ -5,7 +5,7 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
https://github.com/CycloneDX/cyclonedx-javascript-library/issues
@@ -24,7 +24,7 @@
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
https://github.com/CycloneDX/cyclonedx-node-npm/issues
diff --git a/demo/local-dependencies/example-results/flat/bom.1.2.json b/demo/local-dependencies/example-results/flat/bom.1.2.json
index bc060ccb1..7498bb4ca 100644
--- a/demo/local-dependencies/example-results/flat/bom.1.2.json
+++ b/demo/local-dependencies/example-results/flat/bom.1.2.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0"
+ "version": "1.9.2"
}
],
"component": {
diff --git a/demo/local-dependencies/example-results/flat/bom.1.2.xml b/demo/local-dependencies/example-results/flat/bom.1.2.xml
index 2711fef0d..d02c6e26a 100644
--- a/demo/local-dependencies/example-results/flat/bom.1.2.xml
+++ b/demo/local-dependencies/example-results/flat/bom.1.2.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
diff --git a/demo/local-dependencies/example-results/flat/bom.1.3.json b/demo/local-dependencies/example-results/flat/bom.1.3.json
index d507f277f..15455ff7f 100644
--- a/demo/local-dependencies/example-results/flat/bom.1.3.json
+++ b/demo/local-dependencies/example-results/flat/bom.1.3.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0"
+ "version": "1.9.2"
}
],
"component": {
diff --git a/demo/local-dependencies/example-results/flat/bom.1.3.xml b/demo/local-dependencies/example-results/flat/bom.1.3.xml
index 0de26edd8..cef1a9da1 100644
--- a/demo/local-dependencies/example-results/flat/bom.1.3.xml
+++ b/demo/local-dependencies/example-results/flat/bom.1.3.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
diff --git a/demo/local-dependencies/example-results/flat/bom.1.4.json b/demo/local-dependencies/example-results/flat/bom.1.4.json
index b6740c4ea..51946b582 100644
--- a/demo/local-dependencies/example-results/flat/bom.1.4.json
+++ b/demo/local-dependencies/example-results/flat/bom.1.4.json
@@ -8,7 +8,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0",
+ "version": "1.13.3",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
@@ -30,7 +30,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0",
+ "version": "1.9.2",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
diff --git a/demo/local-dependencies/example-results/flat/bom.1.4.xml b/demo/local-dependencies/example-results/flat/bom.1.4.xml
index f340acfd1..dbbbe4287 100644
--- a/demo/local-dependencies/example-results/flat/bom.1.4.xml
+++ b/demo/local-dependencies/example-results/flat/bom.1.4.xml
@@ -5,7 +5,7 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
https://github.com/CycloneDX/cyclonedx-javascript-library/issues
@@ -24,7 +24,7 @@
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
https://github.com/CycloneDX/cyclonedx-node-npm/issues
diff --git a/demo/local-workspaces/example-results/bare/bom.1.2.json b/demo/local-workspaces/example-results/bare/bom.1.2.json
index f20c500bf..ee11fbc24 100644
--- a/demo/local-workspaces/example-results/bare/bom.1.2.json
+++ b/demo/local-workspaces/example-results/bare/bom.1.2.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0"
+ "version": "1.9.2"
}
],
"component": {
diff --git a/demo/local-workspaces/example-results/bare/bom.1.2.xml b/demo/local-workspaces/example-results/bare/bom.1.2.xml
index 691462923..af2ff92fe 100644
--- a/demo/local-workspaces/example-results/bare/bom.1.2.xml
+++ b/demo/local-workspaces/example-results/bare/bom.1.2.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
diff --git a/demo/local-workspaces/example-results/bare/bom.1.3.json b/demo/local-workspaces/example-results/bare/bom.1.3.json
index eb5d07502..07161abb1 100644
--- a/demo/local-workspaces/example-results/bare/bom.1.3.json
+++ b/demo/local-workspaces/example-results/bare/bom.1.3.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0"
+ "version": "1.9.2"
}
],
"component": {
diff --git a/demo/local-workspaces/example-results/bare/bom.1.3.xml b/demo/local-workspaces/example-results/bare/bom.1.3.xml
index a1eb8c409..5ddd1fce0 100644
--- a/demo/local-workspaces/example-results/bare/bom.1.3.xml
+++ b/demo/local-workspaces/example-results/bare/bom.1.3.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
diff --git a/demo/local-workspaces/example-results/bare/bom.1.4.json b/demo/local-workspaces/example-results/bare/bom.1.4.json
index 15920bbda..f41f79890 100644
--- a/demo/local-workspaces/example-results/bare/bom.1.4.json
+++ b/demo/local-workspaces/example-results/bare/bom.1.4.json
@@ -8,7 +8,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0",
+ "version": "1.13.3",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
@@ -30,7 +30,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0",
+ "version": "1.9.2",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
diff --git a/demo/local-workspaces/example-results/bare/bom.1.4.xml b/demo/local-workspaces/example-results/bare/bom.1.4.xml
index e9f33752f..725366181 100644
--- a/demo/local-workspaces/example-results/bare/bom.1.4.xml
+++ b/demo/local-workspaces/example-results/bare/bom.1.4.xml
@@ -5,7 +5,7 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
https://github.com/CycloneDX/cyclonedx-javascript-library/issues
@@ -24,7 +24,7 @@
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
https://github.com/CycloneDX/cyclonedx-node-npm/issues
diff --git a/demo/local-workspaces/example-results/flat/bom.1.2.json b/demo/local-workspaces/example-results/flat/bom.1.2.json
index f20c500bf..ee11fbc24 100644
--- a/demo/local-workspaces/example-results/flat/bom.1.2.json
+++ b/demo/local-workspaces/example-results/flat/bom.1.2.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0"
+ "version": "1.9.2"
}
],
"component": {
diff --git a/demo/local-workspaces/example-results/flat/bom.1.2.xml b/demo/local-workspaces/example-results/flat/bom.1.2.xml
index 691462923..af2ff92fe 100644
--- a/demo/local-workspaces/example-results/flat/bom.1.2.xml
+++ b/demo/local-workspaces/example-results/flat/bom.1.2.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
diff --git a/demo/local-workspaces/example-results/flat/bom.1.3.json b/demo/local-workspaces/example-results/flat/bom.1.3.json
index eb5d07502..07161abb1 100644
--- a/demo/local-workspaces/example-results/flat/bom.1.3.json
+++ b/demo/local-workspaces/example-results/flat/bom.1.3.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0"
+ "version": "1.9.2"
}
],
"component": {
diff --git a/demo/local-workspaces/example-results/flat/bom.1.3.xml b/demo/local-workspaces/example-results/flat/bom.1.3.xml
index a1eb8c409..5ddd1fce0 100644
--- a/demo/local-workspaces/example-results/flat/bom.1.3.xml
+++ b/demo/local-workspaces/example-results/flat/bom.1.3.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
diff --git a/demo/local-workspaces/example-results/flat/bom.1.4.json b/demo/local-workspaces/example-results/flat/bom.1.4.json
index 15920bbda..f41f79890 100644
--- a/demo/local-workspaces/example-results/flat/bom.1.4.json
+++ b/demo/local-workspaces/example-results/flat/bom.1.4.json
@@ -8,7 +8,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.12.0",
+ "version": "1.13.3",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
@@ -30,7 +30,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.0",
+ "version": "1.9.2",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
diff --git a/demo/local-workspaces/example-results/flat/bom.1.4.xml b/demo/local-workspaces/example-results/flat/bom.1.4.xml
index e9f33752f..725366181 100644
--- a/demo/local-workspaces/example-results/flat/bom.1.4.xml
+++ b/demo/local-workspaces/example-results/flat/bom.1.4.xml
@@ -5,7 +5,7 @@
@cyclonedx
cyclonedx-library
- 1.12.0
+ 1.13.3
https://github.com/CycloneDX/cyclonedx-javascript-library/issues
@@ -24,7 +24,7 @@
@cyclonedx
cyclonedx-npm
- 1.9.0
+ 1.9.2
https://github.com/CycloneDX/cyclonedx-node-npm/issues
diff --git a/demo/package-with-build-id/example-results/bare/bom.1.2.json b/demo/package-with-build-id/example-results/bare/bom.1.2.json
index a6586e3d5..c5adec136 100644
--- a/demo/package-with-build-id/example-results/bare/bom.1.2.json
+++ b/demo/package-with-build-id/example-results/bare/bom.1.2.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.13.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.1"
+ "version": "1.9.2"
}
],
"component": {
diff --git a/demo/package-with-build-id/example-results/bare/bom.1.2.xml b/demo/package-with-build-id/example-results/bare/bom.1.2.xml
index 340a15051..df6174732 100644
--- a/demo/package-with-build-id/example-results/bare/bom.1.2.xml
+++ b/demo/package-with-build-id/example-results/bare/bom.1.2.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.13.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.1
+ 1.9.2
diff --git a/demo/package-with-build-id/example-results/bare/bom.1.3.json b/demo/package-with-build-id/example-results/bare/bom.1.3.json
index bd029017e..150a95720 100644
--- a/demo/package-with-build-id/example-results/bare/bom.1.3.json
+++ b/demo/package-with-build-id/example-results/bare/bom.1.3.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.13.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.1"
+ "version": "1.9.2"
}
],
"component": {
diff --git a/demo/package-with-build-id/example-results/bare/bom.1.3.xml b/demo/package-with-build-id/example-results/bare/bom.1.3.xml
index c4adc23b4..0bfa01ac5 100644
--- a/demo/package-with-build-id/example-results/bare/bom.1.3.xml
+++ b/demo/package-with-build-id/example-results/bare/bom.1.3.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.13.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.1
+ 1.9.2
diff --git a/demo/package-with-build-id/example-results/bare/bom.1.4.json b/demo/package-with-build-id/example-results/bare/bom.1.4.json
index 54ecd9bee..608ece02d 100644
--- a/demo/package-with-build-id/example-results/bare/bom.1.4.json
+++ b/demo/package-with-build-id/example-results/bare/bom.1.4.json
@@ -8,7 +8,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.13.0",
+ "version": "1.13.3",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
@@ -30,7 +30,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.1",
+ "version": "1.9.2",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
diff --git a/demo/package-with-build-id/example-results/bare/bom.1.4.xml b/demo/package-with-build-id/example-results/bare/bom.1.4.xml
index fb97dc6fd..4eedea6f3 100644
--- a/demo/package-with-build-id/example-results/bare/bom.1.4.xml
+++ b/demo/package-with-build-id/example-results/bare/bom.1.4.xml
@@ -5,7 +5,7 @@
@cyclonedx
cyclonedx-library
- 1.13.0
+ 1.13.3
https://github.com/CycloneDX/cyclonedx-javascript-library/issues
@@ -24,7 +24,7 @@
@cyclonedx
cyclonedx-npm
- 1.9.1
+ 1.9.2
https://github.com/CycloneDX/cyclonedx-node-npm/issues
diff --git a/demo/package-with-build-id/example-results/flat/bom.1.2.json b/demo/package-with-build-id/example-results/flat/bom.1.2.json
index a6586e3d5..c5adec136 100644
--- a/demo/package-with-build-id/example-results/flat/bom.1.2.json
+++ b/demo/package-with-build-id/example-results/flat/bom.1.2.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.13.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.1"
+ "version": "1.9.2"
}
],
"component": {
diff --git a/demo/package-with-build-id/example-results/flat/bom.1.2.xml b/demo/package-with-build-id/example-results/flat/bom.1.2.xml
index 340a15051..df6174732 100644
--- a/demo/package-with-build-id/example-results/flat/bom.1.2.xml
+++ b/demo/package-with-build-id/example-results/flat/bom.1.2.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.13.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.1
+ 1.9.2
diff --git a/demo/package-with-build-id/example-results/flat/bom.1.3.json b/demo/package-with-build-id/example-results/flat/bom.1.3.json
index bd029017e..150a95720 100644
--- a/demo/package-with-build-id/example-results/flat/bom.1.3.json
+++ b/demo/package-with-build-id/example-results/flat/bom.1.3.json
@@ -8,12 +8,12 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.13.0"
+ "version": "1.13.3"
},
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.1"
+ "version": "1.9.2"
}
],
"component": {
diff --git a/demo/package-with-build-id/example-results/flat/bom.1.3.xml b/demo/package-with-build-id/example-results/flat/bom.1.3.xml
index c4adc23b4..0bfa01ac5 100644
--- a/demo/package-with-build-id/example-results/flat/bom.1.3.xml
+++ b/demo/package-with-build-id/example-results/flat/bom.1.3.xml
@@ -5,12 +5,12 @@
@cyclonedx
cyclonedx-library
- 1.13.0
+ 1.13.3
@cyclonedx
cyclonedx-npm
- 1.9.1
+ 1.9.2
diff --git a/demo/package-with-build-id/example-results/flat/bom.1.4.json b/demo/package-with-build-id/example-results/flat/bom.1.4.json
index 54ecd9bee..608ece02d 100644
--- a/demo/package-with-build-id/example-results/flat/bom.1.4.json
+++ b/demo/package-with-build-id/example-results/flat/bom.1.4.json
@@ -8,7 +8,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-library",
- "version": "1.13.0",
+ "version": "1.13.3",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
@@ -30,7 +30,7 @@
{
"vendor": "@cyclonedx",
"name": "cyclonedx-npm",
- "version": "1.9.1",
+ "version": "1.9.2",
"externalReferences": [
{
"url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
diff --git a/demo/package-with-build-id/example-results/flat/bom.1.4.xml b/demo/package-with-build-id/example-results/flat/bom.1.4.xml
index fb97dc6fd..4eedea6f3 100644
--- a/demo/package-with-build-id/example-results/flat/bom.1.4.xml
+++ b/demo/package-with-build-id/example-results/flat/bom.1.4.xml
@@ -5,7 +5,7 @@
@cyclonedx
cyclonedx-library
- 1.13.0
+ 1.13.3
https://github.com/CycloneDX/cyclonedx-javascript-library/issues
@@ -24,7 +24,7 @@
@cyclonedx
cyclonedx-npm
- 1.9.1
+ 1.9.2
https://github.com/CycloneDX/cyclonedx-node-npm/issues
diff --git a/src/builders.ts b/src/builders.ts
index d2183db13..24db198cd 100644
--- a/src/builders.ts
+++ b/src/builders.ts
@@ -363,6 +363,13 @@ export class BomBuilder {
private readonly resolvedRE_ignore = /^(?:ignore|file):/i
private makeComponent (data: any, type?: Enums.ComponentType | undefined): Models.Component | false | undefined {
+ // older npm-ls versions (v6) hide properties behind a `_`
+ const isOptional = (data.optional ?? data._optional) === true
+ if (isOptional && this.omitDependencyTypes.has('optional')) {
+ this.console.debug('DEBUG | omit optional component: %j %j', data.name, data._id)
+ return false
+ }
+
// older npm-ls versions (v6) hide properties behind a `_`
const isDev = (data.dev ?? data._development) === true
if (isDev && this.omitDependencyTypes.has('dev')) {
@@ -370,6 +377,13 @@ export class BomBuilder {
return false
}
+ // attention: `data.devOptional` are not to be skipped with devs, since they are still required by optionals.
+ const isDevOptional = data.devOptional === true
+ if (isDevOptional && this.omitDependencyTypes.has('dev') && this.omitDependencyTypes.has('optional')) {
+ this.console.debug('DEBUG | omit devOptional component: %j %j', data.name, data._id)
+ return false
+ }
+
// work with a deep copy, because `normalizePackageData()` might modify the data
let _dataC = structuredClonePolyfill(data)
if (!this.packageLockOnly) {
@@ -389,6 +403,10 @@ export class BomBuilder {
return undefined
}
+ if (isOptional || isDevOptional) {
+ component.scope = Enums.ComponentScope.Optional
+ }
+
// region properties
if (typeof data.path === 'string') {
@@ -396,7 +414,7 @@ export class BomBuilder {
new Models.Property(PropertyNames.PackageInstallPath, data.path)
)
}
- if (isDev) {
+ if (isDev || isDevOptional) {
component.properties.add(
new Models.Property(PropertyNames.PackageDevelopment, PropertyValueBool.True)
)
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node14_macos-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node14_macos-latest.json
index 9e3ae145d..c480be6c6 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node14_macos-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node14_macos-latest.json
@@ -4,49 +4,39 @@
"private": true,
"version": "0.0.0",
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"readme": "ERROR: No README data found!",
- "_id": "demo-dev-dependencies@0.0.0",
- "_shrinkwrap": {
- "name": "demo-dev-dependencies",
- "version": "0.0.0",
- "lockfileVersion": 1,
- "requires": true,
- "dependencies": {
- "@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
- "dev": true
- }
- }
- },
"dependencies": {
"@types/node": {
"_from": "@types/node@>=16",
- "_id": "@types/node@18.11.9",
- "_integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "_id": "@types/node@18.15.11",
+ "_integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"_location": "/@types/node",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
- "raw": "@types/node@18.11.9",
+ "raw": "@types/node@18.15.11",
"name": "@types/node",
"escapedName": "@types%2fnode",
"scope": "@types",
- "rawSpec": "18.11.9",
+ "rawSpec": "18.15.11",
"saveSpec": null,
- "fetchSpec": "18.11.9"
+ "fetchSpec": "18.15.11"
},
"_requiredBy": [
"#DEV:/"
],
- "_resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "_shasum": "02d013de7058cea16d36168ef2fc653464cfbad4",
- "_spec": "18.11.9",
+ "_resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "_shasum": "b3b790f09cb1696cffcec605de025b088fa4225f",
+ "_spec": "18.15.11",
"_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
"bugs": {
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
@@ -215,6 +205,10 @@
{
"name": "Matteo Collina",
"url": "https://github.com/mcollina"
+ },
+ {
+ "name": "Dmitry Semigradsky",
+ "url": "https://github.com/Semigradsky"
}
],
"dependencies": {},
@@ -230,23 +224,23 @@
"directory": "types/node"
},
"scripts": {},
- "typeScriptVersion": "4.1",
+ "typeScriptVersion": "4.3",
"types": "index.d.ts",
- "typesPublisherContentHash": "c4994f0d5655c5ba44d4248f7f2765c3b1f8319a258377d18d73093af02d11b3",
+ "typesPublisherContentHash": "0b569b41848800d78adc39868da768013835b59322022dd1bb40be639e885045",
"typesVersions": {
- "<4.9.0-0": {
+ "<=4.8": {
"*": [
"ts4.8/*"
]
}
},
- "version": "18.11.9",
- "readme": "# Installation\r\n> `npm install --save @types/node`\r\n\r\n# Summary\r\nThis package contains type definitions for Node.js (https://nodejs.org/).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.\r\n\r\n### Additional Details\r\n * Last updated: Tue, 01 Nov 2022 09:32:58 GMT\r\n * Dependencies: none\r\n * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`\r\n\r\n# Credits\r\nThese definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), and [Matteo Collina](https://github.com/mcollina).\r\n",
+ "version": "18.15.11",
+ "readme": "# Installation\r\n> `npm install --save @types/node`\r\n\r\n# Summary\r\nThis package contains type definitions for Node.js (https://nodejs.org/).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.\r\n\r\n### Additional Details\r\n * Last updated: Tue, 28 Mar 2023 21:33:10 GMT\r\n * Dependencies: none\r\n * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`\r\n\r\n# Credits\r\nThese definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), [Matteo Collina](https://github.com/mcollina), and [Dmitry Semigradsky](https://github.com/Semigradsky).\r\n",
"readmeFilename": "README.md",
"_development": true,
"_args": [
[
- "@types/node@18.11.9",
+ "@types/node@18.15.11",
"/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
]
],
@@ -256,10 +250,509 @@
"path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
"error": "[Circular]",
"extraneous": false
+ },
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
+ },
+ "contributors": [
+ {
+ "name": "Oliver Hoffmann",
+ "url": "https://github.com/iamolivinius"
+ },
+ {
+ "name": "Felipe Ochoa",
+ "url": "https://github.com/felipeochoa"
+ },
+ {
+ "name": "Chris Barth",
+ "url": "https://github.com/cjbarth"
+ },
+ {
+ "name": "Linus Unnebäck",
+ "url": "https://github.com/LinusU"
+ },
+ {
+ "name": "Christoph Tavan",
+ "url": "https://github.com/ctavan"
+ }
+ ],
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": {
+ "./package.json": "./package.json",
+ ".": {
+ "types": {
+ "import": "./index.d.mts",
+ "default": "./index.d.ts"
+ }
+ }
+ },
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git",
+ "directory": "types/uuid"
+ },
+ "scripts": {},
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "@types/uuid@8.3.4",
+ "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "devDependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "browser": {
+ "./dist/md5.js": "./dist/md5-browser.js",
+ "./dist/rng.js": "./dist/rng-browser.js",
+ "./dist/sha1.js": "./dist/sha1-browser.js",
+ "./dist/esm-node/index.js": "./dist/esm-browser/index.js"
+ },
+ "bugs": {
+ "url": "https://github.com/uuidjs/uuid/issues"
+ },
+ "commitlint": {
+ "extends": [
+ "@commitlint/config-conventional"
+ ]
+ },
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": {
+ "@babel/cli": "7.11.6",
+ "@babel/core": "7.11.6",
+ "@babel/preset-env": "7.11.5",
+ "@commitlint/cli": "11.0.0",
+ "@commitlint/config-conventional": "11.0.0",
+ "@rollup/plugin-node-resolve": "9.0.0",
+ "babel-eslint": "10.1.0",
+ "bundlewatch": "0.3.1",
+ "eslint": "7.10.0",
+ "eslint-config-prettier": "6.12.0",
+ "eslint-config-standard": "14.1.1",
+ "eslint-plugin-import": "2.22.1",
+ "eslint-plugin-node": "11.1.0",
+ "eslint-plugin-prettier": "3.1.4",
+ "eslint-plugin-promise": "4.2.1",
+ "eslint-plugin-standard": "4.0.1",
+ "husky": "4.3.0",
+ "jest": "25.5.4",
+ "lint-staged": "10.4.0",
+ "npm-run-all": "4.1.5",
+ "optional-dev-dependency": "2.0.1",
+ "prettier": "2.1.2",
+ "random-seed": "0.3.0",
+ "rollup": "2.28.2",
+ "rollup-plugin-terser": "7.0.2",
+ "runmd": "1.3.2",
+ "standard-version": "9.0.0"
+ },
+ "exports": {
+ ".": {
+ "node": {
+ "module": "./dist/esm-node/index.js",
+ "require": "./dist/index.js",
+ "import": "./wrapper.mjs"
+ },
+ "default": "./dist/esm-browser/index.js"
+ },
+ "./package.json": "./package.json"
+ },
+ "files": [
+ "CHANGELOG.md",
+ "CONTRIBUTING.md",
+ "LICENSE.md",
+ "README.md",
+ "dist",
+ "wrapper.mjs"
+ ],
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": {
+ "hooks": {
+ "commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
+ "pre-commit": "lint-staged"
+ }
+ },
+ "keywords": [
+ "uuid",
+ "guid",
+ "rfc4122"
+ ],
+ "license": "MIT",
+ "lint-staged": {
+ "*.{js,jsx,json,md}": [
+ "prettier --write"
+ ],
+ "*.{js,jsx}": [
+ "eslint --fix"
+ ]
+ },
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": {
+ "@wdio/browserstack-service": "6.4.0",
+ "@wdio/cli": "6.4.0",
+ "@wdio/jasmine-framework": "6.4.0",
+ "@wdio/local-runner": "6.4.0",
+ "@wdio/spec-reporter": "6.4.0",
+ "@wdio/static-server-service": "6.4.0",
+ "@wdio/sync": "6.4.0"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/uuidjs/uuid.git"
+ },
+ "scripts": {
+ "build": "./scripts/build.sh",
+ "bundlewatch": "npm run pretest:browser && bundlewatch --config bundlewatch.config.json",
+ "docs": "( node --version | grep -q 'v12' ) && ( npm run build && runmd --output=README.md README_js.md )",
+ "docs:diff": "npm run docs && git diff --quiet README.md",
+ "eslint:check": "eslint src/ test/ examples/ *.js",
+ "eslint:fix": "eslint --fix src/ test/ examples/ *.js",
+ "examples:browser:rollup:build": "cd examples/browser-rollup && npm install && npm run build",
+ "examples:browser:webpack:build": "cd examples/browser-webpack && npm install && npm run build",
+ "examples:node:commonjs:test": "cd examples/node-commonjs && npm install && npm test",
+ "examples:node:esmodules:test": "cd examples/node-esmodules && npm install && npm test",
+ "lint": "npm run eslint:check && npm run prettier:check",
+ "md": "runmd --watch --output=README.md README_js.md",
+ "prepack": "npm run build",
+ "pretest": "[ -n $CI ] || npm run build",
+ "pretest:benchmark": "npm run build",
+ "pretest:browser": "optional-dev-dependency && npm run build && npm-run-all --parallel examples:browser:**",
+ "pretest:node": "npm run build",
+ "prettier:check": "prettier --ignore-path .prettierignore --check '**/*.{js,jsx,json,md}'",
+ "prettier:fix": "prettier --ignore-path .prettierignore --write '**/*.{js,jsx,json,md}'",
+ "release": "standard-version --no-verify",
+ "test": "BABEL_ENV=commonjs node --throw-deprecation node_modules/.bin/jest test/unit/",
+ "test:benchmark": "cd examples/benchmark && npm install && npm test",
+ "test:browser": "wdio run ./wdio.conf.js",
+ "test:node": "npm-run-all --parallel examples:node:**",
+ "test:pack": "./scripts/testpack.sh"
+ },
+ "sideEffects": false,
+ "standard-version": {
+ "scripts": {
+ "postchangelog": "prettier --write CHANGELOG.md"
+ }
+ },
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "uuid@8.3.2",
+ "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "dependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuidv4": {
+ "_from": "uuidv4@^6.2.13",
+ "_id": "uuidv4@6.2.13",
+ "_integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "_location": "/uuidv4",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuidv4@6.2.13",
+ "name": "uuidv4",
+ "escapedName": "uuidv4",
+ "rawSpec": "6.2.13",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "6.2.13"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "_shasum": "8f95ec5ef22d1f92c8e5d4c70b735d1c89572cb7",
+ "_spec": "6.2.13",
+ "_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": {
+ "url": "https://github.com/thenativeweb/uuidv4/issues"
+ },
+ "contributors": [
+ {
+ "name": "Golo Roden",
+ "email": "golo.roden@thenativeweb.io"
+ },
+ {
+ "name": "Matthias Wagler",
+ "email": "matthias.wagler@thenativeweb.io"
+ },
+ {
+ "name": "Jan-Hendrik Grundhöfer",
+ "email": "jan-hendrik.grundhoefer@thenativeweb.io"
+ },
+ {
+ "name": "Sven Eppler",
+ "email": "sven.eppler@sodgeit.de"
+ },
+ {
+ "name": "Hannes Leutloff",
+ "email": "hannes.leutloff@thenativeweb.io"
+ }
+ ],
+ "dependencies": {
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": "[Circular]",
+ "contributors": "[Circular]",
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": "[Circular]",
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "devDependencies": "[Circular]",
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "@types/uuid"
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bin": "[Circular]",
+ "browser": "[Circular]",
+ "bugs": "[Circular]",
+ "commitlint": "[Circular]",
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": "[Circular]",
+ "exports": "[Circular]",
+ "files": "[Circular]",
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": "[Circular]",
+ "keywords": "[Circular]",
+ "license": "MIT",
+ "lint-staged": "[Circular]",
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": "[Circular]",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "sideEffects": false,
+ "standard-version": "[Circular]",
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "dependencies": {},
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "uuid"
+ }
+ },
+ "deprecated": false,
+ "description": "uuidv4 creates v4 UUIDs.",
+ "devDependencies": {
+ "assertthat": "6.4.0",
+ "roboter": "12.7.1",
+ "semantic-release-configuration": "2.0.7"
+ },
+ "homepage": "https://github.com/thenativeweb/uuidv4#readme",
+ "keywords": [
+ "guid",
+ "uuid"
+ ],
+ "license": "MIT",
+ "main": "build/lib/uuidv4.js",
+ "name": "uuidv4",
+ "private": false,
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/thenativeweb/uuidv4.git"
+ },
+ "scripts": {},
+ "types": "build/lib/uuidv4.d.ts",
+ "version": "6.2.13",
+ "readme": "# uuidv4\n\nuuidv4 creates v4 UUIDs.\n\n## Status\n\n| Category | Status |\n| ---------------- | --------------------------------------------------------------------------------------------------- |\n| Version | [](https://www.npmjs.com/package/uuidv4) |\n| Dependencies |  |\n| Dev dependencies |  |\n| Build |  |\n| License |  |\n\n## Please note\n\nThis module will be deprecated in the future in favour of module [uuid](https://www.npmjs.com/package/uuid). Most of the functionality of this module is already included in `uuid` since version `8.3.0`, so most of the functions of this module have already been marked as deprecated.\n\n## Installation\n\n```shell\n$ npm install uuidv4\n```\n\n## Quick start\n\nFirst you need to integrate uuidv4 into your project by using the `require` function:\n\n```javascript\nconst { uuid } = require('uuidv4');\n```\n\nIf you use TypeScript, use the following code instead:\n\n```typescript\nimport { uuid } from 'uuidv4';\n```\n\nThen you can create UUIDs. To do so simply call the `uuid` function:\n\n```javascript\nconsole.log(uuid());\n// => '11bf5b37-e0b8-42e0-8dcf-dc8c4aefc000'\n```\n\n### Verifying a UUID\n\nTo verify whether a given value is a UUID, use the `isUuid` function:\n\n```javascript\nimport { isUuid } from 'uuidv4';\n\nconsole.log(isUuid('75442486-0878-440c-9db1-a7006c25a39f'));\n// => true\n```\n\n_Please note that the `isUuid` function returns `true` for both, `v4` and `v5` UUIDs. In addition, `isUuid` returns `true` for `empty()`._\n\n#### Using a regular expression\n\nIf you want to perform the verification on your own using a regular expression, use the `regex` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { regex } from 'uuidv4';\n\nconsole.log(regex.v4);\nconsole.log(regex.v5);\n```\n\n_Please note that the regular expressions also consider `empty()` to be a valid UUID._\n\n#### Using a JSON schema\n\nIf you want to perform the verification on your own using a JSON schema, use the `jsonSchema` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { jsonSchema } from 'uuidv4';\n\nconsole.log(jsonSchema.v4);\nconsole.log(jsonSchema.v5);\n```\n\n_Please note that the JSON schemas also consider `empty()` to be a valid UUID._\n\n### Getting a UUID from a string\n\nFrom time to time you need an identifier that looks like a UUID, but is actually inferred from a string. For that, use the `fromString` function, which returns a UUID `v5`:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web'));\n// => 'cdb63720-9628-5ef6-bbca-2e5ce6094f3c'\n```\n\nBy default, the `fromString` function uses a pre-configured namespace. If you want to use your own namespace, provide a UUID as second parameter:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web', '004aadf4-8e1a-4450-905b-6039179f52da'));\n// => 'b1c4a89e-4905-5e3c-b57f-dc92627d011e'\n```\n\n### Getting the empty UUID\n\nIf you need a UUID that consists only of zeros, use the `empty` function:\n\n```javascript\nimport { empty } from 'uuidv4';\n\nconsole.log(empty());\n// => '00000000-0000-0000-0000-000000000000'\n```\n\n## Running quality assurance\n\nTo run quality assurance for this module use [roboter](https://www.npmjs.com/package/roboter):\n\n```shell\n$ npx roboter\n```\n",
+ "readmeFilename": "README.md",
+ "_optional": true,
+ "_args": [
+ [
+ "uuidv4@6.2.13",
+ "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "optionalDependencies": {},
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "error": "[Circular]",
+ "extraneous": false
+ }
+ },
+ "_id": "demo-dev-dependencies@0.0.0",
+ "_shrinkwrap": {
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@types/node": {
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "dev": true
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw=="
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "requires": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ }
+ }
}
},
- "optionalDependencies": {},
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
"error": "[Circular]",
"extraneous": false
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node14_ubuntu-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node14_ubuntu-latest.json
index c49e14ace..2a83b9f44 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node14_ubuntu-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node14_ubuntu-latest.json
@@ -4,49 +4,39 @@
"private": true,
"version": "0.0.0",
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"readme": "ERROR: No README data found!",
- "_id": "demo-dev-dependencies@0.0.0",
- "_shrinkwrap": {
- "name": "demo-dev-dependencies",
- "version": "0.0.0",
- "lockfileVersion": 1,
- "requires": true,
- "dependencies": {
- "@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
- "dev": true
- }
- }
- },
"dependencies": {
"@types/node": {
"_from": "@types/node@>=16",
- "_id": "@types/node@18.11.9",
- "_integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "_id": "@types/node@18.15.11",
+ "_integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"_location": "/@types/node",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
- "raw": "@types/node@18.11.9",
+ "raw": "@types/node@18.15.11",
"name": "@types/node",
"escapedName": "@types%2fnode",
"scope": "@types",
- "rawSpec": "18.11.9",
+ "rawSpec": "18.15.11",
"saveSpec": null,
- "fetchSpec": "18.11.9"
+ "fetchSpec": "18.15.11"
},
"_requiredBy": [
"#DEV:/"
],
- "_resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "_shasum": "02d013de7058cea16d36168ef2fc653464cfbad4",
- "_spec": "18.11.9",
+ "_resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "_shasum": "b3b790f09cb1696cffcec605de025b088fa4225f",
+ "_spec": "18.15.11",
"_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
"bugs": {
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
@@ -215,6 +205,10 @@
{
"name": "Matteo Collina",
"url": "https://github.com/mcollina"
+ },
+ {
+ "name": "Dmitry Semigradsky",
+ "url": "https://github.com/Semigradsky"
}
],
"dependencies": {},
@@ -230,23 +224,23 @@
"directory": "types/node"
},
"scripts": {},
- "typeScriptVersion": "4.1",
+ "typeScriptVersion": "4.3",
"types": "index.d.ts",
- "typesPublisherContentHash": "c4994f0d5655c5ba44d4248f7f2765c3b1f8319a258377d18d73093af02d11b3",
+ "typesPublisherContentHash": "0b569b41848800d78adc39868da768013835b59322022dd1bb40be639e885045",
"typesVersions": {
- "<4.9.0-0": {
+ "<=4.8": {
"*": [
"ts4.8/*"
]
}
},
- "version": "18.11.9",
- "readme": "# Installation\r\n> `npm install --save @types/node`\r\n\r\n# Summary\r\nThis package contains type definitions for Node.js (https://nodejs.org/).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.\r\n\r\n### Additional Details\r\n * Last updated: Tue, 01 Nov 2022 09:32:58 GMT\r\n * Dependencies: none\r\n * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`\r\n\r\n# Credits\r\nThese definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), and [Matteo Collina](https://github.com/mcollina).\r\n",
+ "version": "18.15.11",
+ "readme": "# Installation\r\n> `npm install --save @types/node`\r\n\r\n# Summary\r\nThis package contains type definitions for Node.js (https://nodejs.org/).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.\r\n\r\n### Additional Details\r\n * Last updated: Tue, 28 Mar 2023 21:33:10 GMT\r\n * Dependencies: none\r\n * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`\r\n\r\n# Credits\r\nThese definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), [Matteo Collina](https://github.com/mcollina), and [Dmitry Semigradsky](https://github.com/Semigradsky).\r\n",
"readmeFilename": "README.md",
"_development": true,
"_args": [
[
- "@types/node@18.11.9",
+ "@types/node@18.15.11",
"/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
]
],
@@ -256,10 +250,509 @@
"path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
"error": "[Circular]",
"extraneous": false
+ },
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
+ },
+ "contributors": [
+ {
+ "name": "Oliver Hoffmann",
+ "url": "https://github.com/iamolivinius"
+ },
+ {
+ "name": "Felipe Ochoa",
+ "url": "https://github.com/felipeochoa"
+ },
+ {
+ "name": "Chris Barth",
+ "url": "https://github.com/cjbarth"
+ },
+ {
+ "name": "Linus Unnebäck",
+ "url": "https://github.com/LinusU"
+ },
+ {
+ "name": "Christoph Tavan",
+ "url": "https://github.com/ctavan"
+ }
+ ],
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": {
+ "./package.json": "./package.json",
+ ".": {
+ "types": {
+ "import": "./index.d.mts",
+ "default": "./index.d.ts"
+ }
+ }
+ },
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git",
+ "directory": "types/uuid"
+ },
+ "scripts": {},
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "@types/uuid@8.3.4",
+ "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "devDependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "browser": {
+ "./dist/md5.js": "./dist/md5-browser.js",
+ "./dist/rng.js": "./dist/rng-browser.js",
+ "./dist/sha1.js": "./dist/sha1-browser.js",
+ "./dist/esm-node/index.js": "./dist/esm-browser/index.js"
+ },
+ "bugs": {
+ "url": "https://github.com/uuidjs/uuid/issues"
+ },
+ "commitlint": {
+ "extends": [
+ "@commitlint/config-conventional"
+ ]
+ },
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": {
+ "@babel/cli": "7.11.6",
+ "@babel/core": "7.11.6",
+ "@babel/preset-env": "7.11.5",
+ "@commitlint/cli": "11.0.0",
+ "@commitlint/config-conventional": "11.0.0",
+ "@rollup/plugin-node-resolve": "9.0.0",
+ "babel-eslint": "10.1.0",
+ "bundlewatch": "0.3.1",
+ "eslint": "7.10.0",
+ "eslint-config-prettier": "6.12.0",
+ "eslint-config-standard": "14.1.1",
+ "eslint-plugin-import": "2.22.1",
+ "eslint-plugin-node": "11.1.0",
+ "eslint-plugin-prettier": "3.1.4",
+ "eslint-plugin-promise": "4.2.1",
+ "eslint-plugin-standard": "4.0.1",
+ "husky": "4.3.0",
+ "jest": "25.5.4",
+ "lint-staged": "10.4.0",
+ "npm-run-all": "4.1.5",
+ "optional-dev-dependency": "2.0.1",
+ "prettier": "2.1.2",
+ "random-seed": "0.3.0",
+ "rollup": "2.28.2",
+ "rollup-plugin-terser": "7.0.2",
+ "runmd": "1.3.2",
+ "standard-version": "9.0.0"
+ },
+ "exports": {
+ ".": {
+ "node": {
+ "module": "./dist/esm-node/index.js",
+ "require": "./dist/index.js",
+ "import": "./wrapper.mjs"
+ },
+ "default": "./dist/esm-browser/index.js"
+ },
+ "./package.json": "./package.json"
+ },
+ "files": [
+ "CHANGELOG.md",
+ "CONTRIBUTING.md",
+ "LICENSE.md",
+ "README.md",
+ "dist",
+ "wrapper.mjs"
+ ],
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": {
+ "hooks": {
+ "commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
+ "pre-commit": "lint-staged"
+ }
+ },
+ "keywords": [
+ "uuid",
+ "guid",
+ "rfc4122"
+ ],
+ "license": "MIT",
+ "lint-staged": {
+ "*.{js,jsx,json,md}": [
+ "prettier --write"
+ ],
+ "*.{js,jsx}": [
+ "eslint --fix"
+ ]
+ },
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": {
+ "@wdio/browserstack-service": "6.4.0",
+ "@wdio/cli": "6.4.0",
+ "@wdio/jasmine-framework": "6.4.0",
+ "@wdio/local-runner": "6.4.0",
+ "@wdio/spec-reporter": "6.4.0",
+ "@wdio/static-server-service": "6.4.0",
+ "@wdio/sync": "6.4.0"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/uuidjs/uuid.git"
+ },
+ "scripts": {
+ "build": "./scripts/build.sh",
+ "bundlewatch": "npm run pretest:browser && bundlewatch --config bundlewatch.config.json",
+ "docs": "( node --version | grep -q 'v12' ) && ( npm run build && runmd --output=README.md README_js.md )",
+ "docs:diff": "npm run docs && git diff --quiet README.md",
+ "eslint:check": "eslint src/ test/ examples/ *.js",
+ "eslint:fix": "eslint --fix src/ test/ examples/ *.js",
+ "examples:browser:rollup:build": "cd examples/browser-rollup && npm install && npm run build",
+ "examples:browser:webpack:build": "cd examples/browser-webpack && npm install && npm run build",
+ "examples:node:commonjs:test": "cd examples/node-commonjs && npm install && npm test",
+ "examples:node:esmodules:test": "cd examples/node-esmodules && npm install && npm test",
+ "lint": "npm run eslint:check && npm run prettier:check",
+ "md": "runmd --watch --output=README.md README_js.md",
+ "prepack": "npm run build",
+ "pretest": "[ -n $CI ] || npm run build",
+ "pretest:benchmark": "npm run build",
+ "pretest:browser": "optional-dev-dependency && npm run build && npm-run-all --parallel examples:browser:**",
+ "pretest:node": "npm run build",
+ "prettier:check": "prettier --ignore-path .prettierignore --check '**/*.{js,jsx,json,md}'",
+ "prettier:fix": "prettier --ignore-path .prettierignore --write '**/*.{js,jsx,json,md}'",
+ "release": "standard-version --no-verify",
+ "test": "BABEL_ENV=commonjs node --throw-deprecation node_modules/.bin/jest test/unit/",
+ "test:benchmark": "cd examples/benchmark && npm install && npm test",
+ "test:browser": "wdio run ./wdio.conf.js",
+ "test:node": "npm-run-all --parallel examples:node:**",
+ "test:pack": "./scripts/testpack.sh"
+ },
+ "sideEffects": false,
+ "standard-version": {
+ "scripts": {
+ "postchangelog": "prettier --write CHANGELOG.md"
+ }
+ },
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "uuid@8.3.2",
+ "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "dependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuidv4": {
+ "_from": "uuidv4@^6.2.13",
+ "_id": "uuidv4@6.2.13",
+ "_integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "_location": "/uuidv4",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuidv4@6.2.13",
+ "name": "uuidv4",
+ "escapedName": "uuidv4",
+ "rawSpec": "6.2.13",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "6.2.13"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "_shasum": "8f95ec5ef22d1f92c8e5d4c70b735d1c89572cb7",
+ "_spec": "6.2.13",
+ "_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": {
+ "url": "https://github.com/thenativeweb/uuidv4/issues"
+ },
+ "contributors": [
+ {
+ "name": "Golo Roden",
+ "email": "golo.roden@thenativeweb.io"
+ },
+ {
+ "name": "Matthias Wagler",
+ "email": "matthias.wagler@thenativeweb.io"
+ },
+ {
+ "name": "Jan-Hendrik Grundhöfer",
+ "email": "jan-hendrik.grundhoefer@thenativeweb.io"
+ },
+ {
+ "name": "Sven Eppler",
+ "email": "sven.eppler@sodgeit.de"
+ },
+ {
+ "name": "Hannes Leutloff",
+ "email": "hannes.leutloff@thenativeweb.io"
+ }
+ ],
+ "dependencies": {
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": "[Circular]",
+ "contributors": "[Circular]",
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": "[Circular]",
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "devDependencies": "[Circular]",
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "@types/uuid"
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bin": "[Circular]",
+ "browser": "[Circular]",
+ "bugs": "[Circular]",
+ "commitlint": "[Circular]",
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": "[Circular]",
+ "exports": "[Circular]",
+ "files": "[Circular]",
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": "[Circular]",
+ "keywords": "[Circular]",
+ "license": "MIT",
+ "lint-staged": "[Circular]",
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": "[Circular]",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "sideEffects": false,
+ "standard-version": "[Circular]",
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "dependencies": {},
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "uuid"
+ }
+ },
+ "deprecated": false,
+ "description": "uuidv4 creates v4 UUIDs.",
+ "devDependencies": {
+ "assertthat": "6.4.0",
+ "roboter": "12.7.1",
+ "semantic-release-configuration": "2.0.7"
+ },
+ "homepage": "https://github.com/thenativeweb/uuidv4#readme",
+ "keywords": [
+ "guid",
+ "uuid"
+ ],
+ "license": "MIT",
+ "main": "build/lib/uuidv4.js",
+ "name": "uuidv4",
+ "private": false,
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/thenativeweb/uuidv4.git"
+ },
+ "scripts": {},
+ "types": "build/lib/uuidv4.d.ts",
+ "version": "6.2.13",
+ "readme": "# uuidv4\n\nuuidv4 creates v4 UUIDs.\n\n## Status\n\n| Category | Status |\n| ---------------- | --------------------------------------------------------------------------------------------------- |\n| Version | [](https://www.npmjs.com/package/uuidv4) |\n| Dependencies |  |\n| Dev dependencies |  |\n| Build |  |\n| License |  |\n\n## Please note\n\nThis module will be deprecated in the future in favour of module [uuid](https://www.npmjs.com/package/uuid). Most of the functionality of this module is already included in `uuid` since version `8.3.0`, so most of the functions of this module have already been marked as deprecated.\n\n## Installation\n\n```shell\n$ npm install uuidv4\n```\n\n## Quick start\n\nFirst you need to integrate uuidv4 into your project by using the `require` function:\n\n```javascript\nconst { uuid } = require('uuidv4');\n```\n\nIf you use TypeScript, use the following code instead:\n\n```typescript\nimport { uuid } from 'uuidv4';\n```\n\nThen you can create UUIDs. To do so simply call the `uuid` function:\n\n```javascript\nconsole.log(uuid());\n// => '11bf5b37-e0b8-42e0-8dcf-dc8c4aefc000'\n```\n\n### Verifying a UUID\n\nTo verify whether a given value is a UUID, use the `isUuid` function:\n\n```javascript\nimport { isUuid } from 'uuidv4';\n\nconsole.log(isUuid('75442486-0878-440c-9db1-a7006c25a39f'));\n// => true\n```\n\n_Please note that the `isUuid` function returns `true` for both, `v4` and `v5` UUIDs. In addition, `isUuid` returns `true` for `empty()`._\n\n#### Using a regular expression\n\nIf you want to perform the verification on your own using a regular expression, use the `regex` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { regex } from 'uuidv4';\n\nconsole.log(regex.v4);\nconsole.log(regex.v5);\n```\n\n_Please note that the regular expressions also consider `empty()` to be a valid UUID._\n\n#### Using a JSON schema\n\nIf you want to perform the verification on your own using a JSON schema, use the `jsonSchema` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { jsonSchema } from 'uuidv4';\n\nconsole.log(jsonSchema.v4);\nconsole.log(jsonSchema.v5);\n```\n\n_Please note that the JSON schemas also consider `empty()` to be a valid UUID._\n\n### Getting a UUID from a string\n\nFrom time to time you need an identifier that looks like a UUID, but is actually inferred from a string. For that, use the `fromString` function, which returns a UUID `v5`:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web'));\n// => 'cdb63720-9628-5ef6-bbca-2e5ce6094f3c'\n```\n\nBy default, the `fromString` function uses a pre-configured namespace. If you want to use your own namespace, provide a UUID as second parameter:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web', '004aadf4-8e1a-4450-905b-6039179f52da'));\n// => 'b1c4a89e-4905-5e3c-b57f-dc92627d011e'\n```\n\n### Getting the empty UUID\n\nIf you need a UUID that consists only of zeros, use the `empty` function:\n\n```javascript\nimport { empty } from 'uuidv4';\n\nconsole.log(empty());\n// => '00000000-0000-0000-0000-000000000000'\n```\n\n## Running quality assurance\n\nTo run quality assurance for this module use [roboter](https://www.npmjs.com/package/roboter):\n\n```shell\n$ npx roboter\n```\n",
+ "readmeFilename": "README.md",
+ "_optional": true,
+ "_args": [
+ [
+ "uuidv4@6.2.13",
+ "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "optionalDependencies": {},
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "error": "[Circular]",
+ "extraneous": false
+ }
+ },
+ "_id": "demo-dev-dependencies@0.0.0",
+ "_shrinkwrap": {
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@types/node": {
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "dev": true
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw=="
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "requires": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ }
+ }
}
},
- "optionalDependencies": {},
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
"error": "[Circular]",
"extraneous": false
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node14_windows-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node14_windows-latest.json
index fe89f1ed6..86d195912 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node14_windows-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node14_windows-latest.json
@@ -4,49 +4,39 @@
"private": true,
"version": "0.0.0",
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"readme": "ERROR: No README data found!",
- "_id": "demo-dev-dependencies@0.0.0",
- "_shrinkwrap": {
- "name": "demo-dev-dependencies",
- "version": "0.0.0",
- "lockfileVersion": 1,
- "requires": true,
- "dependencies": {
- "@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
- "dev": true
- }
- }
- },
"dependencies": {
"@types/node": {
"_from": "@types/node@>=16",
- "_id": "@types/node@18.11.9",
- "_integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "_id": "@types/node@18.15.11",
+ "_integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"_location": "/@types/node",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
- "raw": "@types/node@18.11.9",
+ "raw": "@types/node@18.15.11",
"name": "@types/node",
"escapedName": "@types%2fnode",
"scope": "@types",
- "rawSpec": "18.11.9",
+ "rawSpec": "18.15.11",
"saveSpec": null,
- "fetchSpec": "18.11.9"
+ "fetchSpec": "18.15.11"
},
"_requiredBy": [
"#DEV:/"
],
- "_resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "_shasum": "02d013de7058cea16d36168ef2fc653464cfbad4",
- "_spec": "18.11.9",
+ "_resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "_shasum": "b3b790f09cb1696cffcec605de025b088fa4225f",
+ "_spec": "18.15.11",
"_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
"bugs": {
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
@@ -215,6 +205,10 @@
{
"name": "Matteo Collina",
"url": "https://github.com/mcollina"
+ },
+ {
+ "name": "Dmitry Semigradsky",
+ "url": "https://github.com/Semigradsky"
}
],
"dependencies": {},
@@ -230,23 +224,23 @@
"directory": "types/node"
},
"scripts": {},
- "typeScriptVersion": "4.1",
+ "typeScriptVersion": "4.3",
"types": "index.d.ts",
- "typesPublisherContentHash": "c4994f0d5655c5ba44d4248f7f2765c3b1f8319a258377d18d73093af02d11b3",
+ "typesPublisherContentHash": "0b569b41848800d78adc39868da768013835b59322022dd1bb40be639e885045",
"typesVersions": {
- "<4.9.0-0": {
+ "<=4.8": {
"*": [
"ts4.8/*"
]
}
},
- "version": "18.11.9",
- "readme": "# Installation\r\n> `npm install --save @types/node`\r\n\r\n# Summary\r\nThis package contains type definitions for Node.js (https://nodejs.org/).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.\r\n\r\n### Additional Details\r\n * Last updated: Tue, 01 Nov 2022 09:32:58 GMT\r\n * Dependencies: none\r\n * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`\r\n\r\n# Credits\r\nThese definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), and [Matteo Collina](https://github.com/mcollina).\r\n",
+ "version": "18.15.11",
+ "readme": "# Installation\r\n> `npm install --save @types/node`\r\n\r\n# Summary\r\nThis package contains type definitions for Node.js (https://nodejs.org/).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.\r\n\r\n### Additional Details\r\n * Last updated: Tue, 28 Mar 2023 21:33:10 GMT\r\n * Dependencies: none\r\n * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`\r\n\r\n# Credits\r\nThese definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), [Matteo Collina](https://github.com/mcollina), and [Dmitry Semigradsky](https://github.com/Semigradsky).\r\n",
"readmeFilename": "README.md",
"_development": true,
"_args": [
[
- "@types/node@18.11.9",
+ "@types/node@18.15.11",
"D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project"
]
],
@@ -256,10 +250,509 @@
"path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\node",
"error": "[Circular]",
"extraneous": false
+ },
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "bugs": {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
+ },
+ "contributors": [
+ {
+ "name": "Oliver Hoffmann",
+ "url": "https://github.com/iamolivinius"
+ },
+ {
+ "name": "Felipe Ochoa",
+ "url": "https://github.com/felipeochoa"
+ },
+ {
+ "name": "Chris Barth",
+ "url": "https://github.com/cjbarth"
+ },
+ {
+ "name": "Linus Unnebäck",
+ "url": "https://github.com/LinusU"
+ },
+ {
+ "name": "Christoph Tavan",
+ "url": "https://github.com/ctavan"
+ }
+ ],
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": {
+ "./package.json": "./package.json",
+ ".": {
+ "types": {
+ "import": "./index.d.mts",
+ "default": "./index.d.ts"
+ }
+ }
+ },
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git",
+ "directory": "types/uuid"
+ },
+ "scripts": {},
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "@types/uuid@8.3.4",
+ "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project"
+ ]
+ ],
+ "devDependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "browser": {
+ "./dist/md5.js": "./dist/md5-browser.js",
+ "./dist/rng.js": "./dist/rng-browser.js",
+ "./dist/sha1.js": "./dist/sha1-browser.js",
+ "./dist/esm-node/index.js": "./dist/esm-browser/index.js"
+ },
+ "bugs": {
+ "url": "https://github.com/uuidjs/uuid/issues"
+ },
+ "commitlint": {
+ "extends": [
+ "@commitlint/config-conventional"
+ ]
+ },
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": {
+ "@babel/cli": "7.11.6",
+ "@babel/core": "7.11.6",
+ "@babel/preset-env": "7.11.5",
+ "@commitlint/cli": "11.0.0",
+ "@commitlint/config-conventional": "11.0.0",
+ "@rollup/plugin-node-resolve": "9.0.0",
+ "babel-eslint": "10.1.0",
+ "bundlewatch": "0.3.1",
+ "eslint": "7.10.0",
+ "eslint-config-prettier": "6.12.0",
+ "eslint-config-standard": "14.1.1",
+ "eslint-plugin-import": "2.22.1",
+ "eslint-plugin-node": "11.1.0",
+ "eslint-plugin-prettier": "3.1.4",
+ "eslint-plugin-promise": "4.2.1",
+ "eslint-plugin-standard": "4.0.1",
+ "husky": "4.3.0",
+ "jest": "25.5.4",
+ "lint-staged": "10.4.0",
+ "npm-run-all": "4.1.5",
+ "optional-dev-dependency": "2.0.1",
+ "prettier": "2.1.2",
+ "random-seed": "0.3.0",
+ "rollup": "2.28.2",
+ "rollup-plugin-terser": "7.0.2",
+ "runmd": "1.3.2",
+ "standard-version": "9.0.0"
+ },
+ "exports": {
+ ".": {
+ "node": {
+ "module": "./dist/esm-node/index.js",
+ "require": "./dist/index.js",
+ "import": "./wrapper.mjs"
+ },
+ "default": "./dist/esm-browser/index.js"
+ },
+ "./package.json": "./package.json"
+ },
+ "files": [
+ "CHANGELOG.md",
+ "CONTRIBUTING.md",
+ "LICENSE.md",
+ "README.md",
+ "dist",
+ "wrapper.mjs"
+ ],
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": {
+ "hooks": {
+ "commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
+ "pre-commit": "lint-staged"
+ }
+ },
+ "keywords": [
+ "uuid",
+ "guid",
+ "rfc4122"
+ ],
+ "license": "MIT",
+ "lint-staged": {
+ "*.{js,jsx,json,md}": [
+ "prettier --write"
+ ],
+ "*.{js,jsx}": [
+ "eslint --fix"
+ ]
+ },
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": {
+ "@wdio/browserstack-service": "6.4.0",
+ "@wdio/cli": "6.4.0",
+ "@wdio/jasmine-framework": "6.4.0",
+ "@wdio/local-runner": "6.4.0",
+ "@wdio/spec-reporter": "6.4.0",
+ "@wdio/static-server-service": "6.4.0",
+ "@wdio/sync": "6.4.0"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/uuidjs/uuid.git"
+ },
+ "scripts": {
+ "build": "./scripts/build.sh",
+ "bundlewatch": "npm run pretest:browser && bundlewatch --config bundlewatch.config.json",
+ "docs": "( node --version | grep -q 'v12' ) && ( npm run build && runmd --output=README.md README_js.md )",
+ "docs:diff": "npm run docs && git diff --quiet README.md",
+ "eslint:check": "eslint src/ test/ examples/ *.js",
+ "eslint:fix": "eslint --fix src/ test/ examples/ *.js",
+ "examples:browser:rollup:build": "cd examples/browser-rollup && npm install && npm run build",
+ "examples:browser:webpack:build": "cd examples/browser-webpack && npm install && npm run build",
+ "examples:node:commonjs:test": "cd examples/node-commonjs && npm install && npm test",
+ "examples:node:esmodules:test": "cd examples/node-esmodules && npm install && npm test",
+ "lint": "npm run eslint:check && npm run prettier:check",
+ "md": "runmd --watch --output=README.md README_js.md",
+ "prepack": "npm run build",
+ "pretest": "[ -n $CI ] || npm run build",
+ "pretest:benchmark": "npm run build",
+ "pretest:browser": "optional-dev-dependency && npm run build && npm-run-all --parallel examples:browser:**",
+ "pretest:node": "npm run build",
+ "prettier:check": "prettier --ignore-path .prettierignore --check '**/*.{js,jsx,json,md}'",
+ "prettier:fix": "prettier --ignore-path .prettierignore --write '**/*.{js,jsx,json,md}'",
+ "release": "standard-version --no-verify",
+ "test": "BABEL_ENV=commonjs node --throw-deprecation node_modules/.bin/jest test/unit/",
+ "test:benchmark": "cd examples/benchmark && npm install && npm test",
+ "test:browser": "wdio run ./wdio.conf.js",
+ "test:node": "npm-run-all --parallel examples:node:**",
+ "test:pack": "./scripts/testpack.sh"
+ },
+ "sideEffects": false,
+ "standard-version": {
+ "scripts": {
+ "postchangelog": "prettier --write CHANGELOG.md"
+ }
+ },
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "uuid@8.3.2",
+ "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project"
+ ]
+ ],
+ "dependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuidv4": {
+ "_from": "uuidv4@^6.2.13",
+ "_id": "uuidv4@6.2.13",
+ "_integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "_location": "/uuidv4",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuidv4@6.2.13",
+ "name": "uuidv4",
+ "escapedName": "uuidv4",
+ "rawSpec": "6.2.13",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "6.2.13"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "_shasum": "8f95ec5ef22d1f92c8e5d4c70b735d1c89572cb7",
+ "_spec": "6.2.13",
+ "_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "bugs": {
+ "url": "https://github.com/thenativeweb/uuidv4/issues"
+ },
+ "contributors": [
+ {
+ "name": "Golo Roden",
+ "email": "golo.roden@thenativeweb.io"
+ },
+ {
+ "name": "Matthias Wagler",
+ "email": "matthias.wagler@thenativeweb.io"
+ },
+ {
+ "name": "Jan-Hendrik Grundhöfer",
+ "email": "jan-hendrik.grundhoefer@thenativeweb.io"
+ },
+ {
+ "name": "Sven Eppler",
+ "email": "sven.eppler@sodgeit.de"
+ },
+ {
+ "name": "Hannes Leutloff",
+ "email": "hannes.leutloff@thenativeweb.io"
+ }
+ ],
+ "dependencies": {
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "bugs": "[Circular]",
+ "contributors": "[Circular]",
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": "[Circular]",
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "devDependencies": "[Circular]",
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "node_modules\\@types\\uuid"
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "bin": "[Circular]",
+ "browser": "[Circular]",
+ "bugs": "[Circular]",
+ "commitlint": "[Circular]",
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": "[Circular]",
+ "exports": "[Circular]",
+ "files": "[Circular]",
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": "[Circular]",
+ "keywords": "[Circular]",
+ "license": "MIT",
+ "lint-staged": "[Circular]",
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": "[Circular]",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "sideEffects": false,
+ "standard-version": "[Circular]",
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "dependencies": {},
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "node_modules\\uuid"
+ }
+ },
+ "deprecated": false,
+ "description": "uuidv4 creates v4 UUIDs.",
+ "devDependencies": {
+ "assertthat": "6.4.0",
+ "roboter": "12.7.1",
+ "semantic-release-configuration": "2.0.7"
+ },
+ "homepage": "https://github.com/thenativeweb/uuidv4#readme",
+ "keywords": [
+ "guid",
+ "uuid"
+ ],
+ "license": "MIT",
+ "main": "build/lib/uuidv4.js",
+ "name": "uuidv4",
+ "private": false,
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/thenativeweb/uuidv4.git"
+ },
+ "scripts": {},
+ "types": "build/lib/uuidv4.d.ts",
+ "version": "6.2.13",
+ "readme": "# uuidv4\n\nuuidv4 creates v4 UUIDs.\n\n## Status\n\n| Category | Status |\n| ---------------- | --------------------------------------------------------------------------------------------------- |\n| Version | [](https://www.npmjs.com/package/uuidv4) |\n| Dependencies |  |\n| Dev dependencies |  |\n| Build |  |\n| License |  |\n\n## Please note\n\nThis module will be deprecated in the future in favour of module [uuid](https://www.npmjs.com/package/uuid). Most of the functionality of this module is already included in `uuid` since version `8.3.0`, so most of the functions of this module have already been marked as deprecated.\n\n## Installation\n\n```shell\n$ npm install uuidv4\n```\n\n## Quick start\n\nFirst you need to integrate uuidv4 into your project by using the `require` function:\n\n```javascript\nconst { uuid } = require('uuidv4');\n```\n\nIf you use TypeScript, use the following code instead:\n\n```typescript\nimport { uuid } from 'uuidv4';\n```\n\nThen you can create UUIDs. To do so simply call the `uuid` function:\n\n```javascript\nconsole.log(uuid());\n// => '11bf5b37-e0b8-42e0-8dcf-dc8c4aefc000'\n```\n\n### Verifying a UUID\n\nTo verify whether a given value is a UUID, use the `isUuid` function:\n\n```javascript\nimport { isUuid } from 'uuidv4';\n\nconsole.log(isUuid('75442486-0878-440c-9db1-a7006c25a39f'));\n// => true\n```\n\n_Please note that the `isUuid` function returns `true` for both, `v4` and `v5` UUIDs. In addition, `isUuid` returns `true` for `empty()`._\n\n#### Using a regular expression\n\nIf you want to perform the verification on your own using a regular expression, use the `regex` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { regex } from 'uuidv4';\n\nconsole.log(regex.v4);\nconsole.log(regex.v5);\n```\n\n_Please note that the regular expressions also consider `empty()` to be a valid UUID._\n\n#### Using a JSON schema\n\nIf you want to perform the verification on your own using a JSON schema, use the `jsonSchema` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { jsonSchema } from 'uuidv4';\n\nconsole.log(jsonSchema.v4);\nconsole.log(jsonSchema.v5);\n```\n\n_Please note that the JSON schemas also consider `empty()` to be a valid UUID._\n\n### Getting a UUID from a string\n\nFrom time to time you need an identifier that looks like a UUID, but is actually inferred from a string. For that, use the `fromString` function, which returns a UUID `v5`:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web'));\n// => 'cdb63720-9628-5ef6-bbca-2e5ce6094f3c'\n```\n\nBy default, the `fromString` function uses a pre-configured namespace. If you want to use your own namespace, provide a UUID as second parameter:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web', '004aadf4-8e1a-4450-905b-6039179f52da'));\n// => 'b1c4a89e-4905-5e3c-b57f-dc92627d011e'\n```\n\n### Getting the empty UUID\n\nIf you need a UUID that consists only of zeros, use the `empty` function:\n\n```javascript\nimport { empty } from 'uuidv4';\n\nconsole.log(empty());\n// => '00000000-0000-0000-0000-000000000000'\n```\n\n## Running quality assurance\n\nTo run quality assurance for this module use [roboter](https://www.npmjs.com/package/roboter):\n\n```shell\n$ npx roboter\n```\n",
+ "readmeFilename": "README.md",
+ "_optional": true,
+ "_args": [
+ [
+ "uuidv4@6.2.13",
+ "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project"
+ ]
+ ],
+ "optionalDependencies": {},
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuidv4",
+ "error": "[Circular]",
+ "extraneous": false
+ }
+ },
+ "_id": "demo-dev-dependencies@0.0.0",
+ "_shrinkwrap": {
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@types/node": {
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "dev": true
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw=="
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "requires": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ }
+ }
}
},
- "optionalDependencies": {},
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
"error": "[Circular]",
"extraneous": false
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node16_macos-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node16_macos-latest.json
index 9e3ae145d..c480be6c6 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node16_macos-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node16_macos-latest.json
@@ -4,49 +4,39 @@
"private": true,
"version": "0.0.0",
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"readme": "ERROR: No README data found!",
- "_id": "demo-dev-dependencies@0.0.0",
- "_shrinkwrap": {
- "name": "demo-dev-dependencies",
- "version": "0.0.0",
- "lockfileVersion": 1,
- "requires": true,
- "dependencies": {
- "@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
- "dev": true
- }
- }
- },
"dependencies": {
"@types/node": {
"_from": "@types/node@>=16",
- "_id": "@types/node@18.11.9",
- "_integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "_id": "@types/node@18.15.11",
+ "_integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"_location": "/@types/node",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
- "raw": "@types/node@18.11.9",
+ "raw": "@types/node@18.15.11",
"name": "@types/node",
"escapedName": "@types%2fnode",
"scope": "@types",
- "rawSpec": "18.11.9",
+ "rawSpec": "18.15.11",
"saveSpec": null,
- "fetchSpec": "18.11.9"
+ "fetchSpec": "18.15.11"
},
"_requiredBy": [
"#DEV:/"
],
- "_resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "_shasum": "02d013de7058cea16d36168ef2fc653464cfbad4",
- "_spec": "18.11.9",
+ "_resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "_shasum": "b3b790f09cb1696cffcec605de025b088fa4225f",
+ "_spec": "18.15.11",
"_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
"bugs": {
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
@@ -215,6 +205,10 @@
{
"name": "Matteo Collina",
"url": "https://github.com/mcollina"
+ },
+ {
+ "name": "Dmitry Semigradsky",
+ "url": "https://github.com/Semigradsky"
}
],
"dependencies": {},
@@ -230,23 +224,23 @@
"directory": "types/node"
},
"scripts": {},
- "typeScriptVersion": "4.1",
+ "typeScriptVersion": "4.3",
"types": "index.d.ts",
- "typesPublisherContentHash": "c4994f0d5655c5ba44d4248f7f2765c3b1f8319a258377d18d73093af02d11b3",
+ "typesPublisherContentHash": "0b569b41848800d78adc39868da768013835b59322022dd1bb40be639e885045",
"typesVersions": {
- "<4.9.0-0": {
+ "<=4.8": {
"*": [
"ts4.8/*"
]
}
},
- "version": "18.11.9",
- "readme": "# Installation\r\n> `npm install --save @types/node`\r\n\r\n# Summary\r\nThis package contains type definitions for Node.js (https://nodejs.org/).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.\r\n\r\n### Additional Details\r\n * Last updated: Tue, 01 Nov 2022 09:32:58 GMT\r\n * Dependencies: none\r\n * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`\r\n\r\n# Credits\r\nThese definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), and [Matteo Collina](https://github.com/mcollina).\r\n",
+ "version": "18.15.11",
+ "readme": "# Installation\r\n> `npm install --save @types/node`\r\n\r\n# Summary\r\nThis package contains type definitions for Node.js (https://nodejs.org/).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.\r\n\r\n### Additional Details\r\n * Last updated: Tue, 28 Mar 2023 21:33:10 GMT\r\n * Dependencies: none\r\n * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`\r\n\r\n# Credits\r\nThese definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), [Matteo Collina](https://github.com/mcollina), and [Dmitry Semigradsky](https://github.com/Semigradsky).\r\n",
"readmeFilename": "README.md",
"_development": true,
"_args": [
[
- "@types/node@18.11.9",
+ "@types/node@18.15.11",
"/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
]
],
@@ -256,10 +250,509 @@
"path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
"error": "[Circular]",
"extraneous": false
+ },
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
+ },
+ "contributors": [
+ {
+ "name": "Oliver Hoffmann",
+ "url": "https://github.com/iamolivinius"
+ },
+ {
+ "name": "Felipe Ochoa",
+ "url": "https://github.com/felipeochoa"
+ },
+ {
+ "name": "Chris Barth",
+ "url": "https://github.com/cjbarth"
+ },
+ {
+ "name": "Linus Unnebäck",
+ "url": "https://github.com/LinusU"
+ },
+ {
+ "name": "Christoph Tavan",
+ "url": "https://github.com/ctavan"
+ }
+ ],
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": {
+ "./package.json": "./package.json",
+ ".": {
+ "types": {
+ "import": "./index.d.mts",
+ "default": "./index.d.ts"
+ }
+ }
+ },
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git",
+ "directory": "types/uuid"
+ },
+ "scripts": {},
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "@types/uuid@8.3.4",
+ "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "devDependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "browser": {
+ "./dist/md5.js": "./dist/md5-browser.js",
+ "./dist/rng.js": "./dist/rng-browser.js",
+ "./dist/sha1.js": "./dist/sha1-browser.js",
+ "./dist/esm-node/index.js": "./dist/esm-browser/index.js"
+ },
+ "bugs": {
+ "url": "https://github.com/uuidjs/uuid/issues"
+ },
+ "commitlint": {
+ "extends": [
+ "@commitlint/config-conventional"
+ ]
+ },
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": {
+ "@babel/cli": "7.11.6",
+ "@babel/core": "7.11.6",
+ "@babel/preset-env": "7.11.5",
+ "@commitlint/cli": "11.0.0",
+ "@commitlint/config-conventional": "11.0.0",
+ "@rollup/plugin-node-resolve": "9.0.0",
+ "babel-eslint": "10.1.0",
+ "bundlewatch": "0.3.1",
+ "eslint": "7.10.0",
+ "eslint-config-prettier": "6.12.0",
+ "eslint-config-standard": "14.1.1",
+ "eslint-plugin-import": "2.22.1",
+ "eslint-plugin-node": "11.1.0",
+ "eslint-plugin-prettier": "3.1.4",
+ "eslint-plugin-promise": "4.2.1",
+ "eslint-plugin-standard": "4.0.1",
+ "husky": "4.3.0",
+ "jest": "25.5.4",
+ "lint-staged": "10.4.0",
+ "npm-run-all": "4.1.5",
+ "optional-dev-dependency": "2.0.1",
+ "prettier": "2.1.2",
+ "random-seed": "0.3.0",
+ "rollup": "2.28.2",
+ "rollup-plugin-terser": "7.0.2",
+ "runmd": "1.3.2",
+ "standard-version": "9.0.0"
+ },
+ "exports": {
+ ".": {
+ "node": {
+ "module": "./dist/esm-node/index.js",
+ "require": "./dist/index.js",
+ "import": "./wrapper.mjs"
+ },
+ "default": "./dist/esm-browser/index.js"
+ },
+ "./package.json": "./package.json"
+ },
+ "files": [
+ "CHANGELOG.md",
+ "CONTRIBUTING.md",
+ "LICENSE.md",
+ "README.md",
+ "dist",
+ "wrapper.mjs"
+ ],
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": {
+ "hooks": {
+ "commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
+ "pre-commit": "lint-staged"
+ }
+ },
+ "keywords": [
+ "uuid",
+ "guid",
+ "rfc4122"
+ ],
+ "license": "MIT",
+ "lint-staged": {
+ "*.{js,jsx,json,md}": [
+ "prettier --write"
+ ],
+ "*.{js,jsx}": [
+ "eslint --fix"
+ ]
+ },
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": {
+ "@wdio/browserstack-service": "6.4.0",
+ "@wdio/cli": "6.4.0",
+ "@wdio/jasmine-framework": "6.4.0",
+ "@wdio/local-runner": "6.4.0",
+ "@wdio/spec-reporter": "6.4.0",
+ "@wdio/static-server-service": "6.4.0",
+ "@wdio/sync": "6.4.0"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/uuidjs/uuid.git"
+ },
+ "scripts": {
+ "build": "./scripts/build.sh",
+ "bundlewatch": "npm run pretest:browser && bundlewatch --config bundlewatch.config.json",
+ "docs": "( node --version | grep -q 'v12' ) && ( npm run build && runmd --output=README.md README_js.md )",
+ "docs:diff": "npm run docs && git diff --quiet README.md",
+ "eslint:check": "eslint src/ test/ examples/ *.js",
+ "eslint:fix": "eslint --fix src/ test/ examples/ *.js",
+ "examples:browser:rollup:build": "cd examples/browser-rollup && npm install && npm run build",
+ "examples:browser:webpack:build": "cd examples/browser-webpack && npm install && npm run build",
+ "examples:node:commonjs:test": "cd examples/node-commonjs && npm install && npm test",
+ "examples:node:esmodules:test": "cd examples/node-esmodules && npm install && npm test",
+ "lint": "npm run eslint:check && npm run prettier:check",
+ "md": "runmd --watch --output=README.md README_js.md",
+ "prepack": "npm run build",
+ "pretest": "[ -n $CI ] || npm run build",
+ "pretest:benchmark": "npm run build",
+ "pretest:browser": "optional-dev-dependency && npm run build && npm-run-all --parallel examples:browser:**",
+ "pretest:node": "npm run build",
+ "prettier:check": "prettier --ignore-path .prettierignore --check '**/*.{js,jsx,json,md}'",
+ "prettier:fix": "prettier --ignore-path .prettierignore --write '**/*.{js,jsx,json,md}'",
+ "release": "standard-version --no-verify",
+ "test": "BABEL_ENV=commonjs node --throw-deprecation node_modules/.bin/jest test/unit/",
+ "test:benchmark": "cd examples/benchmark && npm install && npm test",
+ "test:browser": "wdio run ./wdio.conf.js",
+ "test:node": "npm-run-all --parallel examples:node:**",
+ "test:pack": "./scripts/testpack.sh"
+ },
+ "sideEffects": false,
+ "standard-version": {
+ "scripts": {
+ "postchangelog": "prettier --write CHANGELOG.md"
+ }
+ },
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "uuid@8.3.2",
+ "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "dependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuidv4": {
+ "_from": "uuidv4@^6.2.13",
+ "_id": "uuidv4@6.2.13",
+ "_integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "_location": "/uuidv4",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuidv4@6.2.13",
+ "name": "uuidv4",
+ "escapedName": "uuidv4",
+ "rawSpec": "6.2.13",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "6.2.13"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "_shasum": "8f95ec5ef22d1f92c8e5d4c70b735d1c89572cb7",
+ "_spec": "6.2.13",
+ "_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": {
+ "url": "https://github.com/thenativeweb/uuidv4/issues"
+ },
+ "contributors": [
+ {
+ "name": "Golo Roden",
+ "email": "golo.roden@thenativeweb.io"
+ },
+ {
+ "name": "Matthias Wagler",
+ "email": "matthias.wagler@thenativeweb.io"
+ },
+ {
+ "name": "Jan-Hendrik Grundhöfer",
+ "email": "jan-hendrik.grundhoefer@thenativeweb.io"
+ },
+ {
+ "name": "Sven Eppler",
+ "email": "sven.eppler@sodgeit.de"
+ },
+ {
+ "name": "Hannes Leutloff",
+ "email": "hannes.leutloff@thenativeweb.io"
+ }
+ ],
+ "dependencies": {
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": "[Circular]",
+ "contributors": "[Circular]",
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": "[Circular]",
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "devDependencies": "[Circular]",
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "@types/uuid"
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bin": "[Circular]",
+ "browser": "[Circular]",
+ "bugs": "[Circular]",
+ "commitlint": "[Circular]",
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": "[Circular]",
+ "exports": "[Circular]",
+ "files": "[Circular]",
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": "[Circular]",
+ "keywords": "[Circular]",
+ "license": "MIT",
+ "lint-staged": "[Circular]",
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": "[Circular]",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "sideEffects": false,
+ "standard-version": "[Circular]",
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "dependencies": {},
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "uuid"
+ }
+ },
+ "deprecated": false,
+ "description": "uuidv4 creates v4 UUIDs.",
+ "devDependencies": {
+ "assertthat": "6.4.0",
+ "roboter": "12.7.1",
+ "semantic-release-configuration": "2.0.7"
+ },
+ "homepage": "https://github.com/thenativeweb/uuidv4#readme",
+ "keywords": [
+ "guid",
+ "uuid"
+ ],
+ "license": "MIT",
+ "main": "build/lib/uuidv4.js",
+ "name": "uuidv4",
+ "private": false,
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/thenativeweb/uuidv4.git"
+ },
+ "scripts": {},
+ "types": "build/lib/uuidv4.d.ts",
+ "version": "6.2.13",
+ "readme": "# uuidv4\n\nuuidv4 creates v4 UUIDs.\n\n## Status\n\n| Category | Status |\n| ---------------- | --------------------------------------------------------------------------------------------------- |\n| Version | [](https://www.npmjs.com/package/uuidv4) |\n| Dependencies |  |\n| Dev dependencies |  |\n| Build |  |\n| License |  |\n\n## Please note\n\nThis module will be deprecated in the future in favour of module [uuid](https://www.npmjs.com/package/uuid). Most of the functionality of this module is already included in `uuid` since version `8.3.0`, so most of the functions of this module have already been marked as deprecated.\n\n## Installation\n\n```shell\n$ npm install uuidv4\n```\n\n## Quick start\n\nFirst you need to integrate uuidv4 into your project by using the `require` function:\n\n```javascript\nconst { uuid } = require('uuidv4');\n```\n\nIf you use TypeScript, use the following code instead:\n\n```typescript\nimport { uuid } from 'uuidv4';\n```\n\nThen you can create UUIDs. To do so simply call the `uuid` function:\n\n```javascript\nconsole.log(uuid());\n// => '11bf5b37-e0b8-42e0-8dcf-dc8c4aefc000'\n```\n\n### Verifying a UUID\n\nTo verify whether a given value is a UUID, use the `isUuid` function:\n\n```javascript\nimport { isUuid } from 'uuidv4';\n\nconsole.log(isUuid('75442486-0878-440c-9db1-a7006c25a39f'));\n// => true\n```\n\n_Please note that the `isUuid` function returns `true` for both, `v4` and `v5` UUIDs. In addition, `isUuid` returns `true` for `empty()`._\n\n#### Using a regular expression\n\nIf you want to perform the verification on your own using a regular expression, use the `regex` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { regex } from 'uuidv4';\n\nconsole.log(regex.v4);\nconsole.log(regex.v5);\n```\n\n_Please note that the regular expressions also consider `empty()` to be a valid UUID._\n\n#### Using a JSON schema\n\nIf you want to perform the verification on your own using a JSON schema, use the `jsonSchema` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { jsonSchema } from 'uuidv4';\n\nconsole.log(jsonSchema.v4);\nconsole.log(jsonSchema.v5);\n```\n\n_Please note that the JSON schemas also consider `empty()` to be a valid UUID._\n\n### Getting a UUID from a string\n\nFrom time to time you need an identifier that looks like a UUID, but is actually inferred from a string. For that, use the `fromString` function, which returns a UUID `v5`:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web'));\n// => 'cdb63720-9628-5ef6-bbca-2e5ce6094f3c'\n```\n\nBy default, the `fromString` function uses a pre-configured namespace. If you want to use your own namespace, provide a UUID as second parameter:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web', '004aadf4-8e1a-4450-905b-6039179f52da'));\n// => 'b1c4a89e-4905-5e3c-b57f-dc92627d011e'\n```\n\n### Getting the empty UUID\n\nIf you need a UUID that consists only of zeros, use the `empty` function:\n\n```javascript\nimport { empty } from 'uuidv4';\n\nconsole.log(empty());\n// => '00000000-0000-0000-0000-000000000000'\n```\n\n## Running quality assurance\n\nTo run quality assurance for this module use [roboter](https://www.npmjs.com/package/roboter):\n\n```shell\n$ npx roboter\n```\n",
+ "readmeFilename": "README.md",
+ "_optional": true,
+ "_args": [
+ [
+ "uuidv4@6.2.13",
+ "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "optionalDependencies": {},
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "error": "[Circular]",
+ "extraneous": false
+ }
+ },
+ "_id": "demo-dev-dependencies@0.0.0",
+ "_shrinkwrap": {
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@types/node": {
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "dev": true
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw=="
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "requires": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ }
+ }
}
},
- "optionalDependencies": {},
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
"error": "[Circular]",
"extraneous": false
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node16_ubuntu-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node16_ubuntu-latest.json
index c49e14ace..2a83b9f44 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node16_ubuntu-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node16_ubuntu-latest.json
@@ -4,49 +4,39 @@
"private": true,
"version": "0.0.0",
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"readme": "ERROR: No README data found!",
- "_id": "demo-dev-dependencies@0.0.0",
- "_shrinkwrap": {
- "name": "demo-dev-dependencies",
- "version": "0.0.0",
- "lockfileVersion": 1,
- "requires": true,
- "dependencies": {
- "@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
- "dev": true
- }
- }
- },
"dependencies": {
"@types/node": {
"_from": "@types/node@>=16",
- "_id": "@types/node@18.11.9",
- "_integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "_id": "@types/node@18.15.11",
+ "_integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"_location": "/@types/node",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
- "raw": "@types/node@18.11.9",
+ "raw": "@types/node@18.15.11",
"name": "@types/node",
"escapedName": "@types%2fnode",
"scope": "@types",
- "rawSpec": "18.11.9",
+ "rawSpec": "18.15.11",
"saveSpec": null,
- "fetchSpec": "18.11.9"
+ "fetchSpec": "18.15.11"
},
"_requiredBy": [
"#DEV:/"
],
- "_resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "_shasum": "02d013de7058cea16d36168ef2fc653464cfbad4",
- "_spec": "18.11.9",
+ "_resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "_shasum": "b3b790f09cb1696cffcec605de025b088fa4225f",
+ "_spec": "18.15.11",
"_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
"bugs": {
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
@@ -215,6 +205,10 @@
{
"name": "Matteo Collina",
"url": "https://github.com/mcollina"
+ },
+ {
+ "name": "Dmitry Semigradsky",
+ "url": "https://github.com/Semigradsky"
}
],
"dependencies": {},
@@ -230,23 +224,23 @@
"directory": "types/node"
},
"scripts": {},
- "typeScriptVersion": "4.1",
+ "typeScriptVersion": "4.3",
"types": "index.d.ts",
- "typesPublisherContentHash": "c4994f0d5655c5ba44d4248f7f2765c3b1f8319a258377d18d73093af02d11b3",
+ "typesPublisherContentHash": "0b569b41848800d78adc39868da768013835b59322022dd1bb40be639e885045",
"typesVersions": {
- "<4.9.0-0": {
+ "<=4.8": {
"*": [
"ts4.8/*"
]
}
},
- "version": "18.11.9",
- "readme": "# Installation\r\n> `npm install --save @types/node`\r\n\r\n# Summary\r\nThis package contains type definitions for Node.js (https://nodejs.org/).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.\r\n\r\n### Additional Details\r\n * Last updated: Tue, 01 Nov 2022 09:32:58 GMT\r\n * Dependencies: none\r\n * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`\r\n\r\n# Credits\r\nThese definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), and [Matteo Collina](https://github.com/mcollina).\r\n",
+ "version": "18.15.11",
+ "readme": "# Installation\r\n> `npm install --save @types/node`\r\n\r\n# Summary\r\nThis package contains type definitions for Node.js (https://nodejs.org/).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.\r\n\r\n### Additional Details\r\n * Last updated: Tue, 28 Mar 2023 21:33:10 GMT\r\n * Dependencies: none\r\n * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`\r\n\r\n# Credits\r\nThese definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), [Matteo Collina](https://github.com/mcollina), and [Dmitry Semigradsky](https://github.com/Semigradsky).\r\n",
"readmeFilename": "README.md",
"_development": true,
"_args": [
[
- "@types/node@18.11.9",
+ "@types/node@18.15.11",
"/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
]
],
@@ -256,10 +250,509 @@
"path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
"error": "[Circular]",
"extraneous": false
+ },
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
+ },
+ "contributors": [
+ {
+ "name": "Oliver Hoffmann",
+ "url": "https://github.com/iamolivinius"
+ },
+ {
+ "name": "Felipe Ochoa",
+ "url": "https://github.com/felipeochoa"
+ },
+ {
+ "name": "Chris Barth",
+ "url": "https://github.com/cjbarth"
+ },
+ {
+ "name": "Linus Unnebäck",
+ "url": "https://github.com/LinusU"
+ },
+ {
+ "name": "Christoph Tavan",
+ "url": "https://github.com/ctavan"
+ }
+ ],
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": {
+ "./package.json": "./package.json",
+ ".": {
+ "types": {
+ "import": "./index.d.mts",
+ "default": "./index.d.ts"
+ }
+ }
+ },
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git",
+ "directory": "types/uuid"
+ },
+ "scripts": {},
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "@types/uuid@8.3.4",
+ "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "devDependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "browser": {
+ "./dist/md5.js": "./dist/md5-browser.js",
+ "./dist/rng.js": "./dist/rng-browser.js",
+ "./dist/sha1.js": "./dist/sha1-browser.js",
+ "./dist/esm-node/index.js": "./dist/esm-browser/index.js"
+ },
+ "bugs": {
+ "url": "https://github.com/uuidjs/uuid/issues"
+ },
+ "commitlint": {
+ "extends": [
+ "@commitlint/config-conventional"
+ ]
+ },
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": {
+ "@babel/cli": "7.11.6",
+ "@babel/core": "7.11.6",
+ "@babel/preset-env": "7.11.5",
+ "@commitlint/cli": "11.0.0",
+ "@commitlint/config-conventional": "11.0.0",
+ "@rollup/plugin-node-resolve": "9.0.0",
+ "babel-eslint": "10.1.0",
+ "bundlewatch": "0.3.1",
+ "eslint": "7.10.0",
+ "eslint-config-prettier": "6.12.0",
+ "eslint-config-standard": "14.1.1",
+ "eslint-plugin-import": "2.22.1",
+ "eslint-plugin-node": "11.1.0",
+ "eslint-plugin-prettier": "3.1.4",
+ "eslint-plugin-promise": "4.2.1",
+ "eslint-plugin-standard": "4.0.1",
+ "husky": "4.3.0",
+ "jest": "25.5.4",
+ "lint-staged": "10.4.0",
+ "npm-run-all": "4.1.5",
+ "optional-dev-dependency": "2.0.1",
+ "prettier": "2.1.2",
+ "random-seed": "0.3.0",
+ "rollup": "2.28.2",
+ "rollup-plugin-terser": "7.0.2",
+ "runmd": "1.3.2",
+ "standard-version": "9.0.0"
+ },
+ "exports": {
+ ".": {
+ "node": {
+ "module": "./dist/esm-node/index.js",
+ "require": "./dist/index.js",
+ "import": "./wrapper.mjs"
+ },
+ "default": "./dist/esm-browser/index.js"
+ },
+ "./package.json": "./package.json"
+ },
+ "files": [
+ "CHANGELOG.md",
+ "CONTRIBUTING.md",
+ "LICENSE.md",
+ "README.md",
+ "dist",
+ "wrapper.mjs"
+ ],
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": {
+ "hooks": {
+ "commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
+ "pre-commit": "lint-staged"
+ }
+ },
+ "keywords": [
+ "uuid",
+ "guid",
+ "rfc4122"
+ ],
+ "license": "MIT",
+ "lint-staged": {
+ "*.{js,jsx,json,md}": [
+ "prettier --write"
+ ],
+ "*.{js,jsx}": [
+ "eslint --fix"
+ ]
+ },
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": {
+ "@wdio/browserstack-service": "6.4.0",
+ "@wdio/cli": "6.4.0",
+ "@wdio/jasmine-framework": "6.4.0",
+ "@wdio/local-runner": "6.4.0",
+ "@wdio/spec-reporter": "6.4.0",
+ "@wdio/static-server-service": "6.4.0",
+ "@wdio/sync": "6.4.0"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/uuidjs/uuid.git"
+ },
+ "scripts": {
+ "build": "./scripts/build.sh",
+ "bundlewatch": "npm run pretest:browser && bundlewatch --config bundlewatch.config.json",
+ "docs": "( node --version | grep -q 'v12' ) && ( npm run build && runmd --output=README.md README_js.md )",
+ "docs:diff": "npm run docs && git diff --quiet README.md",
+ "eslint:check": "eslint src/ test/ examples/ *.js",
+ "eslint:fix": "eslint --fix src/ test/ examples/ *.js",
+ "examples:browser:rollup:build": "cd examples/browser-rollup && npm install && npm run build",
+ "examples:browser:webpack:build": "cd examples/browser-webpack && npm install && npm run build",
+ "examples:node:commonjs:test": "cd examples/node-commonjs && npm install && npm test",
+ "examples:node:esmodules:test": "cd examples/node-esmodules && npm install && npm test",
+ "lint": "npm run eslint:check && npm run prettier:check",
+ "md": "runmd --watch --output=README.md README_js.md",
+ "prepack": "npm run build",
+ "pretest": "[ -n $CI ] || npm run build",
+ "pretest:benchmark": "npm run build",
+ "pretest:browser": "optional-dev-dependency && npm run build && npm-run-all --parallel examples:browser:**",
+ "pretest:node": "npm run build",
+ "prettier:check": "prettier --ignore-path .prettierignore --check '**/*.{js,jsx,json,md}'",
+ "prettier:fix": "prettier --ignore-path .prettierignore --write '**/*.{js,jsx,json,md}'",
+ "release": "standard-version --no-verify",
+ "test": "BABEL_ENV=commonjs node --throw-deprecation node_modules/.bin/jest test/unit/",
+ "test:benchmark": "cd examples/benchmark && npm install && npm test",
+ "test:browser": "wdio run ./wdio.conf.js",
+ "test:node": "npm-run-all --parallel examples:node:**",
+ "test:pack": "./scripts/testpack.sh"
+ },
+ "sideEffects": false,
+ "standard-version": {
+ "scripts": {
+ "postchangelog": "prettier --write CHANGELOG.md"
+ }
+ },
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "uuid@8.3.2",
+ "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "dependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuidv4": {
+ "_from": "uuidv4@^6.2.13",
+ "_id": "uuidv4@6.2.13",
+ "_integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "_location": "/uuidv4",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuidv4@6.2.13",
+ "name": "uuidv4",
+ "escapedName": "uuidv4",
+ "rawSpec": "6.2.13",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "6.2.13"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "_shasum": "8f95ec5ef22d1f92c8e5d4c70b735d1c89572cb7",
+ "_spec": "6.2.13",
+ "_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": {
+ "url": "https://github.com/thenativeweb/uuidv4/issues"
+ },
+ "contributors": [
+ {
+ "name": "Golo Roden",
+ "email": "golo.roden@thenativeweb.io"
+ },
+ {
+ "name": "Matthias Wagler",
+ "email": "matthias.wagler@thenativeweb.io"
+ },
+ {
+ "name": "Jan-Hendrik Grundhöfer",
+ "email": "jan-hendrik.grundhoefer@thenativeweb.io"
+ },
+ {
+ "name": "Sven Eppler",
+ "email": "sven.eppler@sodgeit.de"
+ },
+ {
+ "name": "Hannes Leutloff",
+ "email": "hannes.leutloff@thenativeweb.io"
+ }
+ ],
+ "dependencies": {
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": "[Circular]",
+ "contributors": "[Circular]",
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": "[Circular]",
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "devDependencies": "[Circular]",
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "@types/uuid"
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bin": "[Circular]",
+ "browser": "[Circular]",
+ "bugs": "[Circular]",
+ "commitlint": "[Circular]",
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": "[Circular]",
+ "exports": "[Circular]",
+ "files": "[Circular]",
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": "[Circular]",
+ "keywords": "[Circular]",
+ "license": "MIT",
+ "lint-staged": "[Circular]",
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": "[Circular]",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "sideEffects": false,
+ "standard-version": "[Circular]",
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "dependencies": {},
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "uuid"
+ }
+ },
+ "deprecated": false,
+ "description": "uuidv4 creates v4 UUIDs.",
+ "devDependencies": {
+ "assertthat": "6.4.0",
+ "roboter": "12.7.1",
+ "semantic-release-configuration": "2.0.7"
+ },
+ "homepage": "https://github.com/thenativeweb/uuidv4#readme",
+ "keywords": [
+ "guid",
+ "uuid"
+ ],
+ "license": "MIT",
+ "main": "build/lib/uuidv4.js",
+ "name": "uuidv4",
+ "private": false,
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/thenativeweb/uuidv4.git"
+ },
+ "scripts": {},
+ "types": "build/lib/uuidv4.d.ts",
+ "version": "6.2.13",
+ "readme": "# uuidv4\n\nuuidv4 creates v4 UUIDs.\n\n## Status\n\n| Category | Status |\n| ---------------- | --------------------------------------------------------------------------------------------------- |\n| Version | [](https://www.npmjs.com/package/uuidv4) |\n| Dependencies |  |\n| Dev dependencies |  |\n| Build |  |\n| License |  |\n\n## Please note\n\nThis module will be deprecated in the future in favour of module [uuid](https://www.npmjs.com/package/uuid). Most of the functionality of this module is already included in `uuid` since version `8.3.0`, so most of the functions of this module have already been marked as deprecated.\n\n## Installation\n\n```shell\n$ npm install uuidv4\n```\n\n## Quick start\n\nFirst you need to integrate uuidv4 into your project by using the `require` function:\n\n```javascript\nconst { uuid } = require('uuidv4');\n```\n\nIf you use TypeScript, use the following code instead:\n\n```typescript\nimport { uuid } from 'uuidv4';\n```\n\nThen you can create UUIDs. To do so simply call the `uuid` function:\n\n```javascript\nconsole.log(uuid());\n// => '11bf5b37-e0b8-42e0-8dcf-dc8c4aefc000'\n```\n\n### Verifying a UUID\n\nTo verify whether a given value is a UUID, use the `isUuid` function:\n\n```javascript\nimport { isUuid } from 'uuidv4';\n\nconsole.log(isUuid('75442486-0878-440c-9db1-a7006c25a39f'));\n// => true\n```\n\n_Please note that the `isUuid` function returns `true` for both, `v4` and `v5` UUIDs. In addition, `isUuid` returns `true` for `empty()`._\n\n#### Using a regular expression\n\nIf you want to perform the verification on your own using a regular expression, use the `regex` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { regex } from 'uuidv4';\n\nconsole.log(regex.v4);\nconsole.log(regex.v5);\n```\n\n_Please note that the regular expressions also consider `empty()` to be a valid UUID._\n\n#### Using a JSON schema\n\nIf you want to perform the verification on your own using a JSON schema, use the `jsonSchema` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { jsonSchema } from 'uuidv4';\n\nconsole.log(jsonSchema.v4);\nconsole.log(jsonSchema.v5);\n```\n\n_Please note that the JSON schemas also consider `empty()` to be a valid UUID._\n\n### Getting a UUID from a string\n\nFrom time to time you need an identifier that looks like a UUID, but is actually inferred from a string. For that, use the `fromString` function, which returns a UUID `v5`:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web'));\n// => 'cdb63720-9628-5ef6-bbca-2e5ce6094f3c'\n```\n\nBy default, the `fromString` function uses a pre-configured namespace. If you want to use your own namespace, provide a UUID as second parameter:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web', '004aadf4-8e1a-4450-905b-6039179f52da'));\n// => 'b1c4a89e-4905-5e3c-b57f-dc92627d011e'\n```\n\n### Getting the empty UUID\n\nIf you need a UUID that consists only of zeros, use the `empty` function:\n\n```javascript\nimport { empty } from 'uuidv4';\n\nconsole.log(empty());\n// => '00000000-0000-0000-0000-000000000000'\n```\n\n## Running quality assurance\n\nTo run quality assurance for this module use [roboter](https://www.npmjs.com/package/roboter):\n\n```shell\n$ npx roboter\n```\n",
+ "readmeFilename": "README.md",
+ "_optional": true,
+ "_args": [
+ [
+ "uuidv4@6.2.13",
+ "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "optionalDependencies": {},
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "error": "[Circular]",
+ "extraneous": false
+ }
+ },
+ "_id": "demo-dev-dependencies@0.0.0",
+ "_shrinkwrap": {
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@types/node": {
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "dev": true
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw=="
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "requires": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ }
+ }
}
},
- "optionalDependencies": {},
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
"error": "[Circular]",
"extraneous": false
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node16_windows-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node16_windows-latest.json
index fe89f1ed6..86d195912 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node16_windows-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node16_windows-latest.json
@@ -4,49 +4,39 @@
"private": true,
"version": "0.0.0",
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"readme": "ERROR: No README data found!",
- "_id": "demo-dev-dependencies@0.0.0",
- "_shrinkwrap": {
- "name": "demo-dev-dependencies",
- "version": "0.0.0",
- "lockfileVersion": 1,
- "requires": true,
- "dependencies": {
- "@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
- "dev": true
- }
- }
- },
"dependencies": {
"@types/node": {
"_from": "@types/node@>=16",
- "_id": "@types/node@18.11.9",
- "_integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "_id": "@types/node@18.15.11",
+ "_integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"_location": "/@types/node",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
- "raw": "@types/node@18.11.9",
+ "raw": "@types/node@18.15.11",
"name": "@types/node",
"escapedName": "@types%2fnode",
"scope": "@types",
- "rawSpec": "18.11.9",
+ "rawSpec": "18.15.11",
"saveSpec": null,
- "fetchSpec": "18.11.9"
+ "fetchSpec": "18.15.11"
},
"_requiredBy": [
"#DEV:/"
],
- "_resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "_shasum": "02d013de7058cea16d36168ef2fc653464cfbad4",
- "_spec": "18.11.9",
+ "_resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "_shasum": "b3b790f09cb1696cffcec605de025b088fa4225f",
+ "_spec": "18.15.11",
"_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
"bugs": {
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
@@ -215,6 +205,10 @@
{
"name": "Matteo Collina",
"url": "https://github.com/mcollina"
+ },
+ {
+ "name": "Dmitry Semigradsky",
+ "url": "https://github.com/Semigradsky"
}
],
"dependencies": {},
@@ -230,23 +224,23 @@
"directory": "types/node"
},
"scripts": {},
- "typeScriptVersion": "4.1",
+ "typeScriptVersion": "4.3",
"types": "index.d.ts",
- "typesPublisherContentHash": "c4994f0d5655c5ba44d4248f7f2765c3b1f8319a258377d18d73093af02d11b3",
+ "typesPublisherContentHash": "0b569b41848800d78adc39868da768013835b59322022dd1bb40be639e885045",
"typesVersions": {
- "<4.9.0-0": {
+ "<=4.8": {
"*": [
"ts4.8/*"
]
}
},
- "version": "18.11.9",
- "readme": "# Installation\r\n> `npm install --save @types/node`\r\n\r\n# Summary\r\nThis package contains type definitions for Node.js (https://nodejs.org/).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.\r\n\r\n### Additional Details\r\n * Last updated: Tue, 01 Nov 2022 09:32:58 GMT\r\n * Dependencies: none\r\n * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`\r\n\r\n# Credits\r\nThese definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), and [Matteo Collina](https://github.com/mcollina).\r\n",
+ "version": "18.15.11",
+ "readme": "# Installation\r\n> `npm install --save @types/node`\r\n\r\n# Summary\r\nThis package contains type definitions for Node.js (https://nodejs.org/).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.\r\n\r\n### Additional Details\r\n * Last updated: Tue, 28 Mar 2023 21:33:10 GMT\r\n * Dependencies: none\r\n * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`\r\n\r\n# Credits\r\nThese definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), [Matteo Collina](https://github.com/mcollina), and [Dmitry Semigradsky](https://github.com/Semigradsky).\r\n",
"readmeFilename": "README.md",
"_development": true,
"_args": [
[
- "@types/node@18.11.9",
+ "@types/node@18.15.11",
"D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project"
]
],
@@ -256,10 +250,509 @@
"path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\node",
"error": "[Circular]",
"extraneous": false
+ },
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "bugs": {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
+ },
+ "contributors": [
+ {
+ "name": "Oliver Hoffmann",
+ "url": "https://github.com/iamolivinius"
+ },
+ {
+ "name": "Felipe Ochoa",
+ "url": "https://github.com/felipeochoa"
+ },
+ {
+ "name": "Chris Barth",
+ "url": "https://github.com/cjbarth"
+ },
+ {
+ "name": "Linus Unnebäck",
+ "url": "https://github.com/LinusU"
+ },
+ {
+ "name": "Christoph Tavan",
+ "url": "https://github.com/ctavan"
+ }
+ ],
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": {
+ "./package.json": "./package.json",
+ ".": {
+ "types": {
+ "import": "./index.d.mts",
+ "default": "./index.d.ts"
+ }
+ }
+ },
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git",
+ "directory": "types/uuid"
+ },
+ "scripts": {},
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "@types/uuid@8.3.4",
+ "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project"
+ ]
+ ],
+ "devDependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "browser": {
+ "./dist/md5.js": "./dist/md5-browser.js",
+ "./dist/rng.js": "./dist/rng-browser.js",
+ "./dist/sha1.js": "./dist/sha1-browser.js",
+ "./dist/esm-node/index.js": "./dist/esm-browser/index.js"
+ },
+ "bugs": {
+ "url": "https://github.com/uuidjs/uuid/issues"
+ },
+ "commitlint": {
+ "extends": [
+ "@commitlint/config-conventional"
+ ]
+ },
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": {
+ "@babel/cli": "7.11.6",
+ "@babel/core": "7.11.6",
+ "@babel/preset-env": "7.11.5",
+ "@commitlint/cli": "11.0.0",
+ "@commitlint/config-conventional": "11.0.0",
+ "@rollup/plugin-node-resolve": "9.0.0",
+ "babel-eslint": "10.1.0",
+ "bundlewatch": "0.3.1",
+ "eslint": "7.10.0",
+ "eslint-config-prettier": "6.12.0",
+ "eslint-config-standard": "14.1.1",
+ "eslint-plugin-import": "2.22.1",
+ "eslint-plugin-node": "11.1.0",
+ "eslint-plugin-prettier": "3.1.4",
+ "eslint-plugin-promise": "4.2.1",
+ "eslint-plugin-standard": "4.0.1",
+ "husky": "4.3.0",
+ "jest": "25.5.4",
+ "lint-staged": "10.4.0",
+ "npm-run-all": "4.1.5",
+ "optional-dev-dependency": "2.0.1",
+ "prettier": "2.1.2",
+ "random-seed": "0.3.0",
+ "rollup": "2.28.2",
+ "rollup-plugin-terser": "7.0.2",
+ "runmd": "1.3.2",
+ "standard-version": "9.0.0"
+ },
+ "exports": {
+ ".": {
+ "node": {
+ "module": "./dist/esm-node/index.js",
+ "require": "./dist/index.js",
+ "import": "./wrapper.mjs"
+ },
+ "default": "./dist/esm-browser/index.js"
+ },
+ "./package.json": "./package.json"
+ },
+ "files": [
+ "CHANGELOG.md",
+ "CONTRIBUTING.md",
+ "LICENSE.md",
+ "README.md",
+ "dist",
+ "wrapper.mjs"
+ ],
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": {
+ "hooks": {
+ "commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
+ "pre-commit": "lint-staged"
+ }
+ },
+ "keywords": [
+ "uuid",
+ "guid",
+ "rfc4122"
+ ],
+ "license": "MIT",
+ "lint-staged": {
+ "*.{js,jsx,json,md}": [
+ "prettier --write"
+ ],
+ "*.{js,jsx}": [
+ "eslint --fix"
+ ]
+ },
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": {
+ "@wdio/browserstack-service": "6.4.0",
+ "@wdio/cli": "6.4.0",
+ "@wdio/jasmine-framework": "6.4.0",
+ "@wdio/local-runner": "6.4.0",
+ "@wdio/spec-reporter": "6.4.0",
+ "@wdio/static-server-service": "6.4.0",
+ "@wdio/sync": "6.4.0"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/uuidjs/uuid.git"
+ },
+ "scripts": {
+ "build": "./scripts/build.sh",
+ "bundlewatch": "npm run pretest:browser && bundlewatch --config bundlewatch.config.json",
+ "docs": "( node --version | grep -q 'v12' ) && ( npm run build && runmd --output=README.md README_js.md )",
+ "docs:diff": "npm run docs && git diff --quiet README.md",
+ "eslint:check": "eslint src/ test/ examples/ *.js",
+ "eslint:fix": "eslint --fix src/ test/ examples/ *.js",
+ "examples:browser:rollup:build": "cd examples/browser-rollup && npm install && npm run build",
+ "examples:browser:webpack:build": "cd examples/browser-webpack && npm install && npm run build",
+ "examples:node:commonjs:test": "cd examples/node-commonjs && npm install && npm test",
+ "examples:node:esmodules:test": "cd examples/node-esmodules && npm install && npm test",
+ "lint": "npm run eslint:check && npm run prettier:check",
+ "md": "runmd --watch --output=README.md README_js.md",
+ "prepack": "npm run build",
+ "pretest": "[ -n $CI ] || npm run build",
+ "pretest:benchmark": "npm run build",
+ "pretest:browser": "optional-dev-dependency && npm run build && npm-run-all --parallel examples:browser:**",
+ "pretest:node": "npm run build",
+ "prettier:check": "prettier --ignore-path .prettierignore --check '**/*.{js,jsx,json,md}'",
+ "prettier:fix": "prettier --ignore-path .prettierignore --write '**/*.{js,jsx,json,md}'",
+ "release": "standard-version --no-verify",
+ "test": "BABEL_ENV=commonjs node --throw-deprecation node_modules/.bin/jest test/unit/",
+ "test:benchmark": "cd examples/benchmark && npm install && npm test",
+ "test:browser": "wdio run ./wdio.conf.js",
+ "test:node": "npm-run-all --parallel examples:node:**",
+ "test:pack": "./scripts/testpack.sh"
+ },
+ "sideEffects": false,
+ "standard-version": {
+ "scripts": {
+ "postchangelog": "prettier --write CHANGELOG.md"
+ }
+ },
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "uuid@8.3.2",
+ "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project"
+ ]
+ ],
+ "dependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuidv4": {
+ "_from": "uuidv4@^6.2.13",
+ "_id": "uuidv4@6.2.13",
+ "_integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "_location": "/uuidv4",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuidv4@6.2.13",
+ "name": "uuidv4",
+ "escapedName": "uuidv4",
+ "rawSpec": "6.2.13",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "6.2.13"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "_shasum": "8f95ec5ef22d1f92c8e5d4c70b735d1c89572cb7",
+ "_spec": "6.2.13",
+ "_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "bugs": {
+ "url": "https://github.com/thenativeweb/uuidv4/issues"
+ },
+ "contributors": [
+ {
+ "name": "Golo Roden",
+ "email": "golo.roden@thenativeweb.io"
+ },
+ {
+ "name": "Matthias Wagler",
+ "email": "matthias.wagler@thenativeweb.io"
+ },
+ {
+ "name": "Jan-Hendrik Grundhöfer",
+ "email": "jan-hendrik.grundhoefer@thenativeweb.io"
+ },
+ {
+ "name": "Sven Eppler",
+ "email": "sven.eppler@sodgeit.de"
+ },
+ {
+ "name": "Hannes Leutloff",
+ "email": "hannes.leutloff@thenativeweb.io"
+ }
+ ],
+ "dependencies": {
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "bugs": "[Circular]",
+ "contributors": "[Circular]",
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": "[Circular]",
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "devDependencies": "[Circular]",
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "node_modules\\@types\\uuid"
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "bin": "[Circular]",
+ "browser": "[Circular]",
+ "bugs": "[Circular]",
+ "commitlint": "[Circular]",
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": "[Circular]",
+ "exports": "[Circular]",
+ "files": "[Circular]",
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": "[Circular]",
+ "keywords": "[Circular]",
+ "license": "MIT",
+ "lint-staged": "[Circular]",
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": "[Circular]",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "sideEffects": false,
+ "standard-version": "[Circular]",
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "dependencies": {},
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "node_modules\\uuid"
+ }
+ },
+ "deprecated": false,
+ "description": "uuidv4 creates v4 UUIDs.",
+ "devDependencies": {
+ "assertthat": "6.4.0",
+ "roboter": "12.7.1",
+ "semantic-release-configuration": "2.0.7"
+ },
+ "homepage": "https://github.com/thenativeweb/uuidv4#readme",
+ "keywords": [
+ "guid",
+ "uuid"
+ ],
+ "license": "MIT",
+ "main": "build/lib/uuidv4.js",
+ "name": "uuidv4",
+ "private": false,
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/thenativeweb/uuidv4.git"
+ },
+ "scripts": {},
+ "types": "build/lib/uuidv4.d.ts",
+ "version": "6.2.13",
+ "readme": "# uuidv4\n\nuuidv4 creates v4 UUIDs.\n\n## Status\n\n| Category | Status |\n| ---------------- | --------------------------------------------------------------------------------------------------- |\n| Version | [](https://www.npmjs.com/package/uuidv4) |\n| Dependencies |  |\n| Dev dependencies |  |\n| Build |  |\n| License |  |\n\n## Please note\n\nThis module will be deprecated in the future in favour of module [uuid](https://www.npmjs.com/package/uuid). Most of the functionality of this module is already included in `uuid` since version `8.3.0`, so most of the functions of this module have already been marked as deprecated.\n\n## Installation\n\n```shell\n$ npm install uuidv4\n```\n\n## Quick start\n\nFirst you need to integrate uuidv4 into your project by using the `require` function:\n\n```javascript\nconst { uuid } = require('uuidv4');\n```\n\nIf you use TypeScript, use the following code instead:\n\n```typescript\nimport { uuid } from 'uuidv4';\n```\n\nThen you can create UUIDs. To do so simply call the `uuid` function:\n\n```javascript\nconsole.log(uuid());\n// => '11bf5b37-e0b8-42e0-8dcf-dc8c4aefc000'\n```\n\n### Verifying a UUID\n\nTo verify whether a given value is a UUID, use the `isUuid` function:\n\n```javascript\nimport { isUuid } from 'uuidv4';\n\nconsole.log(isUuid('75442486-0878-440c-9db1-a7006c25a39f'));\n// => true\n```\n\n_Please note that the `isUuid` function returns `true` for both, `v4` and `v5` UUIDs. In addition, `isUuid` returns `true` for `empty()`._\n\n#### Using a regular expression\n\nIf you want to perform the verification on your own using a regular expression, use the `regex` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { regex } from 'uuidv4';\n\nconsole.log(regex.v4);\nconsole.log(regex.v5);\n```\n\n_Please note that the regular expressions also consider `empty()` to be a valid UUID._\n\n#### Using a JSON schema\n\nIf you want to perform the verification on your own using a JSON schema, use the `jsonSchema` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { jsonSchema } from 'uuidv4';\n\nconsole.log(jsonSchema.v4);\nconsole.log(jsonSchema.v5);\n```\n\n_Please note that the JSON schemas also consider `empty()` to be a valid UUID._\n\n### Getting a UUID from a string\n\nFrom time to time you need an identifier that looks like a UUID, but is actually inferred from a string. For that, use the `fromString` function, which returns a UUID `v5`:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web'));\n// => 'cdb63720-9628-5ef6-bbca-2e5ce6094f3c'\n```\n\nBy default, the `fromString` function uses a pre-configured namespace. If you want to use your own namespace, provide a UUID as second parameter:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web', '004aadf4-8e1a-4450-905b-6039179f52da'));\n// => 'b1c4a89e-4905-5e3c-b57f-dc92627d011e'\n```\n\n### Getting the empty UUID\n\nIf you need a UUID that consists only of zeros, use the `empty` function:\n\n```javascript\nimport { empty } from 'uuidv4';\n\nconsole.log(empty());\n// => '00000000-0000-0000-0000-000000000000'\n```\n\n## Running quality assurance\n\nTo run quality assurance for this module use [roboter](https://www.npmjs.com/package/roboter):\n\n```shell\n$ npx roboter\n```\n",
+ "readmeFilename": "README.md",
+ "_optional": true,
+ "_args": [
+ [
+ "uuidv4@6.2.13",
+ "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project"
+ ]
+ ],
+ "optionalDependencies": {},
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuidv4",
+ "error": "[Circular]",
+ "extraneous": false
+ }
+ },
+ "_id": "demo-dev-dependencies@0.0.0",
+ "_shrinkwrap": {
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@types/node": {
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "dev": true
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw=="
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "requires": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ }
+ }
}
},
- "optionalDependencies": {},
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
"error": "[Circular]",
"extraneous": false
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node18_macos-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node18_macos-latest.json
index 9e3ae145d..c480be6c6 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node18_macos-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node18_macos-latest.json
@@ -4,49 +4,39 @@
"private": true,
"version": "0.0.0",
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"readme": "ERROR: No README data found!",
- "_id": "demo-dev-dependencies@0.0.0",
- "_shrinkwrap": {
- "name": "demo-dev-dependencies",
- "version": "0.0.0",
- "lockfileVersion": 1,
- "requires": true,
- "dependencies": {
- "@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
- "dev": true
- }
- }
- },
"dependencies": {
"@types/node": {
"_from": "@types/node@>=16",
- "_id": "@types/node@18.11.9",
- "_integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "_id": "@types/node@18.15.11",
+ "_integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"_location": "/@types/node",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
- "raw": "@types/node@18.11.9",
+ "raw": "@types/node@18.15.11",
"name": "@types/node",
"escapedName": "@types%2fnode",
"scope": "@types",
- "rawSpec": "18.11.9",
+ "rawSpec": "18.15.11",
"saveSpec": null,
- "fetchSpec": "18.11.9"
+ "fetchSpec": "18.15.11"
},
"_requiredBy": [
"#DEV:/"
],
- "_resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "_shasum": "02d013de7058cea16d36168ef2fc653464cfbad4",
- "_spec": "18.11.9",
+ "_resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "_shasum": "b3b790f09cb1696cffcec605de025b088fa4225f",
+ "_spec": "18.15.11",
"_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
"bugs": {
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
@@ -215,6 +205,10 @@
{
"name": "Matteo Collina",
"url": "https://github.com/mcollina"
+ },
+ {
+ "name": "Dmitry Semigradsky",
+ "url": "https://github.com/Semigradsky"
}
],
"dependencies": {},
@@ -230,23 +224,23 @@
"directory": "types/node"
},
"scripts": {},
- "typeScriptVersion": "4.1",
+ "typeScriptVersion": "4.3",
"types": "index.d.ts",
- "typesPublisherContentHash": "c4994f0d5655c5ba44d4248f7f2765c3b1f8319a258377d18d73093af02d11b3",
+ "typesPublisherContentHash": "0b569b41848800d78adc39868da768013835b59322022dd1bb40be639e885045",
"typesVersions": {
- "<4.9.0-0": {
+ "<=4.8": {
"*": [
"ts4.8/*"
]
}
},
- "version": "18.11.9",
- "readme": "# Installation\r\n> `npm install --save @types/node`\r\n\r\n# Summary\r\nThis package contains type definitions for Node.js (https://nodejs.org/).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.\r\n\r\n### Additional Details\r\n * Last updated: Tue, 01 Nov 2022 09:32:58 GMT\r\n * Dependencies: none\r\n * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`\r\n\r\n# Credits\r\nThese definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), and [Matteo Collina](https://github.com/mcollina).\r\n",
+ "version": "18.15.11",
+ "readme": "# Installation\r\n> `npm install --save @types/node`\r\n\r\n# Summary\r\nThis package contains type definitions for Node.js (https://nodejs.org/).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.\r\n\r\n### Additional Details\r\n * Last updated: Tue, 28 Mar 2023 21:33:10 GMT\r\n * Dependencies: none\r\n * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`\r\n\r\n# Credits\r\nThese definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), [Matteo Collina](https://github.com/mcollina), and [Dmitry Semigradsky](https://github.com/Semigradsky).\r\n",
"readmeFilename": "README.md",
"_development": true,
"_args": [
[
- "@types/node@18.11.9",
+ "@types/node@18.15.11",
"/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
]
],
@@ -256,10 +250,509 @@
"path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
"error": "[Circular]",
"extraneous": false
+ },
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
+ },
+ "contributors": [
+ {
+ "name": "Oliver Hoffmann",
+ "url": "https://github.com/iamolivinius"
+ },
+ {
+ "name": "Felipe Ochoa",
+ "url": "https://github.com/felipeochoa"
+ },
+ {
+ "name": "Chris Barth",
+ "url": "https://github.com/cjbarth"
+ },
+ {
+ "name": "Linus Unnebäck",
+ "url": "https://github.com/LinusU"
+ },
+ {
+ "name": "Christoph Tavan",
+ "url": "https://github.com/ctavan"
+ }
+ ],
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": {
+ "./package.json": "./package.json",
+ ".": {
+ "types": {
+ "import": "./index.d.mts",
+ "default": "./index.d.ts"
+ }
+ }
+ },
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git",
+ "directory": "types/uuid"
+ },
+ "scripts": {},
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "@types/uuid@8.3.4",
+ "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "devDependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "browser": {
+ "./dist/md5.js": "./dist/md5-browser.js",
+ "./dist/rng.js": "./dist/rng-browser.js",
+ "./dist/sha1.js": "./dist/sha1-browser.js",
+ "./dist/esm-node/index.js": "./dist/esm-browser/index.js"
+ },
+ "bugs": {
+ "url": "https://github.com/uuidjs/uuid/issues"
+ },
+ "commitlint": {
+ "extends": [
+ "@commitlint/config-conventional"
+ ]
+ },
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": {
+ "@babel/cli": "7.11.6",
+ "@babel/core": "7.11.6",
+ "@babel/preset-env": "7.11.5",
+ "@commitlint/cli": "11.0.0",
+ "@commitlint/config-conventional": "11.0.0",
+ "@rollup/plugin-node-resolve": "9.0.0",
+ "babel-eslint": "10.1.0",
+ "bundlewatch": "0.3.1",
+ "eslint": "7.10.0",
+ "eslint-config-prettier": "6.12.0",
+ "eslint-config-standard": "14.1.1",
+ "eslint-plugin-import": "2.22.1",
+ "eslint-plugin-node": "11.1.0",
+ "eslint-plugin-prettier": "3.1.4",
+ "eslint-plugin-promise": "4.2.1",
+ "eslint-plugin-standard": "4.0.1",
+ "husky": "4.3.0",
+ "jest": "25.5.4",
+ "lint-staged": "10.4.0",
+ "npm-run-all": "4.1.5",
+ "optional-dev-dependency": "2.0.1",
+ "prettier": "2.1.2",
+ "random-seed": "0.3.0",
+ "rollup": "2.28.2",
+ "rollup-plugin-terser": "7.0.2",
+ "runmd": "1.3.2",
+ "standard-version": "9.0.0"
+ },
+ "exports": {
+ ".": {
+ "node": {
+ "module": "./dist/esm-node/index.js",
+ "require": "./dist/index.js",
+ "import": "./wrapper.mjs"
+ },
+ "default": "./dist/esm-browser/index.js"
+ },
+ "./package.json": "./package.json"
+ },
+ "files": [
+ "CHANGELOG.md",
+ "CONTRIBUTING.md",
+ "LICENSE.md",
+ "README.md",
+ "dist",
+ "wrapper.mjs"
+ ],
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": {
+ "hooks": {
+ "commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
+ "pre-commit": "lint-staged"
+ }
+ },
+ "keywords": [
+ "uuid",
+ "guid",
+ "rfc4122"
+ ],
+ "license": "MIT",
+ "lint-staged": {
+ "*.{js,jsx,json,md}": [
+ "prettier --write"
+ ],
+ "*.{js,jsx}": [
+ "eslint --fix"
+ ]
+ },
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": {
+ "@wdio/browserstack-service": "6.4.0",
+ "@wdio/cli": "6.4.0",
+ "@wdio/jasmine-framework": "6.4.0",
+ "@wdio/local-runner": "6.4.0",
+ "@wdio/spec-reporter": "6.4.0",
+ "@wdio/static-server-service": "6.4.0",
+ "@wdio/sync": "6.4.0"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/uuidjs/uuid.git"
+ },
+ "scripts": {
+ "build": "./scripts/build.sh",
+ "bundlewatch": "npm run pretest:browser && bundlewatch --config bundlewatch.config.json",
+ "docs": "( node --version | grep -q 'v12' ) && ( npm run build && runmd --output=README.md README_js.md )",
+ "docs:diff": "npm run docs && git diff --quiet README.md",
+ "eslint:check": "eslint src/ test/ examples/ *.js",
+ "eslint:fix": "eslint --fix src/ test/ examples/ *.js",
+ "examples:browser:rollup:build": "cd examples/browser-rollup && npm install && npm run build",
+ "examples:browser:webpack:build": "cd examples/browser-webpack && npm install && npm run build",
+ "examples:node:commonjs:test": "cd examples/node-commonjs && npm install && npm test",
+ "examples:node:esmodules:test": "cd examples/node-esmodules && npm install && npm test",
+ "lint": "npm run eslint:check && npm run prettier:check",
+ "md": "runmd --watch --output=README.md README_js.md",
+ "prepack": "npm run build",
+ "pretest": "[ -n $CI ] || npm run build",
+ "pretest:benchmark": "npm run build",
+ "pretest:browser": "optional-dev-dependency && npm run build && npm-run-all --parallel examples:browser:**",
+ "pretest:node": "npm run build",
+ "prettier:check": "prettier --ignore-path .prettierignore --check '**/*.{js,jsx,json,md}'",
+ "prettier:fix": "prettier --ignore-path .prettierignore --write '**/*.{js,jsx,json,md}'",
+ "release": "standard-version --no-verify",
+ "test": "BABEL_ENV=commonjs node --throw-deprecation node_modules/.bin/jest test/unit/",
+ "test:benchmark": "cd examples/benchmark && npm install && npm test",
+ "test:browser": "wdio run ./wdio.conf.js",
+ "test:node": "npm-run-all --parallel examples:node:**",
+ "test:pack": "./scripts/testpack.sh"
+ },
+ "sideEffects": false,
+ "standard-version": {
+ "scripts": {
+ "postchangelog": "prettier --write CHANGELOG.md"
+ }
+ },
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "uuid@8.3.2",
+ "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "dependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuidv4": {
+ "_from": "uuidv4@^6.2.13",
+ "_id": "uuidv4@6.2.13",
+ "_integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "_location": "/uuidv4",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuidv4@6.2.13",
+ "name": "uuidv4",
+ "escapedName": "uuidv4",
+ "rawSpec": "6.2.13",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "6.2.13"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "_shasum": "8f95ec5ef22d1f92c8e5d4c70b735d1c89572cb7",
+ "_spec": "6.2.13",
+ "_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": {
+ "url": "https://github.com/thenativeweb/uuidv4/issues"
+ },
+ "contributors": [
+ {
+ "name": "Golo Roden",
+ "email": "golo.roden@thenativeweb.io"
+ },
+ {
+ "name": "Matthias Wagler",
+ "email": "matthias.wagler@thenativeweb.io"
+ },
+ {
+ "name": "Jan-Hendrik Grundhöfer",
+ "email": "jan-hendrik.grundhoefer@thenativeweb.io"
+ },
+ {
+ "name": "Sven Eppler",
+ "email": "sven.eppler@sodgeit.de"
+ },
+ {
+ "name": "Hannes Leutloff",
+ "email": "hannes.leutloff@thenativeweb.io"
+ }
+ ],
+ "dependencies": {
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": "[Circular]",
+ "contributors": "[Circular]",
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": "[Circular]",
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "devDependencies": "[Circular]",
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "@types/uuid"
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bin": "[Circular]",
+ "browser": "[Circular]",
+ "bugs": "[Circular]",
+ "commitlint": "[Circular]",
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": "[Circular]",
+ "exports": "[Circular]",
+ "files": "[Circular]",
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": "[Circular]",
+ "keywords": "[Circular]",
+ "license": "MIT",
+ "lint-staged": "[Circular]",
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": "[Circular]",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "sideEffects": false,
+ "standard-version": "[Circular]",
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "dependencies": {},
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "uuid"
+ }
+ },
+ "deprecated": false,
+ "description": "uuidv4 creates v4 UUIDs.",
+ "devDependencies": {
+ "assertthat": "6.4.0",
+ "roboter": "12.7.1",
+ "semantic-release-configuration": "2.0.7"
+ },
+ "homepage": "https://github.com/thenativeweb/uuidv4#readme",
+ "keywords": [
+ "guid",
+ "uuid"
+ ],
+ "license": "MIT",
+ "main": "build/lib/uuidv4.js",
+ "name": "uuidv4",
+ "private": false,
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/thenativeweb/uuidv4.git"
+ },
+ "scripts": {},
+ "types": "build/lib/uuidv4.d.ts",
+ "version": "6.2.13",
+ "readme": "# uuidv4\n\nuuidv4 creates v4 UUIDs.\n\n## Status\n\n| Category | Status |\n| ---------------- | --------------------------------------------------------------------------------------------------- |\n| Version | [](https://www.npmjs.com/package/uuidv4) |\n| Dependencies |  |\n| Dev dependencies |  |\n| Build |  |\n| License |  |\n\n## Please note\n\nThis module will be deprecated in the future in favour of module [uuid](https://www.npmjs.com/package/uuid). Most of the functionality of this module is already included in `uuid` since version `8.3.0`, so most of the functions of this module have already been marked as deprecated.\n\n## Installation\n\n```shell\n$ npm install uuidv4\n```\n\n## Quick start\n\nFirst you need to integrate uuidv4 into your project by using the `require` function:\n\n```javascript\nconst { uuid } = require('uuidv4');\n```\n\nIf you use TypeScript, use the following code instead:\n\n```typescript\nimport { uuid } from 'uuidv4';\n```\n\nThen you can create UUIDs. To do so simply call the `uuid` function:\n\n```javascript\nconsole.log(uuid());\n// => '11bf5b37-e0b8-42e0-8dcf-dc8c4aefc000'\n```\n\n### Verifying a UUID\n\nTo verify whether a given value is a UUID, use the `isUuid` function:\n\n```javascript\nimport { isUuid } from 'uuidv4';\n\nconsole.log(isUuid('75442486-0878-440c-9db1-a7006c25a39f'));\n// => true\n```\n\n_Please note that the `isUuid` function returns `true` for both, `v4` and `v5` UUIDs. In addition, `isUuid` returns `true` for `empty()`._\n\n#### Using a regular expression\n\nIf you want to perform the verification on your own using a regular expression, use the `regex` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { regex } from 'uuidv4';\n\nconsole.log(regex.v4);\nconsole.log(regex.v5);\n```\n\n_Please note that the regular expressions also consider `empty()` to be a valid UUID._\n\n#### Using a JSON schema\n\nIf you want to perform the verification on your own using a JSON schema, use the `jsonSchema` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { jsonSchema } from 'uuidv4';\n\nconsole.log(jsonSchema.v4);\nconsole.log(jsonSchema.v5);\n```\n\n_Please note that the JSON schemas also consider `empty()` to be a valid UUID._\n\n### Getting a UUID from a string\n\nFrom time to time you need an identifier that looks like a UUID, but is actually inferred from a string. For that, use the `fromString` function, which returns a UUID `v5`:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web'));\n// => 'cdb63720-9628-5ef6-bbca-2e5ce6094f3c'\n```\n\nBy default, the `fromString` function uses a pre-configured namespace. If you want to use your own namespace, provide a UUID as second parameter:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web', '004aadf4-8e1a-4450-905b-6039179f52da'));\n// => 'b1c4a89e-4905-5e3c-b57f-dc92627d011e'\n```\n\n### Getting the empty UUID\n\nIf you need a UUID that consists only of zeros, use the `empty` function:\n\n```javascript\nimport { empty } from 'uuidv4';\n\nconsole.log(empty());\n// => '00000000-0000-0000-0000-000000000000'\n```\n\n## Running quality assurance\n\nTo run quality assurance for this module use [roboter](https://www.npmjs.com/package/roboter):\n\n```shell\n$ npx roboter\n```\n",
+ "readmeFilename": "README.md",
+ "_optional": true,
+ "_args": [
+ [
+ "uuidv4@6.2.13",
+ "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "optionalDependencies": {},
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "error": "[Circular]",
+ "extraneous": false
+ }
+ },
+ "_id": "demo-dev-dependencies@0.0.0",
+ "_shrinkwrap": {
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@types/node": {
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "dev": true
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw=="
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "requires": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ }
+ }
}
},
- "optionalDependencies": {},
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
"error": "[Circular]",
"extraneous": false
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node18_ubuntu-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node18_ubuntu-latest.json
index c49e14ace..2a83b9f44 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node18_ubuntu-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node18_ubuntu-latest.json
@@ -4,49 +4,39 @@
"private": true,
"version": "0.0.0",
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"readme": "ERROR: No README data found!",
- "_id": "demo-dev-dependencies@0.0.0",
- "_shrinkwrap": {
- "name": "demo-dev-dependencies",
- "version": "0.0.0",
- "lockfileVersion": 1,
- "requires": true,
- "dependencies": {
- "@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
- "dev": true
- }
- }
- },
"dependencies": {
"@types/node": {
"_from": "@types/node@>=16",
- "_id": "@types/node@18.11.9",
- "_integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "_id": "@types/node@18.15.11",
+ "_integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"_location": "/@types/node",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
- "raw": "@types/node@18.11.9",
+ "raw": "@types/node@18.15.11",
"name": "@types/node",
"escapedName": "@types%2fnode",
"scope": "@types",
- "rawSpec": "18.11.9",
+ "rawSpec": "18.15.11",
"saveSpec": null,
- "fetchSpec": "18.11.9"
+ "fetchSpec": "18.15.11"
},
"_requiredBy": [
"#DEV:/"
],
- "_resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "_shasum": "02d013de7058cea16d36168ef2fc653464cfbad4",
- "_spec": "18.11.9",
+ "_resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "_shasum": "b3b790f09cb1696cffcec605de025b088fa4225f",
+ "_spec": "18.15.11",
"_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
"bugs": {
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
@@ -215,6 +205,10 @@
{
"name": "Matteo Collina",
"url": "https://github.com/mcollina"
+ },
+ {
+ "name": "Dmitry Semigradsky",
+ "url": "https://github.com/Semigradsky"
}
],
"dependencies": {},
@@ -230,23 +224,23 @@
"directory": "types/node"
},
"scripts": {},
- "typeScriptVersion": "4.1",
+ "typeScriptVersion": "4.3",
"types": "index.d.ts",
- "typesPublisherContentHash": "c4994f0d5655c5ba44d4248f7f2765c3b1f8319a258377d18d73093af02d11b3",
+ "typesPublisherContentHash": "0b569b41848800d78adc39868da768013835b59322022dd1bb40be639e885045",
"typesVersions": {
- "<4.9.0-0": {
+ "<=4.8": {
"*": [
"ts4.8/*"
]
}
},
- "version": "18.11.9",
- "readme": "# Installation\r\n> `npm install --save @types/node`\r\n\r\n# Summary\r\nThis package contains type definitions for Node.js (https://nodejs.org/).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.\r\n\r\n### Additional Details\r\n * Last updated: Tue, 01 Nov 2022 09:32:58 GMT\r\n * Dependencies: none\r\n * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`\r\n\r\n# Credits\r\nThese definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), and [Matteo Collina](https://github.com/mcollina).\r\n",
+ "version": "18.15.11",
+ "readme": "# Installation\r\n> `npm install --save @types/node`\r\n\r\n# Summary\r\nThis package contains type definitions for Node.js (https://nodejs.org/).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.\r\n\r\n### Additional Details\r\n * Last updated: Tue, 28 Mar 2023 21:33:10 GMT\r\n * Dependencies: none\r\n * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`\r\n\r\n# Credits\r\nThese definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), [Matteo Collina](https://github.com/mcollina), and [Dmitry Semigradsky](https://github.com/Semigradsky).\r\n",
"readmeFilename": "README.md",
"_development": true,
"_args": [
[
- "@types/node@18.11.9",
+ "@types/node@18.15.11",
"/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
]
],
@@ -256,10 +250,509 @@
"path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
"error": "[Circular]",
"extraneous": false
+ },
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
+ },
+ "contributors": [
+ {
+ "name": "Oliver Hoffmann",
+ "url": "https://github.com/iamolivinius"
+ },
+ {
+ "name": "Felipe Ochoa",
+ "url": "https://github.com/felipeochoa"
+ },
+ {
+ "name": "Chris Barth",
+ "url": "https://github.com/cjbarth"
+ },
+ {
+ "name": "Linus Unnebäck",
+ "url": "https://github.com/LinusU"
+ },
+ {
+ "name": "Christoph Tavan",
+ "url": "https://github.com/ctavan"
+ }
+ ],
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": {
+ "./package.json": "./package.json",
+ ".": {
+ "types": {
+ "import": "./index.d.mts",
+ "default": "./index.d.ts"
+ }
+ }
+ },
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git",
+ "directory": "types/uuid"
+ },
+ "scripts": {},
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "@types/uuid@8.3.4",
+ "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "devDependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "browser": {
+ "./dist/md5.js": "./dist/md5-browser.js",
+ "./dist/rng.js": "./dist/rng-browser.js",
+ "./dist/sha1.js": "./dist/sha1-browser.js",
+ "./dist/esm-node/index.js": "./dist/esm-browser/index.js"
+ },
+ "bugs": {
+ "url": "https://github.com/uuidjs/uuid/issues"
+ },
+ "commitlint": {
+ "extends": [
+ "@commitlint/config-conventional"
+ ]
+ },
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": {
+ "@babel/cli": "7.11.6",
+ "@babel/core": "7.11.6",
+ "@babel/preset-env": "7.11.5",
+ "@commitlint/cli": "11.0.0",
+ "@commitlint/config-conventional": "11.0.0",
+ "@rollup/plugin-node-resolve": "9.0.0",
+ "babel-eslint": "10.1.0",
+ "bundlewatch": "0.3.1",
+ "eslint": "7.10.0",
+ "eslint-config-prettier": "6.12.0",
+ "eslint-config-standard": "14.1.1",
+ "eslint-plugin-import": "2.22.1",
+ "eslint-plugin-node": "11.1.0",
+ "eslint-plugin-prettier": "3.1.4",
+ "eslint-plugin-promise": "4.2.1",
+ "eslint-plugin-standard": "4.0.1",
+ "husky": "4.3.0",
+ "jest": "25.5.4",
+ "lint-staged": "10.4.0",
+ "npm-run-all": "4.1.5",
+ "optional-dev-dependency": "2.0.1",
+ "prettier": "2.1.2",
+ "random-seed": "0.3.0",
+ "rollup": "2.28.2",
+ "rollup-plugin-terser": "7.0.2",
+ "runmd": "1.3.2",
+ "standard-version": "9.0.0"
+ },
+ "exports": {
+ ".": {
+ "node": {
+ "module": "./dist/esm-node/index.js",
+ "require": "./dist/index.js",
+ "import": "./wrapper.mjs"
+ },
+ "default": "./dist/esm-browser/index.js"
+ },
+ "./package.json": "./package.json"
+ },
+ "files": [
+ "CHANGELOG.md",
+ "CONTRIBUTING.md",
+ "LICENSE.md",
+ "README.md",
+ "dist",
+ "wrapper.mjs"
+ ],
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": {
+ "hooks": {
+ "commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
+ "pre-commit": "lint-staged"
+ }
+ },
+ "keywords": [
+ "uuid",
+ "guid",
+ "rfc4122"
+ ],
+ "license": "MIT",
+ "lint-staged": {
+ "*.{js,jsx,json,md}": [
+ "prettier --write"
+ ],
+ "*.{js,jsx}": [
+ "eslint --fix"
+ ]
+ },
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": {
+ "@wdio/browserstack-service": "6.4.0",
+ "@wdio/cli": "6.4.0",
+ "@wdio/jasmine-framework": "6.4.0",
+ "@wdio/local-runner": "6.4.0",
+ "@wdio/spec-reporter": "6.4.0",
+ "@wdio/static-server-service": "6.4.0",
+ "@wdio/sync": "6.4.0"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/uuidjs/uuid.git"
+ },
+ "scripts": {
+ "build": "./scripts/build.sh",
+ "bundlewatch": "npm run pretest:browser && bundlewatch --config bundlewatch.config.json",
+ "docs": "( node --version | grep -q 'v12' ) && ( npm run build && runmd --output=README.md README_js.md )",
+ "docs:diff": "npm run docs && git diff --quiet README.md",
+ "eslint:check": "eslint src/ test/ examples/ *.js",
+ "eslint:fix": "eslint --fix src/ test/ examples/ *.js",
+ "examples:browser:rollup:build": "cd examples/browser-rollup && npm install && npm run build",
+ "examples:browser:webpack:build": "cd examples/browser-webpack && npm install && npm run build",
+ "examples:node:commonjs:test": "cd examples/node-commonjs && npm install && npm test",
+ "examples:node:esmodules:test": "cd examples/node-esmodules && npm install && npm test",
+ "lint": "npm run eslint:check && npm run prettier:check",
+ "md": "runmd --watch --output=README.md README_js.md",
+ "prepack": "npm run build",
+ "pretest": "[ -n $CI ] || npm run build",
+ "pretest:benchmark": "npm run build",
+ "pretest:browser": "optional-dev-dependency && npm run build && npm-run-all --parallel examples:browser:**",
+ "pretest:node": "npm run build",
+ "prettier:check": "prettier --ignore-path .prettierignore --check '**/*.{js,jsx,json,md}'",
+ "prettier:fix": "prettier --ignore-path .prettierignore --write '**/*.{js,jsx,json,md}'",
+ "release": "standard-version --no-verify",
+ "test": "BABEL_ENV=commonjs node --throw-deprecation node_modules/.bin/jest test/unit/",
+ "test:benchmark": "cd examples/benchmark && npm install && npm test",
+ "test:browser": "wdio run ./wdio.conf.js",
+ "test:node": "npm-run-all --parallel examples:node:**",
+ "test:pack": "./scripts/testpack.sh"
+ },
+ "sideEffects": false,
+ "standard-version": {
+ "scripts": {
+ "postchangelog": "prettier --write CHANGELOG.md"
+ }
+ },
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "uuid@8.3.2",
+ "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "dependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuidv4": {
+ "_from": "uuidv4@^6.2.13",
+ "_id": "uuidv4@6.2.13",
+ "_integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "_location": "/uuidv4",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuidv4@6.2.13",
+ "name": "uuidv4",
+ "escapedName": "uuidv4",
+ "rawSpec": "6.2.13",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "6.2.13"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "_shasum": "8f95ec5ef22d1f92c8e5d4c70b735d1c89572cb7",
+ "_spec": "6.2.13",
+ "_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": {
+ "url": "https://github.com/thenativeweb/uuidv4/issues"
+ },
+ "contributors": [
+ {
+ "name": "Golo Roden",
+ "email": "golo.roden@thenativeweb.io"
+ },
+ {
+ "name": "Matthias Wagler",
+ "email": "matthias.wagler@thenativeweb.io"
+ },
+ {
+ "name": "Jan-Hendrik Grundhöfer",
+ "email": "jan-hendrik.grundhoefer@thenativeweb.io"
+ },
+ {
+ "name": "Sven Eppler",
+ "email": "sven.eppler@sodgeit.de"
+ },
+ {
+ "name": "Hannes Leutloff",
+ "email": "hannes.leutloff@thenativeweb.io"
+ }
+ ],
+ "dependencies": {
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": "[Circular]",
+ "contributors": "[Circular]",
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": "[Circular]",
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "devDependencies": "[Circular]",
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "@types/uuid"
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bin": "[Circular]",
+ "browser": "[Circular]",
+ "bugs": "[Circular]",
+ "commitlint": "[Circular]",
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": "[Circular]",
+ "exports": "[Circular]",
+ "files": "[Circular]",
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": "[Circular]",
+ "keywords": "[Circular]",
+ "license": "MIT",
+ "lint-staged": "[Circular]",
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": "[Circular]",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "sideEffects": false,
+ "standard-version": "[Circular]",
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "dependencies": {},
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "uuid"
+ }
+ },
+ "deprecated": false,
+ "description": "uuidv4 creates v4 UUIDs.",
+ "devDependencies": {
+ "assertthat": "6.4.0",
+ "roboter": "12.7.1",
+ "semantic-release-configuration": "2.0.7"
+ },
+ "homepage": "https://github.com/thenativeweb/uuidv4#readme",
+ "keywords": [
+ "guid",
+ "uuid"
+ ],
+ "license": "MIT",
+ "main": "build/lib/uuidv4.js",
+ "name": "uuidv4",
+ "private": false,
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/thenativeweb/uuidv4.git"
+ },
+ "scripts": {},
+ "types": "build/lib/uuidv4.d.ts",
+ "version": "6.2.13",
+ "readme": "# uuidv4\n\nuuidv4 creates v4 UUIDs.\n\n## Status\n\n| Category | Status |\n| ---------------- | --------------------------------------------------------------------------------------------------- |\n| Version | [](https://www.npmjs.com/package/uuidv4) |\n| Dependencies |  |\n| Dev dependencies |  |\n| Build |  |\n| License |  |\n\n## Please note\n\nThis module will be deprecated in the future in favour of module [uuid](https://www.npmjs.com/package/uuid). Most of the functionality of this module is already included in `uuid` since version `8.3.0`, so most of the functions of this module have already been marked as deprecated.\n\n## Installation\n\n```shell\n$ npm install uuidv4\n```\n\n## Quick start\n\nFirst you need to integrate uuidv4 into your project by using the `require` function:\n\n```javascript\nconst { uuid } = require('uuidv4');\n```\n\nIf you use TypeScript, use the following code instead:\n\n```typescript\nimport { uuid } from 'uuidv4';\n```\n\nThen you can create UUIDs. To do so simply call the `uuid` function:\n\n```javascript\nconsole.log(uuid());\n// => '11bf5b37-e0b8-42e0-8dcf-dc8c4aefc000'\n```\n\n### Verifying a UUID\n\nTo verify whether a given value is a UUID, use the `isUuid` function:\n\n```javascript\nimport { isUuid } from 'uuidv4';\n\nconsole.log(isUuid('75442486-0878-440c-9db1-a7006c25a39f'));\n// => true\n```\n\n_Please note that the `isUuid` function returns `true` for both, `v4` and `v5` UUIDs. In addition, `isUuid` returns `true` for `empty()`._\n\n#### Using a regular expression\n\nIf you want to perform the verification on your own using a regular expression, use the `regex` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { regex } from 'uuidv4';\n\nconsole.log(regex.v4);\nconsole.log(regex.v5);\n```\n\n_Please note that the regular expressions also consider `empty()` to be a valid UUID._\n\n#### Using a JSON schema\n\nIf you want to perform the verification on your own using a JSON schema, use the `jsonSchema` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { jsonSchema } from 'uuidv4';\n\nconsole.log(jsonSchema.v4);\nconsole.log(jsonSchema.v5);\n```\n\n_Please note that the JSON schemas also consider `empty()` to be a valid UUID._\n\n### Getting a UUID from a string\n\nFrom time to time you need an identifier that looks like a UUID, but is actually inferred from a string. For that, use the `fromString` function, which returns a UUID `v5`:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web'));\n// => 'cdb63720-9628-5ef6-bbca-2e5ce6094f3c'\n```\n\nBy default, the `fromString` function uses a pre-configured namespace. If you want to use your own namespace, provide a UUID as second parameter:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web', '004aadf4-8e1a-4450-905b-6039179f52da'));\n// => 'b1c4a89e-4905-5e3c-b57f-dc92627d011e'\n```\n\n### Getting the empty UUID\n\nIf you need a UUID that consists only of zeros, use the `empty` function:\n\n```javascript\nimport { empty } from 'uuidv4';\n\nconsole.log(empty());\n// => '00000000-0000-0000-0000-000000000000'\n```\n\n## Running quality assurance\n\nTo run quality assurance for this module use [roboter](https://www.npmjs.com/package/roboter):\n\n```shell\n$ npx roboter\n```\n",
+ "readmeFilename": "README.md",
+ "_optional": true,
+ "_args": [
+ [
+ "uuidv4@6.2.13",
+ "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "optionalDependencies": {},
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "error": "[Circular]",
+ "extraneous": false
+ }
+ },
+ "_id": "demo-dev-dependencies@0.0.0",
+ "_shrinkwrap": {
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@types/node": {
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "dev": true
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw=="
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "requires": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ }
+ }
}
},
- "optionalDependencies": {},
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
"error": "[Circular]",
"extraneous": false
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node18_windows-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node18_windows-latest.json
index fe89f1ed6..86d195912 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node18_windows-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node18_windows-latest.json
@@ -4,49 +4,39 @@
"private": true,
"version": "0.0.0",
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"readme": "ERROR: No README data found!",
- "_id": "demo-dev-dependencies@0.0.0",
- "_shrinkwrap": {
- "name": "demo-dev-dependencies",
- "version": "0.0.0",
- "lockfileVersion": 1,
- "requires": true,
- "dependencies": {
- "@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
- "dev": true
- }
- }
- },
"dependencies": {
"@types/node": {
"_from": "@types/node@>=16",
- "_id": "@types/node@18.11.9",
- "_integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "_id": "@types/node@18.15.11",
+ "_integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"_location": "/@types/node",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
- "raw": "@types/node@18.11.9",
+ "raw": "@types/node@18.15.11",
"name": "@types/node",
"escapedName": "@types%2fnode",
"scope": "@types",
- "rawSpec": "18.11.9",
+ "rawSpec": "18.15.11",
"saveSpec": null,
- "fetchSpec": "18.11.9"
+ "fetchSpec": "18.15.11"
},
"_requiredBy": [
"#DEV:/"
],
- "_resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "_shasum": "02d013de7058cea16d36168ef2fc653464cfbad4",
- "_spec": "18.11.9",
+ "_resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "_shasum": "b3b790f09cb1696cffcec605de025b088fa4225f",
+ "_spec": "18.15.11",
"_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
"bugs": {
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
@@ -215,6 +205,10 @@
{
"name": "Matteo Collina",
"url": "https://github.com/mcollina"
+ },
+ {
+ "name": "Dmitry Semigradsky",
+ "url": "https://github.com/Semigradsky"
}
],
"dependencies": {},
@@ -230,23 +224,23 @@
"directory": "types/node"
},
"scripts": {},
- "typeScriptVersion": "4.1",
+ "typeScriptVersion": "4.3",
"types": "index.d.ts",
- "typesPublisherContentHash": "c4994f0d5655c5ba44d4248f7f2765c3b1f8319a258377d18d73093af02d11b3",
+ "typesPublisherContentHash": "0b569b41848800d78adc39868da768013835b59322022dd1bb40be639e885045",
"typesVersions": {
- "<4.9.0-0": {
+ "<=4.8": {
"*": [
"ts4.8/*"
]
}
},
- "version": "18.11.9",
- "readme": "# Installation\r\n> `npm install --save @types/node`\r\n\r\n# Summary\r\nThis package contains type definitions for Node.js (https://nodejs.org/).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.\r\n\r\n### Additional Details\r\n * Last updated: Tue, 01 Nov 2022 09:32:58 GMT\r\n * Dependencies: none\r\n * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`\r\n\r\n# Credits\r\nThese definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), and [Matteo Collina](https://github.com/mcollina).\r\n",
+ "version": "18.15.11",
+ "readme": "# Installation\r\n> `npm install --save @types/node`\r\n\r\n# Summary\r\nThis package contains type definitions for Node.js (https://nodejs.org/).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.\r\n\r\n### Additional Details\r\n * Last updated: Tue, 28 Mar 2023 21:33:10 GMT\r\n * Dependencies: none\r\n * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`\r\n\r\n# Credits\r\nThese definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), [Matteo Collina](https://github.com/mcollina), and [Dmitry Semigradsky](https://github.com/Semigradsky).\r\n",
"readmeFilename": "README.md",
"_development": true,
"_args": [
[
- "@types/node@18.11.9",
+ "@types/node@18.15.11",
"D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project"
]
],
@@ -256,10 +250,509 @@
"path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\node",
"error": "[Circular]",
"extraneous": false
+ },
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "bugs": {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
+ },
+ "contributors": [
+ {
+ "name": "Oliver Hoffmann",
+ "url": "https://github.com/iamolivinius"
+ },
+ {
+ "name": "Felipe Ochoa",
+ "url": "https://github.com/felipeochoa"
+ },
+ {
+ "name": "Chris Barth",
+ "url": "https://github.com/cjbarth"
+ },
+ {
+ "name": "Linus Unnebäck",
+ "url": "https://github.com/LinusU"
+ },
+ {
+ "name": "Christoph Tavan",
+ "url": "https://github.com/ctavan"
+ }
+ ],
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": {
+ "./package.json": "./package.json",
+ ".": {
+ "types": {
+ "import": "./index.d.mts",
+ "default": "./index.d.ts"
+ }
+ }
+ },
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git",
+ "directory": "types/uuid"
+ },
+ "scripts": {},
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "@types/uuid@8.3.4",
+ "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project"
+ ]
+ ],
+ "devDependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "browser": {
+ "./dist/md5.js": "./dist/md5-browser.js",
+ "./dist/rng.js": "./dist/rng-browser.js",
+ "./dist/sha1.js": "./dist/sha1-browser.js",
+ "./dist/esm-node/index.js": "./dist/esm-browser/index.js"
+ },
+ "bugs": {
+ "url": "https://github.com/uuidjs/uuid/issues"
+ },
+ "commitlint": {
+ "extends": [
+ "@commitlint/config-conventional"
+ ]
+ },
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": {
+ "@babel/cli": "7.11.6",
+ "@babel/core": "7.11.6",
+ "@babel/preset-env": "7.11.5",
+ "@commitlint/cli": "11.0.0",
+ "@commitlint/config-conventional": "11.0.0",
+ "@rollup/plugin-node-resolve": "9.0.0",
+ "babel-eslint": "10.1.0",
+ "bundlewatch": "0.3.1",
+ "eslint": "7.10.0",
+ "eslint-config-prettier": "6.12.0",
+ "eslint-config-standard": "14.1.1",
+ "eslint-plugin-import": "2.22.1",
+ "eslint-plugin-node": "11.1.0",
+ "eslint-plugin-prettier": "3.1.4",
+ "eslint-plugin-promise": "4.2.1",
+ "eslint-plugin-standard": "4.0.1",
+ "husky": "4.3.0",
+ "jest": "25.5.4",
+ "lint-staged": "10.4.0",
+ "npm-run-all": "4.1.5",
+ "optional-dev-dependency": "2.0.1",
+ "prettier": "2.1.2",
+ "random-seed": "0.3.0",
+ "rollup": "2.28.2",
+ "rollup-plugin-terser": "7.0.2",
+ "runmd": "1.3.2",
+ "standard-version": "9.0.0"
+ },
+ "exports": {
+ ".": {
+ "node": {
+ "module": "./dist/esm-node/index.js",
+ "require": "./dist/index.js",
+ "import": "./wrapper.mjs"
+ },
+ "default": "./dist/esm-browser/index.js"
+ },
+ "./package.json": "./package.json"
+ },
+ "files": [
+ "CHANGELOG.md",
+ "CONTRIBUTING.md",
+ "LICENSE.md",
+ "README.md",
+ "dist",
+ "wrapper.mjs"
+ ],
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": {
+ "hooks": {
+ "commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
+ "pre-commit": "lint-staged"
+ }
+ },
+ "keywords": [
+ "uuid",
+ "guid",
+ "rfc4122"
+ ],
+ "license": "MIT",
+ "lint-staged": {
+ "*.{js,jsx,json,md}": [
+ "prettier --write"
+ ],
+ "*.{js,jsx}": [
+ "eslint --fix"
+ ]
+ },
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": {
+ "@wdio/browserstack-service": "6.4.0",
+ "@wdio/cli": "6.4.0",
+ "@wdio/jasmine-framework": "6.4.0",
+ "@wdio/local-runner": "6.4.0",
+ "@wdio/spec-reporter": "6.4.0",
+ "@wdio/static-server-service": "6.4.0",
+ "@wdio/sync": "6.4.0"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/uuidjs/uuid.git"
+ },
+ "scripts": {
+ "build": "./scripts/build.sh",
+ "bundlewatch": "npm run pretest:browser && bundlewatch --config bundlewatch.config.json",
+ "docs": "( node --version | grep -q 'v12' ) && ( npm run build && runmd --output=README.md README_js.md )",
+ "docs:diff": "npm run docs && git diff --quiet README.md",
+ "eslint:check": "eslint src/ test/ examples/ *.js",
+ "eslint:fix": "eslint --fix src/ test/ examples/ *.js",
+ "examples:browser:rollup:build": "cd examples/browser-rollup && npm install && npm run build",
+ "examples:browser:webpack:build": "cd examples/browser-webpack && npm install && npm run build",
+ "examples:node:commonjs:test": "cd examples/node-commonjs && npm install && npm test",
+ "examples:node:esmodules:test": "cd examples/node-esmodules && npm install && npm test",
+ "lint": "npm run eslint:check && npm run prettier:check",
+ "md": "runmd --watch --output=README.md README_js.md",
+ "prepack": "npm run build",
+ "pretest": "[ -n $CI ] || npm run build",
+ "pretest:benchmark": "npm run build",
+ "pretest:browser": "optional-dev-dependency && npm run build && npm-run-all --parallel examples:browser:**",
+ "pretest:node": "npm run build",
+ "prettier:check": "prettier --ignore-path .prettierignore --check '**/*.{js,jsx,json,md}'",
+ "prettier:fix": "prettier --ignore-path .prettierignore --write '**/*.{js,jsx,json,md}'",
+ "release": "standard-version --no-verify",
+ "test": "BABEL_ENV=commonjs node --throw-deprecation node_modules/.bin/jest test/unit/",
+ "test:benchmark": "cd examples/benchmark && npm install && npm test",
+ "test:browser": "wdio run ./wdio.conf.js",
+ "test:node": "npm-run-all --parallel examples:node:**",
+ "test:pack": "./scripts/testpack.sh"
+ },
+ "sideEffects": false,
+ "standard-version": {
+ "scripts": {
+ "postchangelog": "prettier --write CHANGELOG.md"
+ }
+ },
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "uuid@8.3.2",
+ "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project"
+ ]
+ ],
+ "dependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuidv4": {
+ "_from": "uuidv4@^6.2.13",
+ "_id": "uuidv4@6.2.13",
+ "_integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "_location": "/uuidv4",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuidv4@6.2.13",
+ "name": "uuidv4",
+ "escapedName": "uuidv4",
+ "rawSpec": "6.2.13",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "6.2.13"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "_shasum": "8f95ec5ef22d1f92c8e5d4c70b735d1c89572cb7",
+ "_spec": "6.2.13",
+ "_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "bugs": {
+ "url": "https://github.com/thenativeweb/uuidv4/issues"
+ },
+ "contributors": [
+ {
+ "name": "Golo Roden",
+ "email": "golo.roden@thenativeweb.io"
+ },
+ {
+ "name": "Matthias Wagler",
+ "email": "matthias.wagler@thenativeweb.io"
+ },
+ {
+ "name": "Jan-Hendrik Grundhöfer",
+ "email": "jan-hendrik.grundhoefer@thenativeweb.io"
+ },
+ {
+ "name": "Sven Eppler",
+ "email": "sven.eppler@sodgeit.de"
+ },
+ {
+ "name": "Hannes Leutloff",
+ "email": "hannes.leutloff@thenativeweb.io"
+ }
+ ],
+ "dependencies": {
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "bugs": "[Circular]",
+ "contributors": "[Circular]",
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": "[Circular]",
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "devDependencies": "[Circular]",
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "node_modules\\@types\\uuid"
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "bin": "[Circular]",
+ "browser": "[Circular]",
+ "bugs": "[Circular]",
+ "commitlint": "[Circular]",
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": "[Circular]",
+ "exports": "[Circular]",
+ "files": "[Circular]",
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": "[Circular]",
+ "keywords": "[Circular]",
+ "license": "MIT",
+ "lint-staged": "[Circular]",
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": "[Circular]",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "sideEffects": false,
+ "standard-version": "[Circular]",
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "dependencies": {},
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "node_modules\\uuid"
+ }
+ },
+ "deprecated": false,
+ "description": "uuidv4 creates v4 UUIDs.",
+ "devDependencies": {
+ "assertthat": "6.4.0",
+ "roboter": "12.7.1",
+ "semantic-release-configuration": "2.0.7"
+ },
+ "homepage": "https://github.com/thenativeweb/uuidv4#readme",
+ "keywords": [
+ "guid",
+ "uuid"
+ ],
+ "license": "MIT",
+ "main": "build/lib/uuidv4.js",
+ "name": "uuidv4",
+ "private": false,
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/thenativeweb/uuidv4.git"
+ },
+ "scripts": {},
+ "types": "build/lib/uuidv4.d.ts",
+ "version": "6.2.13",
+ "readme": "# uuidv4\n\nuuidv4 creates v4 UUIDs.\n\n## Status\n\n| Category | Status |\n| ---------------- | --------------------------------------------------------------------------------------------------- |\n| Version | [](https://www.npmjs.com/package/uuidv4) |\n| Dependencies |  |\n| Dev dependencies |  |\n| Build |  |\n| License |  |\n\n## Please note\n\nThis module will be deprecated in the future in favour of module [uuid](https://www.npmjs.com/package/uuid). Most of the functionality of this module is already included in `uuid` since version `8.3.0`, so most of the functions of this module have already been marked as deprecated.\n\n## Installation\n\n```shell\n$ npm install uuidv4\n```\n\n## Quick start\n\nFirst you need to integrate uuidv4 into your project by using the `require` function:\n\n```javascript\nconst { uuid } = require('uuidv4');\n```\n\nIf you use TypeScript, use the following code instead:\n\n```typescript\nimport { uuid } from 'uuidv4';\n```\n\nThen you can create UUIDs. To do so simply call the `uuid` function:\n\n```javascript\nconsole.log(uuid());\n// => '11bf5b37-e0b8-42e0-8dcf-dc8c4aefc000'\n```\n\n### Verifying a UUID\n\nTo verify whether a given value is a UUID, use the `isUuid` function:\n\n```javascript\nimport { isUuid } from 'uuidv4';\n\nconsole.log(isUuid('75442486-0878-440c-9db1-a7006c25a39f'));\n// => true\n```\n\n_Please note that the `isUuid` function returns `true` for both, `v4` and `v5` UUIDs. In addition, `isUuid` returns `true` for `empty()`._\n\n#### Using a regular expression\n\nIf you want to perform the verification on your own using a regular expression, use the `regex` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { regex } from 'uuidv4';\n\nconsole.log(regex.v4);\nconsole.log(regex.v5);\n```\n\n_Please note that the regular expressions also consider `empty()` to be a valid UUID._\n\n#### Using a JSON schema\n\nIf you want to perform the verification on your own using a JSON schema, use the `jsonSchema` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { jsonSchema } from 'uuidv4';\n\nconsole.log(jsonSchema.v4);\nconsole.log(jsonSchema.v5);\n```\n\n_Please note that the JSON schemas also consider `empty()` to be a valid UUID._\n\n### Getting a UUID from a string\n\nFrom time to time you need an identifier that looks like a UUID, but is actually inferred from a string. For that, use the `fromString` function, which returns a UUID `v5`:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web'));\n// => 'cdb63720-9628-5ef6-bbca-2e5ce6094f3c'\n```\n\nBy default, the `fromString` function uses a pre-configured namespace. If you want to use your own namespace, provide a UUID as second parameter:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web', '004aadf4-8e1a-4450-905b-6039179f52da'));\n// => 'b1c4a89e-4905-5e3c-b57f-dc92627d011e'\n```\n\n### Getting the empty UUID\n\nIf you need a UUID that consists only of zeros, use the `empty` function:\n\n```javascript\nimport { empty } from 'uuidv4';\n\nconsole.log(empty());\n// => '00000000-0000-0000-0000-000000000000'\n```\n\n## Running quality assurance\n\nTo run quality assurance for this module use [roboter](https://www.npmjs.com/package/roboter):\n\n```shell\n$ npx roboter\n```\n",
+ "readmeFilename": "README.md",
+ "_optional": true,
+ "_args": [
+ [
+ "uuidv4@6.2.13",
+ "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project"
+ ]
+ ],
+ "optionalDependencies": {},
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuidv4",
+ "error": "[Circular]",
+ "extraneous": false
+ }
+ },
+ "_id": "demo-dev-dependencies@0.0.0",
+ "_shrinkwrap": {
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@types/node": {
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "dev": true
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw=="
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "requires": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ }
+ }
}
},
- "optionalDependencies": {},
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
"error": "[Circular]",
"extraneous": false
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node19_macos-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node19_macos-latest.json
new file mode 100644
index 000000000..c480be6c6
--- /dev/null
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node19_macos-latest.json
@@ -0,0 +1,759 @@
+{
+ "name": "demo-dev-dependencies",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "private": true,
+ "version": "0.0.0",
+ "license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "devDependencies": {
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
+ },
+ "readme": "ERROR: No README data found!",
+ "dependencies": {
+ "@types/node": {
+ "_from": "@types/node@>=16",
+ "_id": "@types/node@18.15.11",
+ "_integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "_location": "/@types/node",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/node@18.15.11",
+ "name": "@types/node",
+ "escapedName": "@types%2fnode",
+ "scope": "@types",
+ "rawSpec": "18.15.11",
+ "saveSpec": null,
+ "fetchSpec": "18.15.11"
+ },
+ "_requiredBy": [
+ "#DEV:/"
+ ],
+ "_resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "_shasum": "b3b790f09cb1696cffcec605de025b088fa4225f",
+ "_spec": "18.15.11",
+ "_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
+ },
+ "contributors": [
+ {
+ "name": "Microsoft TypeScript",
+ "url": "https://github.com/Microsoft"
+ },
+ {
+ "name": "DefinitelyTyped",
+ "url": "https://github.com/DefinitelyTyped"
+ },
+ {
+ "name": "Alberto Schiabel",
+ "url": "https://github.com/jkomyno"
+ },
+ {
+ "name": "Alvis HT Tang",
+ "url": "https://github.com/alvis"
+ },
+ {
+ "name": "Andrew Makarov",
+ "url": "https://github.com/r3nya"
+ },
+ {
+ "name": "Benjamin Toueg",
+ "url": "https://github.com/btoueg"
+ },
+ {
+ "name": "Chigozirim C.",
+ "url": "https://github.com/smac89"
+ },
+ {
+ "name": "David Junger",
+ "url": "https://github.com/touffy"
+ },
+ {
+ "name": "Deividas Bakanas",
+ "url": "https://github.com/DeividasBakanas"
+ },
+ {
+ "name": "Eugene Y. Q. Shen",
+ "url": "https://github.com/eyqs"
+ },
+ {
+ "name": "Hannes Magnusson",
+ "url": "https://github.com/Hannes-Magnusson-CK"
+ },
+ {
+ "name": "Huw",
+ "url": "https://github.com/hoo29"
+ },
+ {
+ "name": "Kelvin Jin",
+ "url": "https://github.com/kjin"
+ },
+ {
+ "name": "Klaus Meinhardt",
+ "url": "https://github.com/ajafff"
+ },
+ {
+ "name": "Lishude",
+ "url": "https://github.com/islishude"
+ },
+ {
+ "name": "Mariusz Wiktorczyk",
+ "url": "https://github.com/mwiktorczyk"
+ },
+ {
+ "name": "Mohsen Azimi",
+ "url": "https://github.com/mohsen1"
+ },
+ {
+ "name": "Nicolas Even",
+ "url": "https://github.com/n-e"
+ },
+ {
+ "name": "Nikita Galkin",
+ "url": "https://github.com/galkin"
+ },
+ {
+ "name": "Parambir Singh",
+ "url": "https://github.com/parambirs"
+ },
+ {
+ "name": "Sebastian Silbermann",
+ "url": "https://github.com/eps1lon"
+ },
+ {
+ "name": "Simon Schick",
+ "url": "https://github.com/SimonSchick"
+ },
+ {
+ "name": "Thomas den Hollander",
+ "url": "https://github.com/ThomasdenH"
+ },
+ {
+ "name": "Wilco Bakker",
+ "url": "https://github.com/WilcoBakker"
+ },
+ {
+ "name": "wwwy3y3",
+ "url": "https://github.com/wwwy3y3"
+ },
+ {
+ "name": "Samuel Ainsworth",
+ "url": "https://github.com/samuela"
+ },
+ {
+ "name": "Kyle Uehlein",
+ "url": "https://github.com/kuehlein"
+ },
+ {
+ "name": "Thanik Bhongbhibhat",
+ "url": "https://github.com/bhongy"
+ },
+ {
+ "name": "Marcin Kopacz",
+ "url": "https://github.com/chyzwar"
+ },
+ {
+ "name": "Trivikram Kamat",
+ "url": "https://github.com/trivikr"
+ },
+ {
+ "name": "Junxiao Shi",
+ "url": "https://github.com/yoursunny"
+ },
+ {
+ "name": "Ilia Baryshnikov",
+ "url": "https://github.com/qwelias"
+ },
+ {
+ "name": "ExE Boss",
+ "url": "https://github.com/ExE-Boss"
+ },
+ {
+ "name": "Piotr Błażejewicz",
+ "url": "https://github.com/peterblazejewicz"
+ },
+ {
+ "name": "Anna Henningsen",
+ "url": "https://github.com/addaleax"
+ },
+ {
+ "name": "Victor Perin",
+ "url": "https://github.com/victorperin"
+ },
+ {
+ "name": "Yongsheng Zhang",
+ "url": "https://github.com/ZYSzys"
+ },
+ {
+ "name": "NodeJS Contributors",
+ "url": "https://github.com/NodeJS"
+ },
+ {
+ "name": "Linus Unnebäck",
+ "url": "https://github.com/LinusU"
+ },
+ {
+ "name": "wafuwafu13",
+ "url": "https://github.com/wafuwafu13"
+ },
+ {
+ "name": "Matteo Collina",
+ "url": "https://github.com/mcollina"
+ },
+ {
+ "name": "Dmitry Semigradsky",
+ "url": "https://github.com/Semigradsky"
+ }
+ ],
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for Node.js",
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/node",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git",
+ "directory": "types/node"
+ },
+ "scripts": {},
+ "typeScriptVersion": "4.3",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "0b569b41848800d78adc39868da768013835b59322022dd1bb40be639e885045",
+ "typesVersions": {
+ "<=4.8": {
+ "*": [
+ "ts4.8/*"
+ ]
+ }
+ },
+ "version": "18.15.11",
+ "readme": "# Installation\r\n> `npm install --save @types/node`\r\n\r\n# Summary\r\nThis package contains type definitions for Node.js (https://nodejs.org/).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.\r\n\r\n### Additional Details\r\n * Last updated: Tue, 28 Mar 2023 21:33:10 GMT\r\n * Dependencies: none\r\n * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`\r\n\r\n# Credits\r\nThese definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), [Matteo Collina](https://github.com/mcollina), and [Dmitry Semigradsky](https://github.com/Semigradsky).\r\n",
+ "readmeFilename": "README.md",
+ "_development": true,
+ "_args": [
+ [
+ "@types/node@18.15.11",
+ "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "devDependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
+ },
+ "contributors": [
+ {
+ "name": "Oliver Hoffmann",
+ "url": "https://github.com/iamolivinius"
+ },
+ {
+ "name": "Felipe Ochoa",
+ "url": "https://github.com/felipeochoa"
+ },
+ {
+ "name": "Chris Barth",
+ "url": "https://github.com/cjbarth"
+ },
+ {
+ "name": "Linus Unnebäck",
+ "url": "https://github.com/LinusU"
+ },
+ {
+ "name": "Christoph Tavan",
+ "url": "https://github.com/ctavan"
+ }
+ ],
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": {
+ "./package.json": "./package.json",
+ ".": {
+ "types": {
+ "import": "./index.d.mts",
+ "default": "./index.d.ts"
+ }
+ }
+ },
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git",
+ "directory": "types/uuid"
+ },
+ "scripts": {},
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "@types/uuid@8.3.4",
+ "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "devDependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "browser": {
+ "./dist/md5.js": "./dist/md5-browser.js",
+ "./dist/rng.js": "./dist/rng-browser.js",
+ "./dist/sha1.js": "./dist/sha1-browser.js",
+ "./dist/esm-node/index.js": "./dist/esm-browser/index.js"
+ },
+ "bugs": {
+ "url": "https://github.com/uuidjs/uuid/issues"
+ },
+ "commitlint": {
+ "extends": [
+ "@commitlint/config-conventional"
+ ]
+ },
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": {
+ "@babel/cli": "7.11.6",
+ "@babel/core": "7.11.6",
+ "@babel/preset-env": "7.11.5",
+ "@commitlint/cli": "11.0.0",
+ "@commitlint/config-conventional": "11.0.0",
+ "@rollup/plugin-node-resolve": "9.0.0",
+ "babel-eslint": "10.1.0",
+ "bundlewatch": "0.3.1",
+ "eslint": "7.10.0",
+ "eslint-config-prettier": "6.12.0",
+ "eslint-config-standard": "14.1.1",
+ "eslint-plugin-import": "2.22.1",
+ "eslint-plugin-node": "11.1.0",
+ "eslint-plugin-prettier": "3.1.4",
+ "eslint-plugin-promise": "4.2.1",
+ "eslint-plugin-standard": "4.0.1",
+ "husky": "4.3.0",
+ "jest": "25.5.4",
+ "lint-staged": "10.4.0",
+ "npm-run-all": "4.1.5",
+ "optional-dev-dependency": "2.0.1",
+ "prettier": "2.1.2",
+ "random-seed": "0.3.0",
+ "rollup": "2.28.2",
+ "rollup-plugin-terser": "7.0.2",
+ "runmd": "1.3.2",
+ "standard-version": "9.0.0"
+ },
+ "exports": {
+ ".": {
+ "node": {
+ "module": "./dist/esm-node/index.js",
+ "require": "./dist/index.js",
+ "import": "./wrapper.mjs"
+ },
+ "default": "./dist/esm-browser/index.js"
+ },
+ "./package.json": "./package.json"
+ },
+ "files": [
+ "CHANGELOG.md",
+ "CONTRIBUTING.md",
+ "LICENSE.md",
+ "README.md",
+ "dist",
+ "wrapper.mjs"
+ ],
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": {
+ "hooks": {
+ "commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
+ "pre-commit": "lint-staged"
+ }
+ },
+ "keywords": [
+ "uuid",
+ "guid",
+ "rfc4122"
+ ],
+ "license": "MIT",
+ "lint-staged": {
+ "*.{js,jsx,json,md}": [
+ "prettier --write"
+ ],
+ "*.{js,jsx}": [
+ "eslint --fix"
+ ]
+ },
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": {
+ "@wdio/browserstack-service": "6.4.0",
+ "@wdio/cli": "6.4.0",
+ "@wdio/jasmine-framework": "6.4.0",
+ "@wdio/local-runner": "6.4.0",
+ "@wdio/spec-reporter": "6.4.0",
+ "@wdio/static-server-service": "6.4.0",
+ "@wdio/sync": "6.4.0"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/uuidjs/uuid.git"
+ },
+ "scripts": {
+ "build": "./scripts/build.sh",
+ "bundlewatch": "npm run pretest:browser && bundlewatch --config bundlewatch.config.json",
+ "docs": "( node --version | grep -q 'v12' ) && ( npm run build && runmd --output=README.md README_js.md )",
+ "docs:diff": "npm run docs && git diff --quiet README.md",
+ "eslint:check": "eslint src/ test/ examples/ *.js",
+ "eslint:fix": "eslint --fix src/ test/ examples/ *.js",
+ "examples:browser:rollup:build": "cd examples/browser-rollup && npm install && npm run build",
+ "examples:browser:webpack:build": "cd examples/browser-webpack && npm install && npm run build",
+ "examples:node:commonjs:test": "cd examples/node-commonjs && npm install && npm test",
+ "examples:node:esmodules:test": "cd examples/node-esmodules && npm install && npm test",
+ "lint": "npm run eslint:check && npm run prettier:check",
+ "md": "runmd --watch --output=README.md README_js.md",
+ "prepack": "npm run build",
+ "pretest": "[ -n $CI ] || npm run build",
+ "pretest:benchmark": "npm run build",
+ "pretest:browser": "optional-dev-dependency && npm run build && npm-run-all --parallel examples:browser:**",
+ "pretest:node": "npm run build",
+ "prettier:check": "prettier --ignore-path .prettierignore --check '**/*.{js,jsx,json,md}'",
+ "prettier:fix": "prettier --ignore-path .prettierignore --write '**/*.{js,jsx,json,md}'",
+ "release": "standard-version --no-verify",
+ "test": "BABEL_ENV=commonjs node --throw-deprecation node_modules/.bin/jest test/unit/",
+ "test:benchmark": "cd examples/benchmark && npm install && npm test",
+ "test:browser": "wdio run ./wdio.conf.js",
+ "test:node": "npm-run-all --parallel examples:node:**",
+ "test:pack": "./scripts/testpack.sh"
+ },
+ "sideEffects": false,
+ "standard-version": {
+ "scripts": {
+ "postchangelog": "prettier --write CHANGELOG.md"
+ }
+ },
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "uuid@8.3.2",
+ "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "dependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuidv4": {
+ "_from": "uuidv4@^6.2.13",
+ "_id": "uuidv4@6.2.13",
+ "_integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "_location": "/uuidv4",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuidv4@6.2.13",
+ "name": "uuidv4",
+ "escapedName": "uuidv4",
+ "rawSpec": "6.2.13",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "6.2.13"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "_shasum": "8f95ec5ef22d1f92c8e5d4c70b735d1c89572cb7",
+ "_spec": "6.2.13",
+ "_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": {
+ "url": "https://github.com/thenativeweb/uuidv4/issues"
+ },
+ "contributors": [
+ {
+ "name": "Golo Roden",
+ "email": "golo.roden@thenativeweb.io"
+ },
+ {
+ "name": "Matthias Wagler",
+ "email": "matthias.wagler@thenativeweb.io"
+ },
+ {
+ "name": "Jan-Hendrik Grundhöfer",
+ "email": "jan-hendrik.grundhoefer@thenativeweb.io"
+ },
+ {
+ "name": "Sven Eppler",
+ "email": "sven.eppler@sodgeit.de"
+ },
+ {
+ "name": "Hannes Leutloff",
+ "email": "hannes.leutloff@thenativeweb.io"
+ }
+ ],
+ "dependencies": {
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": "[Circular]",
+ "contributors": "[Circular]",
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": "[Circular]",
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "devDependencies": "[Circular]",
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "@types/uuid"
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bin": "[Circular]",
+ "browser": "[Circular]",
+ "bugs": "[Circular]",
+ "commitlint": "[Circular]",
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": "[Circular]",
+ "exports": "[Circular]",
+ "files": "[Circular]",
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": "[Circular]",
+ "keywords": "[Circular]",
+ "license": "MIT",
+ "lint-staged": "[Circular]",
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": "[Circular]",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "sideEffects": false,
+ "standard-version": "[Circular]",
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "dependencies": {},
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "uuid"
+ }
+ },
+ "deprecated": false,
+ "description": "uuidv4 creates v4 UUIDs.",
+ "devDependencies": {
+ "assertthat": "6.4.0",
+ "roboter": "12.7.1",
+ "semantic-release-configuration": "2.0.7"
+ },
+ "homepage": "https://github.com/thenativeweb/uuidv4#readme",
+ "keywords": [
+ "guid",
+ "uuid"
+ ],
+ "license": "MIT",
+ "main": "build/lib/uuidv4.js",
+ "name": "uuidv4",
+ "private": false,
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/thenativeweb/uuidv4.git"
+ },
+ "scripts": {},
+ "types": "build/lib/uuidv4.d.ts",
+ "version": "6.2.13",
+ "readme": "# uuidv4\n\nuuidv4 creates v4 UUIDs.\n\n## Status\n\n| Category | Status |\n| ---------------- | --------------------------------------------------------------------------------------------------- |\n| Version | [](https://www.npmjs.com/package/uuidv4) |\n| Dependencies |  |\n| Dev dependencies |  |\n| Build |  |\n| License |  |\n\n## Please note\n\nThis module will be deprecated in the future in favour of module [uuid](https://www.npmjs.com/package/uuid). Most of the functionality of this module is already included in `uuid` since version `8.3.0`, so most of the functions of this module have already been marked as deprecated.\n\n## Installation\n\n```shell\n$ npm install uuidv4\n```\n\n## Quick start\n\nFirst you need to integrate uuidv4 into your project by using the `require` function:\n\n```javascript\nconst { uuid } = require('uuidv4');\n```\n\nIf you use TypeScript, use the following code instead:\n\n```typescript\nimport { uuid } from 'uuidv4';\n```\n\nThen you can create UUIDs. To do so simply call the `uuid` function:\n\n```javascript\nconsole.log(uuid());\n// => '11bf5b37-e0b8-42e0-8dcf-dc8c4aefc000'\n```\n\n### Verifying a UUID\n\nTo verify whether a given value is a UUID, use the `isUuid` function:\n\n```javascript\nimport { isUuid } from 'uuidv4';\n\nconsole.log(isUuid('75442486-0878-440c-9db1-a7006c25a39f'));\n// => true\n```\n\n_Please note that the `isUuid` function returns `true` for both, `v4` and `v5` UUIDs. In addition, `isUuid` returns `true` for `empty()`._\n\n#### Using a regular expression\n\nIf you want to perform the verification on your own using a regular expression, use the `regex` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { regex } from 'uuidv4';\n\nconsole.log(regex.v4);\nconsole.log(regex.v5);\n```\n\n_Please note that the regular expressions also consider `empty()` to be a valid UUID._\n\n#### Using a JSON schema\n\nIf you want to perform the verification on your own using a JSON schema, use the `jsonSchema` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { jsonSchema } from 'uuidv4';\n\nconsole.log(jsonSchema.v4);\nconsole.log(jsonSchema.v5);\n```\n\n_Please note that the JSON schemas also consider `empty()` to be a valid UUID._\n\n### Getting a UUID from a string\n\nFrom time to time you need an identifier that looks like a UUID, but is actually inferred from a string. For that, use the `fromString` function, which returns a UUID `v5`:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web'));\n// => 'cdb63720-9628-5ef6-bbca-2e5ce6094f3c'\n```\n\nBy default, the `fromString` function uses a pre-configured namespace. If you want to use your own namespace, provide a UUID as second parameter:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web', '004aadf4-8e1a-4450-905b-6039179f52da'));\n// => 'b1c4a89e-4905-5e3c-b57f-dc92627d011e'\n```\n\n### Getting the empty UUID\n\nIf you need a UUID that consists only of zeros, use the `empty` function:\n\n```javascript\nimport { empty } from 'uuidv4';\n\nconsole.log(empty());\n// => '00000000-0000-0000-0000-000000000000'\n```\n\n## Running quality assurance\n\nTo run quality assurance for this module use [roboter](https://www.npmjs.com/package/roboter):\n\n```shell\n$ npx roboter\n```\n",
+ "readmeFilename": "README.md",
+ "_optional": true,
+ "_args": [
+ [
+ "uuidv4@6.2.13",
+ "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "optionalDependencies": {},
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "error": "[Circular]",
+ "extraneous": false
+ }
+ },
+ "_id": "demo-dev-dependencies@0.0.0",
+ "_shrinkwrap": {
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@types/node": {
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "dev": true
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw=="
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "requires": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ }
+ }
+ }
+ },
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "error": "[Circular]",
+ "extraneous": false
+}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node19_ubuntu-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node19_ubuntu-latest.json
new file mode 100644
index 000000000..2a83b9f44
--- /dev/null
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node19_ubuntu-latest.json
@@ -0,0 +1,759 @@
+{
+ "name": "demo-dev-dependencies",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "private": true,
+ "version": "0.0.0",
+ "license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "devDependencies": {
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
+ },
+ "readme": "ERROR: No README data found!",
+ "dependencies": {
+ "@types/node": {
+ "_from": "@types/node@>=16",
+ "_id": "@types/node@18.15.11",
+ "_integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "_location": "/@types/node",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/node@18.15.11",
+ "name": "@types/node",
+ "escapedName": "@types%2fnode",
+ "scope": "@types",
+ "rawSpec": "18.15.11",
+ "saveSpec": null,
+ "fetchSpec": "18.15.11"
+ },
+ "_requiredBy": [
+ "#DEV:/"
+ ],
+ "_resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "_shasum": "b3b790f09cb1696cffcec605de025b088fa4225f",
+ "_spec": "18.15.11",
+ "_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
+ },
+ "contributors": [
+ {
+ "name": "Microsoft TypeScript",
+ "url": "https://github.com/Microsoft"
+ },
+ {
+ "name": "DefinitelyTyped",
+ "url": "https://github.com/DefinitelyTyped"
+ },
+ {
+ "name": "Alberto Schiabel",
+ "url": "https://github.com/jkomyno"
+ },
+ {
+ "name": "Alvis HT Tang",
+ "url": "https://github.com/alvis"
+ },
+ {
+ "name": "Andrew Makarov",
+ "url": "https://github.com/r3nya"
+ },
+ {
+ "name": "Benjamin Toueg",
+ "url": "https://github.com/btoueg"
+ },
+ {
+ "name": "Chigozirim C.",
+ "url": "https://github.com/smac89"
+ },
+ {
+ "name": "David Junger",
+ "url": "https://github.com/touffy"
+ },
+ {
+ "name": "Deividas Bakanas",
+ "url": "https://github.com/DeividasBakanas"
+ },
+ {
+ "name": "Eugene Y. Q. Shen",
+ "url": "https://github.com/eyqs"
+ },
+ {
+ "name": "Hannes Magnusson",
+ "url": "https://github.com/Hannes-Magnusson-CK"
+ },
+ {
+ "name": "Huw",
+ "url": "https://github.com/hoo29"
+ },
+ {
+ "name": "Kelvin Jin",
+ "url": "https://github.com/kjin"
+ },
+ {
+ "name": "Klaus Meinhardt",
+ "url": "https://github.com/ajafff"
+ },
+ {
+ "name": "Lishude",
+ "url": "https://github.com/islishude"
+ },
+ {
+ "name": "Mariusz Wiktorczyk",
+ "url": "https://github.com/mwiktorczyk"
+ },
+ {
+ "name": "Mohsen Azimi",
+ "url": "https://github.com/mohsen1"
+ },
+ {
+ "name": "Nicolas Even",
+ "url": "https://github.com/n-e"
+ },
+ {
+ "name": "Nikita Galkin",
+ "url": "https://github.com/galkin"
+ },
+ {
+ "name": "Parambir Singh",
+ "url": "https://github.com/parambirs"
+ },
+ {
+ "name": "Sebastian Silbermann",
+ "url": "https://github.com/eps1lon"
+ },
+ {
+ "name": "Simon Schick",
+ "url": "https://github.com/SimonSchick"
+ },
+ {
+ "name": "Thomas den Hollander",
+ "url": "https://github.com/ThomasdenH"
+ },
+ {
+ "name": "Wilco Bakker",
+ "url": "https://github.com/WilcoBakker"
+ },
+ {
+ "name": "wwwy3y3",
+ "url": "https://github.com/wwwy3y3"
+ },
+ {
+ "name": "Samuel Ainsworth",
+ "url": "https://github.com/samuela"
+ },
+ {
+ "name": "Kyle Uehlein",
+ "url": "https://github.com/kuehlein"
+ },
+ {
+ "name": "Thanik Bhongbhibhat",
+ "url": "https://github.com/bhongy"
+ },
+ {
+ "name": "Marcin Kopacz",
+ "url": "https://github.com/chyzwar"
+ },
+ {
+ "name": "Trivikram Kamat",
+ "url": "https://github.com/trivikr"
+ },
+ {
+ "name": "Junxiao Shi",
+ "url": "https://github.com/yoursunny"
+ },
+ {
+ "name": "Ilia Baryshnikov",
+ "url": "https://github.com/qwelias"
+ },
+ {
+ "name": "ExE Boss",
+ "url": "https://github.com/ExE-Boss"
+ },
+ {
+ "name": "Piotr Błażejewicz",
+ "url": "https://github.com/peterblazejewicz"
+ },
+ {
+ "name": "Anna Henningsen",
+ "url": "https://github.com/addaleax"
+ },
+ {
+ "name": "Victor Perin",
+ "url": "https://github.com/victorperin"
+ },
+ {
+ "name": "Yongsheng Zhang",
+ "url": "https://github.com/ZYSzys"
+ },
+ {
+ "name": "NodeJS Contributors",
+ "url": "https://github.com/NodeJS"
+ },
+ {
+ "name": "Linus Unnebäck",
+ "url": "https://github.com/LinusU"
+ },
+ {
+ "name": "wafuwafu13",
+ "url": "https://github.com/wafuwafu13"
+ },
+ {
+ "name": "Matteo Collina",
+ "url": "https://github.com/mcollina"
+ },
+ {
+ "name": "Dmitry Semigradsky",
+ "url": "https://github.com/Semigradsky"
+ }
+ ],
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for Node.js",
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/node",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git",
+ "directory": "types/node"
+ },
+ "scripts": {},
+ "typeScriptVersion": "4.3",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "0b569b41848800d78adc39868da768013835b59322022dd1bb40be639e885045",
+ "typesVersions": {
+ "<=4.8": {
+ "*": [
+ "ts4.8/*"
+ ]
+ }
+ },
+ "version": "18.15.11",
+ "readme": "# Installation\r\n> `npm install --save @types/node`\r\n\r\n# Summary\r\nThis package contains type definitions for Node.js (https://nodejs.org/).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.\r\n\r\n### Additional Details\r\n * Last updated: Tue, 28 Mar 2023 21:33:10 GMT\r\n * Dependencies: none\r\n * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`\r\n\r\n# Credits\r\nThese definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), [Matteo Collina](https://github.com/mcollina), and [Dmitry Semigradsky](https://github.com/Semigradsky).\r\n",
+ "readmeFilename": "README.md",
+ "_development": true,
+ "_args": [
+ [
+ "@types/node@18.15.11",
+ "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "devDependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
+ },
+ "contributors": [
+ {
+ "name": "Oliver Hoffmann",
+ "url": "https://github.com/iamolivinius"
+ },
+ {
+ "name": "Felipe Ochoa",
+ "url": "https://github.com/felipeochoa"
+ },
+ {
+ "name": "Chris Barth",
+ "url": "https://github.com/cjbarth"
+ },
+ {
+ "name": "Linus Unnebäck",
+ "url": "https://github.com/LinusU"
+ },
+ {
+ "name": "Christoph Tavan",
+ "url": "https://github.com/ctavan"
+ }
+ ],
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": {
+ "./package.json": "./package.json",
+ ".": {
+ "types": {
+ "import": "./index.d.mts",
+ "default": "./index.d.ts"
+ }
+ }
+ },
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git",
+ "directory": "types/uuid"
+ },
+ "scripts": {},
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "@types/uuid@8.3.4",
+ "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "devDependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "browser": {
+ "./dist/md5.js": "./dist/md5-browser.js",
+ "./dist/rng.js": "./dist/rng-browser.js",
+ "./dist/sha1.js": "./dist/sha1-browser.js",
+ "./dist/esm-node/index.js": "./dist/esm-browser/index.js"
+ },
+ "bugs": {
+ "url": "https://github.com/uuidjs/uuid/issues"
+ },
+ "commitlint": {
+ "extends": [
+ "@commitlint/config-conventional"
+ ]
+ },
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": {
+ "@babel/cli": "7.11.6",
+ "@babel/core": "7.11.6",
+ "@babel/preset-env": "7.11.5",
+ "@commitlint/cli": "11.0.0",
+ "@commitlint/config-conventional": "11.0.0",
+ "@rollup/plugin-node-resolve": "9.0.0",
+ "babel-eslint": "10.1.0",
+ "bundlewatch": "0.3.1",
+ "eslint": "7.10.0",
+ "eslint-config-prettier": "6.12.0",
+ "eslint-config-standard": "14.1.1",
+ "eslint-plugin-import": "2.22.1",
+ "eslint-plugin-node": "11.1.0",
+ "eslint-plugin-prettier": "3.1.4",
+ "eslint-plugin-promise": "4.2.1",
+ "eslint-plugin-standard": "4.0.1",
+ "husky": "4.3.0",
+ "jest": "25.5.4",
+ "lint-staged": "10.4.0",
+ "npm-run-all": "4.1.5",
+ "optional-dev-dependency": "2.0.1",
+ "prettier": "2.1.2",
+ "random-seed": "0.3.0",
+ "rollup": "2.28.2",
+ "rollup-plugin-terser": "7.0.2",
+ "runmd": "1.3.2",
+ "standard-version": "9.0.0"
+ },
+ "exports": {
+ ".": {
+ "node": {
+ "module": "./dist/esm-node/index.js",
+ "require": "./dist/index.js",
+ "import": "./wrapper.mjs"
+ },
+ "default": "./dist/esm-browser/index.js"
+ },
+ "./package.json": "./package.json"
+ },
+ "files": [
+ "CHANGELOG.md",
+ "CONTRIBUTING.md",
+ "LICENSE.md",
+ "README.md",
+ "dist",
+ "wrapper.mjs"
+ ],
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": {
+ "hooks": {
+ "commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
+ "pre-commit": "lint-staged"
+ }
+ },
+ "keywords": [
+ "uuid",
+ "guid",
+ "rfc4122"
+ ],
+ "license": "MIT",
+ "lint-staged": {
+ "*.{js,jsx,json,md}": [
+ "prettier --write"
+ ],
+ "*.{js,jsx}": [
+ "eslint --fix"
+ ]
+ },
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": {
+ "@wdio/browserstack-service": "6.4.0",
+ "@wdio/cli": "6.4.0",
+ "@wdio/jasmine-framework": "6.4.0",
+ "@wdio/local-runner": "6.4.0",
+ "@wdio/spec-reporter": "6.4.0",
+ "@wdio/static-server-service": "6.4.0",
+ "@wdio/sync": "6.4.0"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/uuidjs/uuid.git"
+ },
+ "scripts": {
+ "build": "./scripts/build.sh",
+ "bundlewatch": "npm run pretest:browser && bundlewatch --config bundlewatch.config.json",
+ "docs": "( node --version | grep -q 'v12' ) && ( npm run build && runmd --output=README.md README_js.md )",
+ "docs:diff": "npm run docs && git diff --quiet README.md",
+ "eslint:check": "eslint src/ test/ examples/ *.js",
+ "eslint:fix": "eslint --fix src/ test/ examples/ *.js",
+ "examples:browser:rollup:build": "cd examples/browser-rollup && npm install && npm run build",
+ "examples:browser:webpack:build": "cd examples/browser-webpack && npm install && npm run build",
+ "examples:node:commonjs:test": "cd examples/node-commonjs && npm install && npm test",
+ "examples:node:esmodules:test": "cd examples/node-esmodules && npm install && npm test",
+ "lint": "npm run eslint:check && npm run prettier:check",
+ "md": "runmd --watch --output=README.md README_js.md",
+ "prepack": "npm run build",
+ "pretest": "[ -n $CI ] || npm run build",
+ "pretest:benchmark": "npm run build",
+ "pretest:browser": "optional-dev-dependency && npm run build && npm-run-all --parallel examples:browser:**",
+ "pretest:node": "npm run build",
+ "prettier:check": "prettier --ignore-path .prettierignore --check '**/*.{js,jsx,json,md}'",
+ "prettier:fix": "prettier --ignore-path .prettierignore --write '**/*.{js,jsx,json,md}'",
+ "release": "standard-version --no-verify",
+ "test": "BABEL_ENV=commonjs node --throw-deprecation node_modules/.bin/jest test/unit/",
+ "test:benchmark": "cd examples/benchmark && npm install && npm test",
+ "test:browser": "wdio run ./wdio.conf.js",
+ "test:node": "npm-run-all --parallel examples:node:**",
+ "test:pack": "./scripts/testpack.sh"
+ },
+ "sideEffects": false,
+ "standard-version": {
+ "scripts": {
+ "postchangelog": "prettier --write CHANGELOG.md"
+ }
+ },
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "uuid@8.3.2",
+ "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "dependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuidv4": {
+ "_from": "uuidv4@^6.2.13",
+ "_id": "uuidv4@6.2.13",
+ "_integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "_location": "/uuidv4",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuidv4@6.2.13",
+ "name": "uuidv4",
+ "escapedName": "uuidv4",
+ "rawSpec": "6.2.13",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "6.2.13"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "_shasum": "8f95ec5ef22d1f92c8e5d4c70b735d1c89572cb7",
+ "_spec": "6.2.13",
+ "_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": {
+ "url": "https://github.com/thenativeweb/uuidv4/issues"
+ },
+ "contributors": [
+ {
+ "name": "Golo Roden",
+ "email": "golo.roden@thenativeweb.io"
+ },
+ {
+ "name": "Matthias Wagler",
+ "email": "matthias.wagler@thenativeweb.io"
+ },
+ {
+ "name": "Jan-Hendrik Grundhöfer",
+ "email": "jan-hendrik.grundhoefer@thenativeweb.io"
+ },
+ {
+ "name": "Sven Eppler",
+ "email": "sven.eppler@sodgeit.de"
+ },
+ {
+ "name": "Hannes Leutloff",
+ "email": "hannes.leutloff@thenativeweb.io"
+ }
+ ],
+ "dependencies": {
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bugs": "[Circular]",
+ "contributors": "[Circular]",
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": "[Circular]",
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "devDependencies": "[Circular]",
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "@types/uuid"
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "bin": "[Circular]",
+ "browser": "[Circular]",
+ "bugs": "[Circular]",
+ "commitlint": "[Circular]",
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": "[Circular]",
+ "exports": "[Circular]",
+ "files": "[Circular]",
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": "[Circular]",
+ "keywords": "[Circular]",
+ "license": "MIT",
+ "lint-staged": "[Circular]",
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": "[Circular]",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "sideEffects": false,
+ "standard-version": "[Circular]",
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "dependencies": {},
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "uuid"
+ }
+ },
+ "deprecated": false,
+ "description": "uuidv4 creates v4 UUIDs.",
+ "devDependencies": {
+ "assertthat": "6.4.0",
+ "roboter": "12.7.1",
+ "semantic-release-configuration": "2.0.7"
+ },
+ "homepage": "https://github.com/thenativeweb/uuidv4#readme",
+ "keywords": [
+ "guid",
+ "uuid"
+ ],
+ "license": "MIT",
+ "main": "build/lib/uuidv4.js",
+ "name": "uuidv4",
+ "private": false,
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/thenativeweb/uuidv4.git"
+ },
+ "scripts": {},
+ "types": "build/lib/uuidv4.d.ts",
+ "version": "6.2.13",
+ "readme": "# uuidv4\n\nuuidv4 creates v4 UUIDs.\n\n## Status\n\n| Category | Status |\n| ---------------- | --------------------------------------------------------------------------------------------------- |\n| Version | [](https://www.npmjs.com/package/uuidv4) |\n| Dependencies |  |\n| Dev dependencies |  |\n| Build |  |\n| License |  |\n\n## Please note\n\nThis module will be deprecated in the future in favour of module [uuid](https://www.npmjs.com/package/uuid). Most of the functionality of this module is already included in `uuid` since version `8.3.0`, so most of the functions of this module have already been marked as deprecated.\n\n## Installation\n\n```shell\n$ npm install uuidv4\n```\n\n## Quick start\n\nFirst you need to integrate uuidv4 into your project by using the `require` function:\n\n```javascript\nconst { uuid } = require('uuidv4');\n```\n\nIf you use TypeScript, use the following code instead:\n\n```typescript\nimport { uuid } from 'uuidv4';\n```\n\nThen you can create UUIDs. To do so simply call the `uuid` function:\n\n```javascript\nconsole.log(uuid());\n// => '11bf5b37-e0b8-42e0-8dcf-dc8c4aefc000'\n```\n\n### Verifying a UUID\n\nTo verify whether a given value is a UUID, use the `isUuid` function:\n\n```javascript\nimport { isUuid } from 'uuidv4';\n\nconsole.log(isUuid('75442486-0878-440c-9db1-a7006c25a39f'));\n// => true\n```\n\n_Please note that the `isUuid` function returns `true` for both, `v4` and `v5` UUIDs. In addition, `isUuid` returns `true` for `empty()`._\n\n#### Using a regular expression\n\nIf you want to perform the verification on your own using a regular expression, use the `regex` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { regex } from 'uuidv4';\n\nconsole.log(regex.v4);\nconsole.log(regex.v5);\n```\n\n_Please note that the regular expressions also consider `empty()` to be a valid UUID._\n\n#### Using a JSON schema\n\nIf you want to perform the verification on your own using a JSON schema, use the `jsonSchema` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { jsonSchema } from 'uuidv4';\n\nconsole.log(jsonSchema.v4);\nconsole.log(jsonSchema.v5);\n```\n\n_Please note that the JSON schemas also consider `empty()` to be a valid UUID._\n\n### Getting a UUID from a string\n\nFrom time to time you need an identifier that looks like a UUID, but is actually inferred from a string. For that, use the `fromString` function, which returns a UUID `v5`:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web'));\n// => 'cdb63720-9628-5ef6-bbca-2e5ce6094f3c'\n```\n\nBy default, the `fromString` function uses a pre-configured namespace. If you want to use your own namespace, provide a UUID as second parameter:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web', '004aadf4-8e1a-4450-905b-6039179f52da'));\n// => 'b1c4a89e-4905-5e3c-b57f-dc92627d011e'\n```\n\n### Getting the empty UUID\n\nIf you need a UUID that consists only of zeros, use the `empty` function:\n\n```javascript\nimport { empty } from 'uuidv4';\n\nconsole.log(empty());\n// => '00000000-0000-0000-0000-000000000000'\n```\n\n## Running quality assurance\n\nTo run quality assurance for this module use [roboter](https://www.npmjs.com/package/roboter):\n\n```shell\n$ npx roboter\n```\n",
+ "readmeFilename": "README.md",
+ "_optional": true,
+ "_args": [
+ [
+ "uuidv4@6.2.13",
+ "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project"
+ ]
+ ],
+ "optionalDependencies": {},
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "error": "[Circular]",
+ "extraneous": false
+ }
+ },
+ "_id": "demo-dev-dependencies@0.0.0",
+ "_shrinkwrap": {
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@types/node": {
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "dev": true
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw=="
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "requires": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ }
+ }
+ }
+ },
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "error": "[Circular]",
+ "extraneous": false
+}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node19_windows-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node19_windows-latest.json
new file mode 100644
index 000000000..86d195912
--- /dev/null
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm6_node19_windows-latest.json
@@ -0,0 +1,759 @@
+{
+ "name": "demo-dev-dependencies",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "private": true,
+ "version": "0.0.0",
+ "license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "devDependencies": {
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
+ },
+ "readme": "ERROR: No README data found!",
+ "dependencies": {
+ "@types/node": {
+ "_from": "@types/node@>=16",
+ "_id": "@types/node@18.15.11",
+ "_integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "_location": "/@types/node",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/node@18.15.11",
+ "name": "@types/node",
+ "escapedName": "@types%2fnode",
+ "scope": "@types",
+ "rawSpec": "18.15.11",
+ "saveSpec": null,
+ "fetchSpec": "18.15.11"
+ },
+ "_requiredBy": [
+ "#DEV:/"
+ ],
+ "_resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "_shasum": "b3b790f09cb1696cffcec605de025b088fa4225f",
+ "_spec": "18.15.11",
+ "_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "bugs": {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
+ },
+ "contributors": [
+ {
+ "name": "Microsoft TypeScript",
+ "url": "https://github.com/Microsoft"
+ },
+ {
+ "name": "DefinitelyTyped",
+ "url": "https://github.com/DefinitelyTyped"
+ },
+ {
+ "name": "Alberto Schiabel",
+ "url": "https://github.com/jkomyno"
+ },
+ {
+ "name": "Alvis HT Tang",
+ "url": "https://github.com/alvis"
+ },
+ {
+ "name": "Andrew Makarov",
+ "url": "https://github.com/r3nya"
+ },
+ {
+ "name": "Benjamin Toueg",
+ "url": "https://github.com/btoueg"
+ },
+ {
+ "name": "Chigozirim C.",
+ "url": "https://github.com/smac89"
+ },
+ {
+ "name": "David Junger",
+ "url": "https://github.com/touffy"
+ },
+ {
+ "name": "Deividas Bakanas",
+ "url": "https://github.com/DeividasBakanas"
+ },
+ {
+ "name": "Eugene Y. Q. Shen",
+ "url": "https://github.com/eyqs"
+ },
+ {
+ "name": "Hannes Magnusson",
+ "url": "https://github.com/Hannes-Magnusson-CK"
+ },
+ {
+ "name": "Huw",
+ "url": "https://github.com/hoo29"
+ },
+ {
+ "name": "Kelvin Jin",
+ "url": "https://github.com/kjin"
+ },
+ {
+ "name": "Klaus Meinhardt",
+ "url": "https://github.com/ajafff"
+ },
+ {
+ "name": "Lishude",
+ "url": "https://github.com/islishude"
+ },
+ {
+ "name": "Mariusz Wiktorczyk",
+ "url": "https://github.com/mwiktorczyk"
+ },
+ {
+ "name": "Mohsen Azimi",
+ "url": "https://github.com/mohsen1"
+ },
+ {
+ "name": "Nicolas Even",
+ "url": "https://github.com/n-e"
+ },
+ {
+ "name": "Nikita Galkin",
+ "url": "https://github.com/galkin"
+ },
+ {
+ "name": "Parambir Singh",
+ "url": "https://github.com/parambirs"
+ },
+ {
+ "name": "Sebastian Silbermann",
+ "url": "https://github.com/eps1lon"
+ },
+ {
+ "name": "Simon Schick",
+ "url": "https://github.com/SimonSchick"
+ },
+ {
+ "name": "Thomas den Hollander",
+ "url": "https://github.com/ThomasdenH"
+ },
+ {
+ "name": "Wilco Bakker",
+ "url": "https://github.com/WilcoBakker"
+ },
+ {
+ "name": "wwwy3y3",
+ "url": "https://github.com/wwwy3y3"
+ },
+ {
+ "name": "Samuel Ainsworth",
+ "url": "https://github.com/samuela"
+ },
+ {
+ "name": "Kyle Uehlein",
+ "url": "https://github.com/kuehlein"
+ },
+ {
+ "name": "Thanik Bhongbhibhat",
+ "url": "https://github.com/bhongy"
+ },
+ {
+ "name": "Marcin Kopacz",
+ "url": "https://github.com/chyzwar"
+ },
+ {
+ "name": "Trivikram Kamat",
+ "url": "https://github.com/trivikr"
+ },
+ {
+ "name": "Junxiao Shi",
+ "url": "https://github.com/yoursunny"
+ },
+ {
+ "name": "Ilia Baryshnikov",
+ "url": "https://github.com/qwelias"
+ },
+ {
+ "name": "ExE Boss",
+ "url": "https://github.com/ExE-Boss"
+ },
+ {
+ "name": "Piotr Błażejewicz",
+ "url": "https://github.com/peterblazejewicz"
+ },
+ {
+ "name": "Anna Henningsen",
+ "url": "https://github.com/addaleax"
+ },
+ {
+ "name": "Victor Perin",
+ "url": "https://github.com/victorperin"
+ },
+ {
+ "name": "Yongsheng Zhang",
+ "url": "https://github.com/ZYSzys"
+ },
+ {
+ "name": "NodeJS Contributors",
+ "url": "https://github.com/NodeJS"
+ },
+ {
+ "name": "Linus Unnebäck",
+ "url": "https://github.com/LinusU"
+ },
+ {
+ "name": "wafuwafu13",
+ "url": "https://github.com/wafuwafu13"
+ },
+ {
+ "name": "Matteo Collina",
+ "url": "https://github.com/mcollina"
+ },
+ {
+ "name": "Dmitry Semigradsky",
+ "url": "https://github.com/Semigradsky"
+ }
+ ],
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for Node.js",
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/node",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git",
+ "directory": "types/node"
+ },
+ "scripts": {},
+ "typeScriptVersion": "4.3",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "0b569b41848800d78adc39868da768013835b59322022dd1bb40be639e885045",
+ "typesVersions": {
+ "<=4.8": {
+ "*": [
+ "ts4.8/*"
+ ]
+ }
+ },
+ "version": "18.15.11",
+ "readme": "# Installation\r\n> `npm install --save @types/node`\r\n\r\n# Summary\r\nThis package contains type definitions for Node.js (https://nodejs.org/).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.\r\n\r\n### Additional Details\r\n * Last updated: Tue, 28 Mar 2023 21:33:10 GMT\r\n * Dependencies: none\r\n * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`\r\n\r\n# Credits\r\nThese definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), [Matteo Collina](https://github.com/mcollina), and [Dmitry Semigradsky](https://github.com/Semigradsky).\r\n",
+ "readmeFilename": "README.md",
+ "_development": true,
+ "_args": [
+ [
+ "@types/node@18.15.11",
+ "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project"
+ ]
+ ],
+ "devDependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\node",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "bugs": {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
+ },
+ "contributors": [
+ {
+ "name": "Oliver Hoffmann",
+ "url": "https://github.com/iamolivinius"
+ },
+ {
+ "name": "Felipe Ochoa",
+ "url": "https://github.com/felipeochoa"
+ },
+ {
+ "name": "Chris Barth",
+ "url": "https://github.com/cjbarth"
+ },
+ {
+ "name": "Linus Unnebäck",
+ "url": "https://github.com/LinusU"
+ },
+ {
+ "name": "Christoph Tavan",
+ "url": "https://github.com/ctavan"
+ }
+ ],
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": {
+ "./package.json": "./package.json",
+ ".": {
+ "types": {
+ "import": "./index.d.mts",
+ "default": "./index.d.ts"
+ }
+ }
+ },
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git",
+ "directory": "types/uuid"
+ },
+ "scripts": {},
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "@types/uuid@8.3.4",
+ "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project"
+ ]
+ ],
+ "devDependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "/uuidv4"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "browser": {
+ "./dist/md5.js": "./dist/md5-browser.js",
+ "./dist/rng.js": "./dist/rng-browser.js",
+ "./dist/sha1.js": "./dist/sha1-browser.js",
+ "./dist/esm-node/index.js": "./dist/esm-browser/index.js"
+ },
+ "bugs": {
+ "url": "https://github.com/uuidjs/uuid/issues"
+ },
+ "commitlint": {
+ "extends": [
+ "@commitlint/config-conventional"
+ ]
+ },
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": {
+ "@babel/cli": "7.11.6",
+ "@babel/core": "7.11.6",
+ "@babel/preset-env": "7.11.5",
+ "@commitlint/cli": "11.0.0",
+ "@commitlint/config-conventional": "11.0.0",
+ "@rollup/plugin-node-resolve": "9.0.0",
+ "babel-eslint": "10.1.0",
+ "bundlewatch": "0.3.1",
+ "eslint": "7.10.0",
+ "eslint-config-prettier": "6.12.0",
+ "eslint-config-standard": "14.1.1",
+ "eslint-plugin-import": "2.22.1",
+ "eslint-plugin-node": "11.1.0",
+ "eslint-plugin-prettier": "3.1.4",
+ "eslint-plugin-promise": "4.2.1",
+ "eslint-plugin-standard": "4.0.1",
+ "husky": "4.3.0",
+ "jest": "25.5.4",
+ "lint-staged": "10.4.0",
+ "npm-run-all": "4.1.5",
+ "optional-dev-dependency": "2.0.1",
+ "prettier": "2.1.2",
+ "random-seed": "0.3.0",
+ "rollup": "2.28.2",
+ "rollup-plugin-terser": "7.0.2",
+ "runmd": "1.3.2",
+ "standard-version": "9.0.0"
+ },
+ "exports": {
+ ".": {
+ "node": {
+ "module": "./dist/esm-node/index.js",
+ "require": "./dist/index.js",
+ "import": "./wrapper.mjs"
+ },
+ "default": "./dist/esm-browser/index.js"
+ },
+ "./package.json": "./package.json"
+ },
+ "files": [
+ "CHANGELOG.md",
+ "CONTRIBUTING.md",
+ "LICENSE.md",
+ "README.md",
+ "dist",
+ "wrapper.mjs"
+ ],
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": {
+ "hooks": {
+ "commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
+ "pre-commit": "lint-staged"
+ }
+ },
+ "keywords": [
+ "uuid",
+ "guid",
+ "rfc4122"
+ ],
+ "license": "MIT",
+ "lint-staged": {
+ "*.{js,jsx,json,md}": [
+ "prettier --write"
+ ],
+ "*.{js,jsx}": [
+ "eslint --fix"
+ ]
+ },
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": {
+ "@wdio/browserstack-service": "6.4.0",
+ "@wdio/cli": "6.4.0",
+ "@wdio/jasmine-framework": "6.4.0",
+ "@wdio/local-runner": "6.4.0",
+ "@wdio/spec-reporter": "6.4.0",
+ "@wdio/static-server-service": "6.4.0",
+ "@wdio/sync": "6.4.0"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/uuidjs/uuid.git"
+ },
+ "scripts": {
+ "build": "./scripts/build.sh",
+ "bundlewatch": "npm run pretest:browser && bundlewatch --config bundlewatch.config.json",
+ "docs": "( node --version | grep -q 'v12' ) && ( npm run build && runmd --output=README.md README_js.md )",
+ "docs:diff": "npm run docs && git diff --quiet README.md",
+ "eslint:check": "eslint src/ test/ examples/ *.js",
+ "eslint:fix": "eslint --fix src/ test/ examples/ *.js",
+ "examples:browser:rollup:build": "cd examples/browser-rollup && npm install && npm run build",
+ "examples:browser:webpack:build": "cd examples/browser-webpack && npm install && npm run build",
+ "examples:node:commonjs:test": "cd examples/node-commonjs && npm install && npm test",
+ "examples:node:esmodules:test": "cd examples/node-esmodules && npm install && npm test",
+ "lint": "npm run eslint:check && npm run prettier:check",
+ "md": "runmd --watch --output=README.md README_js.md",
+ "prepack": "npm run build",
+ "pretest": "[ -n $CI ] || npm run build",
+ "pretest:benchmark": "npm run build",
+ "pretest:browser": "optional-dev-dependency && npm run build && npm-run-all --parallel examples:browser:**",
+ "pretest:node": "npm run build",
+ "prettier:check": "prettier --ignore-path .prettierignore --check '**/*.{js,jsx,json,md}'",
+ "prettier:fix": "prettier --ignore-path .prettierignore --write '**/*.{js,jsx,json,md}'",
+ "release": "standard-version --no-verify",
+ "test": "BABEL_ENV=commonjs node --throw-deprecation node_modules/.bin/jest test/unit/",
+ "test:benchmark": "cd examples/benchmark && npm install && npm test",
+ "test:browser": "wdio run ./wdio.conf.js",
+ "test:node": "npm-run-all --parallel examples:node:**",
+ "test:pack": "./scripts/testpack.sh"
+ },
+ "sideEffects": false,
+ "standard-version": {
+ "scripts": {
+ "postchangelog": "prettier --write CHANGELOG.md"
+ }
+ },
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": [
+ [
+ "uuid@8.3.2",
+ "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project"
+ ]
+ ],
+ "dependencies": {},
+ "optionalDependencies": {},
+ "_dependencies": {},
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "error": "[Circular]",
+ "extraneous": false
+ },
+ "uuidv4": {
+ "_from": "uuidv4@^6.2.13",
+ "_id": "uuidv4@6.2.13",
+ "_integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "_location": "/uuidv4",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuidv4@6.2.13",
+ "name": "uuidv4",
+ "escapedName": "uuidv4",
+ "rawSpec": "6.2.13",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "6.2.13"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "_shasum": "8f95ec5ef22d1f92c8e5d4c70b735d1c89572cb7",
+ "_spec": "6.2.13",
+ "_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "bugs": {
+ "url": "https://github.com/thenativeweb/uuidv4/issues"
+ },
+ "contributors": [
+ {
+ "name": "Golo Roden",
+ "email": "golo.roden@thenativeweb.io"
+ },
+ {
+ "name": "Matthias Wagler",
+ "email": "matthias.wagler@thenativeweb.io"
+ },
+ {
+ "name": "Jan-Hendrik Grundhöfer",
+ "email": "jan-hendrik.grundhoefer@thenativeweb.io"
+ },
+ {
+ "name": "Sven Eppler",
+ "email": "sven.eppler@sodgeit.de"
+ },
+ {
+ "name": "Hannes Leutloff",
+ "email": "hannes.leutloff@thenativeweb.io"
+ }
+ ],
+ "dependencies": {
+ "@types/uuid": {
+ "_from": "@types/uuid@8.3.4",
+ "_id": "@types/uuid@8.3.4",
+ "_integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "_location": "/@types/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "@types/uuid@8.3.4",
+ "name": "@types/uuid",
+ "escapedName": "@types%2fuuid",
+ "scope": "@types",
+ "rawSpec": "8.3.4",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.4"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "_shasum": "bd86a43617df0594787d38b735f55c805becf1bc",
+ "_spec": "8.3.4",
+ "_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "bugs": "[Circular]",
+ "contributors": "[Circular]",
+ "dependencies": {},
+ "deprecated": false,
+ "description": "TypeScript definitions for uuid",
+ "exports": "[Circular]",
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "license": "MIT",
+ "main": "",
+ "name": "@types/uuid",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "typeScriptVersion": "3.8",
+ "types": "index.d.ts",
+ "typesPublisherContentHash": "7bd9cd358e9e4357393eb0163c44f44dc265ab936b456743af6ed3d0d0ac644f",
+ "version": "8.3.4",
+ "readme": "# Installation\r\n> `npm install --save @types/uuid`\r\n\r\n# Summary\r\nThis package contains type definitions for uuid (https://github.com/uuidjs/uuid).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid.\r\n\r\n### Additional Details\r\n * Last updated: Thu, 06 Jan 2022 07:31:27 GMT\r\n * Dependencies: none\r\n * Global values: none\r\n\r\n# Credits\r\nThese definitions were written by [Oliver Hoffmann](https://github.com/iamolivinius), [Felipe Ochoa](https://github.com/felipeochoa), [Chris Barth](https://github.com/cjbarth), [Linus Unnebäck](https://github.com/LinusU), and [Christoph Tavan](https://github.com/ctavan).\r\n",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "devDependencies": "[Circular]",
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "node_modules\\@types\\uuid"
+ },
+ "uuid": {
+ "_from": "uuid@8.3.2",
+ "_id": "uuid@8.3.2",
+ "_integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "_location": "/uuid",
+ "_phantomChildren": "[Circular]",
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "uuid@8.3.2",
+ "name": "uuid",
+ "escapedName": "uuid",
+ "rawSpec": "8.3.2",
+ "saveSpec": "[Circular]",
+ "fetchSpec": "8.3.2"
+ },
+ "_requiredBy": "[Circular]",
+ "_resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "_shasum": "80d5b5ced271bb9af6c445f21a1a04c606cefbe2",
+ "_spec": "8.3.2",
+ "_where": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "bin": "[Circular]",
+ "browser": "[Circular]",
+ "bugs": "[Circular]",
+ "commitlint": "[Circular]",
+ "deprecated": false,
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "devDependencies": "[Circular]",
+ "exports": "[Circular]",
+ "files": "[Circular]",
+ "homepage": "https://github.com/uuidjs/uuid#readme",
+ "husky": "[Circular]",
+ "keywords": "[Circular]",
+ "license": "MIT",
+ "lint-staged": "[Circular]",
+ "main": "./dist/index.js",
+ "module": "./dist/esm-node/index.js",
+ "name": "uuid",
+ "optionalDevDependencies": "[Circular]",
+ "repository": "[Circular]",
+ "scripts": "[Circular]",
+ "sideEffects": false,
+ "standard-version": "[Circular]",
+ "version": "8.3.2",
+ "readme": "\n\n# uuid [](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [](https://github.com/uuidjs/uuid/actions?query=workflow%3ABrowser)\n\nFor the creation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDs\n\n- **Complete** - Support for RFC4122 version 1, 3, 4, and 5 UUIDs\n- **Cross-platform** - Support for ...\n - CommonJS, [ECMAScript Modules](#ecmascript-modules) and [CDN builds](#cdn-builds)\n - Node 8, 10, 12, 14\n - Chrome, Safari, Firefox, Edge, IE 11 browsers\n - Webpack and rollup.js module bundlers\n - [React Native / Expo](#react-native--expo)\n- **Secure** - Cryptographically-strong random values\n- **Small** - Zero-dependency, small footprint, plays nice with \"tree shaking\" packagers\n- **CLI** - Includes the [`uuid` command line](#command-line) utility\n\n**Upgrading from `uuid@3.x`?** Your code is probably okay, but check out [Upgrading From `uuid@3.x`](#upgrading-from-uuid3x) for details.\n\n## Quickstart\n\nTo create a random UUID...\n\n**1. Install**\n\n```shell\nnpm install uuid\n```\n\n**2. Create a UUID** (ES6 module syntax)\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n```\n\n... or using CommonJS syntax:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nFor timestamp UUIDs, namespace UUIDs, and other options read on ...\n\n## API Summary\n\n| | | |\n| --- | --- | --- |\n| [`uuid.NIL`](#uuidnil) | The nil UUID string (all zeros) | New in `uuid@8.3` |\n| [`uuid.parse()`](#uuidparsestr) | Convert UUID string to array of bytes | New in `uuid@8.3` |\n| [`uuid.stringify()`](#uuidstringifyarr-offset) | Convert array of bytes to UUID string | New in `uuid@8.3` |\n| [`uuid.v1()`](#uuidv1options-buffer-offset) | Create a version 1 (timestamp) UUID | |\n| [`uuid.v3()`](#uuidv3name-namespace-buffer-offset) | Create a version 3 (namespace w/ MD5) UUID | |\n| [`uuid.v4()`](#uuidv4options-buffer-offset) | Create a version 4 (random) UUID | |\n| [`uuid.v5()`](#uuidv5name-namespace-buffer-offset) | Create a version 5 (namespace w/ SHA-1) UUID | |\n| [`uuid.validate()`](#uuidvalidatestr) | Test a string to see if it is a valid UUID | New in `uuid@8.3` |\n| [`uuid.version()`](#uuidversionstr) | Detect RFC version of a UUID | New in `uuid@8.3` |\n\n## API\n\n### uuid.NIL\n\nThe nil UUID string (all zeros).\n\nExample:\n\n```javascript\nimport { NIL as NIL_UUID } from 'uuid';\n\nNIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'\n```\n\n### uuid.parse(str)\n\nConvert UUID string to array of bytes\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Uint8Array[16]` |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { parse as uuidParse } from 'uuid';\n\n// Parse a UUID\nconst bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');\n\n// Convert to hex strings to show byte order (for documentation purposes)\n[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ \n // [\n // '6e', 'c0', 'bd', '7f',\n // '11', 'c0', '43', 'da',\n // '97', '5e', '2a', '8a',\n // 'd9', 'eb', 'ae', '0b'\n // ]\n```\n\n### uuid.stringify(arr[, offset])\n\nConvert array of bytes to UUID string\n\n| | |\n| -------------- | ---------------------------------------------------------------------------- |\n| `arr` | `Array`-like collection of 16 values (starting from `offset`) between 0-255. |\n| [`offset` = 0] | `Number` Starting index in the Array |\n| _returns_ | `String` |\n| _throws_ | `TypeError` if a valid UUID string cannot be generated |\n\nNote: Ordering of values in the byte arrays used by `parse()` and `stringify()` follows the left ↠ right order of hex-pairs in UUID strings. As shown in the example below.\n\nExample:\n\n```javascript\nimport { stringify as uuidStringify } from 'uuid';\n\nconst uuidBytes = [\n 0x6e,\n 0xc0,\n 0xbd,\n 0x7f,\n 0x11,\n 0xc0,\n 0x43,\n 0xda,\n 0x97,\n 0x5e,\n 0x2a,\n 0x8a,\n 0xd9,\n 0xeb,\n 0xae,\n 0x0b,\n];\n\nuuidStringify(uuidBytes); // ⇨ '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'\n```\n\n### uuid.v1([options[, buffer[, offset]]])\n\nCreate an RFC version 1 (timestamp) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.node` ] | RFC \"node\" field as an `Array[6]` of byte values (per 4.1.6) |\n| [`options.clockseq`] | RFC \"clock sequence\" as a `Number` between 0 - 0x3fff |\n| [`options.msecs`] | RFC \"timestamp\" field (`Number` of milliseconds, unix epoch) |\n| [`options.nsecs`] | RFC \"timestamp\" field (`Number` of nanseconds to add to `msecs`, should be 0-10,000) |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n| _throws_ | `Error` if more than 10M UUIDs/sec are requested |\n\nNote: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.\n\nNote: `options.random` and `options.rng` are only meaningful on the very first call to `v1()`, where they may be passed to initialize the internal `node` and `clockseq` fields.\n\nExample:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nuuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'\n```\n\nExample using `options`:\n\n```javascript\nimport { v1 as uuidv1 } from 'uuid';\n\nconst v1options = {\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678,\n};\nuuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'\n```\n\n### uuid.v3(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 3 (namespace w/ MD5) UUID\n\nAPI is identical to `v5()`, but uses \"v3\" instead.\n\n⚠️ Note: Per the RFC, \"_If backward compatibility is not an issue, SHA-1 [Version 5] is preferred_.\"\n\n### uuid.v4([options[, buffer[, offset]]])\n\nCreate an RFC version 4 (random) UUID\n\n| | |\n| --- | --- |\n| [`options`] | `Object` with one or more of the following properties: |\n| [`options.random`] | `Array` of 16 random bytes (0-255) |\n| [`options.rng`] | Alternative to `options.random`, a `Function` that returns an `Array` of 16 random bytes (0-255) |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nExample:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nExample using predefined `random` values:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\n\nconst v4options = {\n random: [\n 0x10,\n 0x91,\n 0x56,\n 0xbe,\n 0xc4,\n 0xfb,\n 0xc1,\n 0xea,\n 0x71,\n 0xb4,\n 0xef,\n 0xe1,\n 0x67,\n 0x1c,\n 0x58,\n 0x36,\n ],\n};\nuuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'\n```\n\n### uuid.v5(name, namespace[, buffer[, offset]])\n\nCreate an RFC version 5 (namespace w/ SHA-1) UUID\n\n| | |\n| --- | --- |\n| `name` | `String \\| Array` |\n| `namespace` | `String \\| Array[16]` Namespace UUID |\n| [`buffer`] | `Array \\| Buffer` If specified, uuid will be written here in byte-form, starting at `offset` |\n| [`offset` = 0] | `Number` Index to start writing UUID bytes in `buffer` |\n| _returns_ | UUID `String` if no `buffer` is specified, otherwise returns `buffer` |\n\nNote: The RFC `DNS` and `URL` namespaces are available as `v5.DNS` and `v5.URL`.\n\nExample with custom namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\n// Define a custom namespace. Readers, create your own using something like\n// https://www.uuidgenerator.net/\nconst MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';\n\nuuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'\n```\n\nExample with RFC `URL` namespace:\n\n```javascript\nimport { v5 as uuidv5 } from 'uuid';\n\nuuidv5('https://www.w3.org/', uuidv5.URL); // ⇨ 'c106a26a-21bb-5538-8bf2-57095d1976c1'\n```\n\n### uuid.validate(str)\n\nTest a string to see if it is a valid UUID\n\n| | |\n| --------- | --------------------------------------------------- |\n| `str` | `String` to validate |\n| _returns_ | `true` if string is a valid UUID, `false` otherwise |\n\nExample:\n\n```javascript\nimport { validate as uuidValidate } from 'uuid';\n\nuuidValidate('not a UUID'); // ⇨ false\nuuidValidate('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ true\n```\n\nUsing `validate` and `version` together it is possible to do per-version validation, e.g. validate for only v4 UUIds.\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\nimport { validate as uuidValidate } from 'uuid';\n\nfunction uuidValidateV4(uuid) {\n return uuidValidate(uuid) && uuidVersion(uuid) === 4;\n}\n\nconst v1Uuid = 'd9428888-122b-11e1-b85c-61cd3cbb3210';\nconst v4Uuid = '109156be-c4fb-41ea-b1b4-efe1671c5836';\n\nuuidValidateV4(v4Uuid); // ⇨ true\nuuidValidateV4(v1Uuid); // ⇨ false\n```\n\n### uuid.version(str)\n\nDetect RFC version of a UUID\n\n| | |\n| --------- | ---------------------------------------- |\n| `str` | A valid UUID `String` |\n| _returns_ | `Number` The RFC version of the UUID |\n| _throws_ | `TypeError` if `str` is not a valid UUID |\n\nExample:\n\n```javascript\nimport { version as uuidVersion } from 'uuid';\n\nuuidVersion('45637ec4-c85f-11ea-87d0-0242ac130003'); // ⇨ 1\nuuidVersion('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'); // ⇨ 4\n```\n\n## Command Line\n\nUUIDs can be generated from the command line using `uuid`.\n\n```shell\n$ uuid\nddeb27fb-d9a0-4624-be4d-4615062daed4\n```\n\nThe default is to generate version 4 UUIDS, however the other versions are supported. Type `uuid --help` for details:\n\n```shell\n$ uuid --help\n\nUsage:\n uuid\n uuid v1\n uuid v3 \n uuid v4\n uuid v5 \n uuid --help\n\nNote: may be \"URL\" or \"DNS\" to use the corresponding UUIDs\ndefined by RFC4122\n```\n\n## ECMAScript Modules\n\nThis library comes with [ECMAScript Modules](https://www.ecma-international.org/ecma-262/6.0/#sec-modules) (ESM) support for Node.js versions that support it ([example](./examples/node-esmodules/)) as well as bundlers like [rollup.js](https://rollupjs.org/guide/en/#tree-shaking) ([example](./examples/browser-rollup/)) and [webpack](https://webpack.js.org/guides/tree-shaking/) ([example](./examples/browser-webpack/)) (targeting both, Node.js and browser environments).\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'\n```\n\nTo run the examples you must first create a dist build of this library in the module root:\n\n```shell\nnpm run build\n```\n\n## CDN Builds\n\n### ECMAScript Modules\n\nTo load this module directly into modern browsers that [support loading ECMAScript Modules](https://caniuse.com/#feat=es6-module) you can make use of [jspm](https://jspm.org/):\n\n```html\n\n```\n\n### UMD\n\nTo load this module directly into older browsers you can use the [UMD (Universal Module Definition)](https://github.com/umdjs/umd) builds from any of the following CDNs:\n\n**Using [UNPKG](https://unpkg.com/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [jsDelivr](https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/)**:\n\n```html\n\n```\n\n**Using [cdnjs](https://cdnjs.com/libraries/uuid)**:\n\n```html\n\n```\n\nThese CDNs all provide the same [`uuidv4()`](#uuidv4options-buffer-offset) method:\n\n```html\n\n```\n\nMethods for the other algorithms ([`uuidv1()`](#uuidv1options-buffer-offset), [`uuidv3()`](#uuidv3name-namespace-buffer-offset) and [`uuidv5()`](#uuidv5name-namespace-buffer-offset)) are available from the files `uuidv1.min.js`, `uuidv3.min.js` and `uuidv5.min.js` respectively.\n\n## \"getRandomValues() not supported\"\n\nThis error occurs in environments where the standard [`crypto.getRandomValues()`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues) API is not supported. This issue can be resolved by adding an appropriate polyfill:\n\n### React Native / Expo\n\n1. Install [`react-native-get-random-values`](https://github.com/LinusU/react-native-get-random-values#readme)\n1. Import it _before_ `uuid`. Since `uuid` might also appear as a transitive dependency of some other imports it's safest to just import `react-native-get-random-values` as the very first thing in your entry point:\n\n```javascript\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n```\n\nNote: If you are using Expo, you must be using at least `react-native-get-random-values@1.5.0` and `expo@39.0.0`.\n\n### Web Workers / Service Workers (Edge <= 18)\n\n[In Edge <= 18, Web Crypto is not supported in Web Workers or Service Workers](https://caniuse.com/#feat=cryptography) and we are not aware of a polyfill (let us know if you find one, please).\n\n## Upgrading From `uuid@7.x`\n\n### Only Named Exports Supported When Using with Node.js ESM\n\n`uuid@7.x` did not come with native ECMAScript Module (ESM) support for Node.js. Importing it in Node.js ESM consequently imported the CommonJS source with a default export. This library now comes with true Node.js ESM support and only provides named exports.\n\nInstead of doing:\n\n```javascript\nimport uuid from 'uuid';\nuuid.v4();\n```\n\nyou will now have to use the named exports:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n### Deep Requires No Longer Supported\n\nDeep requires like `require('uuid/v4')` [which have been deprecated in `uuid@7.x`](#deep-requires-now-deprecated) are no longer supported.\n\n## Upgrading From `uuid@3.x`\n\n\"_Wait... what happened to `uuid@4.x` - `uuid@6.x`?!?_\"\n\nIn order to avoid confusion with RFC [version 4](#uuidv4options-buffer-offset) and [version 5](#uuidv5name-namespace-buffer-offset) UUIDs, and a possible [version 6](http://gh.peabody.io/uuidv6/), releases 4 thru 6 of this module have been skipped.\n\n### Deep Requires Now Deprecated\n\n`uuid@3.x` encouraged the use of deep requires to minimize the bundle size of browser builds:\n\n```javascript\nconst uuidv4 = require('uuid/v4'); // <== NOW DEPRECATED!\nuuidv4();\n```\n\nAs of `uuid@7.x` this library now provides ECMAScript modules builds, which allow packagers like Webpack and Rollup to do \"tree-shaking\" to remove dead code. Instead, use the `import` syntax:\n\n```javascript\nimport { v4 as uuidv4 } from 'uuid';\nuuidv4();\n```\n\n... or for CommonJS:\n\n```javascript\nconst { v4: uuidv4 } = require('uuid');\nuuidv4();\n```\n\n### Default Export Removed\n\n`uuid@3.x` was exporting the Version 4 UUID method as a default export:\n\n```javascript\nconst uuid = require('uuid'); // <== REMOVED!\n```\n\nThis usage pattern was already discouraged in `uuid@3.x` and has been removed in `uuid@7.x`.\n\n----\nMarkdown generated from [README_js.md](README_js.md) by [](https://github.com/broofa/runmd)",
+ "readmeFilename": "README.md",
+ "_args": "[Circular]",
+ "dependencies": {},
+ "optionalDependencies": "[Circular]",
+ "_dependencies": "[Circular]",
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "error": "[Circular]",
+ "extraneous": false,
+ "_deduped": "node_modules\\uuid"
+ }
+ },
+ "deprecated": false,
+ "description": "uuidv4 creates v4 UUIDs.",
+ "devDependencies": {
+ "assertthat": "6.4.0",
+ "roboter": "12.7.1",
+ "semantic-release-configuration": "2.0.7"
+ },
+ "homepage": "https://github.com/thenativeweb/uuidv4#readme",
+ "keywords": [
+ "guid",
+ "uuid"
+ ],
+ "license": "MIT",
+ "main": "build/lib/uuidv4.js",
+ "name": "uuidv4",
+ "private": false,
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/thenativeweb/uuidv4.git"
+ },
+ "scripts": {},
+ "types": "build/lib/uuidv4.d.ts",
+ "version": "6.2.13",
+ "readme": "# uuidv4\n\nuuidv4 creates v4 UUIDs.\n\n## Status\n\n| Category | Status |\n| ---------------- | --------------------------------------------------------------------------------------------------- |\n| Version | [](https://www.npmjs.com/package/uuidv4) |\n| Dependencies |  |\n| Dev dependencies |  |\n| Build |  |\n| License |  |\n\n## Please note\n\nThis module will be deprecated in the future in favour of module [uuid](https://www.npmjs.com/package/uuid). Most of the functionality of this module is already included in `uuid` since version `8.3.0`, so most of the functions of this module have already been marked as deprecated.\n\n## Installation\n\n```shell\n$ npm install uuidv4\n```\n\n## Quick start\n\nFirst you need to integrate uuidv4 into your project by using the `require` function:\n\n```javascript\nconst { uuid } = require('uuidv4');\n```\n\nIf you use TypeScript, use the following code instead:\n\n```typescript\nimport { uuid } from 'uuidv4';\n```\n\nThen you can create UUIDs. To do so simply call the `uuid` function:\n\n```javascript\nconsole.log(uuid());\n// => '11bf5b37-e0b8-42e0-8dcf-dc8c4aefc000'\n```\n\n### Verifying a UUID\n\nTo verify whether a given value is a UUID, use the `isUuid` function:\n\n```javascript\nimport { isUuid } from 'uuidv4';\n\nconsole.log(isUuid('75442486-0878-440c-9db1-a7006c25a39f'));\n// => true\n```\n\n_Please note that the `isUuid` function returns `true` for both, `v4` and `v5` UUIDs. In addition, `isUuid` returns `true` for `empty()`._\n\n#### Using a regular expression\n\nIf you want to perform the verification on your own using a regular expression, use the `regex` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { regex } from 'uuidv4';\n\nconsole.log(regex.v4);\nconsole.log(regex.v5);\n```\n\n_Please note that the regular expressions also consider `empty()` to be a valid UUID._\n\n#### Using a JSON schema\n\nIf you want to perform the verification on your own using a JSON schema, use the `jsonSchema` property, and access its `v4` or `v5` property, depending on what you need:\n\n```javascript\nimport { jsonSchema } from 'uuidv4';\n\nconsole.log(jsonSchema.v4);\nconsole.log(jsonSchema.v5);\n```\n\n_Please note that the JSON schemas also consider `empty()` to be a valid UUID._\n\n### Getting a UUID from a string\n\nFrom time to time you need an identifier that looks like a UUID, but is actually inferred from a string. For that, use the `fromString` function, which returns a UUID `v5`:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web'));\n// => 'cdb63720-9628-5ef6-bbca-2e5ce6094f3c'\n```\n\nBy default, the `fromString` function uses a pre-configured namespace. If you want to use your own namespace, provide a UUID as second parameter:\n\n```javascript\nimport { fromString } from 'uuidv4';\n\nconsole.log(fromString('the native web', '004aadf4-8e1a-4450-905b-6039179f52da'));\n// => 'b1c4a89e-4905-5e3c-b57f-dc92627d011e'\n```\n\n### Getting the empty UUID\n\nIf you need a UUID that consists only of zeros, use the `empty` function:\n\n```javascript\nimport { empty } from 'uuidv4';\n\nconsole.log(empty());\n// => '00000000-0000-0000-0000-000000000000'\n```\n\n## Running quality assurance\n\nTo run quality assurance for this module use [roboter](https://www.npmjs.com/package/roboter):\n\n```shell\n$ npx roboter\n```\n",
+ "readmeFilename": "README.md",
+ "_optional": true,
+ "_args": [
+ [
+ "uuidv4@6.2.13",
+ "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project"
+ ]
+ ],
+ "optionalDependencies": {},
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuidv4",
+ "error": "[Circular]",
+ "extraneous": false
+ }
+ },
+ "_id": "demo-dev-dependencies@0.0.0",
+ "_shrinkwrap": {
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@types/node": {
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "dev": true
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw=="
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "requires": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ }
+ }
+ }
+ },
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "error": "[Circular]",
+ "extraneous": false
+}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node14_macos-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node14_macos-latest.json
index e9f545aaf..cef4c4b18 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node14_macos-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node14_macos-latest.json
@@ -4,27 +4,110 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node14_ubuntu-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node14_ubuntu-latest.json
index 841eb8193..81cca7e5c 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node14_ubuntu-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node14_ubuntu-latest.json
@@ -4,27 +4,110 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node14_windows-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node14_windows-latest.json
index 18cd75ca6..2a057ede0 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node14_windows-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node14_windows-latest.json
@@ -4,27 +4,110 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node16_macos-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node16_macos-latest.json
index e9f545aaf..cef4c4b18 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node16_macos-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node16_macos-latest.json
@@ -4,27 +4,110 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node16_ubuntu-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node16_ubuntu-latest.json
index 841eb8193..81cca7e5c 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node16_ubuntu-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node16_ubuntu-latest.json
@@ -4,27 +4,110 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node16_windows-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node16_windows-latest.json
index 18cd75ca6..2a057ede0 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node16_windows-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node16_windows-latest.json
@@ -4,27 +4,110 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node18_macos-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node18_macos-latest.json
index e9f545aaf..cef4c4b18 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node18_macos-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node18_macos-latest.json
@@ -4,27 +4,110 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node18_ubuntu-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node18_ubuntu-latest.json
index 841eb8193..81cca7e5c 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node18_ubuntu-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node18_ubuntu-latest.json
@@ -4,27 +4,110 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node18_windows-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node18_windows-latest.json
index 18cd75ca6..2a057ede0 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node18_windows-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node18_windows-latest.json
@@ -4,27 +4,110 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node19_macos-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node19_macos-latest.json
new file mode 100644
index 000000000..cef4c4b18
--- /dev/null
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node19_macos-latest.json
@@ -0,0 +1,113 @@
+{
+ "version": "0.0.0",
+ "name": "demo-dev-dependencies",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "private": true,
+ "license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "devDependencies": {
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
+ },
+ "_id": "demo-dev-dependencies@0.0.0",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/node": {
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "name": "@types/node",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "dev": true,
+ "_id": "@types/node@18.15.11",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
+ }
+ }
+}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node19_ubuntu-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node19_ubuntu-latest.json
new file mode 100644
index 000000000..81cca7e5c
--- /dev/null
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node19_ubuntu-latest.json
@@ -0,0 +1,113 @@
+{
+ "version": "0.0.0",
+ "name": "demo-dev-dependencies",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "private": true,
+ "license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "devDependencies": {
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
+ },
+ "_id": "demo-dev-dependencies@0.0.0",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/node": {
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "name": "@types/node",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "dev": true,
+ "_id": "@types/node@18.15.11",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
+ }
+ }
+}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node19_windows-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node19_windows-latest.json
new file mode 100644
index 000000000..2a057ede0
--- /dev/null
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm7_node19_windows-latest.json
@@ -0,0 +1,113 @@
+{
+ "version": "0.0.0",
+ "name": "demo-dev-dependencies",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "private": true,
+ "license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "devDependencies": {
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
+ },
+ "_id": "demo-dev-dependencies@0.0.0",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/node": {
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "name": "@types/node",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "dev": true,
+ "_id": "@types/node@18.15.11",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\node",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
+ }
+ }
+}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node14_macos-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node14_macos-latest.json
index a5b84c6e6..1813aa01b 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node14_macos-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node14_macos-latest.json
@@ -4,28 +4,114 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"overridden": false,
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "overridden": false,
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "overridden": false,
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "overridden": false,
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node14_ubuntu-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node14_ubuntu-latest.json
index 4d85ac9a9..245622952 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node14_ubuntu-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node14_ubuntu-latest.json
@@ -4,28 +4,114 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"overridden": false,
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "overridden": false,
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "overridden": false,
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "overridden": false,
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node14_windows-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node14_windows-latest.json
index a1dd71236..17b124393 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node14_windows-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node14_windows-latest.json
@@ -4,28 +4,114 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"overridden": false,
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "overridden": false,
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "overridden": false,
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "overridden": false,
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node16_macos-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node16_macos-latest.json
index a5b84c6e6..1813aa01b 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node16_macos-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node16_macos-latest.json
@@ -4,28 +4,114 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"overridden": false,
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "overridden": false,
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "overridden": false,
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "overridden": false,
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node16_ubuntu-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node16_ubuntu-latest.json
index 4d85ac9a9..245622952 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node16_ubuntu-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node16_ubuntu-latest.json
@@ -4,28 +4,114 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"overridden": false,
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "overridden": false,
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "overridden": false,
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "overridden": false,
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node16_windows-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node16_windows-latest.json
index a1dd71236..17b124393 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node16_windows-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node16_windows-latest.json
@@ -4,28 +4,114 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"overridden": false,
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "overridden": false,
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "overridden": false,
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "overridden": false,
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node18_macos-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node18_macos-latest.json
index a5b84c6e6..1813aa01b 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node18_macos-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node18_macos-latest.json
@@ -4,28 +4,114 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"overridden": false,
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "overridden": false,
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "overridden": false,
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "overridden": false,
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node18_ubuntu-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node18_ubuntu-latest.json
index 4d85ac9a9..245622952 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node18_ubuntu-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node18_ubuntu-latest.json
@@ -4,28 +4,114 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"overridden": false,
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "overridden": false,
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "overridden": false,
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "overridden": false,
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node18_windows-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node18_windows-latest.json
index a1dd71236..17b124393 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node18_windows-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node18_windows-latest.json
@@ -4,28 +4,114 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"overridden": false,
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "overridden": false,
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "overridden": false,
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "overridden": false,
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node19_macos-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node19_macos-latest.json
new file mode 100644
index 000000000..1813aa01b
--- /dev/null
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node19_macos-latest.json
@@ -0,0 +1,117 @@
+{
+ "version": "0.0.0",
+ "name": "demo-dev-dependencies",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "private": true,
+ "license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "devDependencies": {
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
+ },
+ "_id": "demo-dev-dependencies@0.0.0",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/node": {
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "overridden": false,
+ "name": "@types/node",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "dev": true,
+ "_id": "@types/node@18.15.11",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "overridden": false,
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "overridden": false,
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "overridden": false,
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
+ }
+ }
+}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node19_ubuntu-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node19_ubuntu-latest.json
new file mode 100644
index 000000000..245622952
--- /dev/null
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node19_ubuntu-latest.json
@@ -0,0 +1,117 @@
+{
+ "version": "0.0.0",
+ "name": "demo-dev-dependencies",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "private": true,
+ "license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "devDependencies": {
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
+ },
+ "_id": "demo-dev-dependencies@0.0.0",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/node": {
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "overridden": false,
+ "name": "@types/node",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "dev": true,
+ "_id": "@types/node@18.15.11",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "overridden": false,
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "overridden": false,
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "overridden": false,
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
+ }
+ }
+}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node19_windows-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node19_windows-latest.json
new file mode 100644
index 000000000..17b124393
--- /dev/null
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm8_node19_windows-latest.json
@@ -0,0 +1,117 @@
+{
+ "version": "0.0.0",
+ "name": "demo-dev-dependencies",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "private": true,
+ "license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "devDependencies": {
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
+ },
+ "_id": "demo-dev-dependencies@0.0.0",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/node": {
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "overridden": false,
+ "name": "@types/node",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "dev": true,
+ "_id": "@types/node@18.15.11",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\node",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "overridden": false,
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "overridden": false,
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "overridden": false,
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
+ }
+ }
+}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node16_macos-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node16_macos-latest.json
index a5b84c6e6..1813aa01b 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node16_macos-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node16_macos-latest.json
@@ -4,28 +4,114 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"overridden": false,
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "overridden": false,
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "overridden": false,
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "overridden": false,
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node16_ubuntu-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node16_ubuntu-latest.json
index 4d85ac9a9..245622952 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node16_ubuntu-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node16_ubuntu-latest.json
@@ -4,28 +4,114 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"overridden": false,
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "overridden": false,
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "overridden": false,
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "overridden": false,
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node16_windows-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node16_windows-latest.json
index a1dd71236..17b124393 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node16_windows-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node16_windows-latest.json
@@ -4,28 +4,114 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"overridden": false,
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "overridden": false,
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "overridden": false,
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "overridden": false,
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node18_macos-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node18_macos-latest.json
index a5b84c6e6..1813aa01b 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node18_macos-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node18_macos-latest.json
@@ -4,28 +4,114 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"overridden": false,
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "overridden": false,
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "overridden": false,
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "overridden": false,
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node18_ubuntu-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node18_ubuntu-latest.json
index 4d85ac9a9..245622952 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node18_ubuntu-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node18_ubuntu-latest.json
@@ -4,28 +4,114 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"overridden": false,
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "overridden": false,
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "overridden": false,
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "overridden": false,
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node18_windows-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node18_windows-latest.json
index a1dd71236..17b124393 100644
--- a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node18_windows-latest.json
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node18_windows-latest.json
@@ -4,28 +4,114 @@
"description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
"private": true,
"license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
"devDependencies": {
- "@types/node": ">=16"
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
},
"_id": "demo-dev-dependencies@0.0.0",
"extraneous": false,
"path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
- "_dependencies": {},
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
"peerDependencies": {},
"dependencies": {
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"overridden": false,
"name": "@types/node",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
"dev": true,
- "_id": "@types/node@18.11.9",
+ "_id": "@types/node@18.15.11",
"extraneous": false,
"path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\node",
"_dependencies": {},
"devDependencies": {},
"peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "overridden": false,
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "overridden": false,
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "overridden": false,
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
}
}
}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node19_macos-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node19_macos-latest.json
new file mode 100644
index 000000000..1813aa01b
--- /dev/null
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node19_macos-latest.json
@@ -0,0 +1,117 @@
+{
+ "version": "0.0.0",
+ "name": "demo-dev-dependencies",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "private": true,
+ "license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "devDependencies": {
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
+ },
+ "_id": "demo-dev-dependencies@0.0.0",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/node": {
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "overridden": false,
+ "name": "@types/node",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "dev": true,
+ "_id": "@types/node@18.15.11",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "overridden": false,
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "overridden": false,
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "overridden": false,
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/Users/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
+ }
+ }
+}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node19_ubuntu-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node19_ubuntu-latest.json
new file mode 100644
index 000000000..245622952
--- /dev/null
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node19_ubuntu-latest.json
@@ -0,0 +1,117 @@
+{
+ "version": "0.0.0",
+ "name": "demo-dev-dependencies",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "private": true,
+ "license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "devDependencies": {
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
+ },
+ "_id": "demo-dev-dependencies@0.0.0",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project",
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/node": {
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "overridden": false,
+ "name": "@types/node",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "dev": true,
+ "_id": "@types/node@18.15.11",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/node",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "overridden": false,
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "overridden": false,
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "overridden": false,
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/@types/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "/home/runner/work/cyclonedx-node-npm/cyclonedx-node-npm/demo/dev-dependencies/project/node_modules/uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
+ }
+ }
+}
diff --git a/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node19_windows-latest.json b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node19_windows-latest.json
new file mode 100644
index 000000000..17b124393
--- /dev/null
+++ b/tests/_data/npm-ls_demo-results/dev-dependencies/CI_results/npm-ls_npm9_node19_windows-latest.json
@@ -0,0 +1,117 @@
+{
+ "version": "0.0.0",
+ "name": "demo-dev-dependencies",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "private": true,
+ "license": "Apache-2.0",
+ "optionalDependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "devDependencies": {
+ "@types/node": ">=16",
+ "@types/uuid": "^8",
+ "uuid": "^8"
+ },
+ "_id": "demo-dev-dependencies@0.0.0",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project",
+ "_dependencies": {
+ "uuidv4": "^6.2.13"
+ },
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/node": {
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "overridden": false,
+ "name": "@types/node",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
+ "dev": true,
+ "_id": "@types/node@18.15.11",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\node",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "@types/uuid": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "overridden": false,
+ "name": "@types/uuid",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "overridden": false,
+ "name": "uuid",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuidv4": {
+ "version": "6.2.13",
+ "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "overridden": false,
+ "name": "uuidv4",
+ "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==",
+ "optional": true,
+ "_id": "uuidv4@6.2.13",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuidv4",
+ "_dependencies": {
+ "@types/uuid": "8.3.4",
+ "uuid": "8.3.2"
+ },
+ "devDependencies": {},
+ "peerDependencies": {},
+ "dependencies": {
+ "@types/uuid": {
+ "version": "8.3.4",
+ "name": "@types/uuid",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
+ "devOptional": true,
+ "_id": "@types/uuid@8.3.4",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\@types\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "name": "uuid",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "devOptional": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ },
+ "_id": "uuid@8.3.2",
+ "extraneous": false,
+ "path": "D:\\a\\cyclonedx-node-npm\\cyclonedx-node-npm\\demo\\dev-dependencies\\project\\node_modules\\uuid",
+ "_dependencies": {},
+ "devDependencies": {},
+ "peerDependencies": {}
+ }
+ }
+ }
+ }
+}
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node14_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node14_macos-latest.snap.json
index 6dea78a18..19854a5c5 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node14_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node14_macos-latest.snap.json
@@ -81,13 +81,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -97,10 +97,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.11.9#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -130,16 +130,181 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node14_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node14_ubuntu-latest.snap.json
index 6dea78a18..19854a5c5 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node14_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node14_ubuntu-latest.snap.json
@@ -81,13 +81,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -97,10 +97,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.11.9#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -130,16 +130,181 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node14_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node14_windows-latest.snap.json
index 62319a19f..da17494b2 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node14_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node14_windows-latest.snap.json
@@ -81,13 +81,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -97,10 +97,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.11.9#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -130,16 +130,181 @@
"value": "node_modules/@types\\node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node16_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node16_macos-latest.snap.json
index 6dea78a18..19854a5c5 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node16_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node16_macos-latest.snap.json
@@ -81,13 +81,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -97,10 +97,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.11.9#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -130,16 +130,181 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node16_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node16_ubuntu-latest.snap.json
index 6dea78a18..19854a5c5 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node16_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node16_ubuntu-latest.snap.json
@@ -81,13 +81,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -97,10 +97,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.11.9#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -130,16 +130,181 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node16_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node16_windows-latest.snap.json
index 62319a19f..da17494b2 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node16_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node16_windows-latest.snap.json
@@ -81,13 +81,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -97,10 +97,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.11.9#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -130,16 +130,181 @@
"value": "node_modules/@types\\node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node18_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node18_macos-latest.snap.json
index 6dea78a18..19854a5c5 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node18_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node18_macos-latest.snap.json
@@ -81,13 +81,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -97,10 +97,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.11.9#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -130,16 +130,181 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node18_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node18_ubuntu-latest.snap.json
index 6dea78a18..19854a5c5 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node18_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node18_ubuntu-latest.snap.json
@@ -81,13 +81,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -97,10 +97,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.11.9#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -130,16 +130,181 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node18_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node18_windows-latest.snap.json
index 62319a19f..da17494b2 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node18_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node18_windows-latest.snap.json
@@ -81,13 +81,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -97,10 +97,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.11.9#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -130,16 +130,181 @@
"value": "node_modules/@types\\node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node19_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node19_macos-latest.snap.json
new file mode 100644
index 000000000..19854a5c5
--- /dev/null
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node19_macos-latest.snap.json
@@ -0,0 +1,311 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "description": "TypeScript definitions for Node.js",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/node",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node19_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node19_ubuntu-latest.snap.json
new file mode 100644
index 000000000..19854a5c5
--- /dev/null
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node19_ubuntu-latest.snap.json
@@ -0,0 +1,311 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "description": "TypeScript definitions for Node.js",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/node",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node19_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node19_windows-latest.snap.json
new file mode 100644
index 000000000..da17494b2
--- /dev/null
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm6_node19_windows-latest.snap.json
@@ -0,0 +1,311 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "description": "TypeScript definitions for Node.js",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/node",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node14_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node14_macos-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node14_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node14_macos-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node14_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node14_ubuntu-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node14_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node14_ubuntu-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node14_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node14_windows-latest.snap.json
index 56dea55e1..9a6a6e19b 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node14_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node14_windows-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types\\node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node16_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node16_macos-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node16_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node16_macos-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node16_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node16_ubuntu-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node16_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node16_ubuntu-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node16_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node16_windows-latest.snap.json
index 56dea55e1..9a6a6e19b 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node16_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node16_windows-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types\\node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node18_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node18_macos-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node18_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node18_macos-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node18_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node18_ubuntu-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node18_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node18_ubuntu-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node18_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node18_windows-latest.snap.json
index 56dea55e1..9a6a6e19b 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node18_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node18_windows-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types\\node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node19_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node19_macos-latest.snap.json
new file mode 100644
index 000000000..f5c64e261
--- /dev/null
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node19_macos-latest.snap.json
@@ -0,0 +1,229 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node19_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node19_ubuntu-latest.snap.json
new file mode 100644
index 000000000..f5c64e261
--- /dev/null
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node19_ubuntu-latest.snap.json
@@ -0,0 +1,229 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node19_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node19_windows-latest.snap.json
new file mode 100644
index 000000000..9a6a6e19b
--- /dev/null
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm7_node19_windows-latest.snap.json
@@ -0,0 +1,229 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node14_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node14_macos-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node14_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node14_macos-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node14_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node14_ubuntu-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node14_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node14_ubuntu-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node14_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node14_windows-latest.snap.json
index 56dea55e1..9a6a6e19b 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node14_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node14_windows-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types\\node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node16_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node16_macos-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node16_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node16_macos-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node16_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node16_ubuntu-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node16_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node16_ubuntu-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node16_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node16_windows-latest.snap.json
index 56dea55e1..9a6a6e19b 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node16_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node16_windows-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types\\node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node18_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node18_macos-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node18_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node18_macos-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node18_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node18_ubuntu-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node18_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node18_ubuntu-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node18_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node18_windows-latest.snap.json
index 56dea55e1..9a6a6e19b 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node18_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node18_windows-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types\\node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node19_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node19_macos-latest.snap.json
new file mode 100644
index 000000000..f5c64e261
--- /dev/null
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node19_macos-latest.snap.json
@@ -0,0 +1,229 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node19_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node19_ubuntu-latest.snap.json
new file mode 100644
index 000000000..f5c64e261
--- /dev/null
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node19_ubuntu-latest.snap.json
@@ -0,0 +1,229 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node19_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node19_windows-latest.snap.json
new file mode 100644
index 000000000..9a6a6e19b
--- /dev/null
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm8_node19_windows-latest.snap.json
@@ -0,0 +1,229 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node16_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node16_macos-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node16_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node16_macos-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node16_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node16_ubuntu-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node16_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node16_ubuntu-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node16_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node16_windows-latest.snap.json
index 56dea55e1..9a6a6e19b 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node16_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node16_windows-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types\\node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node18_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node18_macos-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node18_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node18_macos-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node18_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node18_ubuntu-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node18_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node18_ubuntu-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node18_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node18_windows-latest.snap.json
index 56dea55e1..9a6a6e19b 100644
--- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node18_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node18_windows-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types\\node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node19_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node19_macos-latest.snap.json
new file mode 100644
index 000000000..f5c64e261
--- /dev/null
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node19_macos-latest.snap.json
@@ -0,0 +1,229 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node19_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node19_ubuntu-latest.snap.json
new file mode 100644
index 000000000..f5c64e261
--- /dev/null
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node19_ubuntu-latest.snap.json
@@ -0,0 +1,229 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node19_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node19_windows-latest.snap.json
new file mode 100644
index 000000000..9a6a6e19b
--- /dev/null
+++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm9_node19_windows-latest.snap.json
@@ -0,0 +1,229 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node16_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node16_macos-latest.snap.json
index 63fd21807..a9902e3e0 100644
--- a/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node16_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node16_macos-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2145,6 +2146,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2172,6 +2174,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2868,6 +2871,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2894,6 +2898,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2920,6 +2925,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2946,6 +2952,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2974,6 +2981,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4938,6 +4946,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5756,6 +5765,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8432,6 +8442,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8458,6 +8469,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8618,6 +8630,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9300,6 +9313,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -10974,6 +10988,7 @@
"name": "fsevents",
"version": "2.3.2",
"bom-ref": "fsevents@2.3.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11366,6 +11381,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13452,6 +13468,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13636,6 +13653,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13662,6 +13680,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13688,6 +13707,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13714,6 +13734,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14546,6 +14567,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16638,6 +16660,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16665,6 +16688,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16691,6 +16715,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16717,6 +16742,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16743,6 +16769,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16769,6 +16796,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17319,6 +17347,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17345,6 +17374,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17401,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17428,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17423,6 +17455,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17527,6 +17560,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17817,6 +17851,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17869,6 +17904,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18027,6 +18063,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18053,6 +18090,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18133,6 +18171,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18159,6 +18198,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18185,6 +18225,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18211,6 +18252,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18237,6 +18279,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18263,6 +18306,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18289,6 +18333,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18315,6 +18360,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18341,6 +18387,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18367,6 +18414,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18709,6 +18757,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19913,6 +19962,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20615,6 +20665,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20771,6 +20822,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20797,6 +20849,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20823,6 +20876,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20849,6 +20903,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23577,6 +23632,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23603,6 +23659,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23629,6 +23686,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23655,6 +23713,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23763,6 +23822,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24375,6 +24435,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24401,6 +24462,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24427,6 +24489,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24455,6 +24518,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24481,6 +24545,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24927,6 +24992,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25687,6 +25753,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25713,6 +25780,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25739,6 +25807,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25765,6 +25834,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25791,6 +25861,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26785,6 +26856,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26995,6 +27067,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27021,6 +27094,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28045,6 +28119,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node16_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node16_ubuntu-latest.snap.json
index e38a40abc..4a262da5a 100644
--- a/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node16_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node16_ubuntu-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2145,6 +2146,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2172,6 +2174,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2868,6 +2871,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2894,6 +2898,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2920,6 +2925,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2946,6 +2952,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2974,6 +2981,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4938,6 +4946,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5756,6 +5765,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8432,6 +8442,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8458,6 +8469,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8618,6 +8630,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9300,6 +9313,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11340,6 +11354,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13426,6 +13441,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13610,6 +13626,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13636,6 +13653,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13662,6 +13680,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13688,6 +13707,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14520,6 +14540,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16612,6 +16633,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16639,6 +16661,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16665,6 +16688,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16691,6 +16715,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16717,6 +16742,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16743,6 +16769,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17293,6 +17320,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17319,6 +17347,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17345,6 +17374,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17401,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17428,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17501,6 +17533,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17791,6 +17824,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17843,6 +17877,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18001,6 +18036,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18027,6 +18063,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18107,6 +18144,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18133,6 +18171,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18159,6 +18198,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18185,6 +18225,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18211,6 +18252,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18237,6 +18279,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18263,6 +18306,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18289,6 +18333,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18315,6 +18360,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18341,6 +18387,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18683,6 +18730,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19887,6 +19935,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20589,6 +20638,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20745,6 +20795,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20771,6 +20822,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20797,6 +20849,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20823,6 +20876,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23551,6 +23605,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23577,6 +23632,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23603,6 +23659,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23629,6 +23686,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23737,6 +23795,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24349,6 +24408,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24375,6 +24435,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24401,6 +24462,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24429,6 +24491,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24455,6 +24518,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24901,6 +24965,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25661,6 +25726,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25687,6 +25753,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25713,6 +25780,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25739,6 +25807,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25765,6 +25834,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26759,6 +26829,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26969,6 +27040,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26995,6 +27067,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28019,6 +28092,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node16_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node16_windows-latest.snap.json
index 7a633896a..f20c57fdb 100644
--- a/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node16_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node16_windows-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2145,6 +2146,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2172,6 +2174,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2868,6 +2871,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2894,6 +2898,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2920,6 +2925,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2946,6 +2952,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2974,6 +2981,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4938,6 +4946,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5756,6 +5765,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8432,6 +8442,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8458,6 +8469,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8618,6 +8630,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9300,6 +9313,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11340,6 +11354,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13426,6 +13441,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13610,6 +13626,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13636,6 +13653,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13662,6 +13680,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13688,6 +13707,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14520,6 +14540,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16612,6 +16633,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16639,6 +16661,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16665,6 +16688,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16691,6 +16715,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16717,6 +16742,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16743,6 +16769,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17293,6 +17320,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17319,6 +17347,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17345,6 +17374,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17401,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17428,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17501,6 +17533,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17791,6 +17824,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17843,6 +17877,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18001,6 +18036,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18027,6 +18063,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18107,6 +18144,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18133,6 +18171,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18159,6 +18198,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18185,6 +18225,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18211,6 +18252,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18237,6 +18279,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18263,6 +18306,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18289,6 +18333,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18315,6 +18360,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18341,6 +18387,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18683,6 +18730,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19887,6 +19935,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20589,6 +20638,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20745,6 +20795,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20771,6 +20822,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20797,6 +20849,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20823,6 +20876,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23551,6 +23605,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23577,6 +23632,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23603,6 +23659,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23629,6 +23686,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23737,6 +23795,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24349,6 +24408,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24375,6 +24435,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24401,6 +24462,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24429,6 +24491,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24455,6 +24518,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24901,6 +24965,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25661,6 +25726,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25687,6 +25753,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25713,6 +25780,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25739,6 +25807,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25765,6 +25834,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26759,6 +26829,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26969,6 +27040,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26995,6 +27067,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28019,6 +28092,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node18_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node18_macos-latest.snap.json
index 63fd21807..a9902e3e0 100644
--- a/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node18_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node18_macos-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2145,6 +2146,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2172,6 +2174,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2868,6 +2871,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2894,6 +2898,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2920,6 +2925,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2946,6 +2952,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2974,6 +2981,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4938,6 +4946,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5756,6 +5765,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8432,6 +8442,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8458,6 +8469,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8618,6 +8630,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9300,6 +9313,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -10974,6 +10988,7 @@
"name": "fsevents",
"version": "2.3.2",
"bom-ref": "fsevents@2.3.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11366,6 +11381,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13452,6 +13468,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13636,6 +13653,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13662,6 +13680,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13688,6 +13707,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13714,6 +13734,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14546,6 +14567,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16638,6 +16660,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16665,6 +16688,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16691,6 +16715,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16717,6 +16742,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16743,6 +16769,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16769,6 +16796,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17319,6 +17347,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17345,6 +17374,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17401,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17428,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17423,6 +17455,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17527,6 +17560,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17817,6 +17851,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17869,6 +17904,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18027,6 +18063,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18053,6 +18090,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18133,6 +18171,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18159,6 +18198,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18185,6 +18225,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18211,6 +18252,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18237,6 +18279,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18263,6 +18306,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18289,6 +18333,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18315,6 +18360,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18341,6 +18387,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18367,6 +18414,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18709,6 +18757,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19913,6 +19962,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20615,6 +20665,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20771,6 +20822,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20797,6 +20849,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20823,6 +20876,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20849,6 +20903,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23577,6 +23632,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23603,6 +23659,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23629,6 +23686,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23655,6 +23713,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23763,6 +23822,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24375,6 +24435,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24401,6 +24462,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24427,6 +24489,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24455,6 +24518,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24481,6 +24545,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24927,6 +24992,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25687,6 +25753,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25713,6 +25780,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25739,6 +25807,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25765,6 +25834,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25791,6 +25861,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26785,6 +26856,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26995,6 +27067,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27021,6 +27094,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28045,6 +28119,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node18_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node18_ubuntu-latest.snap.json
index e38a40abc..4a262da5a 100644
--- a/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node18_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node18_ubuntu-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2145,6 +2146,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2172,6 +2174,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2868,6 +2871,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2894,6 +2898,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2920,6 +2925,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2946,6 +2952,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2974,6 +2981,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4938,6 +4946,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5756,6 +5765,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8432,6 +8442,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8458,6 +8469,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8618,6 +8630,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9300,6 +9313,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11340,6 +11354,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13426,6 +13441,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13610,6 +13626,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13636,6 +13653,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13662,6 +13680,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13688,6 +13707,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14520,6 +14540,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16612,6 +16633,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16639,6 +16661,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16665,6 +16688,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16691,6 +16715,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16717,6 +16742,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16743,6 +16769,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17293,6 +17320,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17319,6 +17347,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17345,6 +17374,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17401,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17428,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17501,6 +17533,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17791,6 +17824,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17843,6 +17877,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18001,6 +18036,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18027,6 +18063,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18107,6 +18144,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18133,6 +18171,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18159,6 +18198,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18185,6 +18225,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18211,6 +18252,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18237,6 +18279,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18263,6 +18306,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18289,6 +18333,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18315,6 +18360,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18341,6 +18387,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18683,6 +18730,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19887,6 +19935,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20589,6 +20638,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20745,6 +20795,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20771,6 +20822,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20797,6 +20849,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20823,6 +20876,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23551,6 +23605,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23577,6 +23632,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23603,6 +23659,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23629,6 +23686,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23737,6 +23795,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24349,6 +24408,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24375,6 +24435,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24401,6 +24462,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24429,6 +24491,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24455,6 +24518,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24901,6 +24965,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25661,6 +25726,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25687,6 +25753,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25713,6 +25780,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25739,6 +25807,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25765,6 +25834,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26759,6 +26829,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26969,6 +27040,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26995,6 +27067,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28019,6 +28092,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node18_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node18_windows-latest.snap.json
index 7a633896a..f20c57fdb 100644
--- a/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node18_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/juice-shop_npm7_node18_windows-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2145,6 +2146,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2172,6 +2174,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2868,6 +2871,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2894,6 +2898,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2920,6 +2925,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2946,6 +2952,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2974,6 +2981,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4938,6 +4946,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5756,6 +5765,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8432,6 +8442,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8458,6 +8469,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8618,6 +8630,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9300,6 +9313,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11340,6 +11354,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13426,6 +13441,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13610,6 +13626,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13636,6 +13653,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13662,6 +13680,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13688,6 +13707,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14520,6 +14540,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16612,6 +16633,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16639,6 +16661,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16665,6 +16688,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16691,6 +16715,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16717,6 +16742,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16743,6 +16769,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17293,6 +17320,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17319,6 +17347,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17345,6 +17374,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17401,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17428,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17501,6 +17533,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17791,6 +17824,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17843,6 +17877,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18001,6 +18036,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18027,6 +18063,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18107,6 +18144,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18133,6 +18171,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18159,6 +18198,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18185,6 +18225,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18211,6 +18252,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18237,6 +18279,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18263,6 +18306,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18289,6 +18333,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18315,6 +18360,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18341,6 +18387,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18683,6 +18730,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19887,6 +19935,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20589,6 +20638,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20745,6 +20795,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20771,6 +20822,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20797,6 +20849,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20823,6 +20876,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23551,6 +23605,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23577,6 +23632,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23603,6 +23659,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23629,6 +23686,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23737,6 +23795,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24349,6 +24408,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24375,6 +24435,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24401,6 +24462,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24429,6 +24491,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24455,6 +24518,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24901,6 +24965,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25661,6 +25726,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25687,6 +25753,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25713,6 +25780,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25739,6 +25807,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25765,6 +25834,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26759,6 +26829,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26969,6 +27040,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26995,6 +27067,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28019,6 +28092,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node16_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node16_macos-latest.snap.json
index 63fd21807..a9902e3e0 100644
--- a/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node16_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node16_macos-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2145,6 +2146,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2172,6 +2174,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2868,6 +2871,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2894,6 +2898,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2920,6 +2925,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2946,6 +2952,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2974,6 +2981,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4938,6 +4946,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5756,6 +5765,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8432,6 +8442,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8458,6 +8469,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8618,6 +8630,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9300,6 +9313,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -10974,6 +10988,7 @@
"name": "fsevents",
"version": "2.3.2",
"bom-ref": "fsevents@2.3.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11366,6 +11381,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13452,6 +13468,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13636,6 +13653,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13662,6 +13680,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13688,6 +13707,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13714,6 +13734,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14546,6 +14567,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16638,6 +16660,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16665,6 +16688,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16691,6 +16715,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16717,6 +16742,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16743,6 +16769,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16769,6 +16796,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17319,6 +17347,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17345,6 +17374,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17401,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17428,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17423,6 +17455,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17527,6 +17560,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17817,6 +17851,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17869,6 +17904,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18027,6 +18063,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18053,6 +18090,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18133,6 +18171,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18159,6 +18198,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18185,6 +18225,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18211,6 +18252,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18237,6 +18279,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18263,6 +18306,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18289,6 +18333,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18315,6 +18360,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18341,6 +18387,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18367,6 +18414,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18709,6 +18757,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19913,6 +19962,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20615,6 +20665,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20771,6 +20822,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20797,6 +20849,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20823,6 +20876,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20849,6 +20903,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23577,6 +23632,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23603,6 +23659,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23629,6 +23686,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23655,6 +23713,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23763,6 +23822,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24375,6 +24435,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24401,6 +24462,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24427,6 +24489,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24455,6 +24518,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24481,6 +24545,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24927,6 +24992,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25687,6 +25753,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25713,6 +25780,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25739,6 +25807,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25765,6 +25834,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25791,6 +25861,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26785,6 +26856,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26995,6 +27067,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27021,6 +27094,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28045,6 +28119,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node16_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node16_ubuntu-latest.snap.json
index e38a40abc..4a262da5a 100644
--- a/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node16_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node16_ubuntu-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2145,6 +2146,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2172,6 +2174,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2868,6 +2871,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2894,6 +2898,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2920,6 +2925,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2946,6 +2952,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2974,6 +2981,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4938,6 +4946,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5756,6 +5765,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8432,6 +8442,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8458,6 +8469,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8618,6 +8630,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9300,6 +9313,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11340,6 +11354,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13426,6 +13441,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13610,6 +13626,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13636,6 +13653,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13662,6 +13680,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13688,6 +13707,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14520,6 +14540,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16612,6 +16633,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16639,6 +16661,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16665,6 +16688,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16691,6 +16715,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16717,6 +16742,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16743,6 +16769,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17293,6 +17320,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17319,6 +17347,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17345,6 +17374,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17401,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17428,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17501,6 +17533,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17791,6 +17824,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17843,6 +17877,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18001,6 +18036,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18027,6 +18063,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18107,6 +18144,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18133,6 +18171,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18159,6 +18198,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18185,6 +18225,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18211,6 +18252,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18237,6 +18279,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18263,6 +18306,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18289,6 +18333,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18315,6 +18360,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18341,6 +18387,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18683,6 +18730,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19887,6 +19935,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20589,6 +20638,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20745,6 +20795,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20771,6 +20822,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20797,6 +20849,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20823,6 +20876,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23551,6 +23605,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23577,6 +23632,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23603,6 +23659,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23629,6 +23686,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23737,6 +23795,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24349,6 +24408,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24375,6 +24435,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24401,6 +24462,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24429,6 +24491,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24455,6 +24518,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24901,6 +24965,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25661,6 +25726,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25687,6 +25753,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25713,6 +25780,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25739,6 +25807,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25765,6 +25834,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26759,6 +26829,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26969,6 +27040,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26995,6 +27067,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28019,6 +28092,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node16_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node16_windows-latest.snap.json
index 7a633896a..f20c57fdb 100644
--- a/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node16_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node16_windows-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2145,6 +2146,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2172,6 +2174,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2868,6 +2871,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2894,6 +2898,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2920,6 +2925,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2946,6 +2952,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2974,6 +2981,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4938,6 +4946,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5756,6 +5765,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8432,6 +8442,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8458,6 +8469,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8618,6 +8630,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9300,6 +9313,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11340,6 +11354,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13426,6 +13441,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13610,6 +13626,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13636,6 +13653,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13662,6 +13680,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13688,6 +13707,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14520,6 +14540,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16612,6 +16633,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16639,6 +16661,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16665,6 +16688,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16691,6 +16715,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16717,6 +16742,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16743,6 +16769,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17293,6 +17320,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17319,6 +17347,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17345,6 +17374,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17401,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17428,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17501,6 +17533,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17791,6 +17824,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17843,6 +17877,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18001,6 +18036,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18027,6 +18063,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18107,6 +18144,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18133,6 +18171,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18159,6 +18198,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18185,6 +18225,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18211,6 +18252,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18237,6 +18279,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18263,6 +18306,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18289,6 +18333,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18315,6 +18360,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18341,6 +18387,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18683,6 +18730,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19887,6 +19935,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20589,6 +20638,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20745,6 +20795,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20771,6 +20822,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20797,6 +20849,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20823,6 +20876,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23551,6 +23605,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23577,6 +23632,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23603,6 +23659,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23629,6 +23686,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23737,6 +23795,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24349,6 +24408,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24375,6 +24435,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24401,6 +24462,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24429,6 +24491,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24455,6 +24518,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24901,6 +24965,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25661,6 +25726,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25687,6 +25753,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25713,6 +25780,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25739,6 +25807,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25765,6 +25834,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26759,6 +26829,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26969,6 +27040,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26995,6 +27067,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28019,6 +28092,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node18_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node18_macos-latest.snap.json
index 63fd21807..a9902e3e0 100644
--- a/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node18_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node18_macos-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2145,6 +2146,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2172,6 +2174,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2868,6 +2871,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2894,6 +2898,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2920,6 +2925,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2946,6 +2952,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2974,6 +2981,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4938,6 +4946,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5756,6 +5765,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8432,6 +8442,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8458,6 +8469,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8618,6 +8630,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9300,6 +9313,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -10974,6 +10988,7 @@
"name": "fsevents",
"version": "2.3.2",
"bom-ref": "fsevents@2.3.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11366,6 +11381,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13452,6 +13468,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13636,6 +13653,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13662,6 +13680,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13688,6 +13707,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13714,6 +13734,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14546,6 +14567,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16638,6 +16660,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16665,6 +16688,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16691,6 +16715,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16717,6 +16742,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16743,6 +16769,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16769,6 +16796,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17319,6 +17347,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17345,6 +17374,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17401,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17428,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17423,6 +17455,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17527,6 +17560,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17817,6 +17851,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17869,6 +17904,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18027,6 +18063,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18053,6 +18090,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18133,6 +18171,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18159,6 +18198,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18185,6 +18225,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18211,6 +18252,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18237,6 +18279,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18263,6 +18306,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18289,6 +18333,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18315,6 +18360,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18341,6 +18387,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18367,6 +18414,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18709,6 +18757,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19913,6 +19962,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20615,6 +20665,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20771,6 +20822,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20797,6 +20849,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20823,6 +20876,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20849,6 +20903,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23577,6 +23632,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23603,6 +23659,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23629,6 +23686,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23655,6 +23713,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23763,6 +23822,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24375,6 +24435,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24401,6 +24462,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24427,6 +24489,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24455,6 +24518,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24481,6 +24545,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24927,6 +24992,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25687,6 +25753,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25713,6 +25780,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25739,6 +25807,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25765,6 +25834,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25791,6 +25861,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26785,6 +26856,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26995,6 +27067,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27021,6 +27094,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28045,6 +28119,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node18_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node18_ubuntu-latest.snap.json
index e38a40abc..4a262da5a 100644
--- a/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node18_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node18_ubuntu-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2145,6 +2146,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2172,6 +2174,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2868,6 +2871,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2894,6 +2898,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2920,6 +2925,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2946,6 +2952,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2974,6 +2981,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4938,6 +4946,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5756,6 +5765,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8432,6 +8442,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8458,6 +8469,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8618,6 +8630,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9300,6 +9313,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11340,6 +11354,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13426,6 +13441,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13610,6 +13626,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13636,6 +13653,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13662,6 +13680,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13688,6 +13707,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14520,6 +14540,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16612,6 +16633,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16639,6 +16661,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16665,6 +16688,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16691,6 +16715,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16717,6 +16742,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16743,6 +16769,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17293,6 +17320,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17319,6 +17347,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17345,6 +17374,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17401,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17428,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17501,6 +17533,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17791,6 +17824,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17843,6 +17877,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18001,6 +18036,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18027,6 +18063,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18107,6 +18144,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18133,6 +18171,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18159,6 +18198,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18185,6 +18225,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18211,6 +18252,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18237,6 +18279,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18263,6 +18306,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18289,6 +18333,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18315,6 +18360,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18341,6 +18387,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18683,6 +18730,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19887,6 +19935,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20589,6 +20638,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20745,6 +20795,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20771,6 +20822,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20797,6 +20849,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20823,6 +20876,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23551,6 +23605,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23577,6 +23632,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23603,6 +23659,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23629,6 +23686,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23737,6 +23795,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24349,6 +24408,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24375,6 +24435,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24401,6 +24462,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24429,6 +24491,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24455,6 +24518,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24901,6 +24965,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25661,6 +25726,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25687,6 +25753,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25713,6 +25780,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25739,6 +25807,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25765,6 +25834,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26759,6 +26829,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26969,6 +27040,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26995,6 +27067,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28019,6 +28092,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node18_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node18_windows-latest.snap.json
index 7a633896a..f20c57fdb 100644
--- a/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node18_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/juice-shop_npm8_node18_windows-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2145,6 +2146,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2172,6 +2174,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2868,6 +2871,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2894,6 +2898,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2920,6 +2925,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2946,6 +2952,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2974,6 +2981,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4938,6 +4946,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5756,6 +5765,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8432,6 +8442,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8458,6 +8469,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8618,6 +8630,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9300,6 +9313,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11340,6 +11354,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13426,6 +13441,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13610,6 +13626,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13636,6 +13653,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13662,6 +13680,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13688,6 +13707,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14520,6 +14540,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16612,6 +16633,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16639,6 +16661,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16665,6 +16688,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16691,6 +16715,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16717,6 +16742,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16743,6 +16769,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17293,6 +17320,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17319,6 +17347,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17345,6 +17374,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17401,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17428,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17501,6 +17533,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17791,6 +17824,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17843,6 +17877,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18001,6 +18036,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18027,6 +18063,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18107,6 +18144,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18133,6 +18171,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18159,6 +18198,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18185,6 +18225,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18211,6 +18252,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18237,6 +18279,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18263,6 +18306,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18289,6 +18333,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18315,6 +18360,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18341,6 +18387,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18683,6 +18730,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19887,6 +19935,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20589,6 +20638,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20745,6 +20795,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20771,6 +20822,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20797,6 +20849,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20823,6 +20876,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23551,6 +23605,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23577,6 +23632,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23603,6 +23659,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23629,6 +23686,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23737,6 +23795,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24349,6 +24408,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24375,6 +24435,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24401,6 +24462,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24429,6 +24491,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24455,6 +24518,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24901,6 +24965,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25661,6 +25726,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25687,6 +25753,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25713,6 +25780,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25739,6 +25807,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25765,6 +25834,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26759,6 +26829,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26969,6 +27040,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26995,6 +27067,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28019,6 +28092,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node16_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node16_macos-latest.snap.json
index 63fd21807..a9902e3e0 100644
--- a/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node16_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node16_macos-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2145,6 +2146,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2172,6 +2174,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2868,6 +2871,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2894,6 +2898,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2920,6 +2925,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2946,6 +2952,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2974,6 +2981,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4938,6 +4946,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5756,6 +5765,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8432,6 +8442,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8458,6 +8469,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8618,6 +8630,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9300,6 +9313,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -10974,6 +10988,7 @@
"name": "fsevents",
"version": "2.3.2",
"bom-ref": "fsevents@2.3.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11366,6 +11381,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13452,6 +13468,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13636,6 +13653,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13662,6 +13680,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13688,6 +13707,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13714,6 +13734,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14546,6 +14567,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16638,6 +16660,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16665,6 +16688,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16691,6 +16715,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16717,6 +16742,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16743,6 +16769,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16769,6 +16796,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17319,6 +17347,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17345,6 +17374,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17401,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17428,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17423,6 +17455,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17527,6 +17560,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17817,6 +17851,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17869,6 +17904,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18027,6 +18063,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18053,6 +18090,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18133,6 +18171,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18159,6 +18198,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18185,6 +18225,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18211,6 +18252,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18237,6 +18279,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18263,6 +18306,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18289,6 +18333,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18315,6 +18360,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18341,6 +18387,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18367,6 +18414,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18709,6 +18757,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19913,6 +19962,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20615,6 +20665,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20771,6 +20822,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20797,6 +20849,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20823,6 +20876,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20849,6 +20903,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23577,6 +23632,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23603,6 +23659,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23629,6 +23686,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23655,6 +23713,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23763,6 +23822,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24375,6 +24435,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24401,6 +24462,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24427,6 +24489,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24455,6 +24518,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24481,6 +24545,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24927,6 +24992,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25687,6 +25753,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25713,6 +25780,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25739,6 +25807,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25765,6 +25834,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25791,6 +25861,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26785,6 +26856,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26995,6 +27067,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27021,6 +27094,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28045,6 +28119,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node16_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node16_ubuntu-latest.snap.json
index e38a40abc..4a262da5a 100644
--- a/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node16_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node16_ubuntu-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2145,6 +2146,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2172,6 +2174,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2868,6 +2871,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2894,6 +2898,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2920,6 +2925,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2946,6 +2952,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2974,6 +2981,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4938,6 +4946,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5756,6 +5765,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8432,6 +8442,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8458,6 +8469,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8618,6 +8630,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9300,6 +9313,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11340,6 +11354,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13426,6 +13441,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13610,6 +13626,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13636,6 +13653,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13662,6 +13680,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13688,6 +13707,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14520,6 +14540,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16612,6 +16633,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16639,6 +16661,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16665,6 +16688,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16691,6 +16715,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16717,6 +16742,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16743,6 +16769,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17293,6 +17320,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17319,6 +17347,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17345,6 +17374,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17401,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17428,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17501,6 +17533,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17791,6 +17824,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17843,6 +17877,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18001,6 +18036,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18027,6 +18063,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18107,6 +18144,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18133,6 +18171,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18159,6 +18198,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18185,6 +18225,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18211,6 +18252,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18237,6 +18279,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18263,6 +18306,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18289,6 +18333,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18315,6 +18360,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18341,6 +18387,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18683,6 +18730,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19887,6 +19935,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20589,6 +20638,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20745,6 +20795,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20771,6 +20822,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20797,6 +20849,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20823,6 +20876,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23551,6 +23605,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23577,6 +23632,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23603,6 +23659,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23629,6 +23686,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23737,6 +23795,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24349,6 +24408,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24375,6 +24435,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24401,6 +24462,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24429,6 +24491,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24455,6 +24518,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24901,6 +24965,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25661,6 +25726,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25687,6 +25753,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25713,6 +25780,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25739,6 +25807,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25765,6 +25834,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26759,6 +26829,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26969,6 +27040,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26995,6 +27067,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28019,6 +28092,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node16_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node16_windows-latest.snap.json
index 7a633896a..f20c57fdb 100644
--- a/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node16_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node16_windows-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2145,6 +2146,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2172,6 +2174,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2868,6 +2871,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2894,6 +2898,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2920,6 +2925,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2946,6 +2952,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2974,6 +2981,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4938,6 +4946,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5756,6 +5765,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8432,6 +8442,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8458,6 +8469,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8618,6 +8630,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9300,6 +9313,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11340,6 +11354,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13426,6 +13441,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13610,6 +13626,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13636,6 +13653,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13662,6 +13680,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13688,6 +13707,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14520,6 +14540,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16612,6 +16633,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16639,6 +16661,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16665,6 +16688,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16691,6 +16715,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16717,6 +16742,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16743,6 +16769,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17293,6 +17320,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17319,6 +17347,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17345,6 +17374,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17401,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17428,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17501,6 +17533,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17791,6 +17824,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17843,6 +17877,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18001,6 +18036,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18027,6 +18063,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18107,6 +18144,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18133,6 +18171,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18159,6 +18198,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18185,6 +18225,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18211,6 +18252,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18237,6 +18279,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18263,6 +18306,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18289,6 +18333,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18315,6 +18360,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18341,6 +18387,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18683,6 +18730,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19887,6 +19935,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20589,6 +20638,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20745,6 +20795,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20771,6 +20822,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20797,6 +20849,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20823,6 +20876,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23551,6 +23605,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23577,6 +23632,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23603,6 +23659,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23629,6 +23686,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23737,6 +23795,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24349,6 +24408,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24375,6 +24435,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24401,6 +24462,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24429,6 +24491,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24455,6 +24518,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24901,6 +24965,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25661,6 +25726,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25687,6 +25753,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25713,6 +25780,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25739,6 +25807,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25765,6 +25834,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26759,6 +26829,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26969,6 +27040,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26995,6 +27067,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28019,6 +28092,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node18_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node18_macos-latest.snap.json
index 63fd21807..a9902e3e0 100644
--- a/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node18_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node18_macos-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2145,6 +2146,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2172,6 +2174,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2868,6 +2871,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2894,6 +2898,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2920,6 +2925,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2946,6 +2952,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2974,6 +2981,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4938,6 +4946,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5756,6 +5765,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8432,6 +8442,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8458,6 +8469,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8618,6 +8630,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9300,6 +9313,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -10974,6 +10988,7 @@
"name": "fsevents",
"version": "2.3.2",
"bom-ref": "fsevents@2.3.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11366,6 +11381,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13452,6 +13468,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13636,6 +13653,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13662,6 +13680,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13688,6 +13707,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13714,6 +13734,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14546,6 +14567,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16638,6 +16660,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16665,6 +16688,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16691,6 +16715,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16717,6 +16742,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16743,6 +16769,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16769,6 +16796,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17319,6 +17347,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17345,6 +17374,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17401,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17428,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17423,6 +17455,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17527,6 +17560,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17817,6 +17851,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17869,6 +17904,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18027,6 +18063,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18053,6 +18090,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18133,6 +18171,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18159,6 +18198,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18185,6 +18225,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18211,6 +18252,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18237,6 +18279,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18263,6 +18306,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18289,6 +18333,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18315,6 +18360,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18341,6 +18387,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18367,6 +18414,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18709,6 +18757,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19913,6 +19962,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20615,6 +20665,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20771,6 +20822,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20797,6 +20849,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20823,6 +20876,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20849,6 +20903,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23577,6 +23632,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23603,6 +23659,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23629,6 +23686,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23655,6 +23713,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23763,6 +23822,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24375,6 +24435,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24401,6 +24462,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24427,6 +24489,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24455,6 +24518,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24481,6 +24545,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24927,6 +24992,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25687,6 +25753,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25713,6 +25780,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25739,6 +25807,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25765,6 +25834,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25791,6 +25861,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26785,6 +26856,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26995,6 +27067,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27021,6 +27094,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28045,6 +28119,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node18_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node18_ubuntu-latest.snap.json
index e38a40abc..4a262da5a 100644
--- a/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node18_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node18_ubuntu-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2145,6 +2146,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2172,6 +2174,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2868,6 +2871,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2894,6 +2898,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2920,6 +2925,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2946,6 +2952,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2974,6 +2981,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4938,6 +4946,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5756,6 +5765,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8432,6 +8442,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8458,6 +8469,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8618,6 +8630,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9300,6 +9313,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11340,6 +11354,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13426,6 +13441,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13610,6 +13626,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13636,6 +13653,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13662,6 +13680,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13688,6 +13707,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14520,6 +14540,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16612,6 +16633,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16639,6 +16661,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16665,6 +16688,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16691,6 +16715,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16717,6 +16742,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16743,6 +16769,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17293,6 +17320,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17319,6 +17347,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17345,6 +17374,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17401,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17428,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17501,6 +17533,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17791,6 +17824,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17843,6 +17877,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18001,6 +18036,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18027,6 +18063,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18107,6 +18144,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18133,6 +18171,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18159,6 +18198,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18185,6 +18225,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18211,6 +18252,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18237,6 +18279,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18263,6 +18306,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18289,6 +18333,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18315,6 +18360,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18341,6 +18387,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18683,6 +18730,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19887,6 +19935,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20589,6 +20638,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20745,6 +20795,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20771,6 +20822,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20797,6 +20849,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20823,6 +20876,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23551,6 +23605,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23577,6 +23632,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23603,6 +23659,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23629,6 +23686,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23737,6 +23795,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24349,6 +24408,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24375,6 +24435,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24401,6 +24462,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24429,6 +24491,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24455,6 +24518,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24901,6 +24965,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25661,6 +25726,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25687,6 +25753,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25713,6 +25780,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25739,6 +25807,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25765,6 +25834,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26759,6 +26829,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26969,6 +27040,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26995,6 +27067,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28019,6 +28092,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node18_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node18_windows-latest.snap.json
index 7a633896a..f20c57fdb 100644
--- a/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node18_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/bare/juice-shop_npm9_node18_windows-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2145,6 +2146,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2172,6 +2174,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2868,6 +2871,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2894,6 +2898,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2920,6 +2925,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2946,6 +2952,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2974,6 +2981,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4938,6 +4946,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5756,6 +5765,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8432,6 +8442,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8458,6 +8469,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8618,6 +8630,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9300,6 +9313,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11340,6 +11354,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13426,6 +13441,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13610,6 +13626,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13636,6 +13653,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13662,6 +13680,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13688,6 +13707,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14520,6 +14540,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16612,6 +16633,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16639,6 +16661,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16665,6 +16688,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16691,6 +16715,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16717,6 +16742,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16743,6 +16769,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17293,6 +17320,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17319,6 +17347,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17345,6 +17374,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17401,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17428,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17501,6 +17533,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17791,6 +17824,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17843,6 +17877,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18001,6 +18036,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18027,6 +18063,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18107,6 +18144,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18133,6 +18171,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18159,6 +18198,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18185,6 +18225,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18211,6 +18252,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18237,6 +18279,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18263,6 +18306,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18289,6 +18333,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18315,6 +18360,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18341,6 +18387,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18683,6 +18730,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19887,6 +19935,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20589,6 +20638,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20745,6 +20795,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20771,6 +20822,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20797,6 +20849,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20823,6 +20876,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23551,6 +23605,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23577,6 +23632,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23603,6 +23659,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23629,6 +23686,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23737,6 +23795,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24349,6 +24408,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24375,6 +24435,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24401,6 +24462,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24429,6 +24491,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24455,6 +24518,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24901,6 +24965,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25661,6 +25726,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25687,6 +25753,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25713,6 +25780,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25739,6 +25807,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25765,6 +25834,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26759,6 +26829,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26969,6 +27040,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26995,6 +27067,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -28019,6 +28092,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node14_macos-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node14_macos-latest.snap.json
index 6dea78a18..19854a5c5 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node14_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node14_macos-latest.snap.json
@@ -81,13 +81,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -97,10 +97,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.11.9#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -130,16 +130,181 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node14_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node14_ubuntu-latest.snap.json
index 6dea78a18..19854a5c5 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node14_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node14_ubuntu-latest.snap.json
@@ -81,13 +81,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -97,10 +97,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.11.9#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -130,16 +130,181 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node14_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node14_windows-latest.snap.json
index 62319a19f..da17494b2 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node14_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node14_windows-latest.snap.json
@@ -81,13 +81,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -97,10 +97,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.11.9#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -130,16 +130,181 @@
"value": "node_modules/@types\\node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node16_macos-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node16_macos-latest.snap.json
index 6dea78a18..19854a5c5 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node16_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node16_macos-latest.snap.json
@@ -81,13 +81,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -97,10 +97,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.11.9#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -130,16 +130,181 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node16_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node16_ubuntu-latest.snap.json
index 6dea78a18..19854a5c5 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node16_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node16_ubuntu-latest.snap.json
@@ -81,13 +81,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -97,10 +97,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.11.9#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -130,16 +130,181 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node16_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node16_windows-latest.snap.json
index 62319a19f..da17494b2 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node16_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node16_windows-latest.snap.json
@@ -81,13 +81,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -97,10 +97,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.11.9#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -130,16 +130,181 @@
"value": "node_modules/@types\\node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node18_macos-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node18_macos-latest.snap.json
index 6dea78a18..19854a5c5 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node18_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node18_macos-latest.snap.json
@@ -81,13 +81,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -97,10 +97,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.11.9#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -130,16 +130,181 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node18_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node18_ubuntu-latest.snap.json
index 6dea78a18..19854a5c5 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node18_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node18_ubuntu-latest.snap.json
@@ -81,13 +81,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -97,10 +97,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.11.9#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -130,16 +130,181 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node18_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node18_windows-latest.snap.json
index 62319a19f..da17494b2 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node18_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node18_windows-latest.snap.json
@@ -81,13 +81,13 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"description": "TypeScript definitions for Node.js",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
"licenses": [
@@ -97,10 +97,10 @@
}
}
],
- "purl": "pkg:npm/%40types/node@18.11.9#types/node",
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
},
@@ -130,16 +130,181 @@
"value": "node_modules/@types\\node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node19_macos-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node19_macos-latest.snap.json
new file mode 100644
index 000000000..19854a5c5
--- /dev/null
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node19_macos-latest.snap.json
@@ -0,0 +1,311 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "description": "TypeScript definitions for Node.js",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/node",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node19_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node19_ubuntu-latest.snap.json
new file mode 100644
index 000000000..19854a5c5
--- /dev/null
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node19_ubuntu-latest.snap.json
@@ -0,0 +1,311 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "description": "TypeScript definitions for Node.js",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/node",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node19_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node19_windows-latest.snap.json
new file mode 100644
index 000000000..da17494b2
--- /dev/null
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm6_node19_windows-latest.snap.json
@@ -0,0 +1,311 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "description": "TypeScript definitions for Node.js",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11#types/node",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/node",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "description": "TypeScript definitions for uuid",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4#types/uuid",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/uuid",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\" and \"repository.directory\""
+ },
+ {
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "description": "RFC4122 (v1, v4, and v5) UUIDs",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/uuidjs/uuid.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/uuidjs/uuid#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "description": "uuidv4 creates v4 UUIDs.",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git://github.com/thenativeweb/uuidv4.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/thenativeweb/uuidv4#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node14_macos-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node14_macos-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node14_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node14_macos-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node14_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node14_ubuntu-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node14_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node14_ubuntu-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node14_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node14_windows-latest.snap.json
index 56dea55e1..9a6a6e19b 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node14_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node14_windows-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types\\node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node16_macos-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node16_macos-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node16_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node16_macos-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node16_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node16_ubuntu-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node16_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node16_ubuntu-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node16_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node16_windows-latest.snap.json
index 56dea55e1..9a6a6e19b 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node16_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node16_windows-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types\\node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node18_macos-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node18_macos-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node18_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node18_macos-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node18_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node18_ubuntu-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node18_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node18_ubuntu-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node18_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node18_windows-latest.snap.json
index 56dea55e1..9a6a6e19b 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node18_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node18_windows-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types\\node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node19_macos-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node19_macos-latest.snap.json
new file mode 100644
index 000000000..f5c64e261
--- /dev/null
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node19_macos-latest.snap.json
@@ -0,0 +1,229 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node19_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node19_ubuntu-latest.snap.json
new file mode 100644
index 000000000..f5c64e261
--- /dev/null
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node19_ubuntu-latest.snap.json
@@ -0,0 +1,229 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node19_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node19_windows-latest.snap.json
new file mode 100644
index 000000000..9a6a6e19b
--- /dev/null
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm7_node19_windows-latest.snap.json
@@ -0,0 +1,229 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node14_macos-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node14_macos-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node14_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node14_macos-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node14_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node14_ubuntu-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node14_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node14_ubuntu-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node14_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node14_windows-latest.snap.json
index 56dea55e1..9a6a6e19b 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node14_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node14_windows-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types\\node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node16_macos-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node16_macos-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node16_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node16_macos-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node16_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node16_ubuntu-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node16_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node16_ubuntu-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node16_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node16_windows-latest.snap.json
index 56dea55e1..9a6a6e19b 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node16_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node16_windows-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types\\node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node18_macos-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node18_macos-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node18_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node18_macos-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node18_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node18_ubuntu-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node18_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node18_ubuntu-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node18_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node18_windows-latest.snap.json
index 56dea55e1..9a6a6e19b 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node18_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node18_windows-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types\\node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node19_macos-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node19_macos-latest.snap.json
new file mode 100644
index 000000000..f5c64e261
--- /dev/null
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node19_macos-latest.snap.json
@@ -0,0 +1,229 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node19_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node19_ubuntu-latest.snap.json
new file mode 100644
index 000000000..f5c64e261
--- /dev/null
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node19_ubuntu-latest.snap.json
@@ -0,0 +1,229 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node19_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node19_windows-latest.snap.json
new file mode 100644
index 000000000..9a6a6e19b
--- /dev/null
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm8_node19_windows-latest.snap.json
@@ -0,0 +1,229 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node16_macos-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node16_macos-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node16_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node16_macos-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node16_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node16_ubuntu-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node16_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node16_ubuntu-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node16_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node16_windows-latest.snap.json
index 56dea55e1..9a6a6e19b 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node16_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node16_windows-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types\\node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node18_macos-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node18_macos-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node18_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node18_macos-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node18_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node18_ubuntu-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node18_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node18_ubuntu-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node18_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node18_windows-latest.snap.json
index 56dea55e1..9a6a6e19b 100644
--- a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node18_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node18_windows-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types\\node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node19_macos-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node19_macos-latest.snap.json
new file mode 100644
index 000000000..f5c64e261
--- /dev/null
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node19_macos-latest.snap.json
@@ -0,0 +1,229 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node19_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node19_ubuntu-latest.snap.json
new file mode 100644
index 000000000..f5c64e261
--- /dev/null
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node19_ubuntu-latest.snap.json
@@ -0,0 +1,229 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node19_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node19_windows-latest.snap.json
new file mode 100644
index 000000000..9a6a6e19b
--- /dev/null
+++ b/tests/_data/sbom_demo-results/flatten-components/dev-dependencies_npm9_node19_windows-latest.snap.json
@@ -0,0 +1,229 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-library",
+ "version": "libVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ },
+ {
+ "vendor": "@cyclonedx",
+ "name": "cyclonedx-npm",
+ "version": "thisVersion-testing",
+ "externalReferences": [
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
+ "type": "issue-tracker",
+ "comment": "as detected from PackageJson property \"bugs.url\""
+ },
+ {
+ "url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
+ "type": "vcs",
+ "comment": "as detected from PackageJson property \"repository.url\""
+ },
+ {
+ "url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
+ "type": "website",
+ "comment": "as detected from PackageJson property \"homepage\""
+ }
+ ]
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "demo-dev-dependencies",
+ "version": "0.0.0",
+ "bom-ref": "demo-dev-dependencies@0.0.0",
+ "description": "demo: demo-dev-dependencies -- showcase how devDependencies look like",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ],
+ "purl": "pkg:npm/demo-dev-dependencies@0.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ },
+ {
+ "name": "cdx:npm:package:private",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "node",
+ "group": "@types",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
+ }
+ ],
+ "purl": "pkg:npm/%40types/node@18.15.11",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\node"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types\\uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
+ },
+ {
+ "ref": "demo-dev-dependencies@0.0.0",
+ "dependsOn": [
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node16_macos-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node16_macos-latest.snap.json
index 5d1d54a35..5b20b0953 100644
--- a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node16_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node16_macos-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2141,6 +2142,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2168,6 +2170,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2862,6 +2865,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2888,6 +2892,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2914,6 +2919,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2940,6 +2946,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2966,6 +2973,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4916,6 +4924,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5722,6 +5731,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8374,6 +8384,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8400,6 +8411,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8556,6 +8568,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9232,6 +9245,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -10896,6 +10910,7 @@
"name": "fsevents",
"version": "2.3.2",
"bom-ref": "fsevents@2.3.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11286,6 +11301,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13340,6 +13356,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13522,6 +13539,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13548,6 +13566,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13574,6 +13593,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13600,6 +13620,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14432,6 +14453,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16512,6 +16534,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16539,6 +16562,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16565,6 +16589,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16591,6 +16616,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16617,6 +16643,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16643,6 +16670,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17189,6 +17217,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17215,6 +17244,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17241,6 +17271,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17267,6 +17298,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17293,6 +17325,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17430,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17683,6 +17717,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17735,6 +17770,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17891,6 +17927,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17917,6 +17954,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17995,6 +18033,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18021,6 +18060,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18047,6 +18087,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18073,6 +18114,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18099,6 +18141,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18125,6 +18168,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18151,6 +18195,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18177,6 +18222,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18203,6 +18249,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18229,6 +18276,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18567,6 +18615,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19763,6 +19812,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20465,6 +20515,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20621,6 +20672,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20647,6 +20699,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20673,6 +20726,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20699,6 +20753,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23403,6 +23458,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23429,6 +23485,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23455,6 +23512,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23481,6 +23539,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23585,6 +23644,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24183,6 +24243,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24209,6 +24270,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24235,6 +24297,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24261,6 +24324,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24287,6 +24351,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24729,6 +24794,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25483,6 +25549,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25509,6 +25576,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25535,6 +25603,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25561,6 +25630,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25587,6 +25657,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26575,6 +26646,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26783,6 +26855,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26809,6 +26882,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27823,6 +27897,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node16_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node16_ubuntu-latest.snap.json
index 2bb1f3772..18c72b116 100644
--- a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node16_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node16_ubuntu-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2141,6 +2142,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2168,6 +2170,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2862,6 +2865,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2888,6 +2892,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2914,6 +2919,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2940,6 +2946,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2966,6 +2973,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4916,6 +4924,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5722,6 +5731,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8374,6 +8384,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8400,6 +8411,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8556,6 +8568,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9232,6 +9245,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11260,6 +11274,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13314,6 +13329,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13496,6 +13512,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13522,6 +13539,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13548,6 +13566,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13574,6 +13593,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14406,6 +14426,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16486,6 +16507,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16513,6 +16535,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16539,6 +16562,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16565,6 +16589,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16591,6 +16616,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16617,6 +16643,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17163,6 +17190,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17189,6 +17217,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17215,6 +17244,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17241,6 +17271,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17267,6 +17298,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17403,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17657,6 +17690,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17709,6 +17743,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17865,6 +17900,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17891,6 +17927,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17969,6 +18006,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17995,6 +18033,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18021,6 +18060,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18047,6 +18087,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18073,6 +18114,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18099,6 +18141,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18125,6 +18168,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18151,6 +18195,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18177,6 +18222,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18203,6 +18249,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18541,6 +18588,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19737,6 +19785,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20439,6 +20488,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20595,6 +20645,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20621,6 +20672,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20647,6 +20699,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20673,6 +20726,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23377,6 +23431,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23403,6 +23458,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23429,6 +23485,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23455,6 +23512,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23559,6 +23617,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24157,6 +24216,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24183,6 +24243,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24209,6 +24270,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24235,6 +24297,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24261,6 +24324,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24703,6 +24767,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25457,6 +25522,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25483,6 +25549,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25509,6 +25576,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25535,6 +25603,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25561,6 +25630,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26549,6 +26619,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26757,6 +26828,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26783,6 +26855,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27797,6 +27870,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node16_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node16_windows-latest.snap.json
index 9c06e61ce..ebadb548e 100644
--- a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node16_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node16_windows-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2141,6 +2142,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2168,6 +2170,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2862,6 +2865,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2888,6 +2892,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2914,6 +2919,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2940,6 +2946,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2966,6 +2973,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4916,6 +4924,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5722,6 +5731,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8374,6 +8384,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8400,6 +8411,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8556,6 +8568,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9232,6 +9245,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11260,6 +11274,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13314,6 +13329,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13496,6 +13512,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13522,6 +13539,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13548,6 +13566,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13574,6 +13593,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14406,6 +14426,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16486,6 +16507,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16513,6 +16535,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16539,6 +16562,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16565,6 +16589,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16591,6 +16616,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16617,6 +16643,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17163,6 +17190,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17189,6 +17217,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17215,6 +17244,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17241,6 +17271,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17267,6 +17298,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17403,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17657,6 +17690,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17709,6 +17743,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17865,6 +17900,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17891,6 +17927,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17969,6 +18006,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17995,6 +18033,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18021,6 +18060,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18047,6 +18087,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18073,6 +18114,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18099,6 +18141,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18125,6 +18168,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18151,6 +18195,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18177,6 +18222,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18203,6 +18249,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18541,6 +18588,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19737,6 +19785,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20439,6 +20488,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20595,6 +20645,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20621,6 +20672,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20647,6 +20699,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20673,6 +20726,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23377,6 +23431,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23403,6 +23458,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23429,6 +23485,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23455,6 +23512,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23559,6 +23617,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24157,6 +24216,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24183,6 +24243,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24209,6 +24270,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24235,6 +24297,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24261,6 +24324,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24703,6 +24767,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25457,6 +25522,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25483,6 +25549,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25509,6 +25576,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25535,6 +25603,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25561,6 +25630,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26549,6 +26619,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26757,6 +26828,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26783,6 +26855,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27797,6 +27870,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node18_macos-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node18_macos-latest.snap.json
index 5d1d54a35..5b20b0953 100644
--- a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node18_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node18_macos-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2141,6 +2142,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2168,6 +2170,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2862,6 +2865,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2888,6 +2892,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2914,6 +2919,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2940,6 +2946,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2966,6 +2973,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4916,6 +4924,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5722,6 +5731,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8374,6 +8384,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8400,6 +8411,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8556,6 +8568,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9232,6 +9245,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -10896,6 +10910,7 @@
"name": "fsevents",
"version": "2.3.2",
"bom-ref": "fsevents@2.3.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11286,6 +11301,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13340,6 +13356,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13522,6 +13539,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13548,6 +13566,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13574,6 +13593,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13600,6 +13620,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14432,6 +14453,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16512,6 +16534,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16539,6 +16562,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16565,6 +16589,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16591,6 +16616,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16617,6 +16643,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16643,6 +16670,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17189,6 +17217,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17215,6 +17244,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17241,6 +17271,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17267,6 +17298,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17293,6 +17325,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17430,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17683,6 +17717,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17735,6 +17770,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17891,6 +17927,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17917,6 +17954,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17995,6 +18033,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18021,6 +18060,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18047,6 +18087,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18073,6 +18114,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18099,6 +18141,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18125,6 +18168,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18151,6 +18195,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18177,6 +18222,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18203,6 +18249,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18229,6 +18276,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18567,6 +18615,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19763,6 +19812,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20465,6 +20515,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20621,6 +20672,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20647,6 +20699,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20673,6 +20726,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20699,6 +20753,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23403,6 +23458,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23429,6 +23485,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23455,6 +23512,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23481,6 +23539,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23585,6 +23644,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24183,6 +24243,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24209,6 +24270,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24235,6 +24297,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24261,6 +24324,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24287,6 +24351,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24729,6 +24794,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25483,6 +25549,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25509,6 +25576,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25535,6 +25603,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25561,6 +25630,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25587,6 +25657,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26575,6 +26646,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26783,6 +26855,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26809,6 +26882,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27823,6 +27897,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node18_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node18_ubuntu-latest.snap.json
index 2bb1f3772..18c72b116 100644
--- a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node18_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node18_ubuntu-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2141,6 +2142,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2168,6 +2170,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2862,6 +2865,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2888,6 +2892,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2914,6 +2919,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2940,6 +2946,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2966,6 +2973,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4916,6 +4924,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5722,6 +5731,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8374,6 +8384,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8400,6 +8411,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8556,6 +8568,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9232,6 +9245,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11260,6 +11274,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13314,6 +13329,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13496,6 +13512,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13522,6 +13539,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13548,6 +13566,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13574,6 +13593,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14406,6 +14426,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16486,6 +16507,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16513,6 +16535,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16539,6 +16562,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16565,6 +16589,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16591,6 +16616,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16617,6 +16643,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17163,6 +17190,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17189,6 +17217,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17215,6 +17244,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17241,6 +17271,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17267,6 +17298,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17403,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17657,6 +17690,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17709,6 +17743,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17865,6 +17900,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17891,6 +17927,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17969,6 +18006,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17995,6 +18033,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18021,6 +18060,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18047,6 +18087,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18073,6 +18114,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18099,6 +18141,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18125,6 +18168,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18151,6 +18195,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18177,6 +18222,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18203,6 +18249,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18541,6 +18588,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19737,6 +19785,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20439,6 +20488,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20595,6 +20645,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20621,6 +20672,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20647,6 +20699,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20673,6 +20726,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23377,6 +23431,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23403,6 +23458,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23429,6 +23485,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23455,6 +23512,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23559,6 +23617,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24157,6 +24216,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24183,6 +24243,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24209,6 +24270,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24235,6 +24297,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24261,6 +24324,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24703,6 +24767,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25457,6 +25522,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25483,6 +25549,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25509,6 +25576,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25535,6 +25603,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25561,6 +25630,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26549,6 +26619,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26757,6 +26828,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26783,6 +26855,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27797,6 +27870,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node18_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node18_windows-latest.snap.json
index 9c06e61ce..ebadb548e 100644
--- a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node18_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm7_node18_windows-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2141,6 +2142,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2168,6 +2170,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2862,6 +2865,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2888,6 +2892,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2914,6 +2919,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2940,6 +2946,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2966,6 +2973,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4916,6 +4924,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5722,6 +5731,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8374,6 +8384,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8400,6 +8411,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8556,6 +8568,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9232,6 +9245,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11260,6 +11274,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13314,6 +13329,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13496,6 +13512,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13522,6 +13539,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13548,6 +13566,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13574,6 +13593,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14406,6 +14426,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16486,6 +16507,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16513,6 +16535,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16539,6 +16562,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16565,6 +16589,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16591,6 +16616,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16617,6 +16643,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17163,6 +17190,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17189,6 +17217,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17215,6 +17244,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17241,6 +17271,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17267,6 +17298,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17403,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17657,6 +17690,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17709,6 +17743,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17865,6 +17900,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17891,6 +17927,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17969,6 +18006,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17995,6 +18033,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18021,6 +18060,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18047,6 +18087,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18073,6 +18114,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18099,6 +18141,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18125,6 +18168,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18151,6 +18195,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18177,6 +18222,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18203,6 +18249,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18541,6 +18588,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19737,6 +19785,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20439,6 +20488,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20595,6 +20645,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20621,6 +20672,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20647,6 +20699,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20673,6 +20726,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23377,6 +23431,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23403,6 +23458,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23429,6 +23485,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23455,6 +23512,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23559,6 +23617,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24157,6 +24216,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24183,6 +24243,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24209,6 +24270,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24235,6 +24297,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24261,6 +24324,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24703,6 +24767,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25457,6 +25522,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25483,6 +25549,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25509,6 +25576,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25535,6 +25603,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25561,6 +25630,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26549,6 +26619,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26757,6 +26828,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26783,6 +26855,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27797,6 +27870,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node16_macos-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node16_macos-latest.snap.json
index 5d1d54a35..5b20b0953 100644
--- a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node16_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node16_macos-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2141,6 +2142,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2168,6 +2170,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2862,6 +2865,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2888,6 +2892,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2914,6 +2919,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2940,6 +2946,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2966,6 +2973,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4916,6 +4924,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5722,6 +5731,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8374,6 +8384,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8400,6 +8411,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8556,6 +8568,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9232,6 +9245,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -10896,6 +10910,7 @@
"name": "fsevents",
"version": "2.3.2",
"bom-ref": "fsevents@2.3.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11286,6 +11301,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13340,6 +13356,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13522,6 +13539,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13548,6 +13566,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13574,6 +13593,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13600,6 +13620,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14432,6 +14453,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16512,6 +16534,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16539,6 +16562,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16565,6 +16589,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16591,6 +16616,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16617,6 +16643,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16643,6 +16670,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17189,6 +17217,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17215,6 +17244,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17241,6 +17271,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17267,6 +17298,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17293,6 +17325,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17430,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17683,6 +17717,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17735,6 +17770,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17891,6 +17927,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17917,6 +17954,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17995,6 +18033,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18021,6 +18060,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18047,6 +18087,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18073,6 +18114,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18099,6 +18141,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18125,6 +18168,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18151,6 +18195,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18177,6 +18222,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18203,6 +18249,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18229,6 +18276,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18567,6 +18615,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19763,6 +19812,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20465,6 +20515,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20621,6 +20672,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20647,6 +20699,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20673,6 +20726,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20699,6 +20753,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23403,6 +23458,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23429,6 +23485,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23455,6 +23512,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23481,6 +23539,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23585,6 +23644,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24183,6 +24243,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24209,6 +24270,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24235,6 +24297,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24261,6 +24324,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24287,6 +24351,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24729,6 +24794,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25483,6 +25549,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25509,6 +25576,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25535,6 +25603,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25561,6 +25630,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25587,6 +25657,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26575,6 +26646,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26783,6 +26855,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26809,6 +26882,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27823,6 +27897,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node16_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node16_ubuntu-latest.snap.json
index 2bb1f3772..18c72b116 100644
--- a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node16_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node16_ubuntu-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2141,6 +2142,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2168,6 +2170,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2862,6 +2865,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2888,6 +2892,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2914,6 +2919,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2940,6 +2946,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2966,6 +2973,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4916,6 +4924,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5722,6 +5731,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8374,6 +8384,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8400,6 +8411,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8556,6 +8568,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9232,6 +9245,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11260,6 +11274,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13314,6 +13329,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13496,6 +13512,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13522,6 +13539,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13548,6 +13566,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13574,6 +13593,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14406,6 +14426,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16486,6 +16507,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16513,6 +16535,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16539,6 +16562,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16565,6 +16589,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16591,6 +16616,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16617,6 +16643,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17163,6 +17190,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17189,6 +17217,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17215,6 +17244,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17241,6 +17271,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17267,6 +17298,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17403,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17657,6 +17690,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17709,6 +17743,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17865,6 +17900,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17891,6 +17927,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17969,6 +18006,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17995,6 +18033,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18021,6 +18060,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18047,6 +18087,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18073,6 +18114,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18099,6 +18141,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18125,6 +18168,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18151,6 +18195,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18177,6 +18222,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18203,6 +18249,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18541,6 +18588,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19737,6 +19785,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20439,6 +20488,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20595,6 +20645,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20621,6 +20672,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20647,6 +20699,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20673,6 +20726,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23377,6 +23431,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23403,6 +23458,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23429,6 +23485,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23455,6 +23512,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23559,6 +23617,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24157,6 +24216,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24183,6 +24243,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24209,6 +24270,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24235,6 +24297,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24261,6 +24324,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24703,6 +24767,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25457,6 +25522,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25483,6 +25549,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25509,6 +25576,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25535,6 +25603,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25561,6 +25630,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26549,6 +26619,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26757,6 +26828,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26783,6 +26855,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27797,6 +27870,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node16_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node16_windows-latest.snap.json
index 9c06e61ce..ebadb548e 100644
--- a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node16_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node16_windows-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2141,6 +2142,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2168,6 +2170,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2862,6 +2865,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2888,6 +2892,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2914,6 +2919,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2940,6 +2946,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2966,6 +2973,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4916,6 +4924,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5722,6 +5731,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8374,6 +8384,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8400,6 +8411,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8556,6 +8568,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9232,6 +9245,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11260,6 +11274,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13314,6 +13329,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13496,6 +13512,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13522,6 +13539,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13548,6 +13566,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13574,6 +13593,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14406,6 +14426,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16486,6 +16507,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16513,6 +16535,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16539,6 +16562,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16565,6 +16589,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16591,6 +16616,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16617,6 +16643,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17163,6 +17190,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17189,6 +17217,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17215,6 +17244,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17241,6 +17271,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17267,6 +17298,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17403,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17657,6 +17690,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17709,6 +17743,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17865,6 +17900,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17891,6 +17927,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17969,6 +18006,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17995,6 +18033,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18021,6 +18060,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18047,6 +18087,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18073,6 +18114,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18099,6 +18141,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18125,6 +18168,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18151,6 +18195,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18177,6 +18222,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18203,6 +18249,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18541,6 +18588,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19737,6 +19785,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20439,6 +20488,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20595,6 +20645,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20621,6 +20672,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20647,6 +20699,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20673,6 +20726,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23377,6 +23431,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23403,6 +23458,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23429,6 +23485,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23455,6 +23512,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23559,6 +23617,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24157,6 +24216,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24183,6 +24243,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24209,6 +24270,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24235,6 +24297,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24261,6 +24324,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24703,6 +24767,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25457,6 +25522,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25483,6 +25549,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25509,6 +25576,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25535,6 +25603,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25561,6 +25630,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26549,6 +26619,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26757,6 +26828,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26783,6 +26855,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27797,6 +27870,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node18_macos-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node18_macos-latest.snap.json
index 5d1d54a35..5b20b0953 100644
--- a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node18_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node18_macos-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2141,6 +2142,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2168,6 +2170,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2862,6 +2865,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2888,6 +2892,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2914,6 +2919,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2940,6 +2946,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2966,6 +2973,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4916,6 +4924,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5722,6 +5731,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8374,6 +8384,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8400,6 +8411,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8556,6 +8568,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9232,6 +9245,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -10896,6 +10910,7 @@
"name": "fsevents",
"version": "2.3.2",
"bom-ref": "fsevents@2.3.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11286,6 +11301,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13340,6 +13356,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13522,6 +13539,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13548,6 +13566,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13574,6 +13593,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13600,6 +13620,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14432,6 +14453,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16512,6 +16534,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16539,6 +16562,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16565,6 +16589,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16591,6 +16616,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16617,6 +16643,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16643,6 +16670,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17189,6 +17217,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17215,6 +17244,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17241,6 +17271,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17267,6 +17298,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17293,6 +17325,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17430,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17683,6 +17717,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17735,6 +17770,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17891,6 +17927,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17917,6 +17954,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17995,6 +18033,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18021,6 +18060,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18047,6 +18087,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18073,6 +18114,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18099,6 +18141,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18125,6 +18168,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18151,6 +18195,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18177,6 +18222,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18203,6 +18249,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18229,6 +18276,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18567,6 +18615,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19763,6 +19812,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20465,6 +20515,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20621,6 +20672,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20647,6 +20699,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20673,6 +20726,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20699,6 +20753,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23403,6 +23458,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23429,6 +23485,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23455,6 +23512,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23481,6 +23539,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23585,6 +23644,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24183,6 +24243,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24209,6 +24270,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24235,6 +24297,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24261,6 +24324,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24287,6 +24351,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24729,6 +24794,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25483,6 +25549,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25509,6 +25576,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25535,6 +25603,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25561,6 +25630,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25587,6 +25657,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26575,6 +26646,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26783,6 +26855,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26809,6 +26882,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27823,6 +27897,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node18_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node18_ubuntu-latest.snap.json
index 2bb1f3772..18c72b116 100644
--- a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node18_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node18_ubuntu-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2141,6 +2142,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2168,6 +2170,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2862,6 +2865,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2888,6 +2892,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2914,6 +2919,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2940,6 +2946,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2966,6 +2973,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4916,6 +4924,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5722,6 +5731,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8374,6 +8384,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8400,6 +8411,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8556,6 +8568,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9232,6 +9245,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11260,6 +11274,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13314,6 +13329,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13496,6 +13512,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13522,6 +13539,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13548,6 +13566,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13574,6 +13593,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14406,6 +14426,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16486,6 +16507,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16513,6 +16535,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16539,6 +16562,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16565,6 +16589,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16591,6 +16616,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16617,6 +16643,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17163,6 +17190,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17189,6 +17217,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17215,6 +17244,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17241,6 +17271,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17267,6 +17298,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17403,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17657,6 +17690,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17709,6 +17743,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17865,6 +17900,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17891,6 +17927,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17969,6 +18006,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17995,6 +18033,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18021,6 +18060,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18047,6 +18087,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18073,6 +18114,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18099,6 +18141,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18125,6 +18168,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18151,6 +18195,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18177,6 +18222,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18203,6 +18249,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18541,6 +18588,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19737,6 +19785,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20439,6 +20488,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20595,6 +20645,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20621,6 +20672,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20647,6 +20699,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20673,6 +20726,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23377,6 +23431,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23403,6 +23458,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23429,6 +23485,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23455,6 +23512,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23559,6 +23617,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24157,6 +24216,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24183,6 +24243,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24209,6 +24270,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24235,6 +24297,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24261,6 +24324,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24703,6 +24767,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25457,6 +25522,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25483,6 +25549,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25509,6 +25576,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25535,6 +25603,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25561,6 +25630,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26549,6 +26619,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26757,6 +26828,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26783,6 +26855,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27797,6 +27870,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node18_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node18_windows-latest.snap.json
index 9c06e61ce..ebadb548e 100644
--- a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node18_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm8_node18_windows-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2141,6 +2142,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2168,6 +2170,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2862,6 +2865,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2888,6 +2892,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2914,6 +2919,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2940,6 +2946,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2966,6 +2973,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4916,6 +4924,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5722,6 +5731,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8374,6 +8384,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8400,6 +8411,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8556,6 +8568,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9232,6 +9245,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11260,6 +11274,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13314,6 +13329,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13496,6 +13512,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13522,6 +13539,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13548,6 +13566,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13574,6 +13593,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14406,6 +14426,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16486,6 +16507,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16513,6 +16535,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16539,6 +16562,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16565,6 +16589,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16591,6 +16616,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16617,6 +16643,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17163,6 +17190,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17189,6 +17217,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17215,6 +17244,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17241,6 +17271,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17267,6 +17298,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17403,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17657,6 +17690,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17709,6 +17743,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17865,6 +17900,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17891,6 +17927,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17969,6 +18006,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17995,6 +18033,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18021,6 +18060,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18047,6 +18087,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18073,6 +18114,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18099,6 +18141,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18125,6 +18168,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18151,6 +18195,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18177,6 +18222,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18203,6 +18249,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18541,6 +18588,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19737,6 +19785,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20439,6 +20488,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20595,6 +20645,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20621,6 +20672,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20647,6 +20699,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20673,6 +20726,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23377,6 +23431,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23403,6 +23458,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23429,6 +23485,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23455,6 +23512,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23559,6 +23617,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24157,6 +24216,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24183,6 +24243,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24209,6 +24270,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24235,6 +24297,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24261,6 +24324,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24703,6 +24767,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25457,6 +25522,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25483,6 +25549,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25509,6 +25576,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25535,6 +25603,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25561,6 +25630,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26549,6 +26619,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26757,6 +26828,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26783,6 +26855,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27797,6 +27870,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node16_macos-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node16_macos-latest.snap.json
index 5d1d54a35..5b20b0953 100644
--- a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node16_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node16_macos-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2141,6 +2142,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2168,6 +2170,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2862,6 +2865,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2888,6 +2892,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2914,6 +2919,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2940,6 +2946,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2966,6 +2973,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4916,6 +4924,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5722,6 +5731,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8374,6 +8384,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8400,6 +8411,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8556,6 +8568,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9232,6 +9245,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -10896,6 +10910,7 @@
"name": "fsevents",
"version": "2.3.2",
"bom-ref": "fsevents@2.3.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11286,6 +11301,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13340,6 +13356,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13522,6 +13539,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13548,6 +13566,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13574,6 +13593,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13600,6 +13620,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14432,6 +14453,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16512,6 +16534,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16539,6 +16562,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16565,6 +16589,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16591,6 +16616,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16617,6 +16643,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16643,6 +16670,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17189,6 +17217,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17215,6 +17244,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17241,6 +17271,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17267,6 +17298,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17293,6 +17325,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17430,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17683,6 +17717,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17735,6 +17770,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17891,6 +17927,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17917,6 +17954,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17995,6 +18033,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18021,6 +18060,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18047,6 +18087,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18073,6 +18114,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18099,6 +18141,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18125,6 +18168,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18151,6 +18195,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18177,6 +18222,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18203,6 +18249,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18229,6 +18276,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18567,6 +18615,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19763,6 +19812,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20465,6 +20515,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20621,6 +20672,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20647,6 +20699,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20673,6 +20726,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20699,6 +20753,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23403,6 +23458,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23429,6 +23485,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23455,6 +23512,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23481,6 +23539,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23585,6 +23644,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24183,6 +24243,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24209,6 +24270,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24235,6 +24297,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24261,6 +24324,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24287,6 +24351,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24729,6 +24794,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25483,6 +25549,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25509,6 +25576,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25535,6 +25603,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25561,6 +25630,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25587,6 +25657,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26575,6 +26646,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26783,6 +26855,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26809,6 +26882,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27823,6 +27897,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node16_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node16_ubuntu-latest.snap.json
index 2bb1f3772..18c72b116 100644
--- a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node16_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node16_ubuntu-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2141,6 +2142,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2168,6 +2170,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2862,6 +2865,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2888,6 +2892,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2914,6 +2919,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2940,6 +2946,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2966,6 +2973,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4916,6 +4924,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5722,6 +5731,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8374,6 +8384,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8400,6 +8411,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8556,6 +8568,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9232,6 +9245,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11260,6 +11274,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13314,6 +13329,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13496,6 +13512,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13522,6 +13539,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13548,6 +13566,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13574,6 +13593,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14406,6 +14426,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16486,6 +16507,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16513,6 +16535,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16539,6 +16562,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16565,6 +16589,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16591,6 +16616,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16617,6 +16643,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17163,6 +17190,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17189,6 +17217,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17215,6 +17244,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17241,6 +17271,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17267,6 +17298,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17403,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17657,6 +17690,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17709,6 +17743,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17865,6 +17900,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17891,6 +17927,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17969,6 +18006,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17995,6 +18033,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18021,6 +18060,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18047,6 +18087,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18073,6 +18114,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18099,6 +18141,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18125,6 +18168,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18151,6 +18195,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18177,6 +18222,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18203,6 +18249,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18541,6 +18588,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19737,6 +19785,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20439,6 +20488,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20595,6 +20645,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20621,6 +20672,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20647,6 +20699,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20673,6 +20726,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23377,6 +23431,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23403,6 +23458,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23429,6 +23485,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23455,6 +23512,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23559,6 +23617,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24157,6 +24216,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24183,6 +24243,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24209,6 +24270,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24235,6 +24297,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24261,6 +24324,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24703,6 +24767,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25457,6 +25522,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25483,6 +25549,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25509,6 +25576,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25535,6 +25603,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25561,6 +25630,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26549,6 +26619,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26757,6 +26828,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26783,6 +26855,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27797,6 +27870,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node16_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node16_windows-latest.snap.json
index 9c06e61ce..ebadb548e 100644
--- a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node16_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node16_windows-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2141,6 +2142,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2168,6 +2170,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2862,6 +2865,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2888,6 +2892,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2914,6 +2919,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2940,6 +2946,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2966,6 +2973,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4916,6 +4924,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5722,6 +5731,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8374,6 +8384,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8400,6 +8411,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8556,6 +8568,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9232,6 +9245,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11260,6 +11274,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13314,6 +13329,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13496,6 +13512,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13522,6 +13539,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13548,6 +13566,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13574,6 +13593,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14406,6 +14426,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16486,6 +16507,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16513,6 +16535,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16539,6 +16562,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16565,6 +16589,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16591,6 +16616,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16617,6 +16643,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17163,6 +17190,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17189,6 +17217,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17215,6 +17244,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17241,6 +17271,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17267,6 +17298,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17403,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17657,6 +17690,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17709,6 +17743,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17865,6 +17900,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17891,6 +17927,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17969,6 +18006,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17995,6 +18033,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18021,6 +18060,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18047,6 +18087,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18073,6 +18114,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18099,6 +18141,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18125,6 +18168,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18151,6 +18195,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18177,6 +18222,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18203,6 +18249,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18541,6 +18588,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19737,6 +19785,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20439,6 +20488,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20595,6 +20645,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20621,6 +20672,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20647,6 +20699,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20673,6 +20726,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23377,6 +23431,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23403,6 +23458,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23429,6 +23485,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23455,6 +23512,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23559,6 +23617,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24157,6 +24216,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24183,6 +24243,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24209,6 +24270,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24235,6 +24297,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24261,6 +24324,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24703,6 +24767,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25457,6 +25522,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25483,6 +25549,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25509,6 +25576,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25535,6 +25603,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25561,6 +25630,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26549,6 +26619,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26757,6 +26828,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26783,6 +26855,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27797,6 +27870,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node18_macos-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node18_macos-latest.snap.json
index 5d1d54a35..5b20b0953 100644
--- a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node18_macos-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node18_macos-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2141,6 +2142,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2168,6 +2170,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2862,6 +2865,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2888,6 +2892,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2914,6 +2919,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2940,6 +2946,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2966,6 +2973,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4916,6 +4924,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5722,6 +5731,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8374,6 +8384,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8400,6 +8411,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8556,6 +8568,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9232,6 +9245,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -10896,6 +10910,7 @@
"name": "fsevents",
"version": "2.3.2",
"bom-ref": "fsevents@2.3.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11286,6 +11301,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13340,6 +13356,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13522,6 +13539,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13548,6 +13566,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13574,6 +13593,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13600,6 +13620,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14432,6 +14453,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16512,6 +16534,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16539,6 +16562,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16565,6 +16589,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16591,6 +16616,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16617,6 +16643,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16643,6 +16670,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17189,6 +17217,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17215,6 +17244,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17241,6 +17271,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17267,6 +17298,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17293,6 +17325,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17397,6 +17430,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17683,6 +17717,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17735,6 +17770,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17891,6 +17927,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17917,6 +17954,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17995,6 +18033,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18021,6 +18060,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18047,6 +18087,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18073,6 +18114,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18099,6 +18141,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18125,6 +18168,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18151,6 +18195,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18177,6 +18222,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18203,6 +18249,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18229,6 +18276,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18567,6 +18615,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19763,6 +19812,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20465,6 +20515,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20621,6 +20672,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20647,6 +20699,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20673,6 +20726,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20699,6 +20753,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23403,6 +23458,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23429,6 +23485,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23455,6 +23512,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23481,6 +23539,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23585,6 +23644,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24183,6 +24243,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24209,6 +24270,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24235,6 +24297,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24261,6 +24324,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24287,6 +24351,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24729,6 +24794,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25483,6 +25549,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25509,6 +25576,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25535,6 +25603,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25561,6 +25630,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25587,6 +25657,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26575,6 +26646,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26783,6 +26855,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26809,6 +26882,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27823,6 +27897,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node18_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node18_ubuntu-latest.snap.json
index 2bb1f3772..18c72b116 100644
--- a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node18_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node18_ubuntu-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2141,6 +2142,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2168,6 +2170,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2862,6 +2865,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2888,6 +2892,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2914,6 +2919,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2940,6 +2946,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2966,6 +2973,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4916,6 +4924,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5722,6 +5731,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8374,6 +8384,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8400,6 +8411,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8556,6 +8568,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9232,6 +9245,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11260,6 +11274,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13314,6 +13329,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13496,6 +13512,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13522,6 +13539,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13548,6 +13566,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13574,6 +13593,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14406,6 +14426,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16486,6 +16507,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16513,6 +16535,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16539,6 +16562,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16565,6 +16589,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16591,6 +16616,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16617,6 +16643,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17163,6 +17190,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17189,6 +17217,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17215,6 +17244,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17241,6 +17271,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17267,6 +17298,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17403,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17657,6 +17690,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17709,6 +17743,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17865,6 +17900,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17891,6 +17927,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17969,6 +18006,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17995,6 +18033,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18021,6 +18060,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18047,6 +18087,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18073,6 +18114,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18099,6 +18141,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18125,6 +18168,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18151,6 +18195,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18177,6 +18222,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18203,6 +18249,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18541,6 +18588,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19737,6 +19785,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20439,6 +20488,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20595,6 +20645,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20621,6 +20672,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20647,6 +20699,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20673,6 +20726,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23377,6 +23431,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23403,6 +23458,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23429,6 +23485,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23455,6 +23512,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23559,6 +23617,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24157,6 +24216,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24183,6 +24243,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24209,6 +24270,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24235,6 +24297,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24261,6 +24324,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24703,6 +24767,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25457,6 +25522,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25483,6 +25549,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25509,6 +25576,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25535,6 +25603,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25561,6 +25630,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26549,6 +26619,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26757,6 +26828,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26783,6 +26855,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27797,6 +27870,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node18_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node18_windows-latest.snap.json
index 9c06e61ce..ebadb548e 100644
--- a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node18_windows-latest.snap.json
+++ b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm9_node18_windows-latest.snap.json
@@ -263,6 +263,7 @@
"group": "@gar",
"version": "1.1.3",
"bom-ref": "@gar/promisify@1.1.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2141,6 +2142,7 @@
"group": "@npmcli",
"version": "1.1.1",
"bom-ref": "@npmcli/fs@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2168,6 +2170,7 @@
"group": "@npmcli",
"version": "1.1.2",
"bom-ref": "@npmcli/move-file@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2862,6 +2865,7 @@
"name": "agentkeepalive",
"version": "4.2.1",
"bom-ref": "agentkeepalive@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2888,6 +2892,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "agentkeepalive@4.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2914,6 +2919,7 @@
"name": "depd",
"version": "1.1.2",
"bom-ref": "agentkeepalive@4.2.1|depd@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2940,6 +2946,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "agentkeepalive@4.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -2966,6 +2973,7 @@
"name": "aggregate-error",
"version": "3.1.0",
"bom-ref": "aggregate-error@3.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -4916,6 +4924,7 @@
"name": "cacache",
"version": "15.3.0",
"bom-ref": "cacache@15.3.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -5722,6 +5731,7 @@
"name": "clean-stack",
"version": "2.2.0",
"bom-ref": "clean-stack@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8374,6 +8384,7 @@
"name": "encoding",
"version": "0.1.13",
"bom-ref": "encoding@0.1.13",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8400,6 +8411,7 @@
"name": "iconv-lite",
"version": "0.6.3",
"bom-ref": "encoding@0.1.13|iconv-lite@0.6.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -8556,6 +8568,7 @@
"name": "env-paths",
"version": "2.2.1",
"bom-ref": "env-paths@2.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -9232,6 +9245,7 @@
"name": "expand-template",
"version": "2.0.3",
"bom-ref": "expand-template@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -11260,6 +11274,7 @@
"name": "github-from-package",
"version": "0.0.0",
"bom-ref": "github-from-package@0.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13314,6 +13329,7 @@
"name": "humanize-ms",
"version": "1.2.1",
"bom-ref": "humanize-ms@1.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13496,6 +13512,7 @@
"name": "iltorb",
"version": "2.4.5",
"bom-ref": "iltorb@2.4.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13522,6 +13539,7 @@
"name": "imurmurhash",
"version": "0.1.4",
"bom-ref": "imurmurhash@0.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13548,6 +13566,7 @@
"name": "indent-string",
"version": "4.0.0",
"bom-ref": "indent-string@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -13574,6 +13593,7 @@
"name": "infer-owner",
"version": "1.0.4",
"bom-ref": "infer-owner@1.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -14406,6 +14426,7 @@
"name": "is-lambda",
"version": "1.0.1",
"bom-ref": "is-lambda@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16486,6 +16507,7 @@
"name": "make-fetch-happen",
"version": "9.1.0",
"bom-ref": "make-fetch-happen@9.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16513,6 +16535,7 @@
"group": "@tootallnate",
"version": "1.1.2",
"bom-ref": "make-fetch-happen@9.1.0|@tootallnate/once@1.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16539,6 +16562,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "make-fetch-happen@9.1.0|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16565,6 +16589,7 @@
"name": "http-cache-semantics",
"version": "4.1.0",
"bom-ref": "make-fetch-happen@9.1.0|http-cache-semantics@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16591,6 +16616,7 @@
"name": "http-proxy-agent",
"version": "4.0.1",
"bom-ref": "make-fetch-happen@9.1.0|http-proxy-agent@4.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -16617,6 +16643,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "make-fetch-happen@9.1.0|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17163,6 +17190,7 @@
"name": "minipass-collect",
"version": "1.0.2",
"bom-ref": "minipass-collect@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17189,6 +17217,7 @@
"name": "minipass-fetch",
"version": "1.4.1",
"bom-ref": "minipass-fetch@1.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17215,6 +17244,7 @@
"name": "minipass-flush",
"version": "1.0.5",
"bom-ref": "minipass-flush@1.0.5",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17241,6 +17271,7 @@
"name": "minipass-pipeline",
"version": "1.2.4",
"bom-ref": "minipass-pipeline@1.2.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17267,6 +17298,7 @@
"name": "minipass-sized",
"version": "1.0.3",
"bom-ref": "minipass-sized@1.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17371,6 +17403,7 @@
"name": "mkdirp-classic",
"version": "0.5.3",
"bom-ref": "mkdirp-classic@0.5.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17657,6 +17690,7 @@
"name": "nan",
"version": "2.17.0",
"bom-ref": "nan@2.17.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17709,6 +17743,7 @@
"name": "napi-build-utils",
"version": "1.0.2",
"bom-ref": "napi-build-utils@1.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17865,6 +17900,7 @@
"name": "node-abi",
"version": "2.30.1",
"bom-ref": "node-abi@2.30.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17891,6 +17927,7 @@
"name": "semver",
"version": "5.7.1",
"bom-ref": "node-abi@2.30.1|semver@5.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17969,6 +18006,7 @@
"name": "node-gyp",
"version": "8.4.1",
"bom-ref": "node-gyp@8.4.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -17995,6 +18033,7 @@
"name": "ansi-regex",
"version": "5.0.1",
"bom-ref": "node-gyp@8.4.1|ansi-regex@5.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18021,6 +18060,7 @@
"name": "are-we-there-yet",
"version": "3.0.1",
"bom-ref": "node-gyp@8.4.1|are-we-there-yet@3.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18047,6 +18087,7 @@
"name": "gauge",
"version": "4.0.4",
"bom-ref": "node-gyp@8.4.1|gauge@4.0.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18073,6 +18114,7 @@
"name": "is-fullwidth-code-point",
"version": "3.0.0",
"bom-ref": "node-gyp@8.4.1|is-fullwidth-code-point@3.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18099,6 +18141,7 @@
"name": "nopt",
"version": "5.0.0",
"bom-ref": "node-gyp@8.4.1|nopt@5.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18125,6 +18168,7 @@
"name": "npmlog",
"version": "6.0.2",
"bom-ref": "node-gyp@8.4.1|npmlog@6.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18151,6 +18195,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "node-gyp@8.4.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18177,6 +18222,7 @@
"name": "string-width",
"version": "4.2.3",
"bom-ref": "node-gyp@8.4.1|string-width@4.2.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18203,6 +18249,7 @@
"name": "strip-ansi",
"version": "6.0.1",
"bom-ref": "node-gyp@8.4.1|strip-ansi@6.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -18541,6 +18588,7 @@
"name": "noop-logger",
"version": "0.1.1",
"bom-ref": "noop-logger@0.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -19737,6 +19785,7 @@
"name": "p-map",
"version": "4.0.0",
"bom-ref": "p-map@4.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20439,6 +20488,7 @@
"name": "prebuild-install",
"version": "5.3.6",
"bom-ref": "prebuild-install@5.3.6",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20595,6 +20645,7 @@
"name": "promise-inflight",
"version": "1.0.1",
"bom-ref": "promise-inflight@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20621,6 +20672,7 @@
"name": "promise-retry",
"version": "2.0.1",
"bom-ref": "promise-retry@2.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20647,6 +20699,7 @@
"name": "err-code",
"version": "2.0.3",
"bom-ref": "promise-retry@2.0.1|err-code@2.0.3",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -20673,6 +20726,7 @@
"name": "retry",
"version": "0.12.0",
"bom-ref": "promise-retry@2.0.1|retry@0.12.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23377,6 +23431,7 @@
"name": "simple-concat",
"version": "1.0.1",
"bom-ref": "simple-concat@1.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23403,6 +23458,7 @@
"name": "simple-get",
"version": "3.1.1",
"bom-ref": "simple-get@3.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23429,6 +23485,7 @@
"name": "decompress-response",
"version": "4.2.1",
"bom-ref": "simple-get@3.1.1|decompress-response@4.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23455,6 +23512,7 @@
"name": "mimic-response",
"version": "2.1.0",
"bom-ref": "simple-get@3.1.1|mimic-response@2.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -23559,6 +23617,7 @@
"name": "smart-buffer",
"version": "4.2.0",
"bom-ref": "smart-buffer@4.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24157,6 +24216,7 @@
"name": "socks-proxy-agent",
"version": "6.2.1",
"bom-ref": "socks-proxy-agent@6.2.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24183,6 +24243,7 @@
"name": "debug",
"version": "4.3.4",
"bom-ref": "socks-proxy-agent@6.2.1|debug@4.3.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24209,6 +24270,7 @@
"name": "ms",
"version": "2.1.2",
"bom-ref": "socks-proxy-agent@6.2.1|ms@2.1.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24235,6 +24297,7 @@
"name": "socks",
"version": "2.7.1",
"bom-ref": "socks@2.7.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24261,6 +24324,7 @@
"name": "ip",
"version": "2.0.0",
"bom-ref": "socks@2.7.1|ip@2.0.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -24703,6 +24767,7 @@
"name": "ssri",
"version": "8.0.1",
"bom-ref": "ssri@8.0.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25457,6 +25522,7 @@
"name": "tar-fs",
"version": "2.1.1",
"bom-ref": "tar-fs@2.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25483,6 +25549,7 @@
"name": "bl",
"version": "4.1.0",
"bom-ref": "tar-fs@2.1.1|bl@4.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25509,6 +25576,7 @@
"name": "chownr",
"version": "1.1.4",
"bom-ref": "tar-fs@2.1.1|chownr@1.1.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25535,6 +25603,7 @@
"name": "readable-stream",
"version": "3.6.0",
"bom-ref": "tar-fs@2.1.1|readable-stream@3.6.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -25561,6 +25630,7 @@
"name": "tar-stream",
"version": "2.2.0",
"bom-ref": "tar-fs@2.1.1|tar-stream@2.2.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26549,6 +26619,7 @@
"name": "uglify-js",
"version": "3.17.4",
"bom-ref": "uglify-js@3.17.4",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26757,6 +26828,7 @@
"name": "unique-filename",
"version": "1.1.1",
"bom-ref": "unique-filename@1.1.1",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -26783,6 +26855,7 @@
"name": "unique-slug",
"version": "2.0.2",
"bom-ref": "unique-slug@2.0.2",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
@@ -27797,6 +27870,7 @@
"name": "which-pm-runs",
"version": "1.1.0",
"bom-ref": "which-pm-runs@1.1.0",
+ "scope": "optional",
"hashes": [
{
"alg": "SHA-512",
diff --git a/tests/_data/sbom_demo-results/suppressed-error-on-non-zero-exit/dev-dependencies_npm8_node16_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/suppressed-error-on-non-zero-exit/dev-dependencies_npm8_node16_ubuntu-latest.snap.json
index 205a7b432..f5c64e261 100644
--- a/tests/_data/sbom_demo-results/suppressed-error-on-non-zero-exit/dev-dependencies_npm8_node16_ubuntu-latest.snap.json
+++ b/tests/_data/sbom_demo-results/suppressed-error-on-non-zero-exit/dev-dependencies_npm8_node16_ubuntu-latest.snap.json
@@ -81,18 +81,18 @@
"type": "library",
"name": "node",
"group": "@types",
- "version": "18.11.9",
- "bom-ref": "@types/node@18.11.9",
+ "version": "18.15.11",
+ "bom-ref": "@types/node@18.15.11",
"hashes": [
{
"alg": "SHA-512",
- "content": "091a57db5fe419dce33a916c65291cad730620158c18d2075d70551521fe82091fb7183e5d83f6d131126e1fb316f163dc440e9796f29341d3467d482fa85baa"
+ "content": "1392b0ab69f849b33340e9fac279818ee2bda2eaa5511adc64355f6e8f5fb430d316dde793b64a2b818c3b3a18827a5024a731c10c3e946681bef94ca34a8dfd"
}
],
- "purl": "pkg:npm/%40types/node@18.11.9",
+ "purl": "pkg:npm/%40types/node@18.15.11",
"externalReferences": [
{
- "url": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "url": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
"type": "distribution",
"comment": "as detected from npm-ls property \"resolved\""
}
@@ -107,16 +107,122 @@
"value": "node_modules/@types/node"
}
]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "group": "@types",
+ "version": "8.3.4",
+ "bom-ref": "@types/uuid@8.3.4",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "73f23c6516f9d63fa960602ee42ac5311c6a67691ee32da0ac404ee4052381291293ea93d846be39d584973fce88c7f930da67d9bd7b92e541c192d0257ce287"
+ }
+ ],
+ "purl": "pkg:npm/%40types/uuid@8.3.4",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/@types/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuid",
+ "version": "8.3.2",
+ "bom-ref": "uuid@8.3.2",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "f8d62cd9078c5b2f865853849bdc679fa1c20e9d25ed0043ee697cccb52627ef77439345d0da1c12b9f09139175453625f7fdfa42e9a7d2f0385bfe0cfb47b7a"
+ }
+ ],
+ "purl": "pkg:npm/uuid@8.3.2",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:development",
+ "value": "true"
+ },
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuid"
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "uuidv4",
+ "version": "6.2.13",
+ "bom-ref": "uuidv4@6.2.13",
+ "scope": "optional",
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "017cb33236b3601de8bcbdead39d552c7d3a2318fffca9f1ed09d44a2d53fff21ede2a3a0a9b0fbbd9d530ec793282d687ac55d01f49d2121ac6e9e0c5751b3d"
+ }
+ ],
+ "purl": "pkg:npm/uuidv4@6.2.13",
+ "externalReferences": [
+ {
+ "url": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz",
+ "type": "distribution",
+ "comment": "as detected from npm-ls property \"resolved\""
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/uuidv4"
+ }
+ ]
}
],
"dependencies": [
{
- "ref": "@types/node@18.11.9"
+ "ref": "@types/node@18.15.11"
+ },
+ {
+ "ref": "@types/uuid@8.3.4"
},
{
"ref": "demo-dev-dependencies@0.0.0",
"dependsOn": [
- "@types/node@18.11.9"
+ "@types/node@18.15.11",
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2",
+ "uuidv4@6.2.13"
+ ]
+ },
+ {
+ "ref": "uuid@8.3.2"
+ },
+ {
+ "ref": "uuidv4@6.2.13",
+ "dependsOn": [
+ "@types/uuid@8.3.4",
+ "uuid@8.3.2"
]
}
]