node package manager
Stop wasting time. Easily manage code sharing in your team. Create a free org »



Run a proxy that routes your different projects using their package.json files.

Uses http-proxy as proxy engine.

How does it work?

miniproxy explores your apps directory (configurable) and opens each package.json file. If it finds a routes attribute, it will use it to configure the proxy. Once all the routing info has been gathered, the proxy starts to run.

A basic setup would be:

|_ proxy.js
|_ nodes_modules/
|   |_ miniproxy
|_ apps/
    |_ app1/
        |_ package.json
        |_ ...
    |_ app2/
        |_ package.json
        |_ ...
    |_ ...

Example of package.json containing a routes attributes:

    "name": "app1",
    "version": "0.1.0",
    "routes": {
        "": "9001",
        "": "9001"
    "scripts": {
        "start": "app1.js"

After reading this package.json file, miniproxy will route and hosts to localhost:9001.

How to use it

Install module:

npm install miniproxy

Use it (proxy.js file example):

// For each folder inside apps/ directory, 
// extract routing info from package.json file 
// then start a proxy with these routes on port 80 

If you want to run your proxy continuously, you can use forever:

forever start proxy.js

Note that your apps are not started by miniproxy. You have to take care of it (launch them with forever may also be a good idea).