@haul-bundler/babel-preset-react-native
v0.16.0
Published
Babel preset for React Native >=0.59 with Haul
Downloads
153
Readme
@haul-bundler/babel-preset-react-native
Babel preset for React Native >=0.59.x with Haul - Webpack-based React Native bundler.
You can read more about Haul here: https://github.com/callstack/haul.
API
For easier extendability, @haul-bundler/babel-preset-react-native
exports a list of functions for getting plugins and default options for them.
Each of the functions below returns an array of PluginSpec
which is an tuple with plugin name and plugin default options or undefined
:
type PluginSpec = [string] | [string, object];
// plugin[0] => plugin name
// plugin[1] => plugin default options
To get list of plugins use the following:
getDefaultPrePlugins(): PluginSpec[]
- Get list of default plugins to include at the very beginning.getDefaultPostPlugins(): PluginSpec[]
- Get list of default plugins to include at the end, after all other plugins are included.getHermesPlugins(): PluginSpec[]
- Get list of plugins to include when targeting Hermes.getChakraPlugins(): PluginSpec[]
- Get list of plugins to include when targeting ChakraCore.getHaulPlugins(opts: { platform: string }): PluginSpec[]
- Get list of plugins used in Haul.getTsPlugins(opts: { isTSX: boolean }): PluginSpec[]
- Get list of plugins for transpiling TypeScript files (TS/TSX depending onisTSX
option).getReactNativePlugins(): PluginSpec[]
- Get list of plugins for React Native.getDevelopmentEnvPlugins(): PluginSpec[]
- Get list of plugins fordevelopment
mode - intended to be used inenv.development
in Babel preset.getTestEnvPlugins(): PluginSpec[]
- Get list of plugins fortest
mode - intended to be used inenv.test
in Babel preset.
For convenience, the following util functions are exported as well:
isTypeScriptSource(fileName: string): boolean
- returnstrue
if the filename is regular TS file (without TSX).isTSXSource(fileName: string): boolean
- returnstrue
if the filename is a TSX file.isReactNative(fileName: string): boolean
- returnstrue
if the filename is pointing toreact-native
innode_modules
.