Listen to this story
You don’t have to be a master software architect, but at least perform some basic planning and put pieces together without massive layers of tooling. Expecting frameworks and other tools to do it for you isn’t very impressive.
Keep the main package registry (NPM, yarn) from being the only source of your dependencies. It may crash, go down, lose the packages etc. On the other hand, you may be unable to reach it, for example, due to network issues. Avoid packages registries being a single point of failure for your project. Use dedicated proxies or local repositories to minimize these risks.
All the bits of data managed in the app as the user interacts with it is app state. With any app, there is always state. This is likely the reason why beginners don’t grasp it. State is in so many places that it is hard to define it precisely. But once you see examples of it and know what it is, you realize it is everywhere.
Generally, not caring enough about memory management doesn’t produce noticeable consequences regarding “old-fashioned” web pages. But the SPA (Single Page Application) advancement encourages being attentive to memory-related coding practices. If the application starts using more and more memory, it can seriously affect the performance and even crash the browser’s tab.
The NPM website is great. You can search among all public packages and get various information such as documentation, GitHub link, and general data (version, number of issues, date of last publication). However, more than this might be needed to choose the right package that suits your project. You would need a complete overview to be more efficient in your choice.
Choosing the right package from an endless number of modules can be overwhelming. For example, you would like to know if a package is popular enough, well-maintained, supported by the community, and completely secure.