This repository has been archived by the owner on Oct 26, 2018. It is now read-only.
/
gulpfile.ls
66 lines (54 loc) · 1.8 KB
/
gulpfile.ls
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
require! {
gulp
fs
del
'js-string-escape'
pump
}
$ = (require \gulp-load-plugins)!
{flatten, map} = require \prelude-ls
readFile = (fileName) -> fs.readFileSync(fileName, 'utf8')
readFileAndEscape = (fileName) -> readFile fileName |> jsStringEscape
parsePackage = -> readFile \./package.json |> JSON.parse
packageVersion = -> parsePackage!.version
do ->
son = JSON.parse fs.readFileSync './package.json'
c = $.util.colors
$.util.log c.yellow(\root-cz-fixer), packageVersion!, 'by', c.magenta(\monnef)
gulp.task \default, [\help]
gulp.task \help, $.taskListing
scriptFiles = [\root-cz-fixer.user.ls]
jsFiles = scriptFiles |> map -> it.replace(/\.ls$/, \.js)
styleFiles = [\basic.styl]
cssFiles = styleFiles |> map -> it.replace(/\.styl$/, \.css)
toCleanFiles = [jsFiles, cssFiles] |> flatten
preludeLs = \prelude-browser-min.js
production = false
gulp.task \scripts, [\styles], ->
pump([
gulp.src scriptFiles
$.replace '%%VERSION%%', packageVersion!
$.replace '%%COMPILED_CSS%%', readFileAndEscape \basic.css
$.replace '%%LIB_PRELUDE_LS%%', readFile preludeLs
$.if !production, $.sourcemaps.init!
$.livescript {+bare}
$.if !production, $.sourcemaps.write!
$.if production, $.uglify { output: { comments: true }, mangle: { reserved: [\jQuery, \$] } }
gulp.dest \.
],
(err) !-> console.error 'Error: ' + err if err
)
gulp.task \styles, ->
gulp.src styleFiles
.pipe $.if !production, $.sourcemaps.init!
.pipe $.stylus {compress: production}
.pipe $.if !production, $.sourcemaps.write!
.pipe gulp.dest \.
gulp.task \watch, [\scripts \styles], ->
gulp.watch scriptFiles, [\scripts]
gulp.watch styleFiles, [\scripts]
gulp.task \build, (cb) ->
production := true
$.sequence \clean, \styles, \scripts, cb
gulp.task \clean, ->
del toCleanFiles