TypeScript execution and REPL for node.js
Fixed
tsconfig.json
file not found on latest TypeScript version (https://github.com/TypeStrong/ts-node/pull/2091)Fixed
--esm
--esm
are unaffectedhttps://github.com/TypeStrong/ts-node/compare/v10.9.0...v10.9.1 https://github.com/TypeStrong/ts-node/milestone/18?closed=1
Added
--project
accepts path to a directory containing a tsconfig.json
(#1829, #1830) @cspotcode
experimentalTsImportSpecifiers
option which allows using voluntary .ts
file extensions in import specifiers (undocumented except for API docs) (#1815) @cspotcodeFixed
child_process.fork()
would erroneously execute the parent's entrypoint script, not the intended child script (#1812, #1814) @devversion"react-jsx"
and "react-jsxdev"
in swc transpiler (#1800, #1802) @cspotcoderepl.evalCode()
with code not ending in a newline would not update the typechecker accordingly (#1764, #1824) @cspotcodehttps://github.com/TypeStrong/ts-node/compare/v10.8.2...v10.9.0 https://github.com/TypeStrong/ts-node/milestone/16?closed=1
Fixed
nyc
code coverage reports had incorrect pathshttps://github.com/TypeStrong/ts-node/compare/v10.8.1...v10.8.2 https://github.com/TypeStrong/ts-node/milestone/15?closed=1
Fixed
https://github.com/TypeStrong/ts-node/compare/v10.8.0...v10.8.1 https://github.com/TypeStrong/ts-node/milestone/14
Questions about this release? Ask in the official discussion thread: #1767
Added
module=NodeNext
, module=Node16
, .mts
, .cts
, .mjs
, and .cjs
file extensions (#1414, #1694, #1744, #1745, #1727, #1717, #1753, #1757) @cspotcode
experimentalResolver
(docs)experimentalResolver
, will be enabled by default in a future version (docs)import "./foo.js"
will execute foo.ts
See also: TypeScript issue #37582
import "./foo.ts"
experimentalSpecifierResolution
(#1727, #1753) @cspotcode
--experimental-specifier-resolution
(Node docs)tsconfig.json
for convenience, to avoid the CLI flagdiagnostics
property to TSError
, with array of TypeScript diagnostic objects from the compiler (API docs) (#1705, #1706) @paulbrimicombeChanged
experimentalResolverFeatures
to experimentalResolver
(docs) (#1727) @cspotcodeshortCircuit: true
(#1714, #1715) @cspotcodeFixed
.type
command was not showing any type information when using TypeScript nightly builds (#1761, #1762) @cspotcodepreferTsExts
combined with third-party transpiler hooks could disrupt nyc
code coverage (#1755) @cspotcodefile://
URLs in stack traces did not always use percent-encoding (#1738, #1726, #1729) @cspotcodeDocs
--project
is -P
, not -p
(#1731, #1734) @lobsterkatiehttps://github.com/TypeStrong/ts-node/compare/v10.7.0...v10.8.0 https://github.com/TypeStrong/ts-node/milestone/12
Questions about this release? Ask in the official discussion thread: #1680
Added
--esm
flag, option, and ts-node-esm
binary (#1258, #1655)
esm
support; no need for --loader
nor NODE_OPTIONS
#!/usr/bin/env ts-node-esm
, run ts-node --esm
, or add to your tsconfig.json: "ts-node": {"esm": true}
Changed
--experimental-json-modules
Fixed
https://github.com/TypeStrong/ts-node/compare/v10.6.0...v10.7.0 https://github.com/TypeStrong/ts-node/milestone/11
Questions about this release? Ask in the official discussion thread: #1666
Added
mocha
with --loader ts-node/esm
, where previously node would throw [ERR_UNKNOWN_FILE_EXTENSION]
--loader
with an extensionless entrypoint causes this error nodejs/node#33226mocha
, have an extensionless entrypoint. (source, source)NODE_OPTIONS=--loader ts-node/esm
with these tools causes this error. mochajs/mocha#4645moduleTypes
overrides (#1650)Fixed
--swc
and other third-party transpilers did not respect moduleTypes
overrides (#1651, #1652, #1660)process.execArgv
(#1657, #1658)
child_process.fork()
, since it uses process.execArgv
to create a similar child runtime.child_process.fork()
will preserve both node flags and ts-node
hooks.https://github.com/TypeStrong/ts-node/compare/v10.5.0...v10.6.0 https://github.com/TypeStrong/ts-node/milestone/9
Questions about this release? Ask in the official discussion thread: #1634
Added
transpileOnly
-style transformation.isolatedModules
. This will only affect rare cases such as using const enums
with preserveConstEnums
disabled.swc: true
convenience option (docs) (#1487, #1536, #1613, #1627)
"swc": true
or --swc
will use swc for faster execution@swc/core
or @swc/wasm
dependencies from your project before falling-back to global installations (#1613, #1627)
traceResolution
output (docs) (#1128, #1491) @TheUnlockedts-node -vvv
also logs absolute paths to ts-node
and typescript
, to make it more obvious when you're accidentally using globally-installed versions (#1323, #1620)Changed
v8-compile-cache-lib
to load typescript
--camelCase
and --hyphen-case
for all CLI flags; update documentation to use --camelCase
(#1598, #1599)
TSError
diagnosticText
property non-enumerable to prevent it from being logged below the stack (#1632)Fixed
undefined
for all inputs after the first when using swc transpiler (#1478, #1580, #1602)--showConfig
output, emit accurate moduleTypes
paths resolved relative to the tsconfig.json
which declared them (#1389, #1619)ts-node --help
output (#1597, #1600)tsconfig.schemastore-schema.json
(#1425, #1618)"use strict"
emit in SWC transpiler (#1531, #1537)ERR_UNKNOWN_FILE_EXTENSION
constructor; was throwing ERR_UNKNOWN_FILE_EXTENSION is not a constructor
(#1562) @blueloversenv -S
flag for shebangs (docs) (#1448, #1545) @sheeit, @cheeskipIgnore
when you want to compile files in node_modules (docs) (#1553) @webstrandmoduleTypes
on options page (docs) (#1630, #1633)experimentalResolverFeatures
option, but it does not do anything yet (#1514, #1614)https://github.com/TypeStrong/ts-node/compare/v10.4.0...v10.5.0 https://github.com/TypeStrong/ts-node/milestone/4
Added
Changed
creatEsmHooks
(API docs) (#1506, #1529)Fixed
https://github.com/TypeStrong/ts-node/compare/v10.3.1...v10.4.0 https://github.com/TypeStrong/ts-node/milestone/8