The Unbearable Lightness of Node Modules
summary
Compares ImageMagick/GM (wrapper requiring a system install) with sharp and finds sharp sufficient for cropping/overlay tasks, builds a souvenir image successfully and notes GM/GraphicsMagick wrappers total ~260k monthly downloads while sharp is ~150k installs last month and requires no external brew install imagemagick dependency. Tests ORMs by building a JavaScript drag‑queen‑name generator: Sequelize auto-creates tables and shows ~700k monthly downloads, Bookshelf is lighter but has maintenance uncertainty and thus feels risky for production.
AI-written summary · about
chapters (28)
- 0:00Intro
- 0:19Michelle Garrett
- 1:01How can we be responsible curators of our node_modules?
- 1:18too many dependencies
- 1:59Dependencies are bad?
- 2:13organic vegan javascript
- 2:23How do I know if a package is good enough to npm install?
- 3:47We put too much emphasis on size over other factors for server side modules.
- 4:39Technical costs are real, but consider the human cost of adding a dependency.
- 5:10Installing a module raises the barrier to entry for your code base.
- 5:35There are problems a wider community of people can solve that you or your team can't (or shouldn't) tackle alone.
- 6:04(Of course this is different for every project).
- 6:32How intuitive is the API?
- 9:04Let's compare some packages.
- 11:49GraphicsMagick and Image Magick for Node
- 14:35brew install ImageMagick
- 15:32high performance Node.js image processing
- 16:01Sharp does not require you to install external dependencies
- 17:12Imagemagick or Sharp?
- 18:37ORMs (aka Object Relational Mappers)
- 21:23The Event Loop Princess
- 21:59Lightweight ORM for Node.js, built on top of the Knex SQL query builder.
- 22:17Bookshelf doesn't force you to describe the schema of your tables.
- 22:48Bookshelf doesn't autogenerate tables.
- 23:07Bookshelf lets you drop down to the raw Knex interface for custom queries.
- 24:38Sequelize or Bookshelf?
- 25:18The popular module wins!
- 25:47What I learned: . For server-side modules, size is not as important as you think it is. . Dependencies have a technical and human cost, and you should consider both. • Well-maintained projects are almost always the better option.
related talks
02h 24mHow to Node.js - Part 2
18mNode.js Module: I Choose You!
31mWhat's Going on Inside the Node_Modules Folder
22mThe memory footprint of node modules
30mWhat's Really Going on Inside Your Node_Modules Folder
47mBlack Clouds and Silver Linings in Node.js Security
21mHealthy and Fit Wombats for the Greater Good!
30mThe State of Node.js 2025
