react-native-secret-config

1.0.2 • Public • Published

react-native-secret-config

Backround

By default, when your build react native, you can find bundle file on assets/index.android.bundle then you can find all config on the bundle file, hmmm. This module, move config to native.

Getting started

yarn add react-native-secret-config

Install

If your using RN >= 0.60, this is automatic linking on ios, cd ios && pod install

Manual Install Android

  • in android/settings.gradle:
...
include ':app'
+ include ':react-native-secret-config'
+ project(':react-native-secret-config').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-secret-config/android')
  • in android/app/build.gradle:
dependencies {
    ...
    implementation "com.facebook.react:react-native:+"  // From node_modules
+   implementation project(':react-native-secret-config')
}
  • in MainApplication.java:
    import java.util.List;
+   import com.indaam.secretconfig.SecretConfigPackage;
    ...
    // packages.add(new MyReactNativePackage());
+   packages.add(new SecretConfigPackage());
    return packages;
 

Manual Install ios via CocoaPods

  • In ios/Podfile
    pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
+   pod 'react-native-secret-config', :path => '../node_modules/react-native-secret-config'
 

Then pod install on ios directory

Setup

On your root project, create file secret-config.json, then create your json file, example like this

{
  "api" : "https://api.api",
  "key" : "key",
  "secret-config": true,
  "version" : "1.0.0"
}

Then on root project, node node_modules/react-native-secret-config/src/cli/index.js or on package.json add this shorcut

  "scripts": {
    "android": "react-native run-android",
+   "config" : "node node_modules/react-native-secret-config/src/cli/index.js"
....

Then, yarn config After init config, rerun your project react-native run-android or react-native run-ios

Usage

import CONFIG from 'react-native-secret-config';
console.log(CONFIG);

Advance CLI

By default, when your run scripts node node_modules/react-native-secret-config/src/cli/index.js The script will generate config to native from secret-config.json, this is option CLI

Option Type Default Note
useBase64 boolean false If true, will convert to base64
includeEnv any .env If env exist will merge with config
configFileName string secret-config.json Define config file name

CLI Example

  • Include env
node node_modules/react-native-secret-config/src/cli/index.js includeEnv=".env.stag"
  • Use Base64
node node_modules/react-native-secret-config/src/cli/index.js useBase64=true
  • Custom File Name
node node_modules/react-native-secret-config/src/cli/index.js configFileName="my-file.json"

!IMPORTANT The config file must be json format

Credit

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.0.2
    2
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 1.0.2
    2
  • 1.0.1
    0
  • 1.0.0
    0

Package Sidebar

Install

npm i react-native-secret-config

Weekly Downloads

2

Version

1.0.2

License

MIT

Unpacked Size

391 kB

Total Files

43

Last publish

Collaborators

  • indaam