iron-fe
Version:
An opinionated - yet flexible - front end development framework for use with Adobe Experience Manager
54 lines (39 loc) • 2.08 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' );
}
}
}