#!/usr/bin/env node const path = require('path'); const program = require('commander'); const pkg = require(path.join(__dirname, '../../package.json')); program .option( '-F, --filter ', 'Filter where the task should be run' ) .option( '-C, --concurrency ', 'Number of tasks to be run concurrently', (arg) => /^\d+$/.test(arg) ? parseInt(arg, 10) : 1, 1 ) .option( '-P, --preserve-order', 'Preserve topological sort order when running tasks concurrently' ) .option( '-R, --reverse', 'Reverse package running order' ) .version(pkg.version) const tasks = [ 'exec', 'run', 'script', 'version', 'publish' ]; tasks.forEach((task) => { const module = require(path.join('../tasks/', task)); module.register(program); }); const argv = program.parse(process.argv); if (argv.args.length === 0) { program.help(); }