03e84c1f28
Storybook (SvelteKit-Framework, Tailwind v4, MSW, Translation-Decorator): Stories für Atoms/Molecules/Organisms + alle CMS-Blocks. Button-Atom: 5 .btn-*-Varianten (primary/secondary/tertiary/outline/warning), class-Merge-Prop, href→<a>, Loading-Spinner neben Label, rounded-md/font-medium. Alle rohen .btn-*- und Hand-Style-Buttons app-weit aufs Atom migriert. SectionHeader-Molecule (kicker/number/title/subtitle/action) + Integration in 7 CMS-Blocks (post_overview, organisations, organisations_map, searchable_text, image_gallery, youtube_video_gallery, files) via neuem section_header-Schema. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
71 lines
2.2 KiB
JSON
71 lines
2.2 KiB
JSON
{
|
|
"name": "windwiderstand",
|
|
"version": "0.0.1",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "vite dev",
|
|
"predev": "node scripts/generate-icons.mjs",
|
|
"build": "vite build",
|
|
"prebuild": "node scripts/generate-icons.mjs",
|
|
"preview": "vite preview",
|
|
"start": "node build",
|
|
"generate:api-types": "node scripts/generate-api-types.mjs",
|
|
"generate:icons": "node scripts/generate-icons.mjs",
|
|
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
|
"typecheck": "svelte-kit sync && tsc --noEmit",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:coverage": "vitest run --coverage",
|
|
"prepare": "svelte-kit sync || true",
|
|
"storybook": "storybook dev -p 6006",
|
|
"build-storybook": "storybook build"
|
|
},
|
|
"devDependencies": {
|
|
"@iconify-json/lucide": "^1.2.114",
|
|
"@iconify-json/mdi": "^1.2.3",
|
|
"@storybook/addon-a11y": "^10.5.0",
|
|
"@storybook/addon-docs": "^10.5.0",
|
|
"@storybook/addon-svelte-csf": "^5.1.2",
|
|
"@storybook/sveltekit": "^10.5.0",
|
|
"@sveltejs/adapter-node": "^5.2.12",
|
|
"@sveltejs/kit": "^2.65.0",
|
|
"@sveltejs/vite-plugin-svelte": "^5.0.3",
|
|
"@tailwindcss/vite": "^4.1.18",
|
|
"@types/geojson": "^7946.0.16",
|
|
"@types/node": "^22.10.0",
|
|
"@types/qrcode": "^1.5.6",
|
|
"@types/sanitize-html": "^2.13.0",
|
|
"@vitest/coverage-v8": "^2.1.9",
|
|
"msw": "^2.15.0",
|
|
"msw-storybook-addon": "^2.0.7",
|
|
"openapi-typescript": "^7.4.0",
|
|
"storybook": "^10.5.0",
|
|
"svelte": "^5.28.2",
|
|
"svelte-check": "^4.1.4",
|
|
"tailwindcss": "^4.1.18",
|
|
"typescript": "^5.9.3",
|
|
"vite": "^6.3.5",
|
|
"vitest": "^2.1.9"
|
|
},
|
|
"dependencies": {
|
|
"@fontsource-variable/lora": "^5.2.8",
|
|
"@fontsource-variable/rubik": "^5.2.8",
|
|
"@fontsource/inter": "^5.2.8",
|
|
"@iconify/svelte": "^5.2.1",
|
|
"@resvg/resvg-js": "^2.6.2",
|
|
"@turf/buffer": "^7.3.5",
|
|
"@types/leaflet": "^1.9.21",
|
|
"blurhash": "^2.0.5",
|
|
"class-variance-authority": "^0.7.1",
|
|
"leaflet": "^1.9.4",
|
|
"marked": "^17.0.2",
|
|
"qrcode": "^1.5.4",
|
|
"sanitize-html": "^2.13.1",
|
|
"satori": "^0.26.0",
|
|
"satori-html": "^0.3.2",
|
|
"sharp": "^0.34.5"
|
|
},
|
|
"type": "module"
|
|
}
|