Node runs your .ts by deleting the types.
Some of it is not a type.
erasable — nothing left to delete
WHAT V8 RECEIVES
interface Reading { celsius: number }
function read(r: Reading): string {
return r.celsius.toFixed(1);
}
✓ runs, no build step
stack traces keep the line and column you wrote,
because the types are blanked in place
not erasable — it emits code
WHAT V8 RECEIVES
enum Scale { C, F }
interface Reading { celsius: number }
function read(r: Reading): string {
return Scale[Scale.C] + r.celsius.toFixed(1);
}
✕ dies at process start
ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX: TypeScript
enum is not supported in strip-only mode
find it while typing
tsc --erasableSyntaxOnly reports TS1294 on enums, const enums, value namespaces, parameter properties, import = require and the angle-bracket cast — the same six cases the demo watches Node refuse at startup