TWIL September 12th 2025
- Every time I try a major dependency upgrade (React, Node, etc.) it's an absolute lottery whether it'll be a 3 line or 3 day change
- Thank god for Typescript and (better than before) test coverage though, without them it'd be hopeless
- Caching is amazing until you have to troubleshoot a problem caused by cache
- If you're going to use a variable as part of a cache key, make sure it can't be undefined
- Yet another NPM social engineering attack made me go through all our dependencies to see if we need them
- Successfully removed 3, all of which were classic NPM packages
classnames, which... does string interpolation with a DSLsnake-case, which... does camel case to snake casecamelcase, which we already had our own better implementation of- I also finally cleared out
react-test-rendererin favour of unit tests that actually check something useful - Would've like to get rid of some others like
compare-versionswhich are only used in one place, but not trivial to replicate/vendor
Links
High Performance Browser Networking - Ilya Grigorik
Not something I'll use on a daily basis (or probably ever) at work, but still very interesting to see the most thorough possible answer to the interview question my skip-level asked me when I joined my current company. The amount (and fragility) of engineering which goes into something we all take for granted now is impressive.