The good news is the JS community is filled with young developers with a lot of enthusiasm and new ideas. The bad news is young developers tend not to have the advantage that comes with experience or a respect for the history of previous implementations.
I'm often horrified by some of the JavaScript I see - including very popular frameworks that developers "love" written by engineers people respect. The complexity is frightening, and every month there's some new word or phrase describing a programming concept I've simply never seen before.
Maybe some of it is necessary - an honest attempt to satisfy the needs of a browser client, rather than a server. But my gut tells me this over-complexity is the result of not yet finding the answer to a question, or having the burden of satisfying backwards compatibility to last week's crap idea.
A rich, vibrant ecosystem is great, but I would love to see a more stable, thoughtful one as well. I'd love to see a community as committed to maintaining things that work, as they are to creating new things. I'd love to see young developers put a premium on using what is proven, not just what is exciting.
In other words, it's up to all of us to be careful with our votes. In some societies, you "vote" in the marketplace with the money that you spend. In our world of engineering, we cast a vote every time we star a repo, create a new fork, issue a pull request, or make a GET request to pull down the library into our project. Take the time to honestly assess how good something is, and whether you think it'll still be around in 5 or 10 years. It's really important we take the time to craft wonderful software.