Breaking changes are labelled [BREAKING] below.
Added
- Throw
ERR_REQUIRE_ESM
when a file isrequire()
d which should be loaded as ESM (#1031) - Re-add
"exports"
declaration to package.json in backwards-compatible way, enablingnode --loader ts-node/esm
without file extension (#1028) - Allow specifying
"require"
option via tsconfig (#925) - REPL respects node's
NODE_NO_READLINE
environment variable (#1090) - Add a transpile-only entrypoint for ESM loader:
node --loader ts-node/esm/transpile-only
(#1102) @concision
Changed
- [BREAKING] Drops support for node versions < 10 (#1036)
Fixed
- [BREAKING] Re-add
realpath
, which should fix workflows that use symlinks, such aspnpm
, Lerna workspaces, or other mono-repo configurations (#970) - Compile files within
node_modules
when--skip-ignore
or--ignore
options are configured to allow it (#970) - Fix #884 by not adding all referenced files to
getSourceFileNames
/rootNames
(#999) - Fix #996: bump
projectVersion
every timegetSourceFileNames
changes, avoiding accidentally outdated typechecking (#998) - Fix #1051: pass transformers object to
ts.transpileModule
(#1054) @thetutlage - Fix #1060: use source maps for stack traces in ESM modules (#1087)
- Fix #1072: Respect
--experimental-specifier-resolution
coming fromNODE_OPTIONS
in ESM loader (#1085) @evg656e - Fix #1098: ESM loader should skip
.cjs
,.mjs
, and any unexpected file extensions (#1103) @concision
Docs
- Better explain how to compile imports, either CommonJS or using experimental ESM loader. Resolves #1075 (#1086)
Misc