callstack / callstack/react-native-builder-bob
TypeScript builds ignore tsconfig compilerOptions.jsx. Output is always 'react-jsx'
- Dominant language
- JavaScript
- Stars
- 3.2k
- Forks
- 228
- Avg merge
- 7d 12h
- Merged PRs (30d)
- 3
Description
### Description
Libraries built with `react-native-builder-bob` do not respect the `tsconfig.config#compilerOptions.jsx` setting, and force the output to be `react-jsx`. This is a problem for React Native libraries which normally publish as `jsx: 'react-native' or 'preserve'`.
Libraries such as `@emotion/native` and `NativeWind` both rely on setting a custom `jsxImportSource`, which only works when a library has been published with persevered JSX. This means libraries built with `react-native-builder-bob` will stop working with these libraries.
The cause of this issue is the babel-preset, which should conditionally turn off `'@babel/plugin-transform-react-jsx'` / `'@babel/plugin-transform-react-jsx-development'` when `jsx` is set to `react-native` or `preserve`.
### Packages
- [ ] create-react-native-library
- [x] react-native-builder-bob
### Selected options
-
### Link to repro
https://github.com/marklawlor/react-native-builder-bob-jsx
### Environment
-
Contributor guide
Assessment
This issue has not been assessed yet.