-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Warning about outdated JSX transform being used for Next.js apps with React 19 #27900
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Still happening on Nx v20, with Next.js 15 and @testing-library/react 16.0.1 |
Was there any resolution to this in the end? facing same on Nx v20, with Next.js 15? |
Hey, thanks for filling out an issue! It makes complete sense to hold off on making any significant updates until a stable release of React 19 is available, especially with core libraries like Next.js and React Testing Library not yet fully aligned in their version support. Given that React 19 RC may introduce breaking changes, integrating it prematurely could lead to unforeseen issues in testing and production environments. For now, maintaining compatibility with React 18, which is stable and well-supported, is likely the best approach until the ecosystem catches up with stable React 19 support. |
The new JSX transform has been out for 4 years, since React 17. The only thing new in React 19 is the warning that you're using the old transform. Upgrading the JSX transform used in whatever Jest preset/configuration is being used here can and should happen separately from upgrading to React 19. |
Oh, I misunderstood. |
facing the same problem here. |
Just updated to NextJS15 and React19. I started facing this since we dont allow warnings or errors in our jest suits. Is this an active item that is going to be release soon? |
I was able to make work with following A328 configuration import { Config } from 'jest';
import nextJest from 'next/jest.js';
const createJestConfig = nextJest({
dir: './',
});
const config = createJestConfig({
displayName: '@your-org/project-name',
preset: '../../jest.preset.js',
transform: {
'^(?!.*\\.(js|jsx|ts|tsx|css|json)$)': '@nx/react/plugins/jest',
'^.+\\.[tj]sx?$': ['babel-jest', { presets: ['@nx/next/babel'] }],
},
moduleNameMapper: {
'^@/components/(.*)$': '<rootDir>/components/$1',
},
testPathIgnorePatterns: ['/node_modules/', '/.next/', '/playwright/'],
testMatch: ['**/*/(test|spec).(ts|tsx|js|jsx)'],
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'],
coverageDirectory: 'test-output/jest/coverage',
});
// eslint-disable-next-line import/no-anonymous-default-export
export default async () =>
({
...(await config()),
coverageProvider: 'v8',
verbose: process.env.CI ? false : true,
} as Config); |
Hey there, any update on progress against this? |
Current Behavior
When generating a new Next.js application or library, using the React 19 RC, and running the default generated test, there's a console warning:
I cannot figure out where the outdated transform is being specified - babel-jest, the @nx/next/babel preset, or the underlying next babel preset.
Expected Behavior
The new JSX transform should be used during tests
GitHub Repo
No response
Steps to Reproduce
Nx Report
Failure Logs
No response
Package Manager Version
No response
Operating System
Additional Information
No response
The text was updated successfully, but these errors were encountered: