diff --git a/lib/server/server.js b/lib/server/server.js index 4f3a64f5ad91..3ccf01dfd839 100644 --- a/lib/server/server.js +++ b/lib/server/server.js @@ -542,7 +542,6 @@ function execute(port) { }); app.listen(port); - console.log('Open http://localhost:' + port + '/'); } module.exports = execute; diff --git a/lib/start-server.js b/lib/start-server.js index f9e2628c4eeb..08b3f1b52abd 100755 --- a/lib/start-server.js +++ b/lib/start-server.js @@ -24,6 +24,7 @@ const tcpPortUsed = require('tcp-port-used'); // initial check that required files are present const chalk = require('chalk'); const fs = require('fs'); +const opn = require('opn'); const CWD = process.cwd(); if (!fs.existsSync(CWD + '/siteConfig.js')) { @@ -59,10 +60,12 @@ function checkPort() { numAttempts += 1; checkPort(); } else { - console.log('Starting Docusaurus server on port ' + port + '...'); // start local server on specified port const server = require('./server/server.js'); server(port); + const host = `http://localhost:${port}`; + console.log(`Starting Docusaurus server on ${host}`); + opn(host); } }) .catch(function(ex) { diff --git a/package-lock.json b/package-lock.json index 6ef683a126fe..0822adf234f1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3381,6 +3381,12 @@ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, "is2": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/is2/-/is2-0.0.9.tgz", @@ -4634,6 +4640,15 @@ "wrappy": "1.0.2" } }, + "opn": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", + "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", + "dev": true, + "requires": { + "is-wsl": "1.1.0" + } + }, "optimist": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", diff --git a/package.json b/package.json index d766b6007329..f71eee06ef0e 100644 --- a/package.json +++ b/package.json @@ -70,6 +70,7 @@ "front-matter": "^2.3.0", "glob-promise": "^3.3.0", "jest": "^21.2.1", + "opn": "^5.3.0", "prettier": "^1.9.1", "rimraf": "^2.6.2" } diff --git a/yarn.lock b/yarn.lock index e0e0c473f807..f7ec4601cf30 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2049,6 +2049,10 @@ is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + is2@0.0.9: version "0.0.9" resolved "https://registry.yarnpkg.com/is2/-/is2-0.0.9.tgz#119556d1d1651a41ba105af803267c80b299f629" @@ -2852,6 +2856,12 @@ once@^1.3.0, once@^1.3.3, once@^1.4.0: dependencies: wrappy "1" +opn@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.3.0.tgz#64871565c863875f052cfdf53d3e3cb5adb53b1c" + dependencies: + is-wsl "^1.1.0" + optimist@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"