# zkflow

> Loader for reusable gulp tasks

Latest version **1.1.0** (published 2016-01-29) · MIT license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

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

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 1.1.0 |
| Published | 2016-01-29 |
| First published | 2016-01-21 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 2 |
| Author | Piotr Baranowski |
| Maintainers | bolo |
| Keywords | gulp, zkflow, tasks |

## Links

- npm: https://www.npmjs.com/package/zkflow
- Repository: https://github.com/zaklinaczekodu/zkflow
- Issues: https://github.com/zaklinaczekodu/zkflow/issues
- npm.io page: https://npm.io/package/zkflow

## Dependencies (3)

- [chalk](https://npm.io/package/chalk.md) 1.1.1
- [lodash.foreach](https://npm.io/package/lodash.foreach.md) 4.0.0
- [lodash.defaults](https://npm.io/package/lodash.defaults.md) 4.0.0

## Recent versions

- 1.1.0 (latest) — 2016-01-29
- 1.0.0 — 2016-01-21

## README

# ZKflow

Loader for reusable gulp tasks

Made by Zaklinacze Kodu

Shields
-------

[![npm](https://img.shields.io/npm/v/zkflow.svg?style=flat-square)](https://www.npmjs.com/package/zkflow)
[![npm](https://img.shields.io/npm/l/zkflow.svg?style=flat-square)](https://www.npmjs.com/package/zkflow)
[![npm](https://img.shields.io/npm/dm/zkflow.svg?style=flat-square)](https://www.npmjs.com/package/zkflow)<br>
[![Travis](https://img.shields.io/travis/zaklinaczekodu/zkflow/master.svg?style=flat-square)](https://travis-ci.org/zaklinaczekodu/zkflow)
[![Code Climate](https://img.shields.io/codeclimate/github/zaklinaczekodu/zkflow.svg?style=flat-square)](https://codeclimate.com/github/zaklinaczekodu/zkflow)<br>
[![David](https://img.shields.io/david/zaklinaczekodu/zkflow.svg?style=flat-square)](https://david-dm.org/zaklinaczekodu/zkflow)
[![David](https://img.shields.io/david/dev/zaklinaczekodu/zkflow.svg?style=flat-square)](https://david-dm.org/zaklinaczekodu/zkflow)<br>
[![GitHub forks](https://img.shields.io/github/forks/zaklinaczekodu/zkflow.svg?style=flat-square)](https://github.com/zaklinaczekodu/zkflow)
[![GitHub stars](https://img.shields.io/github/stars/zaklinaczekodu/zkflow.svg?style=flat-square)](https://github.com/zaklinaczekodu/zkflow)
[![GitHub followers](https://img.shields.io/github/followers/zaklinaczekodu.svg?style=flat-square)](https://github.com/zaklinaczekodu/zkflow)

Installation
------------

```bash
npm install --save zkflow gulp
```

Example
-------

ZKflow is used as a base for [ZKflow for Angular](https://github.com/zaklinaczekodu/gulp-zkflow-angular)

API
---

```javaScript
require('zkflow')(tasksDefinitions, gulp, ...);
```

### gulp

Gulp instance, usually `require('gulp')`.

### tasksDefinitions

Defining tasks

```javaScript
{
  taskName: {
    task: {
      getTask: function(
        options, // this object contains options computed from options passed to zkflow and task default options
        gulp,    // instance of gulp passed to zkflow
        ...)     // extra arguments passed to zkflow
        {
          return function() { // this function is actual gulp task function, which will be passed to gulp with given dependencies 
        }
      },
      defaultOptions: {
        option1: 'defaultValue',
        option3: 'totally different value'
      }
    },
    dependencies: ['task2', 'task3'],      // defaults to []
    enabled: true,                         // defaults to true
    option1: 'value',
    option2: 'other value'
  }
}
```

For every task options are merged only 1 level deep. Deeper they will be overwritten.

For example if you have default options
```JavaScript
{
  defaultOptions: {
      option1: 1
      option2: 2
      option3: {
          subOption1: 3
          subOption2: 4
      }
  }
}
```

and you pass to zkflow
```JavaScript
{
  someTask: {
      option1: 11
      option3: {
          subOption1: 5
      }
  }
}
```

actual options object in task is
```JavaScript
{
  someTask: {
      option1: 11
      option2: 2
      option3: {
          subOption1: 5
      }
  }
}
```

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