@moh3n95/react-native-app-builder
TypeScript icon, indicating that this package has built-in type declarations

1.2.0 • Public • Published

react-native-app-builder · Circle CI GitHub license PRs Welcome

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.

Package Sidebar

Install

npm i @moh3n95/react-native-app-builder

Weekly Downloads

0

Version

1.2.0

License

MIT

Unpacked Size

52.5 kB

Total Files

17

Last publish

Collaborators

  • moh3n95