A node module to help you develop giblets of code for tough, chewy projects.
CSS CoffeeScript JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.





Butcher your next {frustrating technology stack} project

Butchershop is a workbench of sorts that leverages the hapi.js module to help you develop front-end code using local assets with a remote server. Basically a reverse-proxy site where you can "chop" in assets that need development.

Ideally, you have access to the code-base but it requires a difficult environment or heavy SDK (say goodbye to slow Virtual Machines and/or bloated IDEs) that are unnecessary for static assets such as CSS, Images, or JavaScript. You can edit locally (helpful for pre-compiled css or coffee-script which can be watched for changes, compiled and previewed on-the-fly) and still use your application's data routes or dynamic pages.

Full disclosure Lets get real for a second. This project was developed out of a ton of frustration working with front-end, static assets coupled too tightly with a .NET project and my ever-growing hatred for Microsoft Visual Studio.


npm install butchershop --save-dev


You can create a new butcherhop and chop entire directories(shown below) or specific files (see the examles/example.js)

Included in ./examples is, well... an example and can be run by cd ./example; node example.js. Below is a bare-bones implementation:

// require and set-up the server object.
var Butchershop = require('butchershop');
var butcher = new Butchershop({
    proxy: { host: 'npmjs.org' }

// chop any calls to '/stylus/*' to route to a local directory that mimics the same path
butcher.chop('/stylus/{path*}', './stylus-local');

// OR Chop a specific file with the same method. 
butcher.chop('/static/npm.png', './butchershop.gif');


The example included shows how to butcher the npmjs.org site and intercept the stylesheets. When you run the example you can expect to see the results below when visiting localhost:8000/package/butchershop

./examples/example.js result