Skip to main content

README

Release Checks

@exodus/react-native-base

Common build config, shims, and patches used across the Exodus RN universe.

Shims

Import the shim factory in your entry point

// index.js
import { isDev } from '~/constants/genesis'
import createShims from '@exodus/react-native-base/shims'

createShims({ isDev: typeof isDev === 'boolean' && isDev })

require('./main.js') // important: this has to be required after the shims are created

Babel

Import the factory in your prod babel config and add an instance to presets:

// babel.config.js

const { createBabelConfig } = require('@exodus/react-native-base/babel')

module.exports = {
presets: [createBabelConfig({ aliases })],
// ... customize
}

Make sure to configure the aliases you are planning on using from here in the eslint config for import/resolver:

// .eslintrc.js

const aliases = require('./src/babel-module-aliases')
const { aliases: defaultAliases } = require('./src/node_modules/@exodus/react-native-base/babel')

const resolverSettings = Object.entries({
...defaultAliases,
...aliases,
'@exodus/web3-ethereum/lib/provider': '@exodus/web3-ethereum/provider',
})

module.exports = {
// ...
settings: {
'import/resolver': {
alias: {
map: resolverSettings,
// ...
},
},
},
// ...
}