npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

betalane

v2.0.0

Published

`betalane` is super easy to use beta distribution tool for iOS

Downloads

20

Readme

Highly inspired by Fastlane.tools the greatest Automation tool ever for your beta deployments of iOS/Android Builds, but betalane is purely made in Javascript and it's super easy to use!

Features

  • build - Building your app
  • doa_s3 - Distribute on the Air using AWS S3
  • cli - Execute any cli command

Getting Started

Make sure you have the latest version of the Xcode command line tools installed:

xcode-select --install

Installation

[sudo] npm i betalane -g

Setup

  1. Create betalane.json on the root of your project.
.
├── Example
├── Example.xcodeproj
└── betalane.json
  1. Confgiure lane and jobs in betalane.json file as shown in the following example
[
  {
    "laneName": "beta",
    "jobs": [
      {
        "job": "cli",
        "options": {
          "cmd": "cd Example && carthage update --platform iOS"
        }
      },
      {
        "job": "build",
        "options": {
          "scheme": "Example-Dev",
          "provisioningProfile": "e9890938-67cd-4e01-a197-7a43c2e355a4"
        }
      }
    ]
  }
]
  1. Add .betalane to your .gitignore file
# Betalane processing directory
.betalane

In action...

From the root of your project execute the following command

$ betalane [lane] [job]

Example 1 - excute all lanes and all jobs

$ betalane

Example 2 - excute specific lane and all it's jobs

$ betalane beta

Example 3 - excute specific lane and specific job

$ betalane beta build

Documentation

build - Building your app

{
  "job": "build",
  "options": {
    "scheme": "Example-Dev",
    "target": "Example",
    "buildConfiguration": "Debug",
    "method": "development",
    "signingCertificate": "iOS Developer",
    "compileBitcode": "NO",
    "provisioningProfile": "e9890938-67cd-4e01-a197-7a43c2e355a4"
  }
}

options : {

property | Optional | Description | Default | Available Options --- | --- | --- | --- | --- scheme | (Optional) | Scheme | <Project Name> target | (Optional) | Target | <Project Name> buildConfiguration | (Optional) | Build Configuration | Debug compileBitcode | (Optional) | Should complie BitCode? | NO | YES, NO method | (Optional) | Distribution Method | development | app-store, ad-hoc, development signingCertificate | (Optional) | Certificate | Auto Selected from Build Setting provisioningProfile | (Optional) | Provisioning Profile | Auto Selected from Build Settings | Profile ID, Profile Name

}

Output Params

Params | Description | Sample Value --- | --- | --- BL_BUILD_ARCHIVE_PATH | Archive path | /Users/jay.mehta/Example/.betalane/Example.xcarchive BL_BUILD_IPA_PATH | IPA File path | /Users/jay.mehta/Example/.betalane/Example-Dev.ipa

doa_s3 - Distribute on the Air using AWS S3

{
  "job": "doa_s3",
  "options": {
    "AccessKeyID": "AKXXXXXXXXXEXAMPLE",
    "SecretAccessKey": "wJXXXXXXXXXX/K7XXXXXX/XXXXXXXEXAMPLEKEY",
    "s3Bucket": "example-beta-builds",
    "region": "us-east-2",
    "prefix": "builds/ios/",
    "buildPath" : "env.BL_BUILD_IPA_PATH"
  }
}

options : {

property | Optional | Description | Default | Available Options --- | --- | --- | --- | --- AccessKeyID | Required | AccessKeyID - Obtain from IAM SecretAccessKey | Required | SecretAccessKey - Obtain from IAM s3Bucket | Required | AWS S3 Bucket Name region | Required | AWS S3 Bucket Region prefix | (Optional) | S3 Key Prefix | betalane/ buildPath | (Optional) | Build Path to upload on S3 | env.BL_BUILD_IPA_PATH - Env variable exposed by build job

}

Output Params

Params | Description | Sample Value --- | --- | --- BL_DOA_S3_BUILD_URL | Build Url | https://example-beta-builds.s3.amazonaws.com/doa-beta-20-Aug-2018-14-40-58/package.ipa BL_DOA_S3_MANIFEST_URL | Menifest Url | https://example-beta-builds.s3.amazonaws.com/doa-beta-20-Aug-2018-14-40-58/manifest.plist BL_DOA_S3_INSTALL_URL | Installable Url | https://example-beta-builds.s3.amazonaws.com/doa-beta-20-Aug-2018-14-40-58/download.html

IAM Policy Sample

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "StmtBetalaneS3Policy",
      "Action": [
        "s3:PutObject",
        "s3:PutObjectAcl"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::example-beta-builds/*"
    }
  ]
}

Steps to create S3 bucket

  1. Login to AWS Console
  2. Click on S3 service
  3. Create Bucket
  4. Enter "Bucket Name", Click "Next", "Next", "Next", "Cerate Bucket".

Steps to create IAM User

  1. Login to AWS Console
  2. Click on IAM service
  3. Select Policies from left side menu
  4. Select "Create Policy"
  5. Click on "JSON" tab
  6. Replace JSON with above sample and change bucket name in Resource key
  7. Click "Review Policy"
  8. Name your policy, e.g. Example Beta Lane S3 Policy
  9. Click "Create Policy"
  10. Now select "Users" from left side menu
  11. Click "Add User"
  12. Give some "Username", and select "Programmatic access" from Access Type.
  13. Select "Attach Existing Policy"
  14. Look for the policy you just created and select it, Click "Next: Review"
  15. Review and Click "Create"
  16. Download CSV file containing your AccessKeyID and SecretAccessKey

cli - Execute any cli command

{
  "job": "cli",
  "options": {
    "cmd": "cd Example && carthage update --platform iOS"
  }
}

options : {

property | Optional | Description | Default | Available Options --- | --- | --- | --- | --- cmd | Required | Command to be performed

}