@@ -4,12 +4,12 @@ const config = require('./config'),
44 cors = require ( 'cors' ) ,
55 express = require ( 'express' ) ,
66 exphbs = require ( 'express-handlebars' ) ,
7- moment = require ( 'moment ' ) ,
7+ getDayjs = require ( './services/dayjs-wrapper ' ) ,
88 mongodb = require ( './services/mongodb' ) ,
99 morgan = require ( 'morgan' ) ;
1010 // removeExpiredSubscriptions = require('./services/remove-expired-subscriptions');
1111
12- let app , hbs , server ;
12+ let app , hbs , server , dayjs ;
1313
1414require ( 'console-stamp' ) ( console , 'HH:MM:ss.l' ) ;
1515
@@ -22,18 +22,23 @@ morgan.format('mydate', () => {
2222 return df ( new Date ( ) , 'HH:MM:ss.l' ) ;
2323} ) ;
2424
25+ // Initialize dayjs at startup
26+ async function initializeDayjs ( ) {
27+ dayjs = await getDayjs ( ) ;
28+ }
29+
2530app = express ( ) ;
2631require ( 'express-ws' ) ( app ) ;
2732
2833app . use ( morgan ( '[:mydate] :method :url :status :res[content-length] - :remote-addr - :response-time ms' ) ) ;
2934
3035app . use ( cors ( ) ) ;
3136
32- // Configure handlebars template engine to work with moment
37+ // Configure handlebars template engine to work with dayjs
3338hbs = exphbs . create ( {
3439 helpers : {
3540 formatDate : ( datetime , format ) => {
36- return moment ( datetime ) . format ( format ) ;
41+ return dayjs ( datetime ) . format ( format ) ;
3742 }
3843 }
3944} ) ;
@@ -52,25 +57,29 @@ app.use(express.static('public', {
5257app . use ( require ( './controllers' ) ) ;
5358
5459// Start server
55- mongodb . connect ( 'rsscloud' , config . mongodbUri )
56- . then ( ( ) => {
57- server = app . listen ( config . port , ( ) => {
58- app . locals . host = config . domain ;
59- app . locals . port = server . address ( ) . port ;
60-
61- if ( app . locals . host . indexOf ( ':' ) > - 1 ) {
62- app . locals . host = '[' + app . locals . host + ']' ;
60+ async function startServer ( ) {
61+ await initializeDayjs ( ) ;
62+ await mongodb . connect ( 'rsscloud' , config . mongodbUri ) ;
63+
64+ server = app . listen ( config . port , ( ) => {
65+ app . locals . host = config . domain ;
66+ app . locals . port = server . address ( ) . port ;
67+
68+ if ( app . locals . host . indexOf ( ':' ) > - 1 ) {
69+ app . locals . host = '[' + app . locals . host + ']' ;
70+ }
71+
72+ console . log ( `Listening at http://${ app . locals . host } :${ app . locals . port } ` ) ;
73+ } )
74+ . on ( 'error' , ( error ) => {
75+ switch ( error . code ) {
76+ case 'EADDRINUSE' :
77+ console . log ( `Error: Port ${ config . port } is already in use.` ) ;
78+ break ;
79+ default :
80+ console . log ( error . code ) ;
6381 }
82+ } ) ;
83+ }
6484
65- console . log ( `Listening at http://${ app . locals . host } :${ app . locals . port } ` ) ;
66- } )
67- . on ( 'error' , ( error ) => {
68- switch ( error . code ) {
69- case 'EADDRINUSE' :
70- console . log ( `Error: Port ${ config . port } is already in use.` ) ;
71- break ;
72- default :
73- console . log ( error . code ) ;
74- }
75- } ) ;
76- } ) ;
85+ startServer ( ) . catch ( console . error ) ;
0 commit comments