tagshift: из <template> — в компонент
Маленькая библиотека, которая превращает обычный <template> в класс: плейсхолдеры ${props} в тексте и атрибутах, слоты по правилам Shadow DOM, а render() обновляет тот же самый элемент на месте. Без зависимостей, без сборки и без виртуального DOM.