I am getting Transformer is not a constructor error after upgrading my react native version to latest.
My metro-react-native-babel-preset version is 0.64.0
Please help me with a solution
Transformer is not a constructor error while updating react native sdk version from 0.61.5 to 0.64.0
5 Answers
Are you by any chance including the react-native-fs package (v2.17.0)? That package has an internal dependency of an older metro and metro-config (v0.51.1) and my project is resolving to that version instead of the latest.
Try running npm ls metro-config to see which version is resolving (i.e. the one at the top of the list that comes back). I had to force-install both metro and metro-config like so:
npm i -D [email protected] [email protected] --force
Comments
In my case, just like @cr0ybot said, it was related with an incompatible version of metro-config.
Steps to solve:
yarn list metro-config(it lists all packages that depends on metro-config).- If you have more than one version installed, try to discover which package is depending on.
- Upgrade the package that depends on the old version of metro-config
If
yarn listis not helping much, you will need to have a look on youryarn.lockto figure out the dependencies.
In my case the problem was the react-native-community/cli, but can be any package.
Comments
Basically this can happen with the incompatibility of versions of react and metro-config.
Please do check the version of metro-config being expected by running npm ls metro-config, this will list as shown below
And then force update using npm i -D [email protected] [email protected] --force to the version being expected
