paco
Version:
Node package development/distribution utility kit
83 lines (60 loc) • 2.39 kB
JavaScript
;
var path = require('path');
var colors = require('colors');
var Q = require('q');
var configHelpers = require('./helpers/local-configs');
var pathHelpers = require('./helpers/paths');
var deprecationHelpers = require('./helpers/deprecation');
var isHelpCommand = process.argv.filter(function (arg) {
return ['-h', '--help'].indexOf(arg) >= 0;
}).length;
var bootPromise = Q();
if (isHelpCommand) {
bootPromise = deprecationHelpers.checkOutdatedVersion();
}
/* --------------------------------------------------- *\
CLI setup
\* --------------------------------------------------- */
var yargs = require('yargs').usage('Usage: paco <command> [options]').help('h').alias('h', 'help').version(function () {
return require('../package').version;
}).alias('v', 'version');
/* --------------------------------------------------- *\
Environment setup
\* --------------------------------------------------- */
var rootPacorcPath = pathHelpers.getHighestDirContainingFileNamed('.pacorc', process.cwd());
var nearestPacorcPath = configHelpers.getNearestPacorcPath(process.cwd());
var nearestPackageJsonPath = configHelpers.getNearestPackageJSONPath(process.cwd());
process.env.PACO_ROOT_PATH = rootPacorcPath;
process.env.PACO_PACKAGE_PATH = path.dirname(nearestPackageJsonPath);
process.env.PACO_PACKAGE_JSON_PATH = nearestPackageJsonPath;
/* --------------------------------------------------- *\
Intro shown on help section
\* --------------------------------------------------- */
if (isHelpCommand) {
console.log('\n ' + '\n ### ### ### ###\n # # # # # # #\n ### ### # # #\n # # # ### ###\n '.magenta + '\n - - - - - - - -\n '.white + '\n Your package utility BFF\n '.gray + '\n ');
}
/* --------------------------------------------------- *\
Commands
\* --------------------------------------------------- */
// Init
require('./commands/init')(yargs);
// Config
require('./commands/config')(yargs);
// Lint
require('./commands/lint')(yargs);
// Test
require('./commands/test')(yargs);
// Verify
require('./commands/verify')(yargs);
// Build
require('./commands/build')(yargs);
// Prepare
require('./commands/prepare')(yargs);
// Bump
require('./commands/bump')(yargs);
// Release
require('./commands/release')(yargs);
bootPromise.then(function () {
var argv = yargs.argv;
});