From 899cae3f84e0142aa6181163461924339aa535d2 Mon Sep 17 00:00:00 2001 From: Jan Kowalleck Date: Tue, 24 Dec 2024 15:34:12 +0100 Subject: [PATCH] tests Signed-off-by: Jan Kowalleck --- ...gistry_npm11_node20_macos-latest.snap.json | 127 +++++++++++------- ...istry_npm11_node20_ubuntu-latest.snap.json | 127 +++++++++++------- ...stry_npm11_node20_windows-latest.snap.json | 127 +++++++++++------- ...stry_npm11_node22_windows-latest.snap.json | 127 +++++++++++------- ...encies_npm11_node20_macos-latest.snap.json | 125 ++++++++++------- ...ncies_npm11_node20_ubuntu-latest.snap.json | 125 ++++++++++------- ...cies_npm11_node20_windows-latest.snap.json | 125 ++++++++++------- ...cies_npm11_node22_windows-latest.snap.json | 125 ++++++++++------- ...encies_npm11_node20_macos-latest.snap.json | 125 ++++++++++------- ...ncies_npm11_node20_ubuntu-latest.snap.json | 125 ++++++++++------- ...cies_npm11_node20_windows-latest.snap.json | 125 ++++++++++------- ...cies_npm11_node22_windows-latest.snap.json | 125 ++++++++++------- ...e-shop_npm11_node20_macos-latest.snap.json | 125 ++++++++++------- ...-shop_npm11_node20_ubuntu-latest.snap.json | 125 ++++++++++------- ...shop_npm11_node20_windows-latest.snap.json | 125 ++++++++++------- ...egrity_npm11_node20_macos-latest.snap.json | 125 ++++++++++------- ...grity_npm11_node20_ubuntu-latest.snap.json | 125 ++++++++++------- ...rity_npm11_node20_windows-latest.snap.json | 125 ++++++++++------- ...rity_npm11_node22_windows-latest.snap.json | 125 ++++++++++------- ...ild-id_npm11_node20_macos-latest.snap.json | 125 ++++++++++------- ...ld-id_npm11_node20_ubuntu-latest.snap.json | 125 ++++++++++------- ...d-id_npm11_node20_windows-latest.snap.json | 125 ++++++++++------- ...d-id_npm11_node22_windows-latest.snap.json | 125 ++++++++++------- ...encies_npm11_node20_macos-latest.snap.json | 125 ++++++++++------- ...ncies_npm11_node20_ubuntu-latest.snap.json | 125 ++++++++++------- ...cies_npm11_node20_windows-latest.snap.json | 125 ++++++++++------- ...cies_npm11_node22_windows-latest.snap.json | 125 ++++++++++------- ...e-shop_npm11_node20_macos-latest.snap.json | 125 ++++++++++------- ...-shop_npm11_node20_ubuntu-latest.snap.json | 125 ++++++++++------- ...shop_npm11_node20_windows-latest.snap.json | 125 ++++++++++------- 30 files changed, 2224 insertions(+), 1534 deletions(-) diff --git a/tests/_data/sbom_demo-results/bare/alternative-package-registry_npm11_node20_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/alternative-package-registry_npm11_node20_macos-latest.snap.json index 80d807eea..190710d52 100644 --- a/tests/_data/sbom_demo-results/bare/alternative-package-registry_npm11_node20_macos-latest.snap.json +++ b/tests/_data/sbom_demo-results/bare/alternative-package-registry_npm11_node20_macos-latest.snap.json @@ -4,56 +4,79 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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-alternative-package-registry", @@ -68,7 +91,7 @@ } } ], - "purl": "pkg:npm/demo-alternative-package-registry@0.0.0?vcs_url=git%2Bssh%3A//git%40github.com/CycloneDX/cyclonedx-node-npm.git#demo/alternative-package-registry/project", + "purl": "pkg:npm/demo-alternative-package-registry@0.0.0?vcs_url=git%2Bssh%3A%2F%2Fgit%40github.com%2FCycloneDX%2Fcyclonedx-node-npm.git#demo/alternative-package-registry/project", "externalReferences": [ { "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues", @@ -105,7 +128,7 @@ "group": "@jsr", "version": "0.1.3", "bom-ref": "@jsr/act__act@0.1.3", - "purl": "pkg:npm/%40jsr/act__act@0.1.3?download_url=https%3A//npm.jsr.io/~/11/%40jsr/act__act/0.1.3.tgz", + "purl": "pkg:npm/%40jsr/act__act@0.1.3?download_url=https%3A%2F%2Fnpm.jsr.io%2F%7E%2F11%2F%40jsr%2Fact__act%2F0.1.3.tgz", "externalReferences": [ { "url": "https://npm.jsr.io/~/11/@jsr/act__act/0.1.3.tgz", diff --git a/tests/_data/sbom_demo-results/bare/alternative-package-registry_npm11_node20_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/alternative-package-registry_npm11_node20_ubuntu-latest.snap.json index 80d807eea..190710d52 100644 --- a/tests/_data/sbom_demo-results/bare/alternative-package-registry_npm11_node20_ubuntu-latest.snap.json +++ b/tests/_data/sbom_demo-results/bare/alternative-package-registry_npm11_node20_ubuntu-latest.snap.json @@ -4,56 +4,79 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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-alternative-package-registry", @@ -68,7 +91,7 @@ } } ], - "purl": "pkg:npm/demo-alternative-package-registry@0.0.0?vcs_url=git%2Bssh%3A//git%40github.com/CycloneDX/cyclonedx-node-npm.git#demo/alternative-package-registry/project", + "purl": "pkg:npm/demo-alternative-package-registry@0.0.0?vcs_url=git%2Bssh%3A%2F%2Fgit%40github.com%2FCycloneDX%2Fcyclonedx-node-npm.git#demo/alternative-package-registry/project", "externalReferences": [ { "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues", @@ -105,7 +128,7 @@ "group": "@jsr", "version": "0.1.3", "bom-ref": "@jsr/act__act@0.1.3", - "purl": "pkg:npm/%40jsr/act__act@0.1.3?download_url=https%3A//npm.jsr.io/~/11/%40jsr/act__act/0.1.3.tgz", + "purl": "pkg:npm/%40jsr/act__act@0.1.3?download_url=https%3A%2F%2Fnpm.jsr.io%2F%7E%2F11%2F%40jsr%2Fact__act%2F0.1.3.tgz", "externalReferences": [ { "url": "https://npm.jsr.io/~/11/@jsr/act__act/0.1.3.tgz", diff --git a/tests/_data/sbom_demo-results/bare/alternative-package-registry_npm11_node20_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/alternative-package-registry_npm11_node20_windows-latest.snap.json index 80d807eea..190710d52 100644 --- a/tests/_data/sbom_demo-results/bare/alternative-package-registry_npm11_node20_windows-latest.snap.json +++ b/tests/_data/sbom_demo-results/bare/alternative-package-registry_npm11_node20_windows-latest.snap.json @@ -4,56 +4,79 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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-alternative-package-registry", @@ -68,7 +91,7 @@ } } ], - "purl": "pkg:npm/demo-alternative-package-registry@0.0.0?vcs_url=git%2Bssh%3A//git%40github.com/CycloneDX/cyclonedx-node-npm.git#demo/alternative-package-registry/project", + "purl": "pkg:npm/demo-alternative-package-registry@0.0.0?vcs_url=git%2Bssh%3A%2F%2Fgit%40github.com%2FCycloneDX%2Fcyclonedx-node-npm.git#demo/alternative-package-registry/project", "externalReferences": [ { "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues", @@ -105,7 +128,7 @@ "group": "@jsr", "version": "0.1.3", "bom-ref": "@jsr/act__act@0.1.3", - "purl": "pkg:npm/%40jsr/act__act@0.1.3?download_url=https%3A//npm.jsr.io/~/11/%40jsr/act__act/0.1.3.tgz", + "purl": "pkg:npm/%40jsr/act__act@0.1.3?download_url=https%3A%2F%2Fnpm.jsr.io%2F%7E%2F11%2F%40jsr%2Fact__act%2F0.1.3.tgz", "externalReferences": [ { "url": "https://npm.jsr.io/~/11/@jsr/act__act/0.1.3.tgz", diff --git a/tests/_data/sbom_demo-results/bare/alternative-package-registry_npm11_node22_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/alternative-package-registry_npm11_node22_windows-latest.snap.json index 80d807eea..190710d52 100644 --- a/tests/_data/sbom_demo-results/bare/alternative-package-registry_npm11_node22_windows-latest.snap.json +++ b/tests/_data/sbom_demo-results/bare/alternative-package-registry_npm11_node22_windows-latest.snap.json @@ -4,56 +4,79 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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-alternative-package-registry", @@ -68,7 +91,7 @@ } } ], - "purl": "pkg:npm/demo-alternative-package-registry@0.0.0?vcs_url=git%2Bssh%3A//git%40github.com/CycloneDX/cyclonedx-node-npm.git#demo/alternative-package-registry/project", + "purl": "pkg:npm/demo-alternative-package-registry@0.0.0?vcs_url=git%2Bssh%3A%2F%2Fgit%40github.com%2FCycloneDX%2Fcyclonedx-node-npm.git#demo/alternative-package-registry/project", "externalReferences": [ { "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues", @@ -105,7 +128,7 @@ "group": "@jsr", "version": "0.1.3", "bom-ref": "@jsr/act__act@0.1.3", - "purl": "pkg:npm/%40jsr/act__act@0.1.3?download_url=https%3A//npm.jsr.io/~/11/%40jsr/act__act/0.1.3.tgz", + "purl": "pkg:npm/%40jsr/act__act@0.1.3?download_url=https%3A%2F%2Fnpm.jsr.io%2F%7E%2F11%2F%40jsr%2Fact__act%2F0.1.3.tgz", "externalReferences": [ { "url": "https://npm.jsr.io/~/11/@jsr/act__act/0.1.3.tgz", diff --git a/tests/_data/sbom_demo-results/bare/bundled-dependencies_npm11_node20_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/bundled-dependencies_npm11_node20_macos-latest.snap.json index 3414e2410..4b4971cfa 100644 --- a/tests/_data/sbom_demo-results/bare/bundled-dependencies_npm11_node20_macos-latest.snap.json +++ b/tests/_data/sbom_demo-results/bare/bundled-dependencies_npm11_node20_macos-latest.snap.json @@ -4,56 +4,79 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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-bundled-deps", @@ -68,7 +91,7 @@ } } ], - "purl": "pkg:npm/demo-bundled-deps@0.0.0?vcs_url=git%2Bhttps%3A//github.com/CycloneDX/cyclonedx-node-npm.git#demo/bundled-dependencies/project", + "purl": "pkg:npm/demo-bundled-deps@0.0.0?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2FCycloneDX%2Fcyclonedx-node-npm.git#demo/bundled-dependencies/project", "externalReferences": [ { "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues", diff --git a/tests/_data/sbom_demo-results/bare/bundled-dependencies_npm11_node20_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/bundled-dependencies_npm11_node20_ubuntu-latest.snap.json index 3414e2410..4b4971cfa 100644 --- a/tests/_data/sbom_demo-results/bare/bundled-dependencies_npm11_node20_ubuntu-latest.snap.json +++ b/tests/_data/sbom_demo-results/bare/bundled-dependencies_npm11_node20_ubuntu-latest.snap.json @@ -4,56 +4,79 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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-bundled-deps", @@ -68,7 +91,7 @@ } } ], - "purl": "pkg:npm/demo-bundled-deps@0.0.0?vcs_url=git%2Bhttps%3A//github.com/CycloneDX/cyclonedx-node-npm.git#demo/bundled-dependencies/project", + "purl": "pkg:npm/demo-bundled-deps@0.0.0?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2FCycloneDX%2Fcyclonedx-node-npm.git#demo/bundled-dependencies/project", "externalReferences": [ { "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues", diff --git a/tests/_data/sbom_demo-results/bare/bundled-dependencies_npm11_node20_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/bundled-dependencies_npm11_node20_windows-latest.snap.json index 3414e2410..4b4971cfa 100644 --- a/tests/_data/sbom_demo-results/bare/bundled-dependencies_npm11_node20_windows-latest.snap.json +++ b/tests/_data/sbom_demo-results/bare/bundled-dependencies_npm11_node20_windows-latest.snap.json @@ -4,56 +4,79 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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-bundled-deps", @@ -68,7 +91,7 @@ } } ], - "purl": "pkg:npm/demo-bundled-deps@0.0.0?vcs_url=git%2Bhttps%3A//github.com/CycloneDX/cyclonedx-node-npm.git#demo/bundled-dependencies/project", + "purl": "pkg:npm/demo-bundled-deps@0.0.0?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2FCycloneDX%2Fcyclonedx-node-npm.git#demo/bundled-dependencies/project", "externalReferences": [ { "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues", diff --git a/tests/_data/sbom_demo-results/bare/bundled-dependencies_npm11_node22_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/bundled-dependencies_npm11_node22_windows-latest.snap.json index 3414e2410..4b4971cfa 100644 --- a/tests/_data/sbom_demo-results/bare/bundled-dependencies_npm11_node22_windows-latest.snap.json +++ b/tests/_data/sbom_demo-results/bare/bundled-dependencies_npm11_node22_windows-latest.snap.json @@ -4,56 +4,79 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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-bundled-deps", @@ -68,7 +91,7 @@ } } ], - "purl": "pkg:npm/demo-bundled-deps@0.0.0?vcs_url=git%2Bhttps%3A//github.com/CycloneDX/cyclonedx-node-npm.git#demo/bundled-dependencies/project", + "purl": "pkg:npm/demo-bundled-deps@0.0.0?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2FCycloneDX%2Fcyclonedx-node-npm.git#demo/bundled-dependencies/project", "externalReferences": [ { "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues", diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm11_node20_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm11_node20_macos-latest.snap.json index 748cacf64..0f1a312b0 100644 --- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm11_node20_macos-latest.snap.json +++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm11_node20_macos-latest.snap.json @@ -4,56 +4,79 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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", @@ -68,7 +91,7 @@ } } ], - "purl": "pkg:npm/demo-dev-dependencies@0.0.0?vcs_url=git%2Bhttps%3A//github.com/CycloneDX/cyclonedx-node-npm.git#demo/dev-dependencies/project", + "purl": "pkg:npm/demo-dev-dependencies@0.0.0?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2FCycloneDX%2Fcyclonedx-node-npm.git#demo/dev-dependencies/project", "externalReferences": [ { "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues", diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm11_node20_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm11_node20_ubuntu-latest.snap.json index 748cacf64..0f1a312b0 100644 --- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm11_node20_ubuntu-latest.snap.json +++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm11_node20_ubuntu-latest.snap.json @@ -4,56 +4,79 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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", @@ -68,7 +91,7 @@ } } ], - "purl": "pkg:npm/demo-dev-dependencies@0.0.0?vcs_url=git%2Bhttps%3A//github.com/CycloneDX/cyclonedx-node-npm.git#demo/dev-dependencies/project", + "purl": "pkg:npm/demo-dev-dependencies@0.0.0?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2FCycloneDX%2Fcyclonedx-node-npm.git#demo/dev-dependencies/project", "externalReferences": [ { "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues", diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm11_node20_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm11_node20_windows-latest.snap.json index 748cacf64..0f1a312b0 100644 --- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm11_node20_windows-latest.snap.json +++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm11_node20_windows-latest.snap.json @@ -4,56 +4,79 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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", @@ -68,7 +91,7 @@ } } ], - "purl": "pkg:npm/demo-dev-dependencies@0.0.0?vcs_url=git%2Bhttps%3A//github.com/CycloneDX/cyclonedx-node-npm.git#demo/dev-dependencies/project", + "purl": "pkg:npm/demo-dev-dependencies@0.0.0?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2FCycloneDX%2Fcyclonedx-node-npm.git#demo/dev-dependencies/project", "externalReferences": [ { "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues", diff --git a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm11_node22_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm11_node22_windows-latest.snap.json index 748cacf64..0f1a312b0 100644 --- a/tests/_data/sbom_demo-results/bare/dev-dependencies_npm11_node22_windows-latest.snap.json +++ b/tests/_data/sbom_demo-results/bare/dev-dependencies_npm11_node22_windows-latest.snap.json @@ -4,56 +4,79 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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", @@ -68,7 +91,7 @@ } } ], - "purl": "pkg:npm/demo-dev-dependencies@0.0.0?vcs_url=git%2Bhttps%3A//github.com/CycloneDX/cyclonedx-node-npm.git#demo/dev-dependencies/project", + "purl": "pkg:npm/demo-dev-dependencies@0.0.0?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2FCycloneDX%2Fcyclonedx-node-npm.git#demo/dev-dependencies/project", "externalReferences": [ { "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues", diff --git a/tests/_data/sbom_demo-results/bare/juice-shop_npm11_node20_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/juice-shop_npm11_node20_macos-latest.snap.json index 77061bb11..4ab1060a2 100644 --- a/tests/_data/sbom_demo-results/bare/juice-shop_npm11_node20_macos-latest.snap.json +++ b/tests/_data/sbom_demo-results/bare/juice-shop_npm11_node20_macos-latest.snap.json @@ -4,56 +4,79 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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": "juice-shop", @@ -69,7 +92,7 @@ } } ], - "purl": "pkg:npm/juice-shop@14.1.1?vcs_url=git%2Bhttps%3A//github.com/juice-shop/juice-shop.git", + "purl": "pkg:npm/juice-shop@14.1.1?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2Fjuice-shop%2Fjuice-shop.git", "externalReferences": [ { "url": "https://github.com/juice-shop/juice-shop/issues", diff --git a/tests/_data/sbom_demo-results/bare/juice-shop_npm11_node20_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/juice-shop_npm11_node20_ubuntu-latest.snap.json index f1a448a15..02dac9818 100644 --- a/tests/_data/sbom_demo-results/bare/juice-shop_npm11_node20_ubuntu-latest.snap.json +++ b/tests/_data/sbom_demo-results/bare/juice-shop_npm11_node20_ubuntu-latest.snap.json @@ -4,56 +4,79 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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": "juice-shop", @@ -69,7 +92,7 @@ } } ], - "purl": "pkg:npm/juice-shop@14.1.1?vcs_url=git%2Bhttps%3A//github.com/juice-shop/juice-shop.git", + "purl": "pkg:npm/juice-shop@14.1.1?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2Fjuice-shop%2Fjuice-shop.git", "externalReferences": [ { "url": "https://github.com/juice-shop/juice-shop/issues", diff --git a/tests/_data/sbom_demo-results/bare/juice-shop_npm11_node20_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/juice-shop_npm11_node20_windows-latest.snap.json index f1a448a15..02dac9818 100644 --- a/tests/_data/sbom_demo-results/bare/juice-shop_npm11_node20_windows-latest.snap.json +++ b/tests/_data/sbom_demo-results/bare/juice-shop_npm11_node20_windows-latest.snap.json @@ -4,56 +4,79 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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": "juice-shop", @@ -69,7 +92,7 @@ } } ], - "purl": "pkg:npm/juice-shop@14.1.1?vcs_url=git%2Bhttps%3A//github.com/juice-shop/juice-shop.git", + "purl": "pkg:npm/juice-shop@14.1.1?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2Fjuice-shop%2Fjuice-shop.git", "externalReferences": [ { "url": "https://github.com/juice-shop/juice-shop/issues", diff --git a/tests/_data/sbom_demo-results/bare/package-integrity_npm11_node20_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/package-integrity_npm11_node20_macos-latest.snap.json index a8aef1ce9..b9683a177 100644 --- a/tests/_data/sbom_demo-results/bare/package-integrity_npm11_node20_macos-latest.snap.json +++ b/tests/_data/sbom_demo-results/bare/package-integrity_npm11_node20_macos-latest.snap.json @@ -4,62 +4,85 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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-package-integrity", "bom-ref": "-/demo-package-integrity@-", "description": "demo: package-integrity -- packages with different integrity information.", - "purl": "pkg:npm/demo-package-integrity?vcs_url=git%2Bhttps%3A//github.com/CycloneDX/cyclonedx-node-npm.git", + "purl": "pkg:npm/demo-package-integrity?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2FCycloneDX%2Fcyclonedx-node-npm.git", "externalReferences": [ { "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues", diff --git a/tests/_data/sbom_demo-results/bare/package-integrity_npm11_node20_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/package-integrity_npm11_node20_ubuntu-latest.snap.json index a8aef1ce9..b9683a177 100644 --- a/tests/_data/sbom_demo-results/bare/package-integrity_npm11_node20_ubuntu-latest.snap.json +++ b/tests/_data/sbom_demo-results/bare/package-integrity_npm11_node20_ubuntu-latest.snap.json @@ -4,62 +4,85 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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-package-integrity", "bom-ref": "-/demo-package-integrity@-", "description": "demo: package-integrity -- packages with different integrity information.", - "purl": "pkg:npm/demo-package-integrity?vcs_url=git%2Bhttps%3A//github.com/CycloneDX/cyclonedx-node-npm.git", + "purl": "pkg:npm/demo-package-integrity?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2FCycloneDX%2Fcyclonedx-node-npm.git", "externalReferences": [ { "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues", diff --git a/tests/_data/sbom_demo-results/bare/package-integrity_npm11_node20_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/package-integrity_npm11_node20_windows-latest.snap.json index a8aef1ce9..b9683a177 100644 --- a/tests/_data/sbom_demo-results/bare/package-integrity_npm11_node20_windows-latest.snap.json +++ b/tests/_data/sbom_demo-results/bare/package-integrity_npm11_node20_windows-latest.snap.json @@ -4,62 +4,85 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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-package-integrity", "bom-ref": "-/demo-package-integrity@-", "description": "demo: package-integrity -- packages with different integrity information.", - "purl": "pkg:npm/demo-package-integrity?vcs_url=git%2Bhttps%3A//github.com/CycloneDX/cyclonedx-node-npm.git", + "purl": "pkg:npm/demo-package-integrity?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2FCycloneDX%2Fcyclonedx-node-npm.git", "externalReferences": [ { "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues", diff --git a/tests/_data/sbom_demo-results/bare/package-integrity_npm11_node22_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/package-integrity_npm11_node22_windows-latest.snap.json index a8aef1ce9..b9683a177 100644 --- a/tests/_data/sbom_demo-results/bare/package-integrity_npm11_node22_windows-latest.snap.json +++ b/tests/_data/sbom_demo-results/bare/package-integrity_npm11_node22_windows-latest.snap.json @@ -4,62 +4,85 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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-package-integrity", "bom-ref": "-/demo-package-integrity@-", "description": "demo: package-integrity -- packages with different integrity information.", - "purl": "pkg:npm/demo-package-integrity?vcs_url=git%2Bhttps%3A//github.com/CycloneDX/cyclonedx-node-npm.git", + "purl": "pkg:npm/demo-package-integrity?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2FCycloneDX%2Fcyclonedx-node-npm.git", "externalReferences": [ { "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues", diff --git a/tests/_data/sbom_demo-results/bare/package-with-build-id_npm11_node20_macos-latest.snap.json b/tests/_data/sbom_demo-results/bare/package-with-build-id_npm11_node20_macos-latest.snap.json index ba6cd9945..3b274512c 100644 --- a/tests/_data/sbom_demo-results/bare/package-with-build-id_npm11_node20_macos-latest.snap.json +++ b/tests/_data/sbom_demo-results/bare/package-with-build-id_npm11_node20_macos-latest.snap.json @@ -4,63 +4,86 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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-package-with-build-id", "version": "1.0.0-123+456", "bom-ref": "demo-package-with-build-id@1.0.0-123+456", "description": "demo: package-with-build-id -- show how buildID in the version looks like", - "purl": "pkg:npm/demo-package-with-build-id@1.0.0-123+456?vcs_url=git%2Bhttps%3A//gist.github.com/44e29a0bc4a002ec3413d9f5c2c1962f.git", + "purl": "pkg:npm/demo-package-with-build-id@1.0.0-123+456?vcs_url=git%2Bhttps%3A%2F%2Fgist.github.com%2F44e29a0bc4a002ec3413d9f5c2c1962f.git", "externalReferences": [ { "url": "https://gist.github.com/44e29a0bc4a002ec3413d9f5c2c1962f", diff --git a/tests/_data/sbom_demo-results/bare/package-with-build-id_npm11_node20_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/bare/package-with-build-id_npm11_node20_ubuntu-latest.snap.json index ba6cd9945..3b274512c 100644 --- a/tests/_data/sbom_demo-results/bare/package-with-build-id_npm11_node20_ubuntu-latest.snap.json +++ b/tests/_data/sbom_demo-results/bare/package-with-build-id_npm11_node20_ubuntu-latest.snap.json @@ -4,63 +4,86 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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-package-with-build-id", "version": "1.0.0-123+456", "bom-ref": "demo-package-with-build-id@1.0.0-123+456", "description": "demo: package-with-build-id -- show how buildID in the version looks like", - "purl": "pkg:npm/demo-package-with-build-id@1.0.0-123+456?vcs_url=git%2Bhttps%3A//gist.github.com/44e29a0bc4a002ec3413d9f5c2c1962f.git", + "purl": "pkg:npm/demo-package-with-build-id@1.0.0-123+456?vcs_url=git%2Bhttps%3A%2F%2Fgist.github.com%2F44e29a0bc4a002ec3413d9f5c2c1962f.git", "externalReferences": [ { "url": "https://gist.github.com/44e29a0bc4a002ec3413d9f5c2c1962f", diff --git a/tests/_data/sbom_demo-results/bare/package-with-build-id_npm11_node20_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/package-with-build-id_npm11_node20_windows-latest.snap.json index ba6cd9945..3b274512c 100644 --- a/tests/_data/sbom_demo-results/bare/package-with-build-id_npm11_node20_windows-latest.snap.json +++ b/tests/_data/sbom_demo-results/bare/package-with-build-id_npm11_node20_windows-latest.snap.json @@ -4,63 +4,86 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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-package-with-build-id", "version": "1.0.0-123+456", "bom-ref": "demo-package-with-build-id@1.0.0-123+456", "description": "demo: package-with-build-id -- show how buildID in the version looks like", - "purl": "pkg:npm/demo-package-with-build-id@1.0.0-123+456?vcs_url=git%2Bhttps%3A//gist.github.com/44e29a0bc4a002ec3413d9f5c2c1962f.git", + "purl": "pkg:npm/demo-package-with-build-id@1.0.0-123+456?vcs_url=git%2Bhttps%3A%2F%2Fgist.github.com%2F44e29a0bc4a002ec3413d9f5c2c1962f.git", "externalReferences": [ { "url": "https://gist.github.com/44e29a0bc4a002ec3413d9f5c2c1962f", diff --git a/tests/_data/sbom_demo-results/bare/package-with-build-id_npm11_node22_windows-latest.snap.json b/tests/_data/sbom_demo-results/bare/package-with-build-id_npm11_node22_windows-latest.snap.json index ba6cd9945..3b274512c 100644 --- a/tests/_data/sbom_demo-results/bare/package-with-build-id_npm11_node22_windows-latest.snap.json +++ b/tests/_data/sbom_demo-results/bare/package-with-build-id_npm11_node22_windows-latest.snap.json @@ -4,63 +4,86 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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-package-with-build-id", "version": "1.0.0-123+456", "bom-ref": "demo-package-with-build-id@1.0.0-123+456", "description": "demo: package-with-build-id -- show how buildID in the version looks like", - "purl": "pkg:npm/demo-package-with-build-id@1.0.0-123+456?vcs_url=git%2Bhttps%3A//gist.github.com/44e29a0bc4a002ec3413d9f5c2c1962f.git", + "purl": "pkg:npm/demo-package-with-build-id@1.0.0-123+456?vcs_url=git%2Bhttps%3A%2F%2Fgist.github.com%2F44e29a0bc4a002ec3413d9f5c2c1962f.git", "externalReferences": [ { "url": "https://gist.github.com/44e29a0bc4a002ec3413d9f5c2c1962f", diff --git a/tests/_data/sbom_demo-results/flatten-components/bundled-dependencies_npm11_node20_macos-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/bundled-dependencies_npm11_node20_macos-latest.snap.json index 44fd81026..d57f6c707 100644 --- a/tests/_data/sbom_demo-results/flatten-components/bundled-dependencies_npm11_node20_macos-latest.snap.json +++ b/tests/_data/sbom_demo-results/flatten-components/bundled-dependencies_npm11_node20_macos-latest.snap.json @@ -4,56 +4,79 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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-bundled-deps", @@ -68,7 +91,7 @@ } } ], - "purl": "pkg:npm/demo-bundled-deps@0.0.0?vcs_url=git%2Bhttps%3A//github.com/CycloneDX/cyclonedx-node-npm.git#demo/bundled-dependencies/project", + "purl": "pkg:npm/demo-bundled-deps@0.0.0?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2FCycloneDX%2Fcyclonedx-node-npm.git#demo/bundled-dependencies/project", "externalReferences": [ { "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues", diff --git a/tests/_data/sbom_demo-results/flatten-components/bundled-dependencies_npm11_node20_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/bundled-dependencies_npm11_node20_ubuntu-latest.snap.json index 44fd81026..d57f6c707 100644 --- a/tests/_data/sbom_demo-results/flatten-components/bundled-dependencies_npm11_node20_ubuntu-latest.snap.json +++ b/tests/_data/sbom_demo-results/flatten-components/bundled-dependencies_npm11_node20_ubuntu-latest.snap.json @@ -4,56 +4,79 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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-bundled-deps", @@ -68,7 +91,7 @@ } } ], - "purl": "pkg:npm/demo-bundled-deps@0.0.0?vcs_url=git%2Bhttps%3A//github.com/CycloneDX/cyclonedx-node-npm.git#demo/bundled-dependencies/project", + "purl": "pkg:npm/demo-bundled-deps@0.0.0?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2FCycloneDX%2Fcyclonedx-node-npm.git#demo/bundled-dependencies/project", "externalReferences": [ { "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues", diff --git a/tests/_data/sbom_demo-results/flatten-components/bundled-dependencies_npm11_node20_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/bundled-dependencies_npm11_node20_windows-latest.snap.json index 44fd81026..d57f6c707 100644 --- a/tests/_data/sbom_demo-results/flatten-components/bundled-dependencies_npm11_node20_windows-latest.snap.json +++ b/tests/_data/sbom_demo-results/flatten-components/bundled-dependencies_npm11_node20_windows-latest.snap.json @@ -4,56 +4,79 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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-bundled-deps", @@ -68,7 +91,7 @@ } } ], - "purl": "pkg:npm/demo-bundled-deps@0.0.0?vcs_url=git%2Bhttps%3A//github.com/CycloneDX/cyclonedx-node-npm.git#demo/bundled-dependencies/project", + "purl": "pkg:npm/demo-bundled-deps@0.0.0?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2FCycloneDX%2Fcyclonedx-node-npm.git#demo/bundled-dependencies/project", "externalReferences": [ { "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues", diff --git a/tests/_data/sbom_demo-results/flatten-components/bundled-dependencies_npm11_node22_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/bundled-dependencies_npm11_node22_windows-latest.snap.json index 44fd81026..d57f6c707 100644 --- a/tests/_data/sbom_demo-results/flatten-components/bundled-dependencies_npm11_node22_windows-latest.snap.json +++ b/tests/_data/sbom_demo-results/flatten-components/bundled-dependencies_npm11_node22_windows-latest.snap.json @@ -4,56 +4,79 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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-bundled-deps", @@ -68,7 +91,7 @@ } } ], - "purl": "pkg:npm/demo-bundled-deps@0.0.0?vcs_url=git%2Bhttps%3A//github.com/CycloneDX/cyclonedx-node-npm.git#demo/bundled-dependencies/project", + "purl": "pkg:npm/demo-bundled-deps@0.0.0?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2FCycloneDX%2Fcyclonedx-node-npm.git#demo/bundled-dependencies/project", "externalReferences": [ { "url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues", diff --git a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm11_node20_macos-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm11_node20_macos-latest.snap.json index 1aa91ac67..0f622ab6b 100644 --- a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm11_node20_macos-latest.snap.json +++ b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm11_node20_macos-latest.snap.json @@ -4,56 +4,79 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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": "juice-shop", @@ -69,7 +92,7 @@ } } ], - "purl": "pkg:npm/juice-shop@14.1.1?vcs_url=git%2Bhttps%3A//github.com/juice-shop/juice-shop.git", + "purl": "pkg:npm/juice-shop@14.1.1?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2Fjuice-shop%2Fjuice-shop.git", "externalReferences": [ { "url": "https://github.com/juice-shop/juice-shop/issues", diff --git a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm11_node20_ubuntu-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm11_node20_ubuntu-latest.snap.json index faf28e401..9372901f8 100644 --- a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm11_node20_ubuntu-latest.snap.json +++ b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm11_node20_ubuntu-latest.snap.json @@ -4,56 +4,79 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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": "juice-shop", @@ -69,7 +92,7 @@ } } ], - "purl": "pkg:npm/juice-shop@14.1.1?vcs_url=git%2Bhttps%3A//github.com/juice-shop/juice-shop.git", + "purl": "pkg:npm/juice-shop@14.1.1?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2Fjuice-shop%2Fjuice-shop.git", "externalReferences": [ { "url": "https://github.com/juice-shop/juice-shop/issues", diff --git a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm11_node20_windows-latest.snap.json b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm11_node20_windows-latest.snap.json index faf28e401..9372901f8 100644 --- a/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm11_node20_windows-latest.snap.json +++ b/tests/_data/sbom_demo-results/flatten-components/juice-shop_npm11_node20_windows-latest.snap.json @@ -4,56 +4,79 @@ "specVersion": "1.6", "version": 1, "metadata": { - "tools": [ - { - "name": "npm", - "version": "npmVersion-testing" - }, - { - "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\"" - } - ] - } - ], + "tools": { + "components": [ + { + "type": "application", + "name": "npm", + "version": "npmVersion-testing" + }, + { + "type": "library", + "name": "cyclonedx-library", + "group": "@cyclonedx", + "version": "libVersion-testing", + "author": "Jan Kowalleck", + "description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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\"" + } + ] + }, + { + "type": "application", + "name": "cyclonedx-npm", + "group": "@cyclonedx", + "version": "thisVersion-testing", + "author": "Jan Kowalleck", + "description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "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": "juice-shop", @@ -69,7 +92,7 @@ } } ], - "purl": "pkg:npm/juice-shop@14.1.1?vcs_url=git%2Bhttps%3A//github.com/juice-shop/juice-shop.git", + "purl": "pkg:npm/juice-shop@14.1.1?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2Fjuice-shop%2Fjuice-shop.git", "externalReferences": [ { "url": "https://github.com/juice-shop/juice-shop/issues",