build: v0.0.0; workflow: added start-build command

This commit is contained in:
Roberto Tonino 2021-04-03 19:46:33 +02:00
parent db7e07bd1d
commit 2223750e91
15 changed files with 188 additions and 80 deletions

96
server/dist/app.js vendored
View File

@ -3,88 +3,30 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod }; return (mod && mod.__esModule) ? mod : { "default": mod };
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
const path_1 = __importDefault(require("path"));
const http_1 = __importDefault(require("http")); const http_1 = __importDefault(require("http"));
const express_1 = __importDefault(require("express")); const express_1 = __importDefault(require("express"));
const cookie_parser_1 = __importDefault(require("cookie-parser"));
const morgan_1 = __importDefault(require("morgan"));
const debug_1 = __importDefault(require("debug")); const debug_1 = __importDefault(require("debug"));
const middlewares_1 = require("./middlewares");
const routes_1 = __importDefault(require("./routes")); const routes_1 = __importDefault(require("./routes"));
const users_1 = __importDefault(require("./routes/users")); const users_1 = __importDefault(require("./routes/users"));
const ROOT_DIR = path_1.default.resolve('../'); const port_1 = require("./helpers/port");
const server_callbacks_1 = require("./helpers/server-callbacks");
const register_1 = require("./routes/api/register");
const PORT = port_1.normalizePort(process.env.PORT || '6595');
const debug = debug_1.default('deemix-gui:server');
const app = express_1.default(); const app = express_1.default();
app.use(morgan_1.default('dev')); const server = http_1.default.createServer(app);
app.use(express_1.default.json()); /* === Middlewares === */
app.use(express_1.default.urlencoded({ extended: false })); middlewares_1.registerMiddlewares(app);
app.use(cookie_parser_1.default()); /* === Routes === */
app.use(express_1.default.static(path_1.default.join(ROOT_DIR, 'webui', 'public')));
app.use('/', routes_1.default); app.use('/', routes_1.default);
app.use('/users', users_1.default); app.use('/users', users_1.default);
/** /* === APIs === */
* Module dependencies. register_1.registerApis(app);
*/ /* === Config === */
const debug = debug_1.default('deemix-gui:server'); app.set('port', PORT);
/** /* === Server port === */
* Get port from environment and store in Express. server.listen(PORT);
*/ /* === Server callbacks === */
const port = normalizePort(process.env.PORT || '3000'); server.on('error', server_callbacks_1.getErrorCb(PORT));
app.set('port', port); server.on('listening', server_callbacks_1.getListeningCb(server, debug));
/**
* Create HTTP server.
*/
const server = http_1.default.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) {
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) {
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);
}
}

9
server/dist/helpers/paths.js vendored Normal file
View File

@ -0,0 +1,9 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.WEBUI_DIR = exports.ROOT_DIR = void 0;
const path_1 = __importDefault(require("path"));
exports.ROOT_DIR = path_1.default.resolve('../');
exports.WEBUI_DIR = path_1.default.join(exports.ROOT_DIR, 'webui', 'public');

21
server/dist/helpers/port.js vendored Normal file
View File

@ -0,0 +1,21 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.normalizePort = void 0;
/**
* Normalize a port into a number, string, or false.
*
* @since 0.0.0
*/
function normalizePort(portString) {
const port = parseInt(portString, 10);
if (isNaN(port)) {
// named pipe
return portString;
}
if (port >= 0) {
// port number
return port;
}
return false;
}
exports.normalizePort = normalizePort;

45
server/dist/helpers/server-callbacks.js vendored Normal file
View File

@ -0,0 +1,45 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getListeningCb = exports.getErrorCb = void 0;
/**
* Event listener for HTTP server "error" event.
*
* @since 0.0.0
*/
function getErrorCb(port) {
return (error) => {
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;
}
};
}
exports.getErrorCb = getErrorCb;
/**
* Event listener for HTTP server "listening" event.
*
* @since 0.0.0
*/
function getListeningCb(server, debug) {
return () => {
const addr = server.address();
if (addr) {
const bind = typeof addr === 'string' ? 'pipe ' + addr : 'port ' + addr.port;
debug('Listening on ' + bind);
}
};
}
exports.getListeningCb = getListeningCb;

