mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-16 06:07:21 +01:00
* removing duplicate translation key * fixing typos * extracting quest prerequisite check. adding check for previous quest completion, if required * fixing (undoing) static change, adding tests * more typos * correcting test failures * honoring quest prerequisites in quest invite API call. updating format of il8n string replacement arg * no longer using apiError, use translate method instead (msg key was not defined) * adding @apiError to docblock as requested in issue * removing checks on quest invite method. small window of opportunity/low risk
45 lines
1.1 KiB
JavaScript
45 lines
1.1 KiB
JavaScript
import nconf from 'nconf';
|
|
import logger from './libs/logger';
|
|
import express from 'express';
|
|
import http from 'http';
|
|
|
|
try {
|
|
// @TODO: May need to remove - testing
|
|
const memwatch = require('memwatch-next'); // eslint-disable-line global-require
|
|
memwatch.on('leak', (info) => {
|
|
const message = 'Memory leak detected.';
|
|
logger.error(message, info);
|
|
});
|
|
} catch (err) {
|
|
logger.info('"memwatch-next" couldn\'t be loaded.');
|
|
}
|
|
|
|
const server = http.createServer();
|
|
const app = express();
|
|
|
|
app.set('port', nconf.get('PORT'));
|
|
|
|
// Setup translations
|
|
// Must come before attach middlewares so Mongoose validations can use translations
|
|
import './libs/i18n';
|
|
|
|
import attachMiddlewares from './middlewares/index';
|
|
|
|
// Load config files
|
|
import './libs/setupMongoose';
|
|
import './libs/setupPassport';
|
|
|
|
// Load some schemas & models
|
|
import './models/challenge';
|
|
import './models/group';
|
|
import './models/user';
|
|
|
|
attachMiddlewares(app, server);
|
|
|
|
server.on('request', app);
|
|
server.listen(app.get('port'), () => {
|
|
logger.info(`Express server listening on port ${app.get('port')}`);
|
|
});
|
|
|
|
module.exports = server;
|