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

@fastlanejs/base

v2.0.12

Published

Base Interface for communicating with the fastlane socket server

Downloads

134

Readme

Fastlane-js

Javascript interface to Fastlane

Requirements

Fastlane is required to have been installed: use gem install Fastlane

Installation

yarn add @raydeck/fastlane

Class Fastlane

async doAction(action, arguments) => Promise

Returns the same result as running this Fastlane result in Ruby would. (note that there are excceptions where the Fastlane socket driver delivers suboptimal serializations of Ruby objects, such as with the action adb_devices). Starts the session automatically when you ask for the first action.

async close() => Promise

Closes the connection to fastlane.

async withFastlane(options: FastlaneOptions, func (fastlane: Fastlane)=> Promise)

The main helper function to control a Fastlane session.

  • options (optional): Object of options to pass to the fastlane session:
    • isInteractive: Boolean whether to pass stdin/stdout of the socket server to the calling client. This should be true when you might need to respond to requests for, say, apple logins.
    • port: Int specify the port number of the connection (default 2000)
  • func: async function (returning a promise) containing the block of code to run during the Fastlane session, passed the Fastlane instance as its first and only argument. Note the session is initialized right before executing the function and closed right afterward.

Example

await withFastlane(async (fastlane) => {
  await fastlane.doAction("send_to_testflight", {
    application_id: "xxxx" /*...*/,
  });
});
// is the same as
await withFastlane({ isInteractive: true, port: 2000 }, async (fastlane) => {
  await fastlane.doAction("send_to_testflight", {
    application_id: "xxxx" /*...*/,
  });
});
// is the same as
await withFastlane(async ({ doAction }) => {
  await doAction("send_to_testflight", { application_id: "xxxx" /*...*/ });
});
// is the same as
const fastlane = new Fastlane(2000, true);
await fastlane.doAction("send_to_testflight", {
  application_id: "xxxx" /*...*/,
});
fastlane.close();
// is the same as
const fastlane = new Fastlane();
await fastlane.doAction("send_to_testflight", {
  application_id: "xxxx" /*...*/,
});
fastlane.close();

Additional Helper functions

async init(isInteractive = true) => Socket

Imperatively initialize the child Fastlane server process and connect using sockets. The socket is returned as a convenience, but don't mess with it unless you really know what you are doing.

  • isInteractive: Boolean of whether to pass stdin/stdout of the socket server to the calling client. This should be true when you might need to respond to requests for, say, apple logins.

Note: This is run by default at the start of withFastlane

async close() => Void

Close the connection to the Fastlane socket server and terminate the Fastlane socket server process.

Note: This is run by default at the end of withFastlane