Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@monstermakes/larry-hybrid-app-builder

Package Overview
Dependencies
Maintainers
3
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@monstermakes/larry-hybrid-app-builder

Dynamically builds a cordova hybrid application for IOS and android based previously produced set of web assets.

  • 3.1.6
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
3
Created
Source

larry-hybrid-app-builder #larry-hybrid-app-builder

##Description This project is designed to make a repeatable cordova build based on an existing built web app. Under the covers this uses fastlane (https://docs.fastlane.tools) to do all the heavy lifting. This is designed to run on a MAC ONLY!!!

##SETUP

  1. Install cordova
    • npm install -g cordova
  2. Install fastlane
    • brew install ruby
    • brew cask install fastlane
    • gem install bundler

###Android Make sure you are running on a MAC and that you have the proper environment for building cordova apps setup. The setup for android has been automated please run resources/AndroidCleanInstall.sh or use it as a reference to properly setup your environment.

###IOS

  1. Heavily depends on xcode so make sure xcode is installed and up to date, this may require starting xcode and clicking on the install/update steps.

  2. Depending on what mutations you add (like push notifications) you may also need cocoapods installed.

sudo gem install cocoapods
pod setup

###Environment Variables These environment variables are used for the signing process

  • "ANDROID_KEYSTORE": Path to the java keystore file

  • "ANDROID_KEYSTORE_ALIAS": alias of the certificate in the java keystore file

  • "ANDROID_KEY_PASS": The password used to protect the private key of the java keystore file,If not specified ANDROID_KEYSTORE_PASS will be used.

  • "ANDROID_KEYSTORE_PASS": The password of the java keystore file

  • "IOS_TEAM_ID": The id of your ios developer team

  • "IOS_TEAM_NAME": The name of your ios developer team

  • "IOS_EMAIL": The email associated with your ios devloper account

  • "FASTLANE_MATCH_GIT_URL": The url to the match git repo to be used for credentials, see https://docs.fastlane.tools/actions/match/ for more details.

  • "IOS_DEVELOPMENT_PROVISIONING_PROFILE": The signing identity to use during the build process, will default to whats found in match if not specified.

    • This provisioning profile will be installed on the local machine during the BUILD process
  • "IOS_ADHOC_PROVISIONING_PROFILE": The signing identity to use during the release process, will default to whats found in match if not specified.

    • This provisioning profile will be installed on the local machine during the release process
  • "IOS_APPSTORE_PROVISIONING_PROFILE": The signing identity to use during the release process, will default to whats found in match if not specified.

    • This provisioning profile will be installed on the local machine during the release process

Here is the bashrc exports for convenience:

export ANDROID_KEYSTORE="REPLACE_ME"
export ANDROID_KEYSTORE_ALIAS="REPLACE_ME"
export ANDROID_KEY_PASS="REPLACE_ME"
export ANDROID_KEYSTORE_PASS="REPLACE_ME"

export IOS_TEAM_ID="REPLACE_ME"
export IOS_TEAM_NAME="REPLACE_ME"
export IOS_EMAIL="REPLACE_ME"
export FASTLANE_MATCH_GIT_URL="REPLACE_ME"
export IOS_DEVELOPMENT_PROVISIONING_PROFILE="REPLACE_ME"
export IOS_ADHOC_PROVISIONING_PROFILE="REPLACE_ME"
export IOS_APPSTORE_PROVISIONING_PROFILE="REPLACE_ME"

###Mocha Tests Some tests will actually use xcodebuild to produce the ipa, or sign the build so make sure you have the appropriate ENV variables setup:

hint: if you use vscode this needs to be in your launch.json

{
    "type": "node",
    "request": "launch",
    "name": "HybridAppBuilder.build.spec",
    "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
    "cwd":"${workspaceFolder}/test/build",
    "args": [
        "-u",
        "tdd",
        "--timeout",
        "999999",
        "--colors",
        "${workspaceFolder}/test/build/HybridAppBuilder.build.spec.js"
    ],
    "internalConsoleOptions": "openOnSessionStart",
    "env":{
        "IOS_TEAM_ID": "<ios developer team id>",
        "IOS_TEAM_NAME": "<ios developer team name>",
        "IOS_EMAIL": "<ios developer email>",
        "FASTLANE_MATCH_GIT_URL": "<url to the match git repo>",
        "IOS_PROVISIONING_PROFILE": "<provisioning profile to use instead of Fastlane match>",
        "ANDROID_KEYSTORE": "<Path to the java keystore file>",
        "ANDROID_KEYSTORE_ALIAS": "<alias of the certificate in the java keystore file>",
        "ANDROID_KEY_PASS": "<The password used to protect the private key of the java keystore file>",
        "ANDROID_KEYSTORE_PASS": "<The password of the java keystore file>"
    }
},

##RELEASE NOTES Initial support including:

  • setup
    • Validate that a directory is a proper cordova app if not setup/prepare the folder for producing cordova apps.
  • build
    • from a previously setup cordova directory kick off a build for a specific target (android/ios) in a specific mode (release/debug)

##TODO

  1. Console output / logging
  2. Image manipulations
    • generate the splashscreens and cut icons
  3. Add named mutations
    • larry core injectables???
  4. Build out other Mutators...
    • Currently we have Cordova config.xml mutator
    • Would like to Expose a list of generic mutators
      • File mutators
      • XML mutators
      • json mutators
  5. jsdom 11.11.0 was not backwards compatible to 11.10.0
    • not sure what changed... should check in the future for fixes

FAQs

Package last updated on 03 Jul 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc