miolo 0.3.2 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/miolo.cli.iife.bundle.js +1 -1
- package/dist/cli/miolo.cli.iife.bundle.min.js +1 -1
- package/dist/cli/miolo.cli.iife.js +1 -1
- package/dist/cli/miolo.cli.iife.min.js +1 -1
- package/dist/cli/miolo.cli.min.mjs +1 -1
- package/dist/cli/miolo.cli.mjs +1 -1
- package/dist/cli/miolo.cli.umd.bundle.js +1 -1
- package/dist/cli/miolo.cli.umd.bundle.min.js +1 -1
- package/dist/cli/miolo.cli.umd.js +1 -1
- package/dist/cli/miolo.cli.umd.min.js +1 -1
- package/dist/cli-react/miolo.cli-react.iife.bundle.js +1670 -1677
- package/dist/cli-react/miolo.cli-react.iife.bundle.js.map +1 -1
- package/dist/cli-react/miolo.cli-react.iife.bundle.min.js +42 -49
- package/dist/cli-react/miolo.cli-react.iife.js +22 -11
- package/dist/cli-react/miolo.cli-react.iife.js.map +1 -1
- package/dist/cli-react/miolo.cli-react.iife.min.js +2 -2
- package/dist/cli-react/miolo.cli-react.min.mjs +2 -2
- package/dist/cli-react/miolo.cli-react.mjs +23 -9
- package/dist/cli-react/miolo.cli-react.mjs.map +1 -1
- package/dist/cli-react/miolo.cli-react.umd.bundle.js +1669 -1676
- package/dist/cli-react/miolo.cli-react.umd.bundle.js.map +1 -1
- package/dist/cli-react/miolo.cli-react.umd.bundle.min.js +42 -49
- package/dist/cli-react/miolo.cli-react.umd.js +24 -13
- package/dist/cli-react/miolo.cli-react.umd.js.map +1 -1
- package/dist/cli-react/miolo.cli-react.umd.min.js +2 -2
- package/dist/server/miolo.server.cjs +216 -265
- package/dist/server/miolo.server.min.mjs +2 -2
- package/dist/server/miolo.server.mjs +169 -227
- package/dist/server/miolo.server.mjs.map +1 -1
- package/dist/server/miolo.server.node.mjs +217 -265
- package/package.json +8 -9
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* miolo v0.3.
|
|
2
|
+
* miolo v0.3.5
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Donato Lorenzo <donato@afialapis.com>
|
|
5
5
|
*
|
|
@@ -11,20 +11,14 @@
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
13
|
var Koa = require('koa');
|
|
14
|
-
var router = require('calustra/router');
|
|
15
14
|
var merge = require('assign-deep');
|
|
16
15
|
var path = require('node:path');
|
|
17
16
|
var node_url = require('node:url');
|
|
18
|
-
var os = require('node:os');
|
|
19
|
-
var diskspace = require('diskspace');
|
|
20
|
-
var tinguir = require('tinguir');
|
|
21
|
-
var cron = require('cron');
|
|
22
17
|
var calustra = require('calustra');
|
|
23
18
|
var nodemailer = require('nodemailer');
|
|
19
|
+
var tinguir = require('tinguir');
|
|
24
20
|
var util = require('node:util');
|
|
25
21
|
var winston = require('winston');
|
|
26
|
-
var koa_cors = require('@koa/cors');
|
|
27
|
-
var koa_proxy = require('koa-proxies');
|
|
28
22
|
var koa_body_parser = require('koa-better-body');
|
|
29
23
|
var koa_convert = require('koa-convert');
|
|
30
24
|
var koa_compress = require('koa-compress');
|
|
@@ -37,9 +31,14 @@ var koa_session = require('koa-session');
|
|
|
37
31
|
var RedisStore = require('koa-redis');
|
|
38
32
|
var Router = require('@koa/router');
|
|
39
33
|
var node_fs = require('node:fs');
|
|
34
|
+
var router = require('calustra/router');
|
|
35
|
+
var koa_cors = require('@koa/cors');
|
|
36
|
+
var koa_proxy = require('koa-proxies');
|
|
37
|
+
var os = require('node:os');
|
|
38
|
+
var diskspace = require('diskspace');
|
|
39
|
+
var cron = require('cron');
|
|
40
40
|
var React = require('react');
|
|
41
|
-
var server = require('react-
|
|
42
|
-
var server$1 = require('react-dom/server');
|
|
41
|
+
var server = require('react-dom/server');
|
|
43
42
|
var jwt = require('jwt-simple');
|
|
44
43
|
var auth = require('basic-auth');
|
|
45
44
|
var passport$1 = require('koa-passport');
|
|
@@ -671,43 +670,6 @@ function init_config(config) {
|
|
|
671
670
|
return merge(base_config, config);
|
|
672
671
|
}
|
|
673
672
|
|
|
674
|
-
function init_sys_check_and_log(logger) {
|
|
675
|
-
function toMB(bytes) {
|
|
676
|
-
if (!bytes) return 0;
|
|
677
|
-
return bytes / 1000000;
|
|
678
|
-
}
|
|
679
|
-
function toGB(kbytes) {
|
|
680
|
-
if (!kbytes) return 0;
|
|
681
|
-
return kbytes / 1000000;
|
|
682
|
-
}
|
|
683
|
-
function sys_check_and_log() {
|
|
684
|
-
var used = Math.round(toMB(os.freemem()), 2);
|
|
685
|
-
var total = Math.round(toMB(os.totalmem()), 2);
|
|
686
|
-
var perc = Math.round(used * 100 / total, 2);
|
|
687
|
-
if (perc > 80) {
|
|
688
|
-
logger.error("[SERVER][" + tinguir.cyan('SysCheck') + "] RAM " + tinguir.yellow(used) + " MB used of " + tinguir.green(total) + " MB (" + tinguir.yellow(perc) + " %)");
|
|
689
|
-
} else {
|
|
690
|
-
logger.info("[SERVER][" + tinguir.cyan('SysCheck') + "] RAM " + tinguir.yellow(used) + " MB used of " + tinguir.green(total) + " MB (" + tinguir.yellow(perc) + " %)");
|
|
691
|
-
}
|
|
692
|
-
diskspace.check('/', function (err, result) {
|
|
693
|
-
var used = Math.round(toGB(result.used), 2);
|
|
694
|
-
var total = Math.round(toGB(result.total), 2);
|
|
695
|
-
var free = Math.round(toGB(result.free), 2);
|
|
696
|
-
if (free < 1) {
|
|
697
|
-
logger.error("[SERVER][" + tinguir.cyan('SysCheck') + "] DISK " + tinguir.yellow(used) + " GB used of " + tinguir.green(total) + " GB (" + tinguir.yellow(free) + " GB free)");
|
|
698
|
-
} else {
|
|
699
|
-
logger.info("[SERVER][" + tinguir.cyan('SysCheck') + "] DISK " + tinguir.yellow(used) + " GB used of " + tinguir.green(total) + " GB (" + tinguir.yellow(free) + " GB free)");
|
|
700
|
-
}
|
|
701
|
-
});
|
|
702
|
-
}
|
|
703
|
-
return sys_check_and_log;
|
|
704
|
-
}
|
|
705
|
-
|
|
706
|
-
function init_cron(logger) {
|
|
707
|
-
var sys_check_and_log = init_sys_check_and_log(logger);
|
|
708
|
-
new cron.CronJob('30 * * * *', sys_check_and_log, null, true, 'Europe/Madrid');
|
|
709
|
-
}
|
|
710
|
-
|
|
711
673
|
function init_emailer(options, defaults, silent) {
|
|
712
674
|
if (silent === void 0) {
|
|
713
675
|
silent = false;
|
|
@@ -929,75 +891,6 @@ var init_context_middleware = function init_context_middleware(app, config) {
|
|
|
929
891
|
app.context.miolo = mioloContext;
|
|
930
892
|
};
|
|
931
893
|
|
|
932
|
-
var _if_options = function _if_options(http, field, callback) {
|
|
933
|
-
try {
|
|
934
|
-
var val = http[field];
|
|
935
|
-
if (val != undefined && val != false) {
|
|
936
|
-
return callback(val);
|
|
937
|
-
}
|
|
938
|
-
} catch (_) {}
|
|
939
|
-
};
|
|
940
|
-
var _cors_options = function _cors_options(options) {
|
|
941
|
-
if (typeof options == 'object') {
|
|
942
|
-
return options;
|
|
943
|
-
}
|
|
944
|
-
return {};
|
|
945
|
-
};
|
|
946
|
-
var _proxy_options = function _proxy_options(options) {
|
|
947
|
-
var _options, _options2, _options3, _options4;
|
|
948
|
-
if (options == undefined) {
|
|
949
|
-
options = {};
|
|
950
|
-
}
|
|
951
|
-
var tpath = ((_options = options) == null ? void 0 : _options.path) || '/';
|
|
952
|
-
var target = ((_options2 = options) == null ? void 0 : _options2.target) || "https://proxy.miolo.com";
|
|
953
|
-
var changeOrigin = ((_options3 = options) == null ? void 0 : _options3.changeOrigin) != undefined ? options.changeOrigin : true;
|
|
954
|
-
var logs = ((_options4 = options) == null ? void 0 : _options4.logs) != undefined ? options.logs : true;
|
|
955
|
-
var toptions = {
|
|
956
|
-
target: target,
|
|
957
|
-
changeOrigin: changeOrigin,
|
|
958
|
-
logs: logs
|
|
959
|
-
};
|
|
960
|
-
return [tpath, toptions];
|
|
961
|
-
};
|
|
962
|
-
var init_headers_middleware = function init_headers_middleware(app, http) {
|
|
963
|
-
var logger = app.context.miolo.logger;
|
|
964
|
-
_if_options(http, 'cors', function (options) {
|
|
965
|
-
if (options == 'simple') {
|
|
966
|
-
logger.debug("Setting CORS the simple way");
|
|
967
|
-
app.use( /*#__PURE__*/function () {
|
|
968
|
-
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(ctx, next) {
|
|
969
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
970
|
-
while (1) switch (_context.prev = _context.next) {
|
|
971
|
-
case 0:
|
|
972
|
-
ctx.set('Access-Control-Allow-Origin', '*');
|
|
973
|
-
ctx.set('Access-Control-Expose-Headers', 'SourceMap,X-SourceMap');
|
|
974
|
-
_context.next = 4;
|
|
975
|
-
return next();
|
|
976
|
-
case 4:
|
|
977
|
-
case "end":
|
|
978
|
-
return _context.stop();
|
|
979
|
-
}
|
|
980
|
-
}, _callee);
|
|
981
|
-
}));
|
|
982
|
-
return function (_x, _x2) {
|
|
983
|
-
return _ref.apply(this, arguments);
|
|
984
|
-
};
|
|
985
|
-
}());
|
|
986
|
-
} else {
|
|
987
|
-
var coptions = _cors_options(options);
|
|
988
|
-
logger.debug("Setting CORS headers for " + JSON.stringify(coptions));
|
|
989
|
-
app.use(koa_cors(coptions));
|
|
990
|
-
}
|
|
991
|
-
});
|
|
992
|
-
_if_options(http, 'proxy', function (options) {
|
|
993
|
-
var _proxy_options2 = _proxy_options(options),
|
|
994
|
-
tpath = _proxy_options2[0],
|
|
995
|
-
toptions = _proxy_options2[1];
|
|
996
|
-
logger.debug("Setting Proxy for " + tpath + " to " + toptions.target + " ");
|
|
997
|
-
app.use(koa_proxy(tpath, toptions));
|
|
998
|
-
});
|
|
999
|
-
};
|
|
1000
|
-
|
|
1001
894
|
var init_body_middleware = function init_body_middleware(app) {
|
|
1002
895
|
// Compress
|
|
1003
896
|
|
|
@@ -1125,36 +1018,6 @@ var init_static_middleware = function init_static_middleware(app, config) {
|
|
|
1125
1018
|
}
|
|
1126
1019
|
};
|
|
1127
1020
|
|
|
1128
|
-
var init_extra_middlewares = function init_extra_middlewares(app, middlewares) {
|
|
1129
|
-
if (middlewares == undefined || middlewares.length == 0) {
|
|
1130
|
-
return;
|
|
1131
|
-
}
|
|
1132
|
-
middlewares.map(function (midw) {
|
|
1133
|
-
function extra_middleware(_x, _x2) {
|
|
1134
|
-
return _extra_middleware.apply(this, arguments);
|
|
1135
|
-
}
|
|
1136
|
-
function _extra_middleware() {
|
|
1137
|
-
_extra_middleware = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(ctx, next) {
|
|
1138
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1139
|
-
while (1) switch (_context.prev = _context.next) {
|
|
1140
|
-
case 0:
|
|
1141
|
-
_context.next = 2;
|
|
1142
|
-
return midw(ctx);
|
|
1143
|
-
case 2:
|
|
1144
|
-
_context.next = 4;
|
|
1145
|
-
return next();
|
|
1146
|
-
case 4:
|
|
1147
|
-
case "end":
|
|
1148
|
-
return _context.stop();
|
|
1149
|
-
}
|
|
1150
|
-
}, _callee);
|
|
1151
|
-
}));
|
|
1152
|
-
return _extra_middleware.apply(this, arguments);
|
|
1153
|
-
}
|
|
1154
|
-
app.use(extra_middleware);
|
|
1155
|
-
});
|
|
1156
|
-
};
|
|
1157
|
-
|
|
1158
1021
|
var REQUEST_COUNTER = 1;
|
|
1159
1022
|
|
|
1160
1023
|
/**
|
|
@@ -1288,40 +1151,140 @@ function init_route_catch_js_error(app, route) {
|
|
|
1288
1151
|
app.use(catch_js_error_router.routes());
|
|
1289
1152
|
}
|
|
1290
1153
|
|
|
1291
|
-
var
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
var indexHTML = node_fs.readFileSync(indexHTMLPath, 'utf8');
|
|
1295
|
-
function init_route_html_render(app, html) {
|
|
1296
|
-
// Server-side render
|
|
1297
|
-
function html_render(_x) {
|
|
1298
|
-
return _html_render.apply(this, arguments);
|
|
1154
|
+
var init_extra_middlewares = function init_extra_middlewares(app, middlewares) {
|
|
1155
|
+
if (middlewares == undefined || middlewares.length == 0) {
|
|
1156
|
+
return;
|
|
1299
1157
|
}
|
|
1300
|
-
function
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1158
|
+
middlewares.map(function (midw) {
|
|
1159
|
+
function extra_middleware(_x, _x2) {
|
|
1160
|
+
return _extra_middleware.apply(this, arguments);
|
|
1161
|
+
}
|
|
1162
|
+
function _extra_middleware() {
|
|
1163
|
+
_extra_middleware = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(ctx, next) {
|
|
1164
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1165
|
+
while (1) switch (_context.prev = _context.next) {
|
|
1166
|
+
case 0:
|
|
1167
|
+
_context.next = 2;
|
|
1168
|
+
return midw(ctx);
|
|
1169
|
+
case 2:
|
|
1170
|
+
_context.next = 4;
|
|
1171
|
+
return next();
|
|
1172
|
+
case 4:
|
|
1173
|
+
case "end":
|
|
1174
|
+
return _context.stop();
|
|
1175
|
+
}
|
|
1176
|
+
}, _callee);
|
|
1177
|
+
}));
|
|
1178
|
+
return _extra_middleware.apply(this, arguments);
|
|
1179
|
+
}
|
|
1180
|
+
app.use(extra_middleware);
|
|
1181
|
+
});
|
|
1182
|
+
};
|
|
1183
|
+
|
|
1184
|
+
var _if_options = function _if_options(http, field, callback) {
|
|
1185
|
+
try {
|
|
1186
|
+
var val = http[field];
|
|
1187
|
+
if (val != undefined && val != false) {
|
|
1188
|
+
return callback(val);
|
|
1189
|
+
}
|
|
1190
|
+
} catch (_) {}
|
|
1191
|
+
};
|
|
1192
|
+
var _cors_options = function _cors_options(options) {
|
|
1193
|
+
if (typeof options == 'object') {
|
|
1194
|
+
return options;
|
|
1321
1195
|
}
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1196
|
+
return {};
|
|
1197
|
+
};
|
|
1198
|
+
var _proxy_options = function _proxy_options(options) {
|
|
1199
|
+
var _options, _options2, _options3, _options4;
|
|
1200
|
+
if (options == undefined) {
|
|
1201
|
+
options = {};
|
|
1202
|
+
}
|
|
1203
|
+
var tpath = ((_options = options) == null ? void 0 : _options.path) || '/';
|
|
1204
|
+
var target = ((_options2 = options) == null ? void 0 : _options2.target) || "https://proxy.miolo.com";
|
|
1205
|
+
var changeOrigin = ((_options3 = options) == null ? void 0 : _options3.changeOrigin) != undefined ? options.changeOrigin : true;
|
|
1206
|
+
var logs = ((_options4 = options) == null ? void 0 : _options4.logs) != undefined ? options.logs : true;
|
|
1207
|
+
var toptions = {
|
|
1208
|
+
target: target,
|
|
1209
|
+
changeOrigin: changeOrigin,
|
|
1210
|
+
logs: logs
|
|
1211
|
+
};
|
|
1212
|
+
return [tpath, toptions];
|
|
1213
|
+
};
|
|
1214
|
+
var init_headers_middleware = function init_headers_middleware(app, http) {
|
|
1215
|
+
var logger = app.context.miolo.logger;
|
|
1216
|
+
_if_options(http, 'cors', function (options) {
|
|
1217
|
+
if (options == 'simple') {
|
|
1218
|
+
logger.debug("Setting CORS the simple way");
|
|
1219
|
+
app.use( /*#__PURE__*/function () {
|
|
1220
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(ctx, next) {
|
|
1221
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1222
|
+
while (1) switch (_context.prev = _context.next) {
|
|
1223
|
+
case 0:
|
|
1224
|
+
ctx.set('Access-Control-Allow-Origin', '*');
|
|
1225
|
+
ctx.set('Access-Control-Expose-Headers', 'SourceMap,X-SourceMap');
|
|
1226
|
+
_context.next = 4;
|
|
1227
|
+
return next();
|
|
1228
|
+
case 4:
|
|
1229
|
+
case "end":
|
|
1230
|
+
return _context.stop();
|
|
1231
|
+
}
|
|
1232
|
+
}, _callee);
|
|
1233
|
+
}));
|
|
1234
|
+
return function (_x, _x2) {
|
|
1235
|
+
return _ref.apply(this, arguments);
|
|
1236
|
+
};
|
|
1237
|
+
}());
|
|
1238
|
+
} else {
|
|
1239
|
+
var coptions = _cors_options(options);
|
|
1240
|
+
logger.debug("Setting CORS headers for " + JSON.stringify(coptions));
|
|
1241
|
+
app.use(koa_cors(coptions));
|
|
1242
|
+
}
|
|
1243
|
+
});
|
|
1244
|
+
_if_options(http, 'proxy', function (options) {
|
|
1245
|
+
var _proxy_options2 = _proxy_options(options),
|
|
1246
|
+
tpath = _proxy_options2[0],
|
|
1247
|
+
toptions = _proxy_options2[1];
|
|
1248
|
+
logger.debug("Setting Proxy for " + tpath + " to " + toptions.target + " ");
|
|
1249
|
+
app.use(koa_proxy(tpath, toptions));
|
|
1250
|
+
});
|
|
1251
|
+
};
|
|
1252
|
+
|
|
1253
|
+
function init_sys_check_and_log(logger) {
|
|
1254
|
+
function toMB(bytes) {
|
|
1255
|
+
if (!bytes) return 0;
|
|
1256
|
+
return bytes / 1000000;
|
|
1257
|
+
}
|
|
1258
|
+
function toGB(kbytes) {
|
|
1259
|
+
if (!kbytes) return 0;
|
|
1260
|
+
return kbytes / 1000000;
|
|
1261
|
+
}
|
|
1262
|
+
function sys_check_and_log() {
|
|
1263
|
+
var used = Math.round(toMB(os.freemem()), 2);
|
|
1264
|
+
var total = Math.round(toMB(os.totalmem()), 2);
|
|
1265
|
+
var perc = Math.round(used * 100 / total, 2);
|
|
1266
|
+
if (perc > 80) {
|
|
1267
|
+
logger.error("[SERVER][" + tinguir.cyan('SysCheck') + "] RAM " + tinguir.yellow(used) + " MB used of " + tinguir.green(total) + " MB (" + tinguir.yellow(perc) + " %)");
|
|
1268
|
+
} else {
|
|
1269
|
+
logger.info("[SERVER][" + tinguir.cyan('SysCheck') + "] RAM " + tinguir.yellow(used) + " MB used of " + tinguir.green(total) + " MB (" + tinguir.yellow(perc) + " %)");
|
|
1270
|
+
}
|
|
1271
|
+
diskspace.check('/', function (err, result) {
|
|
1272
|
+
var used = Math.round(toGB(result.used), 2);
|
|
1273
|
+
var total = Math.round(toGB(result.total), 2);
|
|
1274
|
+
var free = Math.round(toGB(result.free), 2);
|
|
1275
|
+
if (free < 1) {
|
|
1276
|
+
logger.error("[SERVER][" + tinguir.cyan('SysCheck') + "] DISK " + tinguir.yellow(used) + " GB used of " + tinguir.green(total) + " GB (" + tinguir.yellow(free) + " GB free)");
|
|
1277
|
+
} else {
|
|
1278
|
+
logger.info("[SERVER][" + tinguir.cyan('SysCheck') + "] DISK " + tinguir.yellow(used) + " GB used of " + tinguir.green(total) + " GB (" + tinguir.yellow(free) + " GB free)");
|
|
1279
|
+
}
|
|
1280
|
+
});
|
|
1281
|
+
}
|
|
1282
|
+
return sys_check_and_log;
|
|
1283
|
+
}
|
|
1284
|
+
|
|
1285
|
+
function init_cron(logger) {
|
|
1286
|
+
var sys_check_and_log = init_sys_check_and_log(logger);
|
|
1287
|
+
new cron.CronJob('30 * * * *', sys_check_and_log, null, true, 'Europe/Madrid');
|
|
1325
1288
|
}
|
|
1326
1289
|
|
|
1327
1290
|
function miolo(_x, _x2, _x3) {
|
|
@@ -1330,26 +1293,12 @@ function miolo(_x, _x2, _x3) {
|
|
|
1330
1293
|
function _miolo() {
|
|
1331
1294
|
_miolo = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(sconfig, render, callback) {
|
|
1332
1295
|
var _config$http, _config$auth, _config$auth2, _config$auth3;
|
|
1333
|
-
var app, config, catcher_url, _yield$import, init_guest_auth_middleware, _yield$import2, init_basic_auth_middleware, _yield$import3, init_passport_auth_middleware, conn, extra_middlewares;
|
|
1296
|
+
var app, config, catcher_url, _yield$import, init_guest_auth_middleware, _yield$import2, init_basic_auth_middleware, _yield$import3, init_passport_auth_middleware, conn, extra_middlewares, _yield$import4, init_route_html_render;
|
|
1334
1297
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1335
1298
|
while (1) switch (_context.prev = _context.next) {
|
|
1336
1299
|
case 0:
|
|
1337
1300
|
app = new Koa(); // Init some pieces
|
|
1338
|
-
config = init_config(sconfig); //
|
|
1339
|
-
//const logger = init_logger(config.log, emailer)
|
|
1340
|
-
//config.db.connection.options.log= logger
|
|
1341
|
-
// // attach to app calustra's db methods
|
|
1342
|
-
// initCalustraDbContext(app, config.db)
|
|
1343
|
-
//
|
|
1344
|
-
// // attach to app some custom miolo methods
|
|
1345
|
-
// app.context.miolo = {
|
|
1346
|
-
// config: {...config},
|
|
1347
|
-
// emailer,
|
|
1348
|
-
// logger,
|
|
1349
|
-
// db: app.context.db
|
|
1350
|
-
// }
|
|
1351
|
-
//
|
|
1352
|
-
// attach to app some custom miolo methods
|
|
1301
|
+
config = init_config(sconfig); // attach to app some custom miolo methods
|
|
1353
1302
|
init_context_middleware(app, config);
|
|
1354
1303
|
|
|
1355
1304
|
// Compress and body parser
|
|
@@ -1429,11 +1378,23 @@ function _miolo() {
|
|
|
1429
1378
|
init_headers_middleware(app, config.http);
|
|
1430
1379
|
|
|
1431
1380
|
// Middleware for html render
|
|
1432
|
-
if (render == undefined || render.html != undefined) {
|
|
1433
|
-
|
|
1434
|
-
|
|
1381
|
+
if (!(render == undefined || render.html != undefined)) {
|
|
1382
|
+
_context.next = 41;
|
|
1383
|
+
break;
|
|
1384
|
+
}
|
|
1385
|
+
_context.next = 36;
|
|
1386
|
+
return Promise.resolve().then(function () { return html_render; });
|
|
1387
|
+
case 36:
|
|
1388
|
+
_yield$import4 = _context.sent;
|
|
1389
|
+
init_route_html_render = _yield$import4.init_route_html_render;
|
|
1390
|
+
init_route_html_render(app, render == null ? void 0 : render.html);
|
|
1391
|
+
_context.next = 42;
|
|
1392
|
+
break;
|
|
1393
|
+
case 41:
|
|
1394
|
+
if (render.middleware != undefined) {
|
|
1435
1395
|
app.use(render.middleware);
|
|
1436
1396
|
}
|
|
1397
|
+
case 42:
|
|
1437
1398
|
app.listen(config.http.port, config.http.hostname, function () {
|
|
1438
1399
|
app.context.miolo.logger.info("miolo is listening on " + config.http.hostname + ":" + config.http.port);
|
|
1439
1400
|
init_cron(app.context.miolo.logger);
|
|
@@ -1442,7 +1403,7 @@ function _miolo() {
|
|
|
1442
1403
|
}
|
|
1443
1404
|
});
|
|
1444
1405
|
return _context.abrupt("return", app);
|
|
1445
|
-
case
|
|
1406
|
+
case 44:
|
|
1446
1407
|
case "end":
|
|
1447
1408
|
return _context.stop();
|
|
1448
1409
|
}
|
|
@@ -1451,77 +1412,22 @@ function _miolo() {
|
|
|
1451
1412
|
return _miolo.apply(this, arguments);
|
|
1452
1413
|
}
|
|
1453
1414
|
|
|
1454
|
-
var Context = /*#__PURE__*/React.createContext();
|
|
1455
|
-
|
|
1456
|
-
var AppContext = function AppContext(_ref) {
|
|
1457
|
-
var context = _ref.context,
|
|
1458
|
-
children = _ref.children;
|
|
1459
|
-
var _useState = React.useState(context),
|
|
1460
|
-
innerContext = _useState[0],
|
|
1461
|
-
setInnerContext = _useState[1];
|
|
1462
|
-
React.useEffect(function () {
|
|
1463
|
-
setInnerContext(context);
|
|
1464
|
-
}, [context]);
|
|
1465
|
-
return /*#__PURE__*/React.createElement(Context.Provider, {
|
|
1466
|
-
value: {
|
|
1467
|
-
context: innerContext,
|
|
1468
|
-
setContext: setInnerContext
|
|
1469
|
-
}
|
|
1470
|
-
}, children);
|
|
1471
|
-
};
|
|
1472
|
-
|
|
1473
|
-
var AppSsr = function AppSsr(_ref) {
|
|
1474
|
-
var url = _ref.url,
|
|
1475
|
-
context = _ref.context,
|
|
1476
|
-
children = _ref.children;
|
|
1477
|
-
return /*#__PURE__*/React.createElement(server.StaticRouter, {
|
|
1478
|
-
location: url
|
|
1479
|
-
}, /*#__PURE__*/React.createElement(AppContext, {
|
|
1480
|
-
context: context
|
|
1481
|
-
}, children));
|
|
1482
|
-
};
|
|
1483
|
-
|
|
1484
1415
|
var ErrMessage = function ErrMessage(_ref) {
|
|
1485
1416
|
_ref.ctx;
|
|
1486
1417
|
var error = _ref.error;
|
|
1487
1418
|
return /*#__PURE__*/React.createElement("div", null, "[MIOLO-SERVER_TOOLS] Missing SSR renderer: " + error.toString());
|
|
1488
1419
|
};
|
|
1489
1420
|
|
|
1490
|
-
var html = "\n\t\t<!DOCTYPE html>\n\t\t<html lang=\"en\">\n\t\t<head>\n\t\t\t<meta charset=\"utf-8\">\n\t\t\t<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n\t\t\t<title>miolo</title>\n\t\t\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n\t\t\t<meta name=\"description\" content=\"miolo\" />\n\t\t\t<meta name=\"keywords\" content=\"miolo web\" />\n\t\t\t<meta name=\"author\" content=\"miolo.afialapis.com\" />\n\n\t\t\t<!-- Touch Icons - iOS and Android 2.1+ 180x180 pixels in size. --> \n\t\t\t<!--<link rel=\"apple-touch-icon-precomposed\" href=\"/favicon.ico\"/>-->\n\t\t\t<!-- Firefox, Chrome, Safari, IE 11+ and Opera. 196x196 pixels in size. -->\n\t\t\t<link rel=\"icon\" href=\"/favicon.ico\"/>\n\n\t\t\t
|
|
1421
|
+
var html = "\n\t\t<!DOCTYPE html>\n\t\t<html lang=\"en\">\n\t\t<head>\n\t\t\t<meta charset=\"utf-8\">\n\t\t\t<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n\t\t\t<title>miolo</title>\n\t\t\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n\t\t\t<meta name=\"description\" content=\"miolo\" />\n\t\t\t<meta name=\"keywords\" content=\"miolo web\" />\n\t\t\t<meta name=\"author\" content=\"miolo.afialapis.com\" />\n\n\t\t\t<!-- Touch Icons - iOS and Android 2.1+ 180x180 pixels in size. --> \n\t\t\t<!--<link rel=\"apple-touch-icon-precomposed\" href=\"/favicon.ico\"/>-->\n\t\t\t<!-- Firefox, Chrome, Safari, IE 11+ and Opera. 196x196 pixels in size. -->\n\t\t\t<link rel=\"icon\" href=\"/favicon.ico\"/>\n\n\t\t\t<script>\n\t\t\t\twindow.__CONTEXT = {context}\n\t\t\t</script>\t\t\n\t\t</head>\n\n\t\t<body>\n\t\t\t<div id=\"root\">{children}</div>\n\t\t</body>\n\t\t</html>\n ";
|
|
1491
1422
|
|
|
1492
1423
|
function init_render_middleware(loader, renderer, options) {
|
|
1493
1424
|
// parse options
|
|
1494
|
-
var html$1 = html
|
|
1495
|
-
port = 8000,
|
|
1496
|
-
use_css = true;
|
|
1425
|
+
var html$1 = html;
|
|
1497
1426
|
try {
|
|
1498
1427
|
if ((options == null ? void 0 : options.html) != undefined) {
|
|
1499
1428
|
html$1 = options.html;
|
|
1500
1429
|
}
|
|
1501
1430
|
} catch (_) {}
|
|
1502
|
-
try {
|
|
1503
|
-
if ((options == null ? void 0 : options.port) != undefined) {
|
|
1504
|
-
if (!isNaN(parseInt(options.port))) {
|
|
1505
|
-
port = parseInt(options.port);
|
|
1506
|
-
}
|
|
1507
|
-
}
|
|
1508
|
-
} catch (_) {}
|
|
1509
|
-
try {
|
|
1510
|
-
use_css = (options == null ? void 0 : options.css) !== false;
|
|
1511
|
-
} catch (_) {}
|
|
1512
|
-
var bundleURL = process.env.NODE_ENV === 'development' ? "<script src=\"//localhost:" + port + "/build/bundle.js\" async></script>" : '';
|
|
1513
|
-
var cssURL = use_css ? process.env.NODE_ENV === 'development' ? "<link href=\"//localhost:" + port + "/build/bundle.css\" rel=\"stylesheet\" media=\"all\"></link>" : '' : '';
|
|
1514
|
-
var def_renderer = function def_renderer(ctx) {
|
|
1515
|
-
try {
|
|
1516
|
-
return renderer(ctx);
|
|
1517
|
-
} catch (error) {
|
|
1518
|
-
ctx.miolo.logger.error('Missing renderer in the render middleware');
|
|
1519
|
-
return ErrMessage({
|
|
1520
|
-
ctx: ctx,
|
|
1521
|
-
error: error
|
|
1522
|
-
});
|
|
1523
|
-
}
|
|
1524
|
-
};
|
|
1525
1431
|
var def_loader = /*#__PURE__*/function () {
|
|
1526
1432
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(ctx) {
|
|
1527
1433
|
var res;
|
|
@@ -1566,7 +1472,6 @@ function init_render_middleware(loader, renderer, options) {
|
|
|
1566
1472
|
return def_loader(ctx);
|
|
1567
1473
|
case 2:
|
|
1568
1474
|
ssr_data = _context2.sent;
|
|
1569
|
-
//const ssr_comp = def_renderer(ctx)
|
|
1570
1475
|
isAuthed = false;
|
|
1571
1476
|
try {
|
|
1572
1477
|
isAuthed = (ctx == null ? void 0 : ctx.isAuthenticated()) === true;
|
|
@@ -1593,15 +1498,21 @@ function init_render_middleware(loader, renderer, options) {
|
|
|
1593
1498
|
ssr_data: ssr_data,
|
|
1594
1499
|
extra: ctx == null ? void 0 : ctx.extra
|
|
1595
1500
|
};
|
|
1596
|
-
ssr_html =
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
}
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1501
|
+
ssr_html = '';
|
|
1502
|
+
try {
|
|
1503
|
+
ssr_html = server.renderToString(renderer(ctx, context));
|
|
1504
|
+
} catch (error) {
|
|
1505
|
+
ctx.miolo.logger.error('Missing renderer in the render middleware');
|
|
1506
|
+
ctx.miolo.logger.error(error);
|
|
1507
|
+
ssr_html = server.renderToString( /*#__PURE__*/React.createElement(ErrMessage, {
|
|
1508
|
+
ctx: ctx,
|
|
1509
|
+
error: error
|
|
1510
|
+
}));
|
|
1511
|
+
}
|
|
1512
|
+
parsed_html = html$1.replace('{context}', JSON.stringify(context, null, 2)).replace('{children}', ssr_html);
|
|
1513
|
+
ctx.miolo.logger.debug("render_middleware() rendered HTML (" + Buffer.byteLength(ssr_html, 'utf8') + " bytes of SSR content, " + Buffer.byteLength(parsed_html, 'utf8') + " bytes total) ");
|
|
1603
1514
|
ctx.body = parsed_html;
|
|
1604
|
-
case
|
|
1515
|
+
case 15:
|
|
1605
1516
|
case "end":
|
|
1606
1517
|
return _context2.stop();
|
|
1607
1518
|
}
|
|
@@ -1884,10 +1795,50 @@ var passport = /*#__PURE__*/Object.freeze({
|
|
|
1884
1795
|
init_passport_auth_middleware: init_passport_auth_middleware
|
|
1885
1796
|
});
|
|
1886
1797
|
|
|
1798
|
+
var __my_filename = node_url.fileURLToPath(require('url').pathToFileURL(__filename).toString());
|
|
1799
|
+
var __my_dirname = path.dirname(__my_filename);
|
|
1800
|
+
var indexHTMLPath = path.resolve(__my_dirname, 'fallback_index.html');
|
|
1801
|
+
var indexHTML = node_fs.readFileSync(indexHTMLPath, 'utf8');
|
|
1802
|
+
function init_route_html_render(app, html) {
|
|
1803
|
+
// Server-side render
|
|
1804
|
+
function html_render(_x) {
|
|
1805
|
+
return _html_render.apply(this, arguments);
|
|
1806
|
+
}
|
|
1807
|
+
function _html_render() {
|
|
1808
|
+
_html_render = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(ctx) {
|
|
1809
|
+
var logger, reqid, ip, method, url, what;
|
|
1810
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1811
|
+
while (1) switch (_context.prev = _context.next) {
|
|
1812
|
+
case 0:
|
|
1813
|
+
logger = ctx.miolo.logger;
|
|
1814
|
+
reqid = ctx.requestId;
|
|
1815
|
+
ip = ctx.headers["x-real-ip"] || '127.0.0.1';
|
|
1816
|
+
method = ctx.request.method;
|
|
1817
|
+
url = ctx.request.url;
|
|
1818
|
+
what = html != undefined ? 'provided html' : 'fallback page';
|
|
1819
|
+
logger.info(reqid + " - " + ip + " : " + tinguir.cyan(method) + " " + tinguir.cyan(url) + " => Rendering " + what);
|
|
1820
|
+
ctx.body = html || indexHTML;
|
|
1821
|
+
case 8:
|
|
1822
|
+
case "end":
|
|
1823
|
+
return _context.stop();
|
|
1824
|
+
}
|
|
1825
|
+
}, _callee);
|
|
1826
|
+
}));
|
|
1827
|
+
return _html_render.apply(this, arguments);
|
|
1828
|
+
}
|
|
1829
|
+
var html_render_router = new Router();
|
|
1830
|
+
html_render_router.get('/', html_render);
|
|
1831
|
+
app.use(html_render_router.routes());
|
|
1832
|
+
}
|
|
1833
|
+
|
|
1834
|
+
var html_render = /*#__PURE__*/Object.freeze({
|
|
1835
|
+
__proto__: null,
|
|
1836
|
+
init_route_html_render: init_route_html_render
|
|
1837
|
+
});
|
|
1838
|
+
|
|
1887
1839
|
Object.defineProperty(exports, 'getConnection', {
|
|
1888
1840
|
enumerable: true,
|
|
1889
1841
|
get: function () { return calustra.getConnection; }
|
|
1890
1842
|
});
|
|
1891
|
-
exports.AppSsr = AppSsr;
|
|
1892
1843
|
exports.init_render_middleware = init_render_middleware;
|
|
1893
1844
|
exports.miolo = miolo;
|