{"_id":"build.js","_rev":"21-2494479c501aec3cf22a83a801575e14","name":"build.js","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.3":{"author":{"name":"Petr Janda","email":"petr@ngneers.com","url":"http://twitter.com/petrjanda"},"name":"build.js","version":"0.1.3","repository":{"type":"git","url":"git://github.com/petrjanda/build.js.git"},"engines":{"node":"~0.6.2"},"dependencies":{"walk":"*"},"devDependencies":{"jasmine-node":"*"},"main":"lib/main.js","_npmUser":{"name":"petrjanda","email":"petrjanda@me.com"},"_id":"build.js@0.1.3","_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.2","_defaultsLoaded":true,"dist":{"shasum":"7a9f11a51a617260c4500f8e07999502c93075c8","tarball":"https://registry.npmjs.org/build.js/-/build.js-0.1.3.tgz","integrity":"sha512-emWGSB7xTlIbWgV1EFpaJT7rXN2u5ovxqGQZWEx5vgWzYpwgl7QZaUUrRPJ5wPus6G/KL0Mxas4OXG+FLmkb+w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD6MYatxRpIgSN5MUBKhDXlGov5PA9SqiKIGsYP/WYosQIhAPOfRJZKdMM4CRIPVVYDJNT7iwC4OzfhULoqanl+7sgE"}]},"maintainers":[{"name":"petrjanda","email":"petrjanda@me.com"}]},"0.1.4":{"author":{"name":"Petr Janda","email":"petr@ngneers.com","url":"http://twitter.com/petrjanda"},"name":"build.js","version":"0.1.4","repository":{"type":"git","url":"git://github.com/petrjanda/build.js.git"},"engines":{"node":"~0.6.2"},"dependencies":{"walk":"*"},"devDependencies":{"jasmine-node":"*"},"main":"lib/main.js","_npmUser":{"name":"petrjanda","email":"petrjanda@me.com"},"_id":"build.js@0.1.4","_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.2","_defaultsLoaded":true,"dist":{"shasum":"d1abdb112e42b8afda712fd76e6f341402b80117","tarball":"https://registry.npmjs.org/build.js/-/build.js-0.1.4.tgz","integrity":"sha512-2IOB6iWazM70JDsolPEFh/2cJb60yGk4f5yF7aOeRXB5uor2IrnwJPvzl0jRlFM7Aw+nyzeyRsrF/UszvT4gyg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPfzZa5ypogQUh8w3unw4SNt+K+GJqxmZRr8aHn9a+NQIgTO12uw2OuTIYnUldjuXU9kxaBJBw9lEjjj2RcNyjEUk="}]},"maintainers":[{"name":"petrjanda","email":"petrjanda@me.com"}]},"0.2.0":{"author":{"name":"Petr Janda","email":"petr@ngneers.com","url":"http://twitter.com/petrjanda"},"name":"build.js","version":"0.2.0","repository":{"type":"git","url":"git://github.com/petrjanda/build.js.git"},"engines":{"node":"~0.6.2"},"dependencies":{"walk":"*"},"devDependencies":{"jasmine-node":"*"},"main":"lib/main.js","_npmUser":{"name":"petrjanda","email":"petrjanda@me.com"},"_id":"build.js@0.2.0","_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.2","_defaultsLoaded":true,"dist":{"shasum":"9616d3311e70df3f424db07635982135069c8e8a","tarball":"https://registry.npmjs.org/build.js/-/build.js-0.2.0.tgz","integrity":"sha512-0OZvljvNx5inlY3M6pAqXYMbTDF1671w40/pgG5AjyIk6R1UbeztLaCNqsx7Ctbs+klVfM56BfRF/ektCp1n5w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBRTGE0+KyhSZZRVCuycSdqXedSobs9LbtdgPZpzfHQkAiEA+NZV6Z8WdYo2zE2xezH0pQRNJJ3xux8w0gWFV2fJV+A="}]},"maintainers":[{"name":"petrjanda","email":"petrjanda@me.com"}]},"0.2.1":{"author":{"name":"Petr Janda","email":"petr@ngneers.com","url":"http://twitter.com/petrjanda"},"name":"build.js","version":"0.2.1","repository":{"type":"git","url":"git://github.com/petrjanda/build.js.git"},"dependencies":{"walk":"*"},"devDependencies":{"jasmine-node":"*"},"main":"lib/main.js","_npmUser":{"name":"petrjanda","email":"petrjanda@me.com"},"_id":"build.js@0.2.1","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.2","_defaultsLoaded":true,"dist":{"shasum":"8dd3d07766321d78c0176d938f84624becc80600","tarball":"https://registry.npmjs.org/build.js/-/build.js-0.2.1.tgz","integrity":"sha512-kfOQstsnTCxLpnVzmjcohjtSynRCNZUgOqBmKeZw/d+cCm4XUBodjjZdczGmVjehgEw+c9JoyP1fXQBymgFZyw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDlTmiAli3rpNJTeXOf53BZN/89ST6lcfJzUqv7ciQHhQIgDDYRE0g+piAhFOlSex62oVY0mSgMIK7Klo7NFyEaYco="}]},"maintainers":[{"name":"petrjanda","email":"petrjanda@me.com"}]},"0.2.2":{"author":{"name":"Petr Janda","email":"petr@ngneers.com","url":"http://twitter.com/petrjanda"},"name":"build.js","version":"0.2.2","repository":{"type":"git","url":"git://github.com/petrjanda/build.js.git"},"dependencies":{"walk":"*"},"devDependencies":{"jasmine-node":"*"},"main":"lib/main.js","_npmUser":{"name":"petrjanda","email":"petrjanda@me.com"},"_id":"build.js@0.2.2","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.2","_defaultsLoaded":true,"dist":{"shasum":"9ec56ab5ad941379a2450c51e0ab9e155adb4821","tarball":"https://registry.npmjs.org/build.js/-/build.js-0.2.2.tgz","integrity":"sha512-aAV0cVuximADwuC02MTKZ2QNKgT7QTslJW1QupBNTOk1wN+sVCTyqXxVKAyXMKxIBwZEin8nqP8EvtRb9ffXiA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVs5Q0r3tLPA7t+hzEUbZbS8N3goC8RpO5CiR7ZBY/UAIgJBmyRDPau88CxJNG0pnTDyfG2r1mZA7DgNodYn4TVIw="}]},"maintainers":[{"name":"petrjanda","email":"petrjanda@me.com"}]},"0.2.3":{"author":{"name":"Petr Janda","email":"petr@ngneers.com","url":"http://twitter.com/petrjanda"},"name":"build.js","version":"0.2.3","repository":{"type":"git","url":"git://github.com/petrjanda/build.js.git"},"dependencies":{"walk":"*"},"devDependencies":{"jasmine-node":"*"},"main":"lib/main.js","_npmUser":{"name":"petrjanda","email":"petrjanda@me.com"},"_id":"build.js@0.2.3","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.2","_defaultsLoaded":true,"dist":{"shasum":"2437db48ea3c045bdb0880fa495dc130c33c489d","tarball":"https://registry.npmjs.org/build.js/-/build.js-0.2.3.tgz","integrity":"sha512-f7wzMEpKNh2VlmGLB29b99IsRn2hVMwyQsaTSmeEO3HphueAaLD01J7y8QNvU009oolT1Y1Rv2B9rJ563fpHUw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYP8dW4TF/CNRJYnOqy6r8wNgHtYaaGfskB9rxx3zDowIgC490HMKpCpQ5bJLYUrjlYbARefKzv6cy/6MvqaneoUo="}]},"maintainers":[{"name":"petrjanda","email":"petrjanda@me.com"}]},"0.2.4":{"author":{"name":"Petr Janda","email":"petr@ngneers.com","url":"http://twitter.com/petrjanda"},"name":"build.js","version":"0.2.4","repository":{"type":"git","url":"git://github.com/petrjanda/build.js.git"},"dependencies":{"walk":"*"},"devDependencies":{"jasmine-node":"*"},"main":"lib/main.js","_npmUser":{"name":"petrjanda","email":"petrjanda@me.com"},"_id":"build.js@0.2.4","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.2","_defaultsLoaded":true,"dist":{"shasum":"85ae917ae2d7d3225f1e76a9fdcf5397048b5ab8","tarball":"https://registry.npmjs.org/build.js/-/build.js-0.2.4.tgz","integrity":"sha512-RFHZ/2gvynpLS5kn65WAPbaId+eK8MMP6QKtdiE0PfmGMXCDQ4K0k5Spgj1JOI1VzI3EF4ddvbS9fGmRtlJY7A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBjHqWkO9o42lGfP4MdB5mhDUAnOonI6VbCAOmtL+lhKAiEA6VqBJCUTlpnxESk07sKIgBrMdo6farPJJElxcdSYHKc="}]},"maintainers":[{"name":"petrjanda","email":"petrjanda@me.com"}]},"0.2.5":{"author":{"name":"Petr Janda","email":"petr@ngneers.com","url":"http://twitter.com/petrjanda"},"name":"build.js","version":"0.2.5","repository":{"type":"git","url":"git://github.com/petrjanda/build.js.git"},"dependencies":{"walk":"*"},"devDependencies":{"jasmine-node":"*"},"main":"lib/main.js","_npmUser":{"name":"petrjanda","email":"petrjanda@me.com"},"_id":"build.js@0.2.5","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.2","_defaultsLoaded":true,"dist":{"shasum":"fe9bcde5e5fa40bbeea31c4efda9a36d8315aa08","tarball":"https://registry.npmjs.org/build.js/-/build.js-0.2.5.tgz","integrity":"sha512-SjJZubmuD9x9/HxWcJI3jOfhG20aIxcS6eiSOsrUi+BE6nPPCVDAyrRixjc4gnTAdVGoW8Gk27ydsvQijkpWtw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBOFS2oSP4Y9in+2nPkpOodXYa+7/241mk4yDuS/fIRHAiEAzUzk1Tb4qJQU1vhKTX2x8T96lxTG6WqybyF6yUg6LfM="}]},"maintainers":[{"name":"petrjanda","email":"petrjanda@me.com"}]},"0.3.0":{"author":{"name":"Petr Janda","email":"petr@ngneers.com","url":"http://twitter.com/petrjanda"},"name":"build.js","version":"0.3.0","repository":{"type":"git","url":"git://github.com/petrjanda/build.js.git"},"dependencies":{"walk":"*"},"devDependencies":{"jasmine-node":"*"},"main":"lib/main.js","_npmUser":{"name":"petrjanda","email":"petrjanda@me.com"},"_id":"build.js@0.3.0","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.2","_defaultsLoaded":true,"dist":{"shasum":"2504688c79f2b868189016222c33eb39b9df41d0","tarball":"https://registry.npmjs.org/build.js/-/build.js-0.3.0.tgz","integrity":"sha512-HiaH1is+Mt+SVRBhnt0/c77l/mM7YobZopNPob6JCn09U7RW7bi/MrE5huCNg/pQ09bVtS/fr3YcrbjL06D40Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDVxX/n3W1iut/KgoKtAL4S4znc1qYjksha7z26pK7L/AIhAOBQtvFoCSlVNkbQIAQFNuvES5vtSHTuAzBCESza7aYd"}]},"maintainers":[{"name":"petrjanda","email":"petrjanda@me.com"}]}},"readme":"# Basement = node.js web pipeline\n\nBasement target is to simpify life to frontend developers. Idea comes from Ruby driven project called rake pipeline.\nYou are allowed to define your file processing in a declarative way, in order to automate your build system for your\nfrontend application.\n\nBecause basement, can be integrated to any node.js application, its target is to extend your reach within your one and\nonly development server, without need to spawn any other tool.\n\n## How does it work?\n\nThe system watch in a given location, once you specify in your pipeline configuration. Each time you create / update / delete the file, its content is reloaded and together with other loaded files pipeline processing is invoked. In order\nto customize its behavior, you are able to build it up from couple predefined filters.\n\n## How to start?\n\nInstallation with npm is easy as:\n\n    npm install basement\n\nThen anywhere in your application create a pipeline definition. If you write Ember.js app with handlebars templates, it\nmight look like this:\n\n```javascript\nPipeline = require('basement').Pipeline;\nClosureFilter = require('basement').ClosureFilter;\nConcatFilter = require('basement').ConcatFilter;\nHandlebarsCompileFilter = require('basement').HandlebarsCompileFilter;\n\nnew Pipeline({\n  input: 'frontend/lib',\n  output: 'application.js',\n  pattern: '*.js',\n\n  filters: [\n    new ClosureFilter(),\n    new ConcatFilter({\n      separator: '\\n\\n'\n    })\n  ]\n})\n\nnew Pipeline({\n  input: 'frontend/lib/templates/',\n  output: 'application.templates.js',\n  pattern: '*.handlebars',\n\n  filters: [\n    new HandlebarsCompileFilter(),\n    new ConcatFilter({\n      separator: '\\n'\n    })\n  ]\n})\n```\n\nThe definition should be self descripting. Per pipeline you specify input folder and output file and a pattern, which is\nused to filter only specific files. Pattern might also look for instance like ```*_test.js``` to compile your tests together.\n\nThe list of filters is executed in a specific order. \n\n## Extend with your own filters\n\nThe simpliest filter which just proxy content, without any modification might look like this.\n\n```javascript\nmodule.exports = MyFilter = function(options) {}\n\nMyFilter.prototype.process = function(data) {\n  for(var i in data) {\n    data[i] = data[i]\n  }\n\n  return data;\n}\n```","maintainers":[{"name":"petrjanda","email":"petrjanda@me.com"}],"time":{"modified":"2022-06-13T05:16:44.988Z","created":"2012-02-05T19:55:20.194Z","0.1.3":"2012-02-05T19:55:23.808Z","0.1.4":"2012-02-05T20:00:17.013Z","0.2.0":"2012-02-06T21:04:00.072Z","0.2.1":"2012-02-20T18:15:43.099Z","0.2.2":"2012-05-17T06:10:42.534Z","0.2.3":"2012-05-19T17:56:45.044Z","0.2.4":"2012-05-20T20:42:23.667Z","0.2.5":"2012-05-20T20:44:46.725Z","0.3.0":"2012-05-20T20:57:54.133Z"},"author":{"name":"Petr Janda","email":"petr@ngneers.com","url":"http://twitter.com/petrjanda"},"repository":{"type":"git","url":"git://github.com/petrjanda/build.js.git"}}