{"_id":"exedra","_rev":"37-74e6cc1204e04564716cd2669e56c30c","name":"exedra","description":"Routes && Functions loader for express","dist-tags":{"latest":"0.0.12"},"versions":{"0.0.1":{"author":{"name":"Corpix","email":"me@corpix.ru","url":"http://corpix.ru"},"name":"exedra","description":"Routes && Functions loader foe express","version":"0.0.1","homepage":"http://insanecoders.ru","keywords":["exedra","express","loader"],"repository":{"type":"git","url":"git://github.com/corpix/exedra.git"},"main":"index.js","engines":{"node":">=0.4.0"},"dependencies":{"fructose":"0.0.3"},"devDependencies":{},"_npmUser":{"name":"corpix","email":"me@corpix.ru"},"_id":"exedra@0.0.1","_engineSupported":true,"_npmVersion":"1.0.101","_nodeVersion":"v0.5.7","_defaultsLoaded":true,"dist":{"shasum":"70cb1dd1e55d35c05b2f3edc3e0b6d685abc93d5","tarball":"https://registry.npmjs.org/exedra/-/exedra-0.0.1.tgz","integrity":"sha512-bkuHbnA2+goi6jnlBJ6AXqt+7atNyn09OqHyafhR/0Jmqjw/ZW9HvaNxN2cC9ohho2tOHBgDJ20mWrMTT35S/A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAvkOPJXwUl/ktC50PmMkQRzRrcJR01UJiFQbLPc+SCSAiBrqMzxil7OdOFhAGvBQe+ll69TU4qe6cCcueP1q1ry7g=="}]},"maintainers":[{"name":"corpix","email":"me@corpix.ru"}]},"0.0.2":{"author":{"name":"Corpix","email":"me@corpix.ru","url":"http://corpix.ru"},"name":"exedra","description":"Routes && Functions loader for express","version":"0.0.2","homepage":"http://insanecoders.ru","keywords":["exedra","express","loader"],"repository":{"type":"git","url":"git://github.com/corpix/exedra.git"},"main":"index.js","engines":{"node":">=0.4.0"},"dependencies":{"fructose":"0.0.3"},"devDependencies":{},"_npmUser":{"name":"corpix","email":"me@corpix.ru"},"_id":"exedra@0.0.2","_engineSupported":true,"_npmVersion":"1.0.101","_nodeVersion":"v0.5.7","_defaultsLoaded":true,"dist":{"shasum":"14a8577836905aeb312cf73bbf72a7f44086830a","tarball":"https://registry.npmjs.org/exedra/-/exedra-0.0.2.tgz","integrity":"sha512-RNdkUowqbVqTrtcZpzw6yb/Yj/u7hdliNSX0psGbRZdrSKzZe5jm52YTk5pSjxajJIHsxtS/77ZQKnoireRvDA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFLcg4eR1GChQs2A9d46DjHwKjapb8oRi8YlMmfntIxwIgEuv3BplkqTBHH/SpoEMef960io47pz0NsmHk4O69oOo="}]},"maintainers":[{"name":"corpix","email":"me@corpix.ru"}]},"0.0.3":{"author":{"name":"Corpix","email":"me@corpix.ru","url":"http://corpix.ru"},"name":"exedra","description":"Routes && Functions loader for express","version":"0.0.3","homepage":"http://insanecoders.ru","keywords":["exedra","express","loader"],"repository":{"type":"git","url":"git://github.com/corpix/exedra.git"},"main":"index.js","engines":{"node":">=0.4.0"},"dependencies":{"fructose":"0.0.3"},"devDependencies":{},"_npmUser":{"name":"corpix","email":"me@corpix.ru"},"_id":"exedra@0.0.3","_engineSupported":true,"_npmVersion":"1.0.101","_nodeVersion":"v0.5.7","_defaultsLoaded":true,"dist":{"shasum":"94d46e637326613003e2fd3ff17c083a230be4a4","tarball":"https://registry.npmjs.org/exedra/-/exedra-0.0.3.tgz","integrity":"sha512-dyNYEA5wVYzRqIsQiU64EqjLxlh4n2mksvo3JX3A6FdKQrRXM8orR+Kveasd98+5W8L8vOHrvr59U47vFCyKyg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDd3ILgvZedDPlvN6aGn9su56B/2YLNB1I+sS81TA6QpAIhAMOQ+6otg4Aarlo6DNgISJvpOkaO8HqkTSslP1p1h2Bu"}]},"maintainers":[{"name":"corpix","email":"me@corpix.ru"}]},"0.0.4":{"author":{"name":"Corpix","email":"me@corpix.ru","url":"http://corpix.ru"},"name":"exedra","description":"Routes && Functions loader for express","version":"0.0.4","homepage":"http://insanecoders.ru","keywords":["exedra","express","loader"],"repository":{"type":"git","url":"git://github.com/corpix/exedra.git"},"main":"index.js","engines":{"node":">=0.4.0"},"dependencies":{"fructose":">=0.0.3","express-namespace":">=0.0.4"},"devDependencies":{},"_npmUser":{"name":"corpix","email":"me@corpix.ru"},"_id":"exedra@0.0.4","_engineSupported":true,"_npmVersion":"1.0.103","_nodeVersion":"v0.5.7","_defaultsLoaded":true,"dist":{"shasum":"a00e8dd71cecfc9c62b9597979f52ad70c23e05b","tarball":"https://registry.npmjs.org/exedra/-/exedra-0.0.4.tgz","integrity":"sha512-89hHKSvenD94uxNX+rtsVe9bBQuzEQkLwGeGxJZUwDeNIaUewJFIlu70I7eYbojLjXVhV5kDD7+y4ES3L1ecyw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC41cUxBwoXgf1OHQgQavHXDrHyrWRULekZ15UCU6osrgIgEftjP/r2vxoaEn0vdl1D/tHDD5hyKCPZy5EA7MnGVT4="}]},"maintainers":[{"name":"corpix","email":"me@corpix.ru"}]},"0.0.4-1":{"author":{"name":"Corpix","email":"me@corpix.ru","url":"http://corpix.ru"},"name":"exedra","description":"Routes && Functions loader for express","version":"0.0.4-1","homepage":"http://insanecoders.ru","keywords":["exedra","express","loader"],"repository":{"type":"git","url":"git://github.com/corpix/exedra.git"},"main":"index.js","engines":{"node":">=0.4.0"},"dependencies":{"fructose":">=0.0.3","express-namespace":">=0.0.4"},"devDependencies":{},"_npmUser":{"name":"corpix","email":"me@corpix.ru"},"_id":"exedra@0.0.4-1","_engineSupported":true,"_npmVersion":"1.0.103","_nodeVersion":"v0.5.7","_defaultsLoaded":true,"dist":{"shasum":"0f183910e35b6387374d71be26ff7021087f0128","tarball":"https://registry.npmjs.org/exedra/-/exedra-0.0.4-1.tgz","integrity":"sha512-j55tTNHfWYd8b/uc9cRP5tyZgiDqWkyrm36yAniQr7Dkb7LUQHWyW1TWR2Pcp21GPK6fD8Yqgv4/4jwIOKVX3Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAbkKx6SzBbBTUVwJ1Id71eD7qiIdry+lHl8jQxkFkbcAiAH1ukd7TSb4w8RREuz+lWi4+u+0CleTK92j142E2BN4A=="}]},"maintainers":[{"name":"corpix","email":"me@corpix.ru"}]},"0.0.4-2":{"author":{"name":"Corpix","email":"me@corpix.ru","url":"http://corpix.ru"},"name":"exedra","description":"Routes && Functions loader for express","version":"0.0.4-2","homepage":"http://insanecoders.ru","keywords":["exedra","express","loader"],"repository":{"type":"git","url":"git://github.com/corpix/exedra.git"},"main":"index.js","engines":{"node":">=0.4.0"},"dependencies":{"fructose":">=0.0.3","express-namespace":">=0.0.4"},"devDependencies":{},"_npmUser":{"name":"corpix","email":"me@corpix.ru"},"_id":"exedra@0.0.4-2","_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.6.0","_defaultsLoaded":true,"dist":{"shasum":"5538ca25b7a9fd1e4fe6b460fe9963187ec45af2","tarball":"https://registry.npmjs.org/exedra/-/exedra-0.0.4-2.tgz","integrity":"sha512-6XljhhGCrGk2+iMUg/oivifnqVYsSiEfeari2xVOK0ZxqdkKJNqFJxnwgqPDO5Lx5MflK/ELIQhY+EmwtPYz5g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA+RfDUU3xkVAdlcKehzBc4NMoDlA0/Zj4kQ2QUE6TgBAiB9+c7Ox03F+yTJibAp/O03Fmbx78JBqGCIsuX+RtUOrQ=="}]},"maintainers":[{"name":"corpix","email":"me@corpix.ru"}]},"0.0.5":{"author":{"name":"Corpix","email":"me@corpix.ru","url":"http://corpix.ru"},"name":"exedra","description":"Routes && Functions loader for express","version":"0.0.5","homepage":"http://insanecoders.ru","keywords":["exedra","express","loader"],"repository":{"type":"git","url":"git://github.com/corpix/exedra.git"},"main":"index.js","engines":{"node":">=0.4.0"},"dependencies":{"fructose":">=0.0.3","express-namespace":">=0.0.4"},"devDependencies":{},"_npmUser":{"name":"corpix","email":"me@corpix.ru"},"_id":"exedra@0.0.5","_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.6.0","_defaultsLoaded":true,"dist":{"shasum":"a95a9db925cca28c20d9341563de02142654f067","tarball":"https://registry.npmjs.org/exedra/-/exedra-0.0.5.tgz","integrity":"sha512-xOX+Do/B0a3IrJAukZDFM2zcg4LdHw1EcoIIy9SQ+WvDu712lSBAqpcwC5Mk5onT4HxTHuPNnjrc+1CvQCdrmQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOzr1nw6jnDCoql8vj4tSr9h3o5RkLFz9pTY0LS+ys5gIhAKsx3IKFA2IKTLQD+xZfV8yvQeBNSPC6MOK/fBVNHZNn"}]},"maintainers":[{"name":"corpix","email":"me@corpix.ru"}]},"0.0.5-1":{"author":{"name":"Corpix","email":"me@corpix.ru","url":"http://corpix.ru"},"name":"exedra","description":"Routes && Functions loader for express","version":"0.0.5-1","homepage":"http://insanecoders.ru","keywords":["exedra","express","loader"],"repository":{"type":"git","url":"git://github.com/corpix/exedra.git"},"main":"index.js","engines":{"node":">=0.4.0"},"dependencies":{"fructose":">=0.0.3","express-namespace":">=0.0.4"},"devDependencies":{},"_npmUser":{"name":"corpix","email":"me@corpix.ru"},"_id":"exedra@0.0.5-1","_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.6.0","_defaultsLoaded":true,"dist":{"shasum":"551f7e1efd6970b028545809c0374d1c6f46b2aa","tarball":"https://registry.npmjs.org/exedra/-/exedra-0.0.5-1.tgz","integrity":"sha512-BlK0ygeqMYYM9Felj7whtzugmkd5OwF+LLU2uoZEUqNLOgHfV+207B0z7LrAqCtcOrt5gspyOzDXJwpjiJXftA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDx9FJDGAzswlrIHvsVM5xlD6q65ORqNH3Vx4FsNVSTNwIgXzmkJKJ2AwR3W4o/qHAG/0hRflCxZiG8xA3yoxEim8I="}]},"maintainers":[{"name":"corpix","email":"me@corpix.ru"}]},"0.0.6":{"author":{"name":"Corpix","email":"me@corpix.ru","url":"http://corpix.ru"},"name":"exedra","description":"Routes && Functions loader for express","version":"0.0.6","homepage":"http://insanecoders.ru","keywords":["exedra","express","loader"],"repository":{"type":"git","url":"git://github.com/corpix/exedra.git"},"main":"index.js","engines":{"node":">=0.4.0"},"dependencies":{"fructose":">=0.0.3","express-namespace":">=0.0.4"},"devDependencies":{},"_npmUser":{"name":"corpix","email":"me@corpix.ru"},"_id":"exedra@0.0.6","_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.6.6","_defaultsLoaded":true,"dist":{"shasum":"159e877cb1fc987490c010a530b6adc8ce3068a4","tarball":"https://registry.npmjs.org/exedra/-/exedra-0.0.6.tgz","integrity":"sha512-8uCW2kVm3SA/i/lCtiDD09hqUYX5fqKBBwulu+VE7FADgpcUkqRcYeuumvmy/8d6/MfwsrXdgfIyZm7OGI2pPw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4g539y5CfjTNrToirQOBcoHIs5L0mvKmtzElCSFosWQIgcCVjsWvuWNKtbUc0qpeAiMmeBbZj5e6YOvuLdHgpNrA="}]},"maintainers":[{"name":"corpix","email":"me@corpix.ru"}]},"0.0.7":{"author":{"name":"Corpix","email":"me@corpix.ru","url":"http://corpix.ru"},"name":"exedra","description":"Routes && Functions loader for express","version":"0.0.7","homepage":"http://insanecoders.ru","keywords":["exedra","express","loader"],"repository":{"type":"git","url":"git://github.com/corpix/exedra.git"},"main":"index.js","engines":{"node":">=0.4.0"},"dependencies":{"fructose":">=0.0.3","express-namespace":">=0.0.4"},"devDependencies":{},"_npmUser":{"name":"corpix","email":"me@corpix.ru"},"_id":"exedra@0.0.7","_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.6.6","_defaultsLoaded":true,"dist":{"shasum":"6d418bd04cba3eafa46912e6417d1b83f24d95cd","tarball":"https://registry.npmjs.org/exedra/-/exedra-0.0.7.tgz","integrity":"sha512-dhEnExZrelKI6buDiZH5Ow5oYtaWK5hUiNZ7OPTsxBbydHCT/HIf2AWsWLNCsNYwf1fQzWgcyBgcGIDplM1w+g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3U20pScP1EBoWAfcACiGfWQ1/J2Bwq1L+TMtHCnvwWQIgSor+8C3GUIqZeFDsXnpSKQ7lz8iQ7wuXQaGcWkRCCzw="}]},"maintainers":[{"name":"corpix","email":"me@corpix.ru"}]},"0.0.9-1":{"author":{"name":"Corpix","email":"me@corpix.ru","url":"http://corpix.ru"},"name":"exedra","description":"Routes && Functions loader for express","version":"0.0.9-1","homepage":"http://insanecoders.ru","keywords":["exedra","express","loader"],"repository":{"type":"git","url":"git://github.com/corpix/exedra.git"},"main":"index.js","engines":{"node":">=0.4.0"},"dependencies":{"fructose":"*","express-namespace":">=0.0.4"},"devDependencies":{},"_npmUser":{"name":"corpix","email":"me@corpix.ru"},"_id":"exedra@0.0.9-1","_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.6.6","_defaultsLoaded":true,"dist":{"shasum":"8ee8dc65c910c0d061ae3750928fcc9bbf68a7b8","tarball":"https://registry.npmjs.org/exedra/-/exedra-0.0.9-1.tgz","integrity":"sha512-OEc4KbaaKSWzBLNVAXKzRJGqAPVjA+BC2UcnCZBIjLywbGCNI4WOdzwEzZPPGi7hXF5PLsh3i1woAXZuMdDIBg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAnPzQeXHSn82fIpuCNeA1WLxt3xr5gb6X/m74MurqXRAiBTYUzghlrjnqZT5mZyC1authHJ9IAvcLbDT22xIkhuyw=="}]},"maintainers":[{"name":"corpix","email":"me@corpix.ru"}]},"0.0.9-2":{"author":{"name":"Corpix","email":"me@corpix.ru","url":"http://corpix.ru"},"name":"exedra","description":"Routes && Functions loader for express","version":"0.0.9-2","homepage":"http://insanecoders.ru","keywords":["exedra","express","loader"],"repository":{"type":"git","url":"git://github.com/corpix/exedra.git"},"main":"index.js","engines":{"node":">=0.4.0"},"dependencies":{"async":"*","fructose":"*","express-namespace":">=0.0.4"},"devDependencies":{},"_npmUser":{"name":"corpix","email":"me@corpix.ru"},"_id":"exedra@0.0.9-2","_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.6.6","_defaultsLoaded":true,"dist":{"shasum":"04d2941eddc7075df1dd8b6d70925fc72086145b","tarball":"https://registry.npmjs.org/exedra/-/exedra-0.0.9-2.tgz","integrity":"sha512-cnXlRfpV77DrKO9RfC/B0xi+0vRFEqXsjydM2TAFj4PoK0LWo+fWDsB5oRgojPrI8x2qYnTHuDQfeJ04UY1TyA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEMfd8PbWw00yDbJLWQbaxFDvku85ERZdrUYaDr8PKBjAiBNL/zUTh84l5GrzG3MyY9vKMzxkMiqVNZZZtBtSG9KVg=="}]},"maintainers":[{"name":"corpix","email":"me@corpix.ru"}]},"0.0.9-4":{"author":{"name":"Corpix","email":"me@corpix.ru","url":"http://corpix.ru"},"name":"exedra","description":"Routes && Functions loader for express","version":"0.0.9-4","homepage":"http://insanecoders.ru","keywords":["exedra","express","loader"],"repository":{"type":"git","url":"git://github.com/corpix/exedra.git"},"main":"index.js","engines":{"node":">=0.4.0"},"dependencies":{"async":"*","fructose":"*","express-namespace":">=0.0.4"},"devDependencies":{},"_npmUser":{"name":"corpix","email":"me@corpix.ru"},"_id":"exedra@0.0.9-4","_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.6.6","_defaultsLoaded":true,"dist":{"shasum":"91d3047a686cc11a6bdc7cfa1d8946f51d37f086","tarball":"https://registry.npmjs.org/exedra/-/exedra-0.0.9-4.tgz","integrity":"sha512-fWztXoFg+MAZbfxGvigLAc7gSsZhovhzMFwDAUSBNJLA+tAGDsRoneKhTaejNYV8BTH6QITJzo0MB8kEq6iv3w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNoeuhDoooNbox5MtHxkaFuWKUZHQat4S9N/0zYyk/IAIhAOqvsEiF8JKI9mgL4BP8TTRWQ18zJFTP6jkzMeuCJerr"}]},"maintainers":[{"name":"corpix","email":"me@corpix.ru"}]},"0.0.9-5":{"author":{"name":"Corpix","email":"me@corpix.ru","url":"http://corpix.ru"},"name":"exedra","description":"Routes && Functions loader for express","version":"0.0.9-5","homepage":"http://insanecoders.ru","keywords":["exedra","express","loader"],"repository":{"type":"git","url":"git://github.com/corpix/exedra.git"},"main":"index.js","engines":{"node":">=0.4.0"},"dependencies":{"async":"*","fructose":"*","express-namespace":">=0.0.4"},"devDependencies":{},"_npmUser":{"name":"corpix","email":"me@corpix.ru"},"_id":"exedra@0.0.9-5","_engineSupported":true,"_npmVersion":"1.1.0-beta-10","_nodeVersion":"v0.6.3","_defaultsLoaded":true,"dist":{"shasum":"3d4a32af82c054ee11133cfb254d94d18262d579","tarball":"https://registry.npmjs.org/exedra/-/exedra-0.0.9-5.tgz","integrity":"sha512-H+rwg6nbV634AJXtZAGI0dNPZC5zZmncGZ6pZBO8GgbyZ0Zyv29QvHkZm90mIC00ikcjSGBLVQudRR7njQz+/w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCj47zEKIlBU/ICFN6en89sUBVIZNtSroC5smgxzhTziAIgWUFt7vUs37BUEYuH2krGzrMltzwlis9hNY8ZX6uVGVs="}]},"readme":"","maintainers":[{"name":"corpix","email":"me@corpix.ru"}]},"0.0.10":{"author":{"name":"Corpix","email":"me@corpix.ru","url":"http://corpix.ru"},"name":"exedra","description":"Routes && Functions loader for express","version":"0.0.10","homepage":"http://insanecoders.ru","keywords":["exedra","express","loader"],"repository":{"type":"git","url":"git://github.com/corpix/exedra.git"},"main":"index.js","engines":{"node":">=0.4.0"},"dependencies":{"async":"*","fructose":"*","express-namespace":">=0.0.4"},"devDependencies":{},"_npmUser":{"name":"corpix","email":"me@corpix.ru"},"_id":"exedra@0.0.10","_engineSupported":true,"_npmVersion":"1.1.0-beta-10","_nodeVersion":"v0.6.9","_defaultsLoaded":true,"dist":{"shasum":"0134d5182eb7988611a30686c3fe4b21d57d0940","tarball":"https://registry.npmjs.org/exedra/-/exedra-0.0.10.tgz","integrity":"sha512-qlf4TjIA7E16sacZ5p1FKrq809jscTnhjSaJVWCJ5DHtVBp2pSRvsuITI1VVmpJoBZoudPJxbgciHNCNTRoXhA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/48evhF9BY94zTyKTnolQE5qiN4V2cxVmIulwg0gfEgIhAJZkEpvTZ1aQLmjvEaclIlkpKOp+Yf2NXNKSPFB5fyh8"}]},"readme":"Exedra\n=====\nRoutes and functions loader\n\nFor example: we have two dirs in a root of our project\n\n    /functions\n    /routes\n\n### In `/functions` we have:\n  /functions/say.js\n\n`/functions/say.js` code:\n\n```javascript\n    // ATTENTION! Don't place your code outside export function, You'll not be able to connect with them, code from exports evaled in nodes VM, exedra passing other context into it\n    module.exports = function(){\n      var fn = {};\n      fn.hello = function(){\n        return 'hello';\n      }\n    }\n```\n\n### In `/routes` we have:\n  /routes/index.js\n  /routes/index/foo.js\n\n`/routes/index.js` code:\n\n```javascript\n    module.export = function(){\n      // We will use this, because it`s express-namespace\n      this.get('/bar', function(req, res, next){}); // == 127.0.0.1:3000/bar\n    }\n```\n\nNow lets run our hello function from `say.js`\n\n/routes/index/foo.js code:\n\n```javascript\n    module.exports = function(){\n      // Yeah, you could use app instead of this\n      app.get('/', function(req, res, next){ // == 127.0.0.1:3000/foo\n        res.send(fn.say.hello()); // calling funtcion hello from say.js\n      }); \n    }\n```\n\n### Ok. Now we need entry point\n\n`index.js`:\n\n```javascript\n    var express = require('express')\n      , Exedra = require('exedra')\n      , vs = { foo: 1, bar: 2 }; // This vars will be sended in context of each route/function\n      \n    var app = vs.app = express.createServer(); // !!!WE NEED TO PASS app INTO vs\n    var exedra = new Exedra(vs);\n\n    exedra.functions({ foo: 1 }).routes({ foo: 2 }); // We can extend context\n    app.listen();\n```\n\n### For more details see `/examples/simple-project`\n","maintainers":[{"name":"corpix","email":"me@corpix.ru"}]},"0.0.11":{"author":{"name":"Corpix","email":"me@corpix.ru","url":"http://corpix.ru"},"name":"exedra","description":"Routes && Functions loader for express","version":"0.0.11","homepage":"http://insanecoders.ru","keywords":["exedra","express","loader"],"repository":{"type":"git","url":"git://github.com/corpix/exedra.git"},"main":"index.js","engines":{"node":">=0.4.0"},"dependencies":{"async":"*","fructose":"*","express-namespace":">=0.0.4"},"devDependencies":{},"_npmUser":{"name":"corpix","email":"me@corpix.ru"},"_id":"exedra@0.0.11","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.1","_nodeVersion":"v0.6.9","_defaultsLoaded":true,"dist":{"shasum":"b546a4320231ed90fcb0612ea7d640090c4c7594","tarball":"https://registry.npmjs.org/exedra/-/exedra-0.0.11.tgz","integrity":"sha512-oOTCrVETnoyrdEGeM2pccCnOGOWjwFuoDedgv7RiUCQKIUX9HPNK8ApG/RV43w2gpSpjta5slbtv7OnBRVPq3w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICM7q7W4ac+vJY27olOcr9KMYrtRFrC/qXeAI0wUHw0dAiEAg1zPx3K9oYchdW4lFyw7wbhjWYT888MXq27zDrZJDxg="}]},"readme":"Exedra\n=====\nRoutes and functions loader\n\nFor example: we have two dirs in a root of our project\n\n    /functions\n    /routes\n\n### In `/functions` we have:\n  /functions/say.js\n\n`/functions/say.js` code:\n\n```javascript\n    // ATTENTION! Don't place your code outside export function, You'll not be able to connect with them, code from exports evaled in nodes VM, exedra passing other context into it\n    module.exports = function(){\n      var fn = {};\n      fn.hello = function(){\n        return 'hello';\n      }\n    }\n```\n\n### In `/routes` we have:\n  /routes/index.js\n  /routes/index/foo.js\n\n`/routes/index.js` code:\n\n```javascript\n    module.export = function(){\n      // We will use this, because it`s express-namespace\n      this.get('/bar', function(req, res, next){}); // == 127.0.0.1:3000/bar\n    }\n```\n\nNow lets run our hello function from `say.js`\n\n/routes/index/foo.js code:\n\n```javascript\n    module.exports = function(){\n      // Yeah, you could use app instead of this\n      app.get('/', function(req, res, next){ // == 127.0.0.1:3000/foo\n        res.send(fn.say.hello()); // calling funtcion hello from say.js\n      }); \n    }\n```\n\n### Ok. Now we need entry point\n\n`index.js`:\n\n```javascript\n    var express = require('express')\n      , Exedra = require('exedra')\n      , vs = { foo: 1, bar: 2 }; // This vars will be sended in context of each route/function\n      \n    var app = vs.app = express.createServer(); // !!!WE NEED TO PASS app INTO vs\n    var exedra = new Exedra(vs);\n\n    exedra.functions({ foo: 1 }).routes({ foo: 2 }); // We can extend context\n    app.listen();\n```\n\n### For more details see `/examples/simple-project`\n","maintainers":[{"name":"corpix","email":"me@corpix.ru"}]},"0.0.12":{"author":{"name":"Corpix","email":"me@corpix.ru","url":"http://corpix.ru"},"name":"exedra","description":"Routes && Functions loader for express","version":"0.0.12","homepage":"http://insanecoders.ru","keywords":["exedra","express","loader"],"repository":{"type":"git","url":"git://github.com/corpix/exedra.git"},"main":"index.js","engines":{"node":">=0.4.0"},"dependencies":{"async":"*","fructose":"*","express-namespace":">=0.0.4"},"devDependencies":{},"_npmUser":{"name":"corpix","email":"me@corpix.ru"},"_id":"exedra@0.0.12","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.1","_nodeVersion":"v0.6.9","_defaultsLoaded":true,"dist":{"shasum":"d67eb7725587f2ee5421a023477248fd959bd2b7","tarball":"https://registry.npmjs.org/exedra/-/exedra-0.0.12.tgz","integrity":"sha512-3+0in4unkQeClcczxdF3hYHtXfue+HgdOCnaB2qAdzcIYesFWy/UQz8pi0KeZngTynwKfU7U8UFy9RFOwrI8BQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfP3ZuUEbKjGK0D8YhAi7Iebe7gxSXLclhkZyDRfCQDQIhAK4bYzokdjrMviunnETjBkBbOSWv/aiFng6YRuqH2ilz"}]},"readme":"Exedra\n=====\nRoutes and functions loader\n\nFor example: we have two dirs in a root of our project\n\n    /functions\n    /routes\n\n### In `/functions` we have:\n  /functions/say.js\n\n`/functions/say.js` code:\n\n```javascript\n    // ATTENTION! Don't place your code outside export function, You'll not be able to connect with them, code from exports evaled in nodes VM, exedra passing other context into it\n    module.exports = function(){\n      var fn = {};\n      fn.hello = function(){\n        return 'hello';\n      }\n    }\n```\n\n### In `/routes` we have:\n  /routes/index.js\n  /routes/index/foo.js\n\n`/routes/index.js` code:\n\n```javascript\n    module.export = function(){\n      // We will use this, because it`s express-namespace\n      this.get('/bar', function(req, res, next){}); // == 127.0.0.1:3000/bar\n    }\n```\n\nNow lets run our hello function from `say.js`\n\n/routes/index/foo.js code:\n\n```javascript\n    module.exports = function(){\n      // Yeah, you could use app instead of this\n      app.get('/', function(req, res, next){ // == 127.0.0.1:3000/foo\n        res.send(fn.say.hello()); // calling funtcion hello from say.js\n      }); \n    }\n```\n\n### Ok. Now we need entry point\n\n`index.js`:\n\n```javascript\n    var express = require('express')\n      , Exedra = require('exedra')\n      , vs = { foo: 1, bar: 2 }; // This vars will be sended in context of each route/function\n      \n    var app = vs.app = express.createServer(); // !!!WE NEED TO PASS app INTO vs\n    var exedra = new Exedra(vs);\n\n    exedra.functions({ foo: 1 }).routes({ foo: 2 }); // We can extend context\n    app.listen();\n```\n\n### For more details see `/examples/simple-project`\n","maintainers":[{"name":"corpix","email":"me@corpix.ru"}]}},"maintainers":[{"name":"corpix","email":"me@corpix.ru"}],"time":{"modified":"2022-06-17T21:53:31.776Z","created":"2011-10-27T10:44:04.282Z","0.0.1":"2011-10-27T10:44:06.643Z","0.0.2":"2011-10-27T10:50:07.388Z","0.0.3":"2011-10-27T10:56:30.823Z","0.0.4":"2011-11-05T09:45:37.507Z","0.0.4-1":"2011-11-05T22:43:55.278Z","0.0.4-2":"2011-12-01T23:16:58.114Z","0.0.5":"2011-12-13T00:38:48.943Z","0.0.5-1":"2011-12-13T00:41:57.570Z","0.0.6":"2011-12-20T02:02:32.915Z","0.0.7":"2011-12-23T09:09:03.258Z","0.0.9-1":"2011-12-25T13:32:46.749Z","0.0.9-2":"2011-12-25T13:47:33.763Z","0.0.9-4":"2011-12-28T23:41:33.924Z","0.0.9-5":"2012-01-09T15:04:59.875Z","0.0.10":"2012-01-31T21:59:51.497Z","0.0.11":"2012-03-09T01:17:42.179Z","0.0.12":"2012-03-09T01:24:13.807Z"},"author":{"name":"Corpix","email":"me@corpix.ru","url":"http://corpix.ru"},"repository":{"type":"git","url":"git://github.com/corpix/exedra.git"}}