use nextjs 16

Seto committed Dec 12, 2025 at 16:16 UTC bee3ef99032894eab540f4379471c660f44f6d77
5 files changed +71 -59
next-env.d.ts
+1 -1
@@ -1,6 +1,6 @@
1 /// <reference types="next" />
2 /// <reference types="next/image-types/global" />
3 -/// <reference path="./.next/types/routes.d.ts" />
3 +import "./.next/dev/types/routes.d.ts";
4
5 // NOTE: This file should not be edited
6 // see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
next.config.js
+2 -4
@@ -3,10 +3,8 @@ const { withContentlayer } = require("next-contentlayer2");
3 /** @type {import('next').NextConfig} */
4 const nextConfig = {
5 reactStrictMode: true,
6 - eslint: {
7 - // Disable ESLint during build due to ESLint 9 compatibility issues
8 - ignoreDuringBuilds: true,
9 - },
6 + // Empty Turbopack config to silence webpack compatibility warning
7 + turbopack: {},
8 };
9
10 module.exports = withContentlayer(nextConfig);
package.json
+3 -2
@@ -4,7 +4,7 @@
4 "private": true,
5 "scripts": {
6 "dev": "next dev",
7 - "build": "next build",
7 + "build": "SKIP_LINT=true next build",
8 "build:content": "contentlayer2 build",
9 "preview": "next build && next start",
10 "start": "next start",
@@ -18,7 +18,8 @@
18 "@types/react-dom": "^19.2.3",
19 "autoprefixer": "10.4.14",
20 "contentlayer2": "0.5.8",
21 - "next": "15.5.7",
21 + "mdx-bundler": "^10.1.1",
22 + "next": "16.0.10",
23 "next-contentlayer2": "^0.5.8",
24 "next-themes": "^0.4.6",
25 "postcss": "8.4.23",
pnpm-lock.yaml
+48 -46
@@ -26,12 +26,15 @@ importers:
26 contentlayer2:
27 specifier: 0.5.8
28 version: 0.5.8(esbuild@0.27.1)
29 + mdx-bundler:
30 + specifier: ^10.1.1
31 + version: 10.1.1(esbuild@0.27.1)
32 next:
30 - specifier: 15.5.7
31 - version: 15.5.7(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
33 + specifier: 16.0.10
34 + version: 16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
35 next-contentlayer2:
36 specifier: ^0.5.8
34 - version: 0.5.8(contentlayer2@0.5.8(esbuild@0.27.1))(esbuild@0.27.1)(next@15.5.7(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
37 + version: 0.5.8(contentlayer2@0.5.8(esbuild@0.27.1))(esbuild@0.27.1)(next@16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
38 next-themes:
39 specifier: ^0.4.6
40 version: 0.4.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
@@ -571,56 +574,56 @@ packages:
574 '@napi-rs/wasm-runtime@0.2.12':
575 resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==}
576
574 - '@next/env@15.5.7':
575 - resolution: {integrity: sha512-4h6Y2NyEkIEN7Z8YxkA27pq6zTkS09bUSYC0xjd0NpwFxjnIKeZEeH591o5WECSmjpUhLn3H2QLJcDye3Uzcvg==}
577 + '@next/env@16.0.10':
578 + resolution: {integrity: sha512-8tuaQkyDVgeONQ1MeT9Mkk8pQmZapMKFh5B+OrFUlG3rVmYTXcXlBetBgTurKXGaIZvkoqRT9JL5K3phXcgang==}
579
580 '@next/eslint-plugin-next@15.5.9':
581 resolution: {integrity: sha512-kUzXx0iFiXw27cQAViE1yKWnz/nF8JzRmwgMRTMh8qMY90crNsdXJRh2e+R0vBpFR3kk1yvAR7wev7+fCCb79Q==}
582
580 - '@next/swc-darwin-arm64@15.5.7':
581 - resolution: {integrity: sha512-IZwtxCEpI91HVU/rAUOOobWSZv4P2DeTtNaCdHqLcTJU4wdNXgAySvKa/qJCgR5m6KI8UsKDXtO2B31jcaw1Yw==}
583 + '@next/swc-darwin-arm64@16.0.10':
584 + resolution: {integrity: sha512-4XgdKtdVsaflErz+B5XeG0T5PeXKDdruDf3CRpnhN+8UebNa5N2H58+3GDgpn/9GBurrQ1uWW768FfscwYkJRg==}
585 engines: {node: '>= 10'}
586 cpu: [arm64]
587 os: [darwin]
588
586 - '@next/swc-darwin-x64@15.5.7':
587 - resolution: {integrity: sha512-UP6CaDBcqaCBuiq/gfCEJw7sPEoX1aIjZHnBWN9v9qYHQdMKvCKcAVs4OX1vIjeE+tC5EIuwDTVIoXpUes29lg==}
589 + '@next/swc-darwin-x64@16.0.10':
590 + resolution: {integrity: sha512-spbEObMvRKkQ3CkYVOME+ocPDFo5UqHb8EMTS78/0mQ+O1nqE8toHJVioZo4TvebATxgA8XMTHHrScPrn68OGw==}
591 engines: {node: '>= 10'}
592 cpu: [x64]
593 os: [darwin]
594
592 - '@next/swc-linux-arm64-gnu@15.5.7':
593 - resolution: {integrity: sha512-NCslw3GrNIw7OgmRBxHtdWFQYhexoUCq+0oS2ccjyYLtcn1SzGzeM54jpTFonIMUjNbHmpKpziXnpxhSWLcmBA==}
595 + '@next/swc-linux-arm64-gnu@16.0.10':
596 + resolution: {integrity: sha512-uQtWE3X0iGB8apTIskOMi2w/MKONrPOUCi5yLO+v3O8Mb5c7K4Q5KD1jvTpTF5gJKa3VH/ijKjKUq9O9UhwOYw==}
597 engines: {node: '>= 10'}
598 cpu: [arm64]
599 os: [linux]
600
598 - '@next/swc-linux-arm64-musl@15.5.7':
599 - resolution: {integrity: sha512-nfymt+SE5cvtTrG9u1wdoxBr9bVB7mtKTcj0ltRn6gkP/2Nu1zM5ei8rwP9qKQP0Y//umK+TtkKgNtfboBxRrw==}
601 + '@next/swc-linux-arm64-musl@16.0.10':
602 + resolution: {integrity: sha512-llA+hiDTrYvyWI21Z0L1GiXwjQaanPVQQwru5peOgtooeJ8qx3tlqRV2P7uH2pKQaUfHxI/WVarvI5oYgGxaTw==}
603 engines: {node: '>= 10'}
604 cpu: [arm64]
605 os: [linux]
606
604 - '@next/swc-linux-x64-gnu@15.5.7':
605 - resolution: {integrity: sha512-hvXcZvCaaEbCZcVzcY7E1uXN9xWZfFvkNHwbe/n4OkRhFWrs1J1QV+4U1BN06tXLdaS4DazEGXwgqnu/VMcmqw==}
607 + '@next/swc-linux-x64-gnu@16.0.10':
608 + resolution: {integrity: sha512-AK2q5H0+a9nsXbeZ3FZdMtbtu9jxW4R/NgzZ6+lrTm3d6Zb7jYrWcgjcpM1k8uuqlSy4xIyPR2YiuUr+wXsavA==}
609 engines: {node: '>= 10'}
610 cpu: [x64]
611 os: [linux]
612
610 - '@next/swc-linux-x64-musl@15.5.7':
611 - resolution: {integrity: sha512-4IUO539b8FmF0odY6/SqANJdgwn1xs1GkPO5doZugwZ3ETF6JUdckk7RGmsfSf7ws8Qb2YB5It33mvNL/0acqA==}
613 + '@next/swc-linux-x64-musl@16.0.10':
614 + resolution: {integrity: sha512-1TDG9PDKivNw5550S111gsO4RGennLVl9cipPhtkXIFVwo31YZ73nEbLjNC8qG3SgTz/QZyYyaFYMeY4BKZR/g==}
615 engines: {node: '>= 10'}
616 cpu: [x64]
617 os: [linux]
618
616 - '@next/swc-win32-arm64-msvc@15.5.7':
617 - resolution: {integrity: sha512-CpJVTkYI3ZajQkC5vajM7/ApKJUOlm6uP4BknM3XKvJ7VXAvCqSjSLmM0LKdYzn6nBJVSjdclx8nYJSa3xlTgQ==}
619 + '@next/swc-win32-arm64-msvc@16.0.10':
620 + resolution: {integrity: sha512-aEZIS4Hh32xdJQbHz121pyuVZniSNoqDVx1yIr2hy+ZwJGipeqnMZBJHyMxv2tiuAXGx6/xpTcQJ6btIiBjgmg==}
621 engines: {node: '>= 10'}
622 cpu: [arm64]
623 os: [win32]
624
622 - '@next/swc-win32-x64-msvc@15.5.7':
623 - resolution: {integrity: sha512-gMzgBX164I6DN+9/PGA+9dQiwmTkE4TloBNx8Kv9UiGARsr9Nba7IpcBRA1iTV9vwlYnrE3Uy6I7Aj6qLjQuqw==}
625 + '@next/swc-win32-x64-msvc@16.0.10':
626 + resolution: {integrity: sha512-E+njfCoFLb01RAFEnGZn6ERoOqhK1Gl3Lfz1Kjnj0Ulfu7oJbuMyvBKNj/bw8XZnenHDASlygTjZICQW+rYW1Q==}
627 engines: {node: '>= 10'}
628 cpu: [x64]
629 os: [win32]
@@ -2139,10 +2142,9 @@ packages:
2142 react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
2143 react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
2144
2142 - next@15.5.7:
2143 - resolution: {integrity: sha512-+t2/0jIJ48kUpGKkdlhgkv+zPTEOoXyr60qXe68eB/pl3CMJaLeIGjzp5D6Oqt25hCBiBTt8wEeeAzfJvUKnPQ==}
2144 - engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
2145 - deprecated: This version has a security vulnerability. Please upgrade to a patched version. See https://nextjs.org/blog/security-update-2025-12-11 for more details.
2145 + next@16.0.10:
2146 + resolution: {integrity: sha512-RtWh5PUgI+vxlV3HdR+IfWA1UUHu0+Ram/JBO4vWB54cVPentCD0e+lxyAYEsDTqGGMg7qpjhKh6dc6aW7W/sA==}
2147 + engines: {node: '>=20.9.0'}
2148 hasBin: true
2149 peerDependencies:
2150 '@opentelemetry/api': ^1.1.0
@@ -3314,34 +3316,34 @@ snapshots:
3316 '@tybys/wasm-util': 0.10.1
3317 optional: true
3318
3317 - '@next/env@15.5.7': {}
3319 + '@next/env@16.0.10': {}
3320
3321 '@next/eslint-plugin-next@15.5.9':
3322 dependencies:
3323 fast-glob: 3.3.1
3324
3323 - '@next/swc-darwin-arm64@15.5.7':
3325 + '@next/swc-darwin-arm64@16.0.10':
3326 optional: true
3327
3326 - '@next/swc-darwin-x64@15.5.7':
3328 + '@next/swc-darwin-x64@16.0.10':
3329 optional: true
3330
3329 - '@next/swc-linux-arm64-gnu@15.5.7':
3331 + '@next/swc-linux-arm64-gnu@16.0.10':
3332 optional: true
3333
3332 - '@next/swc-linux-arm64-musl@15.5.7':
3334 + '@next/swc-linux-arm64-musl@16.0.10':
3335 optional: true
3336
3335 - '@next/swc-linux-x64-gnu@15.5.7':
3337 + '@next/swc-linux-x64-gnu@16.0.10':
3338 optional: true
3339
3338 - '@next/swc-linux-x64-musl@15.5.7':
3340 + '@next/swc-linux-x64-musl@16.0.10':
3341 optional: true
3342
3341 - '@next/swc-win32-arm64-msvc@15.5.7':
3343 + '@next/swc-win32-arm64-msvc@16.0.10':
3344 optional: true
3345
3344 - '@next/swc-win32-x64-msvc@15.5.7':
3346 + '@next/swc-win32-x64-msvc@16.0.10':
3347 optional: true
3348
3349 '@nodelib/fs.scandir@2.1.5':
@@ -5284,12 +5286,12 @@ snapshots:
5286
5287 natural-compare@1.4.0: {}
5288
5287 - next-contentlayer2@0.5.8(contentlayer2@0.5.8(esbuild@0.27.1))(esbuild@0.27.1)(next@15.5.7(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3):
5289 + next-contentlayer2@0.5.8(contentlayer2@0.5.8(esbuild@0.27.1))(esbuild@0.27.1)(next@16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3):
5290 dependencies:
5291 '@contentlayer2/core': 0.5.8(esbuild@0.27.1)
5292 '@contentlayer2/utils': 0.5.8
5293 contentlayer2: 0.5.8(esbuild@0.27.1)
5292 - next: 15.5.7(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
5294 + next: 16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
5295 react: 19.2.3
5296 react-dom: 19.2.3(react@19.2.3)
5297 transitivePeerDependencies:
@@ -5303,9 +5305,9 @@ snapshots:
5305 react: 19.2.3
5306 react-dom: 19.2.3(react@19.2.3)
5307
5306 - next@15.5.7(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3):
5308 + next@16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3):
5309 dependencies:
5308 - '@next/env': 15.5.7
5310 + '@next/env': 16.0.10
5311 '@swc/helpers': 0.5.15
5312 caniuse-lite: 1.0.30001760
5313 postcss: 8.4.31
@@ -5313,14 +5315,14 @@ snapshots:
5315 react-dom: 19.2.3(react@19.2.3)
5316 styled-jsx: 5.1.6(react@19.2.3)
5317 optionalDependencies:
5316 - '@next/swc-darwin-arm64': 15.5.7
5317 - '@next/swc-darwin-x64': 15.5.7
5318 - '@next/swc-linux-arm64-gnu': 15.5.7
5319 - '@next/swc-linux-arm64-musl': 15.5.7
5320 - '@next/swc-linux-x64-gnu': 15.5.7
5321 - '@next/swc-linux-x64-musl': 15.5.7
5322 - '@next/swc-win32-arm64-msvc': 15.5.7
5323 - '@next/swc-win32-x64-msvc': 15.5.7
5318 + '@next/swc-darwin-arm64': 16.0.10
5319 + '@next/swc-darwin-x64': 16.0.10
5320 + '@next/swc-linux-arm64-gnu': 16.0.10
5321 + '@next/swc-linux-arm64-musl': 16.0.10
5322 + '@next/swc-linux-x64-gnu': 16.0.10
5323 + '@next/swc-linux-x64-musl': 16.0.10
5324 + '@next/swc-win32-arm64-msvc': 16.0.10
5325 + '@next/swc-win32-x64-msvc': 16.0.10
5326 '@opentelemetry/api': 1.9.0
5327 sharp: 0.34.5
5328 transitivePeerDependencies:
tsconfig.json
+17 -6
@@ -1,7 +1,11 @@
1 {
2 "compilerOptions": {
3 "target": "es2020",
4 - "lib": ["dom", "dom.iterable", "esnext"],
4 + "lib": [
5 + "dom",
6 + "dom.iterable",
7 + "esnext"
8 + ],
9 "allowJs": true,
10 "skipLibCheck": true,
11 "strict": true,
@@ -12,7 +16,7 @@
16 "moduleResolution": "bundler",
17 "resolveJsonModule": true,
18 "isolatedModules": true,
15 - "jsx": "preserve",
19 + "jsx": "react-jsx",
20 "incremental": true,
21 "plugins": [
22 {
@@ -21,8 +25,12 @@
25 ],
26 "baseUrl": ".",
27 "paths": {
24 - "@/*": ["./*"],
25 - "contentlayer/generated": ["./.contentlayer/generated"]
28 + "@/*": [
29 + "./*"
30 + ],
31 + "contentlayer/generated": [
32 + "./.contentlayer/generated"
33 + ]
34 }
35 },
36 "include": [
@@ -30,7 +38,10 @@
38 "**/*.ts",
39 "**/*.tsx",
40 ".next/types/**/*.ts",
33 - ".contentlayer/generated"
41 + ".contentlayer/generated",
42 + ".next/dev/types/**/*.ts"
43 ],
35 - "exclude": ["node_modules"]
44 + "exclude": [
45 + "node_modules"
46 + ]
47 }