Simple task runner.


013.0.02 years ago11 years agoMinified + gzip package size for runner in KB


Simple task runner

build status npm version dependencies status devDependencies status Gitter RunKit


npm install runner


Runner can be started by using npm or npx commands.

Run with npm:

npm run build

where build is an npm script in the package.json which contains a runner command.

Run with npx:

npx runner

The runner command format:

runner [options] [<task>]

Available options:

Option Description
-c, --config Configuration file is a script which contains tasks definitions. Default value - runner.js.
-s, --serial Run all given tasks sequentially (instead of in parallel).

These two commands are identical:

npx runner
npx runner --config runner.js

To run a webpack:build task from a custom configuration file:

npx runner -c tasks/develop.js webpack:build 

Without the task name starts the default task:

npx runner -c tasks/develop.js 


Add to the scope:

const runner = require('runner');

Create a simple task:

runner.task('make', function () {
    // some actions

More examples of tasks creation and execution are available in the cjs-runner package.

Add an alias to an existing task:

runner.alias('build', 'make');

Run task on a key or keys combination press:

runner.keystroke('build', 'ctrl+b');

Files watching

To execute a specific task on some file changes:'src/script/**/*.js', 'webpack:build');

To execute a named or anonymous function:'src/script/**/*.js', function rebuild ( done ) {
    // function name "rebuild" is used as task name
    // otherwise <noname> is printed

To execute task series:'src/script/**/*.js', runner.serial('lint', 'build'));

Before calling it's possible to configure the watch: = {
    // some configuration 

All available configurations you can see in the underlying chokidar package.


If you have any problems or suggestions please open an issue according to the contribution rules.


runner is released under the GPL-3.0 License.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from