# deckhand

> Task runner

Latest version **1.1.1** (published 2016-05-10) · MIT license · 0 weekly downloads

## Install

```sh
npm install deckhand
pnpm add deckhand
yarn add deckhand
bun add deckhand
```

Provides the command `deckhand`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.1 |
| Published | 2016-05-10 |
| First published | 2016-04-29 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | ~6.0.0 |
| Dependencies | 3 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 2 |
| Author | Patrick Camacho |
| Maintainers | camachgk |
| Keywords | task, runner |

## Links

- npm: https://www.npmjs.com/package/deckhand
- Repository: https://github.com/camacho/deckhand
- Homepage: https://github.com/camacho/deckhand#readme
- Issues: https://github.com/camacho/deckhand/issues
- npm.io page: https://npm.io/package/deckhand

## Dependencies (3)

- [chalk](https://npm.io/package/chalk.md) ^1.1.3
- [yargs](https://npm.io/package/yargs.md) ^4.7.0
- [moment](https://npm.io/package/moment.md) ^2.13.0

## Recent versions

- 1.1.1 (latest) — 2016-05-10
- 1.1.0 — 2016-05-10
- 1.0.2 — 2016-04-29
- 1.0.1 — 2016-04-29

## README

# Deckhand

Simple task runner for Node (depends on Node >=6.0.0)

# Usage

Deckhand can be used from the command line or imported

Task Definitions
---

Tasks are intended to be an array of strings that map to files.

Tasks to be run together are grouped in arrays

Tasks to be run in sequence are concatenated strings with `!` divider

All tasks are run in their own child processes, unless specified otherwise

Tasks run in the parent process can either return a Promise or
accept a callback to be called on completion

CLI:
---
```sh
./node_modules/.bin/deckhand <tasks..>
```

Available CLI options can be seen by running:

```sh
./node_modules/.bin/deckhand -h
```

Imported:
---
```js
import Deckhand from 'deckhand';

new Deckhand([
  ['tasks/linters/css', 'tasks/linters/js', 'tasks/linters/html'],
  ['tasks/tests/unit', 'tasks/build!tasks/tests/integration']
], { cwd: __dirname, runner: 'babel-node' });

// This will run all linters together
// Then will run all tests together
// It will also make sure to complete the build task before running integration
// All tasks will be run in child processes using `babel-node`
```

A Deckhand constructor takes two arguments:
1) Array of tasks
2) Options object

The following options are available (with their defaults):
* cwd (process.cwd) - the cwd for resolving files and running tasks
* runner ('node') - the runner to use for running tasks in child processes
* singleProcess (false) - flag to run all tasks in the parent process

---
_Source: https://npm.io/package/deckhand · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
