docusaurus/packages/docusaurus-1.x/lib/server/liveReloadServer.js
Cole 0568ad4992 feat: allow different host through CLI flag (#1475)
* feat(core): use 0.0.0.0 for livereload address

* test(core): update server tests

* feat(cli): add host by command line flag

* test: revert test changes

* fix(core): update server to use custom host if supplied

* refactor: nits
2019-05-20 23:31:41 +07:00

40 lines
989 B
JavaScript

/**
* Copyright (c) 2017-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
const gaze = require('gaze');
const tinylr = require('tiny-lr');
const program = require('commander');
const readMetadata = require('./readMetadata.js');
function start(port) {
process.env.NODE_ENV = 'development';
process.env.LIVERELOAD_PORT = port;
const server = tinylr();
server.listen(port, () => {
console.log('LiveReload server started on port %d', port);
});
gaze(
[`../${readMetadata.getDocsPath()}/**/*`, '**/*', '!node_modules/**/*'],
function() {
this.on('all', () => {
server.notifyClients(['/']);
});
},
);
}
const getReloadScriptUrl = () => {
const port = process.env.LIVERELOAD_PORT;
const host = program.host || 'localhost';
return `http://${host}:${port}/livereload.js`;
};
module.exports = {
start,
getReloadScriptUrl,
};