This repository has been archived by the owner on Oct 2, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
gulpfile.js
127 lines (118 loc) · 2.81 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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
var gulp = require( 'gulp' ),
pump = require( 'pump' ),
jshint = require( 'gulp-jshint' ),
order = require( 'gulp-order' ),
sourcemaps = require( 'gulp-sourcemaps' ),
iife = require( 'gulp-iife' ),
concat = require( 'gulp-concat' ),
uglifyjs = require( 'uglify-js-harmony' ),
minifier = require( 'gulp-uglify/minifier' );
gulp.task( 'default', [
'build',
'build-physics',
'build-zelda',
'build-collision',
'build-intersection',
'watch'
] );
gulp.task( 'check', function () {
return gulp.src( 'src/**/*.js' )
.pipe( jshint() )
.pipe( jshint.reporter( 'default' ) );
} );
gulp.task( 'build', function ( cb ) {
pump( [
gulp.src( 'src/**/*.js' ),
order( [
'main.js',
'Point.js',
'Factory.js',
'*.js',
'inputs/**/*.js',
'systems/**/*.js',
] ),
sourcemaps.init(),
iife( { useStrict: false } ),
concat( 'planar.js' ),
sourcemaps.write(),
gulp.dest( 'dist' )
], cb );
} );
gulp.task( 'build-physics', function ( cb ) {
pump( [
gulp.src( 'demos/physics/src/**/*.js' ),
order( [
'systems/**/*.js',
'main.js'
] ),
sourcemaps.init(),
iife( { useStrict: false } ),
concat( 'physics.js' ),
sourcemaps.write(),
gulp.dest( 'demos/physics/dist' )
], cb );
} );
gulp.task( 'build-zelda', function ( cb ) {
pump( [
gulp.src( 'demos/zelda/src/**/*.js' ),
order( [
'systems/**/*.js',
'main.js'
] ),
sourcemaps.init(),
iife( { useStrict: false } ),
concat( 'zelda.js' ),
sourcemaps.write(),
gulp.dest( 'demos/zelda/dist' )
], cb );
} );
gulp.task( 'build-collision', function ( cb ) {
pump( [
gulp.src( 'demos/collision/src/**/*.js' ),
order( [
'structures/SpatialPartition.js',
'structures/**/*.js',
'algorithms/**/*.js',
'main.js'
] ),
sourcemaps.init(),
iife( { useStrict: false } ),
concat( 'collision.js' ),
sourcemaps.write(),
gulp.dest( 'demos/collision/dist' )
], cb );
} );
gulp.task( 'build-intersection', function ( cb ) {
pump( [
gulp.src( 'demos/intersection/src/**/*.js' ),
order( [
'Collision.js',
'Demo.js',
'main.js'
] ),
sourcemaps.init(),
iife( { useStrict: false } ),
concat( 'intersection.js' ),
sourcemaps.write(),
gulp.dest( 'demos/intersection/dist' )
], cb );
} );
gulp.task( 'release', function ( cb ) {
pump( [
gulp.src( 'src/**/*.js' ),
order( options.order ),
sourcemaps.init(),
iife( { useStrict: false } ),
minifier( {}, uglifyjs ),
concat( 'planar.min.js' ),
sourcemaps.write(),
gulp.dest( 'dist' )
], cb );
} );
gulp.task( 'watch', function () {
gulp.watch( 'src/**/*.js', [ 'build' ] );
gulp.watch( [ 'demos/physics/src/**/*.js' ], [ 'build-physics' ] );
gulp.watch( [ 'demos/zelda/src/**/*.js' ], [ 'build-zelda' ] );
gulp.watch( [ 'demos/collision/src/**/*.js' ], [ 'build-collision' ] );
gulp.watch( [ 'demos/intersection/src/**/*.js' ], [ 'build-intersection' ] );
} );