Files
oh-my-opencode/web/package.json
T
YeonGyu-Kim e02166d6b7 fix(web): downgrade Next.js 16.2.6 -> 15.5.18 to unblock Cloudflare deploy
The first auto-deploy from PR #3855 returned HTTP 500 on every page
with the runtime error `TypeError: components.ComponentMod.handler is
not a function`. Captured via `wrangler tail`.

Root cause: Next.js 16.2.6 was published 2026-05-07 19:01 UTC, *after*
@opennextjs/cloudflare 1.19.8 was published earlier the same day at
11:33 UTC. OpenNext 1.19.8's peerDependency declares
`next: '>=15.5.16 <16 || >=16.2.5'` — 16.2.6 falls inside the range
syntactically, but the route component module export shape changed in
that patch and OpenNext has not caught up yet.

Pin Next + eslint-config-next to 15.5.18 (latest 15.x LTS, the other
half of OpenNext's supported range). Revert the migration-only changes
that came with the 16 bump:

- eslint.config.mjs: `nextPlugin.configs["core-web-vitals"]` (v16
  shape) -> `nextPlugin.flatConfig.coreWebVitals` (v15 shape).
- tsconfig.json: `jsx: "react-jsx"` -> `jsx: "preserve"` (Next 15
  default).
- tsconfig.json: add `noUncheckedSideEffectImports: false` because
  TypeScript 6 enabled this option under `strict` and Next 15's
  bundled types do not declare ambient CSS modules (Next 16 does).

All other web/ deps stay at latest. lucide-react remains pinned at
0.577.0 from #3853 for the same brand-icon reason. Re-evaluate Next 16
when @opennextjs/cloudflare ships a release explicitly tested against
\>= 16.2.6.
2026-05-08 15:25:51 +09:00

59 lines
2.1 KiB
JSON

{
"name": "oh-my-openagent-web",
"version": "0.1.0",
"private": true,
"scripts": {
"prebuild": "node ./scripts/prepare-build.mjs",
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "eslint \"app/**/*.{ts,tsx}\" \"components/**/*.{ts,tsx}\" \"lib/**/*.{ts,tsx}\" \"e2e/**/*.{ts,tsx}\"",
"lint:fix": "eslint --fix \"app/**/*.{ts,tsx}\" \"components/**/*.{ts,tsx}\" \"lib/**/*.{ts,tsx}\" \"e2e/**/*.{ts,tsx}\"",
"format": "prettier --write \"**/*.{ts,tsx,js,jsx,json,css,md}\"",
"format:check": "prettier --check \"**/*.{ts,tsx,js,jsx,json,css,md}\"",
"type-check": "tsc --noEmit",
"test:e2e": "playwright test",
"test:e2e:ui": "playwright test --ui",
"test:e2e:headed": "playwright test --headed",
"preview": "node ./scripts/prepare-build.mjs && opennextjs-cloudflare build && opennextjs-cloudflare preview",
"deploy": "node ./scripts/prepare-build.mjs && opennextjs-cloudflare build && opennextjs-cloudflare deploy",
"cf-typegen": "wrangler types --env-interface CloudflareEnv cloudflare-env.d.ts"
},
"dependencies": {
"@radix-ui/react-accordion": "^1.2.12",
"@radix-ui/react-separator": "^1.1.8",
"@radix-ui/react-slot": "^1.2.4",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"geist": "^1.7.0",
"lucide-react": "0.577.0",
"motion": "^12.38.0",
"next": "15.5.18",
"next-intl": "^4.11.0",
"react": "^19.2.6",
"react-dom": "^19.2.6",
"tailwind-merge": "^3.5.0",
"tailwindcss-animate": "^1.0.7"
},
"devDependencies": {
"@opennextjs/cloudflare": "^1.19.8",
"@playwright/test": "1.59.1",
"@tailwindcss/postcss": "4.2.4",
"@types/node": "^25.6.2",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"eslint": "^10.3.0",
"eslint-config-next": "15.5.18",
"eslint-config-prettier": "10.1.8",
"eslint-plugin-prettier": "5.5.5",
"globals": "^17.6.0",
"postcss": "^8.5.14",
"prettier": "3.8.3",
"prettier-plugin-tailwindcss": "^0.8.0",
"tailwindcss": "4.2.4",
"typescript-eslint": "^8.59.2",
"typescript": "6.0.3",
"wrangler": "^4.90.0"
}
}