init, attempt to increase cold load speed

v1.18.x
psychobunny 11 years ago
parent 5b17f9a7a4
commit 281aa0049c

@ -33,6 +33,7 @@ var fs = require('fs'),
global.env = process.env.NODE_ENV || 'production'; global.env = process.env.NODE_ENV || 'production';
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, {

@ -2,7 +2,7 @@
/* globals define, ajaxify, socket, app, config, utils, translator */ /* globals define, ajaxify, socket, app, config, utils, translator */
define(['forum/account/header', 'uploader'], function(header, uploader) { define('forum/account/edit', ['forum/account/header', 'uploader'], function(header, uploader) {
var AccountEdit = {}, var AccountEdit = {},
gravatarPicture = '', gravatarPicture = '',
uploadedPicture = '', uploadedPicture = '',

@ -2,7 +2,7 @@
/* globals define, app, utils */ /* globals define, app, utils */
define(['forum/account/header', 'forum/infinitescroll'], function(header, infinitescroll) { define('forum/account/favourites', ['forum/account/header', 'forum/infinitescroll'], function(header, infinitescroll) {
var Favourites = {}; var Favourites = {};
Favourites.init = function() { Favourites.init = function() {

@ -1,4 +1,4 @@
define(['forum/account/header'], function(header) { define('forum/account/followers', ['forum/account/header'], function(header) {
var Followers = {}; var Followers = {};
Followers.init = function() { Followers.init = function() {

@ -1,4 +1,4 @@
define(['forum/account/header'], function(header) { define('forum/account/following', ['forum/account/header'], function(header) {
var Following = {}; var Following = {};
Following.init = function() { Following.init = function() {

@ -1,4 +1,4 @@
define(function() { define('forum/account/header', function() {
var AccountHeader = {}; var AccountHeader = {};
AccountHeader.init = function() { AccountHeader.init = function() {

@ -2,7 +2,7 @@
/* globals define, app, socket, utils */ /* globals define, app, socket, utils */
define(['forum/account/header', 'forum/infinitescroll'], function(header, infinitescroll) { define('forum/account/posts', ['forum/account/header', 'forum/infinitescroll'], function(header, infinitescroll) {
var AccountPosts = {}; var AccountPosts = {};
AccountPosts.init = function() { AccountPosts.init = function() {

@ -2,7 +2,7 @@
/* globals define, ajaxify, app, utils, socket, translator*/ /* globals define, ajaxify, app, utils, socket, translator*/
define(['forum/account/header'], function(header) { define('forum/account/profile', ['forum/account/header'], function(header) {
var Account = {}, var Account = {},
yourid, yourid,
theirid, theirid,

@ -1,4 +1,4 @@
define(['forum/account/header'], function(header) { define('forum/account/settings', ['forum/account/header'], function(header) {
var AccountSettings = {}; var AccountSettings = {};
AccountSettings.init = function() { AccountSettings.init = function() {

@ -2,7 +2,7 @@
/* globals define, app, socket, utils */ /* globals define, app, socket, utils */
define(['forum/account/header', 'forum/infinitescroll'], function(header, infinitescroll) { define('forum/account/topics', ['forum/account/header', 'forum/infinitescroll'], function(header, infinitescroll) {
var AccountTopics = {}; var AccountTopics = {};
AccountTopics.init = function() { AccountTopics.init = function() {

@ -1,7 +1,7 @@
"use strict"; "use strict";
/*global define, socket, app, bootbox, templates, ajaxify, RELATIVE_PATH*/ /*global define, socket, app, bootbox, templates, ajaxify, RELATIVE_PATH*/
define(['uploader'], function(uploader) { define('forum/admin/categories', ['uploader'], function(uploader) {
var Categories = {}; var Categories = {};
Categories.init = function() { Categories.init = function() {

@ -1,7 +1,7 @@
"use strict"; "use strict";
/*global define, templates, socket, ajaxify, app, bootbox*/ /*global define, templates, socket, ajaxify, app, bootbox*/
define(function() { define('forum/admin/groups', function() {
var Groups = {}; var Groups = {};
Groups.init = function() { Groups.init = function() {

@ -1,7 +1,7 @@
"use strict"; "use strict";
/*global define, ajaxify, app, socket, RELATIVE_PATH*/ /*global define, ajaxify, app, socket, RELATIVE_PATH*/
define(function() { define('forum/admin/index', function() {
var Admin = {}; var Admin = {};
Admin.init = function() { Admin.init = function() {

@ -1,7 +1,7 @@
"use strict"; "use strict";
/*global define*/ /*global define*/
define(['forum/admin/settings'], function(Settings) { define('forum/admin/languages', ['forum/admin/settings'], function(Settings) {
$(function() { $(function() {
Settings.prepare(); Settings.prepare();
}); });

@ -1,7 +1,7 @@
"use strict"; "use strict";
/* global define, app, socket */ /* global define, app, socket */
define(function() { define('forum/admin/plugins', function() {
var Plugins = { var Plugins = {
init: function() { init: function() {
var pluginsList = $('.plugins'), var pluginsList = $('.plugins'),

@ -1,7 +1,7 @@
"use strict"; "use strict";
/*global define, app, socket, RELATIVE_PATH */ /*global define, app, socket, RELATIVE_PATH */
define(['uploader', 'sounds'], function(uploader, sounds) { define('forum/admin/settings', ['uploader', 'sounds'], function(uploader, sounds) {
var Settings = {}; var Settings = {};
Settings.init = function() { Settings.init = function() {

@ -1,7 +1,7 @@
"use strict"; "use strict";
/* global define, socket */ /* global define, socket */
define(['sounds', 'settings'], function(Sounds, Settings) { define('forum/admin/sounds', ['sounds', 'settings'], function(Sounds, Settings) {
var SoundsAdmin = {}; var SoundsAdmin = {};
SoundsAdmin.init = function() { SoundsAdmin.init = function() {

@ -1,7 +1,7 @@
"use strict"; "use strict";
/*global define, socket, app, bootbox, tabIndent, config, RELATIVE_PATH*/ /*global define, socket, app, bootbox, tabIndent, config, RELATIVE_PATH*/
define(['forum/admin/settings'], function(Settings) { define('forum/admin/themes', ['forum/admin/settings'], function(Settings) {
var Themes = {}; var Themes = {};
function highlightSelectedTheme(themeId) { function highlightSelectedTheme(themeId) {

@ -1,6 +1,6 @@
"use strict"; "use strict";
/* global socket, define, templates, bootbox, app, ajaxify, */ /* global socket, define, templates, bootbox, app, ajaxify, */
define(function() { define('forum/admin/users', function() {
var Users = {}; var Users = {};
Users.init = function() { Users.init = function() {

@ -1,7 +1,7 @@
"use strict"; "use strict";
/* global define, config, templates, app, utils, ajaxify, socket, translator */ /* global define, config, templates, app, utils, ajaxify, socket, translator */
define(['composer', 'forum/pagination', 'forum/infinitescroll', 'share', 'navigator', 'forum/categoryTools'], function(composer, pagination, infinitescroll, share, navigator, categoryTools) { define('forum/category', ['composer', 'forum/pagination', 'forum/infinitescroll', 'share', 'navigator', 'forum/categoryTools'], function(composer, pagination, infinitescroll, share, navigator, categoryTools) {
var Category = {}; var Category = {};
$(window).on('action:ajaxify.start', function(ev, data) { $(window).on('action:ajaxify.start', function(ev, data) {

@ -4,7 +4,7 @@
/* globals define, app, translator, socket, bootbox */ /* globals define, app, translator, socket, bootbox */
define(['forum/topic/move', 'topicSelect'], function(move, topicSelect) { define('forum/categoryTools', ['forum/topic/move', 'topicSelect'], function(move, topicSelect) {
var CategoryTools = {}; var CategoryTools = {};

@ -2,7 +2,7 @@
/* globals define, app*/ /* globals define, app*/
define(function() { define('forum/chats', function() {
var Chats = {}; var Chats = {};
Chats.init = function() { Chats.init = function() {

@ -1,4 +1,4 @@
define(['notifications', 'chat'], function(Notifications, Chat) { define('forum/footer', ['notifications', 'chat'], function(Notifications, Chat) {
Notifications.prepareDOM(); Notifications.prepareDOM();
Chat.prepareDOM(); Chat.prepareDOM();

@ -1,6 +1,6 @@
"use strict"; "use strict";
define(function() { define('forum/groups/details', function() {
var Details = {}; var Details = {};
Details.init = function() { Details.init = function() {

@ -2,7 +2,7 @@
/* globals define, socket, app, templates, translator, ajaxify*/ /* globals define, socket, app, templates, translator, ajaxify*/
define(function() { define('forum/home', function() {
var home = {}; var home = {};
$(window).on('action:ajaxify.start', function(ev, data) { $(window).on('action:ajaxify.start', function(ev, data) {

@ -2,7 +2,7 @@
/* globals define, socket, ajaxify, translator, templates, app */ /* globals define, socket, ajaxify, translator, templates, app */
define(function() { define('forum/infinitescroll', function() {
var scroll = {}; var scroll = {};
var callback; var callback;

@ -1,7 +1,7 @@
"use strict"; "use strict";
/* global define, app, RELATIVE_PATH */ /* global define, app, RELATIVE_PATH */
define(function() { define('forum/login', function() {
var Login = {}; var Login = {};
Login.init = function() { Login.init = function() {

@ -1,4 +1,4 @@
define(function() { define('forum/notifications', function() {
var Notifications = {}; var Notifications = {};
Notifications.init = function() { Notifications.init = function() {

@ -1,7 +1,7 @@
'use strict'; 'use strict';
/*global define, utils, ajaxify, bootbox*/ /*global define, utils, ajaxify, bootbox*/
define(function() { define('forum/pagination', function() {
var pagination = {}; var pagination = {};
pagination.currentPage = 0; pagination.currentPage = 0;

@ -2,7 +2,7 @@
/* globals define, app, socket*/ /* globals define, app, socket*/
define(['forum/recent', 'forum/infinitescroll'], function(recent, infinitescroll) { define('forum/popular', ['forum/recent', 'forum/infinitescroll'], function(recent, infinitescroll) {
var Popular = {}, var Popular = {},
active = ''; active = '';

@ -2,7 +2,7 @@
/* globals define, app, socket, utils */ /* globals define, app, socket, utils */
define(['forum/infinitescroll'], function(infinitescroll) { define('forum/recent', ['forum/infinitescroll'], function(infinitescroll) {
var Recent = {}; var Recent = {};
var newTopicCount = 0, var newTopicCount = 0,

@ -3,7 +3,7 @@
/* globals define, app, utils, socket, config */ /* globals define, app, utils, socket, config */
define(function() { define('forum/register', function() {
var Register = {}, var Register = {},
validationError = false, validationError = false,
successIcon = '<i class="fa fa-check"></i>'; successIcon = '<i class="fa fa-check"></i>';

@ -1,4 +1,4 @@
define(function() { define('forum/reset', function() {
var ResetPassword = {}; var ResetPassword = {};
ResetPassword.init = function() { ResetPassword.init = function() {

@ -1,4 +1,4 @@
define(function() { define('forum/reset_code', function() {
var ResetCode = {}; var ResetCode = {};
ResetCode.init = function() { ResetCode.init = function() {

@ -1,4 +1,4 @@
define(function() { define('forum/search', function() {
var Search = {}; var Search = {};
Search.init = function() { Search.init = function() {

@ -2,7 +2,7 @@
/* globals define, app, socket */ /* globals define, app, socket */
define(['forum/recent', 'forum/infinitescroll'], function(recent, infinitescroll) { define('forum/tag', ['forum/recent', 'forum/infinitescroll'], function(recent, infinitescroll) {
var Tag = {}; var Tag = {};
Tag.init = function() { Tag.init = function() {

@ -3,7 +3,7 @@
/* globals define, app, templates, translator, socket, bootbox, config, ajaxify, RELATIVE_PATH, utils */ /* globals define, app, templates, translator, socket, bootbox, config, ajaxify, RELATIVE_PATH, utils */
define(['forum/pagination', 'forum/infinitescroll', 'forum/topic/threadTools', 'forum/topic/postTools', 'forum/topic/events', 'navigator'], function(pagination, infinitescroll, threadTools, postTools, events, navigator) { define('forum/topic', ['forum/pagination', 'forum/infinitescroll', 'forum/topic/threadTools', 'forum/topic/postTools', 'forum/topic/events', 'navigator'], function(pagination, infinitescroll, threadTools, postTools, events, navigator) {
var Topic = {}, var Topic = {},
scrollingToPost = false, scrollingToPost = false,
currentUrl = ''; currentUrl = '';

@ -4,7 +4,7 @@
/* globals define, app, translator, config, socket, ajaxify */ /* globals define, app, translator, config, socket, ajaxify */
define(function() { define('forum/topic/browsing', function() {
var Browsing = {}; var Browsing = {};

@ -3,7 +3,7 @@
/* globals app, ajaxify, define, socket */ /* globals app, ajaxify, define, socket */
define(['forum/topic/browsing', 'forum/topic/postTools', 'forum/topic/threadTools'], function(browsing, postTools, threadTools) { define('forum/topic/events', ['forum/topic/browsing', 'forum/topic/postTools', 'forum/topic/threadTools'], function(browsing, postTools, threadTools) {
var Events = {}; var Events = {};

@ -2,7 +2,7 @@
/* globals define, app, translator, socket */ /* globals define, app, translator, socket */
define(function() { define('forum/topic/fork', function() {
var Fork = {}, var Fork = {},
forkModal, forkModal,

@ -2,7 +2,7 @@
/* globals define, app, socket */ /* globals define, app, socket */
define(function() { define('forum/topic/move', function() {
var Move = {}, var Move = {},
modal, modal,

@ -2,7 +2,7 @@
/* globals define, app, translator, ajaxify, socket, bootbox */ /* globals define, app, translator, ajaxify, socket, bootbox */
define(['composer', 'share', 'navigator'], function(composer, share, navigator) { define('forum/topic/postTools', ['composer', 'share', 'navigator'], function(composer, share, navigator) {
var PostTools = {}, var PostTools = {},
topicName; topicName;

@ -2,7 +2,7 @@
/* globals define, app, translator, ajaxify, socket, bootbox */ /* globals define, app, translator, ajaxify, socket, bootbox */
define(['forum/topic/fork', 'forum/topic/move'], function(fork, move) { define('forum/topic/threadTools', ['forum/topic/fork', 'forum/topic/move'], function(fork, move) {
var ThreadTools = {}; var ThreadTools = {};

@ -2,7 +2,7 @@
/* globals define, app, socket */ /* globals define, app, socket */
define(['forum/recent', 'topicSelect', 'forum/infinitescroll'], function(recent, topicSelect, infinitescroll) { define('forum/unread', ['forum/recent', 'topicSelect', 'forum/infinitescroll'], function(recent, topicSelect, infinitescroll) {
var Unread = {}; var Unread = {};
$(window).on('action:ajaxify.start', function(ev, data) { $(window).on('action:ajaxify.start', function(ev, data) {

@ -1,4 +1,4 @@
define(function() { define('forum/users', function() {
var Users = {}; var Users = {};
Users.init = function() { Users.init = function() {

@ -1,7 +1,7 @@
'use strict'; 'use strict';
/* globals define, translator, templates */ /* globals define, translator, templates */
define(function() { define('alerts', function() {
var module = {}; var module = {};

@ -1,7 +1,7 @@
"use strict"; "use strict";
/* globals app, config, define, socket, translator, templates, utils */ /* globals app, config, define, socket, translator, templates, utils */
define(['taskbar', 'string', 'sounds'], function(taskbar, S, sounds) { define('chat', ['taskbar', 'string', 'sounds'], function(taskbar, S, sounds) {
var module = {}; var module = {};

@ -2,7 +2,7 @@
/* globals define, socket, app, config, ajaxify, utils, translator, templates, bootbox */ /* globals define, socket, app, config, ajaxify, utils, translator, templates, bootbox */
define(['taskbar', 'composer/controls', 'composer/uploads', 'composer/formatting', 'composer/drafts', 'composer/tags'], function(taskbar, controls, uploads, formatting, drafts, tags) { define('composer', ['taskbar', 'composer/controls', 'composer/uploads', 'composer/formatting', 'composer/drafts', 'composer/tags'], function(taskbar, controls, uploads, formatting, drafts, tags) {
var composer = { var composer = {
active: undefined, active: undefined,
posts: {} posts: {}

@ -2,7 +2,7 @@
/*global define*/ /*global define*/
define(function() { define('composer/controls', function() {
var controls = {}; var controls = {};
/*************************************************/ /*************************************************/

@ -2,7 +2,7 @@
/* globals define */ /* globals define */
define(function() { define('composer/drafts', function() {
var drafts = {}; var drafts = {};

@ -2,7 +2,7 @@
/* globals define */ /* globals define */
define(['composer/controls'], function(controls) { define('composer/formatting', ['composer/controls'], function(controls) {
var formatting = {}; var formatting = {};

@ -3,7 +3,7 @@
/*globals define*/ /*globals define*/
define(function() { define('composer/tags', function() {
var tags = {}; var tags = {};
tags.init = function(postContainer, postData) { tags.init = function(postContainer, postData) {

@ -2,7 +2,7 @@
/* globals define, utils, config, app */ /* globals define, utils, config, app */
define(function() { define('composer/uploads', function() {
var uploads = {}; var uploads = {};
uploads.initialize = function(post_uuid) { uploads.initialize = function(post_uuid) {

@ -4,7 +4,7 @@
/* globals app, define, ajaxify */ /* globals app, define, ajaxify */
define(function() { define('navigator', function() {
var navigator = {}; var navigator = {};
var index = 1; var index = 1;

@ -3,7 +3,7 @@
/* globals define, socket, translator, utils, config, app, ajaxify, Tinycon*/ /* globals define, socket, translator, utils, config, app, ajaxify, Tinycon*/
define(['sounds'], function(sound) { define('notifications', ['sounds'], function(sound) {
var Notifications = {}; var Notifications = {};
Notifications.prepareDOM = function() { Notifications.prepareDOM = function() {

@ -1,7 +1,7 @@
"use strict"; "use strict";
/*global define, app, socket*/ /*global define, app, socket*/
define(function () { define('settings', function () {
var DEFAULT_PLUGINS = [ var DEFAULT_PLUGINS = [
'settings/checkbox', 'settings/checkbox',

@ -1,4 +1,4 @@
define(function () { define('settings/array', function () {
var Settings = null, var Settings = null,
SettingsArray, SettingsArray,

@ -1,4 +1,4 @@
define(function () { define('settings/checkbox', function () {
var Settings = null, var Settings = null,
SettingsCheckbox; SettingsCheckbox;

@ -1,4 +1,4 @@
define(function () { define('settings/key', function () {
var Settings = null, var Settings = null,
SettingsKey, SettingsKey,

@ -1,4 +1,4 @@
define(function () { define('settings/number', function () {
return { return {
types: ['number'], types: ['number'],

@ -1,4 +1,4 @@
define(function () { define('settings/select', function () {
var Settings = null, var Settings = null,
SettingsSelect; SettingsSelect;

@ -1,4 +1,4 @@
define(function () { define('settings/textarea', function () {
var Settings = null, var Settings = null,
SettingsArea; SettingsArea;

@ -2,7 +2,7 @@
/* globals define */ /* globals define */
define(function() { define('share', function() {
var module = {}; var module = {};

@ -1,7 +1,7 @@
"use strict"; "use strict";
/* global define, socket, config */ /* global define, socket, config */
define(['buzz'], function(buzz) { define('sounds', ['buzz'], function(buzz) {
var Sounds = {}; var Sounds = {};
var loadedSounds = {}; var loadedSounds = {};

@ -1,4 +1,4 @@
define(function() { define('taskbar', function() {
var taskbar = { var taskbar = {
initialized: false, initialized: false,
init: function() { init: function() {

@ -2,7 +2,7 @@
/* globals define*/ /* globals define*/
define(function() { define('topicSelect', function() {
var TopicSelect = {}; var TopicSelect = {};
var lastSelected; var lastSelected;

@ -1,4 +1,4 @@
define(function() { define('uploader', function() {
var module = {}, var module = {},
maybeParse = function(response) { maybeParse = function(response) {

@ -250,9 +250,37 @@ var fs = require('fs'),
'src/widgets.js', 'src/widgets.js',
'src/translator.js', 'src/translator.js',
'src/helpers.js', 'src/helpers.js',
'src/overrides.js' 'src/overrides.js',
], ],
minFile: 'nodebb.min.js', minFile: 'nodebb.min.js',
loadRJS: function(callback) {
//return callback();
var rjsPath = path.join(__dirname, '..', '/public/src');
async.parallel({
forum: function(next) {
utils.walk(path.join(rjsPath, 'forum'), next);
},
modules: function(next) {
utils.walk(path.join(rjsPath, 'modules'), next);
}
}, function(err, rjsFiles) {
rjsFiles = rjsFiles.forum.concat(rjsFiles.modules);
rjsFiles = rjsFiles.map(function(file) {
return path.join('src', file.replace(rjsPath, ''));
});
Meta.js.scripts = Meta.js.scripts.concat(rjsFiles);
// todo: not sure how to convert string.js
Meta.js.scripts.splice(Meta.js.scripts.indexOf(path.join('src/modules/string.js'), 1));
console.log(Meta.js.scripts);
callback(err);
});
},
prepare: function (callback) { prepare: function (callback) {
plugins.fireHook('filter:scripts.get', this.scripts, function(err, scripts) { plugins.fireHook('filter:scripts.get', this.scripts, function(err, scripts) {
var ctime, var ctime,
@ -310,10 +338,12 @@ var fs = require('fs'),
} }
}); });
this.prepare(function() { Meta.js.loadRJS(function() {
minifier.send({ Meta.js.prepare(function() {
action: minify ? 'js.minify' : 'js.concatenate', minifier.send({
scripts: Meta.js.scripts action: minify ? 'js.minify' : 'js.concatenate',
scripts: Meta.js.scripts
});
}); });
}); });
}, },

Loading…
Cancel
Save