UNPKG

1.48 kBtext/coffeescriptView Raw
1# Import gulp libraries
2gulp = require 'gulp'
3gutil = require 'gulp-util'
4plumber = require 'gulp-plumber'
5del = require 'del'
6path = require 'path'
7extend = require 'extend'
8minimist = require 'minimist'
9options = require path.resolve './package.json'
10
11wrapper = extend {}, gulp, {
12 util: gutil
13 task: (params...) ->
14 gulp.task params...
15 watch: (params...) ->
16 gulp.watch params...
17 src: (params...) ->
18 if params.length is 0 or typeof params[0] isnt 'string'
19 params.unshift @dirs.source + '/*'
20 gulp.src(params...)
21 .pipe(plumber())
22 dest: (params...) ->
23 if params.length is 0 or typeof params[0] isnt 'string'
24 if @debug
25 params.unshift @dirs.test
26 else
27 params.unshift @dirs.dist
28 gulp.dest params...
29 env: minimist process.argv.slice 2
30}
31
32Object.defineProperty wrapper, 'name',
33 value: options.name+'-'+options.version+'.js'
34
35Object.defineProperty wrapper, 'debug',
36 value: gutil.env.target isnt 'production'
37
38Object.defineProperty wrapper, 'dirs',
39 value: Object.create Object.prototype,
40 source: value: options.gulp?.source ? 'src'
41 test: value: options.gulp?.test ? 'test'
42 build: value: options.gulp?.build ? 'build'
43 dist: value: options.gulp?.dist ? 'dist'
44
45Object.defineProperty wrapper, 'main',
46 value: path.resolve (options.main ? (wrapper.dirs.source + '/' + 'main.js'))
47
48gulp.task 'clean', (cb) ->
49 del [
50 wrapper.dirs.build + '/**'
51 ], cb
52
53module.exports = wrapper