UNPKG

2.14 kBPlain TextView Raw
1{ resolve } = require \path
2
3{ each, keys } = require \prelude-ls
4gulp-help = require \gulp-help
5merge = require \merge
6run-sequence1 = require \run-sequence
7
8{ clean-directory } = require \./tasks/clean
9{ compile-babel } = require \./tasks/babel
10{ compile-browserify, watch-browserify } = require \./tasks/browserify
11{ compile-copy } = require \./tasks/copy
12{ compile-images } = require \./tasks/images
13{ compile-less } = require \./tasks/less
14{ compile-livescript } = require \./tasks/livescript
15{ minify-html, minify-javascript } = require \./tasks/minify
16{ run-live-server } = require \./tasks/live-server
17{ run-server } = require \./tasks/server
18{ run-tests, watch-tests } = require \./tasks/tests
19{ watch-compilers } = require \./tasks/watch
20
21defaults = require \./defaults
22
23id-builder = (_gulp, _options = {}) ->
24 gulp = gulp-help _gulp
25 options = merge defaults, _options
26
27 # TODO: Document this behaviour
28 wrap = (f) -> f gulp, options
29
30 # TODO: Document this behaviour
31 create-sequence-task = (k, v) ->
32 gulp.task k, wrap (gulp, plugin, options) ->
33 run-sequence = run-sequence1.use gulp
34
35 (cb) -> run-sequence.apply null, v.concat cb
36
37 # TODO: Document this behaviour
38 create-sequence-tasks = (sequences) ->
39 each (-> create-sequence-task it, sequences[it] ), keys sequences
40
41 gulp.task \clean-directory, wrap clean-directory
42 gulp.task \compile-babel, wrap compile-babel
43 gulp.task \compile-browserify, wrap compile-browserify
44 gulp.task \compile-copy, wrap compile-copy
45 gulp.task \compile-images, wrap compile-images
46 gulp.task \compile-less, wrap compile-less
47 gulp.task \compile-livescript, wrap compile-livescript
48 gulp.task \minify-html, wrap minify-html
49 gulp.task \minify-javascript, wrap minify-javascript
50 gulp.task \run-live-server, wrap run-live-server
51 gulp.task \run-server, wrap run-server
52 gulp.task \run-tests, wrap run-tests
53 gulp.task \watch-compilers, wrap watch-compilers
54 gulp.task \watch-tests, wrap watch-tests
55 gulp.task \watch-browserify, wrap watch-browserify
56
57 create-sequence-tasks options.sequences
58
59module.exports = id-builder