diff --git a/.changeset/breezy-apricots-leave.md b/.changeset/breezy-apricots-leave.md new file mode 100644 index 00000000..2f553d56 --- /dev/null +++ b/.changeset/breezy-apricots-leave.md @@ -0,0 +1,5 @@ +--- +"stackspulse": patch +--- + +Upgrade to next.js 15. diff --git a/apps/server/package.json b/apps/server/package.json index c15a170f..ae0211ed 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -10,7 +10,7 @@ "deploy": "fly deploy --remote-only" }, "dependencies": { - "@dotenvx/dotenvx": "1.21.0", + "@dotenvx/dotenvx": "1.25.1", "@libsql/client": "0.8.0", "@sentry/node": "8.35.0", "@stacks/blockchain-api-client": "8.1.2", @@ -20,7 +20,7 @@ "drizzle-orm": "0.33.0", "h3": "1.13.0", "nitro-cors": "0.7.1", - "postgres": "3.4.4", + "postgres": "3.4.5", "twitter-api-v2": "1.17.1", "unstorage": "1.12.0", "zod": "3.23.8", diff --git a/apps/web/next.config.mjs b/apps/web/next.config.ts similarity index 85% rename from apps/web/next.config.mjs rename to apps/web/next.config.ts index 4bbd452f..23b6827d 100644 --- a/apps/web/next.config.mjs +++ b/apps/web/next.config.ts @@ -1,7 +1,7 @@ import { withSentryConfig } from "@sentry/nextjs"; +import type { NextConfig } from "next"; -/** @type {import('next').NextConfig} */ -const nextConfig = { +const nextConfig: NextConfig = { output: "standalone", images: { remotePatterns: [ diff --git a/apps/web/package.json b/apps/web/package.json index 6d91da0a..8f159ae1 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -10,43 +10,44 @@ "deploy": "fly deploy --remote-only" }, "dependencies": { - "@dotenvx/dotenvx": "1.21.0", + "@dotenvx/dotenvx": "1.25.1", "@hirosystems/token-metadata-api-client": "2.0.0", "@radix-ui/themes": "3.0.5", - "@sentry/nextjs": "8.35.0", + "@sentry/nextjs": "8.41.0", "@stacks/stacks-blockchain-api-types": "7.14.1", "@stacks/transactions": "6.17.0", "@stackspulse/protocols": "workspace:*", "@t3-oss/env-core": "0.11.1", "@t3-oss/env-nextjs": "0.11.1", - "@tabler/icons-react": "3.20.0", - "@tanstack/react-query": "5.59.16", - "class-variance-authority": "0.7.0", + "@tabler/icons-react": "3.23.0", + "@tanstack/react-query": "5.61.5", + "class-variance-authority": "0.7.1", "clsx": "2.1.1", "date-fns": "4.1.0", "fathom-client": "3.7.2", "javascript-time-ago": "2.5.11", - "next": "14.2.15", + "next": "15.0.3", "react": "18.3.1", "react-dom": "18.3.1", - "recharts": "2.13.0-alpha.4", + "react-is": "18.3.1", + "recharts": "2.13.3", "sharp": "0.33.5", - "tailwind-merge": "2.5.4", + "tailwind-merge": "2.5.5", "tailwindcss-animate": "1.0.7", "unstorage": "1.12.0", "zod": "3.23.8" }, "devDependencies": { - "@types/node": "22.8.1", + "@types/node": "22.10.1", "@types/react": "18.3.12", "@types/react-dom": "18.3.1", "autoprefixer": "10.4.20", - "eslint": "8.57.0", - "eslint-config-next": "14.2.15", + "eslint": "9.15.0", + "eslint-config-next": "15.0.3", "eslint-plugin-tailwindcss": "3.17.5", - "postcss": "8.4.47", + "postcss": "8.4.49", "radix-themes-tw": "0.2.3", - "tailwindcss": "3.4.14", - "typescript": "5.6.3" + "tailwindcss": "3.4.15", + "typescript": "5.7.2" } } diff --git a/apps/web/src/app/layout.tsx b/apps/web/src/app/layout.tsx index e60ddcb9..eea794c5 100644 --- a/apps/web/src/app/layout.tsx +++ b/apps/web/src/app/layout.tsx @@ -36,7 +36,6 @@ export default function RootLayout({ suppressHydrationWarning className={`${font.variable} font-sans antialiased`} > -
@@ -44,6 +43,7 @@ export default function RootLayout({