-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
90 lines (79 loc) · 2.26 KB
/
gulpfile.js
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
var gulp = require('gulp'),
babelify = require('babelify'),
browserify = require('browserify'),
source = require('vinyl-source-stream'),
bufferify = require('vinyl-buffer'),
jshint = require('gulp-jshint'),
uglify = require('gulp-uglify'),
img = require('gulp-imagemin'),
jscs = require('gulp-jscs'),
argv = require('yargs').argv,
gulpif = require('gulp-if'),
connect = require('gulp-connect'),
bower = require('gulp-main-bower-files'),
flatten = require('gulp-flatten')
var DEBUG = argv.production ? false : true
var NAME = require('./package').name
gulp.task('default', ['scripts', 'html', 'img', 'audio'])
gulp.task('watch', ['default'], function () {
gulp.watch('./src/js/**/*', ['scripts'])
gulp.watch('./src/html/**/*', ['html'])
gulp.watch('./src/json/**/*', ['json', 'scripts'])
})
gulp.task('code-check', function () {
return gulp
.src('./src/js/**/*')
.pipe(jshint())
.pipe(jshint.reporter('jshint-stylish'))
.pipe(jscs({configPath: './.jscsrc'}))
})
gulp.task('scripts', ['json'], function () {
browserify({
entries: './src/js/states/main.js',
debug: DEBUG
})
.transform(babelify.configure({ stage: 0 }))
.bundle()
.pipe(source(NAME + '.min.js'))
.pipe(bufferify())
.pipe(gulpif(DEBUG === false, uglify()))
.pipe(gulp.dest('./build/assets/js/'))
return gulp
.src('./bower.json')
.pipe(bower({
overrides: {
phaser: {
main: './build/phaser.min.js'
}
}
}))
.pipe(flatten())
.pipe(gulp.dest('./build/assets/libs/'))
})
gulp.task('html', function() {
return gulp
.src('./src/html/**/*')
.pipe(gulp.dest('./build/'))
})
gulp.task('json', function() {
return gulp
.src('./src/json/**/*')
.pipe(gulp.dest('./build/assets/json'))
})
gulp.task('audio', function () {
return gulp
.src('./src/audio/**/*')
.pipe(gulp.dest('./build/assets/audio'))
})
gulp.task('img', function() {
return gulp
.src('./src/img/**/*')
// .pipe(img())
.pipe(gulp.dest('./build/assets/img/'))
})
gulp.task('serve', ['watch'], function () {
connect.server({
root: './build/',
livereload: true
})
})