Modularity and Application Design
Now that we know what npm is -- a fair question is "why npm?"
Modularity
Modularity is a software architecture concept that pertains to the degree to which a system's components may be separated and recombined.
Benefits of modularity include:
- easier to maintain
- easier to test
- easier to reason about
Problems:
- locating and using modules is difficult
- updating modules is difficult