Files
windwiderstand/package.json
T
Peter Meier f0d9fecfb8 feat: Social-Media-Bild-Generator für Kalender-Termine
Neuer Endpoint /api/social/calendar/[slug] rendert Termin via satori +
resvg zu PNG. Formate: og (1200x630) und square (1080x1080).
Gebrandetes Layout mit Datum, Titel, Ort. Inter-Font lazy von gstatic,
10min In-Memory-Cache pro Slug+Format.

CalendarBlock: zwei Download-Buttons pro Termin (Bild quer / quadr.).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 09:28:00 +02:00

60 lines
1.8 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"
},
"devDependencies": {
"@iconify-json/mdi": "^1.2.3",
"@sveltejs/adapter-node": "^5.2.12",
"@sveltejs/kit": "^2.21.4",
"@sveltejs/vite-plugin-svelte": "^5.0.3",
"@tailwindcss/vite": "^4.1.18",
"@types/node": "^22.10.0",
"@types/qrcode": "^1.5.6",
"@types/sanitize-html": "^2.13.0",
"@vitest/coverage-v8": "^2.1.9",
"openapi-typescript": "^7.4.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/aleo": "^5.2.7",
"@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"
}