diff options
Diffstat (limited to 'tools/utils/server.ts')
-rw-r--r-- | tools/utils/server.ts | 45 |
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) + ); +} |