Prisma ne supporte pas env() pour le champ `provider` d'un datasource (uniquement pour `url`). Le schéma utilise maintenant `provider = "sqlite"` en statique, et deux scripts npm (`db:use-sqlite` / `db:use-postgres`) réécrivent le fichier pour basculer entre les deux moteurs. Sans ce fix, `prisma generate` échoue au boot. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
77 lines
2.4 KiB
JSON
77 lines
2.4 KiB
JSON
{
|
|
"name": "ipam-homelab",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"description": "IPAM (IP Address Management) pour homelab — inventaire, ports, applications et découverte réseau",
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"lint": "next lint",
|
|
"format": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"",
|
|
"typecheck": "tsc --noEmit",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"db:generate": "prisma generate",
|
|
"db:migrate": "prisma migrate dev",
|
|
"db:deploy": "prisma migrate deploy",
|
|
"db:studio": "prisma studio",
|
|
"db:seed": "tsx prisma/seed.ts",
|
|
"db:reset": "prisma migrate reset",
|
|
"db:use-sqlite": "node scripts/switch-db-provider.mjs sqlite",
|
|
"db:use-postgres": "node scripts/switch-db-provider.mjs postgresql",
|
|
"docker:up": "docker compose -f docker/docker-compose.yml up -d",
|
|
"docker:down": "docker compose -f docker/docker-compose.yml down",
|
|
"docker:logs": "docker compose -f docker/docker-compose.yml logs -f",
|
|
"discovery:run": "tsx scripts/run-discovery.ts"
|
|
},
|
|
"dependencies": {
|
|
"@hookform/resolvers": "^3.9.0",
|
|
"@prisma/client": "^5.22.0",
|
|
"@radix-ui/react-dialog": "^1.1.2",
|
|
"@radix-ui/react-dropdown-menu": "^2.1.2",
|
|
"@radix-ui/react-label": "^2.1.0",
|
|
"@radix-ui/react-select": "^2.1.2",
|
|
"@radix-ui/react-slot": "^1.1.0",
|
|
"@radix-ui/react-toast": "^1.2.2",
|
|
"@tanstack/react-query": "^5.59.0",
|
|
"bonjour-service": "^1.2.1",
|
|
"class-variance-authority": "^0.7.0",
|
|
"clsx": "^2.1.1",
|
|
"ip-address": "^9.0.5",
|
|
"ip-regex": "^5.0.0",
|
|
"lucide-react": "^0.454.0",
|
|
"netmask": "^2.0.2",
|
|
"next": "^15.0.0",
|
|
"ping": "^0.4.4",
|
|
"pino": "^9.5.0",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"react-hook-form": "^7.53.0",
|
|
"tailwind-merge": "^2.5.4",
|
|
"tailwindcss-animate": "^1.0.7",
|
|
"zod": "^3.23.8"
|
|
},
|
|
"devDependencies": {
|
|
"@types/netmask": "^2.0.5",
|
|
"@types/node": "^22.7.0",
|
|
"@types/ping": "^0.4.4",
|
|
"@types/react": "^18.3.11",
|
|
"@types/react-dom": "^18.3.0",
|
|
"autoprefixer": "^10.4.20",
|
|
"eslint": "^9.12.0",
|
|
"eslint-config-next": "^15.0.0",
|
|
"postcss": "^8.4.47",
|
|
"prettier": "^3.3.3",
|
|
"prettier-plugin-tailwindcss": "^0.6.8",
|
|
"prisma": "^5.22.0",
|
|
"tailwindcss": "^3.4.13",
|
|
"tsx": "^4.19.1",
|
|
"typescript": "^5.6.3",
|
|
"vitest": "^2.1.2"
|
|
},
|
|
"engines": {
|
|
"node": ">=20"
|
|
}
|
|
}
|