Node.js mock for react-native-config
A mock for react-native-config, a module which offers an elegant way to inject environment-specific variables to react-native.
As react-native-config contains native codes, it cannot be run in Nodejs environment.
We provide a way to mock the module.
via NPM:
npm install --save-dev react-native-config-nodevia Yarn:
yarn add -D react-native-config-nodeCreate a compiler file using babel-register.
test/lib/babel-register.js
module.exports = require('babel-register')({
plugins: ['react-native-config-node/transform']
})Use it via command.
mocha --compilers js:./test/lib/babel-register test/spec/*.jsAlternatively, you can set mocha.opts.
--compilers js:./test/lib/babel-register
You can pass specific environment via NODE_ENV variable.
NODE_ENV=staging mocha --compilers js:./test/lib/babel-register test/spec/*.js.env.staging will be loaded.
Add the following plugin to your babel.config.js or .babelrc
{
"presets": ["module:metro-react-native-babel-preset"],
"env": {
"test": {
"plugins": ["react-native-config-node/transform"]
}
}
}
You can pass specific environment via NODE_ENV variable.
NODE_ENV=staging jest.env.staging will be loaded.
react-native-config-node/transform is a babel-plugin transforming the following code
import Config from 'react-native-config'into
import Config from 'react-native-config-node'react-native-config-node offers the same API as react-native-config using dotenv.
MIT