Once a project gets a bit more complex, a build step might consist of multiple sub tasks. This can be achieved with composition. This is the main reason just-task
was made. It simplifies the composition of tasks.
# Running tasks in a series
const { task, series } = require('just-task');
task('clean', function() {
// clean stuff
});
task('babel', function() {
// run babel over some files
});
task('build', series('clean', 'babel'));
When you trigger just build
, the clean
task will run and complete before babel
task is run.
# Running tasks in parallel
To take advantage of multi-core CPUs on our machines, we can run several tasks in parallel. Simply use the parallel()
function.
const { task, parallel } = require('just-task');
task('babel', function() {
// run babel babel over some files
});
task('lint', function() {
// run eslint over some files
});
task('build', parallel('babel', 'lint'));
# Nesting tasks in series and parallel
The most powerful feature of just-task
is its ability to compose tasks by nesting tasks in series and parallel. Let's combine the previous examples.
const { task, parallel, series } = require('just-task');
task('babel', function() {
// run babel babel over some files
});
task('lint', function() {
// run eslint over some files
});
task('build', series('clean', parallel('babel', 'lint')));