Remove the generic $lib/svelte-admin CRUD layer and AdminTable.svelte; each admin route now owns its own form/modal logic. Add DataTable.svelte, superform-errors.ts, and profile-specific modal/field components. Flatten proclamation categories/groups and drop subscription levels; add the v2 groups API; update v1/v2 endpoints, serializers, auth, and regenerated Prisma client with the new migrations. Document the overhaul plan in docs/ADMIN_OVERHAUL.md.
71 lines
2.0 KiB
JSON
71 lines
2.0 KiB
JSON
{
|
|
"name": "portal.radiantwavetech.com",
|
|
"private": true,
|
|
"version": "0.0.1",
|
|
"type": "module",
|
|
"engines": {
|
|
"node": ">=24"
|
|
},
|
|
"scripts": {
|
|
"dev": "NODE_EXTRA_CA_CERTS=./digital-ocean.crt vite dev",
|
|
"build": "vite build",
|
|
"preview": "vite preview",
|
|
"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",
|
|
"test": "npm run test:unit -- --run",
|
|
"migrate": "npx prisma migrate dev --name",
|
|
"deploy": "npx prisma migrate deploy"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/compat": "^1.4.0",
|
|
"@eslint/js": "^9.39.1",
|
|
"@sveltejs/adapter-auto": "^7.0.0",
|
|
"@sveltejs/adapter-node": "^5.5.1",
|
|
"@sveltejs/kit": "^2.49.1",
|
|
"@sveltejs/vite-plugin-svelte": "^6.2.1",
|
|
"@tailwindcss/forms": "^0.5.10",
|
|
"@tailwindcss/typography": "^0.5.19",
|
|
"@tailwindcss/vite": "^4.1.17",
|
|
"@types/node": "^22.19.5",
|
|
"@types/pg": "^8.16.0",
|
|
"@vitest/browser-playwright": "^4.0.15",
|
|
"eslint": "^9.39.1",
|
|
"eslint-config-prettier": "^10.1.8",
|
|
"eslint-plugin-svelte": "^3.13.1",
|
|
"globals": "^16.5.0",
|
|
"playwright": "^1.57.0",
|
|
"prettier": "^3.7.4",
|
|
"prettier-plugin-svelte": "^3.4.0",
|
|
"prettier-plugin-tailwindcss": "^0.7.2",
|
|
"prisma": "^7.2.0",
|
|
"svelte": "^5.45.6",
|
|
"svelte-check": "^4.3.4",
|
|
"tailwindcss": "^4.1.17",
|
|
"tsx": "^4.23.0",
|
|
"typescript": "^5.9.3",
|
|
"typescript-eslint": "^8.48.1",
|
|
"vite": "^7.2.6",
|
|
"vitest": "^4.0.15",
|
|
"vitest-browser-svelte": "^2.0.1"
|
|
},
|
|
"dependencies": {
|
|
"@prisma/adapter-pg": "^7.8.0",
|
|
"@prisma/client": "^7.8.0",
|
|
"@tiptap/core": "^3.15.3",
|
|
"@tiptap/extension-color": "^3.27.3",
|
|
"@tiptap/extension-highlight": "^3.27.3",
|
|
"@tiptap/extension-text-style": "^3.27.3",
|
|
"@tiptap/starter-kit": "^3.15.3",
|
|
"better-auth": "^1.4.10",
|
|
"dotenv": "^17.2.3",
|
|
"pg": "^8.16.3",
|
|
"resend": "^6.17.1",
|
|
"sveltekit-superforms": "^2.30.2",
|
|
"zod": "^4.4.3"
|
|
}
|
|
}
|