Merge pull request #1096 from marcelklehr/fix/server-startup-npm

Fix npm
This commit is contained in:
John McLear 2012-10-28 11:02:48 -07:00
commit 05cc7b3fd5
5 changed files with 55 additions and 20 deletions

View File

@ -21,31 +21,49 @@
* limitations under the License. * limitations under the License.
*/ */
var log4js = require('log4js')
, async = require('async')
;
// set up logger // set up logger
var log4js = require('log4js');
log4js.replaceConsole(); log4js.replaceConsole();
var settings = require('./utils/Settings'); var settings
, db
//set loglevel , plugins
log4js.setGlobalLogLevel(settings.loglevel); , hooks;
var db = require('./db/DB');
var async = require('async');
var plugins = require("ep_etherpad-lite/static/js/pluginfw/plugins");
var hooks = require("ep_etherpad-lite/static/js/pluginfw/hooks");
var npm = require("npm/lib/npm.js"); var npm = require("npm/lib/npm.js");
hooks.plugins = plugins;
async.waterfall([ async.waterfall([
// load npm
function(callback) {
npm.load({}, function(er) {
callback(er)
})
},
// load everything
function(callback) {
settings = require('./utils/Settings');
db = require('./db/DB');
plugins = require("ep_etherpad-lite/static/js/pluginfw/plugins");
hooks = require("ep_etherpad-lite/static/js/pluginfw/hooks");
hooks.plugins = plugins;
//set loglevel
log4js.setGlobalLogLevel(settings.loglevel);
callback();
},
//initalize the database //initalize the database
function (callback) function (callback)
{ {
db.init(callback); db.init(callback);
}, },
plugins.update, function(callback) {
plugins.update(callback)
},
function (callback) { function (callback) {
console.info("Installed plugins: " + plugins.formatPlugins()); console.info("Installed plugins: " + plugins.formatPlugins());

View File

@ -27,6 +27,7 @@
"jsdom-nocontextifiy" : "0.2.10", "jsdom-nocontextifiy" : "0.2.10",
"async-stacktrace" : "0.0.2", "async-stacktrace" : "0.0.2",
"npm" : "1.1.x", "npm" : "1.1.x",
"npm-registry-client" : "0.2.10",
"ejs" : "0.6.1", "ejs" : "0.6.1",
"graceful-fs" : "1.1.5", "graceful-fs" : "1.1.5",
"slide" : "1.1.3", "slide" : "1.1.3",

View File

@ -1,7 +1,12 @@
var plugins = require("ep_etherpad-lite/static/js/pluginfw/plugins"); var plugins = require("ep_etherpad-lite/static/js/pluginfw/plugins");
var hooks = require("ep_etherpad-lite/static/js/pluginfw/hooks"); var hooks = require("ep_etherpad-lite/static/js/pluginfw/hooks");
var npm = require("npm"); var npm = require("npm");
var registry = require("npm/lib/utils/npm-registry-client/index.js"); var RegClient = require("npm-registry-client")
var registry = new RegClient(
{ registry: "http://registry.npmjs.org"
, cache: npm.cache }
);
var withNpm = function (npmfn, final, cb) { var withNpm = function (npmfn, final, cb) {
npm.load({}, function (er) { npm.load({}, function (er) {
@ -72,7 +77,7 @@ exports.search = function(query, cache, cb) {
cb(null, exports.searchCache); cb(null, exports.searchCache);
} else { } else {
registry.get( registry.get(
"/-/all", null, 600, false, true, "/-/all", 600, false, true,
function (er, data) { function (er, data) {
if (er) return cb(er); if (er) return cb(er);
exports.searchCache = data; exports.searchCache = data;

View File

@ -1,7 +1,5 @@
var npm = require("npm/lib/npm.js"); var npm = require("npm/lib/npm.js");
var readInstalled = require("./read-installed.js"); var readInstalled = require("./read-installed.js");
var relativize = require("npm/lib/utils/relativize.js");
var readJson = require("npm/lib/utils/read-json.js");
var path = require("path"); var path = require("path");
var async = require("async"); var async = require("async");
var fs = require("fs"); var fs = require("fs");

View File

@ -94,8 +94,21 @@ var npm = require("npm/lib/npm.js")
, path = require("path") , path = require("path")
, asyncMap = require("slide").asyncMap , asyncMap = require("slide").asyncMap
, semver = require("semver") , semver = require("semver")
, readJson = require("npm/lib/utils/read-json.js") , log = require("log4js").getLogger('pluginfw')
, log = require("npm/lib/utils/log.js")
function readJson(file, callback) {
fs.readFile(file, function(er, buf) {
if(er) {
callback(er);
return;
}
try {
callback( null, JSON.parse(buf.toString()) )
} catch(er) {
callback(er)
}
})
}
module.exports = readInstalled module.exports = readInstalled
@ -274,7 +287,7 @@ function findUnmet (obj) {
} }
}) })
log.verbose([obj._id], "returning") log.debug([obj._id], "returning")
return obj return obj
} }