thickshake

1.4.0 • Public • Published

Thickshake 🍧

Thickshake is a system for using common gulptasks. This is the core module.

Installation

Add the following to your gulpfile.js.

 
var thickshake = require('thickshake')();
 

The folder sample includes the folder structure and config in order to run gulp. Please copy these into your local app.

Usage

Three tasks are included that can be run using gulp, gulp build and gulp develop.

Writing modules

A module should perform a single task. Configurability should be fairly limited, but definitely allow for configuration of sources and destinations, reading from the thickshake.getSource('yourmodule') and thickshake.getDest('yourmodule') config variables where possible.

Actions like minifying css and including sourcemaps should be governed by thickshake.getConfig('debug') rather than thickshake.getConfig('styles.minify') to avoid users having to change a whole bunch of config to set up a production vs debug build.

Extra config that is really required for basic functionality of the module (for example, include paths, which are needed but different for every project) should be accessed by thickshake.getConfig('module.identifier', 'sane default').

Reading from configs should be done outside of task scope. If all of the calls to thickshake.getSource et al are performed before any tasks are executed, then fully populated default configuration files can be automatically generated, saving having to hunt around for missing configuration values.

The whole point of this module is to reduce the amount of boilerplate/setup time, so it's okay to be a little didactic. If a user has a task that really does need that extra config, they can just write a gulp task themselves.

Tasks should add themselves to the thickshake build, develop and watch lists as appropriate, via thickshake.addBuild, thickshake.addDevelop and thickshake.addWatch lists respectively. All of the build tasks will be added as a dependency to gulp build, while all of the develop tasks will be executed (along with the watch tasks) as part of gulp develop.

Readme

Keywords

none

Package Sidebar

Install

npm i thickshake

Weekly Downloads

0

Version

1.4.0

License

ISC

Last publish

Collaborators

  • studiothick