Skip to content

chore(deps): update dependency ts-node to ^10.9.2

Renovate requested to merge renovate/ts-node-10.x into staging

This MR contains the following updates:

Package Type Update Change
ts-node (source) devDependencies minor ^10.2.0 -> ^10.9.2

Release Notes

TypeStrong/ts-node (ts-node)

v10.9.2: Fix tsconfig.json file not found

Compare Source

Fixed

v10.9.1

Compare Source

Fixed

  • Workaround nodejs bug introduced in 18.6.0 (#​1838) @​cspotcode
    • Only affects projects on node >=18.6.0 using --esm
    • Older versions of node and projects without --esm are unaffected

https://github.com/TypeStrong/ts-node/milestone/18?closed=1

v10.9.0

Compare Source

Added

  • --project accepts path to a directory containing a tsconfig.json (#​1829, #​1830) @​cspotcode
    • previously it required an explicit filename
  • Added helpful error message when swc version is too old to support our configuration (#​1802) @​cspotcode
  • Added experimentalTsImportSpecifiers option which allows using voluntary .ts file extensions in import specifiers (undocumented except for API docs) (#​1815) @​cspotcode

Fixed

https://github.com/TypeStrong/ts-node/milestone/16?closed=1

v10.8.2

Compare Source

Fixed

  • Revert "Use file URL for source map paths" (#​1821) @​cspotcode
    • Fixes #​1790: ts-node 10.8.1 regression where nyc code coverage reports had incorrect paths
    • Fixes #​1797: ts-node 10.8.1 regression where breakpoints did not hit in VSCode debugging
  • Allow JSON imports in node 16.15 and up (#​1792) @​queengooborg
    • JSON imports were already supported in v17.5 and up
    • this change extends support to >=16.15.0,<17.0.0
    • These version ranges match vanilla node's support for JSON imports

https://github.com/TypeStrong/ts-node/milestone/15?closed=1

v10.8.1

Compare Source

Fixed

https://github.com/TypeStrong/ts-node/milestone/14

v10.8.0

Compare Source

Questions about this release? Ask in the official discussion thread: #​1767

Added

  • Added support for module=NodeNext, module=Node16, .mts, .cts, .mjs, and .cjs file extensions (#​1414, #​1694, #​1744, #​1745, #​1727, #​1717, #​1753, #​1757) @​cspotcode
  • Added ability to include file extensions in CommonJS imports (#​1727, #​1753) @​cspotcode
    • Enables consistency with ESM, where file extensions are often mandatory
  • Resolves from emitted to source file extensions (#​1727, #​1753) @​cspotcode
    • Must enable experimentalResolver, will be enabled by default in a future version (docs)
    • 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
    • If typechecking is disabled, you can also use source file extensions. E.g. import "./foo.ts"
  • Added experimentalSpecifierResolution (#​1727, #​1753) @​cspotcode
    • the same as Node's --experimental-specifier-resolution (Node docs)
    • 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) (#​1705, #​1706) @​paulbrimicombe

Changed

Fixed

Docs

https://github.com/TypeStrong/ts-node/milestone/12

v10.7.0

Compare Source

Questions about this release? Ask in the official discussion thread: #​1680

Added

  • Adds --esm flag, option, and ts-node-esm binary (#​1258, #​1655)
    • Enables full esm support; no need for --loader nor NODE_OPTIONS
    • Use shebang #!/usr/bin/env ts-node-esm, run ts-node --esm, or add to your tsconfig.json: "ts-node": {"esm": true}

Changed

Fixed

  • Fixed bug where "compiler", "transpiler", and swc backend would not resolve relative to the tsconfig.json that declared them (#​1662, #​1655)
    • Enables reusable tsconfig.json shared via node module to include necessary dependencies

https://github.com/TypeStrong/ts-node/milestone/11

v10.6.0

Compare Source

Questions about this release? Ask in the official discussion thread: #​1666

Added

  • Adds workaround for extensionless entrypoints with ESM loader (#​1649, #​1654)
    • You can now combine tools such as mocha with --loader ts-node/esm, where previously node would throw [ERR_UNKNOWN_FILE_EXTENSION]
    • node has a bug where combining --loader with an extensionless entrypoint causes this error nodejs/node#33226
    • Some tools, for example mocha, have an extensionless entrypoint. (source, source)
    • Combining NODE_OPTIONS=--loader ts-node/esm with these tools causes this error. mochajs/mocha#4645
    • node intends to fix this bug in a future release: nodejs/node#41711
    • In the interim, we have implemented a workaround in ts-node.
  • Adds support for target "ES2022" in moduleTypes overrides (#​1650)

Fixed

  • Fixed bug where --swc and other third-party transpilers did not respect moduleTypes overrides (#​1651, #​1652, #​1660)
  • Fixed bug where node flags were not preserved correctly in process.execArgv (#​1657, #​1658)
    • This affected child_process.fork(), since it uses process.execArgv to create a similar child runtime.
    • With this fix, child_process.fork() will preserve both node flags and ts-node hooks.
  • Fixed compatibility TypeScript 4.7's API changes (#​1647, #​1648)

https://github.com/TypeStrong/ts-node/milestone/9

v10.5.0

Compare Source

Questions about this release? Ask in the official discussion thread: #​1634

Added

  • Eliminate "Emit Skipped" errors (#​693, #​1345, #​1629)
    • Avoids all "Emit Skipped" errors by performing a fallback transpileOnly-style transformation.
    • Does not affect typechecking. Type errors are still detected and thrown.
    • Fallback has the same limitations as isolatedModules. This will only affect rare cases such as using const enums with preserveConstEnums disabled.
    • Fixes #​693
  • Graduate swc transpiler out of experimental; add swc: true convenience option (docs) (#​1487, #​1536, #​1613, #​1627)
    • "swc": true or --swc will use swc for faster execution
    • This feature is no longer marked "experimental." Thank you to everyone who filed bugs!
  • swc transpiler attempts to load @swc/core or @swc/wasm dependencies from your project before falling-back to global installations (#​1613, #​1627)
    • global fallback only occurs when using a global installation of ts-node
  • Add support for TypeScript's traceResolution output (docs) (#​1128, #​1491) @​TheUnlocked
  • Support import assertions in ESM loader (docs) (#​1557, #​1558, #​1559, #​1573) @​Pokute, @​geigerzaehler
    • Allows importing JSON files from ESM with the requisite flag (docs)
  • ts-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)
  • Add swc target "es2022" (#​1535, #​1540)
    • When you have target es2022 in tsconfig, will use swc's es2022 target

Changed

  • Initialize TypeScript compiler before starting REPL prompt (#​1498) @​TheUnlocked
    • Improves responsiveness for first line of REPL input
  • Use v8-compile-cache-lib to load typescript
  • Support both --camelCase and --hyphen-case for all CLI flags; update documentation to use --camelCase (#​1598, #​1599)
    • Not a breaking change; CLI continues to accept both forms
  • Make TSError diagnosticText property non-enumerable to prevent it from being logged below the stack (#​1632)

Fixed

Docs

Misc

  • Adds experimental experimentalResolverFeatures option, but it does not do anything yet (#​1514, #​1614)

https://github.com/TypeStrong/ts-node/milestone/4

v10.4.0

Compare Source

Added

  • Adds support for targets "es2020" and "es2021" to swc transpiler (#​1521)
  • Adds automatic target downgrade when using older versions of swc (#​1521)
    • If tsconfig specifies es2020, but your version of swc only supports up to es2019, ts-node will automatically switch to es2019 instead of throwing an error

Changed

Fixed

https://github.com/TypeStrong/ts-node/milestone/8

v10.3.1

Compare Source

Fixed

https://github.com/TypeStrong/ts-node/milestone/7

v10.3.0

Compare Source

Questions about this release? Ask in the official discussion thread: #​1507

Added

  • Declare types for node builtin modules within REPL so you do not need to import them (#​1424, #​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) (#​1439) @​nonara
    • Can be used to compose our loader hooks with another loader or additional logic
  • register() accepts a ts-node Service (API docs) (#​1474)
    • register(options) is still supported; no breaking changes
  • Add support for Node.js's new loader hooks API (#​1372, #​1457, #​1007) @​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, #​1484) @​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, #​1441, #​1438, #​1495: Incorrect stack traces when third-party libraries use source-map-support instead of @cspotcode/source-map-support (#​1440, #​1441, #​1438, #​1495, cspotcode/node-source-map-support#23, #​1496, #​1497) @​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
    • To ensure correct stack traces, all libraries must share a compatible sourcemap support implementation
  • Fix #​1363: REPL may erroneously combine previous input with next input, eval both as a single statement (#​1363, #​1480) @​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: Node may log "circular dependency" warning when using allowJs (#​1488, #​1489)
  • Fix #​1301: Filter empty strings from TS_NODE_IGNORE and TS_NODE_IGNORE_DIAGNOSTICS; treat empty environment variable as empty array (#​1301, #​1483) @​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) (#​1466)
  • Update ESM-related messaging to clarify that experimental status is due to Node.js, not ts-node (#​1455)
  • Refer to ts-node consistently (#​1481) @​animafps

https://github.com/TypeStrong/ts-node/milestone/5

v10.2.1

Compare Source

Fixed

  • Fixes #​1426: Do not import typescript outside of configuration/project loading (#​1433, #​1426) @​Songkeys
    • We take care to load your project's version of typescript, falling back to a globally-installed version if necessary.
    • 10.2.0 introduced a bug where we did not do this consistently, causing global or npx installations of ts-node to attempt loading typescript relative to themselves, not your project.
    • This failed if typescript was not globally installed or npx did not install peer dependencies.

https://github.com/TypeStrong/ts-node/milestone/6


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Merge request reports

Loading