@mapbox/batfish
Version:
The React-powered static-site generator you didn't know you wanted
40 lines (30 loc) • 834 B
JavaScript
//
;
const browserSync = require('browser-sync');
const getPort = require('get-port');
function createServer(options
) {
const browserSyncInstance = browserSync.create();
browserSyncInstance.emitter.on('error', options.onError);
const start = () => {
getPort(options.browserSyncOptions.port)
.then(availablePort => {
browserSyncInstance.init(
Object.assign({}, options.browserSyncOptions, {
port: availablePort
})
);
})
.catch(options.onError);
};
const reload = (filename ) => {
browserSyncInstance.reload(filename);
};
const server = {
start,
reload,
browserSyncInstance
};
return server;
}
module.exports = createServer;