aboutsummaryrefslogtreecommitdiff
path: root/tools/utils/server.ts
diff options
context:
space:
mode:
Diffstat (limited to 'tools/utils/server.ts')
-rw-r--r--tools/utils/server.ts45
1 files changed, 45 insertions, 0 deletions
diff --git a/tools/utils/server.ts b/tools/utils/server.ts
new file mode 100644
index 0000000..9e185d3
--- /dev/null
+++ b/tools/utils/server.ts
@@ -0,0 +1,45 @@
+import * as connectLivereload from 'connect-livereload';
+import * as express from 'express';
+import * as tinylrFn from 'tiny-lr';
+import * as openResource from 'open';
+import * as serveStatic from 'serve-static';
+import {resolve} from 'path';
+import {APP_BASE, APP_DEST, DOCS_DEST, LIVE_RELOAD_PORT, DOCS_PORT, PORT} from '../config';
+
+let tinylr = tinylrFn();
+
+
+export function serveSPA() {
+ let server = express();
+ tinylr.listen(LIVE_RELOAD_PORT);
+
+ server.use(
+ APP_BASE,
+ connectLivereload({ port: LIVE_RELOAD_PORT }),
+ express.static(process.cwd())
+ );
+
+ server.listen(PORT, () =>
+ openResource('http://localhost:' + PORT + APP_BASE + APP_DEST)
+ );
+}
+
+export function notifyLiveReload(e) {
+ let fileName = e.path;
+ tinylr.changed({
+ body: { files: [fileName] }
+ });
+}
+
+export function serveDocs() {
+ let server = express();
+
+ server.use(
+ APP_BASE,
+ serveStatic(resolve(process.cwd(), DOCS_DEST))
+ );
+
+ server.listen(DOCS_PORT, () =>
+ openResource('http://localhost:' + DOCS_PORT + APP_BASE)
+ );
+}