diff --git a/.eslintrc b/.eslintrc index 52211a126d..bbba3aa94e 100644 --- a/.eslintrc +++ b/.eslintrc @@ -32,6 +32,7 @@ "no-prototype-builtins": "off", "new-cap": "off", "no-plusplus": ["error", { "allowForLoopAfterthoughts": true }], + "import/no-unresolved": "error", // ES6 "prefer-rest-params": "off", @@ -43,7 +44,6 @@ "vars-on-top": "off", // TODO - "import/no-unresolved": "off", "import/no-extraneous-dependencies": "off", "import/no-dynamic-require": "off", "import/newline-after-import": "off", diff --git a/public/src/utils.js b/public/src/utils.js index 171e3d86db..622b8281a9 100644 --- a/public/src/utils.js +++ b/public/src/utils.js @@ -1,13 +1,12 @@ 'use strict'; -(function (module) { - var utils; - var fs; - var XRegExp; - - if (typeof window === 'undefined') { - fs = require('fs'); - XRegExp = require('xregexp'); +(function (factory) { + if (typeof module === 'object' && module.exports) { + var file = require('../../src/file'); + module.exports = factory(require('xregexp')); + module.exports.walk = function (dir, done) { + file.walk(dir, done); + }; process.profile = function (operation, start) { console.log('%s took %d milliseconds', operation, process.elapsedTimeSince(start)); @@ -18,11 +17,10 @@ return (diff[0] * 1e3) + (diff[1] / 1e6); }; } else { - XRegExp = window.XRegExp; + window.utils = factory(window.XRegExp); } - - - utils = { +}(function (XRegExp) { + var utils = { generateUUID: function () { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { var r = Math.random() * 16 | 0; @@ -31,49 +29,6 @@ }); }, - // Adapted from http://stackoverflow.com/questions/5827612/node-js-fs-readdir-recursive-directory-search - walk: function (dir, done) { - var results = []; - - fs.readdir(dir, function (err, list) { - if (err) { - return done(err); - } - var pending = list.length; - if (!pending) { - return done(null, results); - } - list.forEach(function (file) { - file = dir + '/' + file; - fs.stat(file, function (err, stat) { - if (err) { - return done(err); - } - - if (stat && stat.isDirectory()) { - utils.walk(file, function (err, res) { - if (err) { - return done(err); - } - - results = results.concat(res); - pending -= 1; - if (!pending) { - done(null, results); - } - }); - } else { - results.push(file); - pending -= 1; - if (!pending) { - done(null, results); - } - } - }); - }); - }); - }, - invalidUnicodeChars: XRegExp('[^\\p{L}\\s\\d\\-_]', 'g'), invalidLatinChars: /[^\w\s\d\-_]/g, trimRegex: /^\s+|\s+$/g, @@ -447,11 +402,6 @@ }, }; - module.exports = utils; - if (typeof window !== 'undefined') { - window.utils = module.exports; - } - /* eslint "no-extend-native": "off" */ if (typeof String.prototype.startsWith !== 'function') { String.prototype.startsWith = function (prefix) { @@ -479,8 +429,6 @@ return this.replace(/\s+$/g, ''); }; } -}(typeof module === 'undefined' ? { - module: { - exports: {}, - }, -} : module)); + + return utils; +})); diff --git a/src/admin/search.js b/src/admin/search.js index 3a6f52cfd0..6ffd9db768 100644 --- a/src/admin/search.js +++ b/src/admin/search.js @@ -6,8 +6,8 @@ var async = require('async'); var sanitizeHTML = require('sanitize-html'); var nconf = require('nconf'); -var utils = require('../../public/src/utils'); -var Translator = require('../../public/src/modules/translator').Translator; +var file = require('../file'); +var Translator = require('../translator').Translator; function filterDirectories(directories) { return directories.map(function (dir) { @@ -24,7 +24,7 @@ function filterDirectories(directories) { } function getAdminNamespaces(callback) { - utils.walk(path.resolve(nconf.get('views_dir'), 'admin'), function (err, directories) { + file.walk(path.resolve(nconf.get('views_dir'), 'admin'), function (err, directories) { if (err) { return callback(err); } diff --git a/src/batch.js b/src/batch.js index cb3fd298a1..475c4aa7ca 100644 --- a/src/batch.js +++ b/src/batch.js @@ -4,7 +4,7 @@ var async = require('async'); var db = require('./database'); -var utils = require('../public/src/utils'); +var utils = require('./utils'); var DEFAULT_BATCH_SIZE = 100; diff --git a/src/categories/create.js b/src/categories/create.js index 7be163bd5b..90380c0de0 100644 --- a/src/categories/create.js +++ b/src/categories/create.js @@ -6,7 +6,7 @@ var db = require('../database'); var groups = require('../groups'); var plugins = require('../plugins'); var privileges = require('../privileges'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); module.exports = function (Categories) { Categories.create = function (data, callback) { diff --git a/src/categories/update.js b/src/categories/update.js index 04bf0e2235..866e6cd748 100644 --- a/src/categories/update.js +++ b/src/categories/update.js @@ -5,8 +5,8 @@ var async = require('async'); var db = require('../database'); var meta = require('../meta'); -var utils = require('../../public/src/utils'); -var translator = require('../../public/src/modules/translator'); +var utils = require('../utils'); +var translator = require('../translator'); var plugins = require('../plugins'); module.exports = function (Categories) { diff --git a/src/controllers/accounts/helpers.js b/src/controllers/accounts/helpers.js index 1ee9a08678..2a40e4044d 100644 --- a/src/controllers/accounts/helpers.js +++ b/src/controllers/accounts/helpers.js @@ -9,7 +9,7 @@ var user = require('../../user'); var groups = require('../../groups'); var plugins = require('../../plugins'); var meta = require('../../meta'); -var utils = require('../../../public/src/utils'); +var utils = require('../../utils'); var helpers = {}; diff --git a/src/controllers/admin/categories.js b/src/controllers/admin/categories.js index 4a60fc14e2..3a3b1a6fa4 100644 --- a/src/controllers/admin/categories.js +++ b/src/controllers/admin/categories.js @@ -6,7 +6,7 @@ var categories = require('../../categories'); var privileges = require('../../privileges'); var analytics = require('../../analytics'); var plugins = require('../../plugins'); -var translator = require('../../../public/src/modules/translator'); +var translator = require('../../translator'); var categoriesController = {}; diff --git a/src/controllers/admin/settings.js b/src/controllers/admin/settings.js index 55e5a1dfbf..7d1db3e73e 100644 --- a/src/controllers/admin/settings.js +++ b/src/controllers/admin/settings.js @@ -24,13 +24,13 @@ settingsController.get = function (req, res, next) { function renderEmail(req, res, next) { var fs = require('fs'); var path = require('path'); - var utils = require('../../../public/src/utils'); + var file = require('../../file'); var emailsPath = path.join(nconf.get('views_dir'), 'emails'); async.waterfall([ function (next) { - utils.walk(emailsPath, next); + file.walk(emailsPath, next); }, function (emails, next) { async.map(emails, function (email, next) { diff --git a/src/controllers/api.js b/src/controllers/api.js index d0975c71fa..36f9355488 100644 --- a/src/controllers/api.js +++ b/src/controllers/api.js @@ -12,7 +12,7 @@ var categories = require('../categories'); var privileges = require('../privileges'); var plugins = require('../plugins'); var widgets = require('../widgets'); -var translator = require('../../public/src/modules/translator'); +var translator = require('../translator'); var apiController = module.exports; diff --git a/src/controllers/authentication.js b/src/controllers/authentication.js index 6a2051d2c9..396aafd130 100644 --- a/src/controllers/authentication.js +++ b/src/controllers/authentication.js @@ -11,7 +11,7 @@ var db = require('../database'); var meta = require('../meta'); var user = require('../user'); var plugins = require('../plugins'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); var Password = require('../password'); var sockets = require('../socket.io'); diff --git a/src/controllers/category.js b/src/controllers/category.js index ce5f7b5e07..88b49c0b24 100644 --- a/src/controllers/category.js +++ b/src/controllers/category.js @@ -11,7 +11,7 @@ var categories = require('../categories'); var meta = require('../meta'); var pagination = require('../pagination'); var helpers = require('./helpers'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); var categoryController = {}; diff --git a/src/controllers/topics.js b/src/controllers/topics.js index adfad461e2..4fe1bf96d5 100644 --- a/src/controllers/topics.js +++ b/src/controllers/topics.js @@ -13,7 +13,7 @@ var privileges = require('../privileges'); var plugins = require('../plugins'); var helpers = require('./helpers'); var pagination = require('../pagination'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); var topicsController = {}; diff --git a/src/database/mongo/sorted.js b/src/database/mongo/sorted.js index defaed80fc..59bd05b9fd 100644 --- a/src/database/mongo/sorted.js +++ b/src/database/mongo/sorted.js @@ -1,7 +1,7 @@ 'use strict'; var async = require('async'); -var utils = require('../../../public/src/utils'); +var utils = require('../../utils'); module.exports = function (db, module) { var helpers = module.helpers.mongo; diff --git a/src/database/redis/sorted.js b/src/database/redis/sorted.js index a2c18296db..67f55bf343 100644 --- a/src/database/redis/sorted.js +++ b/src/database/redis/sorted.js @@ -1,7 +1,7 @@ 'use strict'; module.exports = function (redisClient, module) { - var utils = require('../../../public/src/utils'); + var utils = require('../../utils'); var helpers = module.helpers.redis; diff --git a/src/emailer.js b/src/emailer.js index 95ffbdceba..bad8f22650 100644 --- a/src/emailer.js +++ b/src/emailer.js @@ -13,7 +13,7 @@ var url = require('url'); var User = require('./user'); var Plugins = require('./plugins'); var meta = require('./meta'); -var translator = require('../public/src/modules/translator'); +var translator = require('./translator'); var transports = { sendmail: nodemailer.createTransport(sendmailTransport()), diff --git a/src/events.js b/src/events.js index ab2864bc23..c7a8b26638 100644 --- a/src/events.js +++ b/src/events.js @@ -7,7 +7,7 @@ var validator = require('validator'); var db = require('./database'); var batch = require('./batch'); var user = require('./user'); -var utils = require('../public/src/utils'); +var utils = require('./utils'); (function (events) { events.log = function (data, callback) { diff --git a/src/file.js b/src/file.js index 78d428c41e..5a1e65a4b2 100644 --- a/src/file.js +++ b/src/file.js @@ -8,9 +8,9 @@ var jimp = require('jimp'); var mkdirp = require('mkdirp'); var mime = require('mime'); -var utils = require('../public/src/utils'); +var utils = require('./utils'); -var file = {}; +var file = module.exports; file.saveFileToLocal = function (filename, folder, tempPath, callback) { /* @@ -129,4 +129,47 @@ file.typeToExtension = function (type) { return extension; }; +// Adapted from http://stackoverflow.com/questions/5827612/node-js-fs-readdir-recursive-directory-search +file.walk = function (dir, done) { + var results = []; + + fs.readdir(dir, function (err, list) { + if (err) { + return done(err); + } + var pending = list.length; + if (!pending) { + return done(null, results); + } + list.forEach(function (filename) { + filename = dir + '/' + filename; + fs.stat(filename, function (err, stat) { + if (err) { + return done(err); + } + + if (stat && stat.isDirectory()) { + file.walk(filename, function (err, res) { + if (err) { + return done(err); + } + + results = results.concat(res); + pending -= 1; + if (!pending) { + done(null, results); + } + }); + } else { + results.push(filename); + pending -= 1; + if (!pending) { + done(null, results); + } + } + }); + }); + }); +}; + module.exports = file; diff --git a/src/groups.js b/src/groups.js index fd8c4a958f..6462819e9e 100644 --- a/src/groups.js +++ b/src/groups.js @@ -6,7 +6,7 @@ var validator = require('validator'); var user = require('./user'); var db = require('./database'); var plugins = require('./plugins'); -var utils = require('../public/src/utils'); +var utils = require('./utils'); var Groups = module.exports; diff --git a/src/groups/create.js b/src/groups/create.js index 4b680b8992..a14441608f 100644 --- a/src/groups/create.js +++ b/src/groups/create.js @@ -3,7 +3,7 @@ var async = require('async'); var meta = require('../meta'); var plugins = require('../plugins'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); var db = require('../database'); module.exports = function (Groups) { diff --git a/src/groups/data.js b/src/groups/data.js index 24e7f99a02..919a257368 100644 --- a/src/groups/data.js +++ b/src/groups/data.js @@ -5,7 +5,7 @@ var validator = require('validator'); var db = require('../database'); var plugins = require('../plugins'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); module.exports = function (Groups) { Groups.getGroupsData = function (groupNames, callback) { diff --git a/src/groups/delete.js b/src/groups/delete.js index 6aed7173a2..e05eff6370 100644 --- a/src/groups/delete.js +++ b/src/groups/delete.js @@ -2,7 +2,7 @@ var async = require('async'); var plugins = require('../plugins'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); var db = require('./../database'); module.exports = function (Groups) { diff --git a/src/groups/membership.js b/src/groups/membership.js index 6bcafd2343..6337db1d8a 100644 --- a/src/groups/membership.js +++ b/src/groups/membership.js @@ -5,7 +5,7 @@ var winston = require('winston'); var _ = require('underscore'); var user = require('../user'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); var plugins = require('../plugins'); var notifications = require('../notifications'); var db = require('../database'); diff --git a/src/groups/update.js b/src/groups/update.js index 9bf53886e5..73104fd229 100644 --- a/src/groups/update.js +++ b/src/groups/update.js @@ -4,7 +4,7 @@ var async = require('async'); var winston = require('winston'); var plugins = require('../plugins'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); var db = require('../database'); diff --git a/src/install.js b/src/install.js index a06a138f26..50e8328682 100644 --- a/src/install.js +++ b/src/install.js @@ -6,7 +6,7 @@ var path = require('path'); var prompt = require('prompt'); var winston = require('winston'); var nconf = require('nconf'); -var utils = require('../public/src/utils.js'); +var utils = require('./utils.js'); var install = {}; var questions = {}; diff --git a/src/messaging.js b/src/messaging.js index e141adff4f..aa16cd0b36 100644 --- a/src/messaging.js +++ b/src/messaging.js @@ -8,7 +8,7 @@ var db = require('./database'); var user = require('./user'); var plugins = require('./plugins'); var meta = require('./meta'); -var utils = require('../public/src/utils'); +var utils = require('./utils'); var Messaging = module.exports; diff --git a/src/messaging/data.js b/src/messaging/data.js index e3cb67fbd8..3805b1c6f1 100644 --- a/src/messaging/data.js +++ b/src/messaging/data.js @@ -5,7 +5,7 @@ var S = require('string'); var db = require('../database'); var user = require('../user'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); module.exports = function (Messaging) { Messaging.getMessageField = function (mid, field, callback) { diff --git a/src/meta.js b/src/meta.js index 6cbccd70a1..c67369a8d9 100644 --- a/src/meta.js +++ b/src/meta.js @@ -6,7 +6,7 @@ var os = require('os'); var nconf = require('nconf'); var pubsub = require('./pubsub'); -var utils = require('../public/src/utils'); +var utils = require('./utils'); (function (Meta) { Meta.reloadRequired = false; diff --git a/src/meta/css.js b/src/meta/css.js index 33bd0877e0..88ad3348e8 100644 --- a/src/meta/css.js +++ b/src/meta/css.js @@ -13,7 +13,6 @@ var clean = require('postcss-clean'); var plugins = require('../plugins'); var db = require('../database'); var file = require('../file'); -var utils = require('../../public/src/utils'); module.exports = function (Meta) { Meta.css = {}; @@ -106,7 +105,7 @@ module.exports = function (Meta) { }); async.each(pluginDirectories, function (directory, next) { - utils.walk(directory, function (err, styleFiles) { + file.walk(directory, function (err, styleFiles) { if (err) { return next(err); } diff --git a/src/meta/js.js b/src/meta/js.js index 72e41c578f..5efd5386cd 100644 --- a/src/meta/js.js +++ b/src/meta/js.js @@ -11,7 +11,6 @@ var uglifyjs = require('uglify-js'); var file = require('../file'); var plugins = require('../plugins'); -var utils = require('../../public/src/utils'); var minifierPath = path.join(__dirname, 'minifier.js'); @@ -168,7 +167,7 @@ module.exports = function (Meta) { }); async.each(dirs, function (dir, next) { - utils.walk(dir, function (err, files) { + file.walk(dir, function (err, files) { if (err) { return next(err); } @@ -293,7 +292,7 @@ module.exports = function (Meta) { }); async.each(pluginDirectories, function (directory, next) { - utils.walk(directory, function (err, scripts) { + file.walk(directory, function (err, scripts) { pluginsScripts = pluginsScripts.concat(scripts); next(err); }); diff --git a/src/meta/languages.js b/src/meta/languages.js index 67bd9fabd5..b420445f16 100644 --- a/src/meta/languages.js +++ b/src/meta/languages.js @@ -8,7 +8,6 @@ var mkdirp = require('mkdirp'); var rimraf = require('rimraf'); var file = require('../file'); -var utils = require('../../public/src/utils'); var Plugins = require('../plugins'); var db = require('../database'); @@ -67,7 +66,7 @@ function getTranslationTree(callback) { async.parallel([ // get core languages and namespaces function (nxt) { - utils.walk(coreLanguagesPath, function (err, paths) { + file.walk(coreLanguagesPath, function (err, paths) { if (err) { return nxt(err); } @@ -80,7 +79,7 @@ function getTranslationTree(callback) { function (nxt) { async.each(plugins, function (pluginData, cb) { var pathToFolder = path.join(__dirname, '../../node_modules/', pluginData.id, pluginData.languages); - utils.walk(pathToFolder, function (err, paths) { + file.walk(pathToFolder, function (err, paths) { if (err) { return cb(err); } diff --git a/src/meta/templates.js b/src/meta/templates.js index 21b5889d26..9420959694 100644 --- a/src/meta/templates.js +++ b/src/meta/templates.js @@ -9,7 +9,7 @@ var fs = require('fs'); var nconf = require('nconf'); var plugins = require('../plugins'); -var utils = require('../../public/src/utils'); +var file = require('../file'); var Templates = {}; @@ -62,11 +62,11 @@ function preparePaths(baseTemplatesPaths, callback) { async.parallel({ coreTpls: function (next) { - utils.walk(coreTemplatesPath, next); + file.walk(coreTemplatesPath, next); }, baseThemes: function (next) { async.map(baseTemplatesPaths, function (baseTemplatePath, next) { - utils.walk(baseTemplatePath, function (err, paths) { + file.walk(baseTemplatePath, function (err, paths) { paths = paths.map(function (tpl) { return { base: baseTemplatePath, diff --git a/src/middleware/render.js b/src/middleware/render.js index 88e9879887..366f6f9f2a 100644 --- a/src/middleware/render.js +++ b/src/middleware/render.js @@ -6,7 +6,7 @@ var validator = require('validator'); var winston = require('winston'); var plugins = require('../plugins'); -var translator = require('../../public/src/modules/translator'); +var translator = require('../translator'); module.exports = function (middleware) { middleware.processRender = function (req, res, next) { diff --git a/src/navigation/admin.js b/src/navigation/admin.js index 0917e9e524..6b0984a466 100644 --- a/src/navigation/admin.js +++ b/src/navigation/admin.js @@ -3,7 +3,7 @@ var async = require('async'); var plugins = require('../plugins'); var db = require('../database'); -var translator = require('../../public/src/modules/translator'); +var translator = require('../translator'); var pubsub = require('../pubsub'); var admin = module.exports; diff --git a/src/navigation/index.js b/src/navigation/index.js index 2cb24f3a9f..76b0ceeceb 100644 --- a/src/navigation/index.js +++ b/src/navigation/index.js @@ -2,7 +2,7 @@ var nconf = require('nconf'); var admin = require('./admin'); -var translator = require('../../public/src/modules/translator'); +var translator = require('../translator'); var navigation = {}; diff --git a/src/notifications.js b/src/notifications.js index 31960dc2f1..147ae7fea4 100644 --- a/src/notifications.js +++ b/src/notifications.js @@ -13,7 +13,7 @@ var groups = require('./groups'); var meta = require('./meta'); var batch = require('./batch'); var plugins = require('./plugins'); -var utils = require('../public/src/utils'); +var utils = require('./utils'); (function (Notifications) { Notifications.init = function () { diff --git a/src/plugins.js b/src/plugins.js index 7c2ecaee25..e4f1fa8312 100644 --- a/src/plugins.js +++ b/src/plugins.js @@ -9,7 +9,6 @@ var express = require('express'); var nconf = require('nconf'); var db = require('./database'); -var utils = require('../public/src/utils'); var hotswap = require('./hotswap'); var file = require('./file'); var languages = require('./languages'); @@ -176,7 +175,7 @@ var middleware; if (plugin.templates || plugin.id.startsWith('nodebb-theme-')) { winston.verbose('[plugins] Loading templates (' + plugin.id + ')'); var templatesPath = path.join(__dirname, '../node_modules', plugin.id, plugin.templates || 'templates'); - utils.walk(templatesPath, function (err, pluginTemplates) { + file.walk(templatesPath, function (err, pluginTemplates) { if (pluginTemplates) { pluginTemplates.forEach(function (pluginTemplate) { if (pluginTemplate.endsWith('.tpl')) { diff --git a/src/posts.js b/src/posts.js index c7e7ec3e0a..4b9febae07 100644 --- a/src/posts.js +++ b/src/posts.js @@ -4,7 +4,7 @@ var async = require('async'); var _ = require('underscore'); var db = require('./database'); -var utils = require('../public/src/utils'); +var utils = require('./utils'); var user = require('./user'); var topics = require('./topics'); var privileges = require('./privileges'); diff --git a/src/posts/create.js b/src/posts/create.js index e8e24a5585..86faf0ffa9 100644 --- a/src/posts/create.js +++ b/src/posts/create.js @@ -9,7 +9,7 @@ var plugins = require('../plugins'); var user = require('../user'); var topics = require('../topics'); var categories = require('../categories'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); module.exports = function (Posts) { Posts.create = function (data, callback) { diff --git a/src/posts/edit.js b/src/posts/edit.js index 863888a6ce..3e9d295f19 100644 --- a/src/posts/edit.js +++ b/src/posts/edit.js @@ -11,7 +11,7 @@ var privileges = require('../privileges'); var plugins = require('../plugins'); var cache = require('./cache'); var pubsub = require('../pubsub'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); module.exports = function (Posts) { pubsub.on('post:edit', function (pid) { diff --git a/src/posts/parse.js b/src/posts/parse.js index 8ac2028bbd..e5ce10e1ac 100644 --- a/src/posts/parse.js +++ b/src/posts/parse.js @@ -9,7 +9,7 @@ var S = require('string'); var meta = require('../meta'); var cache = require('./cache'); var plugins = require('../plugins'); -var translator = require('../../public/src/modules/translator'); +var translator = require('../translator'); var urlRegex = /href="([^"]+)"/g; diff --git a/src/posts/summary.js b/src/posts/summary.js index 93e322229d..a05718b95c 100644 --- a/src/posts/summary.js +++ b/src/posts/summary.js @@ -9,7 +9,7 @@ var db = require('../database'); var user = require('../user'); var plugins = require('../plugins'); var categories = require('../categories'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); module.exports = function (Posts) { diff --git a/src/posts/topics.js b/src/posts/topics.js index eca6da493a..219be7b0d3 100644 --- a/src/posts/topics.js +++ b/src/posts/topics.js @@ -4,7 +4,7 @@ var async = require('async'); var topics = require('../topics'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); module.exports = function (Posts) { Posts.getPostsFromSet = function (set, start, stop, uid, reverse, callback) { diff --git a/src/search.js b/src/search.js index ffe33c8ef5..e223e3ea14 100644 --- a/src/search.js +++ b/src/search.js @@ -10,7 +10,7 @@ var categories = require('./categories'); var user = require('./user'); var plugins = require('./plugins'); var privileges = require('./privileges'); -var utils = require('../public/src/utils'); +var utils = require('./utils'); var search = {}; diff --git a/src/sitemap.js b/src/sitemap.js index d6f6fa39fe..d828f9d784 100644 --- a/src/sitemap.js +++ b/src/sitemap.js @@ -10,7 +10,7 @@ var topics = require('./topics'); var privileges = require('./privileges'); var meta = require('./meta'); var plugins = require('./plugins'); -var utils = require('../public/src/utils'); +var utils = require('./utils'); var sitemap = { maps: { diff --git a/src/socket.io/groups.js b/src/socket.io/groups.js index ed6cb00180..f9f6c1b263 100644 --- a/src/socket.io/groups.js +++ b/src/socket.io/groups.js @@ -5,7 +5,7 @@ var async = require('async'); var groups = require('../groups'); var meta = require('../meta'); var user = require('../user'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); var groupsController = require('../controllers/groups'); var SocketGroups = {}; diff --git a/src/socket.io/modules.js b/src/socket.io/modules.js index f0309e8d30..4480a9d0f7 100644 --- a/src/socket.io/modules.js +++ b/src/socket.io/modules.js @@ -7,7 +7,7 @@ var meta = require('../meta'); var notifications = require('../notifications'); var plugins = require('../plugins'); var Messaging = require('../messaging'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); var server = require('./'); var user = require('../user'); diff --git a/src/socket.io/notifications.js b/src/socket.io/notifications.js index 66e5135ed6..af47782d5d 100644 --- a/src/socket.io/notifications.js +++ b/src/socket.io/notifications.js @@ -3,7 +3,7 @@ var async = require('async'); var user = require('../user'); var notifications = require('../notifications'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); var SocketNotifs = {}; diff --git a/src/socket.io/posts.js b/src/socket.io/posts.js index b4b5ac40cd..e98052a2f9 100644 --- a/src/socket.io/posts.js +++ b/src/socket.io/posts.js @@ -9,7 +9,7 @@ var topics = require('../topics'); var user = require('../user'); var websockets = require('./index'); var socketHelpers = require('./helpers'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); var apiController = require('../controllers/api'); diff --git a/src/socket.io/posts/flag.js b/src/socket.io/posts/flag.js index dccf302c43..1464c6ac93 100644 --- a/src/socket.io/posts/flag.js +++ b/src/socket.io/posts/flag.js @@ -11,7 +11,7 @@ var privileges = require('../../privileges'); var notifications = require('../../notifications'); var plugins = require('../../plugins'); var meta = require('../../meta'); -var utils = require('../../../public/src/utils'); +var utils = require('../../utils'); module.exports = function (SocketPosts) { SocketPosts.flag = function (socket, data, callback) { diff --git a/src/socket.io/topics/infinitescroll.js b/src/socket.io/topics/infinitescroll.js index b0d7407a0a..87b27a6561 100644 --- a/src/socket.io/topics/infinitescroll.js +++ b/src/socket.io/topics/infinitescroll.js @@ -5,7 +5,7 @@ var async = require('async'); var topics = require('../../topics'); var privileges = require('../../privileges'); var meta = require('../../meta'); -var utils = require('../../../public/src/utils'); +var utils = require('../../utils'); var social = require('../../social'); module.exports = function (SocketTopics) { diff --git a/src/socket.io/topics/tags.js b/src/socket.io/topics/tags.js index 0b7076fa20..fd0c0d0987 100644 --- a/src/socket.io/topics/tags.js +++ b/src/socket.io/topics/tags.js @@ -3,7 +3,7 @@ var async = require('async'); var db = require('../../database'); var topics = require('../../topics'); -var utils = require('../../../public/src/utils'); +var utils = require('../../utils'); module.exports = function (SocketTopics) { SocketTopics.isTagAllowed = function (socket, data, callback) { diff --git a/src/topics.js b/src/topics.js index ed7deacc2e..12632193fb 100644 --- a/src/topics.js +++ b/src/topics.js @@ -5,7 +5,7 @@ var _ = require('underscore'); var db = require('./database'); var posts = require('./posts'); -var utils = require('../public/src/utils'); +var utils = require('./utils'); var plugins = require('./plugins'); var user = require('./user'); var categories = require('./categories'); diff --git a/src/topics/create.js b/src/topics/create.js index da16489f05..294b241d39 100644 --- a/src/topics/create.js +++ b/src/topics/create.js @@ -5,7 +5,7 @@ var async = require('async'); var validator = require('validator'); var S = require('string'); var db = require('../database'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); var plugins = require('../plugins'); var analytics = require('../analytics'); var user = require('../user'); diff --git a/src/topics/data.js b/src/topics/data.js index 17e060f679..8df112dcbf 100644 --- a/src/topics/data.js +++ b/src/topics/data.js @@ -4,7 +4,7 @@ var validator = require('validator'); var db = require('../database'); var categories = require('../categories'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); module.exports = function (Topics) { Topics.getTopicField = function (tid, field, callback) { diff --git a/src/topics/tags.js b/src/topics/tags.js index d10c127ac0..d2f2b32694 100644 --- a/src/topics/tags.js +++ b/src/topics/tags.js @@ -7,7 +7,7 @@ var db = require('../database'); var meta = require('../meta'); var _ = require('underscore'); var plugins = require('../plugins'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); module.exports = function (Topics) { diff --git a/src/topics/teaser.js b/src/topics/teaser.js index b990b608d1..f864e3e23d 100644 --- a/src/topics/teaser.js +++ b/src/topics/teaser.js @@ -9,7 +9,7 @@ var meta = require('../meta'); var user = require('../user'); var posts = require('../posts'); var plugins = require('../plugins'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); module.exports = function (Topics) { Topics.getTeasers = function (topics, uid, callback) { diff --git a/src/topics/unread.js b/src/topics/unread.js index b2f5b199d1..e089fdaad9 100644 --- a/src/topics/unread.js +++ b/src/topics/unread.js @@ -9,7 +9,7 @@ var notifications = require('../notifications'); var categories = require('../categories'); var privileges = require('../privileges'); var meta = require('../meta'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); module.exports = function (Topics) { Topics.getTotalUnread = function (uid, filter, callback) { diff --git a/src/translator.js b/src/translator.js new file mode 100644 index 0000000000..21d4891332 --- /dev/null +++ b/src/translator.js @@ -0,0 +1,3 @@ +'use strict'; + +module.exports = require('../public/src/modules/translator'); diff --git a/src/user/approval.js b/src/user/approval.js index cbb1ba08b4..23d24a1e16 100644 --- a/src/user/approval.js +++ b/src/user/approval.js @@ -9,8 +9,8 @@ var meta = require('../meta'); var emailer = require('../emailer'); var notifications = require('../notifications'); var groups = require('../groups'); -var translator = require('../../public/src/modules/translator'); -var utils = require('../../public/src/utils'); +var translator = require('../translator'); +var utils = require('../utils'); var plugins = require('../plugins'); module.exports = function (User) { diff --git a/src/user/create.js b/src/user/create.js index 7d5e56f96f..e9cda9bce2 100644 --- a/src/user/create.js +++ b/src/user/create.js @@ -2,7 +2,7 @@ var async = require('async'); var db = require('../database'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); var validator = require('validator'); var plugins = require('../plugins'); var groups = require('../groups'); diff --git a/src/user/data.js b/src/user/data.js index 120da7e3a2..d0504ffce6 100644 --- a/src/user/data.js +++ b/src/user/data.js @@ -7,7 +7,7 @@ var winston = require('winston'); var db = require('../database'); var plugins = require('../plugins'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); module.exports = function (User) { var iconBackgrounds = ['#f44336', '#e91e63', '#9c27b0', '#673ab7', '#3f51b5', '#2196f3', diff --git a/src/user/digest.js b/src/user/digest.js index 73cd773713..bf11e23a65 100644 --- a/src/user/digest.js +++ b/src/user/digest.js @@ -10,7 +10,7 @@ var user = require('../user'); var topics = require('../topics'); var plugins = require('../plugins'); var emailer = require('../emailer'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); (function (Digest) { Digest.execute = function (interval, callback) { diff --git a/src/user/email.js b/src/user/email.js index 8b8919c73a..d0cdbbed3c 100644 --- a/src/user/email.js +++ b/src/user/email.js @@ -5,8 +5,8 @@ var async = require('async'); var nconf = require('nconf'); var user = require('../user'); -var utils = require('../../public/src/utils'); -var translator = require('../../public/src/modules/translator'); +var utils = require('../utils'); +var translator = require('../translator'); var plugins = require('../plugins'); var db = require('../database'); var meta = require('../meta'); diff --git a/src/user/invite.js b/src/user/invite.js index 4e41b824a5..b7d62bdc7b 100644 --- a/src/user/invite.js +++ b/src/user/invite.js @@ -7,8 +7,8 @@ var nconf = require('nconf'); var db = require('./../database'); var meta = require('../meta'); var emailer = require('../emailer'); -var translator = require('../../public/src/modules/translator'); -var utils = require('../../public/src/utils'); +var translator = require('../translator'); +var utils = require('../utils'); module.exports = function (User) { diff --git a/src/user/profile.js b/src/user/profile.js index b2b3b7eb5f..e6ac5adf0f 100644 --- a/src/user/profile.js +++ b/src/user/profile.js @@ -4,7 +4,7 @@ var async = require('async'); var S = require('string'); -var utils = require('../../public/src/utils'); +var utils = require('../utils'); var meta = require('../meta'); var db = require('../database'); var groups = require('../groups'); diff --git a/src/user/reset.js b/src/user/reset.js index ba0e18b513..25bd4118f9 100644 --- a/src/user/reset.js +++ b/src/user/reset.js @@ -5,8 +5,8 @@ var nconf = require('nconf'); var winston = require('winston'); var user = require('../user'); -var utils = require('../../public/src/utils'); -var translator = require('../../public/src/modules/translator'); +var utils = require('../utils'); +var translator = require('../translator'); var db = require('../database'); var meta = require('../meta'); diff --git a/src/utils.js b/src/utils.js new file mode 100644 index 0000000000..8913909584 --- /dev/null +++ b/src/utils.js @@ -0,0 +1,3 @@ +'use strict'; + +module.exports = require('../public/src/utils'); diff --git a/src/widgets/index.js b/src/widgets/index.js index 7ea6727a1e..2e439c52d8 100644 --- a/src/widgets/index.js +++ b/src/widgets/index.js @@ -5,7 +5,7 @@ var winston = require('winston'); var templates = require('templates.js'); var plugins = require('../plugins'); -var translator = require('../../public/src/modules/translator'); +var translator = require('../translator'); var db = require('../database'); var widgets = {};