[Bug]: Running codemod on uppy throws error 'Cannot find module '@babel/plugin-transform-react-jsx''
- Dominant language
- TypeScript
- Stars
- 89
- Forks
- 13
- Avg merge
- 9h 59m
- Merged PRs (30d)
- 1
Description
### Self-service
- [ ] I'd be willing to implement a fix
### Describe the bug
Running codemod on uppy throws error 'Cannot find module '@babel/plugin-transform-react-jsx''
### Template name
v2-to-v3
### Input code
https://github.com/transloadit/uppy
### Observed failure
```console
$ uppy> npx aws-sdk-js-codemod -t v2-to-v3 packages/**/*.js
...
Error: Cannot find module '@babel/plugin-transform-react-jsx'
Require stack:
- /Users/trivikram/.npm/_npx/c5e6d14ea42cfa80/node_modules/@babel/core/lib/config/files/plugins.js
- /Users/trivikram/.npm/_npx/c5e6d14ea42cfa80/node_modules/@babel/core/lib/config/files/index.js
- /Users/trivikram/.npm/_npx/c5e6d14ea42cfa80/node_modules/@babel/core/lib/index.js
- /Users/trivikram/.npm/_npx/c5e6d14ea42cfa80/node_modules/@babel/register/lib/worker/babel-core.js
- /Users/trivikram/.npm/_npx/c5e6d14ea42cfa80/node_modules/@babel/register/lib/worker/handle-message.js
- /Users/trivikram/.npm/_npx/c5e6d14ea42cfa80/node_modules/@babel/register/lib/worker-client.js
- /Users/trivikram/.npm/_npx/c5e6d14ea42cfa80/node_modules/@babel/register/lib/node.js
- /Users/trivikram/.npm/_npx/c5e6d14ea42cfa80/node_modules/@babel/register/lib/nodeWrapper.js
- /Users/trivikram/.npm/_npx/c5e6d14ea42cfa80/node_modules/@babel/register/lib/index.js
- /Users/trivikram/.npm/_npx/c5e6d14ea42cfa80/node_modules/jscodeshift/src/Worker.js
...
```
### Expected output
Transformation is performed without throwing any error.
### Environment
```shell
aws-sdk-js-codemod: 0.10.0
jscodeshift: 0.14.0
- babel: 7.20.12
- babylon: 7.20.7
- flow: 0.196.3
- recast: 0.21.5
```
### Additional context
Tried all parsers, i.e. `babel|babylon|flow|ts|tsx`, the same error is thrown
Contributor guide
Research direction
Start by reproducing the `npx aws-sdk-js-codemod -t v2-to-v3 packages/**/*.js` command against the linked Uppy input with the reported parser versions. Trace how the `v2-to-v3` template loads Babel and verify the missing `@babel/plugin-transform-react-jsx` dependency; done means the transformation completes without throwing for the reported parsers.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- babel, javascript, nodejs, typescript
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100