#!/usr/bin/env node var program = require('commander'); var mason = require('../'); var pkg = require('../package.json'); program.name = 'mason'; program .version(pkg.version); program .command('build') .description('build assets') .option('-f, --file [assets]', 'JSON file with asset descriptions [mason.json]', 'mason.json') .option('-j, --javascript [renderer]', 'specify the renderer for JS [uglify]', 'uglify') .action(runBuild); program .command('watch') .description('build and watch mason.json targets') .option('-f, --file [configFile]', 'JSON file with asset descriptions') .option('-j, --javascript [renderer]', 'specify the renderer for JS [uglify]', 'uglify') .action(runWatch); if (process.argv.length < 3) { runHelp(); } else { program.parse(process.argv); } function runBuild(options) { mason({ file: options.file }).build(); } function runWatch(options) { mason.watch(process.cwd(), { 'javascript': options.javascript }); } function runHelp(options) { console.log(program.helpInformation()); }