synapse-admin/scripts/startRekitStudio.js
Manuel Stahl 00d6959927 Create synapse-admin using 'rekit create --sass synapse-admin'
Change-Id: I14a94754264c83faffb7fea5099d37c97e60b07a
2019-03-11 17:06:04 +01:00

39 lines
1.1 KiB
JavaScript

'use strict';
// Start Rekit Studio
const path = require('path');
const http = require('http');
const express = require('express');
const rekitStudioMiddleWare = require('rekit-studio/middleware');
const fallback = require('express-history-api-fallback');
function startRekitStudio(port) {
console.log('Starting Rekit Studio...');
return new Promise((resolve, reject) => {
const app = express();
const server = http.createServer(app);
const root = path.join(__dirname, '../node_modules/rekit-studio/dist');
app.use(rekitStudioMiddleWare()(server, app));
app.use(express.static(root));
app.use(fallback('index.html', { root }));
// Other files should not happen, respond 404
app.get('*', (req, res) => {
console.log('Warning: unknown req: ', req.path);
res.sendStatus(404);
});
server.listen(port, err => {
if (err) {
console.error(err);
reject(err);
return;
}
console.log(`Rekit Studio is running at http://localhost:${port}/`);
resolve();
});
});
}
module.exports = startRekitStudio;