UNPKG

paco

Version:

Node package development/distribution utility kit

83 lines (60 loc) 2.39 kB
#!/usr/bin/env node 'use strict'; 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; });