TypeScript library for rich web application