트랜스 파일과 컴파일을 같은 개념으로 사용하기도 하는데, 약간의 차이가 있다.

바벨의 경우 트렌스파일 단계는 자바스크립트를 다른 컴파일 언어와 비슷하게 느껴지게 만든다. 하지만 코드를 바이너리로 변환하는 것이 아니라는 점에서 전통적인 컴파일링과 바벨과는 다르다. 자바스크립트 트랜스파일은 코드를 더 많은 브라우저가 이해할 수 있는 다른 버전의 트랜스파일 구문으로 변환한다.

compile

컴파일의 경우는, 한 언어로 작성된 소스 코드를 다른 언어로 변환하는 것을 의미한다.

transpile

트랜스파일 의 경우는 한언어로 작성된 소스 코드를 비슷한 수준의 추상화를 가진 다른 언어로 변환하는 것을 말한다.

transpile을 compile 한다고 설명하는 것은 옳지 않은 설명인가?

저는 정답은 NO 라고 말하고 싶습니다.

transpiler는 다른 말로 source to source compiler 라고도 설명하기도 하며, 컴파일러의 일종으로 트랜스파일러를 설명하고 있습니다. 따라서 compile이라는 용어가 더 큰 범주에 속하게 되고, 그 안에 transpile이라는 개념이 있게 되는것이죠.

typescript

많이 언급되는 typescript 의 경우는 javascript로 변환되는데, 뭉뚱 그려 많은 사이트에서는 컴파일링 된다고는 하지만, 거의 같은 수준의 추상화가 되는것이라 더 정확히 말하면 트랜스파일링 된다고 말할 수 있습니다.

sass

sass는 웹에서 직접 동작할 수 없습니다. 따라서 전처리기로 작성 후 css로 compile (or transpile)하는 과정을 거쳐야 사용할수 있게 되는 것입니다. 다양한 방법으로 컴파일이 가능하지만 자바스크립트 개발환경에서는 node-sass를 활용하여 주로 컴파일을 하게 됩니다. 따라서 scss 코드를 작성할때 node-sass npm을 설치했던 것입니다.

Reference