diff --git a/.github/workflows/generate-sbom.yml b/.github/workflows/generate-sbom.yml
new file mode 100644
index 0000000..1c6a2f9
--- /dev/null
+++ b/.github/workflows/generate-sbom.yml
@@ -0,0 +1,84 @@
+name: Generate SBOM
+
+on:
+ push:
+ branches: [main]
+ paths:
+ - "index.html"
+ - "package.json"
+ - "package-lock.json"
+ - "*.js"
+ - "*.css"
+ - "ace-builds/**"
+ - "sweetalert2/**"
+ - "schema/**"
+ - "scripts/generate-sbom.mjs"
+ - "scripts/sbom/**"
+ - ".github/workflows/**"
+ workflow_dispatch:
+
+permissions:
+ contents: write
+ pull-requests: write
+
+jobs:
+ generate-sbom:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 22
+ cache: npm
+
+ - run: npm ci
+
+ - name: Generate SBOMs
+ run: node scripts/generate-sbom.mjs
+
+ - name: Check for changes
+ id: diff
+ run: |
+ git diff --name-only docs/sbom/ > /tmp/changed_files.txt || true
+ git ls-files --others --exclude-standard docs/sbom/ > /tmp/new_files.txt || true
+ if [ -s /tmp/changed_files.txt ] || [ -s /tmp/new_files.txt ]; then
+ echo "has_changes=true" >> "$GITHUB_OUTPUT"
+ else
+ echo "has_changes=false" >> "$GITHUB_OUTPUT"
+ fi
+
+ - name: Create PR
+ if: steps.diff.outputs.has_changes == 'true'
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ DATE=$(date +%Y-%m-%d)
+ BRANCH="sbom/update-${DATE}"
+
+ git config user.name "github-actions[bot]"
+ git config user.email "github-actions[bot]@users.noreply.github.com"
+
+ git checkout -b "$BRANCH"
+ git add docs/sbom/
+ git commit -m "chore: update SBOM inventory (${DATE})"
+ git push origin "$BRANCH"
+
+ gh pr create \
+ --title "chore: update SBOM inventory (${DATE})" \
+ --body "## SBOM Update
+
+ Automated SBOM regeneration triggered by changes to dependency-relevant files.
+
+ ### Generated Files
+ - \`docs/sbom/SBOM.md\` — Human-readable summary
+ - \`docs/sbom/cyclonedx-runtime.json\` — CycloneDX 1.6 runtime
+ - \`docs/sbom/cyclonedx-dev.json\` — CycloneDX 1.6 dev
+ - \`docs/sbom/spdx-runtime.json\` — SPDX 2.3 JSON runtime
+ - \`docs/sbom/spdx-dev.json\` — SPDX 2.3 JSON dev
+ - \`docs/sbom/spdx-runtime.spdx\` — SPDX 2.3 tag-value runtime
+ - \`docs/sbom/spdx-dev.spdx\` — SPDX 2.3 tag-value dev"
+
+ - name: Skip - no changes
+ if: steps.diff.outputs.has_changes != 'true'
+ run: echo "No SBOM changes detected - skipping PR."
diff --git a/docs/sbom/SBOM.md b/docs/sbom/SBOM.md
new file mode 100644
index 0000000..f71aeb7
--- /dev/null
+++ b/docs/sbom/SBOM.md
@@ -0,0 +1,217 @@
+# Software Bill of Materials - cveclient
+
+**Version:** 1.0.25 | **License:** MIT | **Generated:** 2026-04-03
+
+## Runtime Components
+
+### Core Application Files
+
+| Component | File | Version | License |
+|-----------|------|---------|---------|
+| cveInterface | cveInterface.js | 1.0.25 | MIT |
+| cveClientlib | cveClientlib.js | 1.0.25 | MIT |
+| schemaToForm | schemaToForm.js | 1.0.10 | MIT |
+| autoCompleter | autoCompleter.js | 1.0.12 | MIT |
+| encrypt-storage | encrypt-storage.js | 1.1.15 | MIT |
+| cveInterface | cveInterface.css | 2.0.12 | MIT |
+| bootstrap | | 4.3.1 | |
+| bootstrap-table | | 1.19.1 | |
+
+### CDN Dependencies
+
+| Component | Version | URL | SRI Hash | License |
+|-----------|---------|-----|----------|---------|
+| jquery | 3.5.1 | https://code.jquery.com/jquery-3.5.1.min.js | sha384-ZvpUoO/+PpLXR1lu4jmpXWu80pZlYUAfxl5NsBMWOEPSjUn/6Z/hRTt8+pR6L4N2 | |
+| popper.js | 1.14.7 | https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js | sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1 | |
+| bootstrap | 4.3.1 | https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js | sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM | |
+| bootstrap-table | 1.19.1 | https://unpkg.com/bootstrap-table@1.19.1/dist/bootstrap-table.min.js | sha384-c6BpBD7+QRK09NF7WgSPQpBF4z1UdPVJEFAvOnQoNyqtMMuJW/hF+iw3pHlKvmxF | |
+
+### Vendored Dependencies
+
+| Component | Version | License |
+|-----------|---------|---------|
+| sweetalert2 | 11.26.24 | MIT |
+| ace-editor | 1.4.12 | Apache-2.0 |
+
+### Schema/Data Files
+
+| File | Path |
+|------|------|
+| CVE_Record_Format_bundled.json | schema/CVE_Record_Format_bundled.json |
+| CVE_Record_Format_bundled_adpContainer.json | schema/CVE_Record_Format_bundled_adpContainer.json |
+| CVE_Record_Format_bundled_cnaPublishedContainer.json | schema/CVE_Record_Format_bundled_cnaPublishedContainer.json |
+| CVE_Record_Format_bundled_cnaRejectedContainer.json | schema/CVE_Record_Format_bundled_cnaRejectedContainer.json |
+| adp-tags.json | schema/adp-tags.json |
+| cna-tags.json | schema/cna-tags.json |
+| reference-tags.json | schema/reference-tags.json |
+
+## Dev/CI Dependencies
+
+### npm Dev Dependencies (Direct)
+
+| Package | Version | License |
+|---------|---------|---------|
+| jsdom | 26.1.0 | MIT |
+| vitest | 3.2.4 | MIT |
+
+Transitive npm dependencies (135)
+
+| Package | Version | License |
+|---------|---------|---------|
+| @asamuzakjp/css-color | 3.2.0 | MIT |
+| @csstools/color-helpers | 5.1.0 | MIT-0 |
+| @csstools/css-calc | 2.1.4 | MIT |
+| @csstools/css-color-parser | 3.1.0 | MIT |
+| @csstools/css-parser-algorithms | 3.0.5 | MIT |
+| @csstools/css-tokenizer | 3.0.4 | MIT |
+| @esbuild/aix-ppc64 | 0.27.4 | MIT |
+| @esbuild/android-arm | 0.27.4 | MIT |
+| @esbuild/android-arm64 | 0.27.4 | MIT |
+| @esbuild/android-x64 | 0.27.4 | MIT |
+| @esbuild/darwin-arm64 | 0.27.4 | MIT |
+| @esbuild/darwin-x64 | 0.27.4 | MIT |
+| @esbuild/freebsd-arm64 | 0.27.4 | MIT |
+| @esbuild/freebsd-x64 | 0.27.4 | MIT |
+| @esbuild/linux-arm | 0.27.4 | MIT |
+| @esbuild/linux-arm64 | 0.27.4 | MIT |
+| @esbuild/linux-ia32 | 0.27.4 | MIT |
+| @esbuild/linux-loong64 | 0.27.4 | MIT |
+| @esbuild/linux-mips64el | 0.27.4 | MIT |
+| @esbuild/linux-ppc64 | 0.27.4 | MIT |
+| @esbuild/linux-riscv64 | 0.27.4 | MIT |
+| @esbuild/linux-s390x | 0.27.4 | MIT |
+| @esbuild/linux-x64 | 0.27.4 | MIT |
+| @esbuild/netbsd-arm64 | 0.27.4 | MIT |
+| @esbuild/netbsd-x64 | 0.27.4 | MIT |
+| @esbuild/openbsd-arm64 | 0.27.4 | MIT |
+| @esbuild/openbsd-x64 | 0.27.4 | MIT |
+| @esbuild/openharmony-arm64 | 0.27.4 | MIT |
+| @esbuild/sunos-x64 | 0.27.4 | MIT |
+| @esbuild/win32-arm64 | 0.27.4 | MIT |
+| @esbuild/win32-ia32 | 0.27.4 | MIT |
+| @esbuild/win32-x64 | 0.27.4 | MIT |
+| @jridgewell/sourcemap-codec | 1.5.5 | MIT |
+| @rollup/rollup-android-arm-eabi | 4.60.1 | MIT |
+| @rollup/rollup-android-arm64 | 4.60.1 | MIT |
+| @rollup/rollup-darwin-arm64 | 4.60.1 | MIT |
+| @rollup/rollup-darwin-x64 | 4.60.1 | MIT |
+| @rollup/rollup-freebsd-arm64 | 4.60.1 | MIT |
+| @rollup/rollup-freebsd-x64 | 4.60.1 | MIT |
+| @rollup/rollup-linux-arm-gnueabihf | 4.60.1 | MIT |
+| @rollup/rollup-linux-arm-musleabihf | 4.60.1 | MIT |
+| @rollup/rollup-linux-arm64-gnu | 4.60.1 | MIT |
+| @rollup/rollup-linux-arm64-musl | 4.60.1 | MIT |
+| @rollup/rollup-linux-loong64-gnu | 4.60.1 | MIT |
+| @rollup/rollup-linux-loong64-musl | 4.60.1 | MIT |
+| @rollup/rollup-linux-ppc64-gnu | 4.60.1 | MIT |
+| @rollup/rollup-linux-ppc64-musl | 4.60.1 | MIT |
+| @rollup/rollup-linux-riscv64-gnu | 4.60.1 | MIT |
+| @rollup/rollup-linux-riscv64-musl | 4.60.1 | MIT |
+| @rollup/rollup-linux-s390x-gnu | 4.60.1 | MIT |
+| @rollup/rollup-linux-x64-gnu | 4.60.1 | MIT |
+| @rollup/rollup-linux-x64-musl | 4.60.1 | MIT |
+| @rollup/rollup-openbsd-x64 | 4.60.1 | MIT |
+| @rollup/rollup-openharmony-arm64 | 4.60.1 | MIT |
+| @rollup/rollup-win32-arm64-msvc | 4.60.1 | MIT |
+| @rollup/rollup-win32-ia32-msvc | 4.60.1 | MIT |
+| @rollup/rollup-win32-x64-gnu | 4.60.1 | MIT |
+| @rollup/rollup-win32-x64-msvc | 4.60.1 | MIT |
+| @types/chai | 5.2.3 | MIT |
+| @types/deep-eql | 4.0.2 | MIT |
+| @types/estree | 1.0.8 | MIT |
+| @vitest/expect | 3.2.4 | MIT |
+| @vitest/mocker | 3.2.4 | MIT |
+| @vitest/pretty-format | 3.2.4 | MIT |
+| @vitest/runner | 3.2.4 | MIT |
+| @vitest/snapshot | 3.2.4 | MIT |
+| @vitest/spy | 3.2.4 | MIT |
+| @vitest/utils | 3.2.4 | MIT |
+| agent-base | 7.1.4 | MIT |
+| assertion-error | 2.0.1 | MIT |
+| cac | 6.7.14 | MIT |
+| chai | 5.3.3 | MIT |
+| check-error | 2.1.3 | MIT |
+| cssstyle | 4.6.0 | MIT |
+| data-urls | 5.0.0 | MIT |
+| debug | 4.4.3 | MIT |
+| decimal.js | 10.6.0 | MIT |
+| deep-eql | 5.0.2 | MIT |
+| entities | 6.0.1 | BSD-2-Clause |
+| es-module-lexer | 1.7.0 | MIT |
+| esbuild | 0.27.4 | MIT |
+| estree-walker | 3.0.3 | MIT |
+| expect-type | 1.3.0 | Apache-2.0 |
+| fdir | 6.5.0 | MIT |
+| fsevents | 2.3.3 | MIT |
+| html-encoding-sniffer | 4.0.0 | MIT |
+| http-proxy-agent | 7.0.2 | MIT |
+| https-proxy-agent | 7.0.6 | MIT |
+| iconv-lite | 0.6.3 | MIT |
+| is-potential-custom-element-name | 1.0.1 | MIT |
+| js-tokens | 9.0.1 | MIT |
+| loupe | 3.2.1 | MIT |
+| lru-cache | 10.4.3 | ISC |
+| magic-string | 0.30.21 | MIT |
+| ms | 2.1.3 | MIT |
+| nanoid | 3.3.11 | MIT |
+| nwsapi | 2.2.23 | MIT |
+| parse5 | 7.3.0 | MIT |
+| pathe | 2.0.3 | MIT |
+| pathval | 2.0.1 | MIT |
+| picocolors | 1.1.1 | ISC |
+| picomatch | 4.0.4 | MIT |
+| postcss | 8.5.8 | MIT |
+| punycode | 2.3.1 | MIT |
+| rollup | 4.60.1 | MIT |
+| rrweb-cssom | 0.8.0 | MIT |
+| safer-buffer | 2.1.2 | MIT |
+| saxes | 6.0.0 | ISC |
+| siginfo | 2.0.0 | ISC |
+| source-map-js | 1.2.1 | BSD-3-Clause |
+| stackback | 0.0.2 | MIT |
+| std-env | 3.10.0 | MIT |
+| strip-literal | 3.1.0 | MIT |
+| symbol-tree | 3.2.4 | MIT |
+| tinybench | 2.9.0 | MIT |
+| tinyexec | 0.3.2 | MIT |
+| tinyglobby | 0.2.15 | MIT |
+| tinypool | 1.1.1 | MIT |
+| tinyrainbow | 2.0.0 | MIT |
+| tinyspy | 4.0.4 | MIT |
+| tldts | 6.1.86 | MIT |
+| tldts-core | 6.1.86 | MIT |
+| tough-cookie | 5.1.2 | BSD-3-Clause |
+| tr46 | 5.1.1 | MIT |
+| vite | 7.3.1 | MIT |
+| vite-node | 3.2.4 | MIT |
+| w3c-xmlserializer | 5.0.0 | MIT |
+| webidl-conversions | 7.0.0 | BSD-2-Clause |
+| whatwg-encoding | 3.1.1 | MIT |
+| whatwg-mimetype | 4.0.0 | MIT |
+| whatwg-url | 14.2.0 | MIT |
+| why-is-node-running | 2.3.0 | MIT |
+| ws | 8.20.0 | MIT |
+| xml-name-validator | 5.0.0 | Apache-2.0 |
+| xmlchars | 2.2.0 | MIT |
+
+
+
+### CI/CD Toolchain (GitHub Actions)
+
+| Action | Version |
+|--------|---------|
+| actions/checkout | v4 |
+| actions/setup-node | v4 |
+| actions/checkout | v6 |
+| actions/setup-node | v6 |
+
+## Machine-Readable Formats
+
+| File | Format |
+|------|--------|
+| [cyclonedx-runtime.json](cyclonedx-runtime.json) | CycloneDX 1.6 JSON |
+| [cyclonedx-dev.json](cyclonedx-dev.json) | CycloneDX 1.6 JSON |
+| [spdx-runtime.json](spdx-runtime.json) | SPDX 2.3 JSON |
+| [spdx-dev.json](spdx-dev.json) | SPDX 2.3 JSON |
+| [spdx-runtime.spdx](spdx-runtime.spdx) | SPDX 2.3 Tag-Value |
+| [spdx-dev.spdx](spdx-dev.spdx) | SPDX 2.3 Tag-Value |
diff --git a/docs/sbom/cyclonedx-dev.json b/docs/sbom/cyclonedx-dev.json
new file mode 100644
index 0000000..1dc7938
--- /dev/null
+++ b/docs/sbom/cyclonedx-dev.json
@@ -0,0 +1,1835 @@
+{
+ "$schema": "https://cyclonedx.org/schema/bom-1.6.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.6",
+ "serialNumber": "urn:uuid:7756160e-113e-428c-a894-15c8a0e73c07",
+ "version": 1,
+ "metadata": {
+ "timestamp": "2026-04-03T22:43:03.258Z",
+ "tools": [
+ {
+ "name": "cveClient-sbom-generator",
+ "version": "1.0.25"
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "cveclient",
+ "version": "1.0.25",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "library",
+ "name": "jsdom",
+ "version": "26.1.0",
+ "purl": "pkg:npm/jsdom@26.1.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "vitest",
+ "version": "3.2.4",
+ "purl": "pkg:npm/vitest@3.2.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@asamuzakjp/css-color",
+ "version": "3.2.0",
+ "purl": "pkg:npm/@asamuzakjp/css-color@3.2.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@csstools/color-helpers",
+ "version": "5.1.0",
+ "purl": "pkg:npm/@csstools/color-helpers@5.1.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT-0"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@csstools/css-calc",
+ "version": "2.1.4",
+ "purl": "pkg:npm/@csstools/css-calc@2.1.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@csstools/css-color-parser",
+ "version": "3.1.0",
+ "purl": "pkg:npm/@csstools/css-color-parser@3.1.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@csstools/css-parser-algorithms",
+ "version": "3.0.5",
+ "purl": "pkg:npm/@csstools/css-parser-algorithms@3.0.5",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@csstools/css-tokenizer",
+ "version": "3.0.4",
+ "purl": "pkg:npm/@csstools/css-tokenizer@3.0.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/aix-ppc64",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/aix-ppc64@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/android-arm",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/android-arm@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/android-arm64",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/android-arm64@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/android-x64",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/android-x64@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/darwin-arm64",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/darwin-arm64@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/darwin-x64",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/darwin-x64@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/freebsd-arm64",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/freebsd-arm64@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/freebsd-x64",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/freebsd-x64@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/linux-arm",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/linux-arm@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/linux-arm64",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/linux-arm64@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/linux-ia32",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/linux-ia32@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/linux-loong64",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/linux-loong64@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/linux-mips64el",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/linux-mips64el@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/linux-ppc64",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/linux-ppc64@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/linux-riscv64",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/linux-riscv64@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/linux-s390x",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/linux-s390x@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/linux-x64",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/linux-x64@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/netbsd-arm64",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/netbsd-arm64@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/netbsd-x64",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/netbsd-x64@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/openbsd-arm64",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/openbsd-arm64@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/openbsd-x64",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/openbsd-x64@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/openharmony-arm64",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/openharmony-arm64@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/sunos-x64",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/sunos-x64@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/win32-arm64",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/win32-arm64@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/win32-ia32",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/win32-ia32@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@esbuild/win32-x64",
+ "version": "0.27.4",
+ "purl": "pkg:npm/@esbuild/win32-x64@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@jridgewell/sourcemap-codec",
+ "version": "1.5.5",
+ "purl": "pkg:npm/@jridgewell/sourcemap-codec@1.5.5",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-android-arm-eabi",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-android-arm-eabi@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-android-arm64",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-android-arm64@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-darwin-arm64",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-darwin-arm64@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-darwin-x64",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-darwin-x64@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-freebsd-arm64",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-freebsd-arm64@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-freebsd-x64",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-freebsd-x64@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-linux-arm-gnueabihf",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-linux-arm-gnueabihf@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-linux-arm-musleabihf",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-linux-arm-musleabihf@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-linux-arm64-gnu",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-linux-arm64-gnu@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-linux-arm64-musl",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-linux-arm64-musl@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-linux-loong64-gnu",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-linux-loong64-gnu@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-linux-loong64-musl",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-linux-loong64-musl@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-linux-ppc64-gnu",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-linux-ppc64-gnu@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-linux-ppc64-musl",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-linux-ppc64-musl@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-linux-riscv64-gnu",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-linux-riscv64-gnu@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-linux-riscv64-musl",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-linux-riscv64-musl@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-linux-s390x-gnu",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-linux-s390x-gnu@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-linux-x64-gnu",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-linux-x64-gnu@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-linux-x64-musl",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-linux-x64-musl@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-openbsd-x64",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-openbsd-x64@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-openharmony-arm64",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-openharmony-arm64@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-win32-arm64-msvc",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-win32-arm64-msvc@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-win32-ia32-msvc",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-win32-ia32-msvc@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-win32-x64-gnu",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-win32-x64-gnu@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@rollup/rollup-win32-x64-msvc",
+ "version": "4.60.1",
+ "purl": "pkg:npm/@rollup/rollup-win32-x64-msvc@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@types/chai",
+ "version": "5.2.3",
+ "purl": "pkg:npm/@types/chai@5.2.3",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@types/deep-eql",
+ "version": "4.0.2",
+ "purl": "pkg:npm/@types/deep-eql@4.0.2",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@types/estree",
+ "version": "1.0.8",
+ "purl": "pkg:npm/@types/estree@1.0.8",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@vitest/expect",
+ "version": "3.2.4",
+ "purl": "pkg:npm/@vitest/expect@3.2.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@vitest/mocker",
+ "version": "3.2.4",
+ "purl": "pkg:npm/@vitest/mocker@3.2.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@vitest/pretty-format",
+ "version": "3.2.4",
+ "purl": "pkg:npm/@vitest/pretty-format@3.2.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@vitest/runner",
+ "version": "3.2.4",
+ "purl": "pkg:npm/@vitest/runner@3.2.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@vitest/snapshot",
+ "version": "3.2.4",
+ "purl": "pkg:npm/@vitest/snapshot@3.2.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@vitest/spy",
+ "version": "3.2.4",
+ "purl": "pkg:npm/@vitest/spy@3.2.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "@vitest/utils",
+ "version": "3.2.4",
+ "purl": "pkg:npm/@vitest/utils@3.2.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "agent-base",
+ "version": "7.1.4",
+ "purl": "pkg:npm/agent-base@7.1.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "assertion-error",
+ "version": "2.0.1",
+ "purl": "pkg:npm/assertion-error@2.0.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "cac",
+ "version": "6.7.14",
+ "purl": "pkg:npm/cac@6.7.14",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "chai",
+ "version": "5.3.3",
+ "purl": "pkg:npm/chai@5.3.3",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "check-error",
+ "version": "2.1.3",
+ "purl": "pkg:npm/check-error@2.1.3",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "cssstyle",
+ "version": "4.6.0",
+ "purl": "pkg:npm/cssstyle@4.6.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "data-urls",
+ "version": "5.0.0",
+ "purl": "pkg:npm/data-urls@5.0.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "debug",
+ "version": "4.4.3",
+ "purl": "pkg:npm/debug@4.4.3",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "decimal.js",
+ "version": "10.6.0",
+ "purl": "pkg:npm/decimal.js@10.6.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "deep-eql",
+ "version": "5.0.2",
+ "purl": "pkg:npm/deep-eql@5.0.2",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "entities",
+ "version": "6.0.1",
+ "purl": "pkg:npm/entities@6.0.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-2-Clause"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "es-module-lexer",
+ "version": "1.7.0",
+ "purl": "pkg:npm/es-module-lexer@1.7.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "esbuild",
+ "version": "0.27.4",
+ "purl": "pkg:npm/esbuild@0.27.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "estree-walker",
+ "version": "3.0.3",
+ "purl": "pkg:npm/estree-walker@3.0.3",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "expect-type",
+ "version": "1.3.0",
+ "purl": "pkg:npm/expect-type@1.3.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "fdir",
+ "version": "6.5.0",
+ "purl": "pkg:npm/fdir@6.5.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "fsevents",
+ "version": "2.3.3",
+ "purl": "pkg:npm/fsevents@2.3.3",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "html-encoding-sniffer",
+ "version": "4.0.0",
+ "purl": "pkg:npm/html-encoding-sniffer@4.0.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "http-proxy-agent",
+ "version": "7.0.2",
+ "purl": "pkg:npm/http-proxy-agent@7.0.2",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "https-proxy-agent",
+ "version": "7.0.6",
+ "purl": "pkg:npm/https-proxy-agent@7.0.6",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "iconv-lite",
+ "version": "0.6.3",
+ "purl": "pkg:npm/iconv-lite@0.6.3",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "is-potential-custom-element-name",
+ "version": "1.0.1",
+ "purl": "pkg:npm/is-potential-custom-element-name@1.0.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "js-tokens",
+ "version": "9.0.1",
+ "purl": "pkg:npm/js-tokens@9.0.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "loupe",
+ "version": "3.2.1",
+ "purl": "pkg:npm/loupe@3.2.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "lru-cache",
+ "version": "10.4.3",
+ "purl": "pkg:npm/lru-cache@10.4.3",
+ "licenses": [
+ {
+ "license": {
+ "id": "ISC"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "magic-string",
+ "version": "0.30.21",
+ "purl": "pkg:npm/magic-string@0.30.21",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "ms",
+ "version": "2.1.3",
+ "purl": "pkg:npm/ms@2.1.3",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "nanoid",
+ "version": "3.3.11",
+ "purl": "pkg:npm/nanoid@3.3.11",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "nwsapi",
+ "version": "2.2.23",
+ "purl": "pkg:npm/nwsapi@2.2.23",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "parse5",
+ "version": "7.3.0",
+ "purl": "pkg:npm/parse5@7.3.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "pathe",
+ "version": "2.0.3",
+ "purl": "pkg:npm/pathe@2.0.3",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "pathval",
+ "version": "2.0.1",
+ "purl": "pkg:npm/pathval@2.0.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "picocolors",
+ "version": "1.1.1",
+ "purl": "pkg:npm/picocolors@1.1.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "ISC"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "picomatch",
+ "version": "4.0.4",
+ "purl": "pkg:npm/picomatch@4.0.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "postcss",
+ "version": "8.5.8",
+ "purl": "pkg:npm/postcss@8.5.8",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "punycode",
+ "version": "2.3.1",
+ "purl": "pkg:npm/punycode@2.3.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "rollup",
+ "version": "4.60.1",
+ "purl": "pkg:npm/rollup@4.60.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "rrweb-cssom",
+ "version": "0.8.0",
+ "purl": "pkg:npm/rrweb-cssom@0.8.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "safer-buffer",
+ "version": "2.1.2",
+ "purl": "pkg:npm/safer-buffer@2.1.2",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "saxes",
+ "version": "6.0.0",
+ "purl": "pkg:npm/saxes@6.0.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "ISC"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "siginfo",
+ "version": "2.0.0",
+ "purl": "pkg:npm/siginfo@2.0.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "ISC"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "source-map-js",
+ "version": "1.2.1",
+ "purl": "pkg:npm/source-map-js@1.2.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "stackback",
+ "version": "0.0.2",
+ "purl": "pkg:npm/stackback@0.0.2",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "std-env",
+ "version": "3.10.0",
+ "purl": "pkg:npm/std-env@3.10.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "strip-literal",
+ "version": "3.1.0",
+ "purl": "pkg:npm/strip-literal@3.1.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "symbol-tree",
+ "version": "3.2.4",
+ "purl": "pkg:npm/symbol-tree@3.2.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "tinybench",
+ "version": "2.9.0",
+ "purl": "pkg:npm/tinybench@2.9.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "tinyexec",
+ "version": "0.3.2",
+ "purl": "pkg:npm/tinyexec@0.3.2",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "tinyglobby",
+ "version": "0.2.15",
+ "purl": "pkg:npm/tinyglobby@0.2.15",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "tinypool",
+ "version": "1.1.1",
+ "purl": "pkg:npm/tinypool@1.1.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "tinyrainbow",
+ "version": "2.0.0",
+ "purl": "pkg:npm/tinyrainbow@2.0.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "tinyspy",
+ "version": "4.0.4",
+ "purl": "pkg:npm/tinyspy@4.0.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "tldts",
+ "version": "6.1.86",
+ "purl": "pkg:npm/tldts@6.1.86",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "tldts-core",
+ "version": "6.1.86",
+ "purl": "pkg:npm/tldts-core@6.1.86",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "tough-cookie",
+ "version": "5.1.2",
+ "purl": "pkg:npm/tough-cookie@5.1.2",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "tr46",
+ "version": "5.1.1",
+ "purl": "pkg:npm/tr46@5.1.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "vite",
+ "version": "7.3.1",
+ "purl": "pkg:npm/vite@7.3.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "vite-node",
+ "version": "3.2.4",
+ "purl": "pkg:npm/vite-node@3.2.4",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "w3c-xmlserializer",
+ "version": "5.0.0",
+ "purl": "pkg:npm/w3c-xmlserializer@5.0.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "webidl-conversions",
+ "version": "7.0.0",
+ "purl": "pkg:npm/webidl-conversions@7.0.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-2-Clause"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "whatwg-encoding",
+ "version": "3.1.1",
+ "purl": "pkg:npm/whatwg-encoding@3.1.1",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "whatwg-mimetype",
+ "version": "4.0.0",
+ "purl": "pkg:npm/whatwg-mimetype@4.0.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "whatwg-url",
+ "version": "14.2.0",
+ "purl": "pkg:npm/whatwg-url@14.2.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "why-is-node-running",
+ "version": "2.3.0",
+ "purl": "pkg:npm/why-is-node-running@2.3.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "ws",
+ "version": "8.20.0",
+ "purl": "pkg:npm/ws@8.20.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "xml-name-validator",
+ "version": "5.0.0",
+ "purl": "pkg:npm/xml-name-validator@5.0.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "xmlchars",
+ "version": "2.2.0",
+ "purl": "pkg:npm/xmlchars@2.2.0",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "application",
+ "name": "actions/checkout",
+ "version": "v4",
+ "purl": "pkg:github/actions/checkout@v4"
+ },
+ {
+ "type": "application",
+ "name": "actions/setup-node",
+ "version": "v4",
+ "purl": "pkg:github/actions/setup-node@v4"
+ },
+ {
+ "type": "application",
+ "name": "actions/checkout",
+ "version": "v6",
+ "purl": "pkg:github/actions/checkout@v6"
+ },
+ {
+ "type": "application",
+ "name": "actions/setup-node",
+ "version": "v6",
+ "purl": "pkg:github/actions/setup-node@v6"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/docs/sbom/cyclonedx-runtime.json b/docs/sbom/cyclonedx-runtime.json
new file mode 100644
index 0000000..1efe604
--- /dev/null
+++ b/docs/sbom/cyclonedx-runtime.json
@@ -0,0 +1,270 @@
+{
+ "$schema": "https://cyclonedx.org/schema/bom-1.6.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.6",
+ "serialNumber": "urn:uuid:9dcbad95-a14b-4d34-8d21-ae1d6263d076",
+ "version": 1,
+ "metadata": {
+ "timestamp": "2026-04-03T22:43:03.258Z",
+ "tools": [
+ {
+ "name": "cveClient-sbom-generator",
+ "version": "1.0.25"
+ }
+ ],
+ "component": {
+ "type": "application",
+ "name": "cveclient",
+ "version": "1.0.25",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "type": "application",
+ "name": "cveInterface",
+ "version": "1.0.25",
+ "purl": "pkg:npm/cveInterface@1.0.25",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "application",
+ "name": "cveClientlib",
+ "version": "1.0.25",
+ "purl": "pkg:npm/cveClientlib@1.0.25",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "application",
+ "name": "schemaToForm",
+ "version": "1.0.10",
+ "purl": "pkg:npm/schemaToForm@1.0.10",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "application",
+ "name": "autoCompleter",
+ "version": "1.0.12",
+ "purl": "pkg:npm/autoCompleter@1.0.12",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "application",
+ "name": "encrypt-storage",
+ "version": "1.1.15",
+ "purl": "pkg:npm/encrypt-storage@1.1.15",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "cveInterface",
+ "version": "2.0.12",
+ "purl": "pkg:npm/cveInterface@2.0.12",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "jquery",
+ "version": "3.5.1",
+ "purl": "pkg:npm/jquery@3.5.1",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://code.jquery.com/jquery-3.5.1.min.js",
+ "hashes": [
+ {
+ "alg": "SHA-384",
+ "content": "ZvpUoO/+PpLXR1lu4jmpXWu80pZlYUAfxl5NsBMWOEPSjUn/6Z/hRTt8+pR6L4N2"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "popper.js",
+ "version": "1.14.7",
+ "purl": "pkg:npm/popper.js@1.14.7",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js",
+ "hashes": [
+ {
+ "alg": "SHA-384",
+ "content": "UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "bootstrap",
+ "version": "4.3.1",
+ "purl": "pkg:npm/bootstrap@4.3.1",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js",
+ "hashes": [
+ {
+ "alg": "SHA-384",
+ "content": "JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "bootstrap-table",
+ "version": "1.19.1",
+ "purl": "pkg:npm/bootstrap-table@1.19.1",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://unpkg.com/bootstrap-table@1.19.1/dist/bootstrap-table.min.js",
+ "hashes": [
+ {
+ "alg": "SHA-384",
+ "content": "c6BpBD7+QRK09NF7WgSPQpBF4z1UdPVJEFAvOnQoNyqtMMuJW/hF+iw3pHlKvmxF"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "bootstrap",
+ "version": "4.3.1",
+ "purl": "pkg:npm/bootstrap@4.3.1",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css",
+ "hashes": [
+ {
+ "alg": "SHA-384",
+ "content": "ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "bootstrap-table",
+ "version": "1.19.1",
+ "purl": "pkg:npm/bootstrap-table@1.19.1",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://unpkg.com/bootstrap-table@1.19.1/dist/bootstrap-table.min.css",
+ "hashes": [
+ {
+ "alg": "SHA-384",
+ "content": "ppHVqi8cSvs9rS2kDYZoGLiwz7RqQSf8Cw/u7yvuBCHnP8LftQKtbJKS6pXF9OXg"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "sweetalert2",
+ "version": "11.26.24",
+ "purl": "pkg:npm/sweetalert2@11.26.24",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ },
+ {
+ "type": "library",
+ "name": "ace-editor",
+ "version": "1.4.12",
+ "purl": "pkg:npm/ace-editor@1.4.12",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0"
+ }
+ }
+ ]
+ },
+ {
+ "type": "data",
+ "name": "CVE_Record_Format_bundled.json"
+ },
+ {
+ "type": "data",
+ "name": "CVE_Record_Format_bundled_adpContainer.json"
+ },
+ {
+ "type": "data",
+ "name": "CVE_Record_Format_bundled_cnaPublishedContainer.json"
+ },
+ {
+ "type": "data",
+ "name": "CVE_Record_Format_bundled_cnaRejectedContainer.json"
+ },
+ {
+ "type": "data",
+ "name": "adp-tags.json"
+ },
+ {
+ "type": "data",
+ "name": "cna-tags.json"
+ },
+ {
+ "type": "data",
+ "name": "reference-tags.json"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/docs/sbom/spdx-dev.json b/docs/sbom/spdx-dev.json
new file mode 100644
index 0000000..cab80fd
--- /dev/null
+++ b/docs/sbom/spdx-dev.json
@@ -0,0 +1,2008 @@
+{
+ "spdxVersion": "SPDX-2.3",
+ "dataLicense": "CC0-1.0",
+ "SPDXID": "SPDXRef-DOCUMENT",
+ "name": "cveclient-dev-sbom",
+ "documentNamespace": "https://github.com/CERTCC/cveClient/spdx/dev/bb6913a5-9ec7-440a-a0b0-d3596722e2e1",
+ "creationInfo": {
+ "created": "2026-04-03T22:43:03.259Z",
+ "creators": [
+ "Tool: cveClient-sbom-generator-1.0.25",
+ "Organization: CERT/CC"
+ ]
+ },
+ "packages": [
+ {
+ "SPDXID": "SPDXRef-root",
+ "name": "cveclient",
+ "versionInfo": "1.0.25",
+ "downloadLocation": "https://github.com/CERTCC/cveClient",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "supplier": "Organization: CERT/CC",
+ "primaryPackagePurpose": "APPLICATION"
+ },
+ {
+ "SPDXID": "SPDXRef-jsdom",
+ "name": "jsdom",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "26.1.0"
+ },
+ {
+ "SPDXID": "SPDXRef-vitest",
+ "name": "vitest",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "3.2.4"
+ },
+ {
+ "SPDXID": "SPDXRef--asamuzakjp-css-color",
+ "name": "@asamuzakjp/css-color",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "3.2.0"
+ },
+ {
+ "SPDXID": "SPDXRef--csstools-color-helpers",
+ "name": "@csstools/color-helpers",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT-0",
+ "licenseDeclared": "MIT-0",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "5.1.0"
+ },
+ {
+ "SPDXID": "SPDXRef--csstools-css-calc",
+ "name": "@csstools/css-calc",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "2.1.4"
+ },
+ {
+ "SPDXID": "SPDXRef--csstools-css-color-parser",
+ "name": "@csstools/css-color-parser",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "3.1.0"
+ },
+ {
+ "SPDXID": "SPDXRef--csstools-css-parser-algorithms",
+ "name": "@csstools/css-parser-algorithms",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "3.0.5"
+ },
+ {
+ "SPDXID": "SPDXRef--csstools-css-tokenizer",
+ "name": "@csstools/css-tokenizer",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "3.0.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-aix-ppc64",
+ "name": "@esbuild/aix-ppc64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-android-arm",
+ "name": "@esbuild/android-arm",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-android-arm64",
+ "name": "@esbuild/android-arm64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-android-x64",
+ "name": "@esbuild/android-x64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-darwin-arm64",
+ "name": "@esbuild/darwin-arm64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-darwin-x64",
+ "name": "@esbuild/darwin-x64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-freebsd-arm64",
+ "name": "@esbuild/freebsd-arm64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-freebsd-x64",
+ "name": "@esbuild/freebsd-x64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-linux-arm",
+ "name": "@esbuild/linux-arm",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-linux-arm64",
+ "name": "@esbuild/linux-arm64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-linux-ia32",
+ "name": "@esbuild/linux-ia32",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-linux-loong64",
+ "name": "@esbuild/linux-loong64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-linux-mips64el",
+ "name": "@esbuild/linux-mips64el",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-linux-ppc64",
+ "name": "@esbuild/linux-ppc64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-linux-riscv64",
+ "name": "@esbuild/linux-riscv64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-linux-s390x",
+ "name": "@esbuild/linux-s390x",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-linux-x64",
+ "name": "@esbuild/linux-x64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-netbsd-arm64",
+ "name": "@esbuild/netbsd-arm64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-netbsd-x64",
+ "name": "@esbuild/netbsd-x64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-openbsd-arm64",
+ "name": "@esbuild/openbsd-arm64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-openbsd-x64",
+ "name": "@esbuild/openbsd-x64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-openharmony-arm64",
+ "name": "@esbuild/openharmony-arm64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-sunos-x64",
+ "name": "@esbuild/sunos-x64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-win32-arm64",
+ "name": "@esbuild/win32-arm64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-win32-ia32",
+ "name": "@esbuild/win32-ia32",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--esbuild-win32-x64",
+ "name": "@esbuild/win32-x64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef--jridgewell-sourcemap-codec",
+ "name": "@jridgewell/sourcemap-codec",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "1.5.5"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-android-arm-eabi",
+ "name": "@rollup/rollup-android-arm-eabi",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-android-arm64",
+ "name": "@rollup/rollup-android-arm64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-darwin-arm64",
+ "name": "@rollup/rollup-darwin-arm64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-darwin-x64",
+ "name": "@rollup/rollup-darwin-x64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-freebsd-arm64",
+ "name": "@rollup/rollup-freebsd-arm64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-freebsd-x64",
+ "name": "@rollup/rollup-freebsd-x64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-linux-arm-gnueabihf",
+ "name": "@rollup/rollup-linux-arm-gnueabihf",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-linux-arm-musleabihf",
+ "name": "@rollup/rollup-linux-arm-musleabihf",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-linux-arm64-gnu",
+ "name": "@rollup/rollup-linux-arm64-gnu",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-linux-arm64-musl",
+ "name": "@rollup/rollup-linux-arm64-musl",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-linux-loong64-gnu",
+ "name": "@rollup/rollup-linux-loong64-gnu",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-linux-loong64-musl",
+ "name": "@rollup/rollup-linux-loong64-musl",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-linux-ppc64-gnu",
+ "name": "@rollup/rollup-linux-ppc64-gnu",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-linux-ppc64-musl",
+ "name": "@rollup/rollup-linux-ppc64-musl",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-linux-riscv64-gnu",
+ "name": "@rollup/rollup-linux-riscv64-gnu",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-linux-riscv64-musl",
+ "name": "@rollup/rollup-linux-riscv64-musl",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-linux-s390x-gnu",
+ "name": "@rollup/rollup-linux-s390x-gnu",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-linux-x64-gnu",
+ "name": "@rollup/rollup-linux-x64-gnu",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-linux-x64-musl",
+ "name": "@rollup/rollup-linux-x64-musl",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-openbsd-x64",
+ "name": "@rollup/rollup-openbsd-x64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-openharmony-arm64",
+ "name": "@rollup/rollup-openharmony-arm64",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-win32-arm64-msvc",
+ "name": "@rollup/rollup-win32-arm64-msvc",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-win32-ia32-msvc",
+ "name": "@rollup/rollup-win32-ia32-msvc",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-win32-x64-gnu",
+ "name": "@rollup/rollup-win32-x64-gnu",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--rollup-rollup-win32-x64-msvc",
+ "name": "@rollup/rollup-win32-x64-msvc",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef--types-chai",
+ "name": "@types/chai",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "5.2.3"
+ },
+ {
+ "SPDXID": "SPDXRef--types-deep-eql",
+ "name": "@types/deep-eql",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.0.2"
+ },
+ {
+ "SPDXID": "SPDXRef--types-estree",
+ "name": "@types/estree",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "1.0.8"
+ },
+ {
+ "SPDXID": "SPDXRef--vitest-expect",
+ "name": "@vitest/expect",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "3.2.4"
+ },
+ {
+ "SPDXID": "SPDXRef--vitest-mocker",
+ "name": "@vitest/mocker",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "3.2.4"
+ },
+ {
+ "SPDXID": "SPDXRef--vitest-pretty-format",
+ "name": "@vitest/pretty-format",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "3.2.4"
+ },
+ {
+ "SPDXID": "SPDXRef--vitest-runner",
+ "name": "@vitest/runner",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "3.2.4"
+ },
+ {
+ "SPDXID": "SPDXRef--vitest-snapshot",
+ "name": "@vitest/snapshot",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "3.2.4"
+ },
+ {
+ "SPDXID": "SPDXRef--vitest-spy",
+ "name": "@vitest/spy",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "3.2.4"
+ },
+ {
+ "SPDXID": "SPDXRef--vitest-utils",
+ "name": "@vitest/utils",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "3.2.4"
+ },
+ {
+ "SPDXID": "SPDXRef-agent-base",
+ "name": "agent-base",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "7.1.4"
+ },
+ {
+ "SPDXID": "SPDXRef-assertion-error",
+ "name": "assertion-error",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "2.0.1"
+ },
+ {
+ "SPDXID": "SPDXRef-cac",
+ "name": "cac",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "6.7.14"
+ },
+ {
+ "SPDXID": "SPDXRef-chai",
+ "name": "chai",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "5.3.3"
+ },
+ {
+ "SPDXID": "SPDXRef-check-error",
+ "name": "check-error",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "2.1.3"
+ },
+ {
+ "SPDXID": "SPDXRef-cssstyle",
+ "name": "cssstyle",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.6.0"
+ },
+ {
+ "SPDXID": "SPDXRef-data-urls",
+ "name": "data-urls",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "5.0.0"
+ },
+ {
+ "SPDXID": "SPDXRef-debug",
+ "name": "debug",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.4.3"
+ },
+ {
+ "SPDXID": "SPDXRef-decimal.js",
+ "name": "decimal.js",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "10.6.0"
+ },
+ {
+ "SPDXID": "SPDXRef-deep-eql",
+ "name": "deep-eql",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "5.0.2"
+ },
+ {
+ "SPDXID": "SPDXRef-entities",
+ "name": "entities",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "BSD-2-Clause",
+ "licenseDeclared": "BSD-2-Clause",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "6.0.1"
+ },
+ {
+ "SPDXID": "SPDXRef-es-module-lexer",
+ "name": "es-module-lexer",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "1.7.0"
+ },
+ {
+ "SPDXID": "SPDXRef-esbuild",
+ "name": "esbuild",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.27.4"
+ },
+ {
+ "SPDXID": "SPDXRef-estree-walker",
+ "name": "estree-walker",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "3.0.3"
+ },
+ {
+ "SPDXID": "SPDXRef-expect-type",
+ "name": "expect-type",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "Apache-2.0",
+ "licenseDeclared": "Apache-2.0",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "1.3.0"
+ },
+ {
+ "SPDXID": "SPDXRef-fdir",
+ "name": "fdir",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "6.5.0"
+ },
+ {
+ "SPDXID": "SPDXRef-fsevents",
+ "name": "fsevents",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "2.3.3"
+ },
+ {
+ "SPDXID": "SPDXRef-html-encoding-sniffer",
+ "name": "html-encoding-sniffer",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.0.0"
+ },
+ {
+ "SPDXID": "SPDXRef-http-proxy-agent",
+ "name": "http-proxy-agent",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "7.0.2"
+ },
+ {
+ "SPDXID": "SPDXRef-https-proxy-agent",
+ "name": "https-proxy-agent",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "7.0.6"
+ },
+ {
+ "SPDXID": "SPDXRef-iconv-lite",
+ "name": "iconv-lite",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.6.3"
+ },
+ {
+ "SPDXID": "SPDXRef-is-potential-custom-element-name",
+ "name": "is-potential-custom-element-name",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "1.0.1"
+ },
+ {
+ "SPDXID": "SPDXRef-js-tokens",
+ "name": "js-tokens",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "9.0.1"
+ },
+ {
+ "SPDXID": "SPDXRef-loupe",
+ "name": "loupe",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "3.2.1"
+ },
+ {
+ "SPDXID": "SPDXRef-lru-cache",
+ "name": "lru-cache",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "ISC",
+ "licenseDeclared": "ISC",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "10.4.3"
+ },
+ {
+ "SPDXID": "SPDXRef-magic-string",
+ "name": "magic-string",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.30.21"
+ },
+ {
+ "SPDXID": "SPDXRef-ms",
+ "name": "ms",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "2.1.3"
+ },
+ {
+ "SPDXID": "SPDXRef-nanoid",
+ "name": "nanoid",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "3.3.11"
+ },
+ {
+ "SPDXID": "SPDXRef-nwsapi",
+ "name": "nwsapi",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "2.2.23"
+ },
+ {
+ "SPDXID": "SPDXRef-parse5",
+ "name": "parse5",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "7.3.0"
+ },
+ {
+ "SPDXID": "SPDXRef-pathe",
+ "name": "pathe",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "2.0.3"
+ },
+ {
+ "SPDXID": "SPDXRef-pathval",
+ "name": "pathval",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "2.0.1"
+ },
+ {
+ "SPDXID": "SPDXRef-picocolors",
+ "name": "picocolors",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "ISC",
+ "licenseDeclared": "ISC",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "1.1.1"
+ },
+ {
+ "SPDXID": "SPDXRef-picomatch",
+ "name": "picomatch",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.0.4"
+ },
+ {
+ "SPDXID": "SPDXRef-postcss",
+ "name": "postcss",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "8.5.8"
+ },
+ {
+ "SPDXID": "SPDXRef-punycode",
+ "name": "punycode",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "2.3.1"
+ },
+ {
+ "SPDXID": "SPDXRef-rollup",
+ "name": "rollup",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.60.1"
+ },
+ {
+ "SPDXID": "SPDXRef-rrweb-cssom",
+ "name": "rrweb-cssom",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.8.0"
+ },
+ {
+ "SPDXID": "SPDXRef-safer-buffer",
+ "name": "safer-buffer",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "2.1.2"
+ },
+ {
+ "SPDXID": "SPDXRef-saxes",
+ "name": "saxes",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "ISC",
+ "licenseDeclared": "ISC",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "6.0.0"
+ },
+ {
+ "SPDXID": "SPDXRef-siginfo",
+ "name": "siginfo",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "ISC",
+ "licenseDeclared": "ISC",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "2.0.0"
+ },
+ {
+ "SPDXID": "SPDXRef-source-map-js",
+ "name": "source-map-js",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "BSD-3-Clause",
+ "licenseDeclared": "BSD-3-Clause",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "1.2.1"
+ },
+ {
+ "SPDXID": "SPDXRef-stackback",
+ "name": "stackback",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.0.2"
+ },
+ {
+ "SPDXID": "SPDXRef-std-env",
+ "name": "std-env",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "3.10.0"
+ },
+ {
+ "SPDXID": "SPDXRef-strip-literal",
+ "name": "strip-literal",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "3.1.0"
+ },
+ {
+ "SPDXID": "SPDXRef-symbol-tree",
+ "name": "symbol-tree",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "3.2.4"
+ },
+ {
+ "SPDXID": "SPDXRef-tinybench",
+ "name": "tinybench",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "2.9.0"
+ },
+ {
+ "SPDXID": "SPDXRef-tinyexec",
+ "name": "tinyexec",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.3.2"
+ },
+ {
+ "SPDXID": "SPDXRef-tinyglobby",
+ "name": "tinyglobby",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "0.2.15"
+ },
+ {
+ "SPDXID": "SPDXRef-tinypool",
+ "name": "tinypool",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "1.1.1"
+ },
+ {
+ "SPDXID": "SPDXRef-tinyrainbow",
+ "name": "tinyrainbow",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "2.0.0"
+ },
+ {
+ "SPDXID": "SPDXRef-tinyspy",
+ "name": "tinyspy",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.0.4"
+ },
+ {
+ "SPDXID": "SPDXRef-tldts",
+ "name": "tldts",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "6.1.86"
+ },
+ {
+ "SPDXID": "SPDXRef-tldts-core",
+ "name": "tldts-core",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "6.1.86"
+ },
+ {
+ "SPDXID": "SPDXRef-tough-cookie",
+ "name": "tough-cookie",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "BSD-3-Clause",
+ "licenseDeclared": "BSD-3-Clause",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "5.1.2"
+ },
+ {
+ "SPDXID": "SPDXRef-tr46",
+ "name": "tr46",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "5.1.1"
+ },
+ {
+ "SPDXID": "SPDXRef-vite",
+ "name": "vite",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "7.3.1"
+ },
+ {
+ "SPDXID": "SPDXRef-vite-node",
+ "name": "vite-node",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "3.2.4"
+ },
+ {
+ "SPDXID": "SPDXRef-w3c-xmlserializer",
+ "name": "w3c-xmlserializer",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "5.0.0"
+ },
+ {
+ "SPDXID": "SPDXRef-webidl-conversions",
+ "name": "webidl-conversions",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "BSD-2-Clause",
+ "licenseDeclared": "BSD-2-Clause",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "7.0.0"
+ },
+ {
+ "SPDXID": "SPDXRef-whatwg-encoding",
+ "name": "whatwg-encoding",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "3.1.1"
+ },
+ {
+ "SPDXID": "SPDXRef-whatwg-mimetype",
+ "name": "whatwg-mimetype",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.0.0"
+ },
+ {
+ "SPDXID": "SPDXRef-whatwg-url",
+ "name": "whatwg-url",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "14.2.0"
+ },
+ {
+ "SPDXID": "SPDXRef-why-is-node-running",
+ "name": "why-is-node-running",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "2.3.0"
+ },
+ {
+ "SPDXID": "SPDXRef-ws",
+ "name": "ws",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "8.20.0"
+ },
+ {
+ "SPDXID": "SPDXRef-xml-name-validator",
+ "name": "xml-name-validator",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "Apache-2.0",
+ "licenseDeclared": "Apache-2.0",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "5.0.0"
+ },
+ {
+ "SPDXID": "SPDXRef-xmlchars",
+ "name": "xmlchars",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "2.2.0"
+ },
+ {
+ "SPDXID": "SPDXRef-actions-checkout",
+ "name": "actions/checkout",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "NOASSERTION",
+ "licenseDeclared": "NOASSERTION",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "v4"
+ },
+ {
+ "SPDXID": "SPDXRef-actions-setup-node",
+ "name": "actions/setup-node",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "NOASSERTION",
+ "licenseDeclared": "NOASSERTION",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "v4"
+ },
+ {
+ "SPDXID": "SPDXRef-actions-checkout",
+ "name": "actions/checkout",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "NOASSERTION",
+ "licenseDeclared": "NOASSERTION",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "v6"
+ },
+ {
+ "SPDXID": "SPDXRef-actions-setup-node",
+ "name": "actions/setup-node",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "NOASSERTION",
+ "licenseDeclared": "NOASSERTION",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "v6"
+ }
+ ],
+ "relationships": [
+ {
+ "spdxElementId": "SPDXRef-DOCUMENT",
+ "relatedSpdxElement": "SPDXRef-root",
+ "relationshipType": "DESCRIBES"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-jsdom",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-vitest",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--asamuzakjp-css-color",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--csstools-color-helpers",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--csstools-css-calc",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--csstools-css-color-parser",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--csstools-css-parser-algorithms",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--csstools-css-tokenizer",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-aix-ppc64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-android-arm",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-android-arm64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-android-x64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-darwin-arm64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-darwin-x64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-freebsd-arm64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-freebsd-x64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-linux-arm",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-linux-arm64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-linux-ia32",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-linux-loong64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-linux-mips64el",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-linux-ppc64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-linux-riscv64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-linux-s390x",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-linux-x64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-netbsd-arm64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-netbsd-x64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-openbsd-arm64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-openbsd-x64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-openharmony-arm64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-sunos-x64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-win32-arm64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-win32-ia32",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--esbuild-win32-x64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--jridgewell-sourcemap-codec",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-android-arm-eabi",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-android-arm64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-darwin-arm64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-darwin-x64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-freebsd-arm64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-freebsd-x64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-linux-arm-gnueabihf",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-linux-arm-musleabihf",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-linux-arm64-gnu",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-linux-arm64-musl",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-linux-loong64-gnu",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-linux-loong64-musl",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-linux-ppc64-gnu",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-linux-ppc64-musl",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-linux-riscv64-gnu",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-linux-riscv64-musl",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-linux-s390x-gnu",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-linux-x64-gnu",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-linux-x64-musl",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-openbsd-x64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-openharmony-arm64",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-win32-arm64-msvc",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-win32-ia32-msvc",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-win32-x64-gnu",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--rollup-rollup-win32-x64-msvc",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--types-chai",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--types-deep-eql",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--types-estree",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--vitest-expect",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--vitest-mocker",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--vitest-pretty-format",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--vitest-runner",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--vitest-snapshot",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--vitest-spy",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef--vitest-utils",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-agent-base",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-assertion-error",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-cac",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-chai",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-check-error",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-cssstyle",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-data-urls",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-debug",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-decimal.js",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-deep-eql",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-entities",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-es-module-lexer",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-esbuild",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-estree-walker",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-expect-type",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-fdir",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-fsevents",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-html-encoding-sniffer",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-http-proxy-agent",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-https-proxy-agent",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-iconv-lite",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-is-potential-custom-element-name",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-js-tokens",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-loupe",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-lru-cache",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-magic-string",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-ms",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-nanoid",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-nwsapi",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-parse5",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-pathe",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-pathval",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-picocolors",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-picomatch",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-postcss",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-punycode",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-rollup",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-rrweb-cssom",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-safer-buffer",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-saxes",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-siginfo",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-source-map-js",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-stackback",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-std-env",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-strip-literal",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-symbol-tree",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-tinybench",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-tinyexec",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-tinyglobby",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-tinypool",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-tinyrainbow",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-tinyspy",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-tldts",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-tldts-core",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-tough-cookie",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-tr46",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-vite",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-vite-node",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-w3c-xmlserializer",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-webidl-conversions",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-whatwg-encoding",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-whatwg-mimetype",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-whatwg-url",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-why-is-node-running",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-ws",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-xml-name-validator",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-xmlchars",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-actions-checkout",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-actions-setup-node",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-actions-checkout",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-actions-setup-node",
+ "relationshipType": "DEPENDS_ON"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/docs/sbom/spdx-dev.spdx b/docs/sbom/spdx-dev.spdx
new file mode 100644
index 0000000..2dd4229
--- /dev/null
+++ b/docs/sbom/spdx-dev.spdx
@@ -0,0 +1,1289 @@
+SPDXVersion: SPDX-2.3
+DataLicense: CC0-1.0
+SPDXID: SPDXRef-DOCUMENT
+DocumentName: cveclient-dev-sbom
+DocumentNamespace: https://github.com/CERTCC/cveClient/spdx/dev/6cf760ae-3554-4101-a295-4ceb5cf83b31
+Creator: Tool: cveClient-sbom-generator-1.0.25
+Creator: Organization: CERT/CC
+Created: 2026-04-03T22:43:03.259Z
+
+PackageName: cveclient
+SPDXID: SPDXRef-root
+PackageVersion: 1.0.25
+PackageDownloadLocation: https://github.com/CERTCC/cveClient
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+PackageSupplier: Organization: CERT/CC
+PrimaryPackagePurpose: APPLICATION
+
+PackageName: jsdom
+SPDXID: SPDXRef-jsdom
+PackageVersion: 26.1.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: vitest
+SPDXID: SPDXRef-vitest
+PackageVersion: 3.2.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @asamuzakjp/css-color
+SPDXID: SPDXRef--asamuzakjp-css-color
+PackageVersion: 3.2.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @csstools/color-helpers
+SPDXID: SPDXRef--csstools-color-helpers
+PackageVersion: 5.1.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT-0
+PackageLicenseDeclared: MIT-0
+PackageCopyrightText: NOASSERTION
+
+PackageName: @csstools/css-calc
+SPDXID: SPDXRef--csstools-css-calc
+PackageVersion: 2.1.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @csstools/css-color-parser
+SPDXID: SPDXRef--csstools-css-color-parser
+PackageVersion: 3.1.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @csstools/css-parser-algorithms
+SPDXID: SPDXRef--csstools-css-parser-algorithms
+PackageVersion: 3.0.5
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @csstools/css-tokenizer
+SPDXID: SPDXRef--csstools-css-tokenizer
+PackageVersion: 3.0.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/aix-ppc64
+SPDXID: SPDXRef--esbuild-aix-ppc64
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/android-arm
+SPDXID: SPDXRef--esbuild-android-arm
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/android-arm64
+SPDXID: SPDXRef--esbuild-android-arm64
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/android-x64
+SPDXID: SPDXRef--esbuild-android-x64
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/darwin-arm64
+SPDXID: SPDXRef--esbuild-darwin-arm64
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/darwin-x64
+SPDXID: SPDXRef--esbuild-darwin-x64
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/freebsd-arm64
+SPDXID: SPDXRef--esbuild-freebsd-arm64
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/freebsd-x64
+SPDXID: SPDXRef--esbuild-freebsd-x64
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/linux-arm
+SPDXID: SPDXRef--esbuild-linux-arm
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/linux-arm64
+SPDXID: SPDXRef--esbuild-linux-arm64
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/linux-ia32
+SPDXID: SPDXRef--esbuild-linux-ia32
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/linux-loong64
+SPDXID: SPDXRef--esbuild-linux-loong64
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/linux-mips64el
+SPDXID: SPDXRef--esbuild-linux-mips64el
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/linux-ppc64
+SPDXID: SPDXRef--esbuild-linux-ppc64
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/linux-riscv64
+SPDXID: SPDXRef--esbuild-linux-riscv64
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/linux-s390x
+SPDXID: SPDXRef--esbuild-linux-s390x
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/linux-x64
+SPDXID: SPDXRef--esbuild-linux-x64
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/netbsd-arm64
+SPDXID: SPDXRef--esbuild-netbsd-arm64
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/netbsd-x64
+SPDXID: SPDXRef--esbuild-netbsd-x64
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/openbsd-arm64
+SPDXID: SPDXRef--esbuild-openbsd-arm64
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/openbsd-x64
+SPDXID: SPDXRef--esbuild-openbsd-x64
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/openharmony-arm64
+SPDXID: SPDXRef--esbuild-openharmony-arm64
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/sunos-x64
+SPDXID: SPDXRef--esbuild-sunos-x64
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/win32-arm64
+SPDXID: SPDXRef--esbuild-win32-arm64
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/win32-ia32
+SPDXID: SPDXRef--esbuild-win32-ia32
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @esbuild/win32-x64
+SPDXID: SPDXRef--esbuild-win32-x64
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @jridgewell/sourcemap-codec
+SPDXID: SPDXRef--jridgewell-sourcemap-codec
+PackageVersion: 1.5.5
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-android-arm-eabi
+SPDXID: SPDXRef--rollup-rollup-android-arm-eabi
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-android-arm64
+SPDXID: SPDXRef--rollup-rollup-android-arm64
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-darwin-arm64
+SPDXID: SPDXRef--rollup-rollup-darwin-arm64
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-darwin-x64
+SPDXID: SPDXRef--rollup-rollup-darwin-x64
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-freebsd-arm64
+SPDXID: SPDXRef--rollup-rollup-freebsd-arm64
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-freebsd-x64
+SPDXID: SPDXRef--rollup-rollup-freebsd-x64
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-linux-arm-gnueabihf
+SPDXID: SPDXRef--rollup-rollup-linux-arm-gnueabihf
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-linux-arm-musleabihf
+SPDXID: SPDXRef--rollup-rollup-linux-arm-musleabihf
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-linux-arm64-gnu
+SPDXID: SPDXRef--rollup-rollup-linux-arm64-gnu
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-linux-arm64-musl
+SPDXID: SPDXRef--rollup-rollup-linux-arm64-musl
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-linux-loong64-gnu
+SPDXID: SPDXRef--rollup-rollup-linux-loong64-gnu
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-linux-loong64-musl
+SPDXID: SPDXRef--rollup-rollup-linux-loong64-musl
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-linux-ppc64-gnu
+SPDXID: SPDXRef--rollup-rollup-linux-ppc64-gnu
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-linux-ppc64-musl
+SPDXID: SPDXRef--rollup-rollup-linux-ppc64-musl
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-linux-riscv64-gnu
+SPDXID: SPDXRef--rollup-rollup-linux-riscv64-gnu
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-linux-riscv64-musl
+SPDXID: SPDXRef--rollup-rollup-linux-riscv64-musl
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-linux-s390x-gnu
+SPDXID: SPDXRef--rollup-rollup-linux-s390x-gnu
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-linux-x64-gnu
+SPDXID: SPDXRef--rollup-rollup-linux-x64-gnu
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-linux-x64-musl
+SPDXID: SPDXRef--rollup-rollup-linux-x64-musl
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-openbsd-x64
+SPDXID: SPDXRef--rollup-rollup-openbsd-x64
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-openharmony-arm64
+SPDXID: SPDXRef--rollup-rollup-openharmony-arm64
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-win32-arm64-msvc
+SPDXID: SPDXRef--rollup-rollup-win32-arm64-msvc
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-win32-ia32-msvc
+SPDXID: SPDXRef--rollup-rollup-win32-ia32-msvc
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-win32-x64-gnu
+SPDXID: SPDXRef--rollup-rollup-win32-x64-gnu
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @rollup/rollup-win32-x64-msvc
+SPDXID: SPDXRef--rollup-rollup-win32-x64-msvc
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @types/chai
+SPDXID: SPDXRef--types-chai
+PackageVersion: 5.2.3
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @types/deep-eql
+SPDXID: SPDXRef--types-deep-eql
+PackageVersion: 4.0.2
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @types/estree
+SPDXID: SPDXRef--types-estree
+PackageVersion: 1.0.8
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @vitest/expect
+SPDXID: SPDXRef--vitest-expect
+PackageVersion: 3.2.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @vitest/mocker
+SPDXID: SPDXRef--vitest-mocker
+PackageVersion: 3.2.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @vitest/pretty-format
+SPDXID: SPDXRef--vitest-pretty-format
+PackageVersion: 3.2.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @vitest/runner
+SPDXID: SPDXRef--vitest-runner
+PackageVersion: 3.2.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @vitest/snapshot
+SPDXID: SPDXRef--vitest-snapshot
+PackageVersion: 3.2.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @vitest/spy
+SPDXID: SPDXRef--vitest-spy
+PackageVersion: 3.2.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: @vitest/utils
+SPDXID: SPDXRef--vitest-utils
+PackageVersion: 3.2.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: agent-base
+SPDXID: SPDXRef-agent-base
+PackageVersion: 7.1.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: assertion-error
+SPDXID: SPDXRef-assertion-error
+PackageVersion: 2.0.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: cac
+SPDXID: SPDXRef-cac
+PackageVersion: 6.7.14
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: chai
+SPDXID: SPDXRef-chai
+PackageVersion: 5.3.3
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: check-error
+SPDXID: SPDXRef-check-error
+PackageVersion: 2.1.3
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: cssstyle
+SPDXID: SPDXRef-cssstyle
+PackageVersion: 4.6.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: data-urls
+SPDXID: SPDXRef-data-urls
+PackageVersion: 5.0.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: debug
+SPDXID: SPDXRef-debug
+PackageVersion: 4.4.3
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: decimal.js
+SPDXID: SPDXRef-decimal.js
+PackageVersion: 10.6.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: deep-eql
+SPDXID: SPDXRef-deep-eql
+PackageVersion: 5.0.2
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: entities
+SPDXID: SPDXRef-entities
+PackageVersion: 6.0.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: BSD-2-Clause
+PackageLicenseDeclared: BSD-2-Clause
+PackageCopyrightText: NOASSERTION
+
+PackageName: es-module-lexer
+SPDXID: SPDXRef-es-module-lexer
+PackageVersion: 1.7.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: esbuild
+SPDXID: SPDXRef-esbuild
+PackageVersion: 0.27.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: estree-walker
+SPDXID: SPDXRef-estree-walker
+PackageVersion: 3.0.3
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: expect-type
+SPDXID: SPDXRef-expect-type
+PackageVersion: 1.3.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: Apache-2.0
+PackageLicenseDeclared: Apache-2.0
+PackageCopyrightText: NOASSERTION
+
+PackageName: fdir
+SPDXID: SPDXRef-fdir
+PackageVersion: 6.5.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: fsevents
+SPDXID: SPDXRef-fsevents
+PackageVersion: 2.3.3
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: html-encoding-sniffer
+SPDXID: SPDXRef-html-encoding-sniffer
+PackageVersion: 4.0.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: http-proxy-agent
+SPDXID: SPDXRef-http-proxy-agent
+PackageVersion: 7.0.2
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: https-proxy-agent
+SPDXID: SPDXRef-https-proxy-agent
+PackageVersion: 7.0.6
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: iconv-lite
+SPDXID: SPDXRef-iconv-lite
+PackageVersion: 0.6.3
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: is-potential-custom-element-name
+SPDXID: SPDXRef-is-potential-custom-element-name
+PackageVersion: 1.0.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: js-tokens
+SPDXID: SPDXRef-js-tokens
+PackageVersion: 9.0.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: loupe
+SPDXID: SPDXRef-loupe
+PackageVersion: 3.2.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: lru-cache
+SPDXID: SPDXRef-lru-cache
+PackageVersion: 10.4.3
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: ISC
+PackageLicenseDeclared: ISC
+PackageCopyrightText: NOASSERTION
+
+PackageName: magic-string
+SPDXID: SPDXRef-magic-string
+PackageVersion: 0.30.21
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: ms
+SPDXID: SPDXRef-ms
+PackageVersion: 2.1.3
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: nanoid
+SPDXID: SPDXRef-nanoid
+PackageVersion: 3.3.11
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: nwsapi
+SPDXID: SPDXRef-nwsapi
+PackageVersion: 2.2.23
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: parse5
+SPDXID: SPDXRef-parse5
+PackageVersion: 7.3.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: pathe
+SPDXID: SPDXRef-pathe
+PackageVersion: 2.0.3
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: pathval
+SPDXID: SPDXRef-pathval
+PackageVersion: 2.0.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: picocolors
+SPDXID: SPDXRef-picocolors
+PackageVersion: 1.1.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: ISC
+PackageLicenseDeclared: ISC
+PackageCopyrightText: NOASSERTION
+
+PackageName: picomatch
+SPDXID: SPDXRef-picomatch
+PackageVersion: 4.0.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: postcss
+SPDXID: SPDXRef-postcss
+PackageVersion: 8.5.8
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: punycode
+SPDXID: SPDXRef-punycode
+PackageVersion: 2.3.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: rollup
+SPDXID: SPDXRef-rollup
+PackageVersion: 4.60.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: rrweb-cssom
+SPDXID: SPDXRef-rrweb-cssom
+PackageVersion: 0.8.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: safer-buffer
+SPDXID: SPDXRef-safer-buffer
+PackageVersion: 2.1.2
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: saxes
+SPDXID: SPDXRef-saxes
+PackageVersion: 6.0.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: ISC
+PackageLicenseDeclared: ISC
+PackageCopyrightText: NOASSERTION
+
+PackageName: siginfo
+SPDXID: SPDXRef-siginfo
+PackageVersion: 2.0.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: ISC
+PackageLicenseDeclared: ISC
+PackageCopyrightText: NOASSERTION
+
+PackageName: source-map-js
+SPDXID: SPDXRef-source-map-js
+PackageVersion: 1.2.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: BSD-3-Clause
+PackageLicenseDeclared: BSD-3-Clause
+PackageCopyrightText: NOASSERTION
+
+PackageName: stackback
+SPDXID: SPDXRef-stackback
+PackageVersion: 0.0.2
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: std-env
+SPDXID: SPDXRef-std-env
+PackageVersion: 3.10.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: strip-literal
+SPDXID: SPDXRef-strip-literal
+PackageVersion: 3.1.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: symbol-tree
+SPDXID: SPDXRef-symbol-tree
+PackageVersion: 3.2.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: tinybench
+SPDXID: SPDXRef-tinybench
+PackageVersion: 2.9.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: tinyexec
+SPDXID: SPDXRef-tinyexec
+PackageVersion: 0.3.2
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: tinyglobby
+SPDXID: SPDXRef-tinyglobby
+PackageVersion: 0.2.15
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: tinypool
+SPDXID: SPDXRef-tinypool
+PackageVersion: 1.1.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: tinyrainbow
+SPDXID: SPDXRef-tinyrainbow
+PackageVersion: 2.0.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: tinyspy
+SPDXID: SPDXRef-tinyspy
+PackageVersion: 4.0.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: tldts
+SPDXID: SPDXRef-tldts
+PackageVersion: 6.1.86
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: tldts-core
+SPDXID: SPDXRef-tldts-core
+PackageVersion: 6.1.86
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: tough-cookie
+SPDXID: SPDXRef-tough-cookie
+PackageVersion: 5.1.2
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: BSD-3-Clause
+PackageLicenseDeclared: BSD-3-Clause
+PackageCopyrightText: NOASSERTION
+
+PackageName: tr46
+SPDXID: SPDXRef-tr46
+PackageVersion: 5.1.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: vite
+SPDXID: SPDXRef-vite
+PackageVersion: 7.3.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: vite-node
+SPDXID: SPDXRef-vite-node
+PackageVersion: 3.2.4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: w3c-xmlserializer
+SPDXID: SPDXRef-w3c-xmlserializer
+PackageVersion: 5.0.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: webidl-conversions
+SPDXID: SPDXRef-webidl-conversions
+PackageVersion: 7.0.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: BSD-2-Clause
+PackageLicenseDeclared: BSD-2-Clause
+PackageCopyrightText: NOASSERTION
+
+PackageName: whatwg-encoding
+SPDXID: SPDXRef-whatwg-encoding
+PackageVersion: 3.1.1
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: whatwg-mimetype
+SPDXID: SPDXRef-whatwg-mimetype
+PackageVersion: 4.0.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: whatwg-url
+SPDXID: SPDXRef-whatwg-url
+PackageVersion: 14.2.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: why-is-node-running
+SPDXID: SPDXRef-why-is-node-running
+PackageVersion: 2.3.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: ws
+SPDXID: SPDXRef-ws
+PackageVersion: 8.20.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: xml-name-validator
+SPDXID: SPDXRef-xml-name-validator
+PackageVersion: 5.0.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: Apache-2.0
+PackageLicenseDeclared: Apache-2.0
+PackageCopyrightText: NOASSERTION
+
+PackageName: xmlchars
+SPDXID: SPDXRef-xmlchars
+PackageVersion: 2.2.0
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: actions/checkout
+SPDXID: SPDXRef-actions-checkout
+PackageVersion: v4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: NOASSERTION
+PackageLicenseDeclared: NOASSERTION
+PackageCopyrightText: NOASSERTION
+
+PackageName: actions/setup-node
+SPDXID: SPDXRef-actions-setup-node
+PackageVersion: v4
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: NOASSERTION
+PackageLicenseDeclared: NOASSERTION
+PackageCopyrightText: NOASSERTION
+
+PackageName: actions/checkout
+SPDXID: SPDXRef-actions-checkout
+PackageVersion: v6
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: NOASSERTION
+PackageLicenseDeclared: NOASSERTION
+PackageCopyrightText: NOASSERTION
+
+PackageName: actions/setup-node
+SPDXID: SPDXRef-actions-setup-node
+PackageVersion: v6
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: NOASSERTION
+PackageLicenseDeclared: NOASSERTION
+PackageCopyrightText: NOASSERTION
+
+Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-root
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-jsdom
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-vitest
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--asamuzakjp-css-color
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--csstools-color-helpers
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--csstools-css-calc
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--csstools-css-color-parser
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--csstools-css-parser-algorithms
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--csstools-css-tokenizer
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-aix-ppc64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-android-arm
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-android-arm64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-android-x64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-darwin-arm64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-darwin-x64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-freebsd-arm64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-freebsd-x64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-linux-arm
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-linux-arm64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-linux-ia32
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-linux-loong64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-linux-mips64el
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-linux-ppc64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-linux-riscv64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-linux-s390x
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-linux-x64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-netbsd-arm64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-netbsd-x64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-openbsd-arm64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-openbsd-x64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-openharmony-arm64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-sunos-x64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-win32-arm64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-win32-ia32
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--esbuild-win32-x64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--jridgewell-sourcemap-codec
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-android-arm-eabi
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-android-arm64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-darwin-arm64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-darwin-x64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-freebsd-arm64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-freebsd-x64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-linux-arm-gnueabihf
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-linux-arm-musleabihf
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-linux-arm64-gnu
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-linux-arm64-musl
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-linux-loong64-gnu
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-linux-loong64-musl
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-linux-ppc64-gnu
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-linux-ppc64-musl
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-linux-riscv64-gnu
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-linux-riscv64-musl
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-linux-s390x-gnu
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-linux-x64-gnu
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-linux-x64-musl
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-openbsd-x64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-openharmony-arm64
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-win32-arm64-msvc
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-win32-ia32-msvc
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-win32-x64-gnu
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--rollup-rollup-win32-x64-msvc
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--types-chai
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--types-deep-eql
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--types-estree
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--vitest-expect
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--vitest-mocker
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--vitest-pretty-format
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--vitest-runner
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--vitest-snapshot
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--vitest-spy
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef--vitest-utils
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-agent-base
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-assertion-error
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-cac
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-chai
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-check-error
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-cssstyle
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-data-urls
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-debug
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-decimal.js
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-deep-eql
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-entities
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-es-module-lexer
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-esbuild
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-estree-walker
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-expect-type
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-fdir
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-fsevents
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-html-encoding-sniffer
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-http-proxy-agent
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-https-proxy-agent
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-iconv-lite
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-is-potential-custom-element-name
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-js-tokens
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-loupe
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-lru-cache
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-magic-string
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-ms
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-nanoid
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-nwsapi
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-parse5
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-pathe
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-pathval
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-picocolors
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-picomatch
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-postcss
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-punycode
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-rollup
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-rrweb-cssom
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-safer-buffer
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-saxes
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-siginfo
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-source-map-js
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-stackback
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-std-env
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-strip-literal
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-symbol-tree
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-tinybench
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-tinyexec
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-tinyglobby
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-tinypool
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-tinyrainbow
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-tinyspy
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-tldts
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-tldts-core
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-tough-cookie
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-tr46
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-vite
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-vite-node
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-w3c-xmlserializer
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-webidl-conversions
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-whatwg-encoding
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-whatwg-mimetype
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-whatwg-url
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-why-is-node-running
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-ws
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-xml-name-validator
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-xmlchars
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-actions-checkout
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-actions-setup-node
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-actions-checkout
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-actions-setup-node
diff --git a/docs/sbom/spdx-runtime.json b/docs/sbom/spdx-runtime.json
new file mode 100644
index 0000000..f018857
--- /dev/null
+++ b/docs/sbom/spdx-runtime.json
@@ -0,0 +1,321 @@
+{
+ "spdxVersion": "SPDX-2.3",
+ "dataLicense": "CC0-1.0",
+ "SPDXID": "SPDXRef-DOCUMENT",
+ "name": "cveclient-runtime-sbom",
+ "documentNamespace": "https://github.com/CERTCC/cveClient/spdx/runtime/4c279548-b07f-4dfa-9f91-1ff56513907c",
+ "creationInfo": {
+ "created": "2026-04-03T22:43:03.259Z",
+ "creators": [
+ "Tool: cveClient-sbom-generator-1.0.25",
+ "Organization: CERT/CC"
+ ]
+ },
+ "packages": [
+ {
+ "SPDXID": "SPDXRef-root",
+ "name": "cveclient",
+ "versionInfo": "1.0.25",
+ "downloadLocation": "https://github.com/CERTCC/cveClient",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "supplier": "Organization: CERT/CC",
+ "primaryPackagePurpose": "APPLICATION"
+ },
+ {
+ "SPDXID": "SPDXRef-cveInterface",
+ "name": "cveInterface",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "1.0.25"
+ },
+ {
+ "SPDXID": "SPDXRef-cveClientlib",
+ "name": "cveClientlib",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "1.0.25"
+ },
+ {
+ "SPDXID": "SPDXRef-schemaToForm",
+ "name": "schemaToForm",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "1.0.10"
+ },
+ {
+ "SPDXID": "SPDXRef-autoCompleter",
+ "name": "autoCompleter",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "1.0.12"
+ },
+ {
+ "SPDXID": "SPDXRef-encrypt-storage",
+ "name": "encrypt-storage",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "1.1.15"
+ },
+ {
+ "SPDXID": "SPDXRef-cveInterface",
+ "name": "cveInterface",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "2.0.12"
+ },
+ {
+ "SPDXID": "SPDXRef-jquery",
+ "name": "jquery",
+ "downloadLocation": "https://code.jquery.com/jquery-3.5.1.min.js",
+ "licenseConcluded": "NOASSERTION",
+ "licenseDeclared": "NOASSERTION",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "3.5.1"
+ },
+ {
+ "SPDXID": "SPDXRef-popper.js",
+ "name": "popper.js",
+ "downloadLocation": "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js",
+ "licenseConcluded": "NOASSERTION",
+ "licenseDeclared": "NOASSERTION",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "1.14.7"
+ },
+ {
+ "SPDXID": "SPDXRef-bootstrap",
+ "name": "bootstrap",
+ "downloadLocation": "https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js",
+ "licenseConcluded": "NOASSERTION",
+ "licenseDeclared": "NOASSERTION",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.3.1"
+ },
+ {
+ "SPDXID": "SPDXRef-bootstrap-table",
+ "name": "bootstrap-table",
+ "downloadLocation": "https://unpkg.com/bootstrap-table@1.19.1/dist/bootstrap-table.min.js",
+ "licenseConcluded": "NOASSERTION",
+ "licenseDeclared": "NOASSERTION",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "1.19.1"
+ },
+ {
+ "SPDXID": "SPDXRef-bootstrap",
+ "name": "bootstrap",
+ "downloadLocation": "https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css",
+ "licenseConcluded": "NOASSERTION",
+ "licenseDeclared": "NOASSERTION",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "4.3.1"
+ },
+ {
+ "SPDXID": "SPDXRef-bootstrap-table",
+ "name": "bootstrap-table",
+ "downloadLocation": "https://unpkg.com/bootstrap-table@1.19.1/dist/bootstrap-table.min.css",
+ "licenseConcluded": "NOASSERTION",
+ "licenseDeclared": "NOASSERTION",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "1.19.1"
+ },
+ {
+ "SPDXID": "SPDXRef-sweetalert2",
+ "name": "sweetalert2",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "MIT",
+ "licenseDeclared": "MIT",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "11.26.24"
+ },
+ {
+ "SPDXID": "SPDXRef-ace-editor",
+ "name": "ace-editor",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "Apache-2.0",
+ "licenseDeclared": "Apache-2.0",
+ "copyrightText": "NOASSERTION",
+ "versionInfo": "1.4.12"
+ },
+ {
+ "SPDXID": "SPDXRef-CVE-Record-Format-bundled.json",
+ "name": "CVE_Record_Format_bundled.json",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "NOASSERTION",
+ "licenseDeclared": "NOASSERTION",
+ "copyrightText": "NOASSERTION"
+ },
+ {
+ "SPDXID": "SPDXRef-CVE-Record-Format-bundled-adpContainer.json",
+ "name": "CVE_Record_Format_bundled_adpContainer.json",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "NOASSERTION",
+ "licenseDeclared": "NOASSERTION",
+ "copyrightText": "NOASSERTION"
+ },
+ {
+ "SPDXID": "SPDXRef-CVE-Record-Format-bundled-cnaPublishedContainer.json",
+ "name": "CVE_Record_Format_bundled_cnaPublishedContainer.json",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "NOASSERTION",
+ "licenseDeclared": "NOASSERTION",
+ "copyrightText": "NOASSERTION"
+ },
+ {
+ "SPDXID": "SPDXRef-CVE-Record-Format-bundled-cnaRejectedContainer.json",
+ "name": "CVE_Record_Format_bundled_cnaRejectedContainer.json",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "NOASSERTION",
+ "licenseDeclared": "NOASSERTION",
+ "copyrightText": "NOASSERTION"
+ },
+ {
+ "SPDXID": "SPDXRef-adp-tags.json",
+ "name": "adp-tags.json",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "NOASSERTION",
+ "licenseDeclared": "NOASSERTION",
+ "copyrightText": "NOASSERTION"
+ },
+ {
+ "SPDXID": "SPDXRef-cna-tags.json",
+ "name": "cna-tags.json",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "NOASSERTION",
+ "licenseDeclared": "NOASSERTION",
+ "copyrightText": "NOASSERTION"
+ },
+ {
+ "SPDXID": "SPDXRef-reference-tags.json",
+ "name": "reference-tags.json",
+ "downloadLocation": "NOASSERTION",
+ "licenseConcluded": "NOASSERTION",
+ "licenseDeclared": "NOASSERTION",
+ "copyrightText": "NOASSERTION"
+ }
+ ],
+ "relationships": [
+ {
+ "spdxElementId": "SPDXRef-DOCUMENT",
+ "relatedSpdxElement": "SPDXRef-root",
+ "relationshipType": "DESCRIBES"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-cveInterface",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-cveClientlib",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-schemaToForm",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-autoCompleter",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-encrypt-storage",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-cveInterface",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-jquery",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-popper.js",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-bootstrap",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-bootstrap-table",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-bootstrap",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-bootstrap-table",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-sweetalert2",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-ace-editor",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-CVE-Record-Format-bundled.json",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-CVE-Record-Format-bundled-adpContainer.json",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-CVE-Record-Format-bundled-cnaPublishedContainer.json",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-CVE-Record-Format-bundled-cnaRejectedContainer.json",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-adp-tags.json",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-cna-tags.json",
+ "relationshipType": "DEPENDS_ON"
+ },
+ {
+ "spdxElementId": "SPDXRef-root",
+ "relatedSpdxElement": "SPDXRef-reference-tags.json",
+ "relationshipType": "DEPENDS_ON"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/docs/sbom/spdx-runtime.spdx b/docs/sbom/spdx-runtime.spdx
new file mode 100644
index 0000000..03b4234
--- /dev/null
+++ b/docs/sbom/spdx-runtime.spdx
@@ -0,0 +1,202 @@
+SPDXVersion: SPDX-2.3
+DataLicense: CC0-1.0
+SPDXID: SPDXRef-DOCUMENT
+DocumentName: cveclient-runtime-sbom
+DocumentNamespace: https://github.com/CERTCC/cveClient/spdx/runtime/98ccc3df-a148-41c8-bff4-dd8f2672cc65
+Creator: Tool: cveClient-sbom-generator-1.0.25
+Creator: Organization: CERT/CC
+Created: 2026-04-03T22:43:03.259Z
+
+PackageName: cveclient
+SPDXID: SPDXRef-root
+PackageVersion: 1.0.25
+PackageDownloadLocation: https://github.com/CERTCC/cveClient
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+PackageSupplier: Organization: CERT/CC
+PrimaryPackagePurpose: APPLICATION
+
+PackageName: cveInterface
+SPDXID: SPDXRef-cveInterface
+PackageVersion: 1.0.25
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: cveClientlib
+SPDXID: SPDXRef-cveClientlib
+PackageVersion: 1.0.25
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: schemaToForm
+SPDXID: SPDXRef-schemaToForm
+PackageVersion: 1.0.10
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: autoCompleter
+SPDXID: SPDXRef-autoCompleter
+PackageVersion: 1.0.12
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: encrypt-storage
+SPDXID: SPDXRef-encrypt-storage
+PackageVersion: 1.1.15
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: cveInterface
+SPDXID: SPDXRef-cveInterface
+PackageVersion: 2.0.12
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: jquery
+SPDXID: SPDXRef-jquery
+PackageVersion: 3.5.1
+PackageDownloadLocation: https://code.jquery.com/jquery-3.5.1.min.js
+PackageLicenseConcluded: NOASSERTION
+PackageLicenseDeclared: NOASSERTION
+PackageCopyrightText: NOASSERTION
+
+PackageName: popper.js
+SPDXID: SPDXRef-popper.js
+PackageVersion: 1.14.7
+PackageDownloadLocation: https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js
+PackageLicenseConcluded: NOASSERTION
+PackageLicenseDeclared: NOASSERTION
+PackageCopyrightText: NOASSERTION
+
+PackageName: bootstrap
+SPDXID: SPDXRef-bootstrap
+PackageVersion: 4.3.1
+PackageDownloadLocation: https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js
+PackageLicenseConcluded: NOASSERTION
+PackageLicenseDeclared: NOASSERTION
+PackageCopyrightText: NOASSERTION
+
+PackageName: bootstrap-table
+SPDXID: SPDXRef-bootstrap-table
+PackageVersion: 1.19.1
+PackageDownloadLocation: https://unpkg.com/bootstrap-table@1.19.1/dist/bootstrap-table.min.js
+PackageLicenseConcluded: NOASSERTION
+PackageLicenseDeclared: NOASSERTION
+PackageCopyrightText: NOASSERTION
+
+PackageName: bootstrap
+SPDXID: SPDXRef-bootstrap
+PackageVersion: 4.3.1
+PackageDownloadLocation: https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css
+PackageLicenseConcluded: NOASSERTION
+PackageLicenseDeclared: NOASSERTION
+PackageCopyrightText: NOASSERTION
+
+PackageName: bootstrap-table
+SPDXID: SPDXRef-bootstrap-table
+PackageVersion: 1.19.1
+PackageDownloadLocation: https://unpkg.com/bootstrap-table@1.19.1/dist/bootstrap-table.min.css
+PackageLicenseConcluded: NOASSERTION
+PackageLicenseDeclared: NOASSERTION
+PackageCopyrightText: NOASSERTION
+
+PackageName: sweetalert2
+SPDXID: SPDXRef-sweetalert2
+PackageVersion: 11.26.24
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: MIT
+PackageLicenseDeclared: MIT
+PackageCopyrightText: NOASSERTION
+
+PackageName: ace-editor
+SPDXID: SPDXRef-ace-editor
+PackageVersion: 1.4.12
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: Apache-2.0
+PackageLicenseDeclared: Apache-2.0
+PackageCopyrightText: NOASSERTION
+
+PackageName: CVE_Record_Format_bundled.json
+SPDXID: SPDXRef-CVE-Record-Format-bundled.json
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: NOASSERTION
+PackageLicenseDeclared: NOASSERTION
+PackageCopyrightText: NOASSERTION
+
+PackageName: CVE_Record_Format_bundled_adpContainer.json
+SPDXID: SPDXRef-CVE-Record-Format-bundled-adpContainer.json
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: NOASSERTION
+PackageLicenseDeclared: NOASSERTION
+PackageCopyrightText: NOASSERTION
+
+PackageName: CVE_Record_Format_bundled_cnaPublishedContainer.json
+SPDXID: SPDXRef-CVE-Record-Format-bundled-cnaPublishedContainer.json
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: NOASSERTION
+PackageLicenseDeclared: NOASSERTION
+PackageCopyrightText: NOASSERTION
+
+PackageName: CVE_Record_Format_bundled_cnaRejectedContainer.json
+SPDXID: SPDXRef-CVE-Record-Format-bundled-cnaRejectedContainer.json
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: NOASSERTION
+PackageLicenseDeclared: NOASSERTION
+PackageCopyrightText: NOASSERTION
+
+PackageName: adp-tags.json
+SPDXID: SPDXRef-adp-tags.json
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: NOASSERTION
+PackageLicenseDeclared: NOASSERTION
+PackageCopyrightText: NOASSERTION
+
+PackageName: cna-tags.json
+SPDXID: SPDXRef-cna-tags.json
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: NOASSERTION
+PackageLicenseDeclared: NOASSERTION
+PackageCopyrightText: NOASSERTION
+
+PackageName: reference-tags.json
+SPDXID: SPDXRef-reference-tags.json
+PackageDownloadLocation: NOASSERTION
+PackageLicenseConcluded: NOASSERTION
+PackageLicenseDeclared: NOASSERTION
+PackageCopyrightText: NOASSERTION
+
+Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-root
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-cveInterface
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-cveClientlib
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-schemaToForm
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-autoCompleter
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-encrypt-storage
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-cveInterface
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-jquery
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-popper.js
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-bootstrap
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-bootstrap-table
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-bootstrap
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-bootstrap-table
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-sweetalert2
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-ace-editor
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-CVE-Record-Format-bundled.json
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-CVE-Record-Format-bundled-adpContainer.json
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-CVE-Record-Format-bundled-cnaPublishedContainer.json
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-CVE-Record-Format-bundled-cnaRejectedContainer.json
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-adp-tags.json
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-cna-tags.json
+Relationship: SPDXRef-root DEPENDS_ON SPDXRef-reference-tags.json
diff --git a/scripts/generate-sbom.mjs b/scripts/generate-sbom.mjs
new file mode 100644
index 0000000..433e00e
--- /dev/null
+++ b/scripts/generate-sbom.mjs
@@ -0,0 +1,67 @@
+#!/usr/bin/env node
+
+/**
+ * SBOM Generator for cveClient
+ *
+ * Reads project source files and generates:
+ * - CycloneDX 1.6 JSON (runtime + dev)
+ * - SPDX 2.3 JSON (runtime + dev)
+ * - SPDX 2.3 tag-value (runtime + dev)
+ * - Markdown summary
+ *
+ * Usage: node scripts/generate-sbom.mjs [project-root]
+ */
+
+import { writeFileSync, mkdirSync } from "node:fs";
+import { join, resolve } from "node:path";
+import { extractAll } from "./sbom/extract.mjs";
+import { generateCycloneDX } from "./sbom/cyclonedx.mjs";
+import { generateSpdxJson, generateSpdxTagValue } from "./sbom/spdx.mjs";
+import { generateMarkdown } from "./sbom/markdown.mjs";
+
+const projectRoot = resolve(process.argv[2] || ".");
+const outDir = join(projectRoot, "docs", "sbom");
+
+console.log(`SBOM Generator - scanning ${projectRoot}`);
+
+// Extract all component data
+const { project, runtime, dev } = extractAll(projectRoot);
+
+console.log(` Project: ${project.name} v${project.version}`);
+console.log(` Runtime components: ${runtime.length}`);
+console.log(` Dev direct deps: ${dev.direct.length}`);
+console.log(` Dev transitive deps: ${dev.transitive.length}`);
+console.log(` CI/CD actions: ${dev.actions.length}`);
+
+// Flatten dev for generators that take a flat array
+const devAll = [...dev.direct, ...dev.transitive, ...dev.actions];
+
+// Generate all formats
+const cdxRuntime = generateCycloneDX(project, runtime, "runtime");
+const cdxDev = generateCycloneDX(project, devAll, "dev");
+const spdxRuntimeJson = generateSpdxJson(project, runtime, "runtime");
+const spdxDevJson = generateSpdxJson(project, devAll, "dev");
+const spdxRuntimeTv = generateSpdxTagValue(project, runtime, "runtime");
+const spdxDevTv = generateSpdxTagValue(project, devAll, "dev");
+const markdown = generateMarkdown(project, runtime, dev);
+
+// Write output files
+mkdirSync(outDir, { recursive: true });
+
+const files = [
+ ["cyclonedx-runtime.json", JSON.stringify(cdxRuntime, null, 2)],
+ ["cyclonedx-dev.json", JSON.stringify(cdxDev, null, 2)],
+ ["spdx-runtime.json", JSON.stringify(spdxRuntimeJson, null, 2)],
+ ["spdx-dev.json", JSON.stringify(spdxDevJson, null, 2)],
+ ["spdx-runtime.spdx", spdxRuntimeTv],
+ ["spdx-dev.spdx", spdxDevTv],
+ ["SBOM.md", markdown],
+];
+
+for (const [name, content] of files) {
+ const path = join(outDir, name);
+ writeFileSync(path, content, "utf8");
+ console.log(` Wrote: ${path}`);
+}
+
+console.log("\nDone - 7 SBOM files generated.");
diff --git a/scripts/sbom/cyclonedx.mjs b/scripts/sbom/cyclonedx.mjs
new file mode 100644
index 0000000..a30f873
--- /dev/null
+++ b/scripts/sbom/cyclonedx.mjs
@@ -0,0 +1,95 @@
+import { randomUUID } from "node:crypto";
+
+/**
+ * Map component type to CycloneDX component type.
+ */
+function cdxType(type) {
+ switch (type) {
+ case "application":
+ case "github-action":
+ return "application";
+ case "library":
+ case "script":
+ case "stylesheet":
+ return "library";
+ case "data":
+ return "data";
+ default:
+ return "library";
+ }
+}
+
+/**
+ * Build a purl for a component if possible.
+ */
+function buildPurl(comp) {
+ if (comp.type === "github-action") {
+ return `pkg:github/${comp.name}@${comp.version}`;
+ }
+ if (comp.version && comp.name && !comp.file?.endsWith(".json")) {
+ return `pkg:npm/${comp.name}@${comp.version}`;
+ }
+ return undefined;
+}
+
+/**
+ * Build external references for a component.
+ */
+function buildExternalRefs(comp) {
+ const refs = [];
+ if (comp.url) {
+ const ref = { type: "distribution", url: comp.url };
+ if (comp.integrity) {
+ // SRI format: sha384-
+ const [algo, hash] = comp.integrity.split("-", 2);
+ ref.hashes = [
+ { alg: algo.toUpperCase().replace("SHA", "SHA-"), content: hash },
+ ];
+ }
+ refs.push(ref);
+ }
+ return refs.length > 0 ? refs : undefined;
+}
+
+/**
+ * Generate CycloneDX 1.6 JSON BOM.
+ *
+ * @param {object} project - { name, version, license, repository }
+ * @param {object[]} components - array of component objects
+ * @param {string} scope - "runtime" or "dev"
+ * @returns {object} CycloneDX BOM object
+ */
+export function generateCycloneDX(project, components, scope) {
+ return {
+ $schema: "https://cyclonedx.org/schema/bom-1.6.schema.json",
+ bomFormat: "CycloneDX",
+ specVersion: "1.6",
+ serialNumber: `urn:uuid:${randomUUID()}`,
+ version: 1,
+ metadata: {
+ timestamp: new Date().toISOString(),
+ tools: [{ name: "cveClient-sbom-generator", version: project.version }],
+ component: {
+ type: "application",
+ name: project.name,
+ version: project.version,
+ licenses: [{ license: { id: project.license } }],
+ },
+ },
+ components: components.map((comp) => {
+ const entry = {
+ type: cdxType(comp.type),
+ name: comp.name,
+ };
+ if (comp.version) entry.version = comp.version;
+ const purl = buildPurl(comp);
+ if (purl) entry.purl = purl;
+ if (comp.license) {
+ entry.licenses = [{ license: { id: comp.license } }];
+ }
+ const refs = buildExternalRefs(comp);
+ if (refs) entry.externalReferences = refs;
+ return entry;
+ }),
+ };
+}
diff --git a/scripts/sbom/extract.mjs b/scripts/sbom/extract.mjs
new file mode 100644
index 0000000..9829d3e
--- /dev/null
+++ b/scripts/sbom/extract.mjs
@@ -0,0 +1,297 @@
+import { readFileSync, readdirSync } from "node:fs";
+import { join } from "node:path";
+
+/**
+ * Extract CDN dependencies from HTML string.
+ * Finds
+ `;
+ const deps = extractCdnDeps(html);
+ expect(deps).toHaveLength(1);
+ expect(deps[0]).toMatchObject({
+ name: "jquery",
+ version: "3.5.1",
+ url: "https://code.jquery.com/jquery-3.5.1.min.js",
+ integrity:
+ "sha384-ZvpUoO/+PpLXR1lu4jmpXWu80pZlYUAfxl5NsBMWOEPSjUn/6Z/hRTt8+pR6L4N2",
+ type: "script",
+ });
+ });
+
+ it("extracts link tags with integrity hashes", () => {
+ const html = `
+
+ `;
+ const deps = extractCdnDeps(html);
+ expect(deps).toHaveLength(1);
+ expect(deps[0]).toMatchObject({
+ name: "bootstrap",
+ version: "4.3.1",
+ type: "stylesheet",
+ });
+ });
+
+ it("extracts multiple deps from full HTML", () => {
+ const html = `
+
+
+
+
+
+
+ `;
+ const deps = extractCdnDeps(html);
+ expect(deps).toHaveLength(6);
+ const names = deps.map((d) => d.name);
+ expect(names).toContain("jquery");
+ expect(names).toContain("popper.js");
+ expect(names).toContain("bootstrap");
+ expect(names).toContain("bootstrap-table");
+ });
+
+ it("skips local scripts without integrity", () => {
+ const html = `
+
+
+ `;
+ const deps = extractCdnDeps(html);
+ expect(deps).toHaveLength(1);
+ expect(deps[0].name).toBe("jquery");
+ });
+});
+
+describe("extractSourceVersions", () => {
+ it("extracts this._version pattern", () => {
+ const content = `class Foo {\n constructor() {\n this._version = "1.0.12";\n }\n}`;
+ const version = extractSourceVersions.parseVersion(content);
+ expect(version).toBe("1.0.12");
+ });
+
+ it("extracts const _version pattern", () => {
+ const content = `const _version = "1.0.25";`;
+ const version = extractSourceVersions.parseVersion(content);
+ expect(version).toBe("1.0.25");
+ });
+
+ it("extracts const name_version pattern", () => {
+ const content = `const encrypt_storage_version = "1.1.15";`;
+ const version = extractSourceVersions.parseVersion(content);
+ expect(version).toBe("1.1.15");
+ });
+});
+
+describe("extractVendoredVersion", () => {
+ it("extracts SweetAlert2 version from header comment", () => {
+ const content = `/*!\n* sweetalert2 v11.26.24\n* Released under the MIT License.\n*/`;
+ const result = extractVendoredVersion.parseSweetalert(content);
+ expect(result).toMatchObject({
+ name: "sweetalert2",
+ version: "11.26.24",
+ license: "MIT",
+ });
+ });
+
+ it("extracts Ace Editor version from source", () => {
+ const content = `version="1.4.12"}),ace.define("ace/mouse"`;
+ const result = extractVendoredVersion.parseAce(content);
+ expect(result).toMatchObject({
+ name: "ace-editor",
+ version: "1.4.12",
+ license: "Apache-2.0",
+ });
+ });
+});
+
+describe("extractDevDeps", () => {
+ it("extracts npm dev dependencies from package.json and lock", () => {
+ const pkg = {
+ devDependencies: { vitest: "^3.1.0", jsdom: "^26.1.0" },
+ };
+ const lock = {
+ packages: {
+ "node_modules/vitest": { version: "3.2.4", license: "MIT" },
+ "node_modules/jsdom": { version: "26.1.0", license: "MIT" },
+ "node_modules/chai": { version: "5.2.0", license: "MIT" },
+ },
+ };
+ const result = extractDevDeps.fromNpm(pkg, lock);
+ // Direct deps
+ expect(result.direct).toHaveLength(2);
+ expect(result.direct[0]).toMatchObject({
+ name: "vitest",
+ version: "3.2.4",
+ });
+ // Transitive deps
+ expect(result.transitive.length).toBeGreaterThan(0);
+ expect(result.transitive[0]).toMatchObject({
+ name: "chai",
+ version: "5.2.0",
+ });
+ });
+
+ it("extracts GitHub Actions from workflow YAML", () => {
+ const yaml = `
+name: Tests
+on: push
+jobs:
+ test:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 22
+ - run: npm test
+`;
+ const actions = extractDevDeps.fromWorkflowYaml(yaml);
+ expect(actions).toHaveLength(2);
+ expect(actions[0]).toMatchObject({
+ name: "actions/checkout",
+ version: "v4",
+ });
+ expect(actions[1]).toMatchObject({
+ name: "actions/setup-node",
+ version: "v4",
+ });
+ });
+});
diff --git a/tests/sbom/markdown.test.js b/tests/sbom/markdown.test.js
new file mode 100644
index 0000000..0808e4a
--- /dev/null
+++ b/tests/sbom/markdown.test.js
@@ -0,0 +1,83 @@
+import { describe, it, expect } from "vitest";
+import { generateMarkdown } from "../../scripts/sbom/markdown.mjs";
+
+const mockProject = {
+ name: "cveclient",
+ version: "1.0.25",
+ license: "MIT",
+ repository: "https://github.com/CERTCC/cveClient",
+};
+
+const mockRuntime = [
+ {
+ name: "cveClientlib",
+ file: "cveClientlib.js",
+ version: "1.0.25",
+ license: "MIT",
+ type: "application",
+ },
+ {
+ name: "jquery",
+ version: "3.5.1",
+ url: "https://code.jquery.com/jquery-3.5.1.min.js",
+ integrity: "sha384-ZvpUoO",
+ license: "MIT",
+ type: "script",
+ },
+ { name: "sweetalert2", version: "11.26.24", license: "MIT", type: "library" },
+ {
+ name: "CVE_Record_Format_bundled.json",
+ file: "schema/CVE_Record_Format_bundled.json",
+ type: "data",
+ },
+];
+
+const mockDev = {
+ direct: [
+ { name: "vitest", version: "3.2.4", license: "MIT", type: "library" },
+ ],
+ transitive: [
+ { name: "chai", version: "5.2.0", license: "MIT", type: "library" },
+ ],
+ actions: [{ name: "actions/checkout", version: "v4", type: "github-action" }],
+};
+
+describe("generateMarkdown", () => {
+ it("includes project header", () => {
+ const md = generateMarkdown(mockProject, mockRuntime, mockDev);
+ expect(md).toContain("# Software Bill of Materials");
+ expect(md).toContain("cveclient");
+ expect(md).toContain("1.0.25");
+ });
+
+ it("has runtime components section", () => {
+ const md = generateMarkdown(mockProject, mockRuntime, mockDev);
+ expect(md).toContain("## Runtime Components");
+ expect(md).toContain("cveClientlib");
+ expect(md).toContain("jquery");
+ expect(md).toContain("sweetalert2");
+ });
+
+ it("has CDN dependencies with SRI hashes", () => {
+ const md = generateMarkdown(mockProject, mockRuntime, mockDev);
+ expect(md).toContain("sha384-ZvpUoO");
+ });
+
+ it("has dev dependencies section", () => {
+ const md = generateMarkdown(mockProject, mockRuntime, mockDev);
+ expect(md).toContain("## Dev/CI Dependencies");
+ expect(md).toContain("vitest");
+ expect(md).toContain("actions/checkout");
+ });
+
+ it("has schema/data files section", () => {
+ const md = generateMarkdown(mockProject, mockRuntime, mockDev);
+ expect(md).toContain("CVE_Record_Format_bundled.json");
+ });
+
+ it("links to machine-readable files", () => {
+ const md = generateMarkdown(mockProject, mockRuntime, mockDev);
+ expect(md).toContain("cyclonedx-runtime.json");
+ expect(md).toContain("spdx-runtime.spdx");
+ });
+});
diff --git a/tests/sbom/spdx.test.js b/tests/sbom/spdx.test.js
new file mode 100644
index 0000000..24ce1c9
--- /dev/null
+++ b/tests/sbom/spdx.test.js
@@ -0,0 +1,94 @@
+import { describe, it, expect } from "vitest";
+import {
+ generateSpdxJson,
+ generateSpdxTagValue,
+} from "../../scripts/sbom/spdx.mjs";
+
+const mockProject = {
+ name: "cveclient",
+ version: "1.0.25",
+ license: "MIT",
+ repository: "https://github.com/CERTCC/cveClient",
+};
+
+const mockComponents = [
+ {
+ name: "jquery",
+ version: "3.5.1",
+ url: "https://code.jquery.com/jquery-3.5.1.min.js",
+ license: "MIT",
+ type: "script",
+ },
+ {
+ name: "cveClientlib",
+ file: "cveClientlib.js",
+ version: "1.0.25",
+ license: "MIT",
+ type: "application",
+ },
+];
+
+describe("generateSpdxJson", () => {
+ it("produces valid SPDX 2.3 structure", () => {
+ const doc = generateSpdxJson(mockProject, mockComponents, "runtime");
+ expect(doc.spdxVersion).toBe("SPDX-2.3");
+ expect(doc.dataLicense).toBe("CC0-1.0");
+ expect(doc.SPDXID).toBe("SPDXRef-DOCUMENT");
+ expect(doc.name).toContain("cveclient");
+ expect(doc.documentNamespace).toMatch(/^https:\/\//);
+ expect(doc.packages).toHaveLength(3); // root + 2 components
+ });
+
+ it("creates root package for the project", () => {
+ const doc = generateSpdxJson(mockProject, mockComponents, "runtime");
+ const root = doc.packages.find((p) => p.SPDXID === "SPDXRef-root");
+ expect(root.name).toBe("cveclient");
+ expect(root.versionInfo).toBe("1.0.25");
+ });
+
+ it("creates DESCRIBES and DEPENDS_ON relationships", () => {
+ const doc = generateSpdxJson(mockProject, mockComponents, "runtime");
+ const describes = doc.relationships.find(
+ (r) => r.relationshipType === "DESCRIBES",
+ );
+ expect(describes.spdxElementId).toBe("SPDXRef-DOCUMENT");
+ expect(describes.relatedSpdxElement).toBe("SPDXRef-root");
+
+ const dependsOn = doc.relationships.filter(
+ (r) => r.relationshipType === "DEPENDS_ON",
+ );
+ expect(dependsOn).toHaveLength(2);
+ });
+
+ it("sets downloadLocation for CDN deps", () => {
+ const doc = generateSpdxJson(mockProject, mockComponents, "runtime");
+ const jquery = doc.packages.find((p) => p.name === "jquery");
+ expect(jquery.downloadLocation).toBe(
+ "https://code.jquery.com/jquery-3.5.1.min.js",
+ );
+ });
+});
+
+describe("generateSpdxTagValue", () => {
+ it("produces valid SPDX tag-value header", () => {
+ const tv = generateSpdxTagValue(mockProject, mockComponents, "runtime");
+ expect(tv).toContain("SPDXVersion: SPDX-2.3");
+ expect(tv).toContain("DataLicense: CC0-1.0");
+ expect(tv).toContain("SPDXID: SPDXRef-DOCUMENT");
+ });
+
+ it("contains package entries", () => {
+ const tv = generateSpdxTagValue(mockProject, mockComponents, "runtime");
+ expect(tv).toContain("PackageName: jquery");
+ expect(tv).toContain("PackageVersion: 3.5.1");
+ expect(tv).toContain("PackageLicenseConcluded: MIT");
+ });
+
+ it("contains relationship entries", () => {
+ const tv = generateSpdxTagValue(mockProject, mockComponents, "runtime");
+ expect(tv).toContain(
+ "Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-root",
+ );
+ expect(tv).toContain("Relationship: SPDXRef-root DEPENDS_ON SPDXRef-");
+ });
+});