Simplistic JavaScript automation tool.
Project file for Brigadier is a simple Node.js module with some instrumentation in global context.
You could use built-in Brigadier commands or just write any JavaScript code.
Project should declare at least one task. Default one is default.
brigadier path/to/projecttask('default',()=>{// Let's do something awesome by default!});Of course, tasks could run each other, with optional configuration.
brigadier path/to/project worktask('work',()=>{run('talk',{blah: 'blah'});});task('talk',(config)=>{log(config);});Top-level task takes project.config configuration from command line.
brigadier path/to/project task --option=value --flagtask('task',(config)=>{// project.config.option === config.option === 'value'// project.config.flag === config.flag === true});There is default configuration flag — verbose. It simply enables trace output.
brigadier path/to/project task --verboseAll built-in commands are synchronous. Unfortunately, there are no complete list with explanation yet.
taskrunranfailexit
infologtrace
copyreadwritefilesdirsexistsmkdirrmdirsymlink
backgroundexec
concateachinspectmap
Check example/project.js for inspiration.
varbrigadier=require('brigadier');brigadier.parse('path/to/project');brigadier.build('task');