Exactly. If it's that verbose and painful for a public API like Shopify/GitHub (where the 'flexibility' argument is strongest), it makes even less sense for internal enterprise apps.
We are paying that same complexity tax you described, but without the benefit of needing to support thousands of unknown 3rd-party developers.
yeah you can definitely point it at lodash (or any utility lib) and it’ll surface spots where it’s imported but never really used. but for “we could just rewrite this tiny helper ourselves” type stuff, knip won’t judge code quality. it’s more about flagging dead deps/files than saying “ditch lodash.” that call still needs a human.
Not supposed to be a judgemental question. Not every repo has to be a labor of love for sure. But how do you get to that place where there are 120 unused dependencies? I'm sure there are many different pathways where things get a bit out of control. People doing the equivalent of pip freeze? Or (too) many cooks?
in a decade+ old fintech monorepo w/ microfrontends + BFFs + mixed stacks/design systems (react, angular, express, apollo, chakra, tw) the cruft builds up fast.
every time we migrate stuff (like the recent shift to next.js), old apps/libs don’t always get cleaned out. after years and years it’s an npm landfill. knip was basically the bulldozer.
We are paying that same complexity tax you described, but without the benefit of needing to support thousands of unknown 3rd-party developers.