{"_id":"plugin","_rev":"107350","name":"plugin","description":"Plugin library","dist-tags":{"latest":"0.3.3"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"},{"name":"crcn","email":"craig.j.condon@gmail.com"}],"time":{"modified":"2021-06-03T10:39:11.000Z","created":"2012-02-15T17:42:52.480Z","0.3.3":"2015-01-14T21:38:46.580Z","0.3.2":"2013-03-18T18:06:39.482Z","0.3.1":"2013-02-23T07:37:11.054Z","0.3.0":"2013-02-17T21:13:03.179Z","0.2.7":"2013-02-05T00:11:31.890Z","0.2.6":"2013-01-22T22:30:08.422Z","0.2.5":"2012-12-02T02:36:57.270Z","0.2.4":"2012-11-26T07:14:07.400Z","0.2.3":"2012-11-26T05:13:08.396Z","0.2.2":"2012-11-01T18:54:10.450Z","0.2.1":"2012-10-31T20:26:07.518Z","0.2.0":"2012-10-31T19:42:01.389Z","0.1.0":"2012-10-26T05:57:20.841Z","0.0.15":"2012-03-05T05:28:54.755Z","0.0.14":"2012-02-24T18:34:49.906Z","0.0.13":"2012-02-15T17:42:52.480Z"},"users":{"pgilad":true},"author":{"name":"Craig Condon"},"repository":{"type":"git","url":"git://github.com/crcn/plugin.js.git"},"versions":{"0.3.3":{"author":{"name":"Craig Condon"},"name":"plugin","description":"Plugin library","version":"0.3.3","repository":{"type":"git","url":"git://github.com/crcn/plugin.js.git"},"dependencies":{"dref":"0.0.x","underscore":"1.4.x","async":"0.1.x","outcome":"0.0.x","sift":"0.0.x","structr":"0.2.x","resolve":"0.2.x","step":"0.0.x","toarray":"0.0.x"},"devDependencies":{},"main":"./lib/node.js","browserify":"./lib/web.js","gitHead":"825c0b628651205769650912c16e1c2d0faafdf8","bugs":{"url":"https://github.com/crcn/plugin.js/issues"},"homepage":"https://github.com/crcn/plugin.js","_id":"plugin@0.3.3","scripts":{},"_shasum":"09140a624f1754db3a833611a988ca6e474eeee1","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.30","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"},{"name":"crcn","email":"craig.j.condon@gmail.com"}],"dist":{"shasum":"09140a624f1754db3a833611a988ca6e474eeee1","size":8693,"noattachment":false,"key":"/plugin/-/plugin-0.3.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/plugin/download/plugin-0.3.3.tgz"},"directories":{},"publish_time":1421271526580,"_cnpm_publish_time":1421271526580,"_hasShrinkwrap":false},"0.3.2":{"author":{"name":"Craig Condon"},"name":"plugin","description":"Plugin library","version":"0.3.2","repository":{"type":"git","url":"git://github.com/crcn/plugin.js.git"},"dependencies":{"dref":"0.0.x","underscore":"1.4.x","async":"0.1.x","outcome":"0.0.x","sift":"0.0.x","structr":"0.2.x","resolve":"0.2.x","step":"0.0.x","toarray":"0.0.x"},"devDependencies":{},"main":"./lib/node.js","browserify":"./lib/web.js","readmeFilename":"README-old.md","_id":"plugin@0.3.2","dist":{"shasum":"1845fc6fe88613872f546ce066a9dc2e4da9c581","size":8998,"noattachment":false,"key":"/plugin/-/plugin-0.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/plugin/download/plugin-0.3.2.tgz"},"_from":".","_npmVersion":"1.2.11","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"},{"name":"crcn","email":"craig.j.condon@gmail.com"}],"directories":{},"publish_time":1363629999482,"_cnpm_publish_time":1363629999482,"_hasShrinkwrap":false},"0.3.1":{"author":{"name":"Craig Condon"},"name":"plugin","description":"Plugin library","version":"0.3.1","repository":{"type":"git","url":"git://github.com/crcn/plugin.js.git"},"dependencies":{"dref":"0.0.x","underscore":"1.4.x","async":"0.1.x","outcome":"0.0.x","sift":"0.0.x","structr":"0.2.x","resolve":"0.2.x","step":"0.0.x","toarray":"0.0.x"},"devDependencies":{},"main":"./lib/node.js","browserify":"./lib/web.js","readmeFilename":"README-old.md","_id":"plugin@0.3.1","dist":{"shasum":"cb4f6f8f0b579c6a6400bdc8745d8ae68f36497e","size":8908,"noattachment":false,"key":"/plugin/-/plugin-0.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/plugin/download/plugin-0.3.1.tgz"},"_from":".","_npmVersion":"1.2.11","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"},{"name":"crcn","email":"craig.j.condon@gmail.com"}],"directories":{},"publish_time":1361605031054,"_cnpm_publish_time":1361605031054,"_hasShrinkwrap":false},"0.3.0":{"author":{"name":"Craig Condon"},"name":"plugin","description":"Plugin library","version":"0.3.0","repository":{"type":"git","url":"git://github.com/crcn/plugin.js.git"},"dependencies":{"dref":"0.0.x","underscore":"1.4.x","async":"0.1.x","outcome":"0.0.x","sift":"0.0.x","structr":"0.2.x","resolve":"0.2.x","step":"0.0.x","toarray":"0.0.x"},"devDependencies":{},"main":"./lib/node.js","browserify":"./lib/web.js","readmeFilename":"README-old.md","_id":"plugin@0.3.0","dist":{"shasum":"319ba23996d05943982fdd38eb5233a8b5445202","size":8953,"noattachment":false,"key":"/plugin/-/plugin-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/plugin/download/plugin-0.3.0.tgz"},"_from":".","_npmVersion":"1.2.11","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"},{"name":"crcn","email":"craig.j.condon@gmail.com"}],"directories":{},"publish_time":1361135583179,"_cnpm_publish_time":1361135583179,"_hasShrinkwrap":false},"0.2.7":{"author":{"name":"Craig Condon"},"name":"plugin","description":"Plugin library","version":"0.2.7","repository":{"type":"git","url":"git://github.com/crcn/plugin.js.git"},"dependencies":{"dref":"0.0.x","underscore":"1.4.x","async":"0.1.x","outcome":"0.0.x","sift":"0.0.x","structr":"0.2.x","resolve":"0.2.x"},"devDependencies":{},"main":"./lib/node.js","browserify":"./lib/web.js","readmeFilename":"README-old.md","_id":"plugin@0.2.7","dist":{"shasum":"3bb19806e5bce52fa6ba63eb1f1b507b8b3aca98","size":8701,"noattachment":false,"key":"/plugin/-/plugin-0.2.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/plugin/download/plugin-0.2.7.tgz"},"_npmVersion":"1.1.66","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"},{"name":"crcn","email":"craig.j.condon@gmail.com"}],"directories":{},"publish_time":1360023091890,"_cnpm_publish_time":1360023091890,"_hasShrinkwrap":false},"0.2.6":{"author":{"name":"Craig Condon"},"name":"plugin","description":"Plugin library","version":"0.2.6","repository":{"type":"git","url":"git://github.com/crcn/plugin.js.git"},"dependencies":{"dref":"0.0.x","underscore":"1.4.x","async":"0.1.x","outcome":"0.0.x","sift":"0.0.x","structr":"0.2.x","resolve":"0.2.x"},"devDependencies":{},"main":"./lib/node.js","browserify":"./lib/web.js","readmeFilename":"README-old.md","_id":"plugin@0.2.6","dist":{"shasum":"a872b7d2fe843f362430599e510258743a852099","size":8622,"noattachment":false,"key":"/plugin/-/plugin-0.2.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/plugin/download/plugin-0.2.6.tgz"},"_npmVersion":"1.1.66","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"},{"name":"crcn","email":"craig.j.condon@gmail.com"}],"directories":{},"publish_time":1358893808422,"_cnpm_publish_time":1358893808422,"_hasShrinkwrap":false},"0.2.5":{"author":{"name":"Craig Condon"},"name":"plugin","description":"Plugin library","version":"0.2.5","repository":{"type":"git","url":"git://github.com/crcn/plugin.js.git"},"dependencies":{"dref":"0.0.x","underscore":"1.4.x","async":"0.1.x","outcome":"0.0.x","sift":"0.0.x","structr":"0.2.x","resolve":"0.2.x"},"devDependencies":{},"main":"./lib/node.js","browserify":"./lib/web.js","readmeFilename":"README-old.md","_id":"plugin@0.2.5","dist":{"shasum":"403c51671700d451259134f423a2718a169b80fa","size":8730,"noattachment":false,"key":"/plugin/-/plugin-0.2.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/plugin/download/plugin-0.2.5.tgz"},"_npmVersion":"1.1.65","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"},{"name":"crcn","email":"craig.j.condon@gmail.com"}],"directories":{},"publish_time":1354415817270,"_cnpm_publish_time":1354415817270,"_hasShrinkwrap":false},"0.2.4":{"author":{"name":"Craig Condon"},"name":"plugin","description":"Plugin library","version":"0.2.4","repository":{"type":"git","url":"git://github.com/crcn/plugin.js.git"},"dependencies":{"dref":"0.0.x","underscore":"1.4.x","async":"0.1.x","outcome":"0.0.x","sift":"0.0.x","structr":"0.2.x","resolve":"0.2.x"},"devDependencies":{},"main":"./lib/node.js","browserify":"./lib/web.js","readmeFilename":"README-old.md","_id":"plugin@0.2.4","dist":{"shasum":"fd977ede222c8841d108b6bebb417982eabb8730","size":8592,"noattachment":false,"key":"/plugin/-/plugin-0.2.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/plugin/download/plugin-0.2.4.tgz"},"_npmVersion":"1.1.65","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"},{"name":"crcn","email":"craig.j.condon@gmail.com"}],"directories":{},"publish_time":1353914047400,"_cnpm_publish_time":1353914047400,"_hasShrinkwrap":false},"0.2.3":{"author":{"name":"Craig Condon"},"name":"plugin","description":"Plugin library","version":"0.2.3","repository":{"type":"git","url":"git://github.com/crcn/plugin.js.git"},"dependencies":{"dref":"0.0.x","underscore":"1.4.x","async":"0.1.x","outcome":"0.0.x","sift":"0.0.x","structr":"0.2.x","resolve":"0.2.x"},"devDependencies":{},"main":"./lib/node.js","browserify":"./lib/web.js","readmeFilename":"README-old.md","_id":"plugin@0.2.3","dist":{"shasum":"88a0acac887bcc3cd7a63e52aaddb07e0338e13c","size":8475,"noattachment":false,"key":"/plugin/-/plugin-0.2.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/plugin/download/plugin-0.2.3.tgz"},"_npmVersion":"1.1.65","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"},{"name":"crcn","email":"craig.j.condon@gmail.com"}],"directories":{},"publish_time":1353906788396,"_cnpm_publish_time":1353906788396,"_hasShrinkwrap":false},"0.2.2":{"author":{"name":"Craig Condon"},"name":"plugin","description":"Plugin library","version":"0.2.2","repository":{"type":"git","url":"git://github.com/crcn/plugin.js.git"},"dependencies":{"dref":"0.0.x","underscore":"1.4.x","async":"0.1.x","outcome":"0.0.x","sift":"0.0.x","structr":"0.2.x","resolve":"0.2.x"},"devDependencies":{},"main":"./lib/node.js","browserify":"./lib/web.js","readmeFilename":"README-old.md","_id":"plugin@0.2.2","dist":{"shasum":"93cfcfa8086735fd1aff389f638c2d14c27bf124","size":7666,"noattachment":false,"key":"/plugin/-/plugin-0.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/plugin/download/plugin-0.2.2.tgz"},"_npmVersion":"1.1.65","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"},{"name":"crcn","email":"craig.j.condon@gmail.com"}],"directories":{},"publish_time":1351796050450,"_cnpm_publish_time":1351796050450,"_hasShrinkwrap":false},"0.2.1":{"author":{"name":"Craig Condon"},"name":"plugin","description":"Plugin library","version":"0.2.1","repository":{"type":"git","url":"git://github.com/crcn/plugin.js.git"},"dependencies":{"dref":"0.0.x","underscore":"1.4.x","async":"0.1.x","outcome":"0.0.x","sift":"0.0.x","structr":"0.2.x","resolve":"0.2.x"},"devDependencies":{},"main":"./lib/node.js","browserify":"./lib/web.js","readmeFilename":"README-old.md","_id":"plugin@0.2.1","dist":{"shasum":"d6550e7abd437529d0d5d62106b8332dde1b0c55","size":34176,"noattachment":false,"key":"/plugin/-/plugin-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/plugin/download/plugin-0.2.1.tgz"},"_npmVersion":"1.1.65","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"},{"name":"crcn","email":"craig.j.condon@gmail.com"}],"directories":{},"publish_time":1351715167518,"_cnpm_publish_time":1351715167518,"_hasShrinkwrap":false},"0.2.0":{"author":{"name":"Craig Condon"},"name":"plugin","description":"Plugin library","version":"0.2.0","repository":{"type":"git","url":"git://github.com/crcn/plugin.js.git"},"dependencies":{"dref":"0.0.x","underscore":"1.4.x","async":"0.1.x","outcome":"0.0.x","sift":"0.0.x","structr":"0.2.x"},"devDependencies":{},"main":"./lib/node.js","browserify":"./lib/web.js","readmeFilename":"README-old.md","_id":"plugin@0.2.0","dist":{"shasum":"5f1ef55cd22d3e0a72f28c51c69453a5ae300555","size":33934,"noattachment":false,"key":"/plugin/-/plugin-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/plugin/download/plugin-0.2.0.tgz"},"_npmVersion":"1.1.65","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"},{"name":"crcn","email":"craig.j.condon@gmail.com"}],"directories":{},"publish_time":1351712521389,"_cnpm_publish_time":1351712521389,"_hasShrinkwrap":false},"0.1.0":{"author":{"name":"Craig Condon"},"name":"plugin","description":"Plugin library","version":"0.1.0","repository":{"type":"git","url":"git://github.com/crcn/plugin.js.git"},"dependencies":{"tq":"0.0.1","dref":"0.0.x","underscore":"1.4.x"},"devDependencies":{},"main":"./lib/index.js","_id":"plugin@0.1.0","dist":{"shasum":"4f7d9b455fc7f953c93fd348ebb674b3b917faef","size":13685,"noattachment":false,"key":"/plugin/-/plugin-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/plugin/download/plugin-0.1.0.tgz"},"_npmVersion":"1.1.63","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"},{"name":"crcn","email":"craig.j.condon@gmail.com"}],"directories":{},"publish_time":1351231040841,"_cnpm_publish_time":1351231040841,"_hasShrinkwrap":false},"0.0.15":{"author":{"name":"Craig Condon"},"name":"plugin","description":"Plugin library","version":"0.0.15","repository":{"type":"git","url":"git://github.com/crcn/plugin.js.git"},"dependencies":{"tq":"0.0.1","structr":"0.1.0"},"directories":{"src":"./src","lib":"./lib"},"devDependencies":{},"main":"./lib/node/index.js","mesh":true,"_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"_id":"plugin@0.0.15","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"370e541c670f470d8620118d55843633ae1d4035","size":20480,"noattachment":false,"key":"/plugin/-/plugin-0.0.15.tgz","tarball":"http://registry.cnpm.dingdandao.com/plugin/download/plugin-0.0.15.tgz"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"},{"name":"crcn","email":"craig.j.condon@gmail.com"}],"publish_time":1330925334755,"_cnpm_publish_time":1330925334755,"_hasShrinkwrap":false},"0.0.14":{"author":{"name":"Craig Condon"},"name":"plugin","description":"Plugin library","version":"0.0.14","repository":{"type":"git","url":"git://github.com/crcn/plugin.js.git"},"dependencies":{"tq":"0.0.1","structr":"0.1.0"},"directories":{"mesh-src":"./src","lib":"./lib"},"devDependencies":{},"main":"./lib/node/index.js","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"_id":"plugin@0.0.14","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"4f872c1c28e4f3b504bc53d0579140d11ef28efa","size":20480,"noattachment":false,"key":"/plugin/-/plugin-0.0.14.tgz","tarball":"http://registry.cnpm.dingdandao.com/plugin/download/plugin-0.0.14.tgz"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"},{"name":"crcn","email":"craig.j.condon@gmail.com"}],"publish_time":1330108489906,"_cnpm_publish_time":1330108489906,"_hasShrinkwrap":false},"0.0.13":{"author":{"name":"Craig Condon"},"name":"plugin","description":"Plugin library","version":"0.0.13","repository":{"type":"git","url":"git://github.com/crcn/plugin.js.git"},"dependencies":{"tq":"0.0.1","structr":"0.1.0"},"directories":{"mesh-src":"./src","lib":"./lib"},"devDependencies":{},"main":"./lib/node/index.js","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"_id":"plugin@0.0.13","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.10","_defaultsLoaded":true,"dist":{"shasum":"2fcd8af96a3f0a3ee85484894cbfe99532303ddc","size":20480,"noattachment":false,"key":"/plugin/-/plugin-0.0.13.tgz","tarball":"http://registry.cnpm.dingdandao.com/plugin/download/plugin-0.0.13.tgz"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"},{"name":"crcn","email":"craig.j.condon@gmail.com"}],"publish_time":1329327772480,"_cnpm_publish_time":1329327772480,"_hasShrinkwrap":false}},"readme":"# Plugin.js\n\n## Features\n\n- ability to load entire directories\n- add remote plugins (dnode)\n\n## Example\n\nbootstrap.js\n\n```javascript\nvar plugin = require(\"plugin\"),\nexpress = require(\"express\"),\n\nplugin(express()).\nparams({\n\thttp: { port: 8080 }\n}).\nrequire(__dirname + \"/config.js\").\nrequire(__dirname + \"/someRoutes.js\").\nload();\n```\n\nconfig.js\n\n```javascript\nexports.plugin = function(server, loader) {\n\tserver.listen(loader.params(\"http.port\") || 80);\n}\n```\n\nsomeRoutes.js\n```javascript\nmodule.exports = function(server) {\n    server.get(\"/hello\", function(req, res) {\n        res.end(\"world!\");\n    })\n}\n```\n\n\n## Plugin API\n\n### loader .plugin(plugInto, ...)\n\nInitializes the loader for local / remote plugins. `plugInto` is passed into the first parameter when calling `.plugin()` on each required module.\n\n### loader.use(extension)\n\nExtends the loader. This allows you to customize how modules are loaded into your sandbox.\n\n```javascript\nrequire(\"plugin\")().\nuse(require(\"plugin-dnode\")).\nrequire(\"dnode://localhost\").\nload();\n```\n\n### loader.params(keyOrParams, value)\n\nGet / set params\n\nbootstrap.js\n\n```javascript\nrequire(\"plugin\")().\nparams(\"some.message\", 8080).\nrequire(__dirname + \"/hello.js\").\nload();\n```\n\nserver.js\n```javascript\nexports.plugin = function(loader) {\n\tconsole.log(loader.params(\"some.message\"));\n}\n```\n\n### loader.require(source, ...)\n\npath to the plugins\n\n```javascript\nloader.\nrequire(__dirname + \"/plugin.js\").\nrequire(__dirname + \"/someDirectory.js\").\nrequire(\"multiple\", \"plugins\").\nrequire(\"dnode://localhost\").\nload();\n```\n\n### loader.load(callback)\n\nloads the required dependencies\n\n### loader.module(search)\n\nReturns one loaded module based on the search query. Note that calling this method\nmay load the given module if it hasn't already. Here's a real-world example:\n\nbootstrap.js\n\n```javascript\nrequire(\"plugin\")().\nparams(\"http.port\", 8080).\nrequire(__dirname + \"/server.js\").\nrequire(__dirname + \"/routes.js\").\nload();\n```\n\nserver.js\n\n```javascript\nexports.isHttpServer = true; //not needed - just used for searching\nexports.plugin = function(loader) {\n\tvar server = express();\n\tserver.listen(loader.params(\"http.port\"));\n\treturn server;\n}\n```\n\nroutes.js\n\n```javascript\nexports.plugin = function(loader) {\n\tvar server = loader.module(\"server\");\n\tserver.get(\"/hello\", function(req, res) {\n\t\tres.end(\"hello world!\");\n\t})\n}\n```\n\nAlso note that you can search based on attributes. Here's `routes.js` again:\n\n```javascript\nexports.plugin = function(loader) {\n\tvar server = loader.module({ isHttpServer: true });\n\t//do stuff here\n}\n```\n\n### loader.modules(search)\n\nJust like `loader.module(search)`, but returns multiple modules.\n\n### loader.exports\n\nThis is all the plugins combined, and it's set once everything's loaded.\n\n","_attachments":{},"homepage":"https://github.com/crcn/plugin.js","bugs":{"url":"https://github.com/crcn/plugin.js/issues"}}