@mibuilder/traveling-fastlane

2.1.5 • Public • Published

@mibuilder/traveling-fastlane

A package with ruby and gem dependency to fastlane and some DIA specific scripts.

Commitizen friendly Conventional Commits Semantic Release Code of Conduct MIT License

npm latest version npm next version

This Solution

A package with ruby and gem dependency to fastlane and some DIA specific scripts.

Table of Contents

Prerequisites

You need to have

installed on your machine.

Installation

This module can be installed via npm which is bundled with Node.js and should be installed as one of your project's dependencies:

npm install --save @mibuilder/traveling-fastlane

The module will install all ruby gem dependencies e.g. fastlane on package installation via ruby and bundler from your machine on package. Therefore please see the Prerequisites section of this file.

The gem dependencies are installed into the npm package directory not your system default location. This should ensure that the tested and specified versions of the deps are used.

Usage

The package has some fastlane related ruby scripts pre-packaged and exposes different methods to use them in your CLI or CI scripts.

Following scripts are provided:

authenticate.rb

Authenticate with the Apple Developer Portal

travelingFastlane.authenticate

Args:

  • $0: appleId
  • $1: appleIdPassword

ensure-app-exists.rb

Create iOS App in Developer Portal if not already done

travelingFastlane.ensureAppExists

Args:

  • $0: appleId
  • $1: teamId
  • $2: bundleId
  • $3: name

find-app-on-asc.rb

Find App on App Store Connect

travelingFastlane.findAppOnItc

Args:

  • $0: appleId
  • $1: bundleIdentifier

find-app-on-portal.rb

Find App on Apple Developer Portal

travelingFastlane.findAppOnPortal

Args:

  • $0: appleId
  • $1: bundleIdentifier

get-android-app-versions.rb

Get Android Version Codes

travelingFastlane.getAndroidAppVersionCodes

Args:

  • $0: packageName
  • $1: jsonKey
  • $2: track
  • $3: supplyFile - optional

get-asc-teams.rb

Get Account Teams from the App Store Connect

travelingFastlane.getItcTeams

Args:

  • $0: appleId
  • $1: appleIdPassword

get-cert-action-password.rb

Get Match / Flint password from Keychain through fastlane CredentialsManager

travelingFastlane.getCertActionPassword

Args:

  • $0: action one of [match|flint]
  • $1: askIfMissing - optional defaults to true

get-ios-app-version.rb

Get iOS App Version and Build Number

travelingFastlane.getiOSAppVersions

Args:

  • $0: appleId
  • $1: bundleIdentifier
  • $3: live - optional Get live instead of latest version, defaults to false

API

You can run this scripts by either using the build in method runAction like:

import { travelingFastlane, runAction } from '@mibuilder/traveling-fastlane';

const args = ['MY_APPLE_ID', 'MY_APPLE_ID_PASSWORD'];

await runAction(travelingFastlane.authenticate, args);

or by using a custom command executor like:

import { travelingFastlane, runAction } from '@mibuilder/traveling-fastlane';

const args = ['MY_APPLE_ID', 'MY_APPLE_ID_PASSWORD'];

execa('ruby', [travelingFastlane.authenticate, ...args]);

For a custom command executor you need to resolve the path to your ruby correctly and pass the fastlane action as the first argument with additional arguments.

Other Use Cases

If you lack some use cases, you are welcome to open a pull request and add it. We'll come back to you and see how we can support your use case and present it to all devs.

Please consult the contribution guides before contributing.

Acknowledgements

This library is heavily inspired by @expo/traveling-fastlane-darwin . Thank you 💙

License

MIT Copyright © 2020-present die.interaktiven GmbH & Co. KG

Package Sidebar

Install

npm i @mibuilder/traveling-fastlane

Weekly Downloads

5

Version

2.1.5

License

LICENSE SEE IN LICENSE

Unpacked Size

47.1 kB

Total Files

20

Last publish

Collaborators

  • twtrb