The library used for using ionic apps - consumed by the CLI and the GUI
Pull request Compare This branch is 4 commits ahead, 1 commit behind ionic-team:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Build Status npm

Getting started

npm install ionic-app-lib --save

Using this library

Here's a snippet of JavaScript that shows how to use this library:

var ionicAppLib = require('ionic-app-lib'),
    cordova = ionicAppLib.cordova,
    serve = ionicAppLib.serve,
    start = ionicAppLib.start;

var options = { 
  appDirectory: 'IonicApp',
  appName: 'Test',
  packageName: 'com.ionic.test',
  isCordovaProject: true,
  template: 'tabs',
  targetPath: '/User/Path/Development/' 


//Start an Ionic server with LiveReload on your files

cordova.addPlatform(appPath, platform);
cordova.runPlatform(appPath, platform);


Commands to convert:

  • start
  • serve
  • cordova (using cordova-lib)
    • run
    • emulate
    • compile
    • build
    • add platform
    • remove platform
    • add plugin
    • remove plugin
  • utils
  • setup
  • login
  • upload
  • share
  • push
  • hooks
  • browser
  • resources
  • docs
  • state

cordova (using cordova-lib - run/emulate/compile/build) upload stats

Developing this library

To use this library from another project, simply take your command line to the root of this directory and run npm link.

Then in the project you wish to consume the library, run npm link ionic-app-lib. Then require('ionic-app-lib') and start using the commands listed in index.js.

The idea and plan

The idea here is to make the CLI library easier to use from any interface.

This project will contain all the logic to make all of the commands happen - start/serve/platform/run/emulate/etc..

The root file, index.js - will import all of the other modules/commands, to provide an interface to run all of the tasks.

The lib folder will contain all of the individual commands.

The specs will test passing the commands the correct parameters, instead of if they properly read in command line arguments. Starting out, tests will just ensure there are no silly JavaScript errors by just requireing them.

Strategy going forward

Need to think about how to start cutting over forward development and passing it off to this library instead of straight parsing arguments from CLI.