react-native-app-builder
react-native-app-builder copied to clipboard
๐๏ธ Parameterized Build for React Native
react-native-app-builder ยท

Multiple builds for React Native with different params
The package is in node, not react native!
Advantages
Parameterized Build
Build multi-configuration project
Installation
npm install @moh3n95/react-native-app-builder
โ ๏ธ NOTE: you can download latest bundleย
macOS | Windows | Linux
Usage
-
Create a json file and set params
{ "projectBase": "<PROJECT_PATH>", "settingFilePath": "<YOUR_JSON_SETTING_IN_REACT_NATIVE_PROJECT>", "workspacePath": "<YOUR_IOS_WORKSPACE>", "schemePath": "<YOUR_IOS_SCHEME>", "androidParams": [ {"buildName":"<YOUR_BUILD_NAME>", "<CUSTOM_PARAM>": "<CUSTOM_VALUE>"}, ... ], "iosParams": [ {"buildName":"<YOUR_BUILD_NAME>", "<CUSTOM_PARAM>": "<CUSTOM_VALUE>"}, ... ] }
See examples here
-
Call function or exec bundle
// import const RNBuilder = require("@moh3n95/react-native-app-builder"); RNBuilder(<PLATFORM>, <SETTING_FILE_PATH_OR_DIRECTLY_OBJ>).then(()=>{ // Build was successful }) .catch(e=>{ // Raised error });
โ ๏ธ NOTE: execute bundle with command line arguments -->
<EXEC_FILE> <PLATFORM> <SETTING_FILE_PATH>
-
Expected output
--------------------------------- info BUILDING A... success A FINISHED --------------------------------- info BUILDING B... success B FINISHED ---------------------------------
Arguments
-
Platform
Value Type ios string
android string
both string
-
Setting file path
OS Type FileType Sample macOS string
Json
/User/<YOUR_USER_NAME>/.../<FILE_NAME>.json
Windows string
Json
<YOUR_DRIVE_NAME>://.../<FILE_NAME>.json
Any object
None
{ projectBase, ... } // Only unbundled version
Setting file example
-
MacOS
{ "projectBase": "/Users/<YOUR_OS_USERNAME>/.../<RN_PROJECT_NAME>", // e.g. : /Users/apple/Desktop/test "settingFilePath": "<YOUR_JSON_SETTING_IN_REACT_NATIVE_PROJECT>", // e.g. : ./app.json "workspacePath": "<YOUR_IOS_WORKSPACE>", // e.g. : ./test "schemePath": "<YOUR_IOS_SCHEME>", // e.g. : test ... }
-
Windows
{ "projectBase": "<YOUR_DRIVE_NAME>://.../<RN_PROJECT_NAME>", // e.g. : C://test "settingFilePath": "<YOUR_JSON_SETTING_IN_REACT_NATIVE_PROJECT>", // e.g. : ./app.json ... }
Contributing
Thank you for your interest in contributing! Please feel free to put up a PR for any issue or feature request.
Todo
- Enable Hermes
- Change version code
- Change build number
- Convert xarchive to IPA
- Add Test & Deploy
Give me a Star
If you think this project is helpful just give me a โญ๏ธ Star is enough because i don't drink coffee ๐
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Author
Made with โค๏ธ by Mohsen Madani.