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
340
How to choose the best npm module for your team?
2018/11/23
Presented at NodeFest
[email protected]
https://nodefest.jp/2018/
Sota Sugiura
November 23, 2018
Tweet
Share
More Decks by Sota Sugiura
See All by Sota Sugiura
20220926_セキュリティチームの今_for_Drs._Prime_公開用.pdf
sota1235
0
15
再発防止策を考える技術 / #phpconsen
sota1235
10
3.2k
Realtime Database for high traffic production application
sota1235
7
3.5k
Road to migrate JP Web as a microservice
sota1235
4
1.3k
インターフェース再入門 / Think Interface again
sota1235
6
9.7k
再発防止策を考える技術 #phpconfuk_rej
sota1235
1
880
Update around Firebase #io18
sota1235
3
3.9k
Introduction for sonarwhal
sota1235
0
380
JavaScriptユニットテストの理想と現実
sota1235
13
6.8k
Other Decks in Programming
See All in Programming
Writing Greener Java Applications
hollycummins
0
340
エンジニア向け会社紹介資料/engineer-recruiting-pitch
xmile
PRO
0
100
Azure Functionsをサクッと開発、サクッとデプロイ/vscodeconf2023-baba
nina01
1
340
Ruby Pattern Matching
bkuhlmann
0
610
Rust、何もわからない...#6発表資料
ryu19
0
130
Hono v3 - Do Everything, Run Anywhere, But Small, And Faster
yusukebe
4
130
Swift Expression Macros: a practical introduction
kishikawakatsumi
2
730
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
7
6.5k
NGK2023S - OCaml最高! スマホ開発にも使えちゃう?!
haochenxie
0
120
SwiftPMのPlugin入門 / introduction_to_swiftpm_plugin
uhooi
2
110
良質な技術記事を量産する秘訣 / #MeetsPro
jnchito
10
3.4k
Cloudflare Workersと状態管理
chimame
3
490
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
349
27k
Testing 201, or: Great Expectations
jmmastey
25
5.7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
32
6.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
109
16k
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
175
9.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
270
12k
Docker and Python
trallard
30
1.9k
How New CSS Is Changing Everything About Graphic Design on the Web
jensimmons
214
12k
Building a Scalable Design System with Sketch
lauravandoore
451
31k
StorybookのUI Testing Handbookを読んだ
zakiyama
8
3.2k
Three Pipe Problems
jasonvnalue
89
8.9k
Happy Clients
brianwarren
90
5.8k
Transcript
How to choose the best npm module for your team?
@sota1235
Title @sota1235 Sota Sugiura Backend
[email protected]
, Inc. “My dream is
to be JavaScript”
Title @sota1235 Sota Sugiura Backend
[email protected]
, 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