Skip to content

TypeScript builds ignore tsconfig compilerOptions.jsx. Output is always 'react-jsx'  #678

Open
@marklawlor

Description

@marklawlor

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
  • react-native-builder-bob

Selected options

Link to repro

https://github.com/marklawlor/react-native-builder-bob-jsx

Environment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions