Coder Social home page Coder Social logo

node-phonegap-build's Introduction

PhoneGap Build Node Module Build Status

Node module to create and build PhoneGap projects with PhoneGap Build.

Getting Started

Install

package.json:

{
    "dependencies": {
        "phonegap-build": "*"
    }
}

Require

var phonegapbuild = require('phonegap-build');

API

Login

Authenticates with PhoneGap Build, saves the token, and return an API object. When the save token exists, the authentication step is skipped.

Options:

  • options {Object} contains the login credentials.
  • [options.username] {String} is the username.
  • [options.password] {String} is the password.
  • [callback] {Function} is called after the login.
    • e {Error} is null on a successful login attempt.
    • api {Object} the API object defined by phonegap-build-rest

Events:

  • login is triggered when login credentials are required.
  • error is triggered on an error.
    • e {Error} details the error.
  • log is triggered with log messages.
  • warn is triggered with warning messages.

Examples:

//
// given the login credentials
//

var options = { username: '[email protected]', password: 'abc123' };

phonegapbuild.login(data, function(e, api) {
    // now logged in
});

//
// get login credentials on demand
//

phonegapbuild.on('login', function(options, callback) {
    options.username = options.username || '[email protected]';
    options.password = options.password || 'abc123';
    callback(null, options);
});

phonegapbuild.login(function(e, api) {
    // now logged in
});

Login Event

This event is called whenever a task must authenticate with PhoneGap/Build and the credentials are unknown. If only the username or only the password is known, the it is passed into the event as the options object.

The developer should listen on this event and correctly retrieve the login credentials: looking them up from storage or prompting the user. Once the credentials are found, the callback can be fired with the correct credentials.

Options:

  • options {Object} contains the known login credentials.
  • [options.username] {String} is null or the username.
  • [options.password] {String} is null or the password.
  • callback {Function} is called with the correct credentials.
    • e {Error} is null or the error that occured.
    • options {Object} is the correct username and password.

Examples:

phonegapbuild.on('login', function(options, callback) {
    options.username = options.username || '[email protected]';
    options.password = options.password || 'abc123';
    callback(null, options);
});

Logout

Logout the user by deleting the token key from the config file.

Options:

  • args {Object} is unused and should be {}.
  • [callback] {Function} is a callback function.
    • e {Error} is null unless there is an error.

Events:

  • error is trigger on an error.
    • e {Error} details the error.

Examples:

phonegapbuild.logout({}, function(e) {
    // now logged out unless e is defined
});

Create an App

Creates an application on the local filesystem. The remote application is created on-demand during the first build.

Options:

  • options {Object} is data required to create an app
    • path {String} is a directory path for the app.
  • [callback] {Function} is triggered after creating the app.
    • e {Error} is null unless there is an error.

Events:

  • error is triggered on an error.
    • e {Error} details the error.

Examples:

var options = { path: '~/development/my-app' };

phonegapbuild.create(options, function(e) {
    if (e) {
        console.error('failed to create the project:', e.message);
    }
    else {
        console.log('created the project:', path);
    }
});

Build an App

Builds the application using PhoneGap/Build. If the application does not exist, then it is first created. Currently, the build task only supports file transfers (zip) but will be extended to git repositories in the future.

Options:

  • options {Object} is data required for building a platform.
  • options.platforms {Array} is a collection of platform names {String} that specify the platforms to build.
  • [callback] {Function} is triggered after the build is complete.
    • e {Error} is null unless there is an error.
    • data {Object} describes the built app.

Events:

  • error is trigger on an error.
    • e {Error} details the error.

Examples:

var options = { platforms: ['android'] };

phonegapbuild.build(options, function(e, data) {
    if (e) {
        console.error('failed to build the app:', e);
    }
    else {
        console.log('successfully built the app:', data);
    }
});

node-phonegap-build's People

Contributors

bennmapes avatar dokterbob avatar mwbrooks avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.