Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Abstract Production vs Development #429

Merged
merged 1 commit into from
Nov 18, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions app.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
'use strict';

// Define some pseudo module globals
var isPro = require('./libs/debug').isPro;
var isDev = require('./libs/debug').isDev;
var isDbg = require('./libs/debug').isDbg;

//
var express = require('express');
var methodOverride = require('method-override');
var morgan = require('morgan');
Expand Down Expand Up @@ -51,7 +57,7 @@ if (app.get('port') === 443) {
});
}

if (process.env.NODE_ENV !== 'production') {
if (isDev || isDbg) {
app.use(morgan('dev'));
}

Expand Down Expand Up @@ -89,7 +95,7 @@ app.set('views', __dirname + '/views');

// Setup minification
// Order is important here as Ace will fail with an invalid content encoding issue
if (process.env.NODE_ENV === 'production') {
if (isPro || isDev) {
app.use(minify());
}

Expand Down
10 changes: 8 additions & 2 deletions controllers/_template.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
'use strict';

// Define some pseudo module globals
var isPro = require('../libs/debug').isPro;
var isDev = require('../libs/debug').isDev;
var isDbg = require('../libs/debug').isDbg;

//
var async = require('async');
var _ = require('underscore');
var pageMetadata = require('../libs/templateHelpers').pageMetadata;
Expand Down Expand Up @@ -28,7 +34,7 @@ exports.example = function (aReq, aRes, aNext) {
var tasks = [];

//---
function preRender() { };
function preRender() { }
function render() { aRes.render('pages/_templatePage', options); }
function asyncComplete() { preRender(); render(); }

Expand Down Expand Up @@ -57,7 +63,7 @@ exports.example = function (aReq, aRes, aNext) {
function preRender() {
// Pagination
options.paginationRendered = pagination.renderDefault(aReq);
};
}
function render() { aRes.render('pages/_templatePage', options); }
function asyncComplete() { preRender(); render(); }

Expand Down
12 changes: 9 additions & 3 deletions controllers/admin.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
'use strict';

// Define some pseudo module globals
var isPro = require('../libs/debug').isPro;
var isDev = require('../libs/debug').isDev;
var isDbg = require('../libs/debug').isDbg;

//
var async = require('async');
var exec = require('child_process').exec;

Expand Down Expand Up @@ -306,11 +312,11 @@ exports.adminNpmLsView = function (aReq, aRes, aNext) {
if (!options.isAdmin)
return aRes.send(403, { status: 403, message: 'Not an admin.' });

exec('npm ls --json', function(aErr, aStdout, aStderr) {
exec('npm ls --json', function (aErr, aStdout, aStderr) {
if (aErr) return aRes.send(501, { status: 501, message: 'Not implemented.' });
aRes.json(JSON.parse(aStdout));
});
}
};

// Manage oAuth strategies without having to restart the server
// When new keys are added, we load the new strategy
Expand All @@ -322,7 +328,7 @@ exports.apiAdminUpdate = function (aReq, aRes, aNext) {

postStrats = Object.keys(aReq.body).map(function (aPostStrat) {
var values = aReq.body[aPostStrat];
return { name: aPostStrat, id: values[0], key: values[1] }
return { name: aPostStrat, id: values[0], key: values[1] };
});

Strategy.find({}, function (aErr, aStrats) {
Expand Down
10 changes: 8 additions & 2 deletions controllers/auth.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
'use strict';

// Define some pseudo module globals
var isPro = require('../libs/debug').isPro;
var isDev = require('../libs/debug').isDev;
var isDbg = require('../libs/debug').isDbg;

//
var passport = require('passport');
var allStrategies = require('./strategies.json');
var loadPassport = require('../libs/passportLoader').loadPassport;
Expand Down Expand Up @@ -122,7 +128,7 @@ exports.callback = function (aReq, aRes, aNext) {
function (aToken, aRefreshOrSecretToken, aProfile, aDone) {
aReq.session.profile = aProfile;
verifyPassport(aProfile.id, strategy, username, aReq.session.user, aDone);
}
};
}

// This callback will happen after the verify routine
Expand Down Expand Up @@ -161,4 +167,4 @@ exports.callback = function (aReq, aRes, aNext) {
});

authenticate(aReq, aRes, aNext);
}
};
6 changes: 6 additions & 0 deletions controllers/discussion.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
'use strict';

// Define some pseudo module globals
var isPro = require('../libs/debug').isPro;
var isDev = require('../libs/debug').isDev;
var isDbg = require('../libs/debug').isDbg;

//
var async = require('async');
var _ = require('underscore');

Expand Down
10 changes: 8 additions & 2 deletions controllers/document.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
'use strict';

// Define some pseudo module globals
var isPro = require('../libs/debug').isPro;
var isDev = require('../libs/debug').isDev;
var isDbg = require('../libs/debug').isDbg;

//
var pkg = require('../package.json');

var fs = require('fs');
Expand Down Expand Up @@ -90,7 +96,7 @@ exports.view = function (aReq, aRes, aNext) {
aCallback(null);
});
}
], aCallback)
], aCallback);
});
}
else {
Expand Down Expand Up @@ -118,7 +124,7 @@ exports.view = function (aReq, aRes, aNext) {
return statusCodePage(aReq, aRes, aNext, {
statusCode: aErr.statusCode,
statusMessage: aErr.statusMessage
})
});
}

