mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-11-07 06:57:02 +08:00
101 lines
2.0 KiB
JavaScript
101 lines
2.0 KiB
JavaScript
/*
|
|
__ __
|
|
| / \ |\ | | / `
|
|
| \__/ | \| | \__,
|
|
|
|
http://ionicframework.com/
|
|
|
|
A utility for starting and administering Ionic based mobile app projects.
|
|
Licensed under the Apache 2.0 license. See LICENSE For mroe.
|
|
|
|
Copyright 2013 Drifty (http://drifty.com/)
|
|
*/
|
|
|
|
var IonicStartTask = require('./lib/ionic/start.js').IonicStartTask;
|
|
|
|
var argv = require('optimist').argv;
|
|
|
|
var TASKS = [
|
|
{
|
|
title: 'start',
|
|
name: 'start',
|
|
usage: 'appname',
|
|
task: IonicStartTask
|
|
}
|
|
];
|
|
|
|
Ionic = function() {};
|
|
|
|
Ionic.prototype = {
|
|
_tryBuildingTask: function() {
|
|
if(argv._.length == 0) {
|
|
return false;
|
|
}
|
|
var taskName = argv._[0];
|
|
|
|
var task = this._getTaskWithName(taskName);
|
|
|
|
return {
|
|
task: task
|
|
}
|
|
},
|
|
|
|
_getTaskWithName: function(name) {
|
|
for(var i = 0; i < TASKS.length; i++) {
|
|
var t = TASKS[i];
|
|
if(t.name === name) {
|
|
return t;
|
|
}
|
|
}
|
|
},
|
|
|
|
_printGenericUsage: function() {
|
|
this._printIonic();
|
|
process.stderr.write('Usage: ionic task args\n\n===============\n\nAvailable tasks:\n\n');
|
|
|
|
for(var i = 0; i < TASKS.length; i++) {
|
|
var task = TASKS[i];
|
|
process.stderr.write(' ' + task.name + '\t\t' + task.task.HELP_LINE + '\n');
|
|
}
|
|
|
|
process.exit(1);
|
|
},
|
|
|
|
_printIonic: function() {
|
|
process.stdout.write('\n __ __ \n');
|
|
process.stdout.write('| / \\ |\\ | | / `\n' + '| \\__/ | \\| | \\__,\n\n');
|
|
},
|
|
|
|
// Prompt the user for a response
|
|
ask: function(question) {
|
|
var response;
|
|
|
|
process.stdout.write(question + ' ');
|
|
process.stdin.resume();
|
|
response = fs.readSync(process.stdin.fd, 100, 0, "utf8");
|
|
process.stdin.pause();
|
|
return response[0].trim();
|
|
},
|
|
_loadTaskRunner: function(which) {
|
|
|
|
},
|
|
|
|
run: function() {
|
|
var task = this._tryBuildingTask();
|
|
if(!task) {
|
|
return this._printGenericUsage();
|
|
}
|
|
|
|
console.log('Running', task.task.title, 'task...')
|
|
},
|
|
|
|
fail: function(msg) {
|
|
process.stderr.write(msg + '\n');
|
|
process.exit(1);
|
|
},
|
|
|
|
};
|
|
|
|
|
|
var ionic = new Ionic();
|
|
ionic.run(); |