First, I'm not sure something like this should even be 38kb, it just feels incredibly oversized for what it is. I am glad they switched to rollup in the past. I'm also unsure what is actually needed from the polyfills.
Overall, it's just a large library for what it does and could probably be hand-crafted for under 5kb uglified.
(note: I'm not the one who downvoted)
I tend to prefer more functional approaches to work in JS... keeping libraries separated from context and data object instances. I'm not a fan of OOP in general, and feel it leads to confusing spaghetti code.
Most of the examples would be easier to reason with using simpler objects, workflow functions and maybe something like IxJS as needed.
---
NOTE: iirc, the downvote wasn't me.
Like most auth0 articles, the content is specific to their service. That said, using a public/private key jwt for your API services is good practice. As is short-lived tokens with a refresh mechanism in place, and api checks to ensure tokens are actually short-lived. Revocation is harder than ensuring short token lifespans in the first place and negates a lot of the value of JWT.
My biggest critique is the min version (not gzipped) is pretty heafty at 83kb. Might be worth running through closure compiler to see if it can be brought down further. Using rollup over webpack may also help a bit. the @babel/preset-env should also specify a minimum browser version... IE11 would probably be the most appropriate baseline. though, as mentioned rollup may be better than webpack+babel for a library like this.