NPM Private Modules
What you need to know.
Glen Arrowsmith June 2015 twitter.com/garrows
NPM Enterprise
It's not that
- On premise
- Selective local mirror
- $20/active user/month
Github Dependencies
{
"name": "cat-farm",
"dependencies": {
"cat-generator":
"git+https://0ba0...160ea:x-oauth-basic@github.com/acme/cat-generator.git#stable",
"cat-groomer": "git://github.com/acme/cat-groomer.git#v1.0"
}
}
- No Semvers
- Shared Tokens
- Less Control
Scopes
package.json
{
"name": "@acme/cat-generator",
"version": "1.0.0",
"...": "..."
}
{
"name": "cat-generator",
"version": "1.0.0",
"...": "..."
}
npm install @acme/cat-generator
npm install cat-generator
Scopes
node_modules
./node_modules/@acme/cat-generator/
./node_modules/cat-generator/
Scopes
@ symbol complete for machine names on linux/unix/OSX
ls node_modules/\@acme/cat-generator/
Windows is fine with backwards slashes
dir node_modules\@acme\cat-generator\
Access
Public or Private
npm access restricted @acme/cat-generator
npm access public @acme/cat-generator
Access
Collaborator Access Control
npm access add read-write garrows @acme/cat-generator
# npm ERR! npm access ls isn't implemented yet!
NPM Shrinkwrap
npm shrinkwrap
cat npm-shrinkwrap.json
{
"name": "test",
"version": "0.0.0",
"dependencies": {
"ar-drone": {
"version": "0.3.3",
"from": "ar-drone@*",
"resolved": "https://registry.npmjs.org/ar-drone/-/ar-drone-0.3.3.tgz",
"dependencies": {
"buffy": {
"version": "0.0.4",
"from": "buffy@0.0.4",
"resolved": "https://registry.npmjs.org/buffy/-/buffy-0.0.4.tgz"
},
"simple-debug": {
"version": "1.1.2",
"from": "simple-debug@>=1.1.1 <1.2.0",
"resolved": "https://registry.npmjs.org/simple-debug/-/simple-debug-1.1.2.tgz"
}
}
},
"...":"..."
}
}
Organisations
- There is no organisation support yet
- Create a user and upgrade it later
- Every collaborator has to be paying???
Pricing
$7/Month/User (USD)
Good Luck. Payment is flakey.
Bonus Tip
npm link
cd code/acme/cat-generator
npm link
cd code/cat-farm
npm link @acme/cat-generator
Questions?
Glen Arrowsmith glen.arrowsmith@gmail.com twitter.com/garrows
P.S. Come work at IIX.net...
...we like pizza.
NPM Private Modules
By Glen Arrowsmith
NPM Private Modules
- 1,823