UNPKG

snockets-cli

Version:
62 lines (53 loc) 1.73 kB
'use strict'; var Snockets, commander, fs, log, processCli, writeDepFile; require('source-map-support').install(); Snockets = require('snockets'); fs = require('fs'); commander = require('commander'); log = require('yadsil')('snockets'); processCli = function() { commander.usage('<in> [options]').option('--minify', 'minify output with uglifyJS').option('-o, --output <file>', 'output the result in a file').option('--dep-file <file>', 'generate a Makefile-compatible dependency file').option('--color', 'force color display out of a TTY').parse(process.argv); log.color(commander.color); if (commander.args.length < 1) { log.fatal(2, 'no enough file arguments'); } if (commander.args.length > 1) { log.fatal(2, 'too many file arguments'); } return commander; }; writeDepFile = function(snockets, sourcePath, depfile) { var chain, deps; chain = snockets.scan(sourcePath, { async: false }).getChain(sourcePath); deps = "" + sourcePath + ": " + (chain.join(' ')); return fs.writeFileSync(depfile, deps); }; module.exports = function() { var ex, js, snockets, sourcePath, targetPath; commander = processCli(); sourcePath = commander.args[0]; targetPath = commander.output; try { snockets = new Snockets(); if (commander.depFile != null) { writeDepFile(snockets, sourcePath, commander.depFile); } js = snockets.getConcatenation(sourcePath, { async: false, minify: commander.minify }); if (targetPath != null) { fs.writeFileSync(targetPath, js); return; } return process.stdout.write(js); } catch (_error) { ex = _error; return log.fatal(1, ex.message); } }; /* //@ sourceMappingURL=snockets-cli.js.map */