{"_id":"npm-proxy","_rev":"13-217251030590478eaa458e5d0a7870b3","name":"npm-proxy","description":"A proxy server for npm to publish packages to a child/private registry and install packages from a child or parent/public registry (if the child doesn't have the package).","dist-tags":{"latest":"0.0.5"},"versions":{"0.0.1":{"author":{"name":"Greg G","email":"gregg@aweber.com"},"name":"npm-proxy","description":"A proxy server for npm to publish packages to a child/private registry and install packages from a child or parent/public registry (if the child doesn't have the package).","version":"0.0.1","licenses":[{"type":"BSD","url":"http://github.com/g-k/npm-proxy/raw/master/LICENSE"}],"bin":{"npm-proxy":"./bin/npm-proxy"},"scripts":{"start":"./bin/npm-proxy"},"repository":{"url":"http://github.com/g-k/npm-proxy/"},"engines":{"node":"0.5.x || 0.6.x"},"dependencies":{"coffee-script":">= 1.1.0","commander":">= 0.4.2","http-proxy":">= 0.7.6","restler":">= 0.2.1"},"_npmUser":{"name":"g-k","email":"gregg@aweber.com"},"_id":"npm-proxy@0.0.1","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.5","_defaultsLoaded":true,"dist":{"shasum":"751bca1dbe72cc27e1ed8e34b09f884254b1db77","tarball":"https://registry.npmjs.org/npm-proxy/-/npm-proxy-0.0.1.tgz","integrity":"sha512-LUhqjbtzqWNtfKIk8HP9I6bhqQTZafAV5gFUb4MmHR0/15EGddbASF1kQHG0gDuBGhUBF7R6LnxXx8joA/jUWA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDyuhOccEWIDiBanlBz6ANMdo42rxSKbUCB/WblcdOAxgIhALKmq/KkvNZm2/79vVaHQ+JmnhrmyEBe0KNwcnvrTqyU"}]},"maintainers":[{"name":"g-k","email":"gregg@aweber.com"}]},"0.0.2":{"author":{"name":"Greg G","email":"gregg@aweber.com"},"name":"npm-proxy","description":"A proxy server for npm to publish packages to a child/private registry and install packages from a child or parent/public registry (if the child doesn't have the package).","version":"0.0.2","licenses":[{"type":"BSD","url":"http://github.com/g-k/npm-proxy/raw/master/LICENSE"}],"bin":{"npm-proxy":"./bin/npm-proxy"},"scripts":{"start":"./bin/npm-proxy"},"repository":{"url":"http://github.com/g-k/npm-proxy/"},"engines":{"node":">= 0.6.6"},"dependencies":{"coffee-script":">= 1.1.0","commander":">= 0.4.2","http-proxy":">= 0.8.0","restler":">= 0.2.1"},"_npmUser":{"name":"g-k","email":"gregg@aweber.com"},"_id":"npm-proxy@0.0.2","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.7","_defaultsLoaded":true,"dist":{"shasum":"7759c51d795848fe41d2bfb79f8fa958ad9126da","tarball":"https://registry.npmjs.org/npm-proxy/-/npm-proxy-0.0.2.tgz","integrity":"sha512-TsLgnC5JeGk6e2rGfGHqcWrMLK0fpYsfLK5ZFcAnqdPVGwInMqP81oS4bc0aPABzprlrkdh+E63oPlsSt0xSuA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCW4KCrTUI6MTR1s7DCCjAax1hixl52YO+irupHi7iOUQIhALKCKIogCLXJa34BoeWgvs+GcASGZAaZ9vbWqE+KScOu"}]},"maintainers":[{"name":"g-k","email":"gregg@aweber.com"}]},"0.0.3":{"author":{"name":"Greg G","email":"gregg@aweber.com"},"name":"npm-proxy","description":"A proxy server for npm to publish packages to a child/private registry and install packages from a child or parent/public registry (if the child doesn't have the package).","version":"0.0.3","licenses":[{"type":"BSD","url":"http://github.com/g-k/npm-proxy/raw/master/LICENSE"}],"bin":{"npm-proxy":"./bin/npm-proxy"},"scripts":{"start":"./bin/npm-proxy"},"repository":{"url":"http://github.com/g-k/npm-proxy/"},"engines":{"node":">= 0.6.6"},"dependencies":{"coffee-script":">= 1.1.0","commander":">= 0.4.2","http-proxy":">= 0.8.0","restler":"0.2.x"},"_npmUser":{"name":"g-k","email":"gregg@aweber.com"},"_id":"npm-proxy@0.0.3","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.1","_nodeVersion":"v0.6.11","_defaultsLoaded":true,"dist":{"shasum":"05e8a9cf2f5315ff161ea1202143574ea4e2ea70","tarball":"https://registry.npmjs.org/npm-proxy/-/npm-proxy-0.0.3.tgz","integrity":"sha512-KshTCS3Dw5Y9GvRlqEpTAwqLfnXDDVrIhcFWcgoOAxLaCBBd4GGezpCajgc9qXVwGAKLMJD/jb/erpm60pXFCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVT7cT4SmixAwuHM1zlkPjUgv3RQB7JurYfLZ56hwjFgIgScPpDmhjk37Ei0favAG8GhRceAW+rJYnIKkco0goSow="}]},"maintainers":[{"name":"g-k","email":"gregg@aweber.com"}]},"0.0.4":{"author":{"name":"Greg G","email":"gregg@aweber.com"},"name":"npm-proxy","description":"A proxy server for npm to publish packages to a child/private registry and install packages from a child or parent/public registry (if the child doesn't have the package).","version":"0.0.4","licenses":[{"type":"BSD","url":"http://github.com/g-k/npm-proxy/raw/master/LICENSE"}],"bin":{"npm-proxy":"./bin/npm-proxy"},"scripts":{"test":"./node_modules/mocha/bin/mocha -u bdd --compilers coffee:coffee-script test/*.coffee","start":"./bin/npm-proxy"},"repository":{"url":"http://github.com/g-k/npm-proxy/"},"engines":{"node":">= 0.6.6"},"dependencies":{"coffee-script":">= 1.1.0","commander":">= 0.4.2","http-proxy":">= 0.8.0","restler":"0.2.x"},"devDependencies":{"mocha":"latest","expect.js":"latest"},"_npmUser":{"name":"g-k","email":"gregg@aweber.com"},"_id":"npm-proxy@0.0.4","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.16","_nodeVersion":"v0.6.14","_defaultsLoaded":true,"dist":{"shasum":"54b5cf5798b0ee25b72ea91a546bd6240c05c989","tarball":"https://registry.npmjs.org/npm-proxy/-/npm-proxy-0.0.4.tgz","integrity":"sha512-2zLf7Zzh7s7Se2+N3HtbqvBBI9dYkqzNqZff3s/e+6NC/NFQepHNzxQzcRt+tQnlCFA8qNq3tripRWN2kTptJQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBAZxW5e/himRkRLBu9wAIt4UCEVDPwnKnvXBYjLcDp5AiEA7j30IG7if+2xU69s8cWVr7RGfvVI4Bq8++2ceBjI9vs="}]},"maintainers":[{"name":"g-k","email":"gregg@aweber.com"}]},"0.0.5":{"author":{"name":"Greg G","email":"gregg@aweber.com"},"name":"npm-proxy","description":"A proxy server for npm to publish packages to a child/private registry and install packages from a child or parent/public registry (if the child doesn't have the package).","version":"0.0.5","licenses":[{"type":"BSD","url":"http://github.com/g-k/npm-proxy/raw/master/LICENSE"}],"bin":{"npm-proxy":"./bin/npm-proxy"},"scripts":{"test":"./node_modules/.bin/mocha -u bdd --compilers coffee:coffee-script test/*.coffee","start":"./bin/npm-proxy"},"repository":{"url":"http://github.com/g-k/npm-proxy/"},"engines":{"node":">= 0.6.6"},"dependencies":{"coffee-script":">= 1.1.0","commander":">= 0.4.2","http-proxy":">= 0.8.0","restler":"0.2.x"},"devDependencies":{"mocha":"~1.9.0","expect.js":"~0.2.0"},"readme":"A proxy server built on\n[node-http-proxy](https://github.com/nodejitsu/node-http-proxy) for\nnpm to publish packages to a child/private registry and install\npackages from a child or parent/public registry (if the child doesn't\nhave the package).\n\n[![Build Status](https://secure.travis-ci.org/g-k/npm-proxy.png)](http://travis-ci.org/g-k/npm-proxy)\n\n## Deprecation Warning\n\nWe ran into a few issues updating our npm repo with newer npm and\nnpmjs.org checkouts.\n\nNewer versions of npmjs.org have different\n[rewrite urls](https://github.com/isaacs/npmjs.org/issues/72) and\nrequire a\n[trailing slash](https://github.com/isaacs/npmjs.org/issues/70), but\nvhosts should fix these issues.\n\nAround the introduction of the npm-registry-client (version ~1.1.25),\nnpm required couchdb auth credentials for package GET requests (for\nsecurity reasons I think). We use different credentials for our public\nand private repos and couldn't naively proxy GET requests to the\npublic npmjs.org anymore.\n\n@wyrdvans fixed these issues by setting up vhosts, replicating the\nnpmjs.org registry and our private registry. This also improved\nperformance on our network, reduced load on the public npmjs.org, made\nit easier to run security audits on our node dependencies, and removed\nthe need to run this proxy.\n\nHopefully we can support multiple npm repositories in npm itself\ninstead of needing a fully replicated repo or an npm proxy:\n\n* https://github.com/isaacs/npm/issues/19\n* https://github.com/isaacs/npm/issues/100\n* https://github.com/isaacs/npm/issues/1401\n\n## Install\n\nRequires node version 0.6.6 or newer. Untested on node 0.8.\n\n### Local\n\n1. Run\n\n```\n    npm install npm-proxy\n```\n\n1. Run locally:\n\n```\n\t./bin/npm-proxy --child-registry-target http://mysecret.npmjs.org:5984\n```\n\n### As a couchdb os process deamon on the child npm registry:\n\n1. Install npm-proxy globally\n\n```\n    sudo npm install -g npm-proxy\n```\n\n1. Add the following line to the `os_daemons` section of\n`/etc/couchdb/local.ini` on the child npm registry:\n\n```\n    npm_proxy = /usr/bin/npm-proxy --child-registry-target http://mysecret.npmjs.org:5984\n```\n\n1. Restart couchdb and make sure npm-proxy started with it\n\n## Usage\n\n    Usage: npm-proxy [options]\n\n    Options:\n\n      -h, --help                                            output usage information\n      -V, --version                                         output the version number\n      -t, --target [localhost:8080]                         hostname and port to listen on or url\n      -c, --child-registry-target [localhost:5984]          NPM registry to push packages and pull from first\n      -p, --parent-registry-target [registry.npmjs.org:80]  NPM registry to pull packages from if the child doesn't have it\n\nOnce the proxy is running point npm to it using any of the methods\nfrom \"Using the registry with the npm client\" section of the\n[npmjs.org](http://github.com/isaacs/npmjs.org) project.\n\n\n### Development\n\nJanky OSX Testing on for my machine:\n\n```\n# brew install couchdb\nrm npm-shrinkwrap.json\nnpm install -d . --registry=http://registry.npmjs.org/\n\nmake clean setup-couch\ncouchdb # start couch\nmake setup-npmjs\n\n# start npm-proxy\n./bin/npm-proxy -c localhost:5984\nmake acceptance test\n```\n\n#### TODO\n\n* ANSI colors for log output\n* 100% unit test coverage\n* For acceptance tests, setup and teardown multiple processes using node\n* For integration tests, record and playback npm requests and npmjs.org responses\n","readmeFilename":"README.md","_id":"npm-proxy@0.0.5","dist":{"shasum":"abde9e59991dcf1cc97b7eaaa0e98decf2da92af","tarball":"https://registry.npmjs.org/npm-proxy/-/npm-proxy-0.0.5.tgz","integrity":"sha512-BGEzX/ElhP+xOQWHIn95U7F3K9pUeY35sbYf+6FKgA6RDQ7dJi0r6YLC8GM2qWn2uBRLffqP2lODHNnpKkTHsg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnxTLr+eHFsPzmhBgRV5D1GiZJcNplMBX9qBRcXmlO+AIgQDCNd3mn37qmgAEmaTDhgeLq9ep+RnMuQY7yQVMwYwY="}]},"_npmVersion":"1.1.70","_npmUser":{"name":"g-k","email":"gregg@aweber.com"},"maintainers":[{"name":"g-k","email":"gregg@aweber.com"}]}},"readme":"A proxy server for npm to publish packages to a child/private registry\nand install packages from a child or parent/public registry (if the\nchild doesn't have the package).\n\n## Install\n\n### Local\n\n1. Run (force install because [http-proxy](https://github.com/nodejitsu/node-http-proxy) doesn't support node 0.6.x):\n\n    npm install npm-proxy --force\n\n1. Run locally:\n\n\t./bin/npm-proxy --child-registry-target http://mysecret.npmjs.org:5984\n\n### As a couchdb os process deamon on the child npm registry:\n\n1. Install npm-proxy globally\n\n    sudo npm install -g npm-proxy --force\n\n1. Add the following line to the `os_daemons` section of\n`/etc/couchdb/local.ini` on the child npm registry:\n\n    npm_proxy = /usr/bin/npm-proxy --child-registry-target http://mysecret.npmjs.org:5984\n\n1. Restart couchdb and make sure npm-proxy started with it\n\n## Usage\n\n    Usage: npm-proxy [options]\n\n    Options:\n\n      -h, --help                                            output usage information\n      -V, --version                                         output the version number\n      -t, --target [localhost:8080]                         hostname and port to listen on\n      -c, --child-registry-target [localhost:5984]          NPM registry to push packages and pull from first\n      -p, --parent-registry-target [registry.npmjs.org:80]  NPM registry to pull packages from if the child doesn't have it\n\nOnce the proxy is running point npm to it using any of the methods\nfrom \"Using the registry with the npm client\" section of the\n[npmjs.org](http://github.com/isaacs/npmjs.org) project.\n","maintainers":[{"name":"g-k","email":"gregg@aweber.com"}],"time":{"modified":"2022-06-22T08:44:45.571Z","created":"2011-12-08T06:43:32.103Z","0.0.1":"2011-12-08T06:43:32.873Z","0.0.2":"2012-01-19T00:33:33.920Z","0.0.3":"2012-02-24T04:46:27.178Z","0.0.4":"2012-04-17T03:47:11.278Z","0.0.5":"2013-04-07T21:48:51.678Z"},"author":{"name":"Greg G","email":"gregg@aweber.com"},"repository":{"url":"http://github.com/g-k/npm-proxy/"}}