aRes.render('pages/documentPage', options);
Expand Down
10 changes: 8 additions & 2 deletions controllers/group.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
'use strict';

// Define some pseudo module globals
var isPro = require('../libs/debug').isPro;
var isDev = require('../libs/debug').isDev;
var isDbg = require('../libs/debug').isDbg;

//
var async = require('async');
var _ = require('underscore');

Expand Down Expand Up @@ -154,7 +160,7 @@ exports.list = function (aReq, aRes) {
if (options.groupList) {
pageMetadata(options, 'Groups', null, _.pluck(options.groupList, 'name'));
}
};
}
function render() { aRes.render('pages/groupListPage', options); }
function asyncComplete() { preRender(); render(); }

Expand Down Expand Up @@ -264,7 +270,7 @@ exports.view = function (aReq, aRes, aNext) {
} else if (options.isUserScriptListPage) {
options.scriptListIsEmptyMessage = 'This user hasn\'t added any scripts yet.';
}
};
}
function render() { aRes.render('pages/groupScriptListPage', options); }
function asyncComplete() { preRender(); render(); }

Expand Down
6 changes: 6 additions & 0 deletions controllers/index.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
'use strict';

// Define some pseudo module globals
var isPro = require('../libs/debug').isPro;
var isDev = require('../libs/debug').isDev;
var isDbg = require('../libs/debug').isDbg;

//
var async = require('async');
var _ = require('underscore');

Expand Down
14 changes: 10 additions & 4 deletions controllers/issue.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
'use strict';

// Define some pseudo module globals
var isPro = require('../libs/debug').isPro;
var isDev = require('../libs/debug').isDev;
var isDbg = require('../libs/debug').isDbg;

//
var async = require('async');
var _ = require('underscore');

