{"_id":"frequire","_rev":"44-2c300a9cd7cfed8f55c14ddd0fd26be8","name":"frequire","description":"require() for the browser - works with npm modules, browserify modules, components, expose objects and more","dist-tags":{"latest":"0.1.0beta10"},"versions":{"0.0.1":{"author":{"name":"George Stagas","email":"gstagas@gmail.com","url":"http://stagas.com"},"name":"frequire","description":"Just f**ing require modules and share code with the browser","version":"0.0.1","main":"./frequire.js","dependencies":{"tosource":"~0.1.1"},"devDependencies":{"express":"~3.0.0rc2"},"optionalDependencies":{},"engines":{"node":"*"},"_npmUser":{"name":"stagas","email":"gstagas@gmail.com"},"_id":"frequire@0.0.1","_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.6.17","_defaultsLoaded":true,"dist":{"shasum":"b0de85777d5b40eb9c6daa9a491c685c7a2b3a5c","tarball":"https://registry.npmjs.org/frequire/-/frequire-0.0.1.tgz","integrity":"sha512-eTzu7Fl6t9VGxcaeTZxtuZm6lpzN8eHPUFggIBd0ZXlFMplrQh+60DABgYd88Kny6peBCnWIqDlI9CoiPE6/EA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDCsbxyzGwfO0ZXOua4IxPRWk2pELpeEPCZTA8G7JxhbgIgAKW3fVIIunrbnwUFNMR76OlIAw39hHUdRxX4NtTA59g="}]},"maintainers":[{"name":"stagas","email":"gstagas@gmail.com"}],"directories":{}},"0.0.2":{"author":{"name":"George Stagas","email":"gstagas@gmail.com","url":"http://stagas.com"},"name":"frequire","description":"Just f**ing require modules and share code with the browser","version":"0.0.2","main":"./frequire.js","dependencies":{"tosource":"~0.1.1"},"devDependencies":{"express":"~3.0.0rc2"},"optionalDependencies":{},"engines":{"node":"*"},"_npmUser":{"name":"stagas","email":"gstagas@gmail.com"},"_id":"frequire@0.0.2","_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.6.17","_defaultsLoaded":true,"dist":{"shasum":"5379ed84a5eaee2bb655e0e1ca74481a1f6b31c4","tarball":"https://registry.npmjs.org/frequire/-/frequire-0.0.2.tgz","integrity":"sha512-13Ap2B1p6Y+xM0uy3JShsXhXlRrGp07/VUs3X6Bi7e1pRdIlPaNQA+OfCLuh8YVV9quYgErL4i5WJ3HsWadsaw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICeCCrikXrMll0M9My24BewN9zEp48a0FHdGhHMTcqSrAiAZ9drlcT3ibB4az7ZVDvRol89y1pkpvfcTzJPc5e4oew=="}]},"maintainers":[{"name":"stagas","email":"gstagas@gmail.com"}],"directories":{}},"0.0.3":{"author":{"name":"George Stagas","email":"gstagas@gmail.com","url":"http://stagas.com"},"name":"frequire","description":"Just f**ing require modules and share code with the browser","version":"0.0.3","main":"./frequire.js","dependencies":{"tosource":"~0.1.1"},"devDependencies":{"express":"~3.0.0rc2"},"optionalDependencies":{},"engines":{"node":"*"},"_npmUser":{"name":"stagas","email":"gstagas@gmail.com"},"_id":"frequire@0.0.3","_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.6.17","_defaultsLoaded":true,"dist":{"shasum":"27c5f488d31f6dc65ea39d3c2fc1cff8fc5e39d5","tarball":"https://registry.npmjs.org/frequire/-/frequire-0.0.3.tgz","integrity":"sha512-JK4WlT9Iee2wffcR/0O7UxGNV1OibzGilynEjnSrrK62Bt4sNA/xP5NBb3vcoG8IF66UhmZHeVARE9ZryqcN7g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDagyiMQhEKTmMNgccsMpdhJutEw6wibDHzWSfqR24/rQIgaqY/2sKVwRC4Mzk11+Fpbqgf3izQ3fgg7Dm7B+Uhfgw="}]},"maintainers":[{"name":"stagas","email":"gstagas@gmail.com"}],"directories":{}},"0.0.4":{"author":{"name":"George Stagas","email":"gstagas@gmail.com","url":"http://stagas.com"},"name":"frequire","description":"Just f**ing require modules and share code with the browser","version":"0.0.4","main":"./frequire.js","dependencies":{"tosource":"~0.1.1"},"devDependencies":{"express":"~3.0.0rc2","jade":"~0.27.2"},"optionalDependencies":{},"engines":{"node":"*"},"_npmUser":{"name":"stagas","email":"gstagas@gmail.com"},"_id":"frequire@0.0.4","_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.6.17","_defaultsLoaded":true,"dist":{"shasum":"9a513c24f46eadc3ec5cb7e3fd725256df29d961","tarball":"https://registry.npmjs.org/frequire/-/frequire-0.0.4.tgz","integrity":"sha512-LOVklM1H4BPtnYTQL4a4o5u1fKhcynh55/X4G8aw0WMLGvpvEwYqlaNxJ+Ev7gVIcT8wEWU5ar+PiIn6HzTkyA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE+S6hjT6ls16VOHWmDkxj1j9qTG+VWDnhD2uIW1yABaAiEA5pV3MvG9jcZOJ/pNiIA8X87DDk96HVnX0U5l93dnkys="}]},"maintainers":[{"name":"stagas","email":"gstagas@gmail.com"}],"directories":{}},"0.0.5":{"author":{"name":"George Stagas","email":"gstagas@gmail.com","url":"http://stagas.com"},"name":"frequire","description":"Just f**ing require modules and share code with the browser","version":"0.0.5","main":"./frequire.js","dependencies":{"tosource":"~0.1.1"},"devDependencies":{"express":"~3.0.0rc2","jade":"~0.27.2"},"optionalDependencies":{},"engines":{"node":"*"},"_npmUser":{"name":"stagas","email":"gstagas@gmail.com"},"_id":"frequire@0.0.5","_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.6.17","_defaultsLoaded":true,"dist":{"shasum":"267e029d147e43bbb2e73d59590e7681efdfdf8f","tarball":"https://registry.npmjs.org/frequire/-/frequire-0.0.5.tgz","integrity":"sha512-MWcy0TT4pFtrRMydz0AEYeUMnRznufA9M6b/ZQ5HMeKQDvy/hW8SX2BPZ1lkoQxuN54Lq6OjSpvYMkBG5llGEQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCp7wM3LHqSrD7tFS/tvOEI0qVXZhhnVanynCsfnOIehgIhAMl1GAxhnQHFdBykYEM7Hgj2DhHOf/VhCjP95CqSJkSV"}]},"maintainers":[{"name":"stagas","email":"gstagas@gmail.com"}],"directories":{}},"0.1.0alpha1":{"author":{"name":"George Stagas","email":"gstagas@gmail.com","url":"http://stagas.com"},"name":"frequire","description":"Just f**ing require modules and share code with the browser","version":"0.1.0alpha1","main":"./frequire.js","dependencies":{"tosource":"~0.1.1"},"devDependencies":{"express":"~3.0.0rc2","jade":"~0.27.2"},"optionalDependencies":{},"engines":{"node":"*"},"_npmUser":{"name":"stagas","email":"gstagas@gmail.com"},"_id":"frequire@0.1.0alpha1","_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.6.17","_defaultsLoaded":true,"dist":{"shasum":"de9c4e70e4b80a98d1da63ab589445cb670c5b2a","tarball":"https://registry.npmjs.org/frequire/-/frequire-0.1.0alpha1.tgz","integrity":"sha512-i8aOyPfX8LICVRJMRkqvVC5P+koJ8Sy9zYDB68yyKjDZN7Kz+96PWA0G2vh3INVJQezmagmGu6pCVTgx5h4qJg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDcWLANPvDSoD7JQmLzN+SxPWpNvX0Yro70xioxYDf6hgIgHnt0nZHEAJ3CZ2mOCce06fzgI2McJ+gWWOR8FID2MBI="}]},"maintainers":[{"name":"stagas","email":"gstagas@gmail.com"}],"directories":{}},"0.1.0alpha2":{"author":{"name":"George Stagas","email":"gstagas@gmail.com","url":"http://stagas.com"},"name":"frequire","description":"Just f**ing require modules and share code with the browser","keywords":["require","component","expose","build","compile","middleware"],"version":"0.1.0alpha2","main":"./frequire.js","dependencies":{"tosource":"~0.1.1"},"devDependencies":{"express":"~3.0.0rc2","jade":"~0.27.2"},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# frequire\r\n\r\nJust f**ing require modules and components and share code with the browser.\r\n\r\n### Also see the [example](https://github.com/stagas/frequire/blob/master/example/app.js)\r\n\r\n## Example\r\n\r\n#### server:\r\n\r\n```javascript\r\nvar f = require('frequire')(__dirname)\r\nf.require([ 'jquery', 'client' ])\r\nf.expose(function () { require('client').start() })\r\napp.use(f.middleware())\r\n```\r\n\r\n#### index.html\r\n\r\nSimply insert these in `<head>`:\r\n```html\r\n  <link rel=\"stylesheet\" href=\"/wrapped.css\">\r\n  <script src=\"/wrapped.js\"></script>\r\n```\r\n\r\nThen in your client code:\r\n\r\n```html\r\nvar $ = require('jquery')\r\n```\r\n\r\n## API\r\n\r\n#### f.require('module')\r\n\r\nLoad and register a module to be required.\r\n\r\n#### f.require('module', './path/to/module')\r\n\r\nLoad a module from path, and register it with another name.\r\n\r\n#### f.require(['emitter', 'jquery', 'tip'])\r\n\r\nMass register modules.\r\n\r\n#### f.require([ 'x', ['y', './path/to/y'] ])\r\n\r\nCombinations.\r\n\r\n#### f.require('fn', function () { return 'woo!' })\r\n\r\nPass a function to be sourced out.\r\n\r\n#### f.require('system', { os: 'amigaos3.1', reset: function () { return 'Ctrl+Amiga+Amiga' } })\r\n\r\nOr an object.\r\n\r\n### More\r\n\r\nYou can also require JSON files.\r\n\r\nAny other types will be returned as Strings (for example you could require an html document, a css file, etc).\r\n\r\n#### f.expose('some', code)\r\n\r\nInserts `window['some'] = code`\r\n\r\n#### f.expose(fn)\r\n\r\nWraps and executes function: `(fn)()`\r\n\r\n#### f.middleware(options OR namespace)\r\n\r\nReturns a Connect middleware.\r\n\r\nFor now the only option is the namespace to match with req.url (defaults to `wrapped`)\r\n\r\n### Inspirations\r\n\r\ncomponent, express-expose, browserify, brequire\r\n\r\n### Credits\r\n\r\nUses browser require impl. by TJ Holowaychuk\r\n\r\n### Licence\r\n\r\nMIT/X11\r\n","_id":"frequire@0.1.0alpha2","dist":{"shasum":"52d76b86f81ca9621f9a6bc5d6c27659569c5e5a","tarball":"https://registry.npmjs.org/frequire/-/frequire-0.1.0alpha2.tgz","integrity":"sha512-U9c8WamZjLqta6cnbPvMW0P6JI9YFxihPAjXejnowiQzH+W9M/pGohA59VpDtmaTgq77AlT6od3zqdKBG665Ww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4wRO4FU0ZxPPrLt5I1rE84oN3vUd16uUQIkbbXMJhQgIgTcPWWV72WrnYPVmJ2tmPmEIVRix+D/CshwxcK04AssQ="}]},"_npmVersion":"1.1.49","_npmUser":{"name":"stagas","email":"gstagas@gmail.com"},"maintainers":[{"name":"stagas","email":"gstagas@gmail.com"}],"directories":{}},"0.1.0beta1":{"author":{"name":"George Stagas","email":"gstagas@gmail.com","url":"http://stagas.com"},"name":"frequire","description":"require() for the browser - works with npm modules, browserify modules, components, expose objects and more","keywords":["require","component","expose","browserify","build","compile","middleware"],"version":"0.1.0beta1","main":"./frequire.js","dependencies":{"tosource":"~0.1.1","semver":"~1.0.14"},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# frequire\r\n\r\n**require()** for the browser - works with npm modules, browserify modules, components, expose objects and more\r\n\r\n\r\n### Also see the [example](https://github.com/stagas/frequire/blob/master/example/app.js)\r\n\r\n## Example\r\n\r\n#### server.js:\r\n\r\n```javascript\r\nvar f = require('frequire')(__dirname)\r\n\r\nf.expose(f.node().js) // node.js shim, needed by browserify modules\r\n\r\nf.require('popover') // component modules\r\nf.require('http', 'http-browserify') // browserify modules, here with alias\r\nf.require('shoe') // a browserify module\r\nf.require('youtube-player') // another browserify module\r\nf.require('./client') // our client code\r\n\r\nf.expose(function () { window.onload = require('./client') }) // expose a function to execute immediately\r\n\r\nf.expose('config', { name: 'frequire demo' }) // exposes objects in window\r\n\r\nf.require('yo', { run: function () { alert('yo', config.name) } }) // expose an object as a module\r\n\r\nf.expose('require(\"yo\").run()') // expose raw code\r\n\r\napp.use(f.middleware())\r\n\r\n```\r\n\r\n#### index.html\r\n\r\nSimply insert these in `<head>`:\r\n\r\n```html\r\n  <link rel=\"stylesheet\" href=\"/wrapped.css\">\r\n  <script src=\"/wrapped.js\"></script>\r\n```\r\n\r\nThen in your client code:\r\n\r\n#### client.js\r\n\r\n```javascript\r\nmodule.exports = function () {\r\n  var $ = require('jquery')\r\n  var http = require('http')\r\n  var Popover = require('popover')\r\n  var shoe = require('shoe')\r\n  var YouTubePlayer = require('youtube-player')\r\n\r\n  var $result = $('#result')\r\n\r\n  $('a').on('click', function (ev) {\r\n    var popover = new Popover($(this).attr('title'), 'Hello');\r\n    popover.show(this)\r\n    setTimeout(function () {\r\n      popover.hide()\r\n    }, 1000)\r\n  })\r\n\r\n  http.get({ path : '/beep' }, function (res) {\r\n    var div = $result[0]\r\n    div.innerHTML += 'GET /beep<br>';\r\n\r\n    res.on('data', function (buf) {\r\n      div.innerHTML += buf;\r\n    });\r\n\r\n    res.on('end', function () {\r\n      div.innerHTML += '<br>__END__';\r\n    });\r\n  });\r\n\r\n  var stream = shoe('/invert')\r\n\r\n  stream.on('data', function (data) {\r\n    $result[0].appendChild(document.createTextNode(data))\r\n  })\r\n\r\n  var p = new YouTubePlayer({ id: 'player', width: 400, height: 300 })\r\n\r\n  p.play('EvObIwCu8CQ')\r\n}\r\n\r\n```\r\n\r\n## API\r\n\r\n#### f.require('module')\r\n\r\nLoad and register a module to be required.\r\n\r\n#### f.require('module', './path/to/module')\r\n\r\nLoad a module from path, and register it with another name.\r\n\r\n#### f.require(['emitter', 'jquery', 'tip'])\r\n\r\nMass register modules.\r\n\r\n#### f.require([ 'x', ['y', './path/to/y'] ])\r\n\r\nCombinations.\r\n\r\n#### f.require('fn', function () { return 'woo!' })\r\n\r\nPass a function to be sourced out.\r\n\r\n#### f.require('system', { os: 'amigaos3.1', reset: function () { return 'Ctrl+Amiga+Amiga' } })\r\n\r\nOr an object.\r\n\r\n### More\r\n\r\nYou can also require JSON files.\r\n\r\nAny other types will be returned as Strings (for example you could require an html document, a css file, etc).\r\n\r\n#### f.expose('some', code)\r\n\r\nInserts `window['some'] = code`\r\n\r\n#### f.expose('code')\r\n\r\nInserts raw code\r\n\r\n#### f.expose(fn)\r\n\r\nWraps and executes function: `(fn)()`\r\n\r\n#### f.middleware(options OR namespace)\r\n\r\nReturns a Connect middleware.\r\n\r\nFor now the only option is the namespace to match with req.url (defaults to `wrapped`)\r\n\r\n### Inspirations\r\n\r\ncomponent, express-expose, browserify, brequire\r\n\r\n### Credits\r\n\r\n- Uses a modified version of [component/require](https://github.com/component/require) by TJ Holowaychuk\r\n\r\n- node.js shims extracted from [browserify](https://github.com/substack/node-browserify/) by James Halliday (aka substack)\r\n\r\n### Licence\r\n\r\nMIT/X11\r\n","_id":"frequire@0.1.0beta1","dist":{"shasum":"44b7ae258aa33560b40df6eb60dc7162b23349c1","tarball":"https://registry.npmjs.org/frequire/-/frequire-0.1.0beta1.tgz","integrity":"sha512-XJdk3lXnJDT+vwkEyFkvBQ4eGG2IYuq8xdGr+T4pDEOtDNff5tz75pVZ3EndOed4jMxmhMrXrusNcswXiK1h7Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFYG7TccGdakw77G9wfHCVVr5qRHHofPcupeiUwBg5w2AiEAtT3s2m+rs2bu+heE/MjZsQ8GNy4hkJ49ZfRE1d1lgy0="}]},"_npmVersion":"1.1.59","_npmUser":{"name":"stagas","email":"gstagas@gmail.com"},"maintainers":[{"name":"stagas","email":"gstagas@gmail.com"}],"directories":{}},"0.1.0beta2":{"author":{"name":"George Stagas","email":"gstagas@gmail.com","url":"http://stagas.com"},"name":"frequire","description":"require() for the browser - works with npm modules, browserify modules, components, expose objects and more","keywords":["require","component","expose","browserify","build","compile","middleware"],"version":"0.1.0beta2","main":"frequire.js","dependencies":{"tosource":"~0.1.1","semver":"~1.0.14","node-shim":"0.0.1"},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# frequire\r\n\r\n**require()** for the browser - works with npm modules, browserify modules, components, expose objects and more\r\n\r\n\r\n### Also see the [example](https://github.com/stagas/frequire/blob/master/example/app.js)\r\n\r\n## Example\r\n\r\n#### server.js:\r\n\r\n```javascript\r\nvar f = require('frequire')(__dirname)\r\n\r\nf.expose(f.node().js) // node.js shim, needed by browserify modules\r\n\r\nf.require('popover') // component modules\r\nf.require('http', 'http-browserify') // browserify modules, here with alias\r\nf.require('shoe') // a browserify module\r\nf.require('youtube-player') // another browserify module\r\nf.require('./client') // our client code\r\n\r\nf.expose(function () { window.onload = require('./client') }) // expose a function to execute immediately\r\n\r\nf.expose('config', { name: 'frequire demo' }) // exposes objects in window\r\n\r\nf.require('yo', { run: function () { alert('yo', config.name) } }) // expose an object as a module\r\n\r\nf.expose('require(\"yo\").run()') // expose raw code\r\n\r\napp.use(f.middleware())\r\n\r\n```\r\n\r\n#### index.html\r\n\r\nSimply insert these in `<head>`:\r\n\r\n```html\r\n  <link rel=\"stylesheet\" href=\"/wrapped.css\">\r\n  <script src=\"/wrapped.js\"></script>\r\n```\r\n\r\nThen in your client code:\r\n\r\n#### client.js\r\n\r\n```javascript\r\nmodule.exports = function () {\r\n  var $ = require('jquery')\r\n  var http = require('http')\r\n  var Popover = require('popover')\r\n  var shoe = require('shoe')\r\n  var YouTubePlayer = require('youtube-player')\r\n\r\n  var $result = $('#result')\r\n\r\n  $('a').on('click', function (ev) {\r\n    var popover = new Popover($(this).attr('title'), 'Hello');\r\n    popover.show(this)\r\n    setTimeout(function () {\r\n      popover.hide()\r\n    }, 1000)\r\n  })\r\n\r\n  http.get({ path : '/beep' }, function (res) {\r\n    var div = $result[0]\r\n    div.innerHTML += 'GET /beep<br>';\r\n\r\n    res.on('data', function (buf) {\r\n      div.innerHTML += buf;\r\n    });\r\n\r\n    res.on('end', function () {\r\n      div.innerHTML += '<br>__END__';\r\n    });\r\n  });\r\n\r\n  var stream = shoe('/invert')\r\n\r\n  stream.on('data', function (data) {\r\n    $result[0].appendChild(document.createTextNode(data))\r\n  })\r\n\r\n  var p = new YouTubePlayer({ id: 'player', width: 400, height: 300 })\r\n\r\n  p.play('EvObIwCu8CQ')\r\n}\r\n\r\n```\r\n\r\n## API\r\n\r\n#### f.require('module')\r\n\r\nLoad and register a module to be required.\r\n\r\n#### f.require('module', './path/to/module')\r\n\r\nLoad a module from path, and register it with another name.\r\n\r\n#### f.require(['emitter', 'jquery', 'tip'])\r\n\r\nMass register modules.\r\n\r\n#### f.require([ 'x', ['y', './path/to/y'] ])\r\n\r\nCombinations.\r\n\r\n#### f.require('fn', function () { return 'woo!' })\r\n\r\nPass a function to be sourced out.\r\n\r\n#### f.require('system', { os: 'amigaos3.1', reset: function () { return 'Ctrl+Amiga+Amiga' } })\r\n\r\nOr an object.\r\n\r\n### More\r\n\r\nYou can also require JSON files.\r\n\r\nAny other types will be returned as Strings (for example you could require an html document, a css file, etc).\r\n\r\n#### f.expose('some', code)\r\n\r\nInserts `window['some'] = code`\r\n\r\n#### f.expose('code')\r\n\r\nInserts raw code\r\n\r\n#### f.expose(fn)\r\n\r\nWraps and executes function: `(fn)()`\r\n\r\n#### f.middleware(options OR namespace)\r\n\r\nReturns a Connect middleware.\r\n\r\nFor now the only option is the namespace to match with req.url (defaults to `wrapped`)\r\n\r\n### Inspirations\r\n\r\ncomponent, express-expose, browserify, brequire\r\n\r\n### Credits\r\n\r\n- Uses a modified version of [component/require](https://github.com/component/require) by TJ Holowaychuk\r\n\r\n- node.js shims extracted from [browserify](https://github.com/substack/node-browserify/) by James Halliday (aka substack)\r\n\r\n### Licence\r\n\r\nMIT/X11\r\n","_id":"frequire@0.1.0beta2","dist":{"shasum":"0947614ef78dc79234fa1f0ea2708dc5c19e12e4","tarball":"https://registry.npmjs.org/frequire/-/frequire-0.1.0beta2.tgz","integrity":"sha512-Y+QDcU0uhC0wphnQsYRHwnI9MNFC6sJW2nhwFkzVhUTXDxeQzOYX72iLiknIrqGoK8qPW6Lnjc3gGW71j+yOLw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhb88N9wmMK0J4ROTvZa+4yxvfkKfRtnRnlY+SUUNBZQIgFp80GIROKDkpc+3N5nMgJQiBjgtGZK9G+sIc+Q3t8Ng="}]},"_npmVersion":"1.1.59","_npmUser":{"name":"stagas","email":"gstagas@gmail.com"},"maintainers":[{"name":"stagas","email":"gstagas@gmail.com"}]},"0.1.0beta3":{"author":{"name":"George Stagas","email":"gstagas@gmail.com","url":"http://stagas.com"},"name":"frequire","description":"require() for the browser - works with npm modules, browserify modules, components, expose objects and more","keywords":["require","component","expose","browserify","build","compile","middleware"],"version":"0.1.0beta3","main":"frequire.js","bin":{"fbuild":"./bin/fbuild"},"dependencies":{"tosource":"~0.1.1","semver":"~1.0.14","node-shim":"0.0.1"},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# frequire\r\n\r\n**require()** for the browser - works with npm modules, browserify modules, components, expose objects and more\r\n\r\n\r\n### Also see the [example](https://github.com/stagas/frequire/blob/master/example/app.js)\r\n\r\n## Example\r\n\r\n#### server.js:\r\n\r\n```javascript\r\nvar f = require('frequire')(__dirname)\r\n\r\nf.expose(f.node().js) // node.js shim, needed by browserify modules\r\n\r\nf.require('popover') // component modules\r\nf.require('http', 'http-browserify') // browserify modules, here with alias\r\nf.require('shoe') // a browserify module\r\nf.require('youtube-player') // another browserify module\r\nf.require('./client') // our client code\r\n\r\nf.expose(function () { window.onload = require('./client') }) // expose a function to execute immediately\r\n\r\nf.expose('config', { name: 'frequire demo' }) // exposes objects in window\r\n\r\nf.require('yo', { run: function () { alert('yo', config.name) } }) // expose an object as a module\r\n\r\nf.expose('require(\"yo\").run()') // expose raw code\r\n\r\napp.use(f.middleware())\r\n\r\n```\r\n\r\n#### index.html\r\n\r\nSimply insert these in `<head>`:\r\n\r\n```html\r\n  <link rel=\"stylesheet\" href=\"/wrapped.css\">\r\n  <script src=\"/wrapped.js\"></script>\r\n```\r\n\r\nThen in your client code:\r\n\r\n#### client.js\r\n\r\n```javascript\r\nmodule.exports = function () {\r\n  var $ = require('jquery')\r\n  var http = require('http')\r\n  var Popover = require('popover')\r\n  var shoe = require('shoe')\r\n  var YouTubePlayer = require('youtube-player')\r\n\r\n  var $result = $('#result')\r\n\r\n  $('a').on('click', function (ev) {\r\n    var popover = new Popover($(this).attr('title'), 'Hello');\r\n    popover.show(this)\r\n    setTimeout(function () {\r\n      popover.hide()\r\n    }, 1000)\r\n  })\r\n\r\n  http.get({ path : '/beep' }, function (res) {\r\n    var div = $result[0]\r\n    div.innerHTML += 'GET /beep<br>';\r\n\r\n    res.on('data', function (buf) {\r\n      div.innerHTML += buf;\r\n    });\r\n\r\n    res.on('end', function () {\r\n      div.innerHTML += '<br>__END__';\r\n    });\r\n  });\r\n\r\n  var stream = shoe('/invert')\r\n\r\n  stream.on('data', function (data) {\r\n    $result[0].appendChild(document.createTextNode(data))\r\n  })\r\n\r\n  var p = new YouTubePlayer({ id: 'player', width: 400, height: 300 })\r\n\r\n  p.play('EvObIwCu8CQ')\r\n}\r\n\r\n```\r\n\r\n## API\r\n\r\n#### f.require('module')\r\n\r\nLoad and register a module to be required.\r\n\r\n#### f.require('module', './path/to/module')\r\n\r\nLoad a module from path, and register it with another name.\r\n\r\n#### f.require(['emitter', 'jquery', 'tip'])\r\n\r\nMass register modules.\r\n\r\n#### f.require([ 'x', ['y', './path/to/y'] ])\r\n\r\nCombinations.\r\n\r\n#### f.require('fn', function () { return 'woo!' })\r\n\r\nPass a function to be sourced out.\r\n\r\n#### f.require('system', { os: 'amigaos3.1', reset: function () { return 'Ctrl+Amiga+Amiga' } })\r\n\r\nOr an object.\r\n\r\n### More\r\n\r\nYou can also require JSON files.\r\n\r\nAny other types will be returned as Strings (for example you could require an html document, a css file, etc).\r\n\r\n#### f.expose('some', code)\r\n\r\nInserts `window['some'] = code`\r\n\r\n#### f.expose('code')\r\n\r\nInserts raw code\r\n\r\n#### f.expose(fn)\r\n\r\nWraps and executes function: `(fn)()`\r\n\r\n#### f.middleware(options OR namespace)\r\n\r\nReturns a Connect middleware.\r\n\r\nFor now the only option is the namespace to match with req.url (defaults to `wrapped`)\r\n\r\n### Inspirations\r\n\r\ncomponent, express-expose, browserify, brequire\r\n\r\n### Credits\r\n\r\n- Uses a modified version of [component/require](https://github.com/component/require) by TJ Holowaychuk\r\n\r\n- node.js shims extracted from [browserify](https://github.com/substack/node-browserify/) by James Halliday (aka substack)\r\n\r\n### Licence\r\n\r\nMIT/X11\r\n","_id":"frequire@0.1.0beta3","dist":{"shasum":"47718d72daf52db26ad1b6661a2e4a50664507a4","tarball":"https://registry.npmjs.org/frequire/-/frequire-0.1.0beta3.tgz","integrity":"sha512-1Ksfxw/u92QEyemU4ZIyruCPomwPCGFCpRdh/MPXjIzboRsaynTvxReqqC5gGWn7mil6UbriKY6mQ42nHWfKyA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICno4fLIzr3p+AW40tyi7wz5VvYpztSdk7HqvqEphOrkAiEAxhTJeR1KyMEB9vTUIKWOWgguj1iX5Az7NYdghATsenU="}]},"_npmVersion":"1.1.59","_npmUser":{"name":"stagas","email":"gstagas@gmail.com"},"maintainers":[{"name":"stagas","email":"gstagas@gmail.com"}]},"0.1.0beta4":{"author":{"name":"George Stagas","email":"gstagas@gmail.com","url":"http://stagas.com"},"name":"frequire","description":"require() for the browser - works with npm modules, browserify modules, components, expose objects and more","keywords":["require","component","expose","browserify","build","compile","middleware"],"version":"0.1.0beta4","main":"frequire.js","bin":{"fbuild":"./bin/fbuild"},"dependencies":{"tosource":"~0.1.1","semver":"~1.0.14","node-shim":"0.0.1"},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# frequire\r\n\r\n**require()** for the browser - works with npm modules, browserify modules, components, expose objects and more\r\n\r\n\r\n### Also see the [example](https://github.com/stagas/frequire/blob/master/example/app.js)\r\n\r\n## Example\r\n\r\n#### server.js:\r\n\r\n```javascript\r\nvar f = require('frequire')(__dirname)\r\n\r\nf.expose(f.node().js) // node.js shim, needed by browserify modules\r\n\r\nf.require('popover') // component modules\r\nf.require('http', 'http-browserify') // browserify modules, here with alias\r\nf.require('shoe') // a browserify module\r\nf.require('youtube-player') // another browserify module\r\nf.require('./client') // our client code\r\n\r\nf.expose(function () { window.onload = require('./client') }) // expose a function to execute immediately\r\n\r\nf.expose('config', { name: 'frequire demo' }) // exposes objects in window\r\n\r\nf.require('yo', { run: function () { alert('yo', config.name) } }) // expose an object as a module\r\n\r\nf.expose('require(\"yo\").run()') // expose raw code\r\n\r\napp.use(f.middleware())\r\n\r\n```\r\n\r\n#### index.html\r\n\r\nSimply insert these in `<head>`:\r\n\r\n```html\r\n  <link rel=\"stylesheet\" href=\"/wrapped.css\">\r\n  <script src=\"/wrapped.js\"></script>\r\n```\r\n\r\nThen in your client code:\r\n\r\n#### client.js\r\n\r\n```javascript\r\nmodule.exports = function () {\r\n  var $ = require('jquery')\r\n  var http = require('http')\r\n  var Popover = require('popover')\r\n  var shoe = require('shoe')\r\n  var YouTubePlayer = require('youtube-player')\r\n\r\n  var $result = $('#result')\r\n\r\n  $('a').on('click', function (ev) {\r\n    var popover = new Popover($(this).attr('title'), 'Hello');\r\n    popover.show(this)\r\n    setTimeout(function () {\r\n      popover.hide()\r\n    }, 1000)\r\n  })\r\n\r\n  http.get({ path : '/beep' }, function (res) {\r\n    var div = $result[0]\r\n    div.innerHTML += 'GET /beep<br>';\r\n\r\n    res.on('data', function (buf) {\r\n      div.innerHTML += buf;\r\n    });\r\n\r\n    res.on('end', function () {\r\n      div.innerHTML += '<br>__END__';\r\n    });\r\n  });\r\n\r\n  var stream = shoe('/invert')\r\n\r\n  stream.on('data', function (data) {\r\n    $result[0].appendChild(document.createTextNode(data))\r\n  })\r\n\r\n  var p = new YouTubePlayer({ id: 'player', width: 400, height: 300 })\r\n\r\n  p.play('EvObIwCu8CQ')\r\n}\r\n\r\n```\r\n\r\n## API\r\n\r\n#### f.require('module')\r\n\r\nLoad and register a module to be required.\r\n\r\n#### f.require('module', './path/to/module')\r\n\r\nLoad a module from path, and register it with another name.\r\n\r\n#### f.require(['emitter', 'jquery', 'tip'])\r\n\r\nMass register modules.\r\n\r\n#### f.require([ 'x', ['y', './path/to/y'] ])\r\n\r\nCombinations.\r\n\r\n#### f.require('fn', function () { return 'woo!' })\r\n\r\nPass a function to be sourced out.\r\n\r\n#### f.require('system', { os: 'amigaos3.1', reset: function () { return 'Ctrl+Amiga+Amiga' } })\r\n\r\nOr an object.\r\n\r\n### More\r\n\r\nYou can also require JSON files.\r\n\r\nAny other types will be returned as Strings (for example you could require an html document, a css file, etc).\r\n\r\n#### f.expose('some', code)\r\n\r\nInserts `window['some'] = code`\r\n\r\n#### f.expose('code')\r\n\r\nInserts raw code\r\n\r\n#### f.expose(fn)\r\n\r\nWraps and executes function: `(fn)()`\r\n\r\n#### f.middleware(options OR namespace)\r\n\r\nReturns a Connect middleware.\r\n\r\nFor now the only option is the namespace to match with req.url (defaults to `wrapped`)\r\n\r\n### Inspirations\r\n\r\ncomponent, express-expose, browserify, brequire\r\n\r\n### Credits\r\n\r\n- Uses a modified version of [component/require](https://github.com/component/require) by TJ Holowaychuk\r\n\r\n- node.js shims extracted from [browserify](https://github.com/substack/node-browserify/) by James Halliday (aka substack)\r\n\r\n### Licence\r\n\r\nMIT/X11\r\n","_id":"frequire@0.1.0beta4","dist":{"shasum":"0068573513a52e11761e259464fdd52e5a046db9","tarball":"https://registry.npmjs.org/frequire/-/frequire-0.1.0beta4.tgz","integrity":"sha512-E3uSp5QR+j5QKgTFnnVjcKx+HakCn6fetqRGk2EGpEyIRWVILDY24fzPgrH+ECMVKBwmK566NTaProogEqs5zg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIPvJBAuX2c+PZu7QihqwAYc3CQHd1QralhchHwOM0dwIgf4tI91VvBS4CsWbxgKWrif0Ds+C6xaVwoq4SkZWVbR0="}]},"_npmVersion":"1.1.59","_npmUser":{"name":"stagas","email":"gstagas@gmail.com"},"maintainers":[{"name":"stagas","email":"gstagas@gmail.com"}]},"0.1.0beta5":{"author":{"name":"George Stagas","email":"gstagas@gmail.com","url":"http://stagas.com"},"name":"frequire","description":"require() for the browser - works with npm modules, browserify modules, components, expose objects and more","keywords":["require","component","expose","browserify","build","compile","middleware"],"version":"0.1.0beta5","main":"frequire.js","bin":{"fbuild":"./bin/fbuild"},"dependencies":{"tosource":"~0.1.1","semver":"~1.0.14","node-shim":"0.0.1"},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# frequire\r\n\r\n**require()** for the browser - works with npm modules, browserify modules, components, expose objects and more\r\n\r\n\r\n### Also see the [example](https://github.com/stagas/frequire/blob/master/example/app.js)\r\n\r\n## Example\r\n\r\n#### server.js:\r\n\r\n```javascript\r\nvar f = require('frequire')(__dirname)\r\n\r\nf.expose(f.node().js) // node.js shim, needed by browserify modules\r\n\r\nf.require('popover') // component modules\r\nf.require('http', 'http-browserify') // browserify modules, here with alias\r\nf.require('shoe') // a browserify module\r\nf.require('youtube-player') // another browserify module\r\nf.require('./client') // our client code\r\n\r\nf.expose(function () { window.onload = require('./client') }) // expose a function to execute immediately\r\n\r\nf.expose('config', { name: 'frequire demo' }) // exposes objects in window\r\n\r\nf.require('yo', { run: function () { alert('yo', config.name) } }) // expose an object as a module\r\n\r\nf.expose('require(\"yo\").run()') // expose raw code\r\n\r\napp.use(f.middleware())\r\n\r\n```\r\n\r\n#### index.html\r\n\r\nSimply insert these in `<head>`:\r\n\r\n```html\r\n  <link rel=\"stylesheet\" href=\"/wrapped.css\">\r\n  <script src=\"/wrapped.js\"></script>\r\n```\r\n\r\nThen in your client code:\r\n\r\n#### client.js\r\n\r\n```javascript\r\nmodule.exports = function () {\r\n  var $ = require('jquery')\r\n  var http = require('http')\r\n  var Popover = require('popover')\r\n  var shoe = require('shoe')\r\n  var YouTubePlayer = require('youtube-player')\r\n\r\n  var $result = $('#result')\r\n\r\n  $('a').on('click', function (ev) {\r\n    var popover = new Popover($(this).attr('title'), 'Hello');\r\n    popover.show(this)\r\n    setTimeout(function () {\r\n      popover.hide()\r\n    }, 1000)\r\n  })\r\n\r\n  http.get({ path : '/beep' }, function (res) {\r\n    var div = $result[0]\r\n    div.innerHTML += 'GET /beep<br>';\r\n\r\n    res.on('data', function (buf) {\r\n      div.innerHTML += buf;\r\n    });\r\n\r\n    res.on('end', function () {\r\n      div.innerHTML += '<br>__END__';\r\n    });\r\n  });\r\n\r\n  var stream = shoe('/invert')\r\n\r\n  stream.on('data', function (data) {\r\n    $result[0].appendChild(document.createTextNode(data))\r\n  })\r\n\r\n  var p = new YouTubePlayer({ id: 'player', width: 400, height: 300 })\r\n\r\n  p.play('EvObIwCu8CQ')\r\n}\r\n\r\n```\r\n\r\n## API\r\n\r\n#### f.require('module')\r\n\r\nLoad and register a module to be required.\r\n\r\n#### f.require('module', './path/to/module')\r\n\r\nLoad a module from path, and register it with another name.\r\n\r\n#### f.require(['emitter', 'jquery', 'tip'])\r\n\r\nMass register modules.\r\n\r\n#### f.require([ 'x', ['y', './path/to/y'] ])\r\n\r\nCombinations.\r\n\r\n#### f.require('fn', function () { return 'woo!' })\r\n\r\nPass a function to be sourced out.\r\n\r\n#### f.require('system', { os: 'amigaos3.1', reset: function () { return 'Ctrl+Amiga+Amiga' } })\r\n\r\nOr an object.\r\n\r\n### More\r\n\r\nYou can also require JSON files.\r\n\r\nAny other types will be returned as Strings (for example you could require an html document, a css file, etc).\r\n\r\n#### f.expose('some', code)\r\n\r\nInserts `window['some'] = code`\r\n\r\n#### f.expose('code')\r\n\r\nInserts raw code\r\n\r\n#### f.expose(fn)\r\n\r\nWraps and executes function: `(fn)()`\r\n\r\n#### f.middleware(options OR namespace)\r\n\r\nReturns a Connect middleware.\r\n\r\nFor now the only option is the namespace to match with req.url (defaults to `wrapped`)\r\n\r\n### Inspirations\r\n\r\ncomponent, express-expose, browserify, brequire\r\n\r\n### Credits\r\n\r\n- Uses a modified version of [component/require](https://github.com/component/require) by TJ Holowaychuk\r\n\r\n- node.js shims extracted from [browserify](https://github.com/substack/node-browserify/) by James Halliday (aka substack)\r\n\r\n### Licence\r\n\r\nMIT/X11\r\n","_id":"frequire@0.1.0beta5","dist":{"shasum":"f602e058fd997d495078216ecb188b31b7841d28","tarball":"https://registry.npmjs.org/frequire/-/frequire-0.1.0beta5.tgz","integrity":"sha512-OesbQp8VKeBuqJ37HeBraTUkAyN5fyXuCUt6EmnQUgLwaZQ36MkLhHNLfz/XjIgIdVcZ1oHjBTmgMfDVQ9vdDQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCqoXDkOvJ46iQnq2suYdSPsAtnXI5ilRrpJyl+3WDqQIhAJgziDR/ZA3fjt1+vKBpnlAcl6caog/jtrgyK9g83lI7"}]},"_npmVersion":"1.1.59","_npmUser":{"name":"stagas","email":"gstagas@gmail.com"},"maintainers":[{"name":"stagas","email":"gstagas@gmail.com"}]},"0.1.0beta6":{"author":{"name":"George Stagas","email":"gstagas@gmail.com","url":"http://stagas.com"},"name":"frequire","description":"require() for the browser - works with npm modules, browserify modules, components, expose objects and more","keywords":["require","component","expose","browserify","build","compile","middleware"],"version":"0.1.0beta6","main":"frequire.js","bin":{"fbuild":"./bin/fbuild"},"dependencies":{"tosource":"~0.1.1","semver":"~1.0.14","node-shim":"0.0.1"},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# frequire\r\n\r\n**require()** for the browser - works with npm modules, browserify modules, components, expose objects and more\r\n\r\n\r\n### Also see the [example](https://github.com/stagas/frequire/blob/master/example/app.js)\r\n\r\n## Example\r\n\r\n#### server.js:\r\n\r\n```javascript\r\nvar f = require('frequire')(__dirname)\r\n\r\nf.expose(f.node().js) // node.js shim, needed by browserify modules\r\n\r\nf.require('popover') // component modules\r\nf.require('http', 'http-browserify') // browserify modules, here with alias\r\nf.require('shoe') // a browserify module\r\nf.require('youtube-player') // another browserify module\r\nf.require('./client') // our client code\r\n\r\nf.expose(function () { window.onload = require('./client') }) // expose a function to execute immediately\r\n\r\nf.expose('config', { name: 'frequire demo' }) // exposes objects in window\r\n\r\nf.require('yo', { run: function () { alert('yo', config.name) } }) // expose an object as a module\r\n\r\nf.expose('require(\"yo\").run()') // expose raw code\r\n\r\napp.use(f.middleware())\r\n\r\n```\r\n\r\n#### index.html\r\n\r\nSimply insert these in `<head>`:\r\n\r\n```html\r\n  <link rel=\"stylesheet\" href=\"/wrapped.css\">\r\n  <script src=\"/wrapped.js\"></script>\r\n```\r\n\r\nThen in your client code:\r\n\r\n#### client.js\r\n\r\n```javascript\r\nmodule.exports = function () {\r\n  var $ = require('jquery')\r\n  var http = require('http')\r\n  var Popover = require('popover')\r\n  var shoe = require('shoe')\r\n  var YouTubePlayer = require('youtube-player')\r\n\r\n  var $result = $('#result')\r\n\r\n  $('a').on('click', function (ev) {\r\n    var popover = new Popover($(this).attr('title'), 'Hello');\r\n    popover.show(this)\r\n    setTimeout(function () {\r\n      popover.hide()\r\n    }, 1000)\r\n  })\r\n\r\n  http.get({ path : '/beep' }, function (res) {\r\n    var div = $result[0]\r\n    div.innerHTML += 'GET /beep<br>';\r\n\r\n    res.on('data', function (buf) {\r\n      div.innerHTML += buf;\r\n    });\r\n\r\n    res.on('end', function () {\r\n      div.innerHTML += '<br>__END__';\r\n    });\r\n  });\r\n\r\n  var stream = shoe('/invert')\r\n\r\n  stream.on('data', function (data) {\r\n    $result[0].appendChild(document.createTextNode(data))\r\n  })\r\n\r\n  var p = new YouTubePlayer({ id: 'player', width: 400, height: 300 })\r\n\r\n  p.play('EvObIwCu8CQ')\r\n}\r\n\r\n```\r\n\r\n## API\r\n\r\n#### f.require('module')\r\n\r\nLoad and register a module to be required.\r\n\r\n#### f.require('module', './path/to/module')\r\n\r\nLoad a module from path, and register it with another name.\r\n\r\n#### f.require(['emitter', 'jquery', 'tip'])\r\n\r\nMass register modules.\r\n\r\n#### f.require([ 'x', ['y', './path/to/y'] ])\r\n\r\nCombinations.\r\n\r\n#### f.require('fn', function () { return 'woo!' })\r\n\r\nPass a function to be sourced out.\r\n\r\n#### f.require('system', { os: 'amigaos3.1', reset: function () { return 'Ctrl+Amiga+Amiga' } })\r\n\r\nOr an object.\r\n\r\n### More\r\n\r\nYou can also require JSON files.\r\n\r\nAny other types will be returned as Strings (for example you could require an html document, a css file, etc).\r\n\r\n#### f.expose('some', code)\r\n\r\nInserts `window['some'] = code`\r\n\r\n#### f.expose('code')\r\n\r\nInserts raw code\r\n\r\n#### f.expose(fn)\r\n\r\nWraps and executes function: `(fn)()`\r\n\r\n#### f.middleware(options OR namespace)\r\n\r\nReturns a Connect middleware.\r\n\r\nFor now the only option is the namespace to match with req.url (defaults to `wrapped`)\r\n\r\n### Inspirations\r\n\r\ncomponent, express-expose, browserify, brequire\r\n\r\n### Credits\r\n\r\n- Uses a modified version of [component/require](https://github.com/component/require) by TJ Holowaychuk\r\n\r\n- node.js shims extracted from [browserify](https://github.com/substack/node-browserify/) by James Halliday (aka substack)\r\n\r\n### Licence\r\n\r\nMIT/X11\r\n","_id":"frequire@0.1.0beta6","dist":{"shasum":"b894172d1f60c2e4eb9643b308d6bfc471b76c88","tarball":"https://registry.npmjs.org/frequire/-/frequire-0.1.0beta6.tgz","integrity":"sha512-JknEUdBzp/YivYH/bHFSLZvU6O1k1mUQOxuCOFVCQeNH2tzdzRQtrupbkf5VmqjRDNIMXtj5a9/ezaAHfIR8Yg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDEp+kg95cVCL0N5wgXTID2YXTyBgfqoC4kGNVtpkGyCAIhALsg1MjaJFgPp6MGroE5NLCM2/QORPguMv/zN02uR09H"}]},"_npmVersion":"1.1.59","_npmUser":{"name":"stagas","email":"gstagas@gmail.com"},"maintainers":[{"name":"stagas","email":"gstagas@gmail.com"}]},"0.1.0beta7":{"author":{"name":"George Stagas","email":"gstagas@gmail.com","url":"http://stagas.com"},"name":"frequire","description":"require() for the browser - works with npm modules, browserify modules, components, expose objects and more","keywords":["require","component","expose","browserify","build","compile","middleware"],"version":"0.1.0beta7","main":"frequire.js","bin":{"fbuild":"./bin/fbuild"},"dependencies":{"tosource":"~0.1.1","semver":"~1.0.14","node-shim":"0.0.1"},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# frequire\r\n\r\n**require()** for the browser - works with npm modules, browserify modules, components, expose objects and more\r\n\r\n\r\n### Also see the [example](https://github.com/stagas/frequire/blob/master/example/app.js)\r\n\r\n## Example\r\n\r\n#### server.js:\r\n\r\n```javascript\r\nvar f = require('frequire')(__dirname)\r\n\r\nf.expose(f.node().js) // node.js shim, needed by browserify modules\r\n\r\nf.require('popover') // component modules\r\nf.require('http', 'http-browserify') // browserify modules, here with alias\r\nf.require('shoe') // a browserify module\r\nf.require('youtube-player') // another browserify module\r\nf.require('./client') // our client code\r\n\r\nf.expose(function () { window.onload = require('./client') }) // expose a function to execute immediately\r\n\r\nf.expose('config', { name: 'frequire demo' }) // exposes objects in window\r\n\r\nf.require('yo', { run: function () { alert('yo', config.name) } }) // expose an object as a module\r\n\r\nf.expose('require(\"yo\").run()') // expose raw code\r\n\r\napp.use(f.middleware())\r\n\r\n```\r\n\r\n#### index.html\r\n\r\nSimply insert these in `<head>`:\r\n\r\n```html\r\n  <link rel=\"stylesheet\" href=\"/wrapped.css\">\r\n  <script src=\"/wrapped.js\"></script>\r\n```\r\n\r\nThen in your client code:\r\n\r\n#### client.js\r\n\r\n```javascript\r\nmodule.exports = function () {\r\n  var $ = require('jquery')\r\n  var http = require('http')\r\n  var Popover = require('popover')\r\n  var shoe = require('shoe')\r\n  var YouTubePlayer = require('youtube-player')\r\n\r\n  var $result = $('#result')\r\n\r\n  $('a').on('click', function (ev) {\r\n    var popover = new Popover($(this).attr('title'), 'Hello');\r\n    popover.show(this)\r\n    setTimeout(function () {\r\n      popover.hide()\r\n    }, 1000)\r\n  })\r\n\r\n  http.get({ path : '/beep' }, function (res) {\r\n    var div = $result[0]\r\n    div.innerHTML += 'GET /beep<br>';\r\n\r\n    res.on('data', function (buf) {\r\n      div.innerHTML += buf;\r\n    });\r\n\r\n    res.on('end', function () {\r\n      div.innerHTML += '<br>__END__';\r\n    });\r\n  });\r\n\r\n  var stream = shoe('/invert')\r\n\r\n  stream.on('data', function (data) {\r\n    $result[0].appendChild(document.createTextNode(data))\r\n  })\r\n\r\n  var p = new YouTubePlayer({ id: 'player', width: 400, height: 300 })\r\n\r\n  p.play('EvObIwCu8CQ')\r\n}\r\n\r\n```\r\n\r\n## API\r\n\r\n#### f.require('module')\r\n\r\nLoad and register a module to be required.\r\n\r\n#### f.require('module', './path/to/module')\r\n\r\nLoad a module from path, and register it with another name.\r\n\r\n#### f.require(['emitter', 'jquery', 'tip'])\r\n\r\nMass register modules.\r\n\r\n#### f.require([ 'x', ['y', './path/to/y'] ])\r\n\r\nCombinations.\r\n\r\n#### f.require('fn', function () { return 'woo!' })\r\n\r\nPass a function to be sourced out.\r\n\r\n#### f.require('system', { os: 'amigaos3.1', reset: function () { return 'Ctrl+Amiga+Amiga' } })\r\n\r\nOr an object.\r\n\r\n### More\r\n\r\nYou can also require JSON files.\r\n\r\nAny other types will be returned as Strings (for example you could require an html document, a css file, etc).\r\n\r\n#### f.expose('some', code)\r\n\r\nInserts `window['some'] = code`\r\n\r\n#### f.expose('code')\r\n\r\nInserts raw code\r\n\r\n#### f.expose(fn)\r\n\r\nWraps and executes function: `(fn)()`\r\n\r\n#### f.middleware(options OR namespace)\r\n\r\nReturns a Connect middleware.\r\n\r\nFor now the only option is the namespace to match with req.url (defaults to `wrapped`)\r\n\r\n### Inspirations\r\n\r\ncomponent, express-expose, browserify, brequire\r\n\r\n### Credits\r\n\r\n- Uses a modified version of [component/require](https://github.com/component/require) by TJ Holowaychuk\r\n\r\n- node.js shims extracted from [browserify](https://github.com/substack/node-browserify/) by James Halliday (aka substack)\r\n\r\n### Licence\r\n\r\nMIT/X11\r\n","_id":"frequire@0.1.0beta7","dist":{"shasum":"40cef81323eac89579301cc861820923e0d0931f","tarball":"https://registry.npmjs.org/frequire/-/frequire-0.1.0beta7.tgz","integrity":"sha512-k6tpK6ywFYsB3KEq7a0HNTEUcV5PU2TS7tBOChRV+9p0HA8OGcm139yKcseRgwDCaiLpWFaUOBzGXUJerrlikQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxNqQ9uyNOZK2x5HMKBEEmHgfBHYTT1AHrEevdQWkC5gIgHyo/eP7p8fIwkB+ge69kZ62m71NiFbk/FIWx5xdMf0c="}]},"_npmVersion":"1.1.59","_npmUser":{"name":"stagas","email":"gstagas@gmail.com"},"maintainers":[{"name":"stagas","email":"gstagas@gmail.com"}]},"0.1.0beta8":{"author":{"name":"George Stagas","email":"gstagas@gmail.com","url":"http://stagas.com"},"name":"frequire","description":"require() for the browser - works with npm modules, browserify modules, components, expose objects and more","keywords":["require","component","expose","browserify","build","compile","middleware"],"version":"0.1.0beta8","main":"frequire.js","bin":{"fbuild":"./bin/fbuild"},"dependencies":{"tosource":"~0.1.1","semver":"~1.0.14","node-shim":"0.0.1"},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# frequire\r\n\r\n**require()** for the browser - works with npm modules, browserify modules, components, expose objects and more\r\n\r\n\r\n### Also see the [example](https://github.com/stagas/frequire/blob/master/example/app.js)\r\n\r\n## Example\r\n\r\n#### server.js:\r\n\r\n```javascript\r\nvar f = require('frequire')(__dirname)\r\n\r\nf.expose(f.node().js) // node.js shim, needed by browserify modules\r\n\r\nf.require('popover') // component modules\r\nf.require('http', 'http-browserify') // browserify modules, here with alias\r\nf.require('shoe') // a browserify module\r\nf.require('youtube-player') // another browserify module\r\nf.require('./client') // our client code\r\n\r\nf.expose(function () { window.onload = require('./client') }) // expose a function to execute immediately\r\n\r\nf.expose('config', { name: 'frequire demo' }) // exposes objects in window\r\n\r\nf.require('yo', { run: function () { alert('yo', config.name) } }) // expose an object as a module\r\n\r\nf.expose('require(\"yo\").run()') // expose raw code\r\n\r\napp.use(f.middleware())\r\n\r\n```\r\n\r\n#### index.html\r\n\r\nSimply insert these in `<head>`:\r\n\r\n```html\r\n  <link rel=\"stylesheet\" href=\"/wrapped.css\">\r\n  <script src=\"/wrapped.js\"></script>\r\n```\r\n\r\nThen in your client code:\r\n\r\n#### client.js\r\n\r\n```javascript\r\nmodule.exports = function () {\r\n  var $ = require('jquery')\r\n  var http = require('http')\r\n  var Popover = require('popover')\r\n  var shoe = require('shoe')\r\n  var YouTubePlayer = require('youtube-player')\r\n\r\n  var $result = $('#result')\r\n\r\n  $('a').on('click', function (ev) {\r\n    var popover = new Popover($(this).attr('title'), 'Hello');\r\n    popover.show(this)\r\n    setTimeout(function () {\r\n      popover.hide()\r\n    }, 1000)\r\n  })\r\n\r\n  http.get({ path : '/beep' }, function (res) {\r\n    var div = $result[0]\r\n    div.innerHTML += 'GET /beep<br>';\r\n\r\n    res.on('data', function (buf) {\r\n      div.innerHTML += buf;\r\n    });\r\n\r\n    res.on('end', function () {\r\n      div.innerHTML += '<br>__END__';\r\n    });\r\n  });\r\n\r\n  var stream = shoe('/invert')\r\n\r\n  stream.on('data', function (data) {\r\n    $result[0].appendChild(document.createTextNode(data))\r\n  })\r\n\r\n  var p = new YouTubePlayer({ id: 'player', width: 400, height: 300 })\r\n\r\n  p.play('EvObIwCu8CQ')\r\n}\r\n\r\n```\r\n\r\n## API\r\n\r\n#### f.require('module')\r\n\r\nLoad and register a module to be required.\r\n\r\n#### f.require('module', './path/to/module')\r\n\r\nLoad a module from path, and register it with another name.\r\n\r\n#### f.require(['emitter', 'jquery', 'tip'])\r\n\r\nMass register modules.\r\n\r\n#### f.require([ 'x', ['y', './path/to/y'] ])\r\n\r\nCombinations.\r\n\r\n#### f.require('fn', function () { return 'woo!' })\r\n\r\nPass a function to be sourced out.\r\n\r\n#### f.require('system', { os: 'amigaos3.1', reset: function () { return 'Ctrl+Amiga+Amiga' } })\r\n\r\nOr an object.\r\n\r\n### More\r\n\r\nYou can also require JSON files.\r\n\r\nAny other types will be returned as Strings (for example you could require an html document, a css file, etc).\r\n\r\n#### f.expose('some', code)\r\n\r\nInserts `window['some'] = code`\r\n\r\n#### f.expose('code')\r\n\r\nInserts raw code\r\n\r\n#### f.expose(fn)\r\n\r\nWraps and executes function: `(fn)()`\r\n\r\n#### f.middleware(options OR namespace)\r\n\r\nReturns a Connect middleware.\r\n\r\nFor now the only option is the namespace to match with req.url (defaults to `wrapped`)\r\n\r\n### Inspirations\r\n\r\ncomponent, express-expose, browserify, brequire\r\n\r\n### Credits\r\n\r\n- Uses a modified version of [component/require](https://github.com/component/require) by TJ Holowaychuk\r\n\r\n- node.js shims extracted from [browserify](https://github.com/substack/node-browserify/) by James Halliday (aka substack)\r\n\r\n### Licence\r\n\r\nMIT/X11\r\n","_id":"frequire@0.1.0beta8","dist":{"shasum":"ad55e006c13e71f1f5affc4cc992f5906bbc757c","tarball":"https://registry.npmjs.org/frequire/-/frequire-0.1.0beta8.tgz","integrity":"sha512-+JXOrL5ksKGJIXW93k11Cv/PfSuhjea8mei+2briPMbPdEOXDKOvPJlTghU+Ewv7bb/fcNjrybWVs1dzyPV4Mw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8hMwCmpJIbglv3XDmu6IZsacesOMkG3BtjxyGzYQU/gIgUMQ3W1/AV2HpP7CzNKjdU/kmnYl0ahZLEGoneuM+sic="}]},"_npmVersion":"1.1.59","_npmUser":{"name":"stagas","email":"gstagas@gmail.com"},"maintainers":[{"name":"stagas","email":"gstagas@gmail.com"}]},"0.1.0beta9":{"author":{"name":"George Stagas","email":"gstagas@gmail.com","url":"http://stagas.com"},"name":"frequire","description":"require() for the browser - works with npm modules, browserify modules, components, expose objects and more","keywords":["require","component","expose","browserify","build","compile","middleware"],"version":"0.1.0beta9","main":"frequire.js","bin":{"fbuild":"./bin/fbuild"},"dependencies":{"tosource":"~0.1.1","semver":"~1.0.14","node-shim":"0.0.1"},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# frequire\r\n\r\n**require()** for the browser - works with npm modules, browserify modules, components, expose objects and more\r\n\r\n\r\n### Also see the [example](https://github.com/stagas/frequire/blob/master/example/app.js)\r\n\r\n## Example\r\n\r\n#### server.js:\r\n\r\n```javascript\r\nvar f = require('frequire')(__dirname)\r\n\r\nf.expose(f.node().js) // node.js shim, needed by browserify modules\r\n\r\nf.require('popover') // component modules\r\nf.require('http', 'http-browserify') // browserify modules, here with alias\r\nf.require('shoe') // a browserify module\r\nf.require('youtube-player') // another browserify module\r\nf.require('./client') // our client code\r\n\r\nf.expose(function () { window.onload = require('./client') }) // expose a function to execute immediately\r\n\r\nf.expose('config', { name: 'frequire demo' }) // exposes objects in window\r\n\r\nf.require('yo', { run: function () { alert('yo', config.name) } }) // expose an object as a module\r\n\r\nf.expose('require(\"yo\").run()') // expose raw code\r\n\r\napp.use(f.middleware())\r\n\r\n```\r\n\r\n#### index.html\r\n\r\nSimply insert these in `<head>`:\r\n\r\n```html\r\n  <link rel=\"stylesheet\" href=\"/wrapped.css\">\r\n  <script src=\"/wrapped.js\"></script>\r\n```\r\n\r\nThen in your client code:\r\n\r\n#### client.js\r\n\r\n```javascript\r\nmodule.exports = function () {\r\n  var $ = require('jquery')\r\n  var http = require('http')\r\n  var Popover = require('popover')\r\n  var shoe = require('shoe')\r\n  var YouTubePlayer = require('youtube-player')\r\n\r\n  var $result = $('#result')\r\n\r\n  $('a').on('click', function (ev) {\r\n    var popover = new Popover($(this).attr('title'), 'Hello');\r\n    popover.show(this)\r\n    setTimeout(function () {\r\n      popover.hide()\r\n    }, 1000)\r\n  })\r\n\r\n  http.get({ path : '/beep' }, function (res) {\r\n    var div = $result[0]\r\n    div.innerHTML += 'GET /beep<br>';\r\n\r\n    res.on('data', function (buf) {\r\n      div.innerHTML += buf;\r\n    });\r\n\r\n    res.on('end', function () {\r\n      div.innerHTML += '<br>__END__';\r\n    });\r\n  });\r\n\r\n  var stream = shoe('/invert')\r\n\r\n  stream.on('data', function (data) {\r\n    $result[0].appendChild(document.createTextNode(data))\r\n  })\r\n\r\n  var p = new YouTubePlayer({ id: 'player', width: 400, height: 300 })\r\n\r\n  p.play('EvObIwCu8CQ')\r\n}\r\n\r\n```\r\n\r\n## API\r\n\r\n#### f.require('module')\r\n\r\nLoad and register a module to be required.\r\n\r\n#### f.require('module', './path/to/module')\r\n\r\nLoad a module from path, and register it with another name.\r\n\r\n#### f.require(['emitter', 'jquery', 'tip'])\r\n\r\nMass register modules.\r\n\r\n#### f.require([ 'x', ['y', './path/to/y'] ])\r\n\r\nCombinations.\r\n\r\n#### f.require('fn', function () { return 'woo!' })\r\n\r\nPass a function to be sourced out.\r\n\r\n#### f.require('system', { os: 'amigaos3.1', reset: function () { return 'Ctrl+Amiga+Amiga' } })\r\n\r\nOr an object.\r\n\r\n### More\r\n\r\nYou can also require JSON files.\r\n\r\nAny other types will be returned as Strings (for example you could require an html document, a css file, etc).\r\n\r\n#### f.expose('some', code)\r\n\r\nInserts `window['some'] = code`\r\n\r\n#### f.expose('code')\r\n\r\nInserts raw code\r\n\r\n#### f.expose(fn)\r\n\r\nWraps and executes function: `(fn)()`\r\n\r\n#### f.middleware(options OR namespace)\r\n\r\nReturns a Connect middleware.\r\n\r\nFor now the only option is the namespace to match with req.url (defaults to `wrapped`)\r\n\r\n### Inspirations\r\n\r\ncomponent, express-expose, browserify, brequire\r\n\r\n### Credits\r\n\r\n- Uses a modified version of [component/require](https://github.com/component/require) by TJ Holowaychuk\r\n\r\n- node.js shims extracted from [browserify](https://github.com/substack/node-browserify/) by James Halliday (aka substack)\r\n\r\n### Licence\r\n\r\nMIT/X11\r\n","_id":"frequire@0.1.0beta9","dist":{"shasum":"4c7fbfbd2492c5c61dde690a3994df945b77d398","tarball":"https://registry.npmjs.org/frequire/-/frequire-0.1.0beta9.tgz","integrity":"sha512-7ZeW/jMps5estWfJ+kXmYj6mLPjy7MWf8gdi+HuCkRAoZWtMRj6+iOHWNAiPKYGzfBy9YE4rloIkc1+gwePo5g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkQXFLdZUG9krzLlMfDCNY1ZSA/SOM1dPkI2LMQcusaQIhAJYPLMRbkXWXN37X8fDLnbI+L+qOPwZu0TwaY7dq7lDz"}]},"_npmVersion":"1.1.62","_npmUser":{"name":"stagas","email":"gstagas@gmail.com"},"maintainers":[{"name":"stagas","email":"gstagas@gmail.com"}]},"0.1.0beta10":{"author":{"name":"George Stagas","email":"gstagas@gmail.com","url":"http://stagas.com"},"name":"frequire","description":"require() for the browser - works with npm modules, browserify modules, components, expose objects and more","keywords":["require","component","expose","browserify","build","compile","middleware"],"version":"0.1.0beta10","main":"frequire.js","bin":{"fbuild":"./bin/fbuild"},"dependencies":{"tosource":"~0.1.1","semver":"~1.0.14","node-shim":"0.0.1"},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"readme":"# frequire\r\n\r\n**require()** for the browser - works with npm modules, browserify modules, components, expose objects and more\r\n\r\n\r\n### Also see the [example](https://github.com/stagas/frequire/blob/master/example/app.js)\r\n\r\n## Example\r\n\r\n#### server.js:\r\n\r\n```javascript\r\nvar f = require('frequire')(__dirname)\r\n\r\nf.expose(f.node().js) // node.js shim, needed by browserify modules\r\n\r\nf.require('popover') // component modules\r\nf.require('http', 'http-browserify') // browserify modules, here with alias\r\nf.require('shoe') // a browserify module\r\nf.require('youtube-player') // another browserify module\r\nf.require('./client') // our client code\r\n\r\nf.expose(function () { window.onload = require('./client') }) // expose a function to execute immediately\r\n\r\nf.expose('config', { name: 'frequire demo' }) // exposes objects in window\r\n\r\nf.require('yo', { run: function () { alert('yo', config.name) } }) // expose an object as a module\r\n\r\nf.expose('require(\"yo\").run()') // expose raw code\r\n\r\napp.use(f.middleware())\r\n\r\n```\r\n\r\n#### index.html\r\n\r\nSimply insert these in `<head>`:\r\n\r\n```html\r\n  <link rel=\"stylesheet\" href=\"/wrapped.css\">\r\n  <script src=\"/wrapped.js\"></script>\r\n```\r\n\r\nThen in your client code:\r\n\r\n#### client.js\r\n\r\n```javascript\r\nmodule.exports = function () {\r\n  var $ = require('jquery')\r\n  var http = require('http')\r\n  var Popover = require('popover')\r\n  var shoe = require('shoe')\r\n  var YouTubePlayer = require('youtube-player')\r\n\r\n  var $result = $('#result')\r\n\r\n  $('a').on('click', function (ev) {\r\n    var popover = new Popover($(this).attr('title'), 'Hello');\r\n    popover.show(this)\r\n    setTimeout(function () {\r\n      popover.hide()\r\n    }, 1000)\r\n  })\r\n\r\n  http.get({ path : '/beep' }, function (res) {\r\n    var div = $result[0]\r\n    div.innerHTML += 'GET /beep<br>';\r\n\r\n    res.on('data', function (buf) {\r\n      div.innerHTML += buf;\r\n    });\r\n\r\n    res.on('end', function () {\r\n      div.innerHTML += '<br>__END__';\r\n    });\r\n  });\r\n\r\n  var stream = shoe('/invert')\r\n\r\n  stream.on('data', function (data) {\r\n    $result[0].appendChild(document.createTextNode(data))\r\n  })\r\n\r\n  var p = new YouTubePlayer({ id: 'player', width: 400, height: 300 })\r\n\r\n  p.play('EvObIwCu8CQ')\r\n}\r\n\r\n```\r\n\r\n## API\r\n\r\n#### f.require('module')\r\n\r\nLoad and register a module to be required.\r\n\r\n#### f.require('module', './path/to/module')\r\n\r\nLoad a module from path, and register it with another name.\r\n\r\n#### f.require(['emitter', 'jquery', 'tip'])\r\n\r\nMass register modules.\r\n\r\n#### f.require([ 'x', ['y', './path/to/y'] ])\r\n\r\nCombinations.\r\n\r\n#### f.require('fn', function () { return 'woo!' })\r\n\r\nPass a function to be sourced out.\r\n\r\n#### f.require('system', { os: 'amigaos3.1', reset: function () { return 'Ctrl+Amiga+Amiga' } })\r\n\r\nOr an object.\r\n\r\n### More\r\n\r\nYou can also require JSON files.\r\n\r\nAny other types will be returned as Strings (for example you could require an html document, a css file, etc).\r\n\r\n#### f.expose('some', code)\r\n\r\nInserts `window['some'] = code`\r\n\r\n#### f.expose('code')\r\n\r\nInserts raw code\r\n\r\n#### f.expose(fn)\r\n\r\nWraps and executes function: `(fn)()`\r\n\r\n#### f.middleware(options OR namespace)\r\n\r\nReturns a Connect middleware.\r\n\r\nFor now the only option is the namespace to match with req.url (defaults to `wrapped`)\r\n\r\n### Inspirations\r\n\r\ncomponent, express-expose, browserify, brequire\r\n\r\n### Credits\r\n\r\n- Uses a modified version of [component/require](https://github.com/component/require) by TJ Holowaychuk\r\n\r\n- node.js shims extracted from [browserify](https://github.com/substack/node-browserify/) by James Halliday (aka substack)\r\n\r\n### Licence\r\n\r\nMIT/X11\r\n","readmeFilename":"README.md","_id":"frequire@0.1.0beta10","dist":{"shasum":"f2de7666a3cfb1aa390bf9cbf6959714c0b21f91","tarball":"https://registry.npmjs.org/frequire/-/frequire-0.1.0beta10.tgz","integrity":"sha512-zE2A8vPqYpPujnLa80VvxlBCYUlRHMwe9SIuSC9TS8UgXkv585kewFbnm/KTiI4ncQhHcN6oG6nUqjj2AtR0Cg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGX7Gq4pqglUiwfSHlO1WtTLcP+K3ZgPfbfVHggQvzVtAiB+HKY0d18YBfptghQ01EwlLcPIrcl4sbFbOwGrIsmWQQ=="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"stagas","email":"gstagas@gmail.com"},"maintainers":[{"name":"stagas","email":"gstagas@gmail.com"}]}},"readme":"# frequire\r\n\r\nJust f**ing require modules and share code with the browser.\r\n\r\n### See example app\r\n\r\n## API / Usage\r\n\r\n```javascript\r\nvar f = require('frequire')(require)\r\n```\r\n\r\n### f.require(moduleName [, modulePath OR code ])\r\n\r\nLoads and registers a module file, or pass some code to be required (it will be wrapped like: `module.exports = code`)\r\n\r\n### f.expose('some', code)\r\n\r\nInserts `window['some'] = code`\r\n\r\n### f.expose(fn)\r\n\r\nWraps and executes function: `(fn)()`\r\n\r\n### f.middleware(options OR pathname)\r\n\r\nReturns a Connect middleware.\r\n\r\nFor now the only option is the pathname to match with req.url (defaults to `/wrapped.js`)\r\n\r\n### Inspirations\r\n\r\nexpress-expose, browserify, brequire\r\n\r\n### Credits\r\n\r\nUses browser require impl. by TJ Holowaychuk\r\n\r\n### Licence\r\n\r\nMIT/X11\r\n","maintainers":[{"name":"stagas","email":"gstagas@gmail.com"}],"time":{"modified":"2022-06-18T03:37:07.230Z","created":"2012-08-07T01:06:10.413Z","0.0.1":"2012-08-07T01:06:16.273Z","0.0.2":"2012-08-07T10:50:55.117Z","0.0.3":"2012-08-07T19:34:21.688Z","0.0.4":"2012-08-08T04:04:54.568Z","0.0.5":"2012-08-09T22:35:20.119Z","0.1.0alpha1":"2012-08-13T07:49:16.159Z","0.1.0alpha2":"2012-08-18T20:26:31.757Z","0.1.0beta1":"2012-09-10T14:35:29.782Z","0.1.0beta2":"2012-09-10T15:35:25.230Z","0.1.0beta3":"2012-09-10T19:07:08.517Z","0.1.0beta4":"2012-09-11T12:29:23.236Z","0.1.0beta5":"2012-09-11T12:35:32.306Z","0.1.0beta6":"2012-09-11T20:03:03.950Z","0.1.0beta7":"2012-09-13T18:57:58.246Z","0.1.0beta8":"2012-09-16T12:57:21.817Z","0.1.0beta9":"2012-11-10T06:36:32.009Z","0.1.0beta10":"2012-11-24T23:38:51.712Z"},"author":{"name":"George Stagas","email":"gstagas@gmail.com","url":"http://stagas.com"}}