-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathgulpfile.js
More file actions
82 lines (64 loc) · 2.09 KB
/
gulpfile.js
File metadata and controls
82 lines (64 loc) · 2.09 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
var gulp = require('gulp'),
concat = require('gulp-concat'),
uglify = require ('gulp-uglify'),
sourcemaps = require('gulp-sourcemaps'),
zip = require('gulp-zip'),
beautify = require('gulp-jsbeautifier');
// ftp
// ------------------------------------
var folders = ['core', 'parameters', 'utils', 'inputs', 'gfx', 'sound', 'levels', 'actors', 'screens'];
folders = preAndPostfix(folders, 'src/', '/*.js')
folders.push('src/main.js')
// ------------------------------------
gulp.task('concat', function(){
return gulp.src(folders)
.pipe(sourcemaps.init())
.pipe(concat('escape.js'))
.pipe(sourcemaps.write())
.pipe(gulp.dest('dest')) ;
});
gulp.task('copyhtml', function(){
return gulp.src('src/html/index.html')
.pipe(gulp.dest('dest'))
.pipe(gulp.dest('dest_min')) ;
});
gulp.task('copyrsc', function(){
return gulp.src('src/rsc/*.*')
.pipe(gulp.dest('dest/'))
.pipe(gulp.dest('dest_min/')) ;
});
gulp.task('watch', function() {
gulp.watch(folders, ['concat']);
gulp.watch('src/rsc/*.*', [ 'copyrsc']);
});
gulp.task('beautify', function() {
gulp.src(folders)
.pipe(beautify())
.pipe(gulp.dest(folders));
});
// ------------------------------------
gulp.task('prodconcat', function(){
return gulp.src(folders)
.pipe(concat('escape.js'))
.pipe(gulp.dest('dest')) ;
});
gulp.task('uglify',[ 'prodconcat' ], function(){
return gulp.src(['dest/escape.js'])
.pipe(uglify())
.pipe(gulp.dest('dest_min')) ;
} );
gulp.task('build', ['uglify', 'copyhtml', 'copyrsc']);
gulp.task('zip', ['build'] , function(){
return gulp.src(['dest_min/escape.js', 'dest_min/index.html', 'dest_min/*.png'])
.pipe(zip('escape.zip'))
.pipe(gulp.dest('dest_min_zipped')) ;
});
gulp.task('default', ['concat'], function(){});
// ------------------------------------
function preAndPostfix(arr, pre, post) {
var res = [];
for (var i=0; i <arr.length; i++) {
res.push(pre+arr[i]+post);
}
return res;
}