Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
How to choose the best npm module for your team?
Sota Sugiura
November 23, 2018
Programming
9
290
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
Tweet
Share
More Decks by Sota Sugiura
See All by Sota Sugiura
再発防止策を考える技術 / #phpconsen
sota1235
10
3.1k
Realtime Database for high traffic production application
sota1235
7
3.4k
Road to migrate JP Web as a microservice
sota1235
4
1.3k
インターフェース再入門 / Think Interface again
sota1235
6
9.4k
再発防止策を考える技術 #phpconfuk_rej
sota1235
1
820
Update around Firebase #io18
sota1235
3
3.8k
Introduction for sonarwhal
sota1235
0
330
JavaScriptユニットテストの理想と現実
sota1235
13
6.6k
大量のコメントを捌く技術 / API Talk about mercari channel
sota1235
1
2.4k
Other Decks in Programming
See All in Programming
Loom is Blooming
josepaumard
3
540
Get Ready for Jakarta EE 10
ivargrimstad
0
2.4k
デュアルトラックアジャイル× Agile Testingから 見えてきたQAのミライ
atamaplus
0
200
WindowsコンテナDojo : 第1回 Visual StudioでWindowsコンテナアプリ作成
oniak3ibm
PRO
0
330
UI State Modeling 어떤게 좋을까?
laco2951
1
220
Groovy Roadmap
paulk
7
13k
【PHPerKaigi2022】Mongo に溜まった約1.6億件の記事データを BigQuery へ …
userkazun
0
110
dbtとBigQueryで始めるData Vault入門
kazk1018
0
180
Learning DDD輪読会#4 / Learning DDD Book Club #4
suzushin54
1
140
Monadic Java
mariofusco
4
260
heyにおけるSREの大切さ~マルチプロダクト運用の「楽しさ」と「難しさ」および今後の展望~
fufuhu
3
1.7k
CIでAndroidUIテストの様子を録画してみた
mkeeda
0
180
Featured
See All Featured
Music & Morning Musume
bryan
35
4.1k
Designing on Purpose - Digital PM Summit 2013
jponch
106
5.6k
4 Signs Your Business is Dying
shpigford
169
20k
Infographics Made Easy
chrislema
233
17k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
151
12k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
7
1k
How to Ace a Technical Interview
jacobian
265
21k
Documentation Writing (for coders)
carmenhchung
48
2.5k
Designing the Hi-DPI Web
ddemaree
272
32k
Art Directing for the Web. Five minutes with CSS Template Areas
malarkey
196
9.4k
Optimizing for Happiness
mojombo
365
63k
Bash Introduction
62gerente
596
210k
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