nconf and redis wrapper no longer global objects. jshinted app.js. updated sockets.io to latest

v1.18.x
psychobunny 12 years ago
parent eddddc694d
commit 64b071f277

@ -5,7 +5,7 @@
"indent_with_tabs": false, "indent_with_tabs": false,
"preserve_newlines": true, "preserve_newlines": true,
"max_preserve_newlines": 10, "max_preserve_newlines": 10,
"jslint_happy": false, "jslint_happy": true,
"brace_style": "collapse", "brace_style": "collapse",
"keep_array_indentation": false, "keep_array_indentation": false,
"keep_function_indentation": false, "keep_function_indentation": false,

@ -16,71 +16,71 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
// Configuration setup (function() {
nconf = require('nconf'); "use strict";
nconf.argv().env();
var fs = require('fs'), // Configuration setup
winston = require('winston'), var nconf = require('nconf');
pkg = require('./package.json'), nconf.argv().env();
url = require('url');
// Runtime environment
global.env = process.env.NODE_ENV || 'production';
var fs = require('fs'),
winston = require('winston'),
pkg = require('./package.json');
// Runtime environment
global.env = process.env.NODE_ENV || 'production';
winston.remove(winston.transports.Console); winston.remove(winston.transports.Console);
winston.add(winston.transports.Console, { winston.add(winston.transports.Console, {
colorize: true colorize: true
}); });
winston.add(winston.transports.File, { winston.add(winston.transports.File, {
filename: 'error.log', filename: 'error.log',
level: 'error' level: 'error'
}); });
// TODO: remove once https://github.com/flatiron/winston/issues/280 is fixed // TODO: remove once https://github.com/flatiron/winston/issues/280 is fixed
winston.err = function(err) { winston.err = function(err) {
winston.error(err.stack); winston.error(err.stack);
}; };
// Log GNU copyright info along with server info // Log GNU copyright info along with server info
winston.info('NodeBB v' + pkg.version + ' Copyright (C) 2013 DesignCreatePlay Inc.'); winston.info('NodeBB v' + pkg.version + ' Copyright (C) 2013 DesignCreatePlay Inc.');
winston.info('This program comes with ABSOLUTELY NO WARRANTY.'); winston.info('This program comes with ABSOLUTELY NO WARRANTY.');
winston.info('This is free software, and you are welcome to redistribute it under certain conditions.'); winston.info('This is free software, and you are welcome to redistribute it under certain conditions.');
winston.info(''); winston.info('');
if (fs.existsSync(__dirname + '/config.json') && (!nconf.get('setup') && !nconf.get('upgrade'))) { var meta = require('./src/meta.js');
if (fs.existsSync(__dirname + '/config.json') && (!nconf.get('setup') && !nconf.get('upgrade'))) {
// Load server-side config // Load server-side config
nconf.file({ nconf.file({
file: __dirname + '/config.json' file: __dirname + '/config.json'
}); });
var meta = require('./src/meta.js');
nconf.set('url', nconf.get('base_url') + (nconf.get('use_port') ? ':' + nconf.get('port') : '') + nconf.get('relative_path') + '/'); nconf.set('url', nconf.get('base_url') + (nconf.get('use_port') ? ':' + nconf.get('port') : '') + nconf.get('relative_path') + '/');
nconf.set('upload_url', nconf.get('url') + 'uploads/'); nconf.set('upload_url', nconf.get('url') + 'uploads/');
winston.info('Initializing NodeBB v' + pkg.version + ', on port ' + nconf.get('port') + ', using Redis store at ' + nconf.get('redis:host') + ':' + nconf.get('redis:port') + '.'); winston.info('Initializing NodeBB v' + pkg.version + ', on port ' + nconf.get('port') + ', using Redis store at ' + nconf.get('redis:host') + ':' + nconf.get('redis:port') + '.');
if (process.env.NODE_ENV === 'development') winston.info('Base Configuration OK.');
if (process.env.NODE_ENV === 'development') {
winston.info('Base Configuration OK.');
}
meta.configs.init(function() { meta.configs.init(function() {
// Initial setup for Redis & Reds // Initial setup for Redis & Reds
var reds = require('reds'); var reds = require('reds'),
RDB = require('./src/redis.js'); RDB = require('./src/redis.js');
reds.createClient = function() { reds.createClient = function() {
return reds.client || (reds.client = RDB); return reds.client || (reds.client = RDB);
} };
var categories = require('./src/categories.js'), var templates = require('./public/src/templates.js'),
templates = require('./public/src/templates.js'),
webserver = require('./src/webserver.js'), webserver = require('./src/webserver.js'),
websockets = require('./src/websockets.js'), websockets = require('./src/websockets.js'),
plugins = require('./src/plugins'), // Don't remove this - plugins initializes itself plugins = require('./src/plugins'); // Don't remove this - plugins initializes itself
admin = {
'categories': require('./src/admin/categories.js')
};
global.templates = {}; global.templates = {};
templates.init([ templates.init([
@ -94,24 +94,24 @@ if (fs.existsSync(__dirname + '/config.json') && (!nconf.get('setup') && !nconf.
templates.ready(webserver.init); templates.ready(webserver.init);
}); });
} else if (nconf.get('upgrade')) { } else if (nconf.get('upgrade')) {
nconf.file({ nconf.file({
file: __dirname + '/config.json' file: __dirname + '/config.json'
}); });
var meta = require('./src/meta.js');
meta.configs.init(function() { meta.configs.init(function() {
require('./src/upgrade').upgrade(); require('./src/upgrade').upgrade();
}); });
} else { } else {
// New install, ask setup questions // New install, ask setup questions
if (nconf.get('setup')) winston.info('NodeBB Setup Triggered via Command Line'); if (nconf.get('setup')) {
else winston.warn('Configuration not found, starting NodeBB setup'); winston.info('NodeBB Setup Triggered via Command Line');
}
else {
winston.warn('Configuration not found, starting NodeBB setup');
}
var install = require('./src/install'), var install = require('./src/install');
meta = {
config: {}
};
winston.info('Welcome to NodeBB!'); winston.info('Welcome to NodeBB!');
winston.info('This looks like a new installation, so you\'ll have to answer a few questions about your environment before we can proceed.'); winston.info('This looks like a new installation, so you\'ll have to answer a few questions about your environment before we can proceed.');
@ -126,4 +126,5 @@ if (fs.existsSync(__dirname + '/config.json') && (!nconf.get('setup') && !nconf.
process.exit(); process.exit();
}); });
} }
}());

@ -10,7 +10,7 @@
}, },
"main": "app.js", "main": "app.js",
"dependencies": { "dependencies": {
"socket.io": "~0.9.14", "socket.io": "~0.9.16",
"redis": "0.8.3", "redis": "0.8.3",
"express": "3.2.0", "express": "3.2.0",
"express-namespace": "0.1.1", "express-namespace": "0.1.1",

@ -4,7 +4,8 @@ var RDB = require('./redis.js'),
user = require('./user.js'), user = require('./user.js'),
async = require('async'), async = require('async'),
topics = require('./topics.js'), topics = require('./topics.js'),
winston = require('winston'); winston = require('winston'),
nconf = require('nconf');
(function(Categories) { (function(Categories) {

@ -6,7 +6,8 @@
fs = require('fs'), fs = require('fs'),
rss = require('rss'), rss = require('rss'),
winston = require('winston'), winston = require('winston'),
path = require('path'); path = require('path'),
nconf = require('nconf');
Feed.defaults = { Feed.defaults = {
ttl: 60, ttl: 60,

@ -6,6 +6,7 @@ var async = require('async'),
prompt = require('prompt'), prompt = require('prompt'),
winston = require('winston'), winston = require('winston'),
reds = require('reds'), reds = require('reds'),
nconf = require('nconf');
install = { install = {
questions: [{ questions: [{

@ -3,7 +3,8 @@ var utils = require('./../public/src/utils.js'),
async = require('async'), async = require('async'),
path = require('path'), path = require('path'),
fs = require('fs'), fs = require('fs'),
winston = require('winston'); winston = require('winston'),
nconf = require('nconf');
(function(Meta) { (function(Meta) {

@ -4,6 +4,7 @@ var RDB = require('./redis.js'),
threadTools = require('./threadTools.js'), threadTools = require('./threadTools.js'),
user = require('./user.js'), user = require('./user.js'),
async = require('async'), async = require('async'),
nconf = require('nconf'),
utils = require('../public/src/utils'), utils = require('../public/src/utils'),
plugins = require('./plugins'), plugins = require('./plugins'),

@ -1,7 +1,8 @@
(function(RedisDB) { (function(RedisDB) {
var redis = require('redis'), var redis = require('redis'),
utils = require('./../public/src/utils.js'), utils = require('./../public/src/utils.js'),
winston = require('winston'); winston = require('winston'),
nconf = require('nconf');
RedisDB.exports = redis.createClient(nconf.get('redis:port'), nconf.get('redis:host')); RedisDB.exports = redis.createClient(nconf.get('redis:port'), nconf.get('redis:host'));

@ -5,7 +5,8 @@ var user = require('./../user.js'),
pkg = require('./../../package.json'), pkg = require('./../../package.json'),
categories = require('./../categories.js'), categories = require('./../categories.js'),
plugins = require('../plugins'), plugins = require('../plugins'),
winston = require('winston'); winston = require('winston'),
nconf = require('nconf');
(function(Admin) { (function(Admin) {
Admin.isAdmin = function(req, res, next) { Admin.isAdmin = function(req, res, next) {

@ -5,7 +5,8 @@ var user = require('./../user.js'),
utils = require('./../../public/src/utils.js'), utils = require('./../../public/src/utils.js'),
pkg = require('../../package.json'), pkg = require('../../package.json'),
meta = require('./../meta.js'), meta = require('./../meta.js'),
path = require('path'); path = require('path'),
nconf = require('nconf');
(function(Api) { (function(Api) {

@ -4,7 +4,8 @@ var user = require('./../user.js'),
fs = require('fs'), fs = require('fs'),
utils = require('./../../public/src/utils.js'), utils = require('./../../public/src/utils.js'),
path = require('path'), path = require('path'),
winston = require('winston'); winston = require('winston'),
nconf = require('nconf');
(function(User) { (function(User) {
User.create_routes = function(app) { User.create_routes = function(app) {
@ -157,7 +158,7 @@ var user = require('./../user.js'),
return; return;
} }
var absolutePath = path.join(process.cwd(), global.nconf.get('upload_path'), path.basename(oldpicture)); var absolutePath = path.join(process.cwd(), nconf.get('upload_path'), path.basename(oldpicture));
fs.unlink(absolutePath, function(err) { fs.unlink(absolutePath, function(err) {
if (err) { if (err) {
@ -178,7 +179,7 @@ var user = require('./../user.js'),
} }
var filename = uid + '-profileimg' + extension; var filename = uid + '-profileimg' + extension;
var uploadPath = path.join(process.cwd(), global.nconf.get('upload_path'), filename); var uploadPath = path.join(process.cwd(), nconf.get('upload_path'), filename);
winston.info('Attempting upload to: ' + uploadPath); winston.info('Attempting upload to: ' + uploadPath);
@ -188,7 +189,7 @@ var user = require('./../user.js'),
is.on('end', function() { is.on('end', function() {
fs.unlinkSync(tempPath); fs.unlinkSync(tempPath);
var imageUrl = global.nconf.get('upload_url') + filename; var imageUrl = nconf.get('upload_url') + filename;
user.setUserField(uid, 'uploadedpicture', imageUrl); user.setUserField(uid, 'uploadedpicture', imageUrl);
user.setUserField(uid, 'picture', imageUrl); user.setUserField(uid, 'picture', imageUrl);

@ -2,6 +2,7 @@ var path = require('path'),
async = require('async'), async = require('async'),
sm = require('sitemap'), sm = require('sitemap'),
url = require('url'), url = require('url'),
nconf = require('nconf'),
categories = require('./categories'), categories = require('./categories'),
topics = require('./topics'), topics = require('./topics'),
sitemap = { sitemap = {

@ -8,7 +8,8 @@ var RDB = require('./redis.js'),
reds = require('reds'), reds = require('reds'),
topicSearch = reds.createSearch('nodebbtopicsearch'), topicSearch = reds.createSearch('nodebbtopicsearch'),
winston = require('winston'), winston = require('winston'),
meta = require('./meta'); meta = require('./meta'),
nconf = require('nconf');
(function(ThreadTools) { (function(ThreadTools) {

@ -9,6 +9,7 @@ var utils = require('./../public/src/utils.js'),
notifications = require('./notifications.js'), notifications = require('./notifications.js'),
topics = require('./topics.js'), topics = require('./topics.js'),
async = require('async'), async = require('async'),
nconf = require('nconf'),
userSearch = require('reds').createSearch('nodebbusersearch'); userSearch = require('reds').createSearch('nodebbusersearch');
(function(User) { (function(User) {

@ -21,7 +21,8 @@ var express = require('express'),
auth = require('./routes/authentication.js'), auth = require('./routes/authentication.js'),
meta = require('./meta.js'), meta = require('./meta.js'),
feed = require('./feed'), feed = require('./feed'),
plugins = require('./plugins'); plugins = require('./plugins'),
nconf = require('nconf');
(function(app) { (function(app) {
var templates = null; var templates = null;
@ -116,6 +117,7 @@ var express = require('express'),
module.exports.init = function() { module.exports.init = function() {
templates = global.templates; templates = global.templates;
server.listen(nconf.get('PORT') || nconf.get('port'));
} }
auth.initialize(app); auth.initialize(app);
@ -517,5 +519,5 @@ var express = require('express'),
}(WebServer)); }(WebServer));
server.listen(nconf.get('PORT') || nconf.get('port'));
global.server = server; global.server = server;
Loading…
Cancel
Save