mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-13 12:47:28 +01:00
* add files for new client side and reorg gulp tasks * add deps and script for new client * fix webpack paths so that building works * fix static assets not copied into prod build * fix linting * add eslint deps and re-enable it in webpack * add most missing deps for client side and split .babelrc for client * reorganize .eslintignore * update client tests paths and .gitignore * uncomment code * client: move App component * client: update oaths in App component * fix client tests and add more deps * add client side tests to npm test * fix typo in depencency name * update more deps * fix karma.conf.js and upgrade phantomjs * fix dep and move karma.conf to subdirectory * update karma.conf.js position in Gruntfile * try downgrading phantomjs * Fixup client tests (#8032) * Use phantom 2 * fix(tests): Fix refresher test * gitignore translation mock * Update karma version * disable e2e tests for new client from build * write vue templates with pug * add basic routing * remove unnecessary Function.bind shim * remove unused dependency
48 lines
1.4 KiB
JavaScript
48 lines
1.4 KiB
JavaScript
import mongoose from 'mongoose';
|
|
import autoinc from 'mongoose-id-autoinc';
|
|
import logger from '../website/server/libs/logger';
|
|
import nconf from 'nconf';
|
|
import repl from 'repl';
|
|
import gulp from 'gulp';
|
|
|
|
// Add additional properties to the repl's context
|
|
let improveRepl = (context) => {
|
|
|
|
// Let "exit" and "quit" terminate the console
|
|
['exit', 'quit'].forEach((term) => {
|
|
Object.defineProperty(context, term, { get () { process.exit(); }});
|
|
});
|
|
|
|
// "clear" clears the screen
|
|
Object.defineProperty(context, 'clear', { get () {
|
|
process.stdout.write('\u001B[2J\u001B[0;0f');
|
|
}});
|
|
|
|
context.Challenge = require('../website/server/models/challenge').model;
|
|
context.Group = require('../website/server/models/group').model;
|
|
context.User = require('../website/server/models/user').model;
|
|
|
|
var isProd = nconf.get('NODE_ENV') === 'production';
|
|
var mongooseOptions = !isProd ? {} : {
|
|
replset: { socketOptions: { keepAlive: 1, connectTimeoutMS: 30000 } },
|
|
server: { socketOptions: { keepAlive: 1, connectTimeoutMS: 30000 } },
|
|
};
|
|
autoinc.init(
|
|
mongoose.connect(
|
|
nconf.get('NODE_DB_URI'),
|
|
mongooseOptions,
|
|
function (err) {
|
|
if (err) throw err;
|
|
logger.info('Connected with Mongoose');
|
|
}
|
|
)
|
|
);
|
|
|
|
};
|
|
|
|
gulp.task('console', (cb) => {
|
|
improveRepl(repl.start({
|
|
prompt: 'Habitica > ',
|
|
}).context);
|
|
});
|