18
server/dist/middlewares.js vendored Normal file
View File

@ -0,0 +1,18 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.registerMiddlewares = void 0;
const morgan_1 = __importDefault(require("morgan"));
const express_1 = __importDefault(require("express"));
const cookie_parser_1 = __importDefault(require("cookie-parser"));
const paths_1 = require("./helpers/paths");
function registerMiddlewares(app) {
app.use(morgan_1.default('dev'));
app.use(express_1.default.json());
app.use(express_1.default.urlencoded({ extended: false }));
app.use(cookie_parser_1.default());
app.use(express_1.default.static(paths_1.WEBUI_DIR));
}
exports.registerMiddlewares = registerMiddlewares;

View File

@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = [];

7
server/dist/routes/api/get/index.js vendored Normal file
View File

@ -0,0 +1,7 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const sample_1 = __importDefault(require("./sample"));
exports.default = [sample_1.default];

8
server/dist/routes/api/get/sample.js vendored Normal file
View File

@ -0,0 +1,8 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const path = '/sample';
const handler = (_, res) => {
res.send('Mandi');
};
const apiHandler = { path, handler };
exports.default = apiHandler;

3
server/dist/routes/api/patch/index.js vendored Normal file
View File

@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = [];

3
server/dist/routes/api/post/index.js vendored Normal file
View File

@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = [];

38
server/dist/routes/api/register.js vendored Normal file
View File

@ -0,0 +1,38 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.registerApis = void 0;
const get_1 = __importDefault(require("./get"));
const delete_1 = __importDefault(require("./delete"));
const post_1 = __importDefault(require("./post"));
const patch_1 = __importDefault(require("./patch"));
const prependApiPath = (path) => `/api${path}`;
const methods = [
{
method: 'get',
endpoints: get_1.default
},
{
method: 'delete',
endpoints: delete_1.default
},
{
method: 'post',
endpoints: post_1.default
},
{
method: 'patch',
endpoints: patch_1.default
}
];
function registerApis(app) {
methods.forEach(({ method, endpoints }) => {
endpoints.forEach(endpoint => {
// @ts-ignore
app[method](prependApiPath(endpoint.path), endpoint.handler);
});
});
}
exports.registerApis = registerApis;

View File

@ -5,7 +5,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
const express_1 = __importDefault(require("express")); const express_1 = __importDefault(require("express"));
const router = express_1.default.Router(); const router = express_1.default.Router();
/* GET home page. */ /**
* GET home page
*
* @since 0.0.0
*/
router.get('/', (_, res) => { router.get('/', (_, res) => {
res.render('index', { title: 'Express' }); res.render('index', { title: 'Express' });
}); });

View File

@ -5,8 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
const express_1 = __importDefault(require("express")); const express_1 = __importDefault(require("express"));
const router = express_1.default.Router(); const router = express_1.default.Router();
/* GET users listing. */ /**
router.get('/', function (_, res) { * GET users listing.
*
* @since 0.0.0
*/
router.get('/', (_, res) => {
res.send('respond with a resource'); res.send('respond with a resource');
}); });
exports.default = router; exports.default = router;

2
server/dist/types.js vendored Normal file
View File

@ -0,0 +1,2 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });

View File

@ -5,6 +5,7 @@
"scripts": { "scripts": {
"start-old": "node bin/www", "start-old": "node bin/www",
"start": "nodemon src/app.ts", "start": "nodemon src/app.ts",
"start-build": "node dist/app.js",
"lint": "eslint . --fix", "lint": "eslint . --fix",
"prebuild": "yarn lint", "prebuild": "yarn lint",
"build": "tsc" "build": "tsc"