1 | { resolve } = require \path
|
2 |
|
3 | { each, keys } = require \prelude-ls
|
4 | gulp-help = require \gulp-help
|
5 | merge = require \merge
|
6 | run-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 |
|
21 | defaults = require \./defaults
|
22 |
|
23 | id-builder = (_gulp, _options = {}) ->
|
24 | gulp = gulp-help _gulp
|
25 | options = merge defaults, _options
|
26 |
|
27 |
|
28 | wrap = (f) -> f gulp, options
|
29 |
|
30 |
|
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 |
|
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 |
|
59 | module.exports = id-builder
|