-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgulpfile.js
More file actions
91 lines (75 loc) · 2.1 KB
/
Copy pathgulpfile.js
File metadata and controls
91 lines (75 loc) · 2.1 KB
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
'use strict'
const $ = require('gulp-load-plugins')()
const gulp = require('gulp')
const babelify = require('babelify')
const browserify = require('browserify')
const source = require('vinyl-source-stream')
const bufferify = require('vinyl-buffer')
const argv = require('yargs').argv
const DEBUG = argv.production ? false : true
const NAME = require('./package').name
gulp.task('default', ['scripts', 'html', 'img', 'audio', 'font', 'styles'])
gulp.task('watch', ['default'], () => {
gulp.watch('./src/js/**/*', ['scripts'])
gulp.watch('./src/css/**/*', ['styles'])
gulp.watch('./src/html/**/*', ['html'])
gulp.watch('./src/json/**/*', ['json', 'scripts'])
})
gulp.task('code-check', () => gulp
.src('./src/js/**/*')
.pipe($.jshint())
.pipe($.jshint.reporter('jshint-stylish'))
.pipe($.jscs({configPath: './.jscsrc'}))
)
gulp.task('scripts', ['json'], () => {
browserify({
entries: './src/js/states/main.js',
debug: DEBUG
})
.transform(babelify.configure({ stage: 0 }))
.bundle()
.pipe(source(NAME + '.min.js'))
.pipe(bufferify())
.pipe($.if(!DEBUG, $.uglify()))
.pipe(gulp.dest('./build/assets/js/'))
return gulp
.src('./bower.json')
.pipe($.mainBowerFiles())
.pipe($.flatten())
.pipe(gulp.dest('./build/assets/libs/'))
})
gulp.task('html', () => gulp
.src('./src/html/**/*')
.pipe(gulp.dest('./build/'))
)
gulp.task ('styles', () => gulp
.src('./src/css/*')
.pipe($.autoprefixer())
.pipe($.cssnano())
.pipe(gulp.dest('./build/assets/css'))
)
gulp.task('json', () => gulp
.src('./src/json/*')
.pipe(gulp.dest('./build/assets/json'))
)
gulp.task('audio', () => gulp
.src('./src/audio/*')
.pipe(gulp.dest('./build/assets/audio'))
)
gulp.task('font', () => gulp
.src('./src/fonts/*')
.pipe(gulp.dest('./build/assets/fonts'))
)
gulp.task('img', () => gulp
.src('./src/img/*')
.pipe($.imagemin())
.pipe(gulp.dest('./build/assets/img/'))
)
gulp.task('serve', ['watch'], () => $.connect.server({
root: './build/',
livereload: true
}))
gulp.task ('deploy', ['default'], () => gulp
.src('./build/**/*')
.pipe($.ghPagesCname({ cname: 'syncro.kraiom.com' }))
)