Skip to content

Commit 1d6135c

Browse files
prazgaitisclaude
andcommitted
upgrade to Next.js 16.1.6 and React 19.2
- Next.js 15.5.2 → 16.1.6, React 19.1.0 → 19.2.4 - Rename middleware.ts → proxy.ts (Next.js 16 convention) - Remove --turbopack flags (now default in Next.js 16) - Update eslint-config-next to v16 flat config (remove FlatCompat) - Disable React Compiler lint rules until reactCompiler is enabled - Update Node.js engine requirement to >=20.9.0 - Remove unused eslint-disable directives Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 8aef512 commit 1d6135c

9 files changed

Lines changed: 895 additions & 744 deletions

File tree

apps/web/components/editor/rich-text-editor.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,6 @@ export function RichTextEditor({
238238
placeholder: placeholder ?? 'Write something…',
239239
}),
240240
mentionExtension,
241-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
242241
] as any,
243242
content: parseEditorContent(value) ?? value ?? '',
244243
editable: !disabled,

apps/web/eslint.config.mjs

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,31 @@
11
// For more info, see https://github.com/storybookjs/eslint-plugin-storybook#configuration-flat-config-format
22
import storybook from "eslint-plugin-storybook";
3+
import nextCoreWebVitals from "eslint-config-next/core-web-vitals";
34

4-
import { dirname } from "path";
5-
import { fileURLToPath } from "url";
6-
import { FlatCompat } from "@eslint/eslintrc";
7-
8-
const __filename = fileURLToPath(import.meta.url);
9-
const __dirname = dirname(__filename);
10-
11-
const compat = new FlatCompat({
12-
baseDirectory: __dirname,
13-
});
14-
15-
const eslintConfig = [...compat.extends("next/core-web-vitals", "next/typescript"), {
16-
ignores: [
17-
"node_modules/**",
18-
".next/**",
19-
"out/**",
20-
"build/**",
21-
"next-env.d.ts",
22-
"convex/_generated/**",
23-
"storybook-static/**",
24-
],
25-
}, ...storybook.configs["flat/recommended"]];
5+
const eslintConfig = [
6+
...nextCoreWebVitals,
7+
{
8+
ignores: [
9+
"node_modules/**",
10+
".next/**",
11+
"out/**",
12+
"build/**",
13+
"next-env.d.ts",
14+
"convex/_generated/**",
15+
"storybook-static/**",
16+
],
17+
},
18+
{
19+
rules: {
20+
// Disable React Compiler rules until we enable reactCompiler in next.config
21+
"react-hooks/purity": "off",
22+
"react-hooks/set-state-in-effect": "off",
23+
"react-hooks/static-components": "off",
24+
"react-hooks/error-boundaries": "off",
25+
"react-hooks/refs": "off",
26+
},
27+
},
28+
...storybook.configs["flat/recommended"],
29+
];
2630

2731
export default eslintConfig;

apps/web/lib/rich-text.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,6 @@ export function convertContentToHtml(value: Maybe<string>): string | null {
137137
return generateHTML(doc, [
138138
StarterKit,
139139
createMentionExtension(),
140-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
141140
] as any);
142141
}
143142

apps/web/lib/server-auth.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,17 +57,14 @@ export async function preloadAuthQuery<Query extends FunctionReference<"query">>
5757
return getBetterAuthUtils().preloadAuthQuery(query, ...args);
5858
}
5959

60-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
6160
export async function fetchAuthQuery<T>(query: any, args: Record<string, unknown>): Promise<T> {
6261
return getBetterAuthUtils().fetchAuthQuery(query, args);
6362
}
6463

65-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
6664
export async function fetchAuthMutation<T>(mutation: any, args: Record<string, unknown>): Promise<T> {
6765
return getBetterAuthUtils().fetchAuthMutation(mutation, args);
6866
}
6967

70-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
7168
export async function fetchAuthAction<T>(action: any, args: Record<string, unknown>): Promise<T> {
7269
return getBetterAuthUtils().fetchAuthAction(action, args);
7370
}

apps/web/package.json

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
"private": true,
55
"type": "module",
66
"scripts": {
7-
"dev": "PORT=3001 dotenv -e ../../.env.local -e ../../.env -- next dev --turbopack",
8-
"build": "dotenv -e ../../.env.local -e ../../.env -- next build --turbopack",
7+
"dev": "PORT=3001 dotenv -e ../../.env.local -e ../../.env -- next dev",
8+
"build": "dotenv -e ../../.env.local -e ../../.env -- next build",
99
"start": "next start",
1010
"typecheck": "tsc --noEmit",
1111
"lint": "eslint",
@@ -37,10 +37,10 @@
3737
"convex": "^1.28.0",
3838
"date-fns": "^4.1.0",
3939
"lucide-react": "^0.469.0",
40-
"next": "15.5.2",
41-
"react": "19.1.0",
40+
"next": "16.1.6",
41+
"react": "19.2.4",
4242
"react-day-picker": "^9.2.3",
43-
"react-dom": "19.1.0",
43+
"react-dom": "19.2.4",
4444
"react-markdown": "^10.1.0",
4545
"tailwind-merge": "^3.3.1",
4646
"tailwindcss-animate": "^1.0.7",
@@ -51,7 +51,6 @@
5151
},
5252
"devDependencies": {
5353
"@chromatic-com/storybook": "^4.1.3",
54-
"@eslint/eslintrc": "^3",
5554
"@storybook/addon-a11y": "^10.1.10",
5655
"@storybook/addon-docs": "^10.1.10",
5756
"@storybook/addon-onboarding": "^10.1.10",
@@ -69,7 +68,7 @@
6968
"@vitest/coverage-v8": "^1.6.0",
7069
"dotenv-cli": "^10.0.0",
7170
"eslint": "^9",
72-
"eslint-config-next": "15.5.2",
71+
"eslint-config-next": "16.1.6",
7372
"eslint-plugin-storybook": "^10.1.10",
7473
"msw": "^2.3.1",
7574
"node-mocks-http": "^1.15.1",
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { NextResponse } from "next/server";
22

33
// Better Auth handles authentication via cookies
44
// No middleware protection needed - routes are protected at the page/API level
5-
export default function middleware() {
5+
export default function proxy() {
66
return NextResponse.next();
77
}
88

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"license": "MIT",
55
"private": true,
66
"engines": {
7-
"node": ">=v18.18.0"
7+
"node": ">=20.9.0"
88
},
99
"author": {
1010
"url": "https://march.fit",
@@ -41,7 +41,7 @@
4141
"packageManager": "pnpm@10.14.0",
4242
"pnpm": {
4343
"overrides": {
44-
"react-is": "19.0.0",
44+
"react-is": "19.2.4",
4545
"require-in-the-middle": "7.5.2"
4646
}
4747
},

0 commit comments

Comments
 (0)