typescript compilation