Merge pull request #159 from JoelMarcey/port-in-use

Check if a port is in use
This commit is contained in:
Eric Nakagawa 2017-10-24 13:32:26 -07:00 committed by GitHub
commit a5320dbd36
2 changed files with 24 additions and 9 deletions

View file

@ -8,22 +8,25 @@
*/
require("babel-register")({
babelrc: false,
only: [__dirname, process.cwd() + "/core"],
plugins: [require("./server/translate-plugin.js")],
presets: ["react", "env"]
babelrc: false,
only: [__dirname, process.cwd() + "/core"],
plugins: [require("./server/translate-plugin.js")],
presets: ["react", "env"]
});
// For verifying port usage
const tcpPortUsed = require('tcp-port-used');
// initial check that required files are present
const chalk = require("chalk");
const fs = require("fs");
const CWD = process.cwd();
if (!fs.existsSync(CWD + "/siteConfig.js")) {
console.error(
chalk.red("Error: No siteConfig.js file found in website folder!")
);
process.exit(1);
console.error(
chalk.red("Error: No siteConfig.js file found in website folder!")
);
process.exit(1);
}
const program = require("commander");
@ -32,6 +35,17 @@ program.option("--port <number>", "Specify port number").parse(process.argv);
const port = program.port || 3000;
console.log("Checking if port " + port + " is free...");
tcpPortUsed.check(port, "localhost")
.then(function(inUse) {
if (inUse) {
console.error(
chalk.red("Port " + port + " is in use")
);
process.exit(1);
}
});
// start local server on specified port
const server = require("./server/server.js");
server(port);

View file

@ -22,7 +22,8 @@
"remarkable": "^1.7.1",
"request": "^2.81.0",
"shelljs": "^0.7.8",
"sitemap": "^1.13.0"
"sitemap": "^1.13.0",
"tcp-port-used": "^0.1.2"
},
"name": "docusaurus",
"version": "1.0.0-beta.5",