Files
compor-academy/package.json
2026-09-08 12:17:41 -03:00

43 lines
1.2 KiB
JSON

{
"name": "educlean",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview",
"dev:api": "tsx watch server/src/index.ts",
"start:api": "tsx server/src/index.ts",
"db:migrate": "tsx server/src/db/migrate.ts",
"db:bootstrap-admin": "tsx server/src/db/bootstrap-admin.ts",
"db:seed-demo-content": "tsx server/src/db/seed-demo-content.ts",
"typecheck:client": "tsc --project tsconfig.json",
"typecheck:api": "tsc --project server/tsconfig.json",
"typecheck": "npm run typecheck:client && npm run typecheck:api"
},
"dependencies": {
"@fastify/cors": "^11.0.0",
"@fastify/jwt": "^9.1.0",
"dotenv": "^16.6.1",
"fastify": "^5.3.2",
"fastify-plugin": "^5.0.1",
"lucide-react": "0.344.0",
"nodemailer": "^10.0.1",
"pg": "^8.16.3",
"react": "18.2.0",
"react-dom": "18.2.0",
"react-router-dom": "6.22.3",
"zod": "^3.24.4"
},
"devDependencies": {
"@types/node": "^22.14.0",
"@types/nodemailer": "^8.0.1",
"@types/pg": "^8.15.4",
"@vitejs/plugin-react": "^5.0.0",
"tsx": "^4.19.4",
"typescript": "~5.8.2",
"vite": "^6.2.0"
}
}