Files
IPAM/package.json
Mathieu BOURBON 73d016ec24 fix(prisma): provider statique + scripts de bascule SQLite/PostgreSQL
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>
2026-04-18 16:38:03 +02:00

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"
}
}