생성된 JavaScript
require("pkg")
import x from "pkg"
module 모드가 남긴 로더 문법을 본다.
TypeScript 통과가 Node 실행을 보장하지 않는다. 세 결과물을 대조한다.
require("pkg")
import x from "pkg"
module 모드가 남긴 로더 문법을 본다.
package.json "type"
.mts / .cts / .mjs / .cjs
Node가 출력 파일을 어느 형식으로 읽는지 본다.
named / default / export =
@types · package types
선언이 낙관적이면 검사만 통과할 수 있다.
module.exports가 다르다.
types ↔ runtime 비교
require 출력과 ESM loader가 충돌한다.
emit ↔ loader 비교
환경부터 선택
Node는 node16/nodenext 계열, 번들러는 preserve/esnext와 bundler 해석을 맞춘다.