-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathgulpfile.js
100 lines (95 loc) · 2.37 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
91
92
93
94
95
96
97
98
99
100
// Include gulp
var gulp = require('gulp');
// Define base folders
var dest = 'build/';
// Include plugins
// var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var minifyCSS = require('gulp-minify-css');
var concatCss = require('gulp-concat-css');
var sourcemaps = require('gulp-sourcemaps');
var babel = require('gulp-babel');
var plumber = require('gulp-plumber');
var rjs = require('gulp-requirejs');
var shims = {
'lib/phaser': {
deps: [],
exports: 'Phaser'
},
'lib/lodash': {
deps: [],
exports: '_'
},
'lib/knockout': {
deps: [],
exports: 'ko'
},
'lib/jquery': {
deps: [],
exports: 'jQuery'
},
'lib/bignumber': {
deps: [],
//exports: 'BigNumber'
},
'lib/moment': {
deps: [],
exports: 'moment'
},
'lib/jquery-ui': {
deps: ['lib/jquery']
},
'lib/jstree': {
deps: ['lib/jquery']
}
};
// Concatenate & Minify JS
gulp.task('scripts', function() {
return gulp.src(
"js/lib/*.js"
).pipe(plumber())
.pipe(sourcemaps.init())
// .pipe(concat('incTower.js'))
// .pipe(rename({suffix: '.min'}))
.pipe(babel({"compact": false}))
.pipe(uglify())
.pipe(sourcemaps.write('maps'))
.pipe(gulp.dest(dest + 'js/'));
});
gulp.task('rjs', function () {
return rjs({
name: "loader",
baseUrl: 'js',
out: 'main.js',
shim: shims,
optimize: 'uglify',
generateSourceMaps: true
}).pipe(plumber())
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(sourcemaps.write('maps'))
.pipe(gulp.dest(dest + 'js/'));
});
gulp.task('css', function() {
return gulp.src([
'css/incTower.css',
'css/jquery.qtip.css',
'css/jquery-ui.min.css'
]).pipe(concatCss('incTower.css'))
.pipe(rename({suffix: '.min'}))
.pipe(minifyCSS())
.pipe(gulp.dest(dest + 'css'));
});
gulp.task('copy-css-images', function () {
return gulp.src([
'css/images/*'
]).pipe(gulp.dest('build/css/images/'));
});
// Watch for changes in files
gulp.task('watch', function() {
// Watch .js files
gulp.watch('js/*.js', ['scripts']);
gulp.watch('css/*.css', ['css']);
});
// Default Task
gulp.task('default', ['scripts', 'copy-css-images', 'css', 'watch']);