gulp-fun-style
v0.3.2
Published
Gulp plugin to write a gulpfile in fun style.
Downloads
9
Readme
gulp-fun-style
Gulp 4 plugin to write a gulpfile in fun style.
Install
$ npm i --save-dev gulpjs/gulp#4.0
$ npm i --save-dev gulp-fun-style
Usage
1. Create your gulpfile
const fun = require('gulp-fun-style')
fun.clean = () => { ... }
fun.styles = () => { ... }
fun.scripts = () => { ... }
fun.watch = () => { ... }
fun.build = [[ fun.clean, [ fun.style, fun.scripts ] ]]
fun.default = [[ 'build', 'watch' ]]
2. Run gulp
$ gulp --tasks
[23:24:17] Tasks for ~/project/gulpfile.js
[23:24:17] └─┬ default
[23:24:17] └─┬ <series>
[23:24:17] ├─┬ <series>
[23:24:17] │ ├── clean
[23:24:17] │ └─┬ <parallel>
[23:24:17] │ ├── styles
[23:24:17] │ └── scripts
[23:24:17] └── watch
Notations
Define a task
fun.clean = () => { ... }
or
fun.clean = done => { ...; done() }
Define a parallel task
fun.compile = [ fun.styles, fun.scripts ]
or
fun.compile = [ 'styles', 'scripts' ]
Define a series task
fun.build = [[ fun.clean, fun.compile ]]
or
fun.build = [[ 'clean', 'compile' ]]
Define a watch task
fun.watchJs = { watch: 'js/**/*.js', call: ['uglify', 'reload'], options: opts }
or
fun.watchJs = { watch: 'js/**/*.js', call: function(done) { ...; done(); }, options: opts }
watch notation is expanded to a function which run
gulp.watch
, like:fun.watchJs = { watch: glob, call: fn, options: opts } ↓ fun.watchJs = gulp.watch(glob, opts, fn);
Expose a task
fun.build.description = 'Expose a task by attach description'
gulp-fun-style exposes tasks which satisfy both two conditions as follow:
- task has
description
property or task's name is'default'
. - task doesn't have
private
property which istrue
.
- task has
Inherit flag descriptions
fun.build = [ 'clean', 'compile' ]
fun.build.description = 'Build.'
fun.build.flags = {
'--b': 'Can rewrite a description by an upper task',
}
fun.clean = () => { ... }
fun.clean.flags = {
'--a': 'A flag for clean.',
}
fun.compile = () => { ... }
fun.compile.flags = {
'--b': 'A flag for compile 1',
'--c': 'A flag for compile 2',
}
$ gulp --tasks
[12:17:14] Tasks for ~/project/gulpfile.js
[12:17:14] └─┬ build Build.
[12:17:14] │ --a …A flag for clean.
[12:17:14] │ --b …Can rewrite a description by an upper task
[12:17:14] │ --c …A flag for compile 2
[12:17:14] └─┬ <parallel>
[12:17:14] ├── clean
[12:17:14] └── compile
License
Copyright (C) 2016 Takayuki Sato
This program is free software under MIT License. See the file LICENSE in this distribution for more details.
G