npm usage npm install vanilla-tools --save npm dependencies classlist.js nitro-tools q-promise polyfills document.currentScript Date.now() HTMLElement.closest() HTMLElement.addEventListener HTMLElement.removeEventListener window.matchMedia Element.prototype.matchesSelector