node package manager
Love JavaScript? Your insights can make it even better. Take the 2017 JavaScript Ecosystem Survey »





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: '' }
// 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 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