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

fastlane-produce

v1.0.0

Published

desc

Downloads

6

Readme

fastlane-produce

NPM version Build Status Coverage Status

Node.js Wrapper for the Ruby Fastlane Produce Tool

Important

You will have to follow the fastlane API when determining what options you need to have passed for whatever command you are trying to use. For example, if I want to create an app, I'd need to pass the required options of username, app identifier, app name, and company name. This may change in the future, however.

I recommend manually testing the fastlane commands on the command line to see what fastlane expects.

example

var produce = require('fastlane-produce')
var options = {
    create:true,
    username:'gege',
    app:'yoyo',
    identifier:'123',
    skipItc: true,
    enableServices: [{service:'icloud', value:'legacy'}, 'homekit']
}
produce(options, function(err) {
    if (err) console.log(err)
    else //do something
})

api

var produce = require('fastlane-produce')

produce(options, [callback])

Accepts a required options object, with the available options listed below. Optional callback function.

Produce Options

|Produce Option |Example|Description|Command Executed| |-------------|-------|-----------|----------------| | create (boolean) | { create:true } | Creates a new app on iTunes Connect and the Apple Developer Portal | create | | skipItc (boolean) | { skipItc: true } | Skip the creation of the app on iTunes Connect | -i | | skipDevCenter (boolean) | { skipDevCenter: true } | Skip the creation of the app on Apple Developer Portal | -d | | name (string) | { name: 'appname' } | App Name | -q {name} | | identifier (string) | { identifier:'myapp' } | The bundle identifier of your app | -a { identifier } | | user (string) | { user:username } | Your Apple ID Username | -u { user } | | teamId (string) | { teamId:'ekjo' } | The ID of your team if you're in multiple teams | -b { teamId } |
| teamName (string) | { teamName:'teamA' } | The name of your team if you're in multiple teams | -l { teamName } | | suffix (string) | { suffix:'pin' } | App Identifier Suffix (Ignored if App Identifier does not ends with .*) | -e { suffix } | | version (string) | { version:'1.0' } | Initial version number | -z { version } | | sku (string) | { sku:'23423' } | SKU Number | -y { sku } | | language (string) | { language:'french' } | Primary Language (e.g. 'English', 'German') | -m { language } | | company (string) | { company:'ABC' } | The name of your company. Only required if it's the first app you create | -c { company } | | createAppGroup (object) | { createAppGroup :{name:'app group name', description: 'app group description' }} | Create a New App Group | group -g { name } -n { description } | | associateGroup (object) | { associateGroup: { app:'app identifier', group:'group id'} } |Associate with a group, which is create if needed or simply located otherwise | associate_group -a { app } { group } |

Enabling and Disabling Application Services for a specific app on the Apple Developer Portal

Note: Both enableServices and disableServices can be an array of strings, array of objects (with required key of service, optional key of value), or mixed.

|Option | Example | Command Executed | |-------|----------|-----------| |enableServices (array of strings or object with required service key) | { enableServices:['app-group', { service:'icloud', value:'legacy'}] } | enable_services --app-group --icloud 'legacy'|

Specific Application Services that can be disabled for an app on the Apple Developer Portal



    app-group          Enable App Groups
    associated-domains Enable Associated Domains
    healthkit          Enable HealthKit
    homekit            Enable HomeKit
    wireless-conf      Enable Wireless Accessory Configuration
    inter-app-audio    Enable Inter-App-Audio
    passbook           Enable Passbook
    push-notification  Enable Push notification (only enables the service, does not configure certificates)
    vpn-conf           Enable VPN Configuration
    icloud STRING      Enable iCloud, DEFAULTS TO CLOUDKIT but acceptable values are "legacy" or "cloudkit"
    data-protection    Enable Data Protection, DEFAULTS TO COMPLETE but acceptable values are "complete", "unlessopen" and "untilfirstauth"

    if icloud or data-protection is passed as string, it will set defaults. To override default properties,
    pass an object with service and value. { service:'icloud', value: 'legacy'}

|Option | Example | Command Executed | |-------|---------|-----------------| |disableServices (array of strings or object with required service key) | { disableServices:['app-group', { service:'icloud'}, 'data-protection'] }| disable_services --app-group --icloud --data-protection|

Specific Application Services that can be disabled for an app on the Apple Developer Portal

    app-group          Disable App Groups
    associated-domains Disable Associated Domains
    data-protection    Disable Data Protection
    healthkit          Disable HealthKit
    homekit            Disable HomeKit
    wireless-conf      Disable Wireless Accessory Configuration
    icloud             Disable iCloud
    inter-app-audio    Disable Inter-App-Audio
    passbook           Disable Passbook
    push-notification  Disable Push notifications
    vpn-conf           Disable VPN Configuration

Runtime Options

|Runtime Option |Example|Description| |----------------|-------|-----------| |timeout (number)| { timeout:0 } | specify when to exit execution in case of error | |password (string)| {password:''} | app store password | |path (string)| {path:'/'} | path of directory where produce executes|

install

With npm do:

npm install --save fastlane-produce

testing

npm test

coverage

npm run view-cover

This will output a textual coverage report.

npm run open-cover

This will open an HTML coverage report in the default browser.