nicoalbanese / kirimase

Build full-stack Next.js apps, incredibly fast
https://kirimase.dev
MIT License
2.37k stars 107 forks source link

Installation of dependencies fails during kirimase init with drizzle #196

Closed Loridan closed 3 days ago

Loridan commented 2 weeks ago

Describe the bug The installation of dependencies fails during kirimase init (with drizzle and node-postgres). I think the current version of drizzle-orm is not compatible with the package.json generated by npx create-next-app@latest.

I managed to make it work :

To Solve

  1. Update Dependencies already installed: npm update --save

  2. Update Development Dependencies already installed:: npm update --save-dev

  3. Install these dependencies

update package.json

"dependencies": {
  "@hookform/resolvers": "^3.6.0",
  "@lucia-auth/adapter-drizzle": "^1.0.7",
  "@radix-ui/react-avatar": "^1.0.4",
  "@radix-ui/react-dropdown-menu": "^2.0.6",
  "@radix-ui/react-label": "^2.0.2",
  "@radix-ui/react-slot": "^1.0.2",
  "@t3-oss/env-nextjs": "^0.10.1",
  "class-variance-authority": "^0.7.0",
  "clsx": "^2.1.1",
  "drizzle-orm": "^0.31.1",
  "dotenv": "^16.4.5",
  "lucia": "^3.2.0",
  "lucide-react": "^0.390.0",
  "next": "14.2.3",
  "next-themes": "^0.3.0",
  "oslo": "^1.2.0",
  "pg": "^8.12.0",
  "react": "^18.3.1",
  "react-dom": "^18.3.1",
  "react-hook-form": "^7.51.5",
  "tailwind-merge": "^2.3.0",
  "tailwindcss-animate": "^1.0.7",
  "sonner": "^1.4.41",
  "zod": "^3.23.8"
},
"devDependencies": {
  "@types/node": "^20.14.2",
  "@types/pg": "^8.11.6",
  "@types/react": "^18.3.3",
  "@types/react-dom": "^18.3.0",
  "drizzle-kit": "^0.22.4",
  "eslint": "^8.57.0",
  "eslint-config-next": "14.2.3",
  "postcss": "^8.4.38",
  "tailwindcss": "^3.4.4",
  "typescript": "^5.4.5",
  "tsx": "^4.13.2",
}
  1. Then migrate code to drizzle-kit 0.21.0 https://orm.drizzle.team/kit-docs/upgrade-21#how-to-migrate-to-0210

update drizzle.config.ts

export default {
  dialect: "postgresql",  // "postgresql" | "mysql" | "sqlite"
  schema: "./src/lib/db/schema",
  out: "./src/lib/db/migrations",
  dbCredentials: {
    url: env.DATABASE_URL,
  }
} satisfies Config;

update package.json

  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "next lint",
    "db:generate": "drizzle-kit generate",  
    "db:migrate": "tsx src/lib/db/migrate.ts",
    "db:drop": "drizzle-kit drop",
    "db:pull": "drizzle-kit introspect",
    "db:studio": "drizzle-kit studio", 
    "db:check": "drizzle-kit check"
  },
nicoalbanese commented 3 days ago

This should be resolved with #194