Skip to content

Commit 61a9ed4

Browse files
committed
improved tasks
1 parent 1510b58 commit 61a9ed4

File tree

1 file changed

+44
-37
lines changed

1 file changed

+44
-37
lines changed

gulpfile.js

+44-37
Original file line numberDiff line numberDiff line change
@@ -74,26 +74,20 @@ gulp.task('changelog', function () {
7474
});
7575

7676
gulp.task('serve', function() {
77-
process.on('uncaughtException', function(err) {
78-
if (err.errno === 'EADDRINUSE') {
79-
gutil.log('Server already running (or port is otherwise in use)');
80-
}
81-
});
77+
serve(false);
78+
});
8279

83-
server = gulp.src('.')
84-
.pipe(webserver({
85-
host: '0.0.0.0',
86-
//livereload: true,
87-
directoryListing: true,
88-
middleware: function(req, res, next) {
89-
var ieMode = (req._parsedUrl.query || '').replace('=','');
90-
if (ieMode in emulateIEMiddleware) {
91-
emulateIEMiddleware[ieMode](req, res, next);
92-
} else {
93-
next();
94-
}
95-
}
96-
}));
80+
gulp.task('serve:test', function() {
81+
serve(true);
82+
});
83+
84+
gulp.task('serve:stop', function() {
85+
if (server) {
86+
try {
87+
server.emit('kill');
88+
} catch (e) {} // eslint-disable-line no-empty
89+
gutil.log('Web server stopped');
90+
}
9791
});
9892

9993
gulp.task('selenium', function(done) {
@@ -114,20 +108,15 @@ gulp.task('selenium', function(done) {
114108
});
115109
});
116110

117-
gulp.task('test', ['lint', 'serve', 'selenium'], function(done) {
111+
gulp.task('test', ['lint', 'serve:test', 'selenium'], function(done) {
118112
var error;
119113
gutil.log('Starting webdriver...');
120114

121115
var finish = function(err) {
122116
gutil.log('Webdriver stopped');
123117
selenium.child.kill();
124118
gutil.log('Selenium server stopped');
125-
if (server) {
126-
try {
127-
server.emit('kill');
128-
} catch(e) {}
129-
gutil.log('Web server stopped');
130-
}
119+
gulp.start('serve:stop');
131120
done(error || err);
132121
};
133122

@@ -140,7 +129,7 @@ gulp.task('test', ['lint', 'serve', 'selenium'], function(done) {
140129
.on('finish', finish);
141130
});
142131

143-
gulp.task('test:cloud', ['lint', 'serve'], function(done) {
132+
gulp.task('test:cloud', ['lint', 'serve:test'], function(done) {
144133
ngrok.connect({
145134
authtoken: null,
146135
port: 8000
@@ -152,20 +141,17 @@ gulp.task('test:cloud', ['lint', 'serve'], function(done) {
152141
}))
153142
.on('finish', function(err) {
154143
if (server) {
155-
try {
156-
server.emit('kill');
157-
} catch(e) {}
158144
ngrok.disconnect();
159145
ngrok.kill();
160146
gutil.log('Tunnel stopped');
161-
gutil.log('Web server stopped');
147+
gulp.start('serve:stop');
162148
}
163149
done(err);
164150
});
165151
});
166152
});
167153

168-
gulp.task('test:cloud:all', ['lint', 'serve'], function(done) {
154+
gulp.task('test:cloud:all', ['lint', 'serve:test'], function(done) {
169155
ngrok.connect({
170156
authtoken: null,
171157
port: 8000
@@ -177,19 +163,40 @@ gulp.task('test:cloud:all', ['lint', 'serve'], function(done) {
177163
}))
178164
.on('finish', function(err) {
179165
if (server) {
180-
try {
181-
server.emit('kill');
182-
} catch(e) {}
183166
ngrok.disconnect();
184167
ngrok.kill();
185168
gutil.log('Tunnel stopped');
186-
gutil.log('Web server stopped');
169+
gulp.start('serve:stop');
187170
}
188171
done(err);
189172
});
190173
});
191174
});
192175

176+
var serve = function(isTest) {
177+
process.on('uncaughtException', function(err) {
178+
if (err.errno === 'EADDRINUSE') {
179+
gutil.log('Server already running (or port is otherwise in use)');
180+
}
181+
});
182+
183+
server = gulp.src('.')
184+
.pipe(webserver({
185+
host: '0.0.0.0',
186+
livereload: !isTest,
187+
middleware: function(req, res, next) {
188+
var ieMode = (req._parsedUrl.query || '').replace('=','');
189+
if (ieMode in emulateIEMiddleware) {
190+
emulateIEMiddleware[ieMode](req, res, next);
191+
} else {
192+
next();
193+
}
194+
},
195+
open: isTest ? false : 'http://localhost:8000/test/page/test.html',
196+
directoryListing: true
197+
}));
198+
};
199+
193200
var banner = [
194201
'/*',
195202
'* <%= build.name %> <%= build.version %> by @liabru',
@@ -213,4 +220,4 @@ var emulateIEMiddleware = {
213220
'ie8': emulateIEMiddlewareFactory(8),
214221
'ie9': emulateIEMiddlewareFactory(9),
215222
'ie10': emulateIEMiddlewareFactory(10)
216-
};
223+
};

0 commit comments

Comments
 (0)