Expand Down Expand Up @@ -126,7 +132,7 @@ exports.list = function (aReq, aRes, aNext) {
options.discussionListIsEmptyMessage = 'No closed discussions.';
}
}
};
}
function render() { aRes.render('pages/scriptIssueListPage', options); }
function asyncComplete() { preRender(); render(); }
async.parallel(tasks, asyncComplete);
Expand All @@ -146,7 +152,7 @@ exports.view = function (aReq, aRes, aNext) {

Script.findOne({
installName: scriptStorage.caseInsensitive(
installNameSlug + (type === 'libs' ? '.js' : '.user.js'))
installNameSlug + (type === 'libs' ? '.js' : '.user.js'))
}, function (aErr, aScriptData) {
if (aErr || !aScriptData) { return aNext(); }

Expand Down Expand Up @@ -222,7 +228,7 @@ exports.view = function (aReq, aRes, aNext) {

// Pagination
options.paginationRendered = pagination.renderDefault(aReq);
};
}
function render() { aRes.render('pages/scriptIssuePage', options); }
function asyncComplete() { preRender(); render(); }
async.parallel(tasks, asyncComplete);
Expand All @@ -244,7 +250,7 @@ exports.open = function (aReq, aRes, aNext) {

Script.findOne({
installName: scriptStorage.caseInsensitive(
installNameSlug + (type === 'libs' ? '.js' : '.user.js'))
installNameSlug + (type === 'libs' ? '.js' : '.user.js'))
}, function (aErr, aScriptData) {
function preRender() {
// Page metadata
Expand Down
6 changes: 6 additions & 0 deletions controllers/moderation.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
'use strict';

// Define some pseudo module globals
var isPro = require('../libs/debug').isPro;
var isDev = require('../libs/debug').isDev;
var isDbg = require('../libs/debug').isDbg;

//
var async = require('async');
var _ = require('underscore');

Expand Down
6 changes: 6 additions & 0 deletions controllers/remove.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
'use strict';

// Define some pseudo module globals
var isPro = require('../libs/debug').isPro;
var isDev = require('../libs/debug').isDev;
var isDbg = require('../libs/debug').isDbg;

//
var removeLib = require('../libs/remove');
var Script = require('../models/script').Script;
var User = require('../models/user').User;
Expand Down
12 changes: 9 additions & 3 deletions controllers/script.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
'use strict';

// Define some pseudo module globals
var isPro = require('../libs/debug').isPro;
var isDev = require('../libs/debug').isDev;
var isDbg = require('../libs/debug').isDbg;

//
var fs = require('fs');
var formidable = require('formidable');
var async = require('async');
Expand All @@ -13,7 +19,7 @@ var Script = require('../models/script').Script;
var Vote = require('../models/vote').Vote;

var scriptStorage = require('./scriptStorage');
var addScriptToGroups = require('./group').addScriptToGroups
var addScriptToGroups = require('./group').addScriptToGroups;
var flagLib = require('../libs/flag');
var removeLib = require('../libs/remove');
var modelQuery = require('../libs/modelQuery');
Expand Down Expand Up @@ -299,7 +305,7 @@ exports.view = function (aReq, aRes, aNext) {
pageMetadata(options, ['About', script.name, (script.isLib ? 'Libraries' : 'Scripts')],
script.meta.description, _.pluck(script.groups, 'name'));
}
};
}
function render() { aRes.render('pages/scriptPage', options); }
function asyncComplete() { preRender(); render(); }

Expand Down Expand Up @@ -365,7 +371,7 @@ exports.edit = function (aReq, aRes, aNext) {
});
options.groupNameListJSON = JSON.stringify(groupNameList);

};
}
function render() { aRes.render('pages/scriptEditMetadataPage', options); }
function asyncComplete() { preRender(); render(); }

Expand Down
12 changes: 9 additions & 3 deletions controllers/scriptStorage.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
'use strict';

// Define some pseudo module globals
var isPro = require('../libs/debug').isPro;
var isDev = require('../libs/debug').isDev;
var isDbg = require('../libs/debug').isDbg;

//
var AWS = require('aws-sdk');

var Script = require('../models/script').Script;
Expand All @@ -11,7 +17,7 @@ var userRoles = require('../models/userRoles.json');

var bucketName = 'OpenUserJS.org';

if (process.env.NODE_ENV === 'production') {
if (isPro) {
AWS.config.update({ region: 'us-east-1' });
} else {
// You need to install (and ruby too): https://github.com/jubos/fake-s3
Expand All @@ -27,7 +33,7 @@ if (process.env.NODE_ENV === 'production') {
});
}

function getInstallName (aReq) {
function getInstallName(aReq) {
return aReq.route.params.username + '/' + aReq.route.params.scriptname;
}
exports.getInstallName = getInstallName;
Expand Down Expand Up @@ -249,7 +255,7 @@ exports.storeScript = function (aUser, aMeta, aBuf, aCallback, aUpdate) {
var requires = null;
var collaborators = null;
var libraryRegex = new RegExp('^https?:\/\/' +
(process.env.NODE_ENV === 'production' ?
(isPro ?
'openuserjs\.org' : 'localhost:8080') +
'\/(?:libs\/src|src\/libs)\/(.+?\/.+?\.js)$', '');

Expand Down
Loading