Skip to content

Commit 9831634

Browse files
chmaltspclaude
andauthored
feat: Update deps (Next 16, React 19, ESLint 9) and bump Node to 24 (#170)
* feat: Update dependencies and bump Node to 24 - Next.js 12 → 16, React 18 → 19, ESLint 8 → 9 - @typescript-eslint/utils 5 → 8, eslint-plugin-eslint-plugin 3 → 6 - CI workflows: Node 16 → 24 - Engine fields: node >=14 → >=18 (root), >= 16 → >= 18 (eslint-plugin) - Fix eslint-plugin for @typescript-eslint v8 compat: - Remove deprecated `recommended: "warn"` from rule meta - Use @typescript-eslint/rule-tester instead of ESLintUtils.RuleTester - Add output assertion for fixable rule test - Fix turbo.json: rename `pipeline` to `tasks` (turbo v2) - Fix tsconfig.json: add explicit `types` to avoid @types/minimatch resolution errors - Fix nsm build: patch .nsm/next.config.ts with evaluated rewrites - Remove package-lock.json (using yarn.lock only) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: format next-env.d.ts with prettier Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 61b9e31 commit 9831634

File tree

17 files changed

+3809
-20293
lines changed

17 files changed

+3809
-20293
lines changed

.github/workflows/npm-lint.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
- name: Setup Node.js
1212
uses: actions/setup-node@v4
1313
with:
14-
node-version: 16
14+
node-version: 24
1515
cache: "yarn"
1616
- name: Run NPM Install
1717
run: yarn install --frozen-lockfile

.github/workflows/npm-semantic-release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
- name: Setup Node.js
1515
uses: actions/setup-node@v4
1616
with:
17-
node-version: "16.x"
17+
node-version: "24.x"
1818
registry-url: "https://registry.npmjs.org"
1919
- name: Install dependencies
2020
run: cd packages/nextlove && yarn install

.github/workflows/npm-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
- name: Setup Node.js
1212
uses: actions/setup-node@v4
1313
with:
14-
node-version: 16
14+
node-version: 24
1515
cache: "yarn"
1616
- name: Run NPM Install
1717
run: yarn install --frozen-lockfile
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
/// <reference types="next" />
22
/// <reference types="next/image-types/global" />
3+
import "./.next/types/routes.d.ts"
34

45
// NOTE: This file should not be edited
5-
// see https://nextjs.org/docs/basic-features/typescript for more information.
6+
// see https://nextjs.org/docs/pages/api-reference/config/typescript for more information.

apps/example-todo-app/package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"private": true,
55
"scripts": {
66
"dev": "next dev",
7-
"build": "rimraf dist && nsm build && tsup ./index.ts --dts --sourcemap && cpy .next dist/.next",
7+
"build": "rimraf dist && nsm build && node -e \"const fs=require('fs'),c=require('./next.config.js');(async()=>{const r=typeof c.rewrites==='function'?await c.rewrites():(c.rewrites||{});fs.writeFileSync('.nsm/next.config.ts','export default '+JSON.stringify({rewrites:r},null,2)+'\\n')})()\" && tsup ./index.ts --dts --sourcemap && cpy .next dist/.next",
88
"build:openapi": "nextlove generate-openapi --packageDir . --apiName 'Example TODO API' --outputFile ./openapi.json",
99
"build:type": "nextlove generate-route-types --packageDir .",
1010
"build:routespecs": "nextlove extract-route-specs --packageDir . --allowed-import-patterns '**/lib/zod.ts' --allowed-import-patterns '**/pages/api/**/*.ts' --outputFile dist/extracted-route-specs.mjs",
@@ -22,24 +22,24 @@
2222
"glob-promise": "4.2.2",
2323
"micro": "9.3.4",
2424
"mkdirp": "^3.0.1",
25-
"next": "12.2.0",
25+
"next": "^16.0.0",
2626
"nextlove": "*",
2727
"path-to-regexp": "6.2.1",
2828
"raw-body": "2.3.2",
29-
"react": "18.2.0",
30-
"react-dom": "18.2.0",
29+
"react": "^19.0.0",
30+
"react-dom": "^19.0.0",
3131
"uuid": "^8.3.2",
3232
"zod": "^4.3.5"
3333
},
3434
"devDependencies": {
3535
"@types/node": "18.0.1",
3636
"@types/qs": "^6.9.7",
37-
"@types/react": "18.0.14",
38-
"@types/react-dom": "18.0.6",
37+
"@types/react": "^19.0.0",
38+
"@types/react-dom": "^19.0.0",
3939
"ava": "^5.0.1",
4040
"esbuild-register": "^3.3.3",
41-
"eslint": "8.19.0",
42-
"eslint-config-next": "12.2.0",
41+
"eslint": "^9.0.0",
42+
"eslint-config-next": "^16.0.0",
4343
"get-port": "5",
4444
"prettier": "^2.7.1",
4545
"qs": "^6.11.2",
Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
{
22
"compilerOptions": {
33
"target": "es2020",
4-
"lib": ["dom", "dom.iterable", "esnext"],
4+
"lib": [
5+
"dom",
6+
"dom.iterable",
7+
"esnext"
8+
],
59
"allowJs": true,
610
"skipLibCheck": true,
711
"strict": false,
@@ -13,9 +17,14 @@
1317
"moduleResolution": "node",
1418
"resolveJsonModule": true,
1519
"isolatedModules": true,
16-
"jsx": "preserve",
20+
"jsx": "react-jsx",
1721
"baseUrl": "."
1822
},
19-
"include": ["next-env.d.ts", "**/*.ts"],
20-
"exclude": ["node_modules"]
23+
"include": [
24+
"next-env.d.ts",
25+
"**/*.ts"
26+
],
27+
"exclude": [
28+
"node_modules"
29+
]
2130
}

0 commit comments

Comments
 (0)