Skip to content
This repository was archived by the owner on Mar 25, 2022. It is now read-only.

Repository files navigation

react-native-config-node

Versionsemantic-releaseMIT License

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.

Installation

via NPM:

npm install --save-dev react-native-config-node

via Yarn:

yarn add -D react-native-config-node

Usage

Mocha

Create 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/*.js

Alternatively, 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.

Jest

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.

How it works

react-native-config-node/transform is a babel-plugin transforming the following code

importConfigfrom'react-native-config'

into

importConfigfrom'react-native-config-node'

react-native-config-node offers the same API as react-native-config using dotenv.

License

MIT

About

Mock for react-native-config in nodejs environment, used for testing.

Resources

Stars

16 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages