{"_id":"compact","_rev":"26-445b3ef77e8703393dae80f8c19fbfb5","name":"compact","description":"A JavaScript compacting middleware for express","dist-tags":{"latest":"1.0.0"},"versions":{"0.0.1":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"compact","description":"A JavaScript and CSS compacting middleware for express","version":"0.0.1","repository":{"type":"git","url":"git://github.com/serby/compact.git"},"main":"./lib/compact.js","scripts":{"test":"mocha -r should -R spec"},"engines":{"node":">=0.4 <0.7"},"dependencies":{"underscore":"~1.3","async":"~0.1","uglify-js":"~1.2"},"devDependencies":{"mocha":"*","should":"*","mkdirp":"~0.3","async":"~0.1","asyncjs":"~0.0"},"_npmUser":{"name":"serby","email":"paul@serby.net"},"_id":"compact@0.0.1","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"196419cc15260bdadc81861d0f30ec469190af5c","tarball":"https://registry.npmjs.org/compact/-/compact-0.0.1.tgz","integrity":"sha512-6xFgJu+lTozyBR36ZYX9/W5tZRMF6TY3ccsWdNkmzN39u3uWLsG2pU3H2zWMw9/5AZ6PtrhTkK1HSNCvDuB1gA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGSBFqzsXbaDfKJ8YSupAxPkzAsjpRIx9km7po6kE21UAiEAsb2YU+Rl0IdsyynEinP5XCyynlGI/LE4naKFeQHyK/s="}]},"maintainers":[{"name":"serby","email":"paul@serby.net"}],"directories":{}},"0.0.2":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"compact","description":"A JavaScript and CSS compacting middleware for express","version":"0.0.2","repository":{"type":"git","url":"git://github.com/serby/compact.git"},"main":"./lib/compact.js","scripts":{"test":"mocha -r should -R spec"},"engines":{"node":">=0.4 <0.7"},"dependencies":{"underscore":"~1.3","async":"~0.1","uglify-js":"~1.2","mkdirp":"~0.3"},"devDependencies":{"mocha":"*","should":"*","async":"~0.1","asyncjs":"~0.0"},"_npmUser":{"name":"serby","email":"paul@serby.net"},"_id":"compact@0.0.2","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.2","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"032400ca82503669c4999cc1a1686c7751661387","tarball":"https://registry.npmjs.org/compact/-/compact-0.0.2.tgz","integrity":"sha512-okm3/cTQswbRGFhDPJB7pEjtOZYSmZw7AXThKPtw7kpMYmm2oPrke4Hi6gUWGHXN5itzIRuj2cQSut1gvKooxA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAPyDIy2oTrvqOJ1EVy/A4ixqzukC6GemHhjJXeICUHlAiEAoH8ehND8EEo3/DS92FiAq4rf+PQpbljVRiHdUWrpL/w="}]},"maintainers":[{"name":"serby","email":"paul@serby.net"}],"directories":{}},"0.0.3":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"compact","description":"A JavaScript and CSS compacting middleware for express","version":"0.0.3","repository":{"type":"git","url":"git://github.com/serby/compact.git"},"main":"./lib/compact.js","scripts":{"test":"mocha -r should -R spec"},"engines":{"node":">=0.4 <0.7"},"dependencies":{"underscore":"~1.3","async":"~0.1","uglify-js":"~1.2","mkdirp":"~0.3"},"devDependencies":{"mocha":"*","should":"*","async":"~0.1","asyncjs":"~0.0"},"_npmUser":{"name":"serby","email":"paul@serby.net"},"_id":"compact@0.0.3","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.2","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"a76b99e4b438fa9a030d1dd0ed49c7062ed34b22","tarball":"https://registry.npmjs.org/compact/-/compact-0.0.3.tgz","integrity":"sha512-4BJbG4YUikCRlOqPpa9/ScV5BlELXv+Ui0Cpsv0tSwfrT2atylcW4bIBzh1kpfOcFVTMkunQDPXifatcxoBAbA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDPp7U7Ff3zywz3Vsnnxlif6Ihcypiv6BH3UExL4yDtkAiEAiMNY7hEP290GMEmOFub8wkNdqhHFbsE/fekqpIZ3rhk="}]},"maintainers":[{"name":"serby","email":"paul@serby.net"}],"directories":{}},"0.0.4":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"compact","description":"A JavaScript compacting middleware for express","version":"0.0.4","repository":{"type":"git","url":"git://github.com/serby/compact.git"},"main":"./lib/compact.js","scripts":{"test":"mocha -r should -R spec"},"engines":{"node":">=0.4 <0.7"},"dependencies":{"underscore":"~1.3","async":"~0.1","uglify-js":"~1.2","mkdirp":"~0.3"},"devDependencies":{"mocha":"*","should":"*","async":"~0.1","asyncjs":"~0.0"},"_npmUser":{"name":"serby","email":"paul@serby.net"},"_id":"compact@0.0.4","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.2","_nodeVersion":"v0.6.14","_defaultsLoaded":true,"dist":{"shasum":"3a70e0fcc8ec5f6ee324569f96802ea3b3c4dee4","tarball":"https://registry.npmjs.org/compact/-/compact-0.0.4.tgz","integrity":"sha512-jimS+iGGi3lqvFAw1PLYyXFdZB5wxaMSg4invEO6YR+rkGJfz1IdDE0aT2pB3d2W9bXsCqV79AnREDsMSUA9ow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJAHtci4WkyHccqnUv8DvPXDCY9RxxXhWwDvTm+y8jTwIgOMXNjbmEgl8Woy3zKIjudR8iaoJpl8HJomXErGixmis="}]},"maintainers":[{"name":"serby","email":"paul@serby.net"}],"directories":{}},"0.0.5":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"compact","description":"A JavaScript compacting middleware for express","version":"0.0.5","repository":{"type":"git","url":"git://github.com/serby/compact.git"},"main":"./lib/compact.js","scripts":{"test":"mocha -r should -R spec"},"engines":{"node":">=0.4 <0.7"},"dependencies":{"underscore":"~1.3","async":"~0.1","uglify-js":"~1.2","mkdirp":"~0.3"},"devDependencies":{"mocha":"*","should":"*","async":"~0.1","asyncjs":"~0.0"},"_npmUser":{"name":"serby","email":"paul@serby.net"},"_id":"compact@0.0.5","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.6.17","_defaultsLoaded":true,"dist":{"shasum":"68822e1df8a9afefc31b8602cbc11c4b425e9f9c","tarball":"https://registry.npmjs.org/compact/-/compact-0.0.5.tgz","integrity":"sha512-lfGSq/4Y8dWUAX5q9bTfTapr3zXLsn7IjqvDz0h36itG2i9px+dIrp7rg0cg6quWCz3Lf6/DcKWhz6bSdoqf9g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC3LLIxr9vgMlOG/le6y0bJnbLKGM2e1dbuwpZfQiXa/AiEApdjxvcKP9lgy0eyQfeoWsL2mLkpMaA83gv2q5wPMpX8="}]},"maintainers":[{"name":"serby","email":"paul@serby.net"}],"directories":{}},"0.0.6":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"compact","description":"A JavaScript compacting middleware for express","version":"0.0.6","repository":{"type":"git","url":"git://github.com/serby/compact.git"},"main":"./lib/compact.js","scripts":{"test":"mocha -r should -R spec"},"engines":{"node":">=0.4 <0.7"},"dependencies":{"underscore":"~1.3","async":"~0.1","uglify-js":"~1.2","mkdirp":"~0.3"},"devDependencies":{"mocha":"*","should":"*","async":"~0.1","asyncjs":"~0.0"},"_npmUser":{"name":"serby","email":"paul@serby.net"},"_id":"compact@0.0.6","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.6.19","_defaultsLoaded":true,"dist":{"shasum":"fee77295d65f8181508ecbc59e02673b8fe787f3","tarball":"https://registry.npmjs.org/compact/-/compact-0.0.6.tgz","integrity":"sha512-1LlZ6yfmL4ETb+p0GuIV4MS/tdpsDcSopkCo/2r7VhHE09uKMSlANvLDjejqnejvMg8M2pEZx5hq90tF3loCnw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEITOxiU/JwD6p9py6PjRjGb7f+SBidjGTaePzsFMw+IAiAHM9hzW9r4dX3zbbYxNKPpZ1rvIdSGeWEN5idoMQAwCw=="}]},"maintainers":[{"name":"serby","email":"paul@serby.net"}],"directories":{}},"0.0.7":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"compact","description":"A JavaScript compacting middleware for express","version":"0.0.7","repository":{"type":"git","url":"git://github.com/serby/compact.git"},"main":"./lib/compact.js","scripts":{"test":"mocha -r should -R spec"},"engines":{"node":">=0.4 <0.7"},"dependencies":{"underscore":"~1.3","async":"~0.1","uglify-js":"~1.2","mkdirp":"~0.3"},"devDependencies":{"mocha":"*","should":"*","async":"~0.1","asyncjs":"~0.0"},"_npmUser":{"name":"serby","email":"paul@serby.net"},"_id":"compact@0.0.7","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.6.19","_defaultsLoaded":true,"dist":{"shasum":"6ef66fe5985814cd88f9b7f07f8d05f371635b93","tarball":"https://registry.npmjs.org/compact/-/compact-0.0.7.tgz","integrity":"sha512-CuaWZjq+oR90egZIQjV7rubV8WZr73n3/rfSHiy0ixglmkoUFR0IWGsHXg/NmSDHZfEtPsqzv1lDf1hfky+E7w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAujtOBImiLh27ugfKJ8G2nuSXplJivTQJrzujDwR3n3AiEA6jJBeDWUOnVsuZE06VAaE6S7G748U4xoJ8CaWnPAsXA="}]},"maintainers":[{"name":"serby","email":"paul@serby.net"}],"directories":{}},"0.1.0":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"compact","description":"A JavaScript compacting middleware for express","version":"0.1.0","repository":{"type":"git","url":"git://github.com/serby/compact.git"},"main":"./lib/compact.js","scripts":{"test":"mocha -r should -R spec"},"engines":{"node":">=0.6"},"dependencies":{"lodash":"~0.3","async":"~0.1","uglify-js":"~1.3","mkdirp":"~0.3"},"devDependencies":{"mocha":"*","should":"*","async":"~0.1","asyncjs":"~0.0"},"_npmUser":{"name":"serby","email":"paul@serby.net"},"_id":"compact@0.1.0","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.8.1","_defaultsLoaded":true,"dist":{"shasum":"eca146e3583e8161469d25feb535f3030d7a3267","tarball":"https://registry.npmjs.org/compact/-/compact-0.1.0.tgz","integrity":"sha512-dErJpTd7GoEoaatHsOuiFQKbPN4BN/G7+KD8GfVudbqndbGIuAvcL87/ETW8h1Bo3aiAwjTv97vXtjYobzDDDw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFzx918Pk5H6FaSarpJZYQJ69KaYBF5eNjLMDwg1dLfQAiAzSRjmaWd0PotqQkmx6VXx24wHkU5DHuYx8gHaaYZtEw=="}]},"maintainers":[{"name":"serby","email":"paul@serby.net"}],"directories":{}},"0.1.1":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"compact","description":"A JavaScript compacting middleware for express","version":"0.1.1","repository":{"type":"git","url":"git://github.com/serby/compact.git"},"main":"./lib/compact.js","scripts":{"test":"mocha -r should -R spec"},"engines":{"node":">=0.8"},"dependencies":{"lodash":"~0.3","async":"~0.1","uglify-js":"~1.3","mkdirp":"~0.3"},"devDependencies":{"mocha":"*","should":"~1.1","async":"~0.1","asyncjs":"~0.0"},"_npmUser":{"name":"serby","email":"paul@serby.net"},"_id":"compact@0.1.1","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.8.8","_defaultsLoaded":true,"dist":{"shasum":"dfc7814c05388d849b6d5bbc7bb29ea737e78419","tarball":"https://registry.npmjs.org/compact/-/compact-0.1.1.tgz","integrity":"sha512-uEfWyN7v8iB3Qz/H+a4w1zieSwELlM0gXb8RvciSiFRtC2r3ySwU6+Nl4Fye+/Ob7pMhAnXa+OIFVdfk+3qUFg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGn0SMtTcXIbj9DSTypsvZXpUsBjslh7dXglzuHiyjZMAiAHzHteefMhUesmE+c1ve32vjdD3h/N2qrX6J/l2pE+nQ=="}]},"maintainers":[{"name":"serby","email":"paul@serby.net"}],"directories":{}},"0.1.2":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"compact","description":"A JavaScript compacting middleware for express","version":"0.1.2","repository":{"type":"git","url":"git://github.com/serby/compact.git"},"main":"./lib/compact.js","scripts":{"test":"mocha -r should -R spec"},"engines":{"node":">=0.8"},"dependencies":{"lodash":"~0.3","async":"~0.1","uglify-js":"~1.3","mkdirp":"~0.3"},"devDependencies":{"mocha":"*","should":"~1.1","async":"~0.1","asyncjs":"~0.0"},"_npmUser":{"name":"serby","email":"paul@serby.net"},"_id":"compact@0.1.2","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.8.8","_defaultsLoaded":true,"dist":{"shasum":"66361e17108185bf261d42aff6a91b925e473139","tarball":"https://registry.npmjs.org/compact/-/compact-0.1.2.tgz","integrity":"sha512-MmmfRgNWzr6PaBNr8x/XGTjyJxpwDKjarxtRXKHOMi8jEKTqGDsBHYrHoZnpHng9UbL06nP1/bx6gLfyZ4AP3A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFy4DaqRn4KDwEOaa0PcVqCeVrCLDfzv4q6XmB9CyiRVAiEA7UpEwYAQH/WnAXfqmdVU0VRENlnHYS2vacgRLrtykT8="}]},"maintainers":[{"name":"serby","email":"paul@serby.net"}],"directories":{}},"1.0.0":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"compact","description":"A JavaScript compacting middleware for express","version":"1.0.0","repository":{"type":"git","url":"git://github.com/serby/compact.git"},"main":"./lib/compact.js","scripts":{"test":"mocha -r should -R spec"},"engines":{"node":">=0.8"},"dependencies":{"lodash":"~0.3","async":"~0.1","uglify-js":"~1.3","mkdirp":"~0.3"},"devDependencies":{"mocha":"*","should":"~1.1","async":"~0.1","asyncjs":"~0.0"},"gitHead":"fc53d4eeb81b6a33c900643385a4b15d68444fd1","bugs":{"url":"https://github.com/serby/compact/issues"},"homepage":"https://github.com/serby/compact#readme","_id":"compact@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"serby","email":"paul@serby.net"},"dist":{"integrity":"sha512-BOjtt29uckWpz1XtOtDU24D0jV2jnHvkDZgDhuY+bUYSXbcT87LXky+sZiWVd0tjIU2aEg6swjFrydWgZ1c//w==","shasum":"0c02a849c0dd212665cd294e2896f4b953564d2a","tarball":"https://registry.npmjs.org/compact/-/compact-1.0.0.tgz","fileCount":14,"unpackedSize":89038,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcTy9+CRA9TVsSAnZWagAAsGQP/2BK33rEXHcMTWTJblts\nIWsMpIOHRkjrCd+gGNvefZEUYK4vxom7LBF3zXR9KCAMvZ/E5EeV7XKdC7b9\nErjoPcAMTJGQIOD9sDL31Aabe5AE2LZa71Ez4fn824tnvcVp8n/WmvZIe5jn\nLgsYyfEMvyEjsxajCxQuAgrYnp3IaYXyGGYU3BDntq/7ewDClUFG6upJ86hi\nioGTrkT75BrEivE/7UrEqhvzg/9LEUs24x2gwhV//4dtNDtckcKRmZfNNLVr\nweLCnwp0Ax8ZPHcidvBTYjGTUGfR2H8seNADrjzwyLFMvORosxked5phpT6Z\nkwvde1sVAFHYuWmGFHsHTox7vT0oy9d8yFsbKjOV4ICckfeAlSh/emjvTg7O\nocnTjIIHrTH+v7CAGCb9FwAY2eSyFUuJafaz5PZt1RumayU8q7IMLaB9zcPo\n/7+7417gOZee56Qu6PcZC4iiJRfU/MnNQ2uWGSHYpdZaZtxaok+1p5gK9CG5\nPC9qjkmcgu1QlSZ1Wz1IBIfoRU+auME5U7Q9V+EBqv7lWZ8hnv56eqUZPUA1\n1h+v7bBHYf/3Et5Dr6cwgb5KG7hnUS2GTqDv0kbaDFosQZYOqrYybKvfIPE2\ntCaEp3zx8ZePZcU2fQXzx3zGyimHnwRp8AUZXAqzfO0iZSpdbbJwuHbjev59\nzSQt\r\n=4YWk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDyyMBSn7HEfN0IBxAxmVbEsfb22rh+wsn3OuptenJ5lAiAn/tC6apMjcs69ftL9qSU7sy6GH00DEWyvysUZghl/pg=="}]},"maintainers":[{"name":"serby","email":"paul@serby.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/compact_1.0.0_1548693373856_0.9535958944362191"},"_hasShrinkwrap":false}},"readme":"# compact.js\nA simple JavaScript compacting middleware for express\n\n[![build status](https://secure.travis-ci.org/serby/compact.png)](http://travis-ci.org/serby/compact)\n\n## Installation\n\n    npm install compact\n\n## Usage\n\n### Initialise compact:\n\n```js\nvar compact = require('compact').createCompact({\n  srcPath: __dirname + '/public/src/',\n  destPath: __dirname + '/public/compact/',\n  webPath: '/js/compact/',\n  debug: false\n});\n```\n\n- `srcPath` is the path to your frontend JavaScript. (If you initialised your project with Express' quick start, you probably want to set this to `/public/javascripts`).\n- `destPath` is the path that compact should use to store the compacted assets.\n  If this directory does not exist, it will be created.\n- `webPath` is the public public facing route to your `destPath` (This will preceed the filename of the output `<script>` tags, so `webPath: '/js/compact/' -> <script src=\"/js/compact/myscript.js\">`).\n- `debug` is optional. If set to true, the scripts will not be concatenated or minified.\n\n### Create namespaces:\n\nNamespaces are used to create different compilations of scripts. Usually, you will want to create a `global` namespace that is used everywhere:\n\n```js\ncompact.addNamespace('global');\n\ncompact.ns.global\n  .addJs('/js/main.js')\n  .addJs('/js/widget-a.js')\n  .addJs('/js/widget-b.js');\n```\n\nIf you have some collection of scripts that will only be used on certain pages, it is a good idea to create a namespace for it. For example, if you have a banner and some ads that only appear on the homepage, and some UI that appears only on the profile page/section:\n\n```js\ncompact.addNamespace('home')\n  .addJs('/js/banner.js')\n  .addJs('/js/ads.js');\n\ncompact.addNamespace('profile')\n  .addJs('/js/profile.js');\n```\n\nWhen creating a namespace, you can also pass in an extra `srcPath`. Calls to `addJs()` will look for the file in the given `srcPath`, and if not found it then tries the `srcPath` passed to `createCompact()`.\n\n```js\ncompact.addNamespace('comments',  __dirname + 'libs/comments/public/src/' )\n  .addJs('/js/paging.js')\n  .addJs('/js/comments.js');\n```\n\n### Using the middleware:\n\nIf you have created a `global` namespace, you can apply it to all routes like so:\n\n```js\napp.use(compact.middleware(['global']));\n```\n\nThis will expose the view helper `compactJsHtml()` in your templates, so you can output the necessary `<script>` tags. \n\n**Note that this should appear after middleware for serving static assets.**\n\n### Route Specific Middleware\n\nFor most use cases you'll probably want to apply namespaces on a per route bases:\n\n```js\n// Add some compacted JavaScript for just this route. Having the namespaces\n// in separate arrays will produce a javascript file per array.\napp.get(\n  '/',\n  compact.js(['home'], ['profile']),\n  function (req, res) {\n  /* Homepage logic here */\n  }\n);\n\n// Having different namespaces joined together\n// will combine and output as one javascript file.\napp.get(\n  '/',\n  compact.js(['comments', 'profile']),\n  function (req, res) {\n    /* Blog page logic here */\n  }\n);\n```\n\nNote: compact must be applied to your route *before* the route logic. This is so that the view helper is available when you try to render your layout.\n\n### Bulk Config\n\nYou can defined all the namespaces and js files in a JSON schema using the *configure* function.\n\n```js\n\nvar compact = require('compact').createCompact(...);\n\ncompact.configure({\n    prepend: [\n        '/config.js'\n    ],\n\n    append: [\n        '/garbageCollector.js'\n    ],\n\n    cmsSourcePath: '/public/vendor/cms/',\n    cms: [\n        'prepend',\n        '/myModel.js',\n        '/bootstrap.js',\n        'append'\n    ]\n});\n\n```\n\nIn this example you can see that you can either reference a JavaScript file or an existing namespace.\n\n### Rendering\n\nAny route that has `compact.js()` applied will have the helper function `compactJsHtml()` available. This will render the relevant script tags. In Jade, Use like so:\n\n```html\n!=compactJsHtml()\n```\n\nFrom the examples above, on `/` you'd get the following\n\n```html\n<script src=\"/js/compact/global.js\"></script>\n<script src=\"/js/compact/home.js\"></script>\n<script src=\"/js/compact/profile.js\"></script>\n```\n\nAnd on `/blog` you'd get this\n\n```html\n<script src=\"/js/compact/global.js\"></script>\n<script src=\"/js/compact/comment-profile.js\"></script>\n```\n\nYou also have access to the `compactJs()` helper which will return an array\nof files instead of the rendered html.\n\n## Credits\n[Paul Serby](https://github.com/serby/) follow me on [twitter](http://twitter.com/PabloSerbo)\n\n## Licence\nLicenced under the [New BSD License](http://opensource.org/licenses/bsd-license.php)\n","maintainers":[{"name":"serby","email":"paul@serby.net"}],"time":{"modified":"2022-06-13T19:37:11.655Z","created":"2012-02-06T01:39:48.994Z","0.0.1":"2012-02-06T01:39:50.261Z","0.0.2":"2012-03-21T18:15:24.718Z","0.0.3":"2012-03-23T15:25:18.289Z","0.0.4":"2012-03-31T09:05:40.450Z","0.0.5":"2012-05-23T10:10:15.010Z","0.0.6":"2012-06-29T14:29:04.847Z","0.0.7":"2012-07-04T17:14:01.593Z","0.1.0":"2012-07-09T14:40:56.751Z","0.1.1":"2012-08-29T08:18:12.345Z","0.1.2":"2012-09-04T11:19:17.618Z","1.0.0":"2019-01-28T16:36:13.997Z"},"author":{"name":"Paul Serby","email":"paul@serby.net"},"repository":{"type":"git","url":"git://github.com/serby/compact.git"},"users":{"serby":true},"homepage":"https://github.com/serby/compact#readme","bugs":{"url":"https://github.com/serby/compact/issues"},"readmeFilename":"README.md"}