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 { AddressInfo } from "net"; import * as bodyParser from "body-parser"; import { stripComments } from "jsonc-parser"; let app = express(); app.use(morgan("dev")); app.get("/config/config.json", (req, res) => { let configJsonc = fs.readFileSync("../config/config.dev.jsonc", "utf8"); let configJson = stripComments(configJsonc); res.setHeader("Content-Type", "application/json"); res.send(configJson); }); app.use("/", express.static(path.resolve("../dist"))); // Fallback for HTML 5 routing app.use("/*", (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 address = server.address() as AddressInfo; process.stdout.write(`Listening on ${address.address + ":" + address.port}\n`); opn(`http://localhost:${address.port}`); });