gulp-fun-style
Gulp 4 plugin to write a gulpfile in fun style.
Install
$ npm i --save-dev gulpjs/gulp#40$ npm i --save-dev gulp-fun-style
Usage
1. Create your gulpfile
const fun = fun { ... }fun { ... }fun { ... }fun { ... }funbuild = funclean funstyle funscripts fundefault = '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 { ... }
or
fun { ...; }
Define a parallel task
funcompile = funstyles funscripts
or
funcompile = 'styles' 'scripts'
Define a series task
funbuild = funclean funcompile
or
funbuild = 'clean' 'compile'
Define a watch task
funwatchJs = watch: 'js/**/*.js' call: 'uglify' 'reload' options: opts
or
funwatchJs = watch: 'js/**/*.js' { ...; ; } options: opts
-
watch notation is expanded to a function which run
gulp.watch
, like:funwatchJs = watch: glob call: fn options: opts↓funwatchJs = gulp;
Expose a task
funbuilddescription = '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
funbuild = 'clean' 'compile' funbuilddescription = 'Build.'funbuildflags = '--b': 'Can rewrite a description by an upper task' fun { ... }funcleanflags = '--a': 'A flag for clean.' fun { ... }funcompileflags = '--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