diff --git a/apps/web-evals/next-env.d.ts b/apps/web-evals/next-env.d.ts index 1b3be0840f3..7506fe6afbc 100644 --- a/apps/web-evals/next-env.d.ts +++ b/apps/web-evals/next-env.d.ts @@ -1,5 +1,6 @@ /// /// +import "./.next/dev/types/routes.d.ts" // NOTE: This file should not be edited // see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/apps/web-evals/next.config.ts b/apps/web-evals/next.config.ts index 08ed853fc38..b5f54a87be8 100644 --- a/apps/web-evals/next.config.ts +++ b/apps/web-evals/next.config.ts @@ -1,10 +1,7 @@ import type { NextConfig } from "next" const nextConfig: NextConfig = { - webpack: (config) => { - config.resolve.extensionAlias = { ".js": [".ts", ".tsx", ".js", ".jsx"] } - return config - }, + turbopack: {}, } export default nextConfig diff --git a/apps/web-evals/package.json b/apps/web-evals/package.json index 9ba2c98c2c9..0a721bf36cf 100644 --- a/apps/web-evals/package.json +++ b/apps/web-evals/package.json @@ -3,7 +3,7 @@ "version": "0.0.0", "type": "module", "scripts": { - "lint": "next lint --max-warnings 0", + "lint": "eslint src --ext=ts,tsx --max-warnings=0", "check-types": "tsc -b", "dev": "scripts/check-services.sh && next dev -p 3446", "format": "prettier --write src", @@ -27,7 +27,7 @@ "@radix-ui/react-tabs": "^1.1.3", "@radix-ui/react-tooltip": "^1.2.8", "@roo-code/evals": "workspace:^", - "@roo-code/types": "workspace:^", + "@roo-code/types": "^1.108.0", "@tanstack/react-query": "^5.69.0", "archiver": "^7.0.1", "class-variance-authority": "^0.7.1", @@ -35,7 +35,7 @@ "cmdk": "^1.1.0", "fuzzysort": "^3.1.0", "lucide-react": "^0.518.0", - "next": "~15.2.8", + "next": "^16.1.6", "next-themes": "^0.4.6", "p-map": "^7.0.3", "react": "^18.3.1", diff --git a/apps/web-roo-code/next.config.ts b/apps/web-roo-code/next.config.ts index a2591c1a30f..0aaf2849d55 100644 --- a/apps/web-roo-code/next.config.ts +++ b/apps/web-roo-code/next.config.ts @@ -1,9 +1,9 @@ +import path from "path" import type { NextConfig } from "next" const nextConfig: NextConfig = { - webpack: (config) => { - config.resolve.extensionAlias = { ".js": [".ts", ".tsx", ".js", ".jsx"] } - return config + turbopack: { + root: path.join(__dirname, "../.."), }, async redirects() { return [ diff --git a/apps/web-roo-code/package.json b/apps/web-roo-code/package.json index d82cad56ab8..e02d757038e 100644 --- a/apps/web-roo-code/package.json +++ b/apps/web-roo-code/package.json @@ -3,7 +3,7 @@ "version": "0.0.0", "type": "module", "scripts": { - "lint": "next lint --max-warnings 0", + "lint": "eslint src --ext=ts,tsx --max-warnings=0", "check-types": "tsc --noEmit", "dev": "next dev", "build": "next build", @@ -12,22 +12,22 @@ "clean": "rimraf .next .turbo" }, "dependencies": { - "@radix-ui/react-dialog": "^1.1.14", - "@radix-ui/react-slot": "^1.2.3", + "@radix-ui/react-dialog": "^1.1.15", + "@radix-ui/react-slot": "^1.2.4", "@roo-code/evals": "workspace:^", - "@roo-code/types": "workspace:^", - "@tanstack/react-query": "^5.79.0", - "@vercel/og": "^0.6.2", + "@roo-code/types": "^1.108.0", + "@tanstack/react-query": "^5.90.20", + "@vercel/og": "^0.8.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "embla-carousel-auto-scroll": "^8.6.0", "embla-carousel-autoplay": "^8.6.0", "embla-carousel-react": "^8.6.0", - "framer-motion": "12.15.0", - "lucide-react": "^0.518.0", - "next": "~15.2.8", + "framer-motion": "^12.29.2", + "lucide-react": "^0.563.0", + "next": "^16.1.6", "next-themes": "^0.4.6", - "posthog-js": "^1.248.1", + "posthog-js": "^1.336.4", "react": "^18.3.1", "react-cookie-consent": "^9.0.0", "react-dom": "^18.3.1", @@ -36,7 +36,7 @@ "recharts": "^2.15.3", "rehype-raw": "^7.0.0", "remark-gfm": "^4.0.1", - "tailwind-merge": "^3.3.0", + "tailwind-merge": "^3.4.0", "tailwindcss-animate": "^1.0.7", "tldts": "^6.1.86", "zod": "^3.25.61" @@ -44,13 +44,13 @@ "devDependencies": { "@roo-code/config-eslint": "workspace:^", "@roo-code/config-typescript": "workspace:^", - "@tailwindcss/typography": "^0.5.16", + "@tailwindcss/typography": "^0.5.19", "@types/node": "20.x", "@types/react": "^18.3.23", "@types/react-dom": "^18.3.7", - "autoprefixer": "^10.4.21", + "autoprefixer": "^10.4.23", "next-sitemap": "^4.2.3", - "postcss": "^8.5.4", + "postcss": "^8.5.6", "tailwindcss": "^3.4.17" } } diff --git a/apps/web-roo-code/src/app/cloud/page.tsx b/apps/web-roo-code/src/app/cloud/page.tsx index 1da9cad2afb..68d3c3d2bc2 100644 --- a/apps/web-roo-code/src/app/cloud/page.tsx +++ b/apps/web-roo-code/src/app/cloud/page.tsx @@ -22,7 +22,7 @@ import { SEO } from "@/lib/seo" import { ogImageUrl } from "@/lib/og" import { EXTERNAL_LINKS } from "@/lib/constants" // Workaround for next/image choking on these for some reason -import screenshotDark from "/public/heroes/cloud-screen.png" +import screenshotDark from "../../../public/heroes/cloud-screen.png" const TITLE = "Roo Code Cloud" const DESCRIPTION = diff --git a/apps/web-roo-code/src/app/pr-fixer/content-a.tsx b/apps/web-roo-code/src/app/pr-fixer/content-a.tsx index 1935ca27740..c3c1a6dadda 100644 --- a/apps/web-roo-code/src/app/pr-fixer/content-a.tsx +++ b/apps/web-roo-code/src/app/pr-fixer/content-a.tsx @@ -2,7 +2,7 @@ import { type AgentPageContent } from "@/app/shared/agent-page-content" import Link from "next/link" // Workaround for next/image choking on these for some reason -import hero from "/public/heroes/agent-pr-fixer.png" +import hero from "../../../public/heroes/agent-pr-fixer.png" // Re-export for convenience export type { AgentPageContent } diff --git a/apps/web-roo-code/src/app/provider/page.tsx b/apps/web-roo-code/src/app/provider/page.tsx index 6caf1e69284..b42e48cb2e0 100644 --- a/apps/web-roo-code/src/app/provider/page.tsx +++ b/apps/web-roo-code/src/app/provider/page.tsx @@ -252,7 +252,7 @@ export default function ProviderPage() { {faqs.map((faq, index) => (

