TypeStrong/ts-node
### [`v10.3.0`](https://togithub.com/TypeStrong/ts-node/releases/v10.3.0)
[Compare Source](https://togithub.com/TypeStrong/ts-node/compare/v10.2.1...v10.3.0)
Questions about this release? Ask in the official discussion thread: [#1507](https://togithub.com/TypeStrong/ts-node/issues/1507)
**Added**
- Declare types for node builtin modules within REPL so you do not need to import them ([#1424](https://togithub.com/TypeStrong/ts-node/issues/1424), [#1500](https://togithub.com/TypeStrong/ts-node/issues/1500))
- Node REPL exposes builtin modules as globals; typechecker now understands this
- Typechecking should no longer raise errors when using builtins without first importing
- For example: `util.promisify(setTimeout)(1000)` or `fs.readFileSync('example.txt')`
- Add `createEsmHooks()` function to create ESM loader hooks ([API docs](https://typestrong.org/ts-node/api/index.html#createEsmHooks)) ([#1439](https://togithub.com/TypeStrong/ts-node/issues/1439)) [@nonara](https://togithub.com/nonara)
- Can be used to compose our loader hooks with another loader or additional logic
- `register()` accepts a ts-node `Service` ([API docs](https://typestrong.org/ts-node/api/index.html#register)) ([#1474](https://togithub.com/TypeStrong/ts-node/issues/1474))
- `register(options)` is still supported; no breaking changes
- Add support for Node.js's new loader hooks API ([#1372](https://togithub.com/TypeStrong/ts-node/issues/1372), [#1457](https://togithub.com/TypeStrong/ts-node/issues/1457), [#1007](https://togithub.com/TypeStrong/ts-node/issues/1007)) [@jonaskello](https://togithub.com/jonaskello)
- Node.js has changed their loader hooks API
- ts-node is compatible with all node versions, detects your node version and exposes the correct hooks API
- Node's new API currently only available in node v17 nightly builds
- Node will eventually backport the changes to node 16, and may also be backport to 14 and 12
- Add `--emit` to `--help` output ([#1400](https://togithub.com/TypeStrong/ts-node/issues/1400), [#1484](https://togithub.com/TypeStrong/ts-node/issues/1484)) [@markbradley27](https://togithub.com/markbradley27)
**Changed**
- When ts-node is registered and other libraries `require('source-map-support')`, they will be redirected to `@cspotcode/source-map-support`
- See complete description in **Fixed** section below
**Fixed**
- Fix [#1440](https://togithub.com/TypeStrong/ts-node/issues/1440), [#1441](https://togithub.com/TypeStrong/ts-node/issues/1441), [#1438](https://togithub.com/TypeStrong/ts-node/issues/1438), [#1495](https://togithub.com/TypeStrong/ts-node/issues/1495): Incorrect stack traces when third-party libraries use `source-map-support` instead of `@cspotcode/source-map-support` ([#1440](https://togithub.com/TypeStrong/ts-node/issues/1440), [#1441](https://togithub.com/TypeStrong/ts-node/issues/1441), [#1438](https://togithub.com/TypeStrong/ts-node/issues/1438), [#1495](https://togithub.com/TypeStrong/ts-node/issues/1495), [cspotcode/node-source-map-support#23](https://togithub.com/cspotcode/node-source-map-support/issues/23), [#1496](https://togithub.com/TypeStrong/ts-node/issues/1496), [#1497](https://togithub.com/TypeStrong/ts-node/issues/1497)) [@ejose19](https://togithub.com/ejose19)
- When ts-node is registered and other libraries `require('source-map-support')`, they will be redirected to `@cspotcode/source-map-support`
- ts-node uses `@cspotcode/source-map-support` for the fixes and enhancements listed here: [`@cspotcode/source-map-support` changelog](https://togithub.com/cspotcode/node-source-map-support/issues/24)
- To ensure correct stack traces, all libraries must share a compatible sourcemap support implementation
- Fix [#1363](https://togithub.com/TypeStrong/ts-node/issues/1363): REPL may erroneously combine previous input with next input, eval both as a single statement ([#1363](https://togithub.com/TypeStrong/ts-node/issues/1363), [#1480](https://togithub.com/TypeStrong/ts-node/issues/1480)) [@TheUnlocked](https://togithub.com/TheUnlocked)
- For example, entering `100` on first line and `* 2` on second line would erronously be interpreted as `100 * 2`
- REPL now ensures both lines are separate statements, both when typechecking and when evaluating
- Fix [#1488](https://togithub.com/TypeStrong/ts-node/issues/1488): Node may log "circular dependency" warning when using `allowJs` ([#1488](https://togithub.com/TypeStrong/ts-node/issues/1488), [#1489](https://togithub.com/TypeStrong/ts-node/issues/1489))
- Fix [#1301](https://togithub.com/TypeStrong/ts-node/issues/1301): Filter empty strings from `TS_NODE_IGNORE` and `TS_NODE_IGNORE_DIAGNOSTICS`; treat empty environment variable as empty array ([#1301](https://togithub.com/TypeStrong/ts-node/issues/1301), [#1483](https://togithub.com/TypeStrong/ts-node/issues/1483)) [@ValeriaVG](https://togithub.com/ValeriaVG)
- `TS_NODE_IGNORE= ts-node ./example.ts` will disable default ignore rules; will compile files in `./node_modules`
**Docs**
- Update VSCode debug configuration ([Docs](https://typestrong.org/ts-node/docs/recipes/visual-studio-code)) ([#1466](https://togithub.com/TypeStrong/ts-node/issues/1466))
- Update ESM-related messaging to clarify that experimental status is due to Node.js, not ts-node ([#1455](https://togithub.com/TypeStrong/ts-node/issues/1455))
- Refer to ts-node consistently ([#1481](https://togithub.com/TypeStrong/ts-node/issues/1481)) [@animafps](https://togithub.com/animafps)
https://github.com/TypeStrong/ts-node/milestone/5
Configuration
π Schedule: At any time (no schedule defined).
π¦ Automerge: Enabled.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about these updates again.
[ ] If you want to rebase/retry this PR, check this box.
This PR contains the following updates:
^10.2.1
->^10.3.0
Release Notes
TypeStrong/ts-node
### [`v10.3.0`](https://togithub.com/TypeStrong/ts-node/releases/v10.3.0) [Compare Source](https://togithub.com/TypeStrong/ts-node/compare/v10.2.1...v10.3.0) Questions about this release? Ask in the official discussion thread: [#1507](https://togithub.com/TypeStrong/ts-node/issues/1507) **Added** - Declare types for node builtin modules within REPL so you do not need to import them ([#1424](https://togithub.com/TypeStrong/ts-node/issues/1424), [#1500](https://togithub.com/TypeStrong/ts-node/issues/1500)) - Node REPL exposes builtin modules as globals; typechecker now understands this - Typechecking should no longer raise errors when using builtins without first importing - For example: `util.promisify(setTimeout)(1000)` or `fs.readFileSync('example.txt')` - Add `createEsmHooks()` function to create ESM loader hooks ([API docs](https://typestrong.org/ts-node/api/index.html#createEsmHooks)) ([#1439](https://togithub.com/TypeStrong/ts-node/issues/1439)) [@nonara](https://togithub.com/nonara) - Can be used to compose our loader hooks with another loader or additional logic - `register()` accepts a ts-node `Service` ([API docs](https://typestrong.org/ts-node/api/index.html#register)) ([#1474](https://togithub.com/TypeStrong/ts-node/issues/1474)) - `register(options)` is still supported; no breaking changes - Add support for Node.js's new loader hooks API ([#1372](https://togithub.com/TypeStrong/ts-node/issues/1372), [#1457](https://togithub.com/TypeStrong/ts-node/issues/1457), [#1007](https://togithub.com/TypeStrong/ts-node/issues/1007)) [@jonaskello](https://togithub.com/jonaskello) - Node.js has changed their loader hooks API - ts-node is compatible with all node versions, detects your node version and exposes the correct hooks API - Node's new API currently only available in node v17 nightly builds - Node will eventually backport the changes to node 16, and may also be backport to 14 and 12 - Add `--emit` to `--help` output ([#1400](https://togithub.com/TypeStrong/ts-node/issues/1400), [#1484](https://togithub.com/TypeStrong/ts-node/issues/1484)) [@markbradley27](https://togithub.com/markbradley27) **Changed** - When ts-node is registered and other libraries `require('source-map-support')`, they will be redirected to `@cspotcode/source-map-support` - See complete description in **Fixed** section below **Fixed** - Fix [#1440](https://togithub.com/TypeStrong/ts-node/issues/1440), [#1441](https://togithub.com/TypeStrong/ts-node/issues/1441), [#1438](https://togithub.com/TypeStrong/ts-node/issues/1438), [#1495](https://togithub.com/TypeStrong/ts-node/issues/1495): Incorrect stack traces when third-party libraries use `source-map-support` instead of `@cspotcode/source-map-support` ([#1440](https://togithub.com/TypeStrong/ts-node/issues/1440), [#1441](https://togithub.com/TypeStrong/ts-node/issues/1441), [#1438](https://togithub.com/TypeStrong/ts-node/issues/1438), [#1495](https://togithub.com/TypeStrong/ts-node/issues/1495), [cspotcode/node-source-map-support#23](https://togithub.com/cspotcode/node-source-map-support/issues/23), [#1496](https://togithub.com/TypeStrong/ts-node/issues/1496), [#1497](https://togithub.com/TypeStrong/ts-node/issues/1497)) [@ejose19](https://togithub.com/ejose19) - When ts-node is registered and other libraries `require('source-map-support')`, they will be redirected to `@cspotcode/source-map-support` - ts-node uses `@cspotcode/source-map-support` for the fixes and enhancements listed here: [`@cspotcode/source-map-support` changelog](https://togithub.com/cspotcode/node-source-map-support/issues/24) - To ensure correct stack traces, all libraries must share a compatible sourcemap support implementation - Fix [#1363](https://togithub.com/TypeStrong/ts-node/issues/1363): REPL may erroneously combine previous input with next input, eval both as a single statement ([#1363](https://togithub.com/TypeStrong/ts-node/issues/1363), [#1480](https://togithub.com/TypeStrong/ts-node/issues/1480)) [@TheUnlocked](https://togithub.com/TheUnlocked) - For example, entering `100` on first line and `* 2` on second line would erronously be interpreted as `100 * 2` - REPL now ensures both lines are separate statements, both when typechecking and when evaluating - Fix [#1488](https://togithub.com/TypeStrong/ts-node/issues/1488): Node may log "circular dependency" warning when using `allowJs` ([#1488](https://togithub.com/TypeStrong/ts-node/issues/1488), [#1489](https://togithub.com/TypeStrong/ts-node/issues/1489)) - Fix [#1301](https://togithub.com/TypeStrong/ts-node/issues/1301): Filter empty strings from `TS_NODE_IGNORE` and `TS_NODE_IGNORE_DIAGNOSTICS`; treat empty environment variable as empty array ([#1301](https://togithub.com/TypeStrong/ts-node/issues/1301), [#1483](https://togithub.com/TypeStrong/ts-node/issues/1483)) [@ValeriaVG](https://togithub.com/ValeriaVG) - `TS_NODE_IGNORE= ts-node ./example.ts` will disable default ignore rules; will compile files in `./node_modules` **Docs** - Update VSCode debug configuration ([Docs](https://typestrong.org/ts-node/docs/recipes/visual-studio-code)) ([#1466](https://togithub.com/TypeStrong/ts-node/issues/1466)) - Update ESM-related messaging to clarify that experimental status is due to Node.js, not ts-node ([#1455](https://togithub.com/TypeStrong/ts-node/issues/1455)) - Refer to ts-node consistently ([#1481](https://togithub.com/TypeStrong/ts-node/issues/1481)) [@animafps](https://togithub.com/animafps) https://github.com/TypeStrong/ts-node/milestone/5Configuration
π Schedule: At any time (no schedule defined).
π¦ Automerge: Enabled.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by WhiteSource Renovate. View repository job log here.