diff --git a/server/dist/app.js b/server/dist/app.js deleted file mode 100644 index 7bd864f..0000000 --- a/server/dist/app.js +++ /dev/null @@ -1,34 +0,0 @@ -'use strict' -// import path from 'path' -// -// import express, { Application } from 'express' -// import cookieParser from 'cookie-parser' -// import logger from 'morgan' -// import indexRouter from './routes' -// import usersRouter from './routes/users' -// -// const app: Application = express() -// // const port = 3000 -// -// app.use(logger('dev')) -// app.use(express.json()) -// app.use(express.urlencoded({ extended: false })) -// app.use(cookieParser()) -// app.use(express.static(path.join(__dirname, 'webui', 'public'))) -// -// app.use('/', indexRouter) -// app.use('/users', usersRouter) -// -// export default app -const __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { default: mod } -} -Object.defineProperty(exports, '__esModule', { value: true }) -const express_1 = __importDefault(require('express')) -// rest of the code remains same -const app = express_1.default() -const PORT = 8000 -app.get('/', (req, res) => res.send('Express + TypeScript Server')) -app.listen(PORT, () => { - console.log(`⚡️[server]: Server is running at https://localhost:${PORT}`) -}) diff --git a/server/dist/routes/index.js b/server/dist/routes/index.js deleted file mode 100644 index 69e5455..0000000 --- a/server/dist/routes/index.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict' -const __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { default: mod } -} -Object.defineProperty(exports, '__esModule', { value: true }) -const express_1 = __importDefault(require('express')) -const router = express_1.default.Router() -/* GET home page. */ -router.get('/', (req, res, next) => { - res.render('index', { title: 'Express' }) -}) -exports.default = router diff --git a/server/dist/routes/users.js b/server/dist/routes/users.js deleted file mode 100644 index cf88c45..0000000 --- a/server/dist/routes/users.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict' -const __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { default: mod } -} -Object.defineProperty(exports, '__esModule', { value: true }) -const express_1 = __importDefault(require('express')) -const router = express_1.default.Router() -/* GET users listing. */ -router.get('/', function (req, res, next) { - res.send('respond with a resource') -}) -exports.default = router diff --git a/server/package.json b/server/package.json index 7fc5fbe..820280d 100644 --- a/server/package.json +++ b/server/package.json @@ -2,13 +2,12 @@ "name": "deemix-gui", "version": "0.0.0", "private": true, - "type": "module", "scripts": { "start-old": "node bin/www", "start": "nodemon src/app.ts", "lint": "eslint . --fix", - "prebuild" : "yarn lint", - "build": "tsc" + "prebuild": "yarn lint", + "build": "tsc" }, "dependencies": { "cookie-parser": "1.4.4", @@ -19,6 +18,7 @@ "devDependencies": { "@nuxtjs/eslint-config": "6.0.0", "@types/cookie-parser": "1.4.2", + "@types/debug": "4.1.5", "@types/express": "4.17.11", "@types/morgan": "1.9.2", "@types/node": "14.14.37", diff --git a/server/src/app.ts b/server/src/app.ts index dfe2021..3e7d0bc 100644 --- a/server/src/app.ts +++ b/server/src/app.ts @@ -1,27 +1,109 @@ import path from 'path' +import http from 'http' import express, { Application } from 'express' import cookieParser from 'cookie-parser' import logger from 'morgan' +import debug0 from 'debug' import indexRouter from './routes' import usersRouter from './routes/users' +const ROOT_DIR = path.resolve('../') + const app: Application = express() -const port = 6595 app.use(logger('dev')) app.use(express.json()) app.use(express.urlencoded({ extended: false })) app.use(cookieParser()) -app.use(express.static(path.join(__dirname, 'webui', 'public'))) +app.use(express.static(path.join(ROOT_DIR, 'webui', 'public'))) app.use('/', indexRouter) app.use('/users', usersRouter) -try { - app.listen(port, (): void => { - console.log(`Connected successfully on port ${port}`) - }) -} catch (error) { - console.error(`Error occured: ${error.message}`) +/** + * Module dependencies. + */ + +const debug = debug0('deemix-gui:server') +/** + * Get port from environment and store in Express. + */ + +const port = normalizePort(process.env.PORT || '3000') +app.set('port', port) + +/** + * Create HTTP server. + */ + +const server = http.createServer(app) + +/** + * Listen on provided port, on all network interfaces. + */ + +server.listen(port) +server.on('error', onError) +server.on('listening', onListening) + +/** + * Normalize a port into a number, string, or false. + */ + +function normalizePort (val:string) { + const port = parseInt(val, 10) + + if (isNaN(port)) { + // named pipe + return val + } + + if (port >= 0) { + // port number + return port + } + + return false +} + +/** + * Event listener for HTTP server "error" event. + */ + +function onError (error: any) { + if (error.syscall !== 'listen') { + throw error + } + + const bind = typeof port === 'string' + ? 'Pipe ' + port + : 'Port ' + port + + // handle specific listen errors with friendly messages + switch (error.code) { + case 'EACCES': + console.error(bind + ' requires elevated privileges') + process.exit(1) + case 'EADDRINUSE': + console.error(bind + ' is already in use') + process.exit(1) + default: + throw error + } +} + +/** + * Event listener for HTTP server "listening" event. + */ + +function onListening () { + const addr = server.address() + + if (addr) { + const bind = typeof addr === 'string' + ? 'pipe ' + addr + : 'port ' + addr.port + debug('Listening on ' + bind) + } } diff --git a/server/src/routes/index.ts b/server/src/routes/index.ts index 0135a09..7cf3089 100644 --- a/server/src/routes/index.ts +++ b/server/src/routes/index.ts @@ -3,7 +3,7 @@ import express from 'express' const router = express.Router() /* GET home page. */ -router.get('/', (req, res, next) => { +router.get('/', (_, res) => { res.render('index', { title: 'Express' }) }) diff --git a/server/yarn.lock b/server/yarn.lock index 7490655..8548b52 100644 --- a/server/yarn.lock +++ b/server/yarn.lock @@ -294,6 +294,11 @@ dependencies: "@types/express" "*" +"@types/debug@4.1.5": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd" + integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ== + "@types/express-serve-static-core@^4.17.18": version "4.17.19" resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.19.tgz#00acfc1632e729acac4f1530e9e16f6dd1508a1d" diff --git a/webui b/webui index 5512568..39a178c 160000 --- a/webui +++ b/webui @@ -1 +1 @@ -Subproject commit 55125684cbaf4c4ac62d63e9713ceb69e2fceb86 +Subproject commit 39a178cfc7d67387c63323038a8533d6d84b0cc1