node_modules. Your React app doesn’t load on your browser, and it yields a cryptic error? Delete
Moreover, it’s common to favor tiny pages over larger ones with broader responsibilities. As a result, you might need to pull hundreds of dependencies to get your project running. At first, it might not seem problematic if the dependency manager does its job well. Still, the likelihood of a package not following semantic versioning well and causing upgrades to break the entire graph is very high. And this is common; someone tries to add a new package with
yarn add, Yarn decides to update some dependency requirements, and the next time you try to run your app, it doesn’t work. That, as a developer, is a terrible experience to go through.
Because of all of the above, no matter how shiny the tool or the framework you are developing is since it’s built on layers of indirection and muddy foundations, the user experience you are providing might go from being the best to be the worst. And that as a maintainer is frustrating too. You find users opening issues on your repository because they think they came across your projects and not the layers underneath.