ci/cd: include frontend dependencies in SBOM

This commit is contained in:
Elias Schneider
2026-09-20 15:06:58 +02:00
parent 4858db3bb4
commit 5a1c6f0547
6 changed files with 423 additions and 1 deletions
+9
View File
@@ -9,6 +9,9 @@ before:
hooks:
- pnpm install --frozen-lockfile
- pnpm -C frontend build
- mkdir -p .tmp
- mv backend/frontend/dist/cyclonedx/frontend.cdx.json .tmp/frontend.cdx.json
- rm -r backend/frontend/dist/cyclonedx
builds:
- id: pocket-id
@@ -124,6 +127,7 @@ dockers_v2:
sbom: true
extra_files:
- scripts/docker
- .tmp/frontend.cdx.json
- id: pocket-id-distroless
ids:
@@ -152,6 +156,8 @@ dockers_v2:
"org.opencontainers.image.title": "Pocket ID"
disable: '{{ if index .Env "BUILD_NEXT" }}true{{ end }}'
sbom: true
extra_files:
- .tmp/frontend.cdx.json
- id: pocket-id-next
ids:
@@ -179,6 +185,7 @@ dockers_v2:
sbom: true
extra_files:
- scripts/docker
- .tmp/frontend.cdx.json
- id: pocket-id-next-distroless
ids:
@@ -204,6 +211,8 @@ dockers_v2:
"org.opencontainers.image.title": "Pocket ID"
disable: '{{ if not (index .Env "BUILD_NEXT") }}true{{ end }}'
sbom: true
extra_files:
- .tmp/frontend.cdx.json
notarize:
macos:
+1
View File
@@ -10,6 +10,7 @@ ARG TARGETVARIANT
WORKDIR /app
COPY linux/${TARGETARCH}/${TARGETVARIANT}/pocket-id /app/pocket-id
COPY ./.tmp/frontend.cdx.json /usr/share/doc/pocket-id/frontend.cdx.json
EXPOSE 1411
ENV APP_ENV=production
+1
View File
@@ -13,6 +13,7 @@ RUN apk add --no-cache su-exec
COPY linux/${TARGETARCH}/${TARGETVARIANT}/pocket-id /app/pocket-id
COPY ./scripts/docker /app/docker
COPY ./.tmp/frontend.cdx.json /usr/share/doc/pocket-id/frontend.cdx.json
EXPOSE 1411
ENV APP_ENV=production
+2
View File
@@ -53,6 +53,8 @@
"prettier": "^3.8.3",
"prettier-plugin-svelte": "^3.5.2",
"prettier-plugin-tailwindcss": "^0.8.0",
"rollup": "^4.63.3",
"rollup-plugin-sbom": "4.0.0",
"shadcn-svelte": "^1.3.0",
"svelte": "^5.55.8",
"svelte-check": "^4.4.8",
+11 -1
View File
@@ -1,13 +1,23 @@
import { paraglideVitePlugin } from '@inlang/paraglide-js';
import { sveltekit } from '@sveltejs/kit/vite';
import tailwindcss from '@tailwindcss/vite';
import { defineConfig } from 'vite';
import sbom from 'rollup-plugin-sbom';
import { defineConfig, type Plugin } from 'vite';
export default defineConfig(() => {
const frontendSbom = sbom({
includeWellKnown: false,
outDir: 'cyclonedx',
outFilename: 'frontend.cdx',
saveTimestamp: false
}) as Plugin;
frontendSbom.applyToEnvironment = (environment) => environment.name === 'client';
return {
plugins: [
sveltekit(),
tailwindcss(),
frontendSbom,
paraglideVitePlugin({
project: './project.inlang',
outdir: './src/lib/paraglide',
+399
View File
@@ -160,6 +160,12 @@ importers:
prettier-plugin-tailwindcss:
specifier: ^0.8.0
version: 0.8.1(prettier-plugin-svelte@3.5.2(prettier@3.9.6)(svelte@5.57.0(@typescript-eslint/types@8.70.0)))(prettier@3.9.6)
rollup:
specifier: ^4.63.3
version: 4.63.3
rollup-plugin-sbom:
specifier: 4.0.0
version: 4.0.0(ajv-formats@3.0.1(ajv@8.20.0))(ajv@8.20.0)(rolldown@1.2.8)(rollup@4.63.3)(vite@8.3.0(@types/node@25.9.6)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0))
shadcn-svelte:
specifier: ^1.3.0
version: 1.6.1(svelte@5.57.0(@typescript-eslint/types@8.70.0))
@@ -273,6 +279,33 @@ packages:
'@cacheable/utils@2.5.0':
resolution: {integrity: sha512-buipgOVDkkPXNR5+xBpDw7Zk2n1EvU7qBJCNUcL7rhQ//kfpOXPAvQ511Os0vpLYJ1pZnvudNytkQt2hst3wqA==}
'@cyclonedx/cyclonedx-library@10.1.0':
resolution: {integrity: sha512-4yq0KTQIA32UHJwFMDeY5xj2asp3Mk5lzx4JRVXLOb0YE8w1KeR61c1m/gJ4sjMXpiiEDfaITVQu8BLUuy7t3A==}
engines: {node: '>=20.18.0'}
peerDependencies:
ajv: ^8.12.0
ajv-formats: ^3.0.1
ajv-formats-draft2019: ^1.6.1
libxmljs2: ^0.35||^0.37
packageurl-js: '*'
spdx-expression-parse: '*'
xmlbuilder2: ^3.0.2||^4.0.0
peerDependenciesMeta:
ajv:
optional: true
ajv-formats:
optional: true
ajv-formats-draft2019:
optional: true
libxmljs2:
optional: true
packageurl-js:
optional: true
spdx-expression-parse:
optional: true
xmlbuilder2:
optional: true
'@emnapi/runtime@1.11.3':
resolution: {integrity: sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==}
@@ -761,6 +794,13 @@ packages:
peerDependencies:
svelte: ^5
'@napi-rs/lzma-linux-x64-gnu@1.5.1':
resolution: {integrity: sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==}
engines: {node: ^22.20 || ^24.12 || >=25}
cpu: [x64]
os: [linux]
libc: [glibc]
'@next/env@16.3.5':
resolution: {integrity: sha512-NWEXVDMqoEo0ktmU6u0sE2Vg0LOcsD7NnOTJNo3/fEaTfsg+F1bMIxuDmQbda4e3yTIQwVdUREF2yIuMOusKtg==}
@@ -1191,6 +1231,144 @@ packages:
'@rolldown/pluginutils@1.0.1':
resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==}
'@rollup/rollup-android-arm-eabi@4.63.3':
resolution: {integrity: sha512-w3Jnvi1ocaVm/c7yVPpfB98XeSRBMyzp6njL5MVVbGyXjpmUkN+s6Hp4t0PqhGCCaI1ZHMKXt/w0lA1RCaLVcw==}
cpu: [arm]
os: [android]
'@rollup/rollup-android-arm64@4.63.3':
resolution: {integrity: sha512-uI/ESiaIbbRYAEhzy8PCUWDp1hB0bjAqM06mW9flOoNO4Q8DQpeoREhBR5Hegfl+wpXiguyJv6XSPzEN7OxyHQ==}
cpu: [arm64]
os: [android]
'@rollup/rollup-darwin-arm64@4.63.3':
resolution: {integrity: sha512-oxhrd1jmXLwWZ83eQYDXxuqRdkqkzrjR3JobKeuUyfdNZo11FuQIvqEOZhyIT7OBHxXoGslDDjN0cQcM6T0TqQ==}
cpu: [arm64]
os: [darwin]
'@rollup/rollup-darwin-x64@4.63.3':
resolution: {integrity: sha512-7/YiIMghVE8DrxKvNdorAaJVdriOFgOIpdStnPx8ppx5zfTwC3jBCSEAIzB7JD5404m65THl6H93UTTVUvypmg==}
cpu: [x64]
os: [darwin]
'@rollup/rollup-freebsd-arm64@4.63.3':
resolution: {integrity: sha512-GXFZRRoMAytaI5z6N3Zhfw0WL18Q0M8r95D5hlC4GqE/lGk8pbSJNUBoOWDfbm6dTciqHj2nU87tI5f6XhQiOg==}
cpu: [arm64]
os: [freebsd]
'@rollup/rollup-freebsd-x64@4.63.3':
resolution: {integrity: sha512-77W+8X3ddYgPxUpB8nZFQs2Mq+wc4HVlcSRtApXLjYBcnPMkttrSnU8VwKQjeWYhMsITHFs5cWBQ8vz1Q+5RHQ==}
cpu: [x64]
os: [freebsd]
'@rollup/rollup-linux-arm-gnueabihf@4.63.3':
resolution: {integrity: sha512-FVkwK+iUC+mq+GipVK46rRVticfAPtvPUNlqlGXUDxdVk/UGjQiiiUVPUrEXdSpU2ufU0XxLGyTqDtBidDOVmg==}
cpu: [arm]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-arm-musleabihf@4.63.3':
resolution: {integrity: sha512-+aGU1t3398yQOVj1Bz8o3e+KtswxAPvO+mtxtNdfXYMkXIHu7XhhkCD7/DEH9q8tF8uhDnMWvfpUKI8y1sZJsg==}
cpu: [arm]
os: [linux]
libc: [musl]
'@rollup/rollup-linux-arm64-gnu@4.63.3':
resolution: {integrity: sha512-cR0kjpRXR2KJ2oQK8E2KTPtphs+b9hZ8IhTZubNryt/RsqgdOZBQ2Zq0q5UedtiIi0rs3jVhJh55RE1ZHUVGUA==}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-arm64-musl@4.63.3':
resolution: {integrity: sha512-y1RYi4Q3/9ByVWSSt9kX2ustE0B7kFYbJ6zZdVZVyqopZs3yhCTwRfrjIX4vezUJInma/Gs6BOFDJg7yZmJ0IQ==}
cpu: [arm64]
os: [linux]
libc: [musl]
'@rollup/rollup-linux-loong64-gnu@4.63.3':
resolution: {integrity: sha512-DNhEA5viIj3Z5bZLE4z4oV8N5ozWqDwyt7T6KG7VdLDJ0nW+rNOYlphBl4/3HQkK75qipPLsVOfStHHOwN9WSg==}
cpu: [loong64]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-loong64-musl@4.63.3':
resolution: {integrity: sha512-17gQCqrIpXBX2Cmi9/TygnVOqGbzsba/iaqcYSL8FY7lNugg+7AiYNs5c5nKWD+NRQha36Sa0CqkJqH4XVHwnQ==}
cpu: [loong64]
os: [linux]
libc: [musl]
'@rollup/rollup-linux-ppc64-gnu@4.63.3':
resolution: {integrity: sha512-6LwVnZRIyINpdku/yOcI8Tm9YqLmhHK5emmlOOnW9tO0SYEm1FmKPcsSAGp0NBlqR2P04xaND4jvN6sTHqhq8A==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-ppc64-musl@4.63.3':
resolution: {integrity: sha512-xMUqkTXlEUtI/p5AAukMwBRr1enU3efsTeF+bskeFfk8t1C9rcC8sLREcZXmTfAXEbvRdJVSonVJez3TMlbR3w==}
cpu: [ppc64]
os: [linux]
libc: [musl]
'@rollup/rollup-linux-riscv64-gnu@4.63.3':
resolution: {integrity: sha512-S3E94co9F9WRRqEaUoQZ38K1gCz6KiM+nL7/3ijq7fDGF3OznjS5TasgYITlvl27GQKtu4lOAOsr5MFwkijvOA==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-riscv64-musl@4.63.3':
resolution: {integrity: sha512-1QtRDwG42x5BJI3s9mxu5rEjDnfbSnk20HQ9/ylTAYnSwYwxMVb+Vgu34wzzTQ7ogqBybebgQNUDAvZVQ38DbA==}
cpu: [riscv64]
os: [linux]
libc: [musl]
'@rollup/rollup-linux-s390x-gnu@4.63.3':
resolution: {integrity: sha512-BQhejF6ZXOpxbngiNTP12GCGQeaDVL2QXGeBVViKIYzFHM5RKxTxwUMB1fr1BeNFphFMpnRqC5QSXFSa4z6UQw==}
cpu: [s390x]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-x64-gnu@4.63.3':
resolution: {integrity: sha512-SXagRwnI2Wlwlitllu59UK/nGVbD1CKPcNqDplHwIC4BqJcpXFjD32d1R/RbuISa95HdQrZM3/7v4bKiowFaLA==}
cpu: [x64]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-x64-musl@4.63.3':
resolution: {integrity: sha512-2IPozoEALRCziGqE8O9KMK60PMu5TS1huv4fwoeCexj+WjmcwFtX9CTOVbfXCUqcELAubEwRFPYlzb/WvwY2HQ==}
cpu: [x64]
os: [linux]
libc: [musl]
'@rollup/rollup-openbsd-x64@4.63.3':
resolution: {integrity: sha512-AoxqosUHT9IX54hFn2TiN6A7d6ZKTtE6pd2bqWtqkkNJ6HJGaU6FRouGX8L1O7R/ZwsnCnpQrHzb4pDEx+UHRQ==}
cpu: [x64]
os: [openbsd]
'@rollup/rollup-openharmony-arm64@4.63.3':
resolution: {integrity: sha512-d+CaftKgmkFBzCwezMqqy1d0QNNYugqLCMcYVQWBy5SS2YfeMP8Q8ripkgx9O8IyBXXLHrJ+aaCV4U96usv6Yg==}
cpu: [arm64]
os: [openharmony]
'@rollup/rollup-win32-arm64-msvc@4.63.3':
resolution: {integrity: sha512-xXlDF6nR1eOuXbdDy5Hl5fmtY7teUDevF/k0O7IPoZe4Tpmdv+lgdE5JRsnhQtt37ql9P0VF2kAN9a0OCZdo+Q==}
cpu: [arm64]
os: [win32]
'@rollup/rollup-win32-ia32-msvc@4.63.3':
resolution: {integrity: sha512-YtXAgLN+JP7Ay6qG3eWhc7IHMQPzLc8r3uvhAvlJIoCz/4Q32+Bl9Fmnywidh8v1GOIMmymjovfqY9ETAtysvA==}
cpu: [ia32]
os: [win32]
'@rollup/rollup-win32-x64-gnu@4.63.3':
resolution: {integrity: sha512-WuWtSJRNo549vzcfZyEgfqb6zeSgn1F+UE5kQ+BCjzz0W4MGCjntUHkZVc1VRuAM7+ULaSyhiPxD1spyewFvkQ==}
cpu: [x64]
os: [win32]
'@rollup/rollup-win32-x64-msvc@4.63.3':
resolution: {integrity: sha512-+lIKX7O0+IGe7WuhATaAMMeT7B76vfhXH/l9wLQL+nvyhbw2ohYCKIdWL56JfDu75CWt5oKRP4QFH/jkMtBquA==}
cpu: [x64]
os: [win32]
'@selderee/plugin-htmlparser2@0.11.0':
resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==}
@@ -2022,6 +2200,10 @@ packages:
hookified@2.2.0:
resolution: {integrity: sha512-p/LgFzRN5FeoD3DLS6bkUapeye6E4SI6yJs6KetENd18S+FBthqYq2amJUWpt5z0EQwwHemidjY5OqJGEKm5uA==}
hosted-git-info@10.1.1:
resolution: {integrity: sha512-DeOnSPAvOndYKfw075gt8yZzQ7S2hNztw34zBTfhIzLhmBTswIBg5/y+pqu/VD5cYWm5goAFTusDmUEmKZ0PEQ==}
engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0}
html-to-text@9.0.5:
resolution: {integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==}
engines: {node: '>=14'}
@@ -2428,6 +2610,10 @@ packages:
node-fetch-native@1.6.7:
resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==}
normalize-package-data@9.0.0:
resolution: {integrity: sha512-la34cHOCAT6itNOYCvPi40XP8r0y6OHuNkooOfnfFUHdgy5MBw665qq5xsuS02AEC7WPQvhwvb7E9PI1gipplw==}
engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0}
normalize-path@3.0.0:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
engines: {node: '>=0.10.0'}
@@ -2473,6 +2659,9 @@ packages:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'}
packageurl-js@2.0.1:
resolution: {integrity: sha512-N5ixXjzTy4QDQH0Q9YFjqIWd6zH6936Djpl2m9QNFmDv5Fum8q8BjkpAcHNMzOFE0IwQrFhJWex3AN6kS0OSwg==}
parseley@0.12.1:
resolution: {integrity: sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==}
@@ -2697,6 +2886,29 @@ packages:
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
rollup-plugin-sbom@4.0.0:
resolution: {integrity: sha512-WwAq3ZZRv4He27yyExeV8WWZh4QeSqVnIahpMBGfsDX97bjDh2aBgbFLWp1COuYiBP9iHjeB3oaPMk8V8Dmpjg==}
engines: {node: '>=22.9.0'}
peerDependencies:
rolldown: ^1
rollup: ^4
vite: ^6 || ^7 || ^8
xmlbuilder2: ^3 || ^4
peerDependenciesMeta:
rolldown:
optional: true
rollup:
optional: true
vite:
optional: true
xmlbuilder2:
optional: true
rollup@4.63.3:
resolution: {integrity: sha512-1i2XreiAoMMXuPGD6Msj2xWrMMkHojNRKivInxGQcg7/1KuPuYlfUutLyh4drnOxUTHX9cHI4wFoat8D/NKaBw==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
runed@0.23.4:
resolution: {integrity: sha512-9q8oUiBYeXIDLWNK5DfCWlkL0EW3oGbk845VdKlPeia28l751VpfesaB/+7pI6rnbx1I6rqoZ2fZxptOJLxILA==}
peerDependencies:
@@ -2799,6 +3011,21 @@ packages:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
spdx-correct@3.2.0:
resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
spdx-exceptions@2.5.0:
resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==}
spdx-expression-parse@3.0.1:
resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
spdx-expression-parse@5.0.0:
resolution: {integrity: sha512-vngmw3Rgn+o2arXNbnZaj5UtOEBuWBfvaI+Wc8GFfykIhA5/vdK9/Sp/XkLv63dykz2rxKDvKEHupF5P0FORcQ==}
spdx-license-ids@3.0.24:
resolution: {integrity: sha512-cLS9TtWkIQFyLkJ3/5aFQAOHOSKTlOs/7WDut/XPSdjom1fJhUdkepeJAKXa9Y05+FabHd0sti+Et559vDtkpQ==}
string-width@4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
@@ -3029,6 +3256,9 @@ packages:
typescript:
optional: true
validate-npm-package-license@3.0.4:
resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
validator@13.15.35:
resolution: {integrity: sha512-TQ5pAGhd5whStmqWvYF4OjQROlmv9SMFVt37qoCBdqRffuuklWYQlCNnEs2ZaIBD1kZRNnikiZOS1eqgkar0iw==}
engines: {node: '>= 0.10'}
@@ -3240,6 +3470,13 @@ snapshots:
hashery: 1.5.1
keyv: 5.6.0
'@cyclonedx/cyclonedx-library@10.1.0(ajv-formats@3.0.1(ajv@8.20.0))(ajv@8.20.0)(packageurl-js@2.0.1)(spdx-expression-parse@5.0.0)':
optionalDependencies:
ajv: 8.20.0
ajv-formats: 3.0.1(ajv@8.20.0)
packageurl-js: 2.0.1
spdx-expression-parse: 5.0.0
'@emnapi/runtime@1.11.3':
dependencies:
tslib: 2.8.1
@@ -3599,6 +3836,9 @@ snapshots:
dependencies:
svelte: 5.57.0(@typescript-eslint/types@8.70.0)
'@napi-rs/lzma-linux-x64-gnu@1.5.1':
optional: true
'@next/env@16.3.5': {}
'@next/swc-darwin-arm64@16.3.5':
@@ -3908,6 +4148,81 @@ snapshots:
'@rolldown/pluginutils@1.0.1': {}
'@rollup/rollup-android-arm-eabi@4.63.3':
optional: true
'@rollup/rollup-android-arm64@4.63.3':
optional: true
'@rollup/rollup-darwin-arm64@4.63.3':
optional: true
'@rollup/rollup-darwin-x64@4.63.3':
optional: true
'@rollup/rollup-freebsd-arm64@4.63.3':
optional: true
'@rollup/rollup-freebsd-x64@4.63.3':
optional: true
'@rollup/rollup-linux-arm-gnueabihf@4.63.3':
optional: true
'@rollup/rollup-linux-arm-musleabihf@4.63.3':
optional: true
'@rollup/rollup-linux-arm64-gnu@4.63.3':
optional: true
'@rollup/rollup-linux-arm64-musl@4.63.3':
optional: true
'@rollup/rollup-linux-loong64-gnu@4.63.3':
optional: true
'@rollup/rollup-linux-loong64-musl@4.63.3':
optional: true
'@rollup/rollup-linux-ppc64-gnu@4.63.3':
optional: true
'@rollup/rollup-linux-ppc64-musl@4.63.3':
optional: true
'@rollup/rollup-linux-riscv64-gnu@4.63.3':
optional: true
'@rollup/rollup-linux-riscv64-musl@4.63.3':
optional: true
'@rollup/rollup-linux-s390x-gnu@4.63.3':
optional: true
'@rollup/rollup-linux-x64-gnu@4.63.3':
optional: true
'@rollup/rollup-linux-x64-musl@4.63.3':
optional: true
'@rollup/rollup-openbsd-x64@4.63.3':
optional: true
'@rollup/rollup-openharmony-arm64@4.63.3':
optional: true
'@rollup/rollup-win32-arm64-msvc@4.63.3':
optional: true
'@rollup/rollup-win32-ia32-msvc@4.63.3':
optional: true
'@rollup/rollup-win32-x64-gnu@4.63.3':
optional: true
'@rollup/rollup-win32-x64-msvc@4.63.3':
optional: true
'@selderee/plugin-htmlparser2@0.11.0':
dependencies:
domhandler: 5.0.3
@@ -4787,6 +5102,10 @@ snapshots:
hookified@2.2.0: {}
hosted-git-info@10.1.1:
dependencies:
lru-cache: 11.5.2
html-to-text@9.0.5:
dependencies:
'@selderee/plugin-htmlparser2': 0.11.0
@@ -5098,6 +5417,12 @@ snapshots:
node-fetch-native@1.6.7: {}
normalize-package-data@9.0.0:
dependencies:
hosted-git-info: 10.1.1
semver: 7.8.5
validate-npm-package-license: 3.0.4
normalize-path@3.0.0: {}
normalize-url@8.1.1:
@@ -5140,6 +5465,8 @@ snapshots:
p-try@2.2.0: {}
packageurl-js@2.0.1: {}
parseley@0.12.1:
dependencies:
leac: 0.6.0
@@ -5319,6 +5646,54 @@ snapshots:
'@rolldown/binding-win32-arm64-msvc': 1.2.8
'@rolldown/binding-win32-x64-msvc': 1.2.8
rollup-plugin-sbom@4.0.0(ajv-formats@3.0.1(ajv@8.20.0))(ajv@8.20.0)(rolldown@1.2.8)(rollup@4.63.3)(vite@8.3.0(@types/node@25.9.6)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)):
dependencies:
'@cyclonedx/cyclonedx-library': 10.1.0(ajv-formats@3.0.1(ajv@8.20.0))(ajv@8.20.0)(packageurl-js@2.0.1)(spdx-expression-parse@5.0.0)
normalize-package-data: 9.0.0
packageurl-js: 2.0.1
spdx-expression-parse: 5.0.0
optionalDependencies:
rolldown: 1.2.8
rollup: 4.63.3
vite: 8.3.0(@types/node@25.9.6)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)
transitivePeerDependencies:
- ajv
- ajv-formats
- ajv-formats-draft2019
- libxmljs2
rollup@4.63.3:
dependencies:
'@types/estree': 1.0.9
optionalDependencies:
'@napi-rs/lzma-linux-x64-gnu': 1.5.1
'@rollup/rollup-android-arm-eabi': 4.63.3
'@rollup/rollup-android-arm64': 4.63.3
'@rollup/rollup-darwin-arm64': 4.63.3
'@rollup/rollup-darwin-x64': 4.63.3
'@rollup/rollup-freebsd-arm64': 4.63.3
'@rollup/rollup-freebsd-x64': 4.63.3
'@rollup/rollup-linux-arm-gnueabihf': 4.63.3
'@rollup/rollup-linux-arm-musleabihf': 4.63.3
'@rollup/rollup-linux-arm64-gnu': 4.63.3
'@rollup/rollup-linux-arm64-musl': 4.63.3
'@rollup/rollup-linux-loong64-gnu': 4.63.3
'@rollup/rollup-linux-loong64-musl': 4.63.3
'@rollup/rollup-linux-ppc64-gnu': 4.63.3
'@rollup/rollup-linux-ppc64-musl': 4.63.3
'@rollup/rollup-linux-riscv64-gnu': 4.63.3
'@rollup/rollup-linux-riscv64-musl': 4.63.3
'@rollup/rollup-linux-s390x-gnu': 4.63.3
'@rollup/rollup-linux-x64-gnu': 4.63.3
'@rollup/rollup-linux-x64-musl': 4.63.3
'@rollup/rollup-openbsd-x64': 4.63.3
'@rollup/rollup-openharmony-arm64': 4.63.3
'@rollup/rollup-win32-arm64-msvc': 4.63.3
'@rollup/rollup-win32-ia32-msvc': 4.63.3
'@rollup/rollup-win32-x64-gnu': 4.63.3
'@rollup/rollup-win32-x64-msvc': 4.63.3
fsevents: 2.3.3
runed@0.23.4(svelte@5.57.0(@typescript-eslint/types@8.70.0)):
dependencies:
esm-env: 1.2.2
@@ -5457,6 +5832,25 @@ snapshots:
source-map-js@1.2.1: {}
spdx-correct@3.2.0:
dependencies:
spdx-expression-parse: 3.0.1
spdx-license-ids: 3.0.24
spdx-exceptions@2.5.0: {}
spdx-expression-parse@3.0.1:
dependencies:
spdx-exceptions: 2.5.0
spdx-license-ids: 3.0.24
spdx-expression-parse@5.0.0:
dependencies:
spdx-exceptions: 2.5.0
spdx-license-ids: 3.0.24
spdx-license-ids@3.0.24: {}
string-width@4.2.3:
dependencies:
emoji-regex: 8.0.0
@@ -5699,6 +6093,11 @@ snapshots:
optionalDependencies:
typescript: 6.0.3
validate-npm-package-license@3.0.4:
dependencies:
spdx-correct: 3.2.0
spdx-expression-parse: 3.0.1
validator@13.15.35:
optional: true