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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 | [![npm](https://img.shields.io/npm/v/uuidv4)](https://www.npmjs.com/package/uuidv4) |\n| Dependencies | ![David](https://img.shields.io/david/thenativeweb/uuidv4) |\n| Dev dependencies | ![David](https://img.shields.io/david/dev/thenativeweb/uuidv4) |\n| Build | ![GitHub Actions](https://github.com/thenativeweb/uuidv4/workflows/Release/badge.svg?branch=main) |\n| License | ![GitHub](https://img.shields.io/github/license/thenativeweb/uuidv4) |\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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 | [![npm](https://img.shields.io/npm/v/uuidv4)](https://www.npmjs.com/package/uuidv4) |\n| Dependencies | ![David](https://img.shields.io/david/thenativeweb/uuidv4) |\n| Dev dependencies | ![David](https://img.shields.io/david/dev/thenativeweb/uuidv4) |\n| Build | ![GitHub Actions](https://github.com/thenativeweb/uuidv4/workflows/Release/badge.svg?branch=main) |\n| License | ![GitHub](https://img.shields.io/github/license/thenativeweb/uuidv4) |\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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 | [![npm](https://img.shields.io/npm/v/uuidv4)](https://www.npmjs.com/package/uuidv4) |\n| Dependencies | ![David](https://img.shields.io/david/thenativeweb/uuidv4) |\n| Dev dependencies | ![David](https://img.shields.io/david/dev/thenativeweb/uuidv4) |\n| Build | ![GitHub Actions](https://github.com/thenativeweb/uuidv4/workflows/Release/badge.svg?branch=main) |\n| License | ![GitHub](https://img.shields.io/github/license/thenativeweb/uuidv4) |\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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 | [![npm](https://img.shields.io/npm/v/uuidv4)](https://www.npmjs.com/package/uuidv4) |\n| Dependencies | ![David](https://img.shields.io/david/thenativeweb/uuidv4) |\n| Dev dependencies | ![David](https://img.shields.io/david/dev/thenativeweb/uuidv4) |\n| Build | ![GitHub Actions](https://github.com/thenativeweb/uuidv4/workflows/Release/badge.svg?branch=main) |\n| License | ![GitHub](https://img.shields.io/github/license/thenativeweb/uuidv4) |\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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 | [![npm](https://img.shields.io/npm/v/uuidv4)](https://www.npmjs.com/package/uuidv4) |\n| Dependencies | ![David](https://img.shields.io/david/thenativeweb/uuidv4) |\n| Dev dependencies | ![David](https://img.shields.io/david/dev/thenativeweb/uuidv4) |\n| Build | ![GitHub Actions](https://github.com/thenativeweb/uuidv4/workflows/Release/badge.svg?branch=main) |\n| License | ![GitHub](https://img.shields.io/github/license/thenativeweb/uuidv4) |\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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 | [![npm](https://img.shields.io/npm/v/uuidv4)](https://www.npmjs.com/package/uuidv4) |\n| Dependencies | ![David](https://img.shields.io/david/thenativeweb/uuidv4) |\n| Dev dependencies | ![David](https://img.shields.io/david/dev/thenativeweb/uuidv4) |\n| Build | ![GitHub Actions](https://github.com/thenativeweb/uuidv4/workflows/Release/badge.svg?branch=main) |\n| License | ![GitHub](https://img.shields.io/github/license/thenativeweb/uuidv4) |\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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 | [![npm](https://img.shields.io/npm/v/uuidv4)](https://www.npmjs.com/package/uuidv4) |\n| Dependencies | ![David](https://img.shields.io/david/thenativeweb/uuidv4) |\n| Dev dependencies | ![David](https://img.shields.io/david/dev/thenativeweb/uuidv4) |\n| Build | ![GitHub Actions](https://github.com/thenativeweb/uuidv4/workflows/Release/badge.svg?branch=main) |\n| License | ![GitHub](https://img.shields.io/github/license/thenativeweb/uuidv4) |\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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 | [![npm](https://img.shields.io/npm/v/uuidv4)](https://www.npmjs.com/package/uuidv4) |\n| Dependencies | ![David](https://img.shields.io/david/thenativeweb/uuidv4) |\n| Dev dependencies | ![David](https://img.shields.io/david/dev/thenativeweb/uuidv4) |\n| Build | ![GitHub Actions](https://github.com/thenativeweb/uuidv4/workflows/Release/badge.svg?branch=main) |\n| License | ![GitHub](https://img.shields.io/github/license/thenativeweb/uuidv4) |\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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 | [![npm](https://img.shields.io/npm/v/uuidv4)](https://www.npmjs.com/package/uuidv4) |\n| Dependencies | ![David](https://img.shields.io/david/thenativeweb/uuidv4) |\n| Dev dependencies | ![David](https://img.shields.io/david/dev/thenativeweb/uuidv4) |\n| Build | ![GitHub Actions](https://github.com/thenativeweb/uuidv4/workflows/Release/badge.svg?branch=main) |\n| License | ![GitHub](https://img.shields.io/github/license/thenativeweb/uuidv4) |\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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 | [![npm](https://img.shields.io/npm/v/uuidv4)](https://www.npmjs.com/package/uuidv4) |\n| Dependencies | ![David](https://img.shields.io/david/thenativeweb/uuidv4) |\n| Dev dependencies | ![David](https://img.shields.io/david/dev/thenativeweb/uuidv4) |\n| Build | ![GitHub Actions](https://github.com/thenativeweb/uuidv4/workflows/Release/badge.svg?branch=main) |\n| License | ![GitHub](https://img.shields.io/github/license/thenativeweb/uuidv4) |\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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 | [![npm](https://img.shields.io/npm/v/uuidv4)](https://www.npmjs.com/package/uuidv4) |\n| Dependencies | ![David](https://img.shields.io/david/thenativeweb/uuidv4) |\n| Dev dependencies | ![David](https://img.shields.io/david/dev/thenativeweb/uuidv4) |\n| Build | ![GitHub Actions](https://github.com/thenativeweb/uuidv4/workflows/Release/badge.svg?branch=main) |\n| License | ![GitHub](https://img.shields.io/github/license/thenativeweb/uuidv4) |\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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 [![CI](https://github.com/uuidjs/uuid/workflows/CI/badge.svg)](https://github.com/uuidjs/uuid/actions?query=workflow%3ACI) [![Browser](https://github.com/uuidjs/uuid/workflows/Browser/badge.svg)](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 [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](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 | [![npm](https://img.shields.io/npm/v/uuidv4)](https://www.npmjs.com/package/uuidv4) |\n| Dependencies | ![David](https://img.shields.io/david/thenativeweb/uuidv4) |\n| Dev dependencies | ![David](https://img.shields.io/david/dev/thenativeweb/uuidv4) |\n| Build | ![GitHub Actions](https://github.com/thenativeweb/uuidv4/workflows/Release/badge.svg?branch=main) |\n| License | ![GitHub](https://img.shields.io/github/license/thenativeweb/uuidv4) |\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" ] } ]