I'm a proponent of getting your basics very polished, and learning concepts instead of tools. So this list won't be a list of specific libraries. It's most important to be an independent programmer, able to build your own tools instead of depending on others. And you really don't need to know much in order to build basic tools.
- Learn basic ES5, like functions, arrays, objects. MDN is often enough
- Write raw callback-based async without any tools and try to manage it yourself. Focus on gaining an intimate understanding of the problem, not the solution
- Functional collections, this is a great resource http://reactivex.io/learnrx/ (not necessarily just RxJS) and you'll happen to learn how to manage callback hell plus array helpers
- Use jQuery or document.querySelector and addEventListener to build some apps
- Read the source code of small frameworks like Backbone, Choo, Yo-yo. Don't be afraid of reading source code. These are small frameworks, so it really doesn't hurt to look at them
After that, you'll have some experience with the fundamental building blocks in JS, and the common problems (not the solutions) we usually encounter in frontend dev.