Updated Branches: refs/heads/master 6486e7fda -> b5ba62d82
[CB-4793] Lazily require modules in plugin.js Cuts ~350ms off of many commands on my MBP. Project: http://git-wip-us.apache.org/repos/asf/cordova-plugman/repo Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugman/commit/b5ba62d8 Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugman/tree/b5ba62d8 Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugman/diff/b5ba62d8 Branch: refs/heads/master Commit: b5ba62d8225e8b00c45f11e288e041a073f3f323 Parents: 6486e7f Author: Andrew Grieve <[email protected]> Authored: Wed Sep 11 14:54:28 2013 -0400 Committer: Andrew Grieve <[email protected]> Committed: Wed Sep 11 14:55:14 2013 -0400 ---------------------------------------------------------------------- plugman.js | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/b5ba62d8/plugman.js ---------------------------------------------------------------------- diff --git a/plugman.js b/plugman.js index 4ca7846..b9748ac 100755 --- a/plugman.js +++ b/plugman.js @@ -21,24 +21,29 @@ var emitter = require('./src/events'); +function addProperty(o, symbol, modulePath) { + Object.defineProperty(o, symbol, { + get : function() { return require(modulePath); }}); +} + plugman = { - help: require('./src/help'), - install: require('./src/install'), - uninstall: require('./src/uninstall'), - fetch: require('./src/fetch'), - prepare: require('./src/prepare'), - config: require('./src/config'), - adduser: require('./src/adduser'), - publish: require('./src/publish'), - unpublish: require('./src/unpublish'), - search: require('./src/search'), - info: require('./src/info'), - config_changes: require('./src/util/config-changes'), on: emitter.addListener, off: emitter.removeListener, removeAllListeners: emitter.removeAllListeners, emit: emitter.emit }; +addProperty(plugman, 'help', './src/help'); +addProperty(plugman, 'install', './src/install'); +addProperty(plugman, 'uninstall', './src/uninstall'); +addProperty(plugman, 'fetch', './src/fetch'); +addProperty(plugman, 'prepare', './src/prepare'); +addProperty(plugman, 'config', './src/config'); +addProperty(plugman, 'adduser', './src/adduser'); +addProperty(plugman, 'publish', './src/publish'); +addProperty(plugman, 'unpublish', './src/unpublish'); +addProperty(plugman, 'search', './src/search'); +addProperty(plugman, 'info', './src/info'); +addProperty(plugman, 'config_changes', './src/util/config-changes'); plugman.commands = { 'config' : function(cli_opts) {
