-g 는 global 로 내 컴퓨터 어디서든지 사용이 가능하게 한다. 붙이지 않으면 현재 프로젝트에서만
$ npm i typescript -g

nano.exe 를 설치, test.ts 파일을 만들고 console.log('hello');
$ nano test.ts

이 프로젝트 안에 있는 모든 TS 를 JS 로 변환하는 명령어. 뭔가 안된다.
$ tsc

이렇게 변환하기 전에 어떻게 컴파일 할지에 대한 기준이 있어야 한다. default 설정파일이 생기는 명령어
$ tsc --init

tsconfig.json 파일이 프로젝트의 root 에 생성된다.

다시 변환 명령어. 잘 된다. test.js 파일도 생성된다.
$ tsc

TS 파일을 변경하는 즉시 컴파일 되는 명령어. 매번 tsc 명령어를 입력하지 않아도 된다. w는 watch
$ tsc -w
global 설치를 지워보자.
$ npm uninstall typescript -g

해당 프로젝트에만 깔아보자.
일단 npm 을 설치.  package.json 파일이 생겼다.
$ npm init -y

TS 설치. -g 를 뺀다. node_modules 폴더가 생겼다. package-lock.json 파일이 생겼다.
$ npm i typescript

package.json 파일을 출력해준다. 맥에선 cat 명령어 사용
$ type package.json

다음과 같은 내용이 추가된다.
"dependencies": {
    "typescript": "^4.3.5"
  }

node_modules 파일 안에 TS 가 설치 된 것을 볼 수 있다.
$ dir node_modules

tsc 실행
$ npx tsc

물론 global 때와 마찬가지로 tsconfig.json 파일을 만들어줘야한다.
$ npx tsc --init

nano 를 열어서 console 등을 찍어본다. test.ts 생성
$nano test.ts

test.js 가 생겼다.
$npx tsc

물론 watch 모드도 가능하다.
$npx tsc -w

그렇지만.. 보통은 package.json 의 scripts 에 명령어를 등록해 놓는다.
다음과 같이 바꿔준다. tsc 파일은 node_modules/.bin 에 있지만 scripts 에서는 tsc 만 해줘도
알아서 찾아간다.

"scripts": {
    "build": "tsc",
    "build:watch": "tsc -w"
  },

다시 실행해보자. tsc 실행
$ npm run build

watch 실행
$ npm run build:watch