Skip to content

digital-flowers/react-native-env-json

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

react-native-env-json

Let you import environment based variables as JSON in React Native, don't need any native code integration.

npm version npm downloads

Install

$ npm install react-native-env-json --save-dev

Add the react-native-env-json preset to your .babelrc file at the project root.

{
  "presets": [
    ...
    "react-native-env-json"
  ]
}

If you want to change the path of the env files you can use the configDir option, for example.

{
  "presets": [
    ...
    ["react-native-env-json",{configDir: "/your/config/directory"}]
  ]
}

Usage

In your project root create a directory named env, Add your app configuration in a file named env/default.json. for example:

{
  "api":{
    "endpoint": "http://localhost:8080/",
    "key":123
  },
  "default_locale":"en"
}

Now you can import it in your .js file.

import { default_locale, api } from 'react-native-env-json'

console.log(default_locale); // en
console.log(api.endpoint); // http://localhost:8080/

Now create another json file with your environment name for example env/production.json, now add just that value you need to override

    {
      "api":{
          "endpoint": "https://test.com/"
      } 
    }

Now you can see in your .js file the changes.

import { default_locale, api } from 'react-native-env-json'

console.log(default_locale); // en
console.log(api.endpoint); // "https://test.com/"

Note: to run your app with "production" env change your scheme to release from xcode or just use:

react-native run-ios --configuration Release

FAQ

Changes to json file is not updated

Manually edit the file importing react-native-env-json by either adding an empty line or whitespace will work.

iOS

You can use the Release configuration to launch the Simulator. (Only supported in RN v0.39+)

react-native run-ios --configuration Release

Android

  1. Command⌘ + M to launch the developer menu in Android emulator.
  2. Tap DevSettings.
  3. Toggle JS Dev Mode.

Contact

Fareed Alnamrouti

LICENSE

MIT License, see LICENSE file for detail.

About

Let you import environment based variables as JSON in React Native, don't need any native code integration.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published