chore: Update to next 16, react 19, add react compiler#1434
Conversation
🦋 Changeset detectedLatest commit: 5801169 The changes in this PR will be included in the next version bump. This PR includes changesets to release 3 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
PR Review: Next.js 16, React 19, React Compiler UpgradeCritical Issues
Important Issues
Questions
Summary: 1 critical logic bug, 1 config anti-pattern, rest are documentation/performance concerns. |
E2E Test Results✅ All tests passed • 45 passed • 3 skipped • 361s
|
| }, | ||
| async down(db: Db, client: MongoClient) { | ||
| async down(db: Db, _client: MongoClient) { | ||
| await db.collection('users').updateMany({}, { $unset: { accessKey: '' } }); |
There was a problem hiding this comment.
new version of eslint - linting fixes
| node_modules | ||
| archive | ||
| migrate-mongo-config.ts | ||
| jest.setup.ts |
There was a problem hiding this comment.
package deprecated in eslint 9. Ignores moved to main config file
| 'simple-import-sort/imports': 'error', | ||
| 'simple-import-sort/exports': 'error', | ||
| }, | ||
| }; |
There was a problem hiding this comment.
deprecated config file format. I moved this to new standard flat .mjs file
| }, | ||
| }, | ||
| ], | ||
| }; |
There was a problem hiding this comment.
deprecated config file format. I moved this to new standard flat .mjs file
| } | ||
| : {}), | ||
| }), | ||
| }; |
There was a problem hiding this comment.
deprecated config file format. I moved this to new standard flat .mjs file
| "build": "next build", | ||
| "dev": "npx dotenv -e .env.development -- next dev --webpack", | ||
| "dev:local": "NEXT_PUBLIC_IS_LOCAL_MODE=true npx dotenv -e .env.development -- next dev --webpack", | ||
| "build": "next build --webpack", |
There was a problem hiding this comment.
really want us to use the new turbopack build, but there are issues with some of the css and its compilation inside of ts. Will create a follow up ticket
| "packages/api/src/routers/external-api/**/*.ts": [ | ||
| "prettier --write --ignore-unknown", | ||
| "eslint --fix --quiet", | ||
| "eslint --flag v10_config_lookup_from_file --fix --quiet", |
There was a problem hiding this comment.
eslint 9 changed how config files are discovered. If there wasn't a root config file in a mono repo, lint commands won't work. They added a flag to revert to old eslint behavior and plan to make it the default again in eslint10.
| const basePath = process.env.NEXT_PUBLIC_HYPERDX_BASE_PATH; | ||
|
|
||
| const nextConfig = { | ||
| reactCompiler: true, |
There was a problem hiding this comment.
enables react compiler. It will optimize things that would benefit from being memo'ed or wrapped in callbacks. You can see what it's doing if you use react devtools.
There is additional logging I can add in a future ticket. This new logging will output which components cannot be optimized and help us fix them manually.
068a5fc to
8e404d2
Compare
8e404d2 to
a762712
Compare
new vulnerability patch
a762712 to
f07d2d3
Compare
|
Tested and things LGTM - Did a general test of the app and didn't observe any issues. |
we use pages router, which is client by default. Unnecessary
|
Addressing the claude code review inline:
You do not need babel configured for this to run. It uses the nextjs integration.
publicRuntimeConfig was removed and we now use the |
|
@teeohhem a couple other things:
reszing.mov |
fixes issue where it needed a full re-render in order to show the sql column field
brandon-pereira
left a comment
There was a problem hiding this comment.
Changes look good, we can open another ticket for the legacyBehavior issue
fixes: HDX-2956 Co-authored-by: Brandon Pereira <7552738+brandon-pereira@users.noreply.github.com>



fixes: HDX-2956