Your struggle is real, here is a thread on why I think it's all gonna be ok.
Anyway, the reality certainly is that there are a ton of ways to build things, and constantly adding more. It can be hard to see where the fundamentals are underneath.
It felt like nothing changed in 5 years, because fundamentally nothing did.
Frameworks are just someone's opinion on how to organize a handful of concepts and glue them together.
So what are these fundamentals?
Those APIs can do a lot of cool things, but the core hasn't really changed since 1999.
Understanding the ways to layout DOM elements (without frameworks, preprocessors etc.) is key #1 to not getting overwhelmed by new shit.
not even talking styles, just layout.
async is also where knowing about 2 lower level abstractions is really helpful: networking and CPUs...
Still, your program is asking one bean counter to count a bunch of beans as fast as it can...
The next skill is what let's you ignore 99% of the JavaScript ecosystem: isolation.
It's not just you asking the CPU for a favor...
If you can isolate EXACTLY what is being asked and by whom you can get to the bottom of any bug.
I believe this is a skill that can be actively developed.
Fundamentally you want to be able to tell if some unexpected behavior is coming from 1) the environment 2) the libraries 3) your code
(it can actually be any combo as well...)
Personally I struggle to understand the value of a pattern until I run into a problem where the pattern fits, usually after I've tried my own inelegant hacks.
But I believe that contributes to the exhaustion folks feel.
You may notice that when you get the chance to apply a pattern to a problem it can be quite satisfying. You may rush to create an npm package so others can benefit. And that's how we got here.
Once you have the fundamentals and a little taste it's pretty easy to benefit from a nice idea and ignore all the noise.
I bet that last sentence applies to any human creative endeavor...
♥️