Como construir um compilador de TypeScript?

Basicamente, da mesma forma que vc escreve um compilador de qualquer outra linguagem. Mas não é tão simples assim, dê uma lida aqui para ter uma ideia do tamanho da tarefa (e do quanto precisa estudar só pra começar).

Depois, para se "inspirar", pode se basear em um já existente, pra ver como é, pegar ideias, etc.