TypeStrong/ts-node
### [`v10.8.0`](https://togithub.com/TypeStrong/ts-node/releases/tag/v10.8.0)
[Compare Source](https://togithub.com/TypeStrong/ts-node/compare/v10.7.0...v10.8.0)
Questions about this release? Ask in the official discussion thread: [#1767](https://togithub.com/TypeStrong/ts-node/issues/1767)
**Added**
- Added support for `module=NodeNext`, `module=Node16`, `.mts`, `.cts`, `.mjs`, and `.cjs` file extensions ([#1414](https://togithub.com/TypeStrong/ts-node/issues/1414), [#1694](https://togithub.com/TypeStrong/ts-node/issues/1694), [#1744](https://togithub.com/TypeStrong/ts-node/issues/1744), [#1745](https://togithub.com/TypeStrong/ts-node/issues/1745), [#1727](https://togithub.com/TypeStrong/ts-node/issues/1727), [#1717](https://togithub.com/TypeStrong/ts-node/issues/1717), [#1753](https://togithub.com/TypeStrong/ts-node/issues/1753), [#1757](https://togithub.com/TypeStrong/ts-node/issues/1757)) [@cspotcode](https://togithub.com/cspotcode)
- For best results, enable `experimentalResolver` ([docs](https://typestrong.org/ts-node/docs/options#experimentalresolver))
- See TypeScript's official documentation: https://www.typescriptlang.org/docs/handbook/esm-node.html
- enables mixed-mode projects with both ESM and CommonJS
- enables all supported file extensions in TypeScript 4.7
- Obeys package.json "type"
- Added ability to include file extensions in CommonJS imports ([#1727](https://togithub.com/TypeStrong/ts-node/issues/1727), [#1753](https://togithub.com/TypeStrong/ts-node/issues/1753)) [@cspotcode](https://togithub.com/cspotcode)
- Enables consistency with ESM, where file extensions are often mandatory
- Resolves from emitted to source file extensions ([#1727](https://togithub.com/TypeStrong/ts-node/issues/1727), [#1753](https://togithub.com/TypeStrong/ts-node/issues/1753)) [@cspotcode](https://togithub.com/cspotcode)
- Must enable `experimentalResolver`, will be enabled by default in a future version ([docs](https://typestrong.org/ts-node/docs/options#experimentalresolver))
- Typechecker requires importing the *emitted* file extension; ts-node resolves correctly to the *source* file. E.g. `import "./foo.js"` will execute `foo.ts` See also: [TypeScript issue #37582](https://togithub.com/microsoft/TypeScript/issues/37582)
- If typechecking is disabled, you can also use *source* file extensions. E.g. `import "./foo.ts"`
- Added `experimentalSpecifierResolution` ([#1727](https://togithub.com/TypeStrong/ts-node/issues/1727), [#1753](https://togithub.com/TypeStrong/ts-node/issues/1753)) [@cspotcode](https://togithub.com/cspotcode)
- the same as Node's `--experimental-specifier-resolution` ([Node docs](https://nodejs.org/dist/latest-v18.x/docs/api/esm.html#customizing-esm-specifier-resolution-algorithm))
- can also be specified in `tsconfig.json` for convenience, to avoid the CLI flag
- allows omitting file extensions in ESM imports, plus a few other CommonJS-style conveniences
- Adds `diagnostics` property to `TSError`, with array of TypeScript diagnostic objects from the compiler ([API docs](https://typestrong.org/ts-node/api/classes/TSError.html)) ([#1705](https://togithub.com/TypeStrong/ts-node/issues/1705), [#1706](https://togithub.com/TypeStrong/ts-node/issues/1706)) [@paulbrimicombe](https://togithub.com/paulbrimicombe)
**Changed**
- Renames option `experimentalResolverFeatures` to `experimentalResolver` ([docs](https://typestrong.org/ts-node/docs/options#experimentalresolver)) ([#1727](https://togithub.com/TypeStrong/ts-node/issues/1727)) [@cspotcode](https://togithub.com/cspotcode)
- Internal change to ESM loader for compatibility with forthcoming node versions: returns `shortCircuit: true` ([#1714](https://togithub.com/TypeStrong/ts-node/issues/1714), [#1715](https://togithub.com/TypeStrong/ts-node/issues/1715)) [@cspotcode](https://togithub.com/cspotcode)
- Performance: Optimize filesystem stat calls in ESM loader and new CommonJS resolver ([#1758](https://togithub.com/TypeStrong/ts-node/issues/1758), [#1759](https://togithub.com/TypeStrong/ts-node/issues/1759)) [@cspotcode](https://togithub.com/cspotcode)
- Performance, maintenance: Upgrade source-mapper dependency "[@cspotcode/source-map-support](https://togithub.com/cspotcode/source-map-support)"
- Switches to "trace-mapping" for underlying source-map parsing ([#1729](https://togithub.com/TypeStrong/ts-node/issues/1729)) [@cspotcode](https://togithub.com/cspotcode)
**Fixed**
- Fixed bug where REPL `.type` command was not showing any type information when using TypeScript nightly builds ([#1761](https://togithub.com/TypeStrong/ts-node/issues/1761), [#1762](https://togithub.com/TypeStrong/ts-node/issues/1762)) [@cspotcode](https://togithub.com/cspotcode)
- Correctly suppress "Custom ESM Loaders" warning on newer node versions where the warning's prose changed ([#1701](https://togithub.com/TypeStrong/ts-node/issues/1701)) [@cspotcode](https://togithub.com/cspotcode)
- Fixed REPL bug where function signatures could not be entered across multiple lines ([#1667](https://togithub.com/TypeStrong/ts-node/issues/1667), [#1677](https://togithub.com/TypeStrong/ts-node/issues/1677)) [@d9k](https://togithub.com/d9k)
- REPL treats unparenthesized object literals as objects, instead of as block scopes ([#1697](https://togithub.com/TypeStrong/ts-node/issues/1697), [#1699](https://togithub.com/TypeStrong/ts-node/issues/1699)) [@jhmaster2000](https://togithub.com/jhmaster2000)
- Fixed bug where `preferTsExts` combined with third-party transpiler hooks could disrupt `nyc` code coverage ([#1755](https://togithub.com/TypeStrong/ts-node/issues/1755)) [@cspotcode](https://togithub.com/cspotcode)
- Fixed bug where `file://` URLs in stack traces did not always use percent-encoding ([#1738](https://togithub.com/TypeStrong/ts-node/issues/1738), [#1726](https://togithub.com/TypeStrong/ts-node/issues/1726), [#1729](https://togithub.com/TypeStrong/ts-node/issues/1729)) [@cspotcode](https://togithub.com/cspotcode)
- Fixed bug where v8-compile-cache-lib did not correctly unhook itself ([#1717](https://togithub.com/TypeStrong/ts-node/issues/1717), [#1718](https://togithub.com/TypeStrong/ts-node/issues/1718), [#1719](https://togithub.com/TypeStrong/ts-node/issues/1719)) [@cspotcode](https://togithub.com/cspotcode)
- This internal dependency is used to speed up loading the TypeScript compiler
**Docs**
- Many docs improvements ([#1682](https://togithub.com/TypeStrong/ts-node/issues/1682)) [@cspotcode](https://togithub.com/cspotcode)
- Options page: each option its own linkable header w/usage example ([#1606](https://togithub.com/TypeStrong/ts-node/issues/1606)) [@cspotcode](https://togithub.com/cspotcode)
- Categorize APIs in typedoc, make entrypoints more prominent ([#1456](https://togithub.com/TypeStrong/ts-node/issues/1456)) [@cspotcode](https://togithub.com/cspotcode)
- Clarify that the shorthand for `--project` is `-P`, not `-p` ([#1731](https://togithub.com/TypeStrong/ts-node/issues/1731), [#1734](https://togithub.com/TypeStrong/ts-node/issues/1734)) [@lobsterkatie](https://togithub.com/lobsterkatie)
- Add common ESM errors to Troubleshooting page ([#1607](https://togithub.com/TypeStrong/ts-node/issues/1607)) [@cspotcode](https://togithub.com/cspotcode)
https://github.com/TypeStrong/ts-node/milestone/12
Configuration
📅 Schedule: "after 4:00am every 2nd week of the month" in timezone UTC.
🚦 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 this update again.
[ ] If you want to rebase/retry this PR, click this checkbox.
This PR contains the following updates:
^10.7.0
->^10.8.0
Release Notes
TypeStrong/ts-node
### [`v10.8.0`](https://togithub.com/TypeStrong/ts-node/releases/tag/v10.8.0) [Compare Source](https://togithub.com/TypeStrong/ts-node/compare/v10.7.0...v10.8.0) Questions about this release? Ask in the official discussion thread: [#1767](https://togithub.com/TypeStrong/ts-node/issues/1767) **Added** - Added support for `module=NodeNext`, `module=Node16`, `.mts`, `.cts`, `.mjs`, and `.cjs` file extensions ([#1414](https://togithub.com/TypeStrong/ts-node/issues/1414), [#1694](https://togithub.com/TypeStrong/ts-node/issues/1694), [#1744](https://togithub.com/TypeStrong/ts-node/issues/1744), [#1745](https://togithub.com/TypeStrong/ts-node/issues/1745), [#1727](https://togithub.com/TypeStrong/ts-node/issues/1727), [#1717](https://togithub.com/TypeStrong/ts-node/issues/1717), [#1753](https://togithub.com/TypeStrong/ts-node/issues/1753), [#1757](https://togithub.com/TypeStrong/ts-node/issues/1757)) [@cspotcode](https://togithub.com/cspotcode) - For best results, enable `experimentalResolver` ([docs](https://typestrong.org/ts-node/docs/options#experimentalresolver)) - See TypeScript's official documentation: https://www.typescriptlang.org/docs/handbook/esm-node.html - enables mixed-mode projects with both ESM and CommonJS - enables all supported file extensions in TypeScript 4.7 - Obeys package.json "type" - Added ability to include file extensions in CommonJS imports ([#1727](https://togithub.com/TypeStrong/ts-node/issues/1727), [#1753](https://togithub.com/TypeStrong/ts-node/issues/1753)) [@cspotcode](https://togithub.com/cspotcode) - Enables consistency with ESM, where file extensions are often mandatory - Resolves from emitted to source file extensions ([#1727](https://togithub.com/TypeStrong/ts-node/issues/1727), [#1753](https://togithub.com/TypeStrong/ts-node/issues/1753)) [@cspotcode](https://togithub.com/cspotcode) - Must enable `experimentalResolver`, will be enabled by default in a future version ([docs](https://typestrong.org/ts-node/docs/options#experimentalresolver)) - Typechecker requires importing the *emitted* file extension; ts-node resolves correctly to the *source* file. E.g. `import "./foo.js"` will execute `foo.ts` See also: [TypeScript issue #37582](https://togithub.com/microsoft/TypeScript/issues/37582) - If typechecking is disabled, you can also use *source* file extensions. E.g. `import "./foo.ts"` - Added `experimentalSpecifierResolution` ([#1727](https://togithub.com/TypeStrong/ts-node/issues/1727), [#1753](https://togithub.com/TypeStrong/ts-node/issues/1753)) [@cspotcode](https://togithub.com/cspotcode) - the same as Node's `--experimental-specifier-resolution` ([Node docs](https://nodejs.org/dist/latest-v18.x/docs/api/esm.html#customizing-esm-specifier-resolution-algorithm)) - can also be specified in `tsconfig.json` for convenience, to avoid the CLI flag - allows omitting file extensions in ESM imports, plus a few other CommonJS-style conveniences - Adds `diagnostics` property to `TSError`, with array of TypeScript diagnostic objects from the compiler ([API docs](https://typestrong.org/ts-node/api/classes/TSError.html)) ([#1705](https://togithub.com/TypeStrong/ts-node/issues/1705), [#1706](https://togithub.com/TypeStrong/ts-node/issues/1706)) [@paulbrimicombe](https://togithub.com/paulbrimicombe) **Changed** - Renames option `experimentalResolverFeatures` to `experimentalResolver` ([docs](https://typestrong.org/ts-node/docs/options#experimentalresolver)) ([#1727](https://togithub.com/TypeStrong/ts-node/issues/1727)) [@cspotcode](https://togithub.com/cspotcode) - Internal change to ESM loader for compatibility with forthcoming node versions: returns `shortCircuit: true` ([#1714](https://togithub.com/TypeStrong/ts-node/issues/1714), [#1715](https://togithub.com/TypeStrong/ts-node/issues/1715)) [@cspotcode](https://togithub.com/cspotcode) - Performance: Optimize filesystem stat calls in ESM loader and new CommonJS resolver ([#1758](https://togithub.com/TypeStrong/ts-node/issues/1758), [#1759](https://togithub.com/TypeStrong/ts-node/issues/1759)) [@cspotcode](https://togithub.com/cspotcode) - Performance, maintenance: Upgrade source-mapper dependency "[@cspotcode/source-map-support](https://togithub.com/cspotcode/source-map-support)" - Switches to "trace-mapping" for underlying source-map parsing ([#1729](https://togithub.com/TypeStrong/ts-node/issues/1729)) [@cspotcode](https://togithub.com/cspotcode) **Fixed** - Fixed bug where REPL `.type` command was not showing any type information when using TypeScript nightly builds ([#1761](https://togithub.com/TypeStrong/ts-node/issues/1761), [#1762](https://togithub.com/TypeStrong/ts-node/issues/1762)) [@cspotcode](https://togithub.com/cspotcode) - Correctly suppress "Custom ESM Loaders" warning on newer node versions where the warning's prose changed ([#1701](https://togithub.com/TypeStrong/ts-node/issues/1701)) [@cspotcode](https://togithub.com/cspotcode) - Fixed REPL bug where function signatures could not be entered across multiple lines ([#1667](https://togithub.com/TypeStrong/ts-node/issues/1667), [#1677](https://togithub.com/TypeStrong/ts-node/issues/1677)) [@d9k](https://togithub.com/d9k) - REPL treats unparenthesized object literals as objects, instead of as block scopes ([#1697](https://togithub.com/TypeStrong/ts-node/issues/1697), [#1699](https://togithub.com/TypeStrong/ts-node/issues/1699)) [@jhmaster2000](https://togithub.com/jhmaster2000) - Fixed bug where `preferTsExts` combined with third-party transpiler hooks could disrupt `nyc` code coverage ([#1755](https://togithub.com/TypeStrong/ts-node/issues/1755)) [@cspotcode](https://togithub.com/cspotcode) - Fixed bug where `file://` URLs in stack traces did not always use percent-encoding ([#1738](https://togithub.com/TypeStrong/ts-node/issues/1738), [#1726](https://togithub.com/TypeStrong/ts-node/issues/1726), [#1729](https://togithub.com/TypeStrong/ts-node/issues/1729)) [@cspotcode](https://togithub.com/cspotcode) - Fixed bug where v8-compile-cache-lib did not correctly unhook itself ([#1717](https://togithub.com/TypeStrong/ts-node/issues/1717), [#1718](https://togithub.com/TypeStrong/ts-node/issues/1718), [#1719](https://togithub.com/TypeStrong/ts-node/issues/1719)) [@cspotcode](https://togithub.com/cspotcode) - This internal dependency is used to speed up loading the TypeScript compiler **Docs** - Many docs improvements ([#1682](https://togithub.com/TypeStrong/ts-node/issues/1682)) [@cspotcode](https://togithub.com/cspotcode) - Options page: each option its own linkable header w/usage example ([#1606](https://togithub.com/TypeStrong/ts-node/issues/1606)) [@cspotcode](https://togithub.com/cspotcode) - Categorize APIs in typedoc, make entrypoints more prominent ([#1456](https://togithub.com/TypeStrong/ts-node/issues/1456)) [@cspotcode](https://togithub.com/cspotcode) - Clarify that the shorthand for `--project` is `-P`, not `-p` ([#1731](https://togithub.com/TypeStrong/ts-node/issues/1731), [#1734](https://togithub.com/TypeStrong/ts-node/issues/1734)) [@lobsterkatie](https://togithub.com/lobsterkatie) - Add common ESM errors to Troubleshooting page ([#1607](https://togithub.com/TypeStrong/ts-node/issues/1607)) [@cspotcode](https://togithub.com/cspotcode) https://github.com/TypeStrong/ts-node/milestone/12Configuration
📅 Schedule: "after 4:00am every 2nd week of the month" in timezone UTC.
🚦 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 this update again.
This PR has been generated by WhiteSource Renovate. View repository job log here.