{faq.question}

-

{faq.answer}

+
{faq.answer}
))} diff --git a/apps/web-roo-code/src/app/reviewer/content-b.ts b/apps/web-roo-code/src/app/reviewer/content-b.ts index 0c2f76a2f53..173e6546277 100644 --- a/apps/web-roo-code/src/app/reviewer/content-b.ts +++ b/apps/web-roo-code/src/app/reviewer/content-b.ts @@ -1,7 +1,7 @@ import { type AgentPageContent } from "@/app/shared/agent-page-content" // Workaround for next/image choking on these for some reason -import hero from "/public/heroes/agent-reviewer.png" +import hero from "../../../public/heroes/agent-reviewer.png" // Re-export for convenience export type { AgentPageContent } diff --git a/apps/web-roo-code/src/app/reviewer/content.ts b/apps/web-roo-code/src/app/reviewer/content.ts index 0c2f76a2f53..173e6546277 100644 --- a/apps/web-roo-code/src/app/reviewer/content.ts +++ b/apps/web-roo-code/src/app/reviewer/content.ts @@ -1,7 +1,7 @@ import { type AgentPageContent } from "@/app/shared/agent-page-content" // Workaround for next/image choking on these for some reason -import hero from "/public/heroes/agent-reviewer.png" +import hero from "../../../public/heroes/agent-reviewer.png" // Re-export for convenience export type { AgentPageContent } diff --git a/apps/web-roo-code/src/components/chromes/nav-bar.tsx b/apps/web-roo-code/src/components/chromes/nav-bar.tsx index fda49dfc871..978212beb44 100644 --- a/apps/web-roo-code/src/components/chromes/nav-bar.tsx +++ b/apps/web-roo-code/src/components/chromes/nav-bar.tsx @@ -30,6 +30,7 @@ interface NavBarProps { export function NavBar({ stars, downloads }: NavBarProps) { const [isMenuOpen, setIsMenuOpen] = useState(false) + const [openDropdown, setOpenDropdown] = useState(null) const logoSrc = useLogoSrc() return ( @@ -44,62 +45,76 @@ export function NavBar({ stars, downloads }: NavBarProps) { {/* Desktop Navigation */}