diff --git a/dev/index.ts b/dev/index.ts index 7525bec0..b7300af4 100644 --- a/dev/index.ts +++ b/dev/index.ts @@ -2,7 +2,7 @@ import * as express from "express"; import * as path from "path"; import * as fs from "fs"; import * as morgan from "morgan"; -import opn = require("opn"); +import open = require("open"); import { AddressInfo } from "net"; const basePath = process.env.APP_BASE_PATH ? @@ -26,9 +26,13 @@ app.use(`${basePath}plugins`, express.static(path.resolve("../dist/plugins"), { // Fallback for HTML 5 routing app.use(`${basePath}*`, (req, res) => res.sendFile(path.resolve("../dist/index.html"))); -let server = app.listen(Number(process.env.PORT) || 3000, process.env.HOST || "127.0.0.1", () => { +let server = app.listen(Number(process.env.PORT) || 3000, process.env.HOST || "127.0.0.1", async () => { let address = server.address() as AddressInfo; process.stdout.write(`Listening on ${address.address + ":" + address.port}\n`); - opn(`http://localhost:${address.port}${basePath}`); + try { + await open(`http://localhost:${address.port}${basePath}`); + } catch (e) { + process.stderr.write(`\nFailed to open web browser. You can open it yourself and ignore this error. ${e}`); + } }); diff --git a/dev/package-lock.json b/dev/package-lock.json index a6100789..83275723 100644 --- a/dev/package-lock.json +++ b/dev/package-lock.json @@ -360,9 +360,9 @@ "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=" }, "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz", + "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==" }, "jsonc-parser": { "version": "2.0.3", @@ -462,12 +462,12 @@ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" }, - "opn": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", - "integrity": "sha1-ZIcVZchjh18FLP31PT48ta21Oxw=", + "open": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/open/-/open-7.0.0.tgz", + "integrity": "sha512-K6EKzYqnwQzk+/dzJAQSBORub3xlBTxMz+ntpZpH/LyCa1o6KjXhuN+2npAaI9jaSmU3R1Q8NWf4KUWcyytGsQ==", "requires": { - "is-wsl": "^1.1.0" + "is-wsl": "^2.1.0" } }, "parseurl": { diff --git a/dev/package.json b/dev/package.json index 6aa21675..ad0edc72 100644 --- a/dev/package.json +++ b/dev/package.json @@ -16,7 +16,7 @@ "express": "^4.16.3", "jsonc-parser": "^2.0.3", "morgan": "^1.9.1", - "opn": "^5.3.0", + "open": "^7.0.0", "ts-node": "^6.1.0", "typescript": "^3.0.1" }