diff --git a/cloudcmd.js b/cloudcmd.js index a93202b2..9d9ad155 100644 --- a/cloudcmd.js +++ b/cloudcmd.js @@ -1,22 +1,21 @@ "use strict"; -var main = require('./lib/server/main.js'), +var main = require('./lib/server/main'), DIR = main.DIR, LIBDIR = main.LIBDIR, SRVDIR = main.SRVDIR, - - srvfunc = main.srvfunc, + path = main.path, fs = main.path, CloudFunc = main.cloudfunc, Util = main.util, update = main.update, - Server = srvfunc.require(DIR + 'server'), + Server = main.require(DIR + 'server'), srv = Server.CloudServer, Config = main.config, - WIN32 = srvfunc.isWin32; + WIN32 = main.WIN32; readConfig(); Server.start(Config, indexProcessing, appCacheProcessing); diff --git a/lib/server/appcache.js b/lib/server/appcache.js index a0f732bf..943a9a06 100644 --- a/lib/server/appcache.js +++ b/lib/server/appcache.js @@ -1,7 +1,7 @@ -var fs = require('fs'), - DIR = process.cwd() + '/', - SRVDIR = DIR + 'lib/server/', - srvfunc = require(SRVDIR + 'srvfunc'), +var DIR = process.cwd() + '/', + main = require(DIR + './lib/server/main'), + fs = main.fs, + Util = main.util, /* varible contain all watched file names * {name: true} @@ -46,7 +46,7 @@ exports.addFiles = function(pFileNames){ exports.createManifest = function(){ - var lAllNames = srvfunc(DIR + '/hashes'); + var lAllNames = main.require('hashes'); if(lAllNames) for(var lName in lAllNames){ if(lName.indexOf('min') > 0) @@ -66,7 +66,7 @@ exports.watch = function(pFileName){ * if watched files would be more then system limit */ var lWatch_f = function(){ - srvfunc.tryCatch(function(){ + Util.tryCatch(function(){ fs_watch(pFileName, on_fs_watch(pFileName)); }); }; @@ -88,7 +88,7 @@ exports.watch = function(pFileName){ }; function setWatachFunctions(){ - if(srvfunc.isWin32){ + if(main.WIN32){ /* good on windows */ fs_watch = fs.watch; on_fs_watch = onWatch; diff --git a/lib/server/auth.js b/lib/server/auth.js index b816ea3e..50dc7f01 100644 --- a/lib/server/auth.js +++ b/lib/server/auth.js @@ -1,7 +1,7 @@ /* https://github.com/prose/gatekeeper */ var DIR = process.cwd() + '/', - main = require(DIR + 'lib/server/main.js'), + main = require(DIR + 'lib/server/main'), LIBDIR = main.LIBDIR, SRVDIR = main.SRVDIR, @@ -10,8 +10,7 @@ var DIR = process.cwd() + '/', Config = main.config, - srvfunc = require(SRVDIR + 'srvfunc'), - Util = srvfunc.require(LIBDIR + 'util'), + Util = main.uti, GithubAuth = { host: "github.com", diff --git a/lib/server/main.js b/lib/server/main.js index cf07ce9e..17757db1 100644 --- a/lib/server/main.js +++ b/lib/server/main.js @@ -1,29 +1,80 @@ -var DIR, - LIBDIR, - SRVDIR, - srvfunc; +(function(){ + "strict mode"; -/* Constants */ -exports.DIR = DIR = process.cwd() + '/', -exports.LIBDIR = LIBDIR = DIR + 'lib/', -exports.SRVDIR = SRVDIR = LIBDIR + 'server/', -exports.srvfunc = srvfunc = require(SRVDIR + 'srvfunc'), + var DIR, + LIBDIR, + SRVDIR, + Util; + + /* Constants */ + exports.DIR = DIR = process.cwd() + '/', + exports.LIBDIR = LIBDIR = DIR + 'lib/', + exports.SRVDIR = SRVDIR = LIBDIR + 'server/', + exports.WIN32 = isWin32(); + + /* Functions */ + exports.require = mrequire, + exports.librequire = librequire, + exports.srvrequire = srvrequire, + exports.rootrequire = rootrequire, + + /* Native Modules*/ + exports.path = require('path'), + exports.fs = require('fs'), + exports.querystring = require('querystring'), + exports.child_process = require('child_process'), + exports.https = require('https'), + + /* Needed Modules */ + exports.util = Util = require(LIBDIR + 'util'), + + /* Main Information */ + exports.config = rootrequire('config'); + exports.mainpackage = rootrequire('package'); + + /* Additional Modules */ + + exports.zlib = mrequire('zlib'), + exports.cloudfunc = librequire('cloudfunc'), + exports.update = srvrequire('update'), + exports.appcache = srvrequire('appcache'), + exports.auth = srvrequire('auth'), + exports.socket = srvrequire('socket'), + exports.object = srvrequire('object'); -/* Native Modules*/ -exports.path = require('path'), -exports.fs = require('fs'), -exports.querystring = require('querystring'), -exports.child_process = require('child_process'), -exports.https = require('https'), -exports.config = srvfunc.require(DIR + 'config'); -exports.mainpackage = srvfunc.require(DIR + 'package'); + + /** + * function do safe require of needed module + * @param {Strin} pSrc + */ + function mrequire(pSrc){ + var lModule, + lError = Util.tryCatch(function(){ + lModule = require(pSrc); + }); + + if(lError) + console.log(lError); + + return lModule; + } + + function rootrequire(pSrc){ + return mrequire(DIR + pSrc); + } + + function librequire(pSrc){ + return mrequire(LIBDIR + pSrc); + } -/* additional modules */ -exports.zlib = srvfunc.require('zlib'), -exports.cloudfunc = srvfunc.require(LIBDIR + 'cloudfunc'), -exports.util = srvfunc.require(LIBDIR + 'util'), -exports.update = srvfunc.require(SRVDIR + 'update'), -exports.appcache = srvfunc.require(SRVDIR + 'appcache'), -exports.auth = srvfunc.require(SRVDIR + 'auth'), -exports.socket = srvfunc.require(SRVDIR + 'socket'), -exports.object = srvfunc.require(SRVDIR + 'object'); + function srvrequire(pSrc){ + return mrequire(SRVDIR + pSrc); + } + + /** + * function check is current platform is win32 + */ + function isWin32(){ + return process.platform === 'win32'; + } +}()); \ No newline at end of file diff --git a/lib/server/object.js b/lib/server/object.js index a304577d..85cb074d 100644 --- a/lib/server/object.js +++ b/lib/server/object.js @@ -7,8 +7,7 @@ var DIR = process.cwd() + '/', main = require(DIR + 'lib/server/main.js'), - SRVDIR = main.SRVDIR, - srvfunc = main.srvfunc; + SRVDIR = main.SRVDIR; /* * Обьект для работы с кэшем @@ -164,7 +163,7 @@ exports.Minify = { if(this._allowed.css || this._allowed.js || this._allowed.html){ - var lMinify = srvfunc.require('minify'); + var lMinify = main.require('minify'); if(lMinify) lMinify.optimize(pName, pParams); diff --git a/lib/server/socket.js b/lib/server/socket.js index 6d8d58f4..3e997318 100644 --- a/lib/server/socket.js +++ b/lib/server/socket.js @@ -1,18 +1,16 @@ /* module make possible connectoin thrue socket.io on a server */ var DIR = process.cwd() + '/', - main = require(DIR + 'lib/server/main.js'), + main = require(DIR + 'lib/server/main'), SRVDIR = main.SRVDIR, - srvfunc = require(SRVDIR + 'srvfunc'), - - io = srvfunc.require('socket.io'), - update = srvfunc.require(SRVDIR + 'update'), + io = main.require('socket.io'), + update = main.srvrequire('update'), exec = main.child_process.exec, ClientFuncs = [], OnMessageFuncs = [], - Win32_b = srvfunc.isWin32; + Win32_b = main.WIN32; /** * function listen on servers port diff --git a/lib/server/srvfunc.js b/lib/server/srvfunc.js deleted file mode 100644 index 9ce667c6..00000000 --- a/lib/server/srvfunc.js +++ /dev/null @@ -1,27 +0,0 @@ -(function(){ - "strict mode"; - - var DIR = process.cwd() + '/', - LIBDIR = DIR + 'lib/', - SRVDIR = LIBDIR + 'server/', - Util = require(LIBDIR + 'util'); - - /** - * function do safe require of needed module - * @param pModule - */ - exports.require = function srvrequire(pSrc){ - var lModule, - - lError = Util.tryCatch(function(){ - lModule = require(pSrc); - }); - - if(lError) - console.log(lError); - - return lModule; - }; - - exports.isWin32 = process.platform === 'win32'; -}()); \ No newline at end of file diff --git a/lib/server/update.js b/lib/server/update.js index efa9cc98..337dc0dc 100644 --- a/lib/server/update.js +++ b/lib/server/update.js @@ -1,7 +1,7 @@ /* module update cloud commander */ var DIR = process.cwd() + '/', - main = require(DIR + 'lib/server/main.js'), + main = require(DIR + 'lib/server/main'), mainpackage = main.mainpackage, exec = main.child_process.exec; diff --git a/server.js b/server.js index a306c11f..338ad987 100644 --- a/server.js +++ b/server.js @@ -104,8 +104,6 @@ var CloudServer = { Path = main.path, Fs = main.fs, /* модуль для работы с файловой системой*/ Querystring = main.querystring, - - srvfunc = main.srvfunc, /* node v0.4 not contains zlib */ Zlib = main.zlib; /* модуль для сжатия данных gzip-ом*/