iron-fe
Version:
An opinionated - yet flexible - front end development framework for use with Adobe Experience Manager
41 lines (31 loc) • 1.86 kB
JavaScript
;
var program = require('commander');
var chalk = require('chalk');
var pkg = require('../package.json');
var createClientLib = require('./operations/create-clientlib');
var createComponent = require('./operations/create-component');
var createProject = require('./operations/create-project');
var createBundle = require('./operations/create-bundle');
var editRc = require('./operations/edit-ironrc.js');
module.exports = function () {
var rc = require('./utils/manageRC');
var config = rc.init();
if (config.exists) {
program.version(pkg.version).option('-c, --component [name]', 'Create a component with specified name').option('-b, --bundle [name]', 'Create an AEM bundle with a specified name').option('-l, --clientlib [name]', 'Create a Client Library with a specified name').option('-s, --set_style_language [arg]', 'Set the style_language for the project').parse(process.argv);
if (program.component) createComponent(program);
if (program.bundle) createBundle(program);
if (program.clientlib) createClientLib(program);
if (program.set_style_language) editRc.changeStyleLanguage(program.set_style_language);
if (!program.component && !program.clientlib && !program.bundle && !program.set_style_language) {
console.log(chalk.red.bold("\n[ ERROR ] No argument supplied"));
console.log(chalk.yellow("if you need help use: ") + 'iron -h \n');
}
} else {
program.version(pkg.version).option('[name]', 'Give your project a name').parse(process.argv);
if (program.args[0]) {
createProject(program);
} else {
console.log(chalk.red.bold("[ ERROR ] No argument for project name") + '\n' + chalk.yellow("Please supply Iron with a project name for example: ") + 'iron myProject \n');
}
}
};