/
stop.js
32 lines (28 loc) · 919 Bytes
/
stop.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
'use strict';
var url = require('url');
var stop = require('stop');
var rimraf = require('rimraf').sync;
var server = require('./server.js');
var version = require('../package.json').version;
rimraf(__dirname + '/out');
module.exports = stop.getWebsiteStream('http://localhost:3000', {
filter: function (currentURL) {
var u = url.parse(currentURL);
return u.hostname === 'localhost' &&
(!/^\/\d+\.\d+\.\d+\//.test(u.pathname) ||
u.pathname.substr(0, version.length + 2) === '/' + version + '/');
},
parallel: 1
})
.on('data', function (page) {
if (page.statusCode !== 200) {
throw new Error('Unexpected status code ' + page.statusCode +
' for ' + page.url);
}
console.log(page.statusCode + ' - ' + page.url);
})
.syphon(stop.writeFileSystem(__dirname + '/out'))
.wait().then(function () {
server.close();
console.log('successfuly compiled website');
});