forked from yomotsu/meshwalk
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathgulpfile.js
93 lines (68 loc) · 1.96 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
'use strict';
var path = require( 'path' );
var del = require( 'del' );
var es = require( 'event-stream' );
var browserSync = require( 'browser-sync' );
var reload = browserSync.reload;
var runSequence = require( 'run-sequence' );
var gulp = require( 'gulp' );
var concat = require( 'gulp-concat' );
var plumber = require( 'gulp-plumber' );
var rename = require( 'gulp-rename' );
var uglify = require( 'gulp-uglify' );
var watch = require( 'gulp-watch' );
// ---
gulp.task( 'clean', function( callback ) {
del( './build/', { force: true }, callback );
} );
gulp.task( 'scripts:core', function () {
return gulp.src( [
'./src/core/meshwalk.js',
'./src/core/utils.js',
'./src/core/collision.js',
'./src/core/World.js',
'./src/core/Octree.js',
'./src/core/Collider.js'
] )
.pipe( plumber() )
.pipe( concat( 'meshwalk.js' ) )
.pipe( gulp.dest( './build/') )
.pipe( uglify() )
.pipe( rename( { extname: '.min.js' } ) )
.pipe( gulp.dest( './build/') );
} );
gulp.task( 'scripts:TPS', function () {
return gulp.src( [
'./src/TPS/CharacterController.js',
'./src/TPS/AnimationController.js',
'./src/TPS/KeyInputControl.js',
'./src/TPS/TPSCameraControl.js'
] )
.pipe( plumber() )
.pipe( concat( 'meshwalk.TPS.js' ) )
.pipe( gulp.dest( './build/') )
.pipe( uglify() )
.pipe( rename( { extname: '.min.js' } ) )
.pipe( gulp.dest( './build/') );
} );
gulp.task( 'build', function( callback ) {
runSequence(
[ 'scripts:core', 'scripts:TPS' ],
callback
);
} );
gulp.task( 'browser-sync', function () {
browserSync( {
server: {
baseDir: './',
directory: true,
},
} );
} );
gulp.task( 'watch', function() {
gulp.watch( [ 'src/**/*' ], [ 'build', reload ] );
gulp.watch( [ '**/*.html' ], reload );
} );
gulp.task( 'default', function( callback ) {
runSequence( 'build', 'watch', 'browser-sync', callback );
} );