Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
How to choose the best npm module for your team?
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Sota Sugiura
November 23, 2018
Programming
680
9
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How to choose the best npm module for your team?
2018/11/23
Presented at NodeFest 2018@Tokyo
https://nodefest.jp/2018/
Sota Sugiura
November 23, 2018
More Decks by Sota Sugiura
See All by Sota Sugiura
内製したSlack Appで頑張るIncident Response@Waroom Meetup #1 / Incident Response with Slack App in 10X
sota1235
0
2k
20220926_セキュリティチームの今_for_Drs._Prime_公開用.pdf
sota1235
0
220
再発防止策を考える技術 / #phpconsen
sota1235
10
4.1k
Realtime Database for high traffic production application
sota1235
7
4.3k
Road to migrate JP Web as a microservice
sota1235
4
1.8k
インターフェース再入門 / Think Interface again
sota1235
6
11k
再発防止策を考える技術 #phpconfuk_rej
sota1235
1
1.4k
Update around Firebase #io18
sota1235
3
4.5k
Introduction for sonarwhal
sota1235
0
660
Other Decks in Programming
See All in Programming
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
360
FreeBSDでZabbixを動かす
kenkino
0
330
一人だけ、Kiroが静止する日
hideg
0
130
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
5k
Building an Out-of-Order CPU
latte72
1
800
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
3.2k
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
150
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
230
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
130
Verilogで学ぶCPU自作入門.pdf
uyuki234
8
3.4k
AI活用は、個人から組織へ|マルチプレイヤーエージェントハーネス「QM」の社内活用事例 / AI use is moving from individuals to orgs
rkaga
1
240
App Intentsのビルドプロセスを支える技術
kntkymt
0
450
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
430
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
510
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Faster Mobile Websites
deanohume
310
32k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
390
Building Flexible Design Systems
yeseniaperezcruz
330
41k
The untapped power of vector embeddings
frankvandijk
2
1.9k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
We Are The Robots
honzajavorek
0
380
The Limits of Empathy - UXLibs8
cassininazir
1
690
Transcript
How to choose the best npm module for your team?
@sota1235
Title @sota1235 Sota Sugiura Backend Engineer@Mercari, Inc. “My dream is
to be JavaScript”
Title @sota1235 Sota Sugiura Backend Engineer@Mercari, Inc. “My dream is
to be JavaScript”
Q. How many npm module are you using?
None
197
197 = 197 decisions
Q. Can you explain a reason behind every npm module
you chose?
Let’s think! https://jp.freeimages.com/photo/thinking-1387695
http://www.modulecounts.com/
It’s like a jewelry box! Let’s choose!
Wait!! Can you explain the Goal you set?
Using a npm module is not Goal Goal is to
solve the problem
Define the Goal Think about the candidates Decide what to
use Solve the problem
Define the Goal Think about the candidates Decide what to
use Solve the problem
Define the Goal • There are still many problems to
solve • We always use some tool to solve that problem
Define the Goal Think about the candidates Decide what to
use Solve the problem
Search a npm module • www.npmjs.com • awesome-* pages •
Recommendation from other engineers • Googling
Define the Goal Think about the candidates Decide what to
use Solve the problem
Select from candidates • When you have multiple choices, you
need to compare them • There are a lot of points to do that
• Star count • API design • Size of community
• Performance • Documentation • Test coverage • Quality of code • and so on...
https://jp.freeimages.com/photo/cat-1537181
Again, the Goal is... • Let’s decide the priority by
thinking about the Goal • If you will use it for prototyping, not necessary to mind test coverage • If you will use it for only development environment, file size won’t be a problem
OK, let’s use that!
Wait!! Did you think about the cost to maintain that?
Using a npm module is not free :( • It
takes time to maintain • Managing vulnerability/version • If maintenance stops, you will need to fork it
Think about Pros/Cons everytime • We SHOULD think about Pros/Cons
everytime • What is the benefit to use that? • What is the problem to use that? • If Pros won, let’s use that!
Define the Goal Think about the candidates Decide what to
use Solve the problem
None
Q. Can you explain a reason behind every npm module
you chose?
Conclusion
Make it better! • You should be able to explain
the reason • It’ll be a good experience even if you made a wrong decision
Thank you @sota1235 JavaScript lover