Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/generate
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/

#Openrouter api key
OPENROUTER_API_KEY="your openrouter api key"
GEMINI_API_KEY=""

# Stripe api key
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY="your stripe publishable key"
Expand All @@ -22,5 +22,9 @@ EMAIL_USER=
EMAIL_PASS=


DATABASE_URL="postgresql://postgres.ieomcyudnkxnbbzkvynt:[your-password]@aws-0-ap-south-1.pooler.supabase.com:5432/postgres"
DATABASE_URL="postgresql://postgres:your-password@db.ieomcyudnkxnbbzkvynt.supabase.co:5432/postgres"

# Razorpay Configuration
RAZORPAY_KEY_ID="your_razorpay_key_id"
RAZORPAY_KEY_SECRET="your_razorpay_key_secret"
NEXT_PUBLIC_RAZORPAY_KEY_ID="your_razorpay_key_id"
52 changes: 48 additions & 4 deletions next.config.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,56 @@
/** @type {import('next').NextConfig} */
const nextConfig = {
transpilePackages: ['react-toastify'],
webpack: (config) => {
// ✅ FIXED: Updated for Next.js 15 stable
serverExternalPackages: ['@prisma/client'], // Moved from experimental
turbopack: {
// ✅ FIXED: Moved from experimental.turbo
rules: {
'*.svg': {
loaders: ['@svgr/webpack'],
as: '*.js',
},
},
},
experimental: {
// ✅ FIXED: Only keep valid experimental features
optimizePackageImports: ['lucide-react', '@radix-ui/react-icons'],
},
images: {
remotePatterns: [
{
protocol: 'https',
hostname: 'images.unsplash.com',
},
],
formats: ['image/webp', 'image/avif'],
},
webpack: (config, { dev, isServer }) => {
// Optimize bundle size in production
if (!dev && !isServer) {
config.optimization.splitChunks = {
chunks: 'all',
cacheGroups: {
vendor: {
test: /[\\/]node_modules[\\/]/,
name: 'vendors',
chunks: 'all',
},
common: {
name: 'common',
minChunks: 2,
chunks: 'all',
},
},
};
}

config.resolve.alias = {
...config.resolve.alias,
}
return config
};

return config;
},
}

module.exports = nextConfig
module.exports = nextConfig;
4 changes: 0 additions & 4 deletions next.config.mjs

This file was deleted.

47 changes: 27 additions & 20 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,49 +3,50 @@
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev",
"dev": "next dev --turbopack",
"build": "next build",
"start": "next start",
"lint": "next lint"
"lint": "next lint",
"db:generate": "prisma generate",
"db:push": "prisma db push",
"db:migrate": "prisma migrate dev"
},
"dependencies": {
"@clerk/clerk-react": "^5.24.1",
"@clerk/nextjs": "^5.7.5",
"@clerk/clerk-react": "^5.36.0",
"@clerk/nextjs": "^6.26.0",
"@clerk/themes": "^2.2.20",
"@hookform/resolvers": "^3.10.0",
"@kinde-oss/kinde-auth-nextjs": "^2.5.3",
"@prisma/client": "^5.22.0",
"@radix-ui/react-dialog": "^1.1.6",
"@radix-ui/react-dropdown-menu": "^2.1.6",
"@radix-ui/react-dialog": "^1.1.14",
"@radix-ui/react-dropdown-menu": "^2.1.15",
"@radix-ui/react-label": "^2.1.2",
"@radix-ui/react-progress": "^1.1.7",
"@radix-ui/react-slot": "^1.1.2",
"@radix-ui/react-toast": "^1.2.6",
"@radix-ui/react-tooltip": "^1.1.8",
"@shadcn/ui": "^0.0.4",
"@stripe/stripe-js": "^4.10.0",
"@supabase/supabase-js": "^2.49.1",
"@tailwindcss/typography": "^0.5.16",
"@types/nodemailer": "^6.4.17",
"@types/react-toastify": "^4.1.0",
"@typescript-eslint/parser": "^8.38.0",
"axios": "^1.8.2",
"button": "^1.1.1",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"dotenv": "^16.4.7",
"dropdown-menu": "^0.1.1",
"framer-motion": "^11.18.2",
"framer-motion": "^12.23.9",
"label": "^0.2.2",
"lucide-react": "^0.428.0",
"next": "14.2.5",
"next-themes": "^0.3.0",
"next": "15.4.4",
"next-themes": "^0.4.6",
"nodemailer": "^6.10.0",
"openai": "^4.86.2",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"razorpay": "^2.9.6",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-hook-form": "^7.54.2",
"react-toastify": "^11.0.5",
"stripe": "^16.12.0",
"svix": "^1.61.3",
"tailwind-merge": "^2.6.0",
"tailwindcss-animate": "^1.0.7",
"toast": "link:@components/ui/toast",
Expand All @@ -54,13 +55,19 @@
},
"devDependencies": {
"@types/node": "^20.17.24",
"@types/react": "^18.3.18",
"@types/react-dom": "^18.3.5",
"eslint": "^8.57.1",
"eslint-config-next": "14.2.5",
"@types/react": "^19.0.0",
"@types/react-dom": "^19.0.0",
"eslint": "^9.31.0",
"eslint-config-next": "15.4.4",
"postcss": "^8.5.3",
"prisma": "^5.22.0",
"tailwindcss": "^3.4.17",
"typescript": "^5.8.2"
},
"pnpm": {
"overrides": {
"@types/react": "19.1.8",
"@types/react-dom": "19.1.6"
}
}
}
Loading
Loading