Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Private npm - What can you do with your own npm...
Search
Szabolcs Szabolcsi-Toth
November 19, 2014
Programming
0
100
Private npm - What can you do with your own npm registry
My talk for the NodeBp meetup, November 2014
Szabolcs Szabolcsi-Toth
November 19, 2014
Tweet
Share
Other Decks in Programming
See All in Programming
0626 Findy Product Manager LT Night_高田スライド_speaker deck用
mana_takada
0
140
ペアプロ × 生成AI 現場での実践と課題について / generative-ai-in-pair-programming
codmoninc
0
220
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
4
1k
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
680
AIコーディング道場勉強会#2 君(エンジニア)たちはどう生きるか
misakiotb
1
270
Create a website using Spatial Web
akkeylab
0
310
XP, Testing and ninja testing
m_seki
3
220
Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた
highu
0
110
C++20 射影変換
faithandbrave
0
560
Is Xcode slowly dying out in 2025?
uetyo
1
240
PipeCDのプラグイン化で目指すところ
warashi
1
230
Go1.25からのGOMAXPROCS
kuro_kurorrr
1
840
Featured
See All Featured
Done Done
chrislema
184
16k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Adopting Sorbet at Scale
ufuk
77
9.4k
The Invisible Side of Design
smashingmag
300
51k
Speed Design
sergeychernyshev
32
1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
Being A Developer After 40
akosma
90
590k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
500
Building Flexible Design Systems
yeseniaperezcruz
328
39k
GraphQLとの向き合い方2022年版
quramy
49
14k
For a Future-Friendly Web
brad_frost
179
9.8k
Transcript
PRIVATE NPM What can you do with your own npm
registry
HELLO I'm Szabolcs Szabolcsi-Toth Senior Front-end Engineer @ Ustream @_Nec
NPM
NPM Public and open ecosystem of open source modules Has
several public mirrors
NPM IS GREAT but "what if" you want to do
sensitive stuff you want to do proprietary stuff you want to use npm, but internally distribute modules you don’t trust availability
PRIVATE NPM REGISTRY
“Don’t run your own registry, use ours” Laurie Voss
PRIVATE NPM REGISTRIES Full mirror Caching GBytes of data Only
what needed
OUR USECASE AT USTREAM
SYSOP REQUIREMENT “what happens when an npm install dies during
a major deployment?” “we're f**ked”
SINOPIA github.com/rlidwka/sinopia
SINOPIA caching registry use with chef/docker simple storage
WORKING WITH SINOPIA
AUTHENTICATION simple adduser publisher/reader rights since npm 1.5-alpha (v2.0.0) users
can scope credentials to different registries
PER-PROJECT CONFIGURATION .npmrc per project registry configuration since v1.4.11 package.json
use ‘publishConfig’
PUBLISH - UNPUBLISH n p m p u b l
i s h - - r e g i s t r y h t t p : / / y o u r - o w n . r e g i s t r y . u r l m o d u l e n a m e n p m u n p u b l i s h - - f o r c e - - r e g i s t r y h t t p : / / y o u r - o w n . r e g i s t r y . u r l m o d u l e n a m e
SECURITY Ours only accessible from a well defined domain /
ip pool
USECASES
YOU CAN DO... private modules (obviously)
YOU CAN DO... Versioned modules for deployment Configuration management and
distribution
YOU CAN DO... Not just backend modules Front-end module registry
YOU CAN... Prepare for the open source world Test, use,
then go open source Get used to the tools, workflow and mindset
EXAMPLES
CONFIGURATION MANAGEMENT AND DISTRIBUTION This is how we distribute configurations
for our node apps
BUILD & DEPLOYMENT GIT FEATURE BETA LIVE FEATURE BETA LIVE
BUILD & DEPLOYMENT GIT NPM FEATURE BETA LIVE FEATURE BETA
LIVE MODULE v0.2.4 MODULE v0.1.2 MODULE v0.2.1 MODULE v0.1.1
BUILD & DEPLOYMENT GIT NPM FEATURE BETA LIVE FEATURE BETA
LIVE MODULE v0.2.4 MODULE v0.1.2 MODULE v0.2.1 MODULE v0.1.1
BUILD & DEPLOYMENT GIT NPM FEATURE BETA LIVE FEATURE BETA
LIVE MODULE v0.2.4 MODULE v0.1.2 MODULE v0.2.1 MODULE v0.1.1
BUILD & DEPLOYMENT GIT NPM FEATURE BETA LIVE FEATURE BETA
LIVE MODULE v0.2.4 MODULE v0.1.2 MODULE v0.2.1 MODULE v0.1.1
BUILD & DEPLOYMENT GIT NPM FEATURE BETA LIVE FEATURE BETA
LIVE MODULE v0.2.4 MODULE v0.1.2 MODULE v0.2.1 MODULE v0.1.1
BUILD & DEPLOYMENT GIT NPM FEATURE BETA LIVE FEATURE BETA
LIVE MODULE v0.2.4 MODULE v0.1.2 MODULE v0.2.1 MODULE v0.1.1
CONFIGURATION MANAGEMENT AND DISTRIBUTION Works with Modules, or even better:
Configurations
FRONT-END MODULES Internal ‘bower’ using our private npm registry Flat
dep tree cli, or package.json This is also a problem at npm
FINALLY
DRAWBACKS Feature lag Deal with securing and hosting and backup
THE FUTURE npm is working on this! scoped packages (prefixed
with your org)
NPME npme (as enterprise) use it like npm you host
it selective mirror OAuth2, more is coming developed by npm - no feature lag still in trial
NPME It's not free Support npm, use a good solution
no price information yet
THANK YOU! @_Nec