1. Если душнить, то никто не называет TypeScript компилируемым языком.
Вот например что написано на официальном сайте на самом верху:
TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.
2. У typescript есть компилятор tsc - его называют компилятором, потому что он по определению им является.
Но стоп, компиляция - это процесс перевода "человеческого" кода в машинный код.
Нет. Даже если брать определение из википедии, то будет:
In computing, a compiler is a computer program that translates computer code written in one programming language (the source language) into another language (the target language).
Никакой речи о "машинном коде" нет, как видишь)
А если совсем душнить, то языки не делятся на компилируемые и интерпретируемые - это детали реализации.
В теории для любого языка можно написать компилятор/транслятор или интерпретатор (и так действительно делают)
При этом ещё существует какая-то путанница в терминологии:
1. В русскоязычной литературе действительно принято компилятором называть такой транслятор, который транслирует код с языка высокого уровня в машинный или ассемблер.
(интересно, в каком тогда месте у таких авторов лежат компиляторы, которые компилируют в какой-нибудь промежуточный язык)
Получается, что компиляторы - это подмножество трансляторов.
2. В англоязычном интернете transpiler наоборот являются подмножеством compiler.
Compiler - такая программа, которая преобразует код с одного языка на другой, причём из одного файла может получиться N файлов.
А tanspiler - это такая программа, которая берёт исходный код на одном языке, и преобразует его в исходный код на другом языке, причём 1 файл преобразуется ровно в 1 файл.
Получается, что tsc - это транслятор/транспайлер, а причислять их к компиляторам или нет - это дискуссионный вопрос.