A buildy, watchy type tool
npm install -g pliers
That is a good method and will work for many projects. But you are splitting an activity over two languages as soon there is a little bit of complexity it makes maintenance, debugging and knowledge transfer harder. Having a structured build system with a minimal but useful feature set certainly solves problems for us at Clock.
Yes it's called require()
Usage: pliers [options] [task] Options: -h, --help output usage information -V, --version output the version number -t, --tasks [file] A file with user defined tasks (Default: ./pliers.js) -l, --list List all available tasks with descriptions -b, --bare List task names only -a, --all Run all named tasks with in the current tree -L, --logLevel [trace|debug|info|warn|error|fatal] Set the level of logs to output
Running pliers will look for a pliers.js in the current working directory.
To run the hello task from the command line:
Pliers will resolve and run all dependencies before executing the task
This will run test task and then the lint task.
Pliers is not very opinionated and has very little API surface area. That said there are a few built in functions.
Executes command using require('child_process').spawn and returns the ChildProcess.
Run another pliers task.
Load another pliers project into a parent. This is useful if you have standalone sub projects.
You can then run sub project tasks from the parent using the -A option.
Run all pliers task for any loaded sub pliers project.
This will build all the sub project build tasks
Create a fileset that can be used to perform tasks on. The following fileset example would return all
.js files in the current directory, excluding those that end in
pliersfilesets'js' __dirname + '/*.js' __dirname + '/*.test.js'
excludePatterns can be either a string or an Array if you need multiple glob conditions.
Filesets are calculated using the
node-glob module. The filesets are first generated when they are accessed, this is done using the
id property as follows:
console.logpliersfilesetsjs // Will output the fileset with the id 'js'
Licensed under the New BSD License