Update dependency ts-node to v10
This MR contains the following updates:
Package | Change | Age | Adoption | Passing | Confidence |
---|---|---|---|---|---|
ts-node (source) | 9.1.1 -> 10.2.0 |
Release Notes
TypeStrong/ts-node
v10.2.0
Questions about this release? Ask in the official discussion thread: #1423
Added
- Adds top-level await support to REPL (#1383, #245) @ejose19
- Setting
"pretty": false
disables pretty formatting of diagnostics even when stdout is a TTY (#1418, #1420) @elevatebart- Applies to ts-node's
pretty
option, not to be confused with TypeScript'spretty
option
- Applies to ts-node's
- Ignores diagnostics which are annoying in an interactive REPL (#1396, #1120, #729, #850, #469)
- For example, when you input
const foo = 1
in the REPL,foo
is unused. We ignore the resulting diagnosticfoo is declared but its value is never read
- Diagnostics are only ignored in the REPL
- Diagnostics for non-REPL files imported by the REPL will still be shown
- For example, when you input
- Logged stack traces are colorized to match vanilla node's behavior (#1412, #1405)
Fixed
- Fix #1397: SWC transpiler should emit ECMAScript imports and exports when configuration dictates (#1409, #1397)
- Enables SWC transpiler to be used alongside
--loader
- Enables SWC transpiler to be used alongside
- Fix #1403: source-map-support breaks rendering of node errors (#1405, #1403)
- Fix #1410: rendering of async stack frames should include
async
annotations (#1405, #1410) - Fix #1411: wrong order of process 'exit' event and logging unhandled exception (#1405, #1411)
- Fix #1419: Should not throw
require.resolve
error when@types/node
peerDependency is missing (#1419, #1422)
https://github.com/TypeStrong/ts-node/milestone/2
v10.1.0
Questions about this release? Ask in the official discussion thread: #1390
Added
- Add
"moduleType"
option to override module type -- CommonJS or ECMAScript -- on select files. (docs) (#1342, #1371, #1376)- Useful when a configuration file, for example
webpack.config.ts
, must execute as CommonJS but the rest of the project is ESM - selectively overrides
package.json
"type"
andtsconfig.json
"module"
- akin to
.cjs
and.mjs
extensions, but for.ts
and.tsx
files - thanks to @jayaddison for help on test coverage
- Useful when a configuration file, for example
- Implement
"extends"
support for"ts-node"
options intsconfig.json
(#1328, #1356)-
"ts-node": {}
options will be parsed from extended tsconfigs - allows sharing and deduplicating ts-node configuration
-
- Un-deprecate
scope
andscopeDir
; add both to CLI andtsconfig.json
options; un-deprecateTS_NODE_SCOPE
env var; addTS_NODE_SCOPE_DIR
env var (docs) (#1346, #1367)
Changed
- Improve error messages thrown by native ESM loader hooks (#1357, #1373) @tars0x9752
- messages more closely match node; are more descriptive
- Emit
"ts-node"
object at the top of--showConfig
output instead of the bottom (#1355)
Fixed
- Fix #1282: Set correct globals in
[stdin]
,[eval]
, and<repl>
contexts (#1333)- More closely align ts-node's behavior with vanilla node
- Affects the interactive REPL, piping to stdin, and
ts-node -e
- Matches node's behavior for globals
__filename
,__dirname
,module
and sub-fields ofmodule
,exports
, and builtin module aliasesfs
, etc
- Fix #1343: Set swc option
keepClassNames
totrue
(#1344) - Fix: #1387: REPL outputs 'use strict' after first empty line of input (#1388) @ejose19
Docs
https://github.com/TypeStrong/ts-node/milestone/3
v10.0.0
Questions about this release? Ask in the official discussion thread: #1337
Breaking changes are prefixed with [BREAKING]
Added
- Adds
--show-config
to log the resolved configuration (docs) (#1100, #1243) - Bundle and re-export @tsconfig/node* configurations for convenience (docs) (#1202, #1236, #1313)
- Default to appropriate @tsconfig/node* configuration based on node and typescript versions (docs) (#1202, #1236, #1313)
- Automatically reference @types/node; use globally-installed @types/node if not locally installed (#1240, #1257)
- Add
swc
integration and new--transpiler
option to use third-party transpilers for a massive speed boost on large codebases (docs) (#779, #1160) - Add
scopeDir
API option (docs) (#1155) - Add
projectSearchDir
API option (docs) (#1155) - Add
--cwd-mode
andts-node-cwd
to resolve config file relative to cwd, not entrypoint script (#1155)
Changed
-
[BREAKING] Make
--script-mode
default behavior; resolve tsconfig relative to entrypoint script instead of cwd (#949, #1197, #1155)- In most cases this change will have no noticeable effect
- Primarily benefits portable shell scripts on your
$PATH
, becausets-node
will respect the script's localtsconfig.json
- Use
--cwd-mode
orts-node-cwd
if you need legacy behavior
-
[BREAKING]
ignore
rules evaluate relative totsconfig.json
directory, otherwisecwd
(#1155) - [BREAKING] Remove support for node 10. Minimum supported version is node 12 (#1312)
- Rename
--dir
to--cwd
; renameTS_NODE_DIR
toTS_NODE_CWD
(#1155)-
--dir
andTS_NODE_DIR
are deprecated but still parsed for backwards-compatibility -
--dir
effectively changed the working directory ofts-node
; renaming makes this behavior more obvious
-
Deprecated
Removed
-
[BREAKING] Internal APIs removed from type declarations (#1242)
- Removed
DEFAULTS
,normalizeSlashes
,parse
,split
- No features were removed
- This will only affect consumers of
ts-node
's programmatic API
- Removed
Fixed
-
[BREAKING] Fix #1229 and #1235: always throw
ERR_REQUIRE_ESM
when attempting to execute ESM as CJS, even when not using--loader ts-node/esm
(#1232)- This aligns our behavior with vanilla
node
- This aligns our behavior with vanilla
-
[BREAKING] Fix #1225:
compiler
is loaded relative totsconfig.json
instead of entrypoint script (#1155)- In most cases this change will have no noticable effect
- Fix #1217: REPL not always using passed stdout and stderr (#1224)
- Fix #1220:
ts-node ./index
may execute the wrong file extension because tsconfig search poisons therequire.resolve
cache (#1155) - Fix #1322: Sourcemaps fail for filenames with spaces or other characters which are percent-encoded in URLs (#1160, #1330)
- Fix #1331: Resolution of node builtin modules in ESM loader fails on node >=12.20.0, <13 (#1332)
Docs
- New documentation website: https://typestrong.org/ts-node
- README is generated to match the website
- Added page explaining CommonJS vs ESM
- Added page with Performance advice
- Added Troubleshooting page
- Organized and added to "Recipes" section with third-party tool integrations
- Added TypeDoc-generated API docs
- Work was spread across multiple tickets: #1207, #1213, #1221, #1228, #1244, #1250, #1294, #1295, #1296, #1297
- Thanks to these contributors for MRs which improved our documentation
- add troubleshooting tip for syntax errors (#1201) @jedwards1211
- Clarify handling of tsx/jsx file extensions (#1179) @NaridaL
- Added
CONTRIBUTING.md
to document the codebase and our development workflow
Configuration
-
If you want to rebase/retry this MR, check this box.
This MR has been generated by Renovate Bot.