add compilation system for TypeScript