{ "name": "frontend", "private": true, "version": "0.0.1", "type": "module", "scripts": { "dev": "vite dev", "i18n:compile": "paraglide-js compile --project ./project.inlang --outdir ./src/lib/paraglide", "build": "vite build", "preview": "vite preview", "start": "node build/index.js", "prepare": "svelte-kit sync || echo ''", "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", "format": "prettier --write .", "lint": "prettier --check . && eslint .", "test:unit": "vitest --project server", "test:unit:full": "vitest", "test": "npm run test:unit -- --run && npm run test:e2e", "test:e2e": "playwright test" }, "devDependencies": { "@eslint/compat": "^1.4.0", "@eslint/js": "^9.36.0", "@inlang/paraglide-js": "^2.3.2", "@internationalized/date": "^3.10.0", "@lucide/svelte": "^0.561.0", "@playwright/test": "^1.55.1", "@sveltejs/adapter-node": "^5.3.2", "@sveltejs/kit": "^2.43.2", "@sveltejs/vite-plugin-svelte": "^6.2.0", "@tailwindcss/forms": "^0.5.10", "@tailwindcss/typography": "^0.5.19", "@tailwindcss/vite": "^4.1.14", "@tanstack/table-core": "^8.21.3", "@types/node": "^20", "@vitest/browser": "^3.2.4", "bits-ui": "^2.14.4", "clsx": "^2.1.1", "eslint": "^9.36.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-svelte": "^3.12.4", "globals": "^16.4.0", "playwright": "^1.55.1", "prettier": "^3.6.2", "prettier-plugin-svelte": "^3.4.0", "prettier-plugin-tailwindcss": "^0.7.1", "svelte": "^5.39.5", "svelte-check": "^4.3.2", "tailwind-merge": "^3.3.1", "tailwind-variants": "^3.1.1", "tailwindcss": "^4.1.14", "tw-animate-css": "^1.4.0", "typescript": "^5.9.2", "typescript-eslint": "^8.44.1", "vite": "^7.1.7", "vitest": "^3.2.4", "vitest-browser-svelte": "^1.1.0" }, "dependencies": { "@types/dompurify": "^3.2.0", "@types/marked": "^6.0.0", "chart.js": "^4.5.1", "dompurify": "^3.0.9", "keycloak-js": "^26.2.1", "lucide-svelte": "^0.553.0", "marked": "^12.0.0", "svelte-sonner": "^1.0.7" }, "packageManager": "pnpm@10.30.3+sha512.c961d1e0a2d8e354ecaa5166b822516668b7f44cb5bd95122d590dd81922f606f5473b6d23ec4a5be05e7fcd18e8488d47d978bbe981872f1145d06e9a740017" }