JSPM

@sitepong/fastnode

0.1.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 45
  • Score
    100M100P100Q78225F
  • License MIT

A complete Node.js/TypeScript port of Fastlane — iOS & Android build automation, code signing, and app distribution

Package Exports

  • @sitepong/fastnode
  • @sitepong/fastnode/actions
  • @sitepong/fastnode/cert
  • @sitepong/fastnode/client
  • @sitepong/fastnode/core
  • @sitepong/fastnode/deliver
  • @sitepong/fastnode/frameit
  • @sitepong/fastnode/gym
  • @sitepong/fastnode/lane
  • @sitepong/fastnode/match
  • @sitepong/fastnode/pem
  • @sitepong/fastnode/pilot
  • @sitepong/fastnode/precheck
  • @sitepong/fastnode/produce
  • @sitepong/fastnode/scan
  • @sitepong/fastnode/sigh
  • @sitepong/fastnode/snapshot
  • @sitepong/fastnode/trainer
  • @sitepong/fastnode/xcode

Readme

@sitepong/fastnode

A Node.js/TypeScript toolkit for iOS & Android build automation, code signing, and App Store / TestFlight distribution. Inspired by Fastlane, rewritten in TypeScript with no Ruby dependency.

Install

npm install @sitepong/fastnode

Quick start

As a library

import { AppStoreConnectClient } from "@sitepong/fastnode/client";
import { createCertificate } from "@sitepong/fastnode/cert";

const client = new AppStoreConnectClient({
  keyId: process.env.APP_STORE_CONNECT_API_KEY_ID!,
  issuerId: process.env.APP_STORE_CONNECT_API_KEY_ISSUER_ID!,
  privateKey: process.env.APP_STORE_CONNECT_API_KEY!,
});

const cert = await createCertificate({
  client,
  type: "IOS_DISTRIBUTION",
  outputDir: "./certs",
});

console.log("Issued cert:", cert.certificate.id);

CLI

npx @sitepong/fastnode --help
npx @sitepong/fastnode cert --development
npx @sitepong/fastnode sigh --bundle-id com.example.app

Modules

Each module can be imported separately:

Module Purpose
@sitepong/fastnode/client App Store Connect REST client (JWT) + Apple Developer Portal client (session)
@sitepong/fastnode/cert Create, list, revoke signing certificates
@sitepong/fastnode/sigh Create and download provisioning profiles
@sitepong/fastnode/match Sync certs + profiles across machines via git/S3/local storage
@sitepong/fastnode/produce Create App Store Connect apps and bundle IDs, manage capabilities
@sitepong/fastnode/pilot Upload builds to TestFlight, manage beta groups, set changelog
@sitepong/fastnode/deliver Upload metadata, screenshots, submit to App Review
@sitepong/fastnode/pem Create APNS push notification certificates
@sitepong/fastnode/gym Build and archive iOS apps via xcodebuild
@sitepong/fastnode/scan Run tests via xcodebuild, parse xcresult
@sitepong/fastnode/snapshot Capture localized screenshots across devices
@sitepong/fastnode/trainer Parse .xcresult / .plist test output → JUnit XML
@sitepong/fastnode/precheck Static-analyze App Store metadata against review rules
@sitepong/fastnode/frameit Composite screenshots into device frames

Environment

The library pulls App Store Connect credentials from:

  • APP_STORE_CONNECT_API_KEY_ID — the 10-character key ID
  • APP_STORE_CONNECT_API_KEY_ISSUER_ID — the issuer UUID (omit for individual keys)
  • APP_STORE_CONNECT_API_KEY — the -----BEGIN PRIVATE KEY----- PEM contents

Requirements

  • Node.js ≥ 20
  • macOS for Xcode-driven operations (gym, scan, snapshot, trainer)
  • xcodebuild, security, and codesign on PATH for code-signing flows

License

MIT