Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Да, там и само ядро описано в 2005 стиле. Своя реализация require.js, сплошные var да for in.
Новые возможности JS, не используются из-за повышенной совместимости (в скором будущем), просто опыт показал у некоторых заказчиков бывают требования на IE
Но… ведь есть babel, который следует не просто хотелкам, а настоящему и активно развивающемуся стандарту.
Более того, код самой библиотеки имеет смысл писать на TypeScript. Ведь библиотека должна быть пуленепробиваемой, а типизация очень хорошо помогает самим авторам, да еще и разработчикам, которые случайно не ту переменную передают.
А у вас проверка на типы реализована еще и слабо:
https://bitbucket.org/erlyeagle/friendlyopenspace/src/692888a7d2d5ff5e4071374ca6a53d5485e65129/NRender/Render.js#lines-99
А если передать туда null, который тоже typeof null === 'object', все сломается, да?
Friendly Open Space JS: Рендеринг на стороне клиента и создание враппера