UNPKG

solid-code

Version:

JavaScript code quality front-end

59 lines (51 loc) 1.54 kB
#!/usr/bin/env node /*global args:true*/ var options = (function () { // grab command line arguments var optimist = require('optimist'); args = optimist.usage('JS quality metrics.\n' + '\tauthor: Gleb Bahmutov gleb.bahmutov@gmail.com\n' + '\tusage:\n\t\t$0 <filename.js | folder with js files>\n' + '\tor install and run globally\n\t\tnpm i -g solid-code\n' + '\t\tsolid foo.js bar.js ...') .default({ help: false, watch: false, version: false }) .alias('h', 'help').boolean('help') .describe('help', 'show help message and exit') .alias('w', 'watch').boolean('watch') .describe('watch', 'watch specified files, rerun analysis on change') .boolean('version').describe('version', 'show version and exit') .argv; if (args.version) { var package = require('./package.json'); console.log(package.name, 'by', package.author, 'version', package.version); process.exit(0); } function showUsageAndExit() { optimist.showHelp(); console.log('current arguments\n', args); process.exit(0); } if (!module.parent) { if (args.h || args.help) { showUsageAndExit(); } } if (args._.length === 0) { console.log('missing input file|files|folder'); showUsageAndExit(); } var logger = require('optional-color-logger'); logger.init(args); return args; }()); options.files = options._; if (!options.files.length) { console.log('nothing to do, exitting...'); process.exit(0); } var isSolid = require('./src/is-solid'); isSolid.